@planningcenter/tapestry 3.4.1-rc.9 → 3.5.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 (77) hide show
  1. package/dist/components/button/Button.d.ts +1 -0
  2. package/dist/components/button/Button.d.ts.map +1 -1
  3. package/dist/components/button/Button.js +1 -0
  4. package/dist/components/button/Button.js.map +1 -1
  5. package/dist/components/button/DropdownButton.d.ts +1 -0
  6. package/dist/components/button/DropdownButton.d.ts.map +1 -1
  7. package/dist/components/button/DropdownButton.js +1 -0
  8. package/dist/components/button/DropdownButton.js.map +1 -1
  9. package/dist/components/button/DropdownIconButton.d.ts +1 -0
  10. package/dist/components/button/DropdownIconButton.d.ts.map +1 -1
  11. package/dist/components/button/DropdownIconButton.js +1 -0
  12. package/dist/components/button/DropdownIconButton.js.map +1 -1
  13. package/dist/components/button/IconButton.d.ts +1 -0
  14. package/dist/components/button/IconButton.d.ts.map +1 -1
  15. package/dist/components/button/IconButton.js +1 -0
  16. package/dist/components/button/IconButton.js.map +1 -1
  17. package/dist/components/checkbox/Checkbox.d.ts +1 -0
  18. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  19. package/dist/components/checkbox/Checkbox.js +1 -0
  20. package/dist/components/checkbox/Checkbox.js.map +1 -1
  21. package/dist/components/date-picker/DatePicker.d.ts +1 -0
  22. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  23. package/dist/components/date-picker/DatePicker.js +1 -0
  24. package/dist/components/date-picker/DatePicker.js.map +1 -1
  25. package/dist/components/dropdown/Dropdown.d.ts +1 -0
  26. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  27. package/dist/components/dropdown/Dropdown.js +1 -0
  28. package/dist/components/dropdown/Dropdown.js.map +1 -1
  29. package/dist/components/field/Field.d.ts +43 -0
  30. package/dist/components/field/Field.d.ts.map +1 -0
  31. package/dist/components/field/Field.js +38 -0
  32. package/dist/components/field/Field.js.map +1 -0
  33. package/dist/components/field/index.d.ts +4 -0
  34. package/dist/components/field/index.d.ts.map +1 -0
  35. package/dist/components/input/Input.d.ts +1 -0
  36. package/dist/components/input/Input.d.ts.map +1 -1
  37. package/dist/components/input/Input.js +1 -0
  38. package/dist/components/input/Input.js.map +1 -1
  39. package/dist/components/link/Link.d.ts +1 -0
  40. package/dist/components/link/Link.d.ts.map +1 -1
  41. package/dist/components/link/Link.js +1 -0
  42. package/dist/components/link/Link.js.map +1 -1
  43. package/dist/components/radio/Radio.d.ts +1 -0
  44. package/dist/components/radio/Radio.d.ts.map +1 -1
  45. package/dist/components/radio/Radio.js +1 -0
  46. package/dist/components/radio/Radio.js.map +1 -1
  47. package/dist/components/select/Select.d.ts +1 -0
  48. package/dist/components/select/Select.d.ts.map +1 -1
  49. package/dist/components/select/Select.js +1 -0
  50. package/dist/components/select/Select.js.map +1 -1
  51. package/dist/components/select/SelectNative.js +1 -1
  52. package/dist/components/select/SelectNative.js.map +1 -1
  53. package/dist/components/text-area/TextArea.d.ts +1 -0
  54. package/dist/components/text-area/TextArea.d.ts.map +1 -1
  55. package/dist/components/text-area/TextArea.js +1 -0
  56. package/dist/components/text-area/TextArea.js.map +1 -1
  57. package/dist/components/time-field/TimeField.d.ts +1 -0
  58. package/dist/components/time-field/TimeField.d.ts.map +1 -1
  59. package/dist/components/time-field/TimeField.js +1 -0
  60. package/dist/components/time-field/TimeField.js.map +1 -1
  61. package/dist/components/toggle-switch/ToggleSwitch.d.ts +1 -0
  62. package/dist/components/toggle-switch/ToggleSwitch.d.ts.map +1 -1
  63. package/dist/components/toggle-switch/ToggleSwitch.js +1 -0
  64. package/dist/components/toggle-switch/ToggleSwitch.js.map +1 -1
  65. package/dist/index.css +8 -4
  66. package/dist/index.css.map +1 -1
  67. package/dist/reactRender.css +1636 -1523
  68. package/dist/reactRender.css.map +1 -1
  69. package/dist/reactRenderLegacy.css +1636 -1523
  70. package/dist/reactRenderLegacy.css.map +1 -1
  71. package/dist/unstable.css +117 -4
  72. package/dist/unstable.css.map +1 -1
  73. package/dist/unstable.d.ts +1 -0
  74. package/dist/unstable.d.ts.map +1 -1
  75. package/dist/unstable.js +1 -0
  76. package/dist/unstable.js.map +1 -1
  77. package/package.json +9 -8
@@ -1,365 +1,3 @@
1
-
2
- @media (prefers-reduced-motion: no-preference){
3
-
4
- :root{
5
- interpolate-size:allow-keywords;
6
- }
7
- }
8
-
9
- @layer tds-component{
10
- tds-sidenav,
11
- .tds-sidenav{
12
- --tds-sidenav-indent:12px;
13
- --tds-sidenav-item-depth:0;
14
-
15
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
16
-
17
- --tds-sidenav-collapse-transition-enter:opacity var(--t-duration-300) var(--t-ease-out), transform var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
18
- --tds-sidenav-collapse-transition-exit:opacity var(--t-duration-200) var(--t-ease-in), display var(--t-duration-200) allow-discrete, overlay var(--t-duration-200) allow-discrete;
19
- --tds-sidenav-collapse-closed-opacity:0;
20
- --tds-sidenav-collapse-open-opacity:1;
21
- --tds-sidenav-collapse-closed-transform:translateY(-8px);
22
- --tds-sidenav-collapse-open-transform:translateY(0);
23
-
24
- --tds-sidenav-item-icon-size:var(--t-element-size-md);
25
- --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
26
- --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
27
- --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
28
-
29
- --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
30
- --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
31
- --tds-sidenav-item-nested-background-selected:transparent;
32
-
33
- --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
34
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
35
- --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
36
-
37
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
38
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
39
- }
40
-
41
- @media (prefers-reduced-motion: reduce){
42
- tds-sidenav,
43
- .tds-sidenav{
44
- --tds-sidenav-collapse-transition-enter:none;
45
- --tds-sidenav-collapse-transition-exit:none;
46
- --tds-sidenav-collapse-closed-transform:none;
47
- --tds-sidenav-collapse-open-transform:none;
48
- }
49
- }
50
-
51
- .tds-sidenav--theme-gray{
52
- --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
53
- --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
54
- --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
55
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
56
- --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
57
- }
58
- }
59
-
60
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
61
- display:flex;
62
- }
63
-
64
- .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
65
- flex-direction:column;
66
- gap:var(--t-spacing-half);
67
- width:100%;
68
- }
69
-
70
- .tds-sidenav-section-list{
71
- width:100%;
72
- padding:0;
73
- margin:0;
74
- list-style:none;
75
- }
76
-
77
- .tds-sidenav-section-header{
78
- display:flex;
79
- align-items:baseline;
80
- justify-content:space-between;
81
- padding-top:var(--t-spacing-2);
82
- }
83
-
84
- .tds-sidenav-section-header h2{
85
- margin:0;
86
- font-size:var(--t-font-size-sm);
87
- font-weight:var(--t-font-weight-semibold);
88
- line-height:1.35;
89
- color:var(--t-text-color-secondary);
90
- text-transform:uppercase;
91
- }
92
-
93
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
94
- padding-top:0;
95
- }
96
-
97
- .tds-sidenav-section-header [slot="label-actions"]{
98
- display:flex;
99
- gap:var(--t-spacing-half);
100
- align-items:center;
101
- }
102
-
103
- .tds-sidenav-section [slot="section-actions"]{
104
- display:flex;
105
- gap:12px;
106
- align-items:center;
107
- min-height:42px;
108
- padding:var(--t-spacing-1) 0;
109
- }
110
-
111
- .tds-sidenav-section-list,
112
- .tds-sidenav-item{
113
- width:100%;
114
- padding:0;
115
- margin:0;
116
- }
117
-
118
- .tds-sidenav-item :is(a,button){
119
- position:relative;
120
- display:flex;
121
- gap:12px;
122
- align-items:center;
123
- width:100%;
124
- padding:12px;
125
- overflow:hidden;
126
- font-size:var(--t-font-size-sm);
127
- line-height:18px;
128
- color:var(--t-text-color-headline);
129
- white-space:nowrap;
130
- text-decoration:none;
131
- -webkit-appearance:none;
132
- -moz-appearance:none;
133
- appearance:none;
134
- cursor:pointer;
135
- background-color:var(--tds-sidenav-item-background, transparent);
136
- border:0;
137
- border-radius:var(--t-border-radius);
138
- transition:var(--tds-sidenav-item-transition);
139
- }
140
-
141
- :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
142
- display:block;
143
- flex:1;
144
- overflow:hidden;
145
- text-overflow:ellipsis;
146
- text-align:left;
147
- white-space:nowrap;
148
- }
149
-
150
- :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
151
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
152
- color:var(--t-text-color-headline);
153
- text-decoration:none;
154
- }
155
-
156
- :is(.tds-sidenav-item :is(a,button)):active{
157
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
158
- }
159
-
160
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
161
- overflow:hidden;
162
- color:var(--tds-sidenav-item-icon-color);
163
- }
164
-
165
- :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{
166
- display:block;
167
- width:var(--tds-sidenav-item-icon-size);
168
- height:var(--tds-sidenav-item-icon-size);
169
- }
170
-
171
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
172
- --tds-sidenav-indent:19px;
173
- }
174
-
175
- [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
176
- visibility:visible;
177
- block-size:auto;
178
- opacity:1;
179
- }
180
-
181
- .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
182
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
183
- --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
184
-
185
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
186
- font-weight:var(--t-font-weight-semibold);
187
- }
188
-
189
- .tds-sidenav-item:has(.tds-sidenav-section){
190
- display:flex;
191
- flex-direction:column;
192
- gap:var(--t-spacing-half);
193
- }
194
-
195
- .tds-sidenav-item .tds-sidenav-section-list{
196
- --tds-sidenav-item-depth:1;
197
- gap:0;
198
- }
199
-
200
- .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
201
- visibility:hidden;
202
- block-size:0;
203
- overflow-y:clip;
204
- opacity:0;
205
- transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
206
- }
207
-
208
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
209
- --tds-sidenav-item-depth:2;
210
- }
211
-
212
- :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
213
- min-height:var(--t-element-size-2xl);
214
- padding-block:9px;
215
- padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
216
- line-height:1;
217
- background-color:transparent;
218
- }
219
-
220
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
221
- position:absolute;
222
- top:0;
223
- bottom:0;
224
- left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
225
- width:2px;
226
- content:"";
227
- background-color:var(--tds-sidenav-item-nested-border-color);
228
- transition:var(--tds-sidenav-item-transition);
229
- }
230
-
231
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
232
- position:absolute;
233
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
234
- z-index:-1;
235
- height:100%;
236
- content:"";
237
- background-color:var(--tds-sidenav-item-nested-background);
238
- border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
239
- transition:var(--tds-sidenav-item-transition);
240
- }
241
-
242
- :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)){
243
- display:block;
244
- text-align:left;
245
- white-space:normal;
246
- }
247
-
248
- :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{
249
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
250
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
251
- }
252
-
253
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
254
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
255
- }
256
-
257
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
258
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
259
- font-weight:var(--t-font-weight-medium);
260
- }
261
-
262
- .tds-sidenav-responsive-header{
263
- display:flex;
264
- gap:var(--t-spacing-2);
265
- align-items:center;
266
- width:100%;
267
- }
268
-
269
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
270
- order:0;
271
- }
272
-
273
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
274
- flex:1;
275
- order:1;
276
- margin:0;
277
- font-size:var(--t-font-size-lg);
278
- font-weight:var(--t-font-weight-medium);
279
- color:var(--t-text-color-headline);
280
- }
281
-
282
- @media (max-width: 719px){
283
- .tds-sidenav-collapse{
284
- z-index:10001;
285
- display:none;
286
- max-width:min(448px, calc(100vw - 48px));
287
- padding:0;
288
- margin:12px 0;
289
- position-area:bottom span-right;
290
- overflow:hidden;
291
- outline:0;
292
- background:var(--t-surface-color-card);
293
- border:0;
294
- border-radius:6px;
295
- box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
296
- opacity:var(--tds-sidenav-collapse-open-opacity);
297
- transform:var(--tds-sidenav-collapse-open-transform);
298
- transition:var(--tds-sidenav-collapse-transition-enter);
299
- will-change:transform;
300
- }
301
-
302
- .tds-sidenav-scroll-container{
303
- --webkit-overflow-scrolling:touch;
304
- display:block;
305
- width:100%;
306
- height:-moz-fit-content;
307
- height:fit-content;
308
- padding:var(--t-spacing-2);
309
- overflow-y:auto;
310
- }
311
-
312
- .tds-sidenav-item :is(a, button) :is(.prefix){
313
- display:none;
314
- }
315
- @supports selector(:popover-open){
316
- .tds-sidenav-collapse:popover-open{
317
- display:flex;
318
- }
319
-
320
- .tds-sidenav-collapse:not(:popover-open){
321
- opacity:var(--tds-sidenav-collapse-closed-opacity);
322
- transition:var(--tds-sidenav-collapse-transition-exit);
323
- }
324
-
325
- @starting-style{
326
- .tds-sidenav-collapse:popover-open{
327
- opacity:var(--tds-sidenav-collapse-closed-opacity);
328
- transform:var(--tds-sidenav-collapse-closed-transform);
329
- }
330
- }
331
- }
332
- @supports not selector(:popover-open){
333
- .tds-sidenav-collapse.\:popover-open{
334
- display:flex;
335
- }
336
-
337
- .tds-sidenav-collapse:not(.\:popover-open){
338
- opacity:var(--tds-sidenav-collapse-closed-opacity);
339
- transition:var(--tds-sidenav-collapse-transition-exit);
340
- }
341
- }
342
- }
343
-
344
- @media (min-width: 720px){
345
- .tds-sidenav-responsive-header{
346
- display:none;
347
- }
348
- }
349
-
350
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
351
- display:none;
352
- }
353
-
354
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
355
- display:block;
356
- }
357
-
358
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
359
- display:flex;
360
- flex-direction:column;
361
- }
362
-
363
1
  @layer t-critical{
364
2
  tds-page-header:not(.hydrated){
365
3
  display:none;
@@ -805,32 +443,214 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
805
443
  --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
806
444
  }
807
445
 
808
- .tds-checkbox-description{
809
- display:flex;
810
- grid-area:2 / 2;
811
- gap:var(--t-spacing-half);
812
- align-items:flex-start;
813
- padding-inline-start:var(--t-spacing-1);
814
- margin:0;
815
- font-size:var(--tds-checkbox-description-font-size);
816
- line-height:var(--tds-checkbox-description-line-height);
817
- color:var(--tds-checkbox-description-color);
818
- cursor:text;
446
+ .tds-checkbox-description{
447
+ display:flex;
448
+ grid-area:2 / 2;
449
+ gap:var(--t-spacing-half);
450
+ align-items:flex-start;
451
+ padding-inline-start:var(--t-spacing-1);
452
+ margin:0;
453
+ font-size:var(--tds-checkbox-description-font-size);
454
+ line-height:var(--tds-checkbox-description-line-height);
455
+ color:var(--tds-checkbox-description-color);
456
+ cursor:text;
457
+ }
458
+
459
+ .tds-checkbox-description .tds-checkbox-description-invalid-icon{
460
+ display:var(--tds-checkbox-description-invalid-icon-display);
461
+ flex-shrink:0;
462
+ margin-top:calc(.5lh - .5em);
463
+ line-height:var(--tds-checkbox-description-line-height);
464
+ }
465
+
466
+ .tds-checkbox--sm{
467
+ --tds-checkbox-line-height:1.35;
468
+ --tds-checkbox-input-size:var(--t-element-size-sm);
469
+ --tds-checkbox-font-size:var(--t-font-size-sm);
470
+ --tds-checkbox-description-font-size:var(--t-font-size-xs);
471
+ --tds-checkbox-description-line-height:1.3;
472
+ }
473
+
474
+ .tds-combo-box{
475
+ --tds-combo-box-button-offset:4px;
476
+ }
477
+
478
+ .tds-combo-box[data-open] .tds-combo-box-button > svg{
479
+ transform:rotate(.5turn);
480
+ }
481
+
482
+ .tds-combo-box--lg{
483
+ --tds-combo-box-button-offset:5px;
484
+ }
485
+
486
+ .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
487
+ display:none;
488
+ }
489
+
490
+ .tds-combo-box-input{
491
+ display:flex;
492
+ flex:1;
493
+ align-items:center;
494
+ padding-block:var(--tds-field-padding-block);
495
+ padding-inline:var(--tds-field-padding-inline);
496
+ font-family:inherit;
497
+ font-size:inherit;
498
+ color:inherit;
499
+ outline:0;
500
+ background:transparent;
501
+ border:0;
502
+ }
503
+
504
+ .tds-combo-box-input:has( + .tds-combo-box-button){
505
+ padding-inline-end:0;
506
+ }
507
+
508
+ .tds-combo-box-input::-moz-placeholder{
509
+ color:var(--tds-field-placeholder-color);
510
+ -moz-user-select:none;
511
+ user-select:none;
512
+ }
513
+
514
+ .tds-combo-box-input::placeholder{
515
+ color:var(--tds-field-placeholder-color);
516
+ -webkit-user-select:none;
517
+ -moz-user-select:none;
518
+ user-select:none;
519
+ }
520
+
521
+ .tds-combo-box-button{
522
+ flex-shrink:0;
523
+ align-self:center;
524
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
525
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
526
+ padding:0;
527
+ margin-inline-end:var(--tds-combo-box-button-offset);
528
+ }
529
+
530
+ .tds-combo-box-button > svg{
531
+ inline-size:var(--tds-field-font-size);
532
+ block-size:var(--tds-field-font-size);
533
+ transition:transform var(--t-duration-300) var(--t-ease-in-out);
534
+ }
535
+
536
+ .tds-combo-box-popover{
537
+ width:var(--trigger-width);
538
+ max-block-size:inherit;
539
+ padding:var(--t-spacing-1);
540
+ overflow:auto;
541
+ scroll-behavior:smooth;
542
+ overscroll-behavior:none;
543
+ -webkit-user-select:none;
544
+ -moz-user-select:none;
545
+ user-select:none;
546
+ outline:0;
547
+ scrollbar-color:#0004 var(--t-surface-color-card);
548
+ scrollbar-width:thin;
549
+ background:var(--t-surface-color-card);
550
+ background-clip:padding-box;
551
+ border:1px solid var(--t-border-color);
552
+ border-radius:var(--t-border-radius);
553
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
554
+ }
555
+
556
+ .tds-combo-box-popover[data-entering]{
557
+ animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
558
+ }
559
+
560
+ .tds-combo-box-popover[data-exiting]{
561
+ animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
562
+ }
563
+
564
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
565
+ will-change:opacity, transform;
566
+ }
567
+
568
+ @keyframes tds-combo-box-popover{
569
+ from{
570
+ opacity:0;
571
+ transform:translateY(-8px);
572
+ }
573
+ }
574
+
575
+ @media (prefers-reduced-motion: reduce){
576
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
577
+ animation:none;
578
+ }
579
+
580
+ .tds-combo-box-button > svg{
581
+ transition:none;
582
+ }
583
+ }
584
+
585
+ .tds-combo-box-list{
586
+ padding:0;
587
+ margin:0;
588
+ }
589
+
590
+ .tds-combo-box-list-item{
591
+ display:block;
592
+ padding-block:var(--t-spacing-1);
593
+ padding-inline:var(--t-spacing-2) var(--t-spacing-1);
594
+ overflow:hidden;
595
+ text-overflow:ellipsis;
596
+ font-size:1rem;
597
+ color:var(--t-text-color);
598
+ white-space:nowrap;
599
+ cursor:default;
600
+ border-radius:var(--t-border-radius);
601
+ }
602
+
603
+ .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
604
+ background:var(--t-fill-color-neutral-070);
605
+ }
606
+
607
+ .tds-combo-box-list-item[data-selected]{
608
+ background:var(--t-fill-color-button-interaction-ghost-active);
609
+ }
610
+
611
+ .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
612
+ background:var(--t-fill-color-neutral-060);
613
+ }
614
+
615
+ .tds-combo-box-list-item[data-disabled]{
616
+ color:var(--t-form-color-disabled);
617
+ cursor:not-allowed;
618
+ }
619
+
620
+ .tds-combo-box-list-item[data-disabled][data-hovered]{
621
+ background:transparent;
622
+ }
623
+
624
+ .tds-combo-box-empty-state{
625
+ position:relative;
626
+ min-block-size:var(--t-spacing-3);
627
+ padding-block:var(--t-spacing-1);
628
+ padding-inline:var(--t-spacing-2);
629
+ font-size:var(--t-font-size-md);
630
+ color:var(--t-text-color-secondary);
819
631
  }
820
632
 
821
- .tds-checkbox-description .tds-checkbox-description-invalid-icon{
822
- display:var(--tds-checkbox-description-invalid-icon-display);
823
- flex-shrink:0;
824
- margin-top:calc(.5lh - .5em);
825
- line-height:var(--tds-checkbox-description-line-height);
633
+ .tds-combo-box-load-more{
634
+ position:relative;
635
+ min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
636
+ }
637
+
638
+ .tds-combo-box-empty-state,
639
+ .tds-combo-box-load-more{
640
+ --tds-loading-spinner-visibility:visible;
641
+ --tds-loading-spinner-animation-play-state:running;
642
+ }
643
+
644
+ .tds-combo-box-list-section:not(:first-child){
645
+ margin-block-start:var(--t-spacing-half);
826
646
  }
827
647
 
828
- .tds-checkbox--sm{
829
- --tds-checkbox-line-height:1.35;
830
- --tds-checkbox-input-size:var(--t-element-size-sm);
831
- --tds-checkbox-font-size:var(--t-font-size-sm);
832
- --tds-checkbox-description-font-size:var(--t-font-size-xs);
833
- --tds-checkbox-description-line-height:1.3;
648
+ .tds-combo-box-section-header{
649
+ padding-block:var(--t-spacing-1);
650
+ padding-inline:var(--t-spacing-1);
651
+ font-size:var(--t-font-size-sm);
652
+ font-weight:var(--t-font-weight-semibold);
653
+ color:var(--t-text-color-secondary);
834
654
  }
835
655
 
836
656
  .tds-checkbox-group{
@@ -907,6 +727,81 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
907
727
  --tds-checkbox-group-description-line-height:1.3;
908
728
  }
909
729
 
730
+
731
+ :is(.tds-input input)::-webkit-search-decoration,:is(.tds-input input)::-webkit-search-cancel-button,:is(.tds-input input)::-webkit-search-results-button,:is(.tds-input input)::-webkit-search-results-decoration{
732
+ -webkit-appearance:none;
733
+ appearance:none;
734
+ }
735
+
736
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
737
+ inline-size:1em;
738
+ block-size:2em;
739
+ }
740
+
741
+ @supports (field-sizing: content){
742
+ .tds-input--auto-width{
743
+ inline-size:-moz-fit-content;
744
+ inline-size:fit-content;
745
+ min-inline-size:min(100%, 122px);
746
+ }
747
+
748
+ .tds-input--auto-width input{
749
+ field-sizing:content;
750
+ inline-size:auto;
751
+ }
752
+ }
753
+
754
+ .tds-number-stepper{
755
+ --tds-number-stepper-button-offset:4px;
756
+ --tds-number-stepper-button-gap:2px;
757
+ }
758
+
759
+ .tds-number-stepper--lg{
760
+ --tds-number-stepper-button-offset:5px;
761
+ --tds-number-stepper-button-gap:4px;
762
+ }
763
+
764
+ .tds-number-stepper-field:has([readonly]) .tds-number-stepper-button{
765
+ display:none;
766
+ }
767
+
768
+ .tds-number-stepper-input{
769
+ display:flex;
770
+ flex:1;
771
+ align-items:center;
772
+ min-inline-size:0;
773
+ padding-block:var(--tds-field-padding-block);
774
+ padding-inline:var(--tds-field-padding-inline);
775
+ font-family:inherit;
776
+ font-size:inherit;
777
+ color:inherit;
778
+ outline:0;
779
+ background:transparent;
780
+ border:0;
781
+ }
782
+
783
+ .tds-number-stepper-input::-webkit-inner-spin-button,.tds-number-stepper-input::-webkit-outer-spin-button{
784
+ margin:0;
785
+ -webkit-appearance:none;
786
+ appearance:none;
787
+ }
788
+
789
+ .tds-number-stepper-button{
790
+ flex-shrink:0;
791
+ align-self:center;
792
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
793
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
794
+ padding:0;
795
+ }
796
+
797
+ .tds-number-stepper-button + .tds-number-stepper-button{
798
+ margin-inline-start:var(--tds-number-stepper-button-gap);
799
+ }
800
+
801
+ .tds-number-stepper-button:last-of-type{
802
+ margin-inline-end:var(--tds-number-stepper-button-offset);
803
+ }
804
+
910
805
  .tds-date-picker{
911
806
  --tds-date-picker-button-offset:4px;
912
807
  }
@@ -1201,1515 +1096,1624 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1201
1096
  inline-size:2.25em;
1202
1097
  block-size:2.25em;
1203
1098
  color:var(--t-text-color);
1204
- cursor:pointer;
1205
- -webkit-user-select:none;
1206
- -moz-user-select:none;
1207
- user-select:none;
1208
- outline:0;
1209
- }
1210
-
1211
- .tds-date-picker-calendar-cell-button::before{
1212
- position:absolute;
1213
- inset:0;
1214
- z-index:-1;
1215
- content:"";
1216
- background-color:var(--_background-color);
1217
- border-radius:50%;
1218
- }
1219
-
1220
- .tds-date-picker-calendar-cell-button[data-today]::before{
1221
- box-shadow:inset 0 0 0 1.5px var(--t-border-color);
1222
- }
1223
-
1224
- .tds-date-picker-calendar-cell-button[data-outside-month]{
1225
- display:none;
1226
- }
1227
-
1228
- .tds-date-picker-calendar-cell-button[data-hovered]{
1229
- --_background-color:var(--t-fill-color-button-neutral-outline-hover);
1230
- }
1231
-
1232
- .tds-date-picker-calendar-cell-button[data-pressed]{
1233
- --_background-color:var(--t-fill-color-button-neutral-outline-active);
1234
- }
1235
-
1236
- .tds-date-picker-calendar-cell-button[data-selected]{
1237
- --_background-color:var(--t-fill-color-interaction);
1238
- font-weight:var(--t-font-weight-semibold);
1239
- color:var(--t-text-color-inverted);
1240
- border-color:transparent;
1241
- }
1242
-
1243
- .tds-date-picker-calendar-cell-button[data-unavailable]{
1244
- color:var(--t-text-color-disabled);
1245
- text-decoration:line-through;
1246
- cursor:not-allowed;
1247
- }
1248
-
1249
- .tds-date-picker-calendar-cell-button[data-disabled]{
1250
- color:var(--t-text-color-disabled);
1251
- }
1252
-
1253
- .tds-date-picker-calendar-cell-button[data-focus-visible]{
1254
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
1255
- outline-offset:-2px;
1256
- }
1257
-
1258
- .tds-date-picker-calendar-cell-button[data-focus-visible][data-selected]{
1259
- outline-offset:var(--t-focus-ring-offset);
1260
- }
1261
-
1262
- .tds-date-picker-popover--lg{
1263
- --tds-date-picker-popover-font-size:var(--t-font-size-lg);
1264
- }
1265
-
1266
- .tds-combo-box{
1267
- --tds-combo-box-button-offset:4px;
1268
- }
1269
-
1270
- .tds-combo-box[data-open] .tds-combo-box-button > svg{
1271
- transform:rotate(.5turn);
1272
- }
1273
-
1274
- .tds-combo-box--lg{
1275
- --tds-combo-box-button-offset:5px;
1276
- }
1277
-
1278
- .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
1279
- display:none;
1280
- }
1281
-
1282
- .tds-combo-box-input{
1283
- display:flex;
1284
- flex:1;
1285
- align-items:center;
1286
- padding-block:var(--tds-field-padding-block);
1287
- padding-inline:var(--tds-field-padding-inline);
1288
- font-family:inherit;
1289
- font-size:inherit;
1290
- color:inherit;
1291
- outline:0;
1292
- background:transparent;
1293
- border:0;
1294
- }
1295
-
1296
- .tds-combo-box-input:has( + .tds-combo-box-button){
1297
- padding-inline-end:0;
1298
- }
1299
-
1300
- .tds-combo-box-input::-moz-placeholder{
1301
- color:var(--tds-field-placeholder-color);
1302
- -moz-user-select:none;
1303
- user-select:none;
1304
- }
1305
-
1306
- .tds-combo-box-input::placeholder{
1307
- color:var(--tds-field-placeholder-color);
1308
- -webkit-user-select:none;
1309
- -moz-user-select:none;
1310
- user-select:none;
1311
- }
1312
-
1313
- .tds-combo-box-button{
1314
- flex-shrink:0;
1315
- align-self:center;
1316
- inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1317
- block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
1318
- padding:0;
1319
- margin-inline-end:var(--tds-combo-box-button-offset);
1320
- }
1321
-
1322
- .tds-combo-box-button > svg{
1323
- inline-size:var(--tds-field-font-size);
1324
- block-size:var(--tds-field-font-size);
1325
- transition:transform var(--t-duration-300) var(--t-ease-in-out);
1326
- }
1327
-
1328
- .tds-combo-box-popover{
1329
- width:var(--trigger-width);
1330
- max-block-size:inherit;
1331
- padding:var(--t-spacing-1);
1332
- overflow:auto;
1333
- scroll-behavior:smooth;
1334
- overscroll-behavior:none;
1099
+ cursor:pointer;
1335
1100
  -webkit-user-select:none;
1336
1101
  -moz-user-select:none;
1337
1102
  user-select:none;
1338
1103
  outline:0;
1339
- scrollbar-color:#0004 var(--t-surface-color-card);
1340
- scrollbar-width:thin;
1341
- background:var(--t-surface-color-card);
1342
- background-clip:padding-box;
1343
- border:1px solid var(--t-border-color);
1344
- border-radius:var(--t-border-radius);
1345
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
1346
1104
  }
1347
1105
 
1348
- .tds-combo-box-popover[data-entering]{
1349
- animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
1106
+ .tds-date-picker-calendar-cell-button::before{
1107
+ position:absolute;
1108
+ inset:0;
1109
+ z-index:-1;
1110
+ content:"";
1111
+ background-color:var(--_background-color);
1112
+ border-radius:50%;
1350
1113
  }
1351
1114
 
1352
- .tds-combo-box-popover[data-exiting]{
1353
- animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
1354
- }
1115
+ .tds-date-picker-calendar-cell-button[data-today]::before{
1116
+ box-shadow:inset 0 0 0 1.5px var(--t-border-color);
1117
+ }
1355
1118
 
1356
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1357
- will-change:opacity, transform;
1119
+ .tds-date-picker-calendar-cell-button[data-outside-month]{
1120
+ display:none;
1358
1121
  }
1359
1122
 
1360
- @keyframes tds-combo-box-popover{
1361
- from{
1362
- opacity:0;
1363
- transform:translateY(-8px);
1123
+ .tds-date-picker-calendar-cell-button[data-hovered]{
1124
+ --_background-color:var(--t-fill-color-button-neutral-outline-hover);
1364
1125
  }
1365
- }
1366
-
1367
- @media (prefers-reduced-motion: reduce){
1368
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
1369
- animation:none;
1370
- }
1371
1126
 
1372
- .tds-combo-box-button > svg{
1373
- transition:none;
1127
+ .tds-date-picker-calendar-cell-button[data-pressed]{
1128
+ --_background-color:var(--t-fill-color-button-neutral-outline-active);
1374
1129
  }
1375
- }
1376
-
1377
- .tds-combo-box-list{
1378
- padding:0;
1379
- margin:0;
1380
- }
1381
-
1382
- .tds-combo-box-list-item{
1383
- display:block;
1384
- padding-block:var(--t-spacing-1);
1385
- padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1386
- overflow:hidden;
1387
- text-overflow:ellipsis;
1388
- font-size:1rem;
1389
- color:var(--t-text-color);
1390
- white-space:nowrap;
1391
- cursor:default;
1392
- border-radius:var(--t-border-radius);
1393
- }
1394
1130
 
1395
- .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
1396
- background:var(--t-fill-color-neutral-070);
1131
+ .tds-date-picker-calendar-cell-button[data-selected]{
1132
+ --_background-color:var(--t-fill-color-interaction);
1133
+ font-weight:var(--t-font-weight-semibold);
1134
+ color:var(--t-text-color-inverted);
1135
+ border-color:transparent;
1397
1136
  }
1398
1137
 
1399
- .tds-combo-box-list-item[data-selected]{
1400
- background:var(--t-fill-color-button-interaction-ghost-active);
1138
+ .tds-date-picker-calendar-cell-button[data-unavailable]{
1139
+ color:var(--t-text-color-disabled);
1140
+ text-decoration:line-through;
1141
+ cursor:not-allowed;
1401
1142
  }
1402
1143
 
1403
- .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
1404
- background:var(--t-fill-color-neutral-060);
1144
+ .tds-date-picker-calendar-cell-button[data-disabled]{
1145
+ color:var(--t-text-color-disabled);
1405
1146
  }
1406
1147
 
1407
- .tds-combo-box-list-item[data-disabled]{
1408
- color:var(--t-form-color-disabled);
1409
- cursor:not-allowed;
1148
+ .tds-date-picker-calendar-cell-button[data-focus-visible]{
1149
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
1150
+ outline-offset:-2px;
1410
1151
  }
1411
1152
 
1412
- .tds-combo-box-list-item[data-disabled][data-hovered]{
1413
- background:transparent;
1414
- }
1415
-
1416
- .tds-combo-box-empty-state{
1417
- position:relative;
1418
- min-block-size:var(--t-spacing-3);
1419
- padding-block:var(--t-spacing-1);
1420
- padding-inline:var(--t-spacing-2);
1421
- font-size:var(--t-font-size-md);
1422
- color:var(--t-text-color-secondary);
1423
- }
1153
+ .tds-date-picker-calendar-cell-button[data-focus-visible][data-selected]{
1154
+ outline-offset:var(--t-focus-ring-offset);
1155
+ }
1424
1156
 
1425
- .tds-combo-box-load-more{
1426
- position:relative;
1427
- min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
1157
+ .tds-date-picker-popover--lg{
1158
+ --tds-date-picker-popover-font-size:var(--t-font-size-lg);
1428
1159
  }
1429
1160
 
1430
- .tds-combo-box-empty-state,
1431
- .tds-combo-box-load-more{
1432
- --tds-loading-spinner-visibility:visible;
1433
- --tds-loading-spinner-animation-play-state:running;
1161
+ .tds-input:has(textarea){
1162
+ --tds-input-padding-block:6px;
1163
+ --tds-input-resizer-size:var(--t-element-size-sm);
1164
+ --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
1434
1165
  }
1435
1166
 
1436
- .tds-combo-box-list-section:not(:first-child){
1437
- margin-block-start:var(--t-spacing-half);
1438
- }
1167
+ @supports (x: attr(x type(*))){
1439
1168
 
1440
- .tds-combo-box-section-header{
1441
- padding-block:var(--t-spacing-1);
1442
- padding-inline:var(--t-spacing-1);
1443
- font-size:var(--t-font-size-sm);
1444
- font-weight:var(--t-font-weight-semibold);
1445
- color:var(--t-text-color-secondary);
1169
+ .tds-input textarea{
1170
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1446
1171
  }
1172
+ }
1447
1173
 
1174
+ .tds-input.tds-textarea--resize-vertical textarea{
1175
+ resize:vertical;
1176
+ }
1448
1177
 
1449
- :is(.tds-input input)::-webkit-search-decoration,:is(.tds-input input)::-webkit-search-cancel-button,:is(.tds-input input)::-webkit-search-results-button,:is(.tds-input input)::-webkit-search-results-decoration{
1450
- -webkit-appearance:none;
1451
- appearance:none;
1178
+ .tds-input.tds-textarea--resize-none textarea{
1179
+ resize:none;
1452
1180
  }
1453
1181
 
1454
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1455
- inline-size:1em;
1456
- block-size:2em;
1182
+ .tds-input.tds-textarea--resize-auto textarea{
1183
+ resize:vertical;
1457
1184
  }
1458
1185
 
1459
1186
  @supports (field-sizing: content){
1460
- .tds-input--auto-width{
1461
- inline-size:-moz-fit-content;
1462
- inline-size:fit-content;
1463
- min-inline-size:min(100%, 122px);
1464
- }
1187
+ .tds-input.tds-textarea--resize-auto textarea{
1188
+ field-sizing:content;
1189
+ resize:none;
1190
+ }
1191
+ }
1465
1192
 
1466
- .tds-input--auto-width input{
1467
- field-sizing:content;
1468
- inline-size:auto;
1469
- }
1193
+ .tds-input textarea{
1194
+ --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1195
+ --tds-input-scrollbar-thumb-color-hidden:transparent;
1196
+ --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1197
+ --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1198
+ --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1199
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1200
+ --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1201
+ --tds-input-scrollbar-thumb-border-radius:999px;
1202
+ --tds-input-scrollbar-thumb-border-width:3px;
1203
+ --tds-input-scrollbar-track-margin-block:.125rem;
1204
+ scrollbar-color:initial;
1205
+ transition-timing-function:var(--t-ease-in-out);
1206
+ transition-duration:var(--t-duration-200);
1207
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1470
1208
  }
1471
1209
 
1472
- .tds-radio{
1473
- --tds-radio-font-size:var(--t-font-size-md);
1474
- --tds-radio-cursor:pointer;
1475
- --tds-radio-line-height:1.4;
1476
- --tds-radio-transition-property:border-width;
1477
-
1478
- --tds-radio-input-size:var(--t-element-size-md);
1479
- --tds-radio-input-border-radius:var(--t-border-radius-round);
1480
- --tds-radio-input-border-color:var(--t-form-border-color);
1481
- --tds-radio-input-border-width:var(--t-form-border-width);
1482
- --tds-radio-input-background-color:var(--t-form-background-color);
1210
+ @media (pointer: fine){
1211
+ :is(.tds-input textarea)::-webkit-scrollbar{
1212
+ width:12px;
1213
+ height:12px;
1214
+ cursor:default;
1215
+ }
1483
1216
 
1484
- --tds-radio-label-color:var(--t-form-color);
1217
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1218
+ cursor:default;
1219
+ background:var(--tds-input-scrollbar-thumb-color);
1220
+ background-clip:content-box;
1221
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1222
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1223
+ }
1485
1224
 
1486
- --tds-radio-description-font-size:var(--t-font-size-sm);
1487
- --tds-radio-description-line-height:1.35;
1488
- --tds-radio-description-color:var(--t-text-color-secondary);
1225
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1226
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1227
+ }
1489
1228
 
1490
- position:relative;
1491
- display:inline-grid;
1492
- grid-template-columns:auto;
1493
- grid-auto-columns:1fr;
1494
- gap:var(--t-spacing-fourth) 0;
1495
- line-height:var(--tds-radio-line-height);
1496
- -webkit-user-select:none;
1497
- -moz-user-select:none;
1498
- user-select:none;
1499
- }
1229
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1230
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1231
+ }
1500
1232
 
1501
- .tds-radio label{
1502
- grid-area:1 / 2;
1503
- padding-inline-start:var(--t-spacing-1);
1504
- font-size:var(--tds-radio-font-size);
1505
- font-weight:var(--t-font-weight-normal);
1506
- color:var(--tds-radio-label-color);
1507
- cursor:var(--tds-radio-cursor);
1508
- }
1233
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1234
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1235
+ }
1509
1236
 
1510
- .tds-radio input[type="radio"]{
1511
- position:relative;
1512
- width:1em;
1513
- height:1em;
1514
- margin:calc((1lh - 1em) / 2) 0 0;
1515
- font-size:var(--tds-radio-font-size);
1516
- line-height:inherit;
1517
- -webkit-appearance:none;
1518
- -moz-appearance:none;
1519
- appearance:none;
1520
- cursor:var(--tds-radio-cursor);
1521
- background-color:var(--tds-radio-input-background-color);
1522
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1523
- border-radius:var(--tds-radio-input-border-radius);
1524
- transition-timing-function:var(--t-ease-in-out);
1525
- transition-duration:var(--t-duration-200);
1526
- transition-property:var(--tds-radio-transition-property);
1527
- }
1237
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
1238
+ background:var(--tds-input-scrollbar-surface-color);
1239
+ }
1528
1240
 
1529
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1530
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1531
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1241
+ :is(.tds-input textarea)::-webkit-resizer{
1242
+ background:var(--tds-input-resizer-icon) no-repeat;
1243
+ background-position:right bottom;
1244
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1532
1245
  }
1533
1246
 
1534
- :is(.tds-radio input[type="radio"]):focus-visible{
1535
- outline:var(--t-focus-ring-outline);
1536
- outline-offset:var(--t-focus-ring-offset);
1247
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
1248
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
1249
+ cursor:default;
1537
1250
  }
1538
1251
 
1539
- :is(.tds-radio input[type="radio"]):disabled{
1540
- pointer-events:none;
1252
+ @supports (-moz-appearance: none){
1253
+ :is(.tds-input textarea){
1254
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1255
+ scrollbar-width:thin;
1256
+ }
1257
+
1258
+ @media (hover){
1259
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1260
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1261
+ }
1262
+ }
1541
1263
  }
1264
+ }
1542
1265
 
1543
- @media (prefers-reduced-motion: reduce){
1266
+ .tds-radio-group{
1267
+ --tds-radio-group-font-size:var(--t-font-size-md);
1268
+ --tds-radio-group-line-height:1.4;
1269
+ --tds-radio-group-gap:var(--t-spacing-1);
1544
1270
 
1545
- .tds-radio input[type="radio"]{
1546
- --tds-radio-transition-property:none;
1547
- }
1548
- }
1271
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
1272
+ --tds-radio-group-description-line-height:1.35;
1273
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
1274
+ --tds-radio-group-description-invalid-icon-display:none;
1275
+ display:flex;
1276
+ flex-direction:column;
1277
+ gap:0;
1278
+ padding:0;
1279
+ margin:0;
1549
1280
 
1550
- .tds-radio:has(input:checked){
1551
- --tds-radio-input-background-color:var(--t-form-background-color);
1552
- --tds-radio-input-border-color:var(--t-border-color-control-info);
1553
- --tds-radio-input-border-width:4px;
1554
- }
1281
+ font-size:var(--tds-radio-group-font-size);
1282
+ line-height:var(--tds-radio-group-line-height);
1283
+ border:0;
1284
+ }
1555
1285
 
1556
- .tds-radio:has(input:checked) input:hover:not(:disabled){
1557
- --tds-radio-input-background-color:var(--t-form-background-color);
1558
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1559
- }
1286
+ .tds-radio-group legend{
1287
+ float:left;
1288
+ padding:0;
1289
+ margin:0;
1290
+ }
1560
1291
 
1561
- .tds-radio:has(input:user-invalid){
1562
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1292
+ .tds-radio-group[aria-invalid="true"]{
1293
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
1294
+ --tds-radio-group-description-invalid-icon-display:inline-block;
1563
1295
  }
1564
1296
 
1565
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1566
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1567
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1297
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
1298
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1568
1299
  }
1569
1300
 
1570
- .tds-radio:has(input:disabled){
1571
- --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1572
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1301
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1302
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1303
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1304
+ }
1573
1305
 
1574
- --tds-radio-label-color:var(--t-form-color-disabled);
1575
- --tds-radio-description-color:var(--t-form-color-disabled);
1576
- --tds-radio-cursor:not-allowed;
1577
- }
1306
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1307
+ --tds-radio-input-background-color:var(--t-form-background-color);
1308
+ }
1578
1309
 
1579
- .tds-radio:has(input:disabled) input:checked{
1580
- --tds-radio-input-background-color:var(--t-form-background-color);
1581
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1310
+ .tds-radio-group:has(input:required) legend::after{
1311
+ margin-left:.25ch;
1312
+ color:var(--t-text-color-status-error);
1313
+ content:"*";
1582
1314
  }
1583
1315
 
1584
- .tds-radio-description{
1316
+ .tds-radio-group-fields{
1317
+ display:flex;
1318
+ flex-direction:column;
1319
+ gap:var(--tds-radio-group-gap);
1320
+ align-items:flex-start;
1321
+ margin-top:var(--t-spacing-1);
1322
+ }
1323
+
1324
+ .tds-radio-group-description{
1585
1325
  display:flex;
1586
- grid-area:2 / 2;
1587
1326
  gap:var(--t-spacing-half);
1588
1327
  align-items:flex-start;
1589
- padding-inline-start:var(--t-spacing-1);
1590
- margin:0;
1591
- font-size:var(--tds-radio-description-font-size);
1592
- line-height:var(--tds-radio-description-line-height);
1593
- color:var(--tds-radio-description-color);
1328
+ margin:var(--t-spacing-fourth) 0 0;
1329
+ font-size:var(--tds-radio-group-description-font-size);
1330
+ line-height:var(--tds-radio-group-description-line-height);
1331
+ color:var(--tds-radio-group-description-color);
1594
1332
  cursor:text;
1595
1333
  }
1596
1334
 
1597
- .tds-radio--sm{
1598
- --tds-radio-line-height:1.35;
1599
- --tds-radio-input-size:var(--t-element-size-sm);
1600
- --tds-radio-font-size:var(--t-font-size-sm);
1601
- --tds-radio-description-font-size:var(--t-font-size-xs);
1602
- --tds-radio-description-line-height:1.3;
1603
- }
1335
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1336
+ display:var(--tds-radio-group-description-invalid-icon-display);
1337
+ flex-shrink:0;
1338
+ margin-top:calc(.5lh - .5em);
1339
+ line-height:var(--tds-radio-group-description-line-height);
1340
+ }
1604
1341
 
1605
- .tds-number-stepper{
1606
- --tds-number-stepper-button-offset:4px;
1607
- --tds-number-stepper-button-gap:2px;
1342
+ .tds-radio-group--sm{
1343
+ --tds-radio-group-line-height:1.35;
1344
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1345
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1346
+ --tds-radio-group-description-line-height:1.3;
1608
1347
  }
1609
1348
 
1610
- .tds-number-stepper--lg{
1611
- --tds-number-stepper-button-offset:5px;
1612
- --tds-number-stepper-button-gap:4px;
1613
- }
1614
1349
 
1615
- .tds-number-stepper-field:has([readonly]) .tds-number-stepper-button{
1616
- display:none;
1350
+ @media (prefers-reduced-motion: no-preference){
1351
+
1352
+ :root{
1353
+ interpolate-size:allow-keywords;
1617
1354
  }
1355
+ }
1618
1356
 
1619
- .tds-number-stepper-input{
1620
- display:flex;
1621
- flex:1;
1622
- align-items:center;
1623
- min-inline-size:0;
1624
- padding-block:var(--tds-field-padding-block);
1625
- padding-inline:var(--tds-field-padding-inline);
1626
- font-family:inherit;
1627
- font-size:inherit;
1628
- color:inherit;
1629
- outline:0;
1630
- background:transparent;
1631
- border:0;
1357
+ @layer tds-component{
1358
+ tds-sidenav,
1359
+ .tds-sidenav{
1360
+ --tds-sidenav-indent:12px;
1361
+ --tds-sidenav-item-depth:0;
1362
+
1363
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1364
+
1365
+ --tds-sidenav-collapse-transition-enter:opacity var(--t-duration-300) var(--t-ease-out), transform var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
1366
+ --tds-sidenav-collapse-transition-exit:opacity var(--t-duration-200) var(--t-ease-in), display var(--t-duration-200) allow-discrete, overlay var(--t-duration-200) allow-discrete;
1367
+ --tds-sidenav-collapse-closed-opacity:0;
1368
+ --tds-sidenav-collapse-open-opacity:1;
1369
+ --tds-sidenav-collapse-closed-transform:translateY(-8px);
1370
+ --tds-sidenav-collapse-open-transform:translateY(0);
1371
+
1372
+ --tds-sidenav-item-icon-size:var(--t-element-size-md);
1373
+ --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
1374
+ --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
1375
+ --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
1376
+
1377
+ --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
1378
+ --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
1379
+ --tds-sidenav-item-nested-background-selected:transparent;
1380
+
1381
+ --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
1382
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1383
+ --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
1384
+
1385
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
1386
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
1387
+ }
1388
+
1389
+ @media (prefers-reduced-motion: reduce){
1390
+ tds-sidenav,
1391
+ .tds-sidenav{
1392
+ --tds-sidenav-collapse-transition-enter:none;
1393
+ --tds-sidenav-collapse-transition-exit:none;
1394
+ --tds-sidenav-collapse-closed-transform:none;
1395
+ --tds-sidenav-collapse-open-transform:none;
1396
+ }
1397
+ }
1398
+
1399
+ .tds-sidenav--theme-gray{
1400
+ --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
1401
+ --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
1402
+ --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
1403
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1404
+ --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
1405
+ }
1632
1406
  }
1633
1407
 
1634
- .tds-number-stepper-input::-webkit-inner-spin-button,.tds-number-stepper-input::-webkit-outer-spin-button{
1635
- margin:0;
1636
- -webkit-appearance:none;
1637
- appearance:none;
1408
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
1409
+ display:flex;
1638
1410
  }
1639
1411
 
1640
- .tds-number-stepper-button{
1641
- flex-shrink:0;
1642
- align-self:center;
1643
- inline-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
1644
- block-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
1412
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
1413
+ flex-direction:column;
1414
+ gap:var(--t-spacing-half);
1415
+ width:100%;
1416
+ }
1417
+
1418
+ .tds-sidenav-section-list{
1419
+ width:100%;
1645
1420
  padding:0;
1421
+ margin:0;
1422
+ list-style:none;
1646
1423
  }
1647
1424
 
1648
- .tds-number-stepper-button + .tds-number-stepper-button{
1649
- margin-inline-start:var(--tds-number-stepper-button-gap);
1425
+ .tds-sidenav-section-header{
1426
+ display:flex;
1427
+ align-items:baseline;
1428
+ justify-content:space-between;
1429
+ padding-top:var(--t-spacing-2);
1430
+ }
1431
+
1432
+ .tds-sidenav-section-header h2{
1433
+ margin:0;
1434
+ font-size:var(--t-font-size-sm);
1435
+ font-weight:var(--t-font-weight-semibold);
1436
+ line-height:1.35;
1437
+ color:var(--t-text-color-secondary);
1438
+ text-transform:uppercase;
1650
1439
  }
1651
1440
 
1652
- .tds-number-stepper-button:last-of-type{
1653
- margin-inline-end:var(--tds-number-stepper-button-offset);
1441
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
1442
+ padding-top:0;
1654
1443
  }
1655
1444
 
1656
- .tds-time-field-input{
1657
- --tds-field-date-segment-padding-inline:1px;
1658
- padding-block:var(--tds-field-padding-block);
1659
- padding-inline:var(--tds-field-padding-inline);
1660
- font-variant-numeric:tabular-nums;
1661
- }
1445
+ .tds-sidenav-section-header [slot="label-actions"]{
1446
+ display:flex;
1447
+ gap:var(--t-spacing-half);
1448
+ align-items:center;
1449
+ }
1662
1450
 
1663
- .tds-input:has(textarea){
1664
- --tds-input-padding-block:6px;
1665
- --tds-input-resizer-size:var(--t-element-size-sm);
1666
- --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
1451
+ .tds-sidenav-section [slot="section-actions"]{
1452
+ display:flex;
1453
+ gap:12px;
1454
+ align-items:center;
1455
+ min-height:42px;
1456
+ padding:var(--t-spacing-1) 0;
1667
1457
  }
1668
1458
 
1669
- @supports (x: attr(x type(*))){
1670
-
1671
- .tds-input textarea{
1672
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1459
+ .tds-sidenav-section-list,
1460
+ .tds-sidenav-item{
1461
+ width:100%;
1462
+ padding:0;
1463
+ margin:0;
1673
1464
  }
1465
+
1466
+ .tds-sidenav-item :is(a,button){
1467
+ position:relative;
1468
+ display:flex;
1469
+ gap:12px;
1470
+ align-items:center;
1471
+ width:100%;
1472
+ padding:12px;
1473
+ overflow:hidden;
1474
+ font-size:var(--t-font-size-sm);
1475
+ line-height:18px;
1476
+ color:var(--t-text-color-headline);
1477
+ white-space:nowrap;
1478
+ text-decoration:none;
1479
+ -webkit-appearance:none;
1480
+ -moz-appearance:none;
1481
+ appearance:none;
1482
+ cursor:pointer;
1483
+ background-color:var(--tds-sidenav-item-background, transparent);
1484
+ border:0;
1485
+ border-radius:var(--t-border-radius);
1486
+ transition:var(--tds-sidenav-item-transition);
1674
1487
  }
1675
1488
 
1676
- .tds-input.tds-textarea--resize-vertical textarea{
1677
- resize:vertical;
1489
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
1490
+ display:block;
1491
+ flex:1;
1492
+ overflow:hidden;
1493
+ text-overflow:ellipsis;
1494
+ text-align:left;
1495
+ white-space:nowrap;
1678
1496
  }
1679
1497
 
1680
- .tds-input.tds-textarea--resize-none textarea{
1681
- resize:none;
1498
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
1499
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
1500
+ color:var(--t-text-color-headline);
1501
+ text-decoration:none;
1682
1502
  }
1683
1503
 
1684
- .tds-input.tds-textarea--resize-auto textarea{
1685
- resize:vertical;
1504
+ :is(.tds-sidenav-item :is(a,button)):active{
1505
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
1686
1506
  }
1687
1507
 
1688
- @supports (field-sizing: content){
1689
- .tds-input.tds-textarea--resize-auto textarea{
1690
- field-sizing:content;
1691
- resize:none;
1692
- }
1508
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
1509
+ overflow:hidden;
1510
+ color:var(--tds-sidenav-item-icon-color);
1693
1511
  }
1694
1512
 
1695
- .tds-input textarea{
1696
- --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1697
- --tds-input-scrollbar-thumb-color-hidden:transparent;
1698
- --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1699
- --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1700
- --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1701
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1702
- --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1703
- --tds-input-scrollbar-thumb-border-radius:999px;
1704
- --tds-input-scrollbar-thumb-border-width:3px;
1705
- --tds-input-scrollbar-track-margin-block:.125rem;
1706
- scrollbar-color:initial;
1707
- transition-timing-function:var(--t-ease-in-out);
1708
- transition-duration:var(--t-duration-200);
1709
- transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1710
- }
1513
+ :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{
1514
+ display:block;
1515
+ width:var(--tds-sidenav-item-icon-size);
1516
+ height:var(--tds-sidenav-item-icon-size);
1517
+ }
1711
1518
 
1712
- @media (pointer: fine){
1713
- :is(.tds-input textarea)::-webkit-scrollbar{
1714
- width:12px;
1715
- height:12px;
1716
- cursor:default;
1519
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
1520
+ --tds-sidenav-indent:19px;
1717
1521
  }
1718
1522
 
1719
- :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1720
- cursor:default;
1721
- background:var(--tds-input-scrollbar-thumb-color);
1722
- background-clip:content-box;
1723
- border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1724
- border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1523
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
1524
+ visibility:visible;
1525
+ block-size:auto;
1526
+ opacity:1;
1725
1527
  }
1726
1528
 
1727
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1728
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1729
- }
1529
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
1530
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
1531
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
1730
1532
 
1731
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1732
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1733
- }
1533
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
1534
+ font-weight:var(--t-font-weight-semibold);
1535
+ }
1734
1536
 
1735
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1736
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1737
- }
1537
+ .tds-sidenav-item:has(.tds-sidenav-section){
1538
+ display:flex;
1539
+ flex-direction:column;
1540
+ gap:var(--t-spacing-half);
1541
+ }
1738
1542
 
1739
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
1740
- background:var(--tds-input-scrollbar-surface-color);
1543
+ .tds-sidenav-item .tds-sidenav-section-list{
1544
+ --tds-sidenav-item-depth:1;
1545
+ gap:0;
1546
+ }
1547
+
1548
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
1549
+ visibility:hidden;
1550
+ block-size:0;
1551
+ overflow-y:clip;
1552
+ opacity:0;
1553
+ transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
1741
1554
  }
1742
1555
 
1743
- :is(.tds-input textarea)::-webkit-resizer{
1744
- background:var(--tds-input-resizer-icon) no-repeat;
1745
- background-position:right bottom;
1746
- background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1556
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
1557
+ --tds-sidenav-item-depth:2;
1747
1558
  }
1748
1559
 
1749
- :is(.tds-input textarea)::-webkit-scrollbar-track{
1750
- margin-block:var(--tds-input-scrollbar-track-margin-block);
1751
- cursor:default;
1560
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1561
+ min-height:var(--t-element-size-2xl);
1562
+ padding-block:9px;
1563
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
1564
+ line-height:1;
1565
+ background-color:transparent;
1752
1566
  }
1753
1567
 
1754
- @supports (-moz-appearance: none){
1755
- :is(.tds-input textarea){
1756
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1757
- scrollbar-width:thin;
1568
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
1569
+ position:absolute;
1570
+ top:0;
1571
+ bottom:0;
1572
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1573
+ width:2px;
1574
+ content:"";
1575
+ background-color:var(--tds-sidenav-item-nested-border-color);
1576
+ transition:var(--tds-sidenav-item-transition);
1758
1577
  }
1759
1578
 
1760
- @media (hover){
1761
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1762
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1763
- }
1579
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
1580
+ position:absolute;
1581
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1582
+ z-index:-1;
1583
+ height:100%;
1584
+ content:"";
1585
+ background-color:var(--tds-sidenav-item-nested-background);
1586
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
1587
+ transition:var(--tds-sidenav-item-transition);
1764
1588
  }
1765
- }
1766
- }
1767
1589
 
1768
- .tds-radio-group{
1769
- --tds-radio-group-font-size:var(--t-font-size-md);
1770
- --tds-radio-group-line-height:1.4;
1771
- --tds-radio-group-gap:var(--t-spacing-1);
1590
+ :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)){
1591
+ display:block;
1592
+ text-align:left;
1593
+ white-space:normal;
1594
+ }
1772
1595
 
1773
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
1774
- --tds-radio-group-description-line-height:1.35;
1775
- --tds-radio-group-description-color:var(--t-text-color-secondary);
1776
- --tds-radio-group-description-invalid-icon-display:none;
1777
- display:flex;
1778
- flex-direction:column;
1779
- gap:0;
1780
- padding:0;
1781
- margin:0;
1596
+ :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{
1597
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
1598
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
1599
+ }
1782
1600
 
1783
- font-size:var(--tds-radio-group-font-size);
1784
- line-height:var(--tds-radio-group-line-height);
1785
- border:0;
1601
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
1602
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
1603
+ }
1604
+
1605
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1606
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
1607
+ font-weight:var(--t-font-weight-medium);
1608
+ }
1609
+
1610
+ .tds-sidenav-responsive-header{
1611
+ display:flex;
1612
+ gap:var(--t-spacing-2);
1613
+ align-items:center;
1614
+ width:100%;
1786
1615
  }
1787
1616
 
1788
- .tds-radio-group legend{
1789
- float:left;
1790
- padding:0;
1617
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
1618
+ order:0;
1619
+ }
1620
+
1621
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
1622
+ flex:1;
1623
+ order:1;
1791
1624
  margin:0;
1625
+ font-size:var(--t-font-size-lg);
1626
+ font-weight:var(--t-font-weight-medium);
1627
+ color:var(--t-text-color-headline);
1792
1628
  }
1793
1629
 
1794
- .tds-radio-group[aria-invalid="true"]{
1795
- --tds-radio-group-description-color:var(--t-text-color-status-error);
1796
- --tds-radio-group-description-invalid-icon-display:inline-block;
1630
+ @media (max-width: 719px){
1631
+ .tds-sidenav-collapse{
1632
+ z-index:10001;
1633
+ display:none;
1634
+ max-width:min(448px, calc(100vw - 48px));
1635
+ padding:0;
1636
+ margin:12px 0;
1637
+ position-area:bottom span-right;
1638
+ overflow:hidden;
1639
+ outline:0;
1640
+ background:var(--t-surface-color-card);
1641
+ border:0;
1642
+ border-radius:6px;
1643
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
1644
+ opacity:var(--tds-sidenav-collapse-open-opacity);
1645
+ transform:var(--tds-sidenav-collapse-open-transform);
1646
+ transition:var(--tds-sidenav-collapse-transition-enter);
1647
+ will-change:transform;
1648
+ }
1649
+
1650
+ .tds-sidenav-scroll-container{
1651
+ --webkit-overflow-scrolling:touch;
1652
+ display:block;
1653
+ width:100%;
1654
+ height:-moz-fit-content;
1655
+ height:fit-content;
1656
+ padding:var(--t-spacing-2);
1657
+ overflow-y:auto;
1797
1658
  }
1798
1659
 
1799
- .tds-radio-group[aria-invalid="true"] .tds-radio{
1800
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1660
+ .tds-sidenav-item :is(a, button) :is(.prefix){
1661
+ display:none;
1662
+ }
1663
+ @supports selector(:popover-open){
1664
+ .tds-sidenav-collapse:popover-open{
1665
+ display:flex;
1801
1666
  }
1802
1667
 
1803
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1804
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1805
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1806
- }
1668
+ .tds-sidenav-collapse:not(:popover-open){
1669
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1670
+ transition:var(--tds-sidenav-collapse-transition-exit);
1671
+ }
1807
1672
 
1808
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1809
- --tds-radio-input-background-color:var(--t-form-background-color);
1673
+ @starting-style{
1674
+ .tds-sidenav-collapse:popover-open{
1675
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1676
+ transform:var(--tds-sidenav-collapse-closed-transform);
1810
1677
  }
1811
-
1812
- .tds-radio-group:has(input:required) legend::after{
1813
- margin-left:.25ch;
1814
- color:var(--t-text-color-status-error);
1815
- content:"*";
1678
+ }
1679
+ }
1680
+ @supports not selector(:popover-open){
1681
+ .tds-sidenav-collapse.\:popover-open{
1682
+ display:flex;
1816
1683
  }
1817
1684
 
1818
- .tds-radio-group-fields{
1819
- display:flex;
1820
- flex-direction:column;
1821
- gap:var(--tds-radio-group-gap);
1822
- align-items:flex-start;
1823
- margin-top:var(--t-spacing-1);
1685
+ .tds-sidenav-collapse:not(.\:popover-open){
1686
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1687
+ transition:var(--tds-sidenav-collapse-transition-exit);
1688
+ }
1689
+ }
1824
1690
  }
1825
1691
 
1826
- .tds-radio-group-description{
1827
- display:flex;
1828
- gap:var(--t-spacing-half);
1829
- align-items:flex-start;
1830
- margin:var(--t-spacing-fourth) 0 0;
1831
- font-size:var(--tds-radio-group-description-font-size);
1832
- line-height:var(--tds-radio-group-description-line-height);
1833
- color:var(--tds-radio-group-description-color);
1834
- cursor:text;
1692
+ @media (min-width: 720px){
1693
+ .tds-sidenav-responsive-header{
1694
+ display:none;
1695
+ }
1835
1696
  }
1836
1697
 
1837
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1838
- display:var(--tds-radio-group-description-invalid-icon-display);
1839
- flex-shrink:0;
1840
- margin-top:calc(.5lh - .5em);
1841
- line-height:var(--tds-radio-group-description-line-height);
1842
- }
1698
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1699
+ display:none;
1700
+ }
1843
1701
 
1844
- .tds-radio-group--sm{
1845
- --tds-radio-group-line-height:1.35;
1846
- --tds-radio-group-font-size:var(--t-font-size-sm);
1847
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
1848
- --tds-radio-group-description-line-height:1.3;
1849
- }
1702
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1703
+ display:block;
1704
+ }
1850
1705
 
1851
- .tds-input{
1852
- --tds-input-border-color:var(--t-form-border-color);
1853
- --tds-input-border-color-hover:var(--t-form-border-color-hover);
1854
- --tds-input-background-color:var(--t-form-background-color);
1855
- --tds-input-color:var(--t-form-color);
1856
- --tds-input-font-size:var(--t-font-size-md);
1857
- --tds-input-description-color:var(--t-text-color-secondary);
1858
- --tds-input-description-invalid-icon-display:none;
1859
- --tds-input-min-height:var(--t-container-size-md);
1860
- --tds-input-padding-inline:var(--t-spacing-1);
1706
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1707
+ display:flex;
1708
+ flex-direction:column;
1709
+ }
1861
1710
 
1862
- --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
1711
+ .tds-select{
1712
+ --tds-select-border-color:var(--t-form-border-color);
1713
+ --tds-select-border-color-hover:var(--t-form-border-color-hover);
1714
+ --tds-select-border-color-active:var(--t-form-border-color-hover);
1715
+ --tds-select-background-color:var(--t-form-background-color);
1716
+ --tds-select-color:var(--t-form-color);
1717
+ --tds-select-placeholder-color:var(--t-form-placeholder-color);
1718
+ --tds-select-font-size:var(--t-font-size-md);
1719
+ --tds-select-min-height:var(--t-container-size-md);
1720
+ --tds-select-padding-block:0;
1721
+ --tds-select-description-color:var(--t-text-color-secondary);
1722
+ --tds-select-description-invalid-icon-display:none;
1723
+ --tds-select-transition-property:background-color, border-color, outline-color, outline-offset;
1724
+ --tds-select-background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEzLDZsLTUsNWwtNSwtNXoiIGZpbGw9IiMzRDNEM0QiLz48L3N2Zz4=");
1725
+ --tds-select-caret-size:1em;
1726
+ --tds-select-caret-inline-offset:.75em;
1727
+ --tds-select-caret-transition:transform var(--t-duration-300) var(--t-ease-in-out);
1728
+
1729
+ --tds-select-dropdown-background-color:var(--t-surface-color-card);
1730
+ --tds-select-dropdown-border:1px solid var(--t-border-color);
1731
+ --tds-select-dropdown-padding:var(--t-spacing-1);
1732
+ --tds-select-dropdown-margin-block:5px;
1733
+ --tds-select-dropdown-scrollbar-color:#0004 var(--t-surface-color-card);
1734
+ --tds-select-dropdown-scrollbar-width:thin;
1735
+ --tds-select-dropdown-border-radius:var(--t-border-radius);
1736
+ --tds-select-dropdown-box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
1737
+ --tds-select-dropdown-scroll-behavior:smooth;
1738
+ --tds-select-dropdown-transition:opacity var(--t-duration-300) var(--t-ease-out), translate var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
1739
+ --tds-select-dropdown-closed-opacity:0;
1740
+ --tds-select-dropdown-open-opacity:1;
1741
+ --tds-select-dropdown-closed-translate:0 -8px;
1742
+ --tds-select-dropdown-open-translate:0 0;
1743
+
1744
+ --tds-select-option-gap:var(--t-spacing-1);
1745
+ --tds-select-option-padding-block:var(--t-spacing-fourth);
1746
+ --tds-select-option-padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1747
+ --tds-select-option-font-size:1rem;
1748
+ --tds-select-option-color:var(--t-text-color);
1749
+ --tds-select-option-background-hover:var(--t-fill-color-neutral-070);
1750
+ --tds-select-option-background-active:var(--t-fill-color-button-interaction-ghost-active);
1751
+ --tds-select-option-border-radius:var(--t-border-radius);
1752
+
1753
+ --tds-select-group-label-padding-block-start:var(--t-spacing-2);
1754
+ --tds-select-group-label-padding-block:var(--tds-select-group-label-padding-block-start) var(--t-spacing-1);
1755
+ --tds-select-group-label-padding-inline:var(--t-spacing-1);
1756
+ --tds-select-group-label-font-size:var(--t-font-size-sm);
1757
+ --tds-select-group-label-font-weight:var(--t-font-weight-semibold);
1758
+ --tds-select-group-label-letter-spacing:0;
1759
+ --tds-select-group-label-color:var(--t-text-color-secondary);
1760
+ --tds-select-group-label-color-stuck:var(--t-text-color-headline);
1761
+ --tds-select-group-label-background:var(--tds-select-dropdown-background-color);
1762
+ --tds-select-group-label-transition:color var(--t-duration-200) var(--t-ease-in-out);
1863
1763
 
1764
+ position:relative;
1864
1765
  display:flex;
1865
1766
  flex-direction:column;
1866
1767
  gap:var(--t-spacing-half);
1867
1768
  }
1868
1769
 
1869
- .tds-input label{
1770
+ .tds-select :is(label,.tds-select-label){
1870
1771
  font-size:var(--t-font-size-md);
1871
1772
  font-weight:var(--t-font-weight-normal);
1872
1773
  color:var(--t-text-color);
1774
+ cursor:default;
1873
1775
  }
1874
1776
 
1875
- .tds-input :is(input,textarea){
1777
+ .tds-select :is(select,button){
1778
+ position:relative;
1779
+ place-items:center;
1876
1780
  inline-size:100%;
1877
- block-size:auto;
1878
- min-block-size:var(--tds-input-min-height);
1879
- padding-block:var(--tds-input-padding-block);
1880
- padding-inline:var(--tds-input-padding-inline);
1781
+ min-block-size:var(--tds-select-min-height);
1782
+ padding-block:var(--tds-select-padding-block);
1783
+ padding-inline:var(--t-spacing-1);
1784
+ padding-inline-end:calc(var(--t-spacing-1) + var(--tds-select-caret-size) + .5em);
1881
1785
  font-family:inherit;
1882
- font-size:var(--tds-input-font-size);
1883
- color:var(--tds-input-color);
1786
+ font-size:var(--tds-select-font-size);
1787
+ line-height:1.15;
1788
+ color:var(--tds-select-color);
1789
+ text-align:left;
1884
1790
  -webkit-appearance:none;
1885
1791
  -moz-appearance:none;
1886
1792
  appearance:none;
1793
+ cursor:var(--tds-select-cursor, default);
1887
1794
  outline:var(--t-focus-ring-width) solid transparent;
1795
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
1888
1796
  outline-offset:0;
1889
- background-color:var(--tds-input-background-color);
1890
- border:var(--t-form-border-width) solid var(--tds-input-border-color);
1797
+ background-color:var(--tds-select-background-color);
1798
+ background-image:var(--tds-select-background-image);
1799
+ background-repeat:no-repeat;
1800
+ background-position:right var(--tds-select-caret-inline-offset) top 50%;
1801
+ background-size:var(--tds-select-caret-size);
1802
+ border:var(--t-form-border-width) solid var(--tds-select-border-color);
1891
1803
  border-radius:var(--t-form-border-radius);
1892
1804
  transition-timing-function:var(--t-ease-in-out);
1893
- transition-duration:var(--t-duration-200);
1894
- transition-property:var(--tds-input-transition-property);
1805
+ transition-duration:var(--t-duration-300);
1806
+ transition-property:var(--tds-select-transition-property);
1895
1807
  }
1896
1808
 
1897
- :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
1898
- border-color:var(--tds-input-border-color-hover);
1899
- }
1900
-
1901
- :is(.tds-input :is(input,textarea)):focus{
1902
- outline-color:transparent;
1809
+ :is(.tds-select :is(select,button)):hover:not(:disabled,:focus,:focus-visible,:focus-within,:active,:open){
1810
+ border-color:var(--tds-select-border-color-hover);
1903
1811
  }
1904
1812
 
1905
- :is(.tds-input :is(input,textarea)):focus-visible{
1813
+ :is(.tds-select :is(select,button)):focus{
1906
1814
  outline-color:var(--t-focus-ring-color);
1907
1815
  outline-offset:var(--t-focus-ring-offset);
1908
- border-color:var(--t-form-border-color-focus);
1816
+ border-color:var(--tds-select-border-color-active);
1909
1817
  }
1910
1818
 
1911
- :is(.tds-input :is(input,textarea))::-moz-placeholder{
1912
- color:var(--t-form-placeholder-color);
1913
- -moz-user-select:none;
1914
- user-select:none;
1819
+ :is(.tds-select :is(select,button)):required:invalid,:is(.tds-select :is(select,button)):has(option[hidden][disabled][value=""]:checked){
1820
+ color:var(--tds-select-placeholder-color);
1915
1821
  }
1916
1822
 
1917
- :is(.tds-input :is(input,textarea))::placeholder{
1918
- color:var(--t-form-placeholder-color);
1919
- -webkit-user-select:none;
1920
- -moz-user-select:none;
1921
- user-select:none;
1823
+ .tds-select:has(select:user-invalid,[aria-invalid="true"]),.tds-select.tds-select--invalid{
1824
+ --tds-select-border-color:var(--t-form-border-color-error);
1825
+ --tds-select-border-color-hover:var(--t-form-border-color-error-hover);
1826
+ --tds-select-border-color-active:var(--t-form-border-color-error-hover);
1827
+ --tds-select-background-color:var(--t-form-background-color-error);
1828
+ --tds-select-description-color:var(--t-text-color-status-error);
1829
+ --tds-select-description-invalid-icon-display:inline-block;
1830
+ }
1831
+
1832
+ .tds-select:has(select:required,[aria-required="true"]) :is(label,.tds-select-label)::after{
1833
+ margin-left:.25ch;
1834
+ color:var(--t-text-color-status-error);
1835
+ content:"*";
1836
+ }
1837
+
1838
+ .tds-select:has(:is(select,button[role="combobox"]):is(:disabled,[aria-disabled="true"])){
1839
+ --tds-select-border-color:var(--t-form-border-color-disabled);
1840
+ --tds-select-background-color:var(--t-form-background-color-disabled);
1841
+ --tds-select-color:var(--t-form-color-disabled);
1842
+ --tds-select-cursor:not-allowed;
1843
+ }
1844
+
1845
+ .tds-select:has( > [popover]:popover-open) > button{
1846
+ border-color:var(--tds-select-border-color-active);
1847
+ }
1848
+
1849
+ :is(.tds-select:has( > [popover]:popover-open) > button)::after{
1850
+ transform:rotate(.5turn);
1851
+ }
1852
+
1853
+ .tds-select :is(hr,li[role="separator"]){
1854
+ margin-block:var(--t-spacing-half);
1855
+ color:var(--tds-select-border-color);
1856
+ border:0;
1857
+ border-top:1px solid;
1858
+ }
1859
+
1860
+ .tds-select :is(li[role="option"],option:not([hidden])){
1861
+ display:block;
1862
+ align-content:center;
1863
+ min-height:var(--t-container-size-md);
1864
+ padding-block:var(--tds-select-option-padding-block);
1865
+ padding-inline:var(--tds-select-option-padding-inline);
1866
+ overflow:hidden;
1867
+ text-overflow:ellipsis;
1868
+ font-size:var(--tds-select-option-font-size);
1869
+ line-height:1.15;
1870
+ color:var(--tds-select-option-color);
1871
+ white-space:nowrap;
1872
+ cursor:default;
1873
+ border-radius:var(--tds-select-option-border-radius);
1874
+ }
1875
+
1876
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):focus-visible{
1877
+ outline:0;
1878
+ }
1879
+
1880
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is(:focus,:hover,.tds-select-option--active):not([disabled],[aria-disabled="true"]){
1881
+ background:var(--tds-select-option-background-hover);
1882
+ }
1883
+
1884
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-selected="true"],:checked):not([disabled],[aria-disabled="true"]){
1885
+ background:var(--tds-select-option-background-active);
1922
1886
  }
1923
1887
 
1924
- @media (prefers-reduced-motion: reduce){
1888
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled){
1889
+ color:var(--t-form-color-disabled);
1890
+ cursor:not-allowed;
1891
+ }
1925
1892
 
1926
- .tds-input :is(input,textarea){
1927
- --tds-input-transition-property:none;
1893
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled):is(:focus,:hover){
1894
+ background:transparent;
1895
+ }
1896
+
1897
+ .tds-select :is(li[role="presentation"],legend){
1898
+ position:sticky;
1899
+ inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
1900
+ z-index:1;
1901
+ float:inline-start;
1902
+ inline-size:100%;
1903
+ padding-block:var(--tds-select-group-label-padding-block);
1904
+ padding-inline:var(--tds-select-group-label-padding-inline);
1905
+ container-type:scroll-state;
1906
+ font-size:var(--tds-select-group-label-font-size);
1907
+ font-weight:var(--tds-select-group-label-font-weight);
1908
+ letter-spacing:var(--tds-select-group-label-letter-spacing);
1909
+ background:var(--tds-select-group-label-background);
1910
+ text-box:trim-both cap alphabetic;
1928
1911
  }
1912
+
1913
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
1914
+ display:inline-flex;
1915
+ gap:var(--t-spacing-half);
1916
+ align-items:center;
1917
+ color:var(--tds-select-group-label-color);
1918
+ transition:var(--tds-select-group-label-transition);
1929
1919
  }
1930
1920
 
1931
- .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
1932
- --tds-input-background-color:var(--t-form-background-color-error);
1933
- --tds-input-border-color:var(--t-form-border-color-error);
1934
- --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
1935
- --tds-input-description-color:var(--t-text-color-status-error);
1936
- --tds-input-description-invalid-icon-display:inline-block;
1937
- }
1921
+ @container scroll-state(stuck){
1938
1922
 
1939
- .tds-input:has(:is(input,textarea):required) label::after{
1940
- margin-left:.25ch;
1941
- color:var(--t-text-color-status-error);
1942
- content:"*";
1923
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
1924
+ color:var(--tds-select-group-label-color-stuck);
1943
1925
  }
1944
1926
 
1945
- .tds-input:where(:has(:is(input,textarea):disabled)){
1946
- --tds-input-border-color:var(--t-form-border-color-disabled);
1947
- --tds-input-background-color:var(--t-form-background-color-disabled);
1948
- --tds-input-color:var(--t-form-color-disabled);
1949
- }
1927
+ @media (forced-colors: active){
1950
1928
 
1951
- .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
1952
- cursor:not-allowed;
1929
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
1930
+ color:var(--tds-select-group-label-color-stuck);
1953
1931
  }
1932
+ }
1933
+ }
1954
1934
 
1955
- .tds-input:where(:has(:is(input,textarea)[readonly])){
1956
- --tds-input-border-color:var(--t-form-border-color-readonly);
1957
- --tds-input-background-color:var(--t-form-background-color-readonly);
1935
+ .tds-select.tds-select--lg{
1936
+ --tds-select-min-height:var(--t-container-size-lg);
1937
+ --tds-select-font-size:var(--t-font-size-lg);
1958
1938
  }
1959
1939
 
1960
- .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
1961
- border-color:var(--tds-input-border-color-hover);
1962
- }
1940
+ @media (prefers-reduced-motion: reduce){
1963
1941
 
1964
- .tds-input.tds-input--lg{
1965
- --tds-input-min-height:var(--t-container-size-lg);
1966
- --tds-input-font-size:var(--t-font-size-lg);
1942
+ .tds-select{
1943
+ --tds-select-transition-property:none;
1944
+ --tds-select-dropdown-transition:none;
1945
+ --tds-select-dropdown-scroll-behavior:auto;
1946
+ --tds-select-dropdown-closed-translate:none;
1947
+ --tds-select-dropdown-open-translate:none;
1948
+ --tds-select-caret-transition:none;
1949
+ }
1967
1950
  }
1968
1951
 
1969
- .tds-input-description{
1952
+ .tds-select-description{
1970
1953
  display:flex;
1971
1954
  gap:var(--t-spacing-half);
1972
1955
  align-items:flex-start;
1973
1956
  margin:0;
1974
1957
  font-size:var(--t-font-size-sm);
1975
1958
  line-height:1.35;
1976
- color:var(--tds-input-description-color, var(--t-text-color-secondary));
1959
+ color:var(--tds-select-description-color, var(--t-text-color-secondary));
1977
1960
  cursor:text;
1978
1961
  }
1979
1962
 
1980
- .tds-input-description .tds-input-description-invalid-icon{
1981
- display:var(--tds-input-description-invalid-icon-display, none);
1963
+ .tds-select-description .tds-select-description-invalid-icon{
1964
+ display:var(--tds-select-description-invalid-icon-display, none);
1982
1965
  flex-shrink:0;
1983
1966
  margin-block-start:calc(.5lh - .5em);
1984
1967
  line-height:1.35;
1985
1968
  }
1986
1969
 
1987
- .tds-field{
1988
- --tds-field-border-color:var(--t-form-border-color);
1989
- --tds-field-border-color-hover:var(--t-form-border-color-hover);
1990
- --tds-field-border-color-active:var(--t-form-border-color-focus);
1991
- --tds-field-background-color:var(--t-form-background-color);
1992
- --tds-field-color:var(--t-form-color);
1993
- --tds-field-placeholder-color:var(--t-form-placeholder-color);
1994
- --tds-field-font-size:var(--t-font-size-md);
1995
- --tds-field-min-height:var(--t-container-size-md);
1996
- --tds-field-padding-block:6px;
1997
- --tds-field-padding-inline:var(--t-spacing-1);
1998
- --tds-field-description-color:var(--t-text-color-secondary);
1999
- --tds-field-description-invalid-icon-display:none;
1970
+ .tds-select > .tds-select-hidden-select{
1971
+ position:absolute;
1972
+ inline-size:1px;
1973
+ block-size:1px;
1974
+ padding:0;
1975
+ margin:0;
1976
+ pointer-events:none;
1977
+ opacity:0;
1978
+ }
2000
1979
 
2001
- position:relative;
2002
- display:flex;
2003
- flex-direction:column;
2004
- gap:var(--t-spacing-half);
1980
+ .tds-select:has(> button){
1981
+ anchor-scope:--tds-select-anchor;
2005
1982
  }
2006
1983
 
2007
- .tds-field[data-required] .tds-field-label::after{
2008
- margin-left:.25ch;
2009
- color:var(--t-text-color-status-error);
2010
- content:"*";
1984
+ .tds-select:has( > button) > button{
1985
+ display:block;
1986
+ padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
1987
+ anchor-name:--tds-select-anchor;
1988
+ overflow:hidden;
1989
+ text-overflow:ellipsis;
1990
+ color:var(--tds-select-placeholder-color);
1991
+ white-space:nowrap;
1992
+ background-image:none;
1993
+ transition:background-color var(--t-duration-300) var(--t-ease-in-out), border-color var(--t-duration-300) var(--t-ease-in-out), outline-color var(--t-duration-300) var(--t-ease-in-out), outline-offset var(--t-duration-300) var(--t-ease-in-out), transform var(--t-duration-100) var(--t-ease-in-out);
1994
+ -webkit-tap-highlight-color:transparent;
2011
1995
  }
2012
1996
 
2013
- .tds-field[data-invalid]{
2014
- --tds-field-border-color:var(--t-form-border-color-error);
2015
- --tds-field-border-color-hover:var(--t-form-border-color-error-hover);
2016
- --tds-field-border-color-active:var(--t-form-border-color-error-hover);
2017
- --tds-field-background-color:var(--t-form-background-color-error);
2018
- --tds-field-description-color:var(--t-text-color-status-error);
2019
- --tds-field-description-invalid-icon-display:inline-block;
1997
+ :is(.tds-select:has( > button) > button)::after{
1998
+ position:absolute;
1999
+ inset-block:0;
2000
+ inset-inline-end:var(--tds-select-caret-inline-offset);
2001
+ width:var(--tds-select-caret-size);
2002
+ height:var(--tds-select-caret-size);
2003
+ margin-block:auto;
2004
+ line-height:1;
2005
+ pointer-events:none;
2006
+ content:var(--tds-select-background-image);
2007
+ transform:rotate(0);
2008
+ transition:var(--tds-select-caret-transition);
2009
+ }
2010
+
2011
+ .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
2012
+ color:var(--tds-select-color);
2020
2013
  }
2021
2014
 
2022
- .tds-field[data-disabled]{
2023
- --tds-field-border-color:var(--t-form-border-color-disabled);
2024
- --tds-field-background-color:var(--t-form-background-color-disabled);
2025
- --tds-field-color:var(--t-form-color-disabled);
2026
- --tds-field-placeholder-color:var(--t-form-color-disabled);
2015
+ .tds-select:has( > button) [popover]{
2016
+ inset:auto;
2017
+ inline-size:-moz-max-content;
2018
+ inline-size:max-content;
2019
+ min-inline-size:anchor-size(width);
2020
+ max-inline-size:100vi;
2021
+ max-block-size:min(50vh, 20rem);
2022
+ padding:var(--tds-select-dropdown-padding);
2023
+ margin-block:var(--tds-select-dropdown-margin-block);
2024
+ position-area:block-end span-inline-start;
2025
+ position-anchor:--tds-select-anchor;
2026
+ position-try-fallbacks:flip-block, flip-inline;
2027
+ overflow:auto;
2028
+ overflow-x:hidden;
2029
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
2030
+ overscroll-behavior:none;
2031
+ -webkit-user-select:none;
2032
+ -moz-user-select:none;
2033
+ user-select:none;
2034
+ scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
2035
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
2036
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
2037
+ background:var(--tds-select-dropdown-background-color);
2038
+ border:var(--tds-select-dropdown-border);
2039
+ border-radius:var(--tds-select-dropdown-border-radius);
2040
+ box-shadow:var(--tds-select-dropdown-box-shadow);
2041
+ opacity:var(--tds-select-dropdown-open-opacity);
2042
+ translate:var(--tds-select-dropdown-open-translate);
2043
+ transition:var(--tds-select-dropdown-transition);
2027
2044
  }
2028
2045
 
2029
- .tds-field[data-disabled] .tds-field-control{
2030
- cursor:not-allowed;
2046
+ :is(.tds-select:has( > button) [popover]):not(:popover-open){
2047
+ opacity:var(--tds-select-dropdown-closed-opacity);
2048
+ translate:var(--tds-select-dropdown-closed-translate);
2031
2049
  }
2032
2050
 
2033
- .tds-field--lg{
2034
- --tds-field-min-height:var(--t-container-size-lg);
2035
- --tds-field-font-size:var(--t-font-size-lg);
2036
- }
2037
-
2038
- .tds-field-label{
2039
- font-size:var(--t-font-size-md);
2040
- font-weight:var(--t-font-weight-normal);
2041
- color:var(--t-text-color);
2042
- cursor:default;
2043
- }
2044
-
2045
- .tds-field-control{
2046
- display:flex;
2047
- align-items:center;
2048
- inline-size:100%;
2049
- min-block-size:var(--tds-field-min-height);
2050
- font-family:inherit;
2051
- font-size:var(--tds-field-font-size);
2052
- line-height:1;
2053
- color:var(--tds-field-color);
2054
- -webkit-appearance:none;
2055
- -moz-appearance:none;
2056
- appearance:none;
2057
- cursor:text;
2058
- outline:var(--t-focus-ring-width) solid transparent;
2059
- outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2060
- outline-offset:0;
2061
- background-color:var(--tds-field-background-color);
2062
- border:var(--t-form-border-width) solid var(--tds-field-border-color);
2063
- border-radius:var(--t-form-border-radius);
2064
- transition-timing-function:var(--t-ease-in-out);
2065
- transition-duration:var(--t-duration-200);
2066
- transition-property:background-color, border-color, outline-color, outline-offset;
2067
- }
2068
-
2069
- .tds-field-control[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
2070
- border-color:var(--tds-field-border-color-hover);
2071
- }
2051
+ :is(.tds-select:has( > button) [popover]) ul{
2052
+ padding:0;
2053
+ margin:0;
2054
+ list-style:none;
2055
+ }
2072
2056
 
2073
- .tds-field-control[data-focus-within]{
2074
- outline-color:var(--t-focus-ring-color);
2075
- outline-offset:var(--t-focus-ring-offset);
2076
- border-color:var(--tds-field-border-color-active);
2077
- }
2057
+ @starting-style{
2058
+ :is(.tds-select:has( > button) [popover]):popover-open{
2059
+ opacity:var(--tds-select-dropdown-closed-opacity);
2060
+ translate:var(--tds-select-dropdown-closed-translate);
2061
+ }
2062
+ }
2078
2063
 
2079
- .tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly]){
2080
- --tds-field-border-color:var(--t-form-border-color-readonly);
2081
- --tds-field-border-color-hover:var(--t-form-border-color-readonly);
2082
- --tds-field-background-color:var(--t-form-background-color-readonly);
2083
- color:var(--t-form-color-readonly);
2064
+ @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
2065
+ .tds-select select:has(> button){
2066
+ padding-inline-end:0;
2067
+ background-image:none;
2084
2068
  }
2069
+ @media (hover) and (pointer: fine){
2070
+ :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
2071
+ padding-block:0;
2072
+ -webkit-appearance:base-select;
2073
+ -moz-appearance:base-select;
2074
+ appearance:base-select;
2075
+ }
2076
+ }
2077
+ :is(.tds-select select:has( > button))::picker-icon{
2078
+ flex-shrink:0;
2079
+ width:var(--tds-select-caret-size);
2080
+ height:var(--tds-select-caret-size);
2081
+ margin-inline-end:var(--tds-select-caret-inline-offset);
2082
+ line-height:1;
2083
+ content:var(--tds-select-background-image);
2084
+ transition:var(--tds-select-caret-transition);
2085
+ }
2085
2086
 
2086
- [data-focus-within]:is(.tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly])){
2087
- border-color:var(--t-form-border-color-hover);
2087
+ :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
2088
+ opacity:var(--tds-select-dropdown-closed-opacity);
2089
+ translate:var(--tds-select-dropdown-closed-translate);
2088
2090
  }
2089
2091
 
2090
- .tds-field-description{
2091
- display:flex;
2092
- gap:var(--t-spacing-half);
2093
- align-items:flex-start;
2094
- margin:0;
2095
- font-size:var(--t-font-size-sm);
2096
- line-height:1.35;
2097
- color:var(--tds-field-description-color, var(--t-text-color-secondary));
2098
- cursor:text;
2099
- }
2092
+ :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
2093
+ outline-color:var(--t-focus-ring-color);
2094
+ outline-offset:var(--t-focus-ring-offset);
2095
+ border-color:var(--tds-select-border-color-active);
2096
+ }
2100
2097
 
2101
- .tds-field-description .tds-field-description-invalid-icon{
2102
- display:var(--tds-field-description-invalid-icon-display, none);
2103
- flex-shrink:0;
2104
- margin-block-start:calc(.5lh - .5em);
2105
- line-height:1.35;
2106
- }
2098
+ :is(.tds-select select:has( > button)):open::picker-icon{
2099
+ opacity:1;
2100
+ transform:rotate(.5turn);
2101
+ }
2107
2102
 
2108
- .tds-field-date-segment{
2109
- padding-inline:var(--tds-field-date-segment-padding-inline, 2px);
2110
- text-align:end;
2111
- text-wrap:nowrap;
2112
- caret-color:transparent;
2113
- border-radius:var(--t-border-radius-sm);
2114
- }
2103
+ :is(.tds-select select:has( > button)) selectedcontent{
2104
+ overflow:hidden;
2105
+ text-overflow:ellipsis;
2106
+ line-height:calc(var(--tds-select-min-height) - 2px);
2107
+ white-space:nowrap;
2108
+ }
2115
2109
 
2116
- .tds-field-date-segment[data-placeholder]{
2117
- color:var(--tds-field-placeholder-color);
2118
- }
2110
+ :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
2111
+ color:var(--tds-select-placeholder-color);
2112
+ }
2119
2113
 
2120
- .tds-field-date-segment[data-focused]{
2121
- color:var(--t-text-color-inverted);
2122
- outline:0;
2123
- background-color:var(--t-fill-color-interaction);
2124
- }
2114
+ :is(.tds-select select:has( > button))::picker(select){
2115
+ inset:auto;
2116
+ inline-size:-moz-max-content;
2117
+ inline-size:max-content;
2118
+ min-inline-size:anchor-size(width);
2119
+ max-inline-size:100vi;
2120
+ padding:var(--tds-select-dropdown-padding);
2121
+ margin-block:var(--tds-select-dropdown-margin-block);
2122
+ position-area:block-end span-inline-start;
2123
+ position-try-fallbacks:flip-block, flip-inline;
2124
+ overflow:auto;
2125
+ overflow-x:hidden;
2126
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
2127
+ overscroll-behavior:none;
2128
+ -webkit-user-select:none;
2129
+ -moz-user-select:none;
2130
+ user-select:none;
2131
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
2132
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
2133
+ background:var(--tds-select-dropdown-background-color);
2134
+ border:var(--tds-select-dropdown-border);
2135
+ border-radius:var(--tds-select-dropdown-border-radius);
2136
+ box-shadow:var(--tds-select-dropdown-box-shadow);
2137
+ opacity:var(--tds-select-dropdown-open-opacity);
2138
+ translate:var(--tds-select-dropdown-open-translate);
2139
+ transition:var(--tds-select-dropdown-transition);
2140
+ }
2125
2141
 
2126
- .tds-field-date-segment-separator{
2127
- padding-inline:0;
2128
- color:var(--tds-field-placeholder-color);
2129
- }
2142
+ :is(.tds-select select:has( > button)) option::checkmark{
2143
+ display:none;
2144
+ }
2130
2145
 
2131
- .tds-field-date-segment:not([data-placeholder]) + .tds-field-date-segment-separator{
2132
- color:var(--tds-field-color);
2146
+ @starting-style{
2147
+ :is(.tds-select select:has( > button))::picker(select):popover-open{
2148
+ opacity:var(--tds-select-dropdown-closed-opacity);
2149
+ translate:var(--tds-select-dropdown-closed-translate);
2150
+ }
2151
+ }
2133
2152
  }
2134
2153
 
2135
- .tds-toggle-switch{
2136
- --tds-toggle-switch-font-size:var(--t-font-size-md);
2137
- --tds-toggle-switch-cursor:pointer;
2138
- --tds-toggle-switch-display:inline-grid;
2139
- --tds-toggle-switch-line-height:1.4;
2154
+ .tds-radio{
2155
+ --tds-radio-font-size:var(--t-font-size-md);
2156
+ --tds-radio-cursor:pointer;
2157
+ --tds-radio-line-height:1.4;
2158
+ --tds-radio-transition-property:border-width;
2140
2159
 
2141
- --tds-toggle-switch-label-color:var(--t-form-color);
2160
+ --tds-radio-input-size:var(--t-element-size-md);
2161
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
2162
+ --tds-radio-input-border-color:var(--t-form-border-color);
2163
+ --tds-radio-input-border-width:var(--t-form-border-width);
2164
+ --tds-radio-input-background-color:var(--t-form-background-color);
2142
2165
 
2143
- --tds-toggle-switch-track-width:var(--t-container-size-md);
2144
- --tds-toggle-switch-track-outline:none;
2145
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
2146
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
2147
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
2166
+ --tds-radio-label-color:var(--t-form-color);
2148
2167
 
2149
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
2150
- --tds-toggle-switch-thumb-transform:translateX(0);
2151
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
2168
+ --tds-radio-description-font-size:var(--t-font-size-sm);
2169
+ --tds-radio-description-line-height:1.35;
2170
+ --tds-radio-description-color:var(--t-text-color-secondary);
2152
2171
 
2153
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
2154
- --tds-toggle-switch-description-line-height:1.35;
2155
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2156
2172
  position:relative;
2157
-
2158
- display:var(--tds-toggle-switch-display);
2173
+ display:inline-grid;
2159
2174
  grid-template-columns:auto;
2160
2175
  grid-auto-columns:1fr;
2161
2176
  gap:var(--t-spacing-fourth) 0;
2177
+ line-height:var(--tds-radio-line-height);
2162
2178
  -webkit-user-select:none;
2163
2179
  -moz-user-select:none;
2164
2180
  user-select:none;
2165
2181
  }
2166
2182
 
2167
- .tds-toggle-switch input[type="checkbox"]{
2168
- position:absolute;
2169
- width:var(--tds-toggle-switch-track-width);
2170
- height:var(--tds-toggle-switch-track-height);
2171
- margin:0;
2183
+ .tds-radio label{
2184
+ grid-area:1 / 2;
2185
+ padding-inline-start:var(--t-spacing-1);
2186
+ font-size:var(--tds-radio-font-size);
2187
+ font-weight:var(--t-font-weight-normal);
2188
+ color:var(--tds-radio-label-color);
2189
+ cursor:var(--tds-radio-cursor);
2190
+ }
2191
+
2192
+ .tds-radio input[type="radio"]{
2193
+ position:relative;
2194
+ width:1em;
2195
+ height:1em;
2196
+ margin:calc((1lh - 1em) / 2) 0 0;
2197
+ font-size:var(--tds-radio-font-size);
2198
+ line-height:inherit;
2172
2199
  -webkit-appearance:none;
2173
2200
  -moz-appearance:none;
2174
2201
  appearance:none;
2175
- cursor:var(--tds-toggle-switch-cursor);
2176
- outline:var(--tds-toggle-switch-track-outline);
2177
- outline-offset:var(--t-focus-ring-offset);
2178
- background-color:transparent;
2179
- border:0;
2180
- border-radius:var(--t-border-radius-round);
2202
+ cursor:var(--tds-radio-cursor);
2203
+ background-color:var(--tds-radio-input-background-color);
2204
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
2205
+ border-radius:var(--tds-radio-input-border-radius);
2206
+ transition-timing-function:var(--t-ease-in-out);
2207
+ transition-duration:var(--t-duration-200);
2208
+ transition-property:var(--tds-radio-transition-property);
2181
2209
  }
2182
2210
 
2183
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2184
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2211
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
2212
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2213
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
2185
2214
  }
2186
2215
 
2187
- .tds-toggle-switch label{
2188
- display:inline-flex;
2189
- grid-area:1 / 2;
2190
- padding-inline-start:var(--t-spacing-1);
2191
- margin-top:-.09375em;
2192
- font-size:var(--tds-toggle-switch-font-size);
2193
- font-weight:var(--t-font-weight-normal);
2194
- line-height:var(--tds-toggle-switch-line-height);
2195
- color:var(--tds-toggle-switch-label-color);
2196
- cursor:var(--tds-toggle-switch-cursor);
2197
- }
2216
+ :is(.tds-radio input[type="radio"]):focus-visible{
2217
+ outline:var(--t-focus-ring-outline);
2218
+ outline-offset:var(--t-focus-ring-offset);
2219
+ }
2198
2220
 
2199
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2200
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2201
- }
2221
+ :is(.tds-radio input[type="radio"]):disabled{
2222
+ pointer-events:none;
2223
+ }
2202
2224
 
2203
- .tds-toggle-switch:has(input:checked){
2204
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
2205
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2206
- }
2225
+ @media (prefers-reduced-motion: reduce){
2207
2226
 
2208
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
2209
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2227
+ .tds-radio input[type="radio"]{
2228
+ --tds-radio-transition-property:none;
2229
+ }
2210
2230
  }
2211
2231
 
2212
- .tds-toggle-switch:has(input:disabled){
2213
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
2214
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
2215
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
2216
- --tds-toggle-switch-cursor:not-allowed;
2232
+ .tds-radio:has(input:checked){
2233
+ --tds-radio-input-background-color:var(--t-form-background-color);
2234
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
2235
+ --tds-radio-input-border-width:4px;
2217
2236
  }
2218
2237
 
2219
- .tds-toggle-switch-track{
2220
- position:relative;
2221
- flex-shrink:0;
2222
- width:var(--tds-toggle-switch-track-width);
2223
- height:var(--tds-toggle-switch-track-height);
2224
- background-color:var(--tds-toggle-switch-track-background-color);
2225
- border-radius:var(--t-border-radius-round);
2226
- transition:var(--tds-toggle-switch-track-transition);
2227
- }
2238
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
2239
+ --tds-radio-input-background-color:var(--t-form-background-color);
2240
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2241
+ }
2228
2242
 
2229
- .tds-toggle-switch-track::before{
2230
- position:absolute;
2231
- top:var(--t-spacing-fourth);
2232
- left:var(--t-spacing-fourth);
2233
- width:var(--tds-toggle-switch-thumb-size);
2234
- height:var(--tds-toggle-switch-thumb-size);
2235
- content:"";
2236
- background-color:#fff;
2237
- border-radius:var(--t-border-radius-round);
2238
- transform:var(--tds-toggle-switch-thumb-transform);
2239
- transition:var(--tds-toggle-switch-thumb-transition);
2243
+ .tds-radio:has(input:user-invalid){
2244
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
2240
2245
  }
2241
2246
 
2242
- @media (prefers-reduced-motion: reduce){
2247
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
2248
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2249
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
2250
+ }
2251
+
2252
+ .tds-radio:has(input:disabled){
2253
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
2254
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2243
2255
 
2244
- .tds-toggle-switch-track{
2245
- --tds-toggle-switch-track-transition:none;
2246
- --tds-toggle-switch-thumb-transition:none;
2247
- }
2256
+ --tds-radio-label-color:var(--t-form-color-disabled);
2257
+ --tds-radio-description-color:var(--t-form-color-disabled);
2258
+ --tds-radio-cursor:not-allowed;
2248
2259
  }
2249
2260
 
2250
- .tds-toggle-switch-description{
2261
+ .tds-radio:has(input:disabled) input:checked{
2262
+ --tds-radio-input-background-color:var(--t-form-background-color);
2263
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2264
+ }
2265
+
2266
+ .tds-radio-description{
2251
2267
  display:flex;
2252
2268
  grid-area:2 / 2;
2269
+ gap:var(--t-spacing-half);
2253
2270
  align-items:flex-start;
2254
2271
  padding-inline-start:var(--t-spacing-1);
2255
2272
  margin:0;
2256
- font-size:var(--tds-toggle-switch-description-font-size);
2257
- line-height:var(--tds-toggle-switch-description-line-height);
2258
- color:var(--tds-toggle-switch-description-color);
2273
+ font-size:var(--tds-radio-description-font-size);
2274
+ line-height:var(--tds-radio-description-line-height);
2275
+ color:var(--tds-radio-description-color);
2259
2276
  cursor:text;
2260
2277
  }
2261
2278
 
2262
- .tds-toggle-switch--sm{
2263
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
2264
- --tds-toggle-switch-line-height:1.35;
2265
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
2266
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2267
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2268
- --tds-toggle-switch-description-line-height:1.3;
2269
- }
2270
-
2271
- .tds-toggle-switch--hide-label{
2272
- --tds-toggle-switch-display:inline-flex;
2279
+ .tds-radio--sm{
2280
+ --tds-radio-line-height:1.35;
2281
+ --tds-radio-input-size:var(--t-element-size-sm);
2282
+ --tds-radio-font-size:var(--t-font-size-sm);
2283
+ --tds-radio-description-font-size:var(--t-font-size-xs);
2284
+ --tds-radio-description-line-height:1.3;
2273
2285
  }
2274
2286
 
2275
- .tds-select{
2276
- --tds-select-border-color:var(--t-form-border-color);
2277
- --tds-select-border-color-hover:var(--t-form-border-color-hover);
2278
- --tds-select-border-color-active:var(--t-form-border-color-hover);
2279
- --tds-select-background-color:var(--t-form-background-color);
2280
- --tds-select-color:var(--t-form-color);
2281
- --tds-select-placeholder-color:var(--t-form-placeholder-color);
2282
- --tds-select-font-size:var(--t-font-size-md);
2283
- --tds-select-min-height:var(--t-container-size-md);
2284
- --tds-select-padding-block:0;
2285
- --tds-select-description-color:var(--t-text-color-secondary);
2286
- --tds-select-description-invalid-icon-display:none;
2287
- --tds-select-transition-property:background-color, border-color, outline-color, outline-offset;
2288
- --tds-select-background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEzLDZsLTUsNWwtNSwtNXoiIGZpbGw9IiMzRDNEM0QiLz48L3N2Zz4=");
2289
- --tds-select-caret-size:1em;
2290
- --tds-select-caret-inline-offset:.75em;
2291
- --tds-select-caret-transition:transform var(--t-duration-300) var(--t-ease-in-out);
2292
-
2293
- --tds-select-dropdown-background-color:var(--t-surface-color-card);
2294
- --tds-select-dropdown-border:1px solid var(--t-border-color);
2295
- --tds-select-dropdown-padding:var(--t-spacing-1);
2296
- --tds-select-dropdown-margin-block:5px;
2297
- --tds-select-dropdown-scrollbar-color:#0004 #0000;
2298
- --tds-select-dropdown-scrollbar-width:thin;
2299
- --tds-select-dropdown-border-radius:var(--t-border-radius);
2300
- --tds-select-dropdown-box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
2301
- --tds-select-dropdown-scroll-behavior:smooth;
2302
- --tds-select-dropdown-transition:opacity var(--t-duration-300) var(--t-ease-out), translate var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
2303
- --tds-select-dropdown-closed-opacity:0;
2304
- --tds-select-dropdown-open-opacity:1;
2305
- --tds-select-dropdown-closed-translate:0 -8px;
2306
- --tds-select-dropdown-open-translate:0 0;
2307
-
2308
- --tds-select-option-gap:var(--t-spacing-1);
2309
- --tds-select-option-padding-block:var(--t-spacing-1);
2310
- --tds-select-option-padding-inline:var(--t-spacing-2) var(--t-spacing-1);
2311
- --tds-select-option-font-size:1rem;
2312
- --tds-select-option-color:var(--t-text-color);
2313
- --tds-select-option-background-hover:var(--t-fill-color-neutral-070);
2314
- --tds-select-option-background-active:var(--t-fill-color-button-interaction-ghost-active);
2315
- --tds-select-option-border-radius:var(--t-border-radius);
2287
+ .tds-input{
2288
+ --tds-input-border-color:var(--t-form-border-color);
2289
+ --tds-input-border-color-hover:var(--t-form-border-color-hover);
2290
+ --tds-input-background-color:var(--t-form-background-color);
2291
+ --tds-input-color:var(--t-form-color);
2292
+ --tds-input-font-size:var(--t-font-size-md);
2293
+ --tds-input-description-color:var(--t-text-color-secondary);
2294
+ --tds-input-description-invalid-icon-display:none;
2295
+ --tds-input-min-height:var(--t-container-size-md);
2296
+ --tds-input-padding-inline:var(--t-spacing-1);
2316
2297
 
2317
- --tds-select-group-label-padding-block-start:var(--t-spacing-2);
2318
- --tds-select-group-label-padding-block:var(--tds-select-group-label-padding-block-start) var(--t-spacing-1);
2319
- --tds-select-group-label-padding-inline:var(--t-spacing-1);
2320
- --tds-select-group-label-font-size:var(--t-font-size-sm);
2321
- --tds-select-group-label-font-weight:var(--t-font-weight-semibold);
2322
- --tds-select-group-label-letter-spacing:0;
2323
- --tds-select-group-label-color:var(--t-text-color-secondary);
2324
- --tds-select-group-label-color-stuck:var(--t-text-color-headline);
2325
- --tds-select-group-label-background:var(--tds-select-dropdown-background-color);
2326
- --tds-select-group-label-transition:color var(--t-duration-200) var(--t-ease-in-out);
2298
+ --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
2327
2299
 
2328
- position:relative;
2329
2300
  display:flex;
2330
2301
  flex-direction:column;
2331
2302
  gap:var(--t-spacing-half);
2332
2303
  }
2333
2304
 
2334
- .tds-select :is(label,.tds-select-label){
2305
+ .tds-input label{
2335
2306
  font-size:var(--t-font-size-md);
2336
2307
  font-weight:var(--t-font-weight-normal);
2337
2308
  color:var(--t-text-color);
2338
- cursor:default;
2339
2309
  }
2340
2310
 
2341
- .tds-select :is(select,button){
2342
- position:relative;
2343
- place-items:center;
2311
+ .tds-input :is(input,textarea){
2344
2312
  inline-size:100%;
2345
- min-block-size:var(--tds-select-min-height);
2346
- padding-block:var(--tds-select-padding-block);
2347
- padding-inline:var(--t-spacing-1);
2348
- padding-inline-end:calc(var(--t-spacing-1) + var(--tds-select-caret-size) + .5em);
2313
+ block-size:auto;
2314
+ min-block-size:var(--tds-input-min-height);
2315
+ padding-block:var(--tds-input-padding-block);
2316
+ padding-inline:var(--tds-input-padding-inline);
2349
2317
  font-family:inherit;
2350
- font-size:var(--tds-select-font-size);
2351
- line-height:1.15;
2352
- color:var(--tds-select-color);
2353
- text-align:left;
2318
+ font-size:var(--tds-input-font-size);
2319
+ color:var(--tds-input-color);
2354
2320
  -webkit-appearance:none;
2355
2321
  -moz-appearance:none;
2356
2322
  appearance:none;
2357
- cursor:var(--tds-select-cursor, default);
2358
2323
  outline:var(--t-focus-ring-width) solid transparent;
2324
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2359
2325
  outline-offset:0;
2360
- background-color:var(--tds-select-background-color);
2361
- background-image:var(--tds-select-background-image);
2362
- background-repeat:no-repeat;
2363
- background-position:right var(--tds-select-caret-inline-offset) top 50%;
2364
- background-size:var(--tds-select-caret-size);
2365
- border:var(--t-form-border-width) solid var(--tds-select-border-color);
2326
+ background-color:var(--tds-input-background-color);
2327
+ border:var(--t-form-border-width) solid var(--tds-input-border-color);
2366
2328
  border-radius:var(--t-form-border-radius);
2367
2329
  transition-timing-function:var(--t-ease-in-out);
2368
- transition-duration:var(--t-duration-300);
2369
- transition-property:var(--tds-select-transition-property);
2330
+ transition-duration:var(--t-duration-200);
2331
+ transition-property:var(--tds-input-transition-property);
2370
2332
  }
2371
2333
 
2372
- :is(.tds-select :is(select,button)):hover:not(:disabled,:focus,:focus-visible,:focus-within,:active,:open){
2373
- border-color:var(--tds-select-border-color-hover);
2334
+ :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
2335
+ border-color:var(--tds-input-border-color-hover);
2374
2336
  }
2375
2337
 
2376
- :is(.tds-select :is(select,button)):focus{
2338
+ :is(.tds-input :is(input,textarea)):focus{
2339
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2340
+ }
2341
+
2342
+ :is(.tds-input :is(input,textarea)):focus-visible{
2377
2343
  outline-color:var(--t-focus-ring-color);
2378
2344
  outline-offset:var(--t-focus-ring-offset);
2379
- border-color:var(--tds-select-border-color-active);
2345
+ border-color:var(--t-form-border-color-focus);
2380
2346
  }
2381
2347
 
2382
- :is(.tds-select :is(select,button)):required:invalid,:is(.tds-select :is(select,button)):has(option[hidden][disabled][value=""]:checked){
2383
- color:var(--tds-select-placeholder-color);
2348
+ :is(.tds-input :is(input,textarea))::-moz-placeholder{
2349
+ color:var(--t-form-placeholder-color);
2350
+ -moz-user-select:none;
2351
+ user-select:none;
2384
2352
  }
2385
2353
 
2386
- .tds-select:has(select:user-invalid,[aria-invalid="true"]),.tds-select.tds-select--invalid{
2387
- --tds-select-border-color:var(--t-form-border-color-error);
2388
- --tds-select-border-color-hover:var(--t-form-border-color-error-hover);
2389
- --tds-select-border-color-active:var(--t-form-border-color-error-hover);
2390
- --tds-select-background-color:var(--t-form-background-color-error);
2391
- --tds-select-description-color:var(--t-text-color-status-error);
2392
- --tds-select-description-invalid-icon-display:inline-block;
2354
+ :is(.tds-input :is(input,textarea))::placeholder{
2355
+ color:var(--t-form-placeholder-color);
2356
+ -webkit-user-select:none;
2357
+ -moz-user-select:none;
2358
+ user-select:none;
2359
+ }
2360
+
2361
+ @media (prefers-reduced-motion: reduce){
2362
+
2363
+ .tds-input :is(input,textarea){
2364
+ --tds-input-transition-property:none;
2393
2365
  }
2366
+ }
2394
2367
 
2395
- .tds-select:has(select:required,[aria-required="true"]) :is(label,.tds-select-label)::after{
2368
+ .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
2369
+ --tds-input-background-color:var(--t-form-background-color-error);
2370
+ --tds-input-border-color:var(--t-form-border-color-error);
2371
+ --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
2372
+ --tds-input-description-color:var(--t-text-color-status-error);
2373
+ --tds-input-description-invalid-icon-display:inline-block;
2374
+ }
2375
+
2376
+ .tds-input:has(:is(input,textarea):required) label::after{
2396
2377
  margin-left:.25ch;
2397
2378
  color:var(--t-text-color-status-error);
2398
2379
  content:"*";
2399
2380
  }
2400
2381
 
2401
- .tds-select:has(:is(select,button[role="combobox"]):is(:disabled,[aria-disabled="true"])){
2402
- --tds-select-border-color:var(--t-form-border-color-disabled);
2403
- --tds-select-background-color:var(--t-form-background-color-disabled);
2404
- --tds-select-color:var(--t-form-color-disabled);
2405
- --tds-select-cursor:not-allowed;
2406
- }
2407
-
2408
- .tds-select:has( > [popover]:popover-open) > button{
2409
- border-color:var(--tds-select-border-color-active);
2382
+ .tds-input:where(:has(:is(input,textarea):disabled)){
2383
+ --tds-input-border-color:var(--t-form-border-color-disabled);
2384
+ --tds-input-background-color:var(--t-form-background-color-disabled);
2385
+ --tds-input-color:var(--t-form-color-disabled);
2410
2386
  }
2411
2387
 
2412
- :is(.tds-select:has( > [popover]:popover-open) > button)::after{
2413
- transform:rotate(.5turn);
2388
+ .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
2389
+ cursor:not-allowed;
2414
2390
  }
2415
2391
 
2416
- .tds-select :is(hr,li[role="separator"]){
2417
- margin-block:var(--t-spacing-half);
2418
- color:var(--tds-select-border-color);
2419
- border:0;
2420
- border-top:1px solid;
2421
- }
2422
-
2423
- .tds-select :is(li[role="option"],option:not([hidden])){
2424
- display:block;
2425
- padding-block:var(--tds-select-option-padding-block);
2426
- padding-inline:var(--tds-select-option-padding-inline);
2427
- overflow:hidden;
2428
- text-overflow:ellipsis;
2429
- font-size:var(--tds-select-option-font-size);
2430
- line-height:1;
2431
- color:var(--tds-select-option-color);
2432
- white-space:nowrap;
2433
- cursor:default;
2434
- border-radius:var(--tds-select-option-border-radius);
2392
+ .tds-input:where(:has(:is(input,textarea)[readonly])){
2393
+ --tds-input-border-color:var(--t-form-border-color-readonly);
2394
+ --tds-input-background-color:var(--t-form-background-color-readonly);
2435
2395
  }
2436
2396
 
2437
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):focus-visible{
2438
- outline:0;
2397
+ .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
2398
+ border-color:var(--tds-input-border-color-hover);
2439
2399
  }
2440
2400
 
2441
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is(:focus,:hover,.tds-select-option--active):not([disabled],[aria-disabled="true"]){
2442
- background:var(--tds-select-option-background-hover);
2443
- }
2401
+ .tds-input.tds-input--lg{
2402
+ --tds-input-min-height:var(--t-container-size-lg);
2403
+ --tds-input-font-size:var(--t-font-size-lg);
2404
+ }
2444
2405
 
2445
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-selected="true"],:checked):not([disabled],[aria-disabled="true"]){
2446
- background:var(--tds-select-option-background-active);
2447
- }
2406
+ .tds-input-description{
2407
+ display:flex;
2408
+ gap:var(--t-spacing-half);
2409
+ align-items:flex-start;
2410
+ margin:0;
2411
+ font-size:var(--t-font-size-sm);
2412
+ line-height:1.35;
2413
+ color:var(--tds-input-description-color, var(--t-text-color-secondary));
2414
+ cursor:text;
2415
+ }
2416
+
2417
+ .tds-input-description .tds-input-description-invalid-icon{
2418
+ display:var(--tds-input-description-invalid-icon-display, none);
2419
+ flex-shrink:0;
2420
+ margin-block-start:calc(.5lh - .5em);
2421
+ line-height:1.35;
2422
+ }
2448
2423
 
2449
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled){
2450
- color:var(--t-form-color-disabled);
2451
- cursor:not-allowed;
2452
- }
2424
+ .tds-field{
2425
+ --tds-field-border-color:var(--t-form-border-color);
2426
+ --tds-field-border-color-hover:var(--t-form-border-color-hover);
2427
+ --tds-field-border-color-active:var(--t-form-border-color-focus);
2428
+ --tds-field-background-color:var(--t-form-background-color);
2429
+ --tds-field-color:var(--t-form-color);
2430
+ --tds-field-placeholder-color:var(--t-form-placeholder-color);
2431
+ --tds-field-font-size:var(--t-font-size-md);
2432
+ --tds-field-min-height:var(--t-container-size-md);
2433
+ --tds-field-padding-block:6px;
2434
+ --tds-field-padding-inline:var(--t-spacing-1);
2435
+ --tds-field-description-color:var(--t-text-color-secondary);
2436
+ --tds-field-description-invalid-icon-display:none;
2453
2437
 
2454
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled):is(:focus,:hover){
2455
- background:transparent;
2456
- }
2438
+ position:relative;
2439
+ display:flex;
2440
+ flex-direction:column;
2441
+ gap:var(--t-spacing-half);
2442
+ }
2457
2443
 
2458
- .tds-select :is(li[role="presentation"],legend){
2459
- position:sticky;
2460
- inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
2461
- z-index:1;
2462
- float:inline-start;
2463
- inline-size:100%;
2464
- padding-block:var(--tds-select-group-label-padding-block);
2465
- padding-inline:var(--tds-select-group-label-padding-inline);
2466
- container-type:scroll-state;
2467
- font-size:var(--tds-select-group-label-font-size);
2468
- font-weight:var(--tds-select-group-label-font-weight);
2469
- letter-spacing:var(--tds-select-group-label-letter-spacing);
2470
- background:var(--tds-select-group-label-background);
2471
- text-box:trim-both cap alphabetic;
2444
+ .tds-field[data-required] .tds-field-label::after{
2445
+ margin-left:.25ch;
2446
+ color:var(--t-text-color-status-error);
2447
+ content:"*";
2472
2448
  }
2473
2449
 
2474
- :is(.tds-select :is(li[role="presentation"],legend)) span{
2475
- display:inline-flex;
2476
- gap:var(--t-spacing-half);
2477
- align-items:center;
2478
- color:var(--tds-select-group-label-color);
2479
- transition:var(--tds-select-group-label-transition);
2480
- }
2450
+ .tds-field[data-invalid]{
2451
+ --tds-field-border-color:var(--t-form-border-color-error);
2452
+ --tds-field-border-color-hover:var(--t-form-border-color-error-hover);
2453
+ --tds-field-border-color-active:var(--t-form-border-color-error-hover);
2454
+ --tds-field-background-color:var(--t-form-background-color-error);
2455
+ --tds-field-description-color:var(--t-text-color-status-error);
2456
+ --tds-field-description-invalid-icon-display:inline-block;
2457
+ }
2481
2458
 
2482
- @container scroll-state(stuck){
2459
+ .tds-field[data-disabled]{
2460
+ --tds-field-border-color:var(--t-form-border-color-disabled);
2461
+ --tds-field-background-color:var(--t-form-background-color-disabled);
2462
+ --tds-field-color:var(--t-form-color-disabled);
2463
+ --tds-field-placeholder-color:var(--t-form-color-disabled);
2464
+ }
2483
2465
 
2484
- :is(.tds-select :is(li[role="presentation"],legend)) span{
2485
- color:var(--tds-select-group-label-color-stuck);
2466
+ .tds-field[data-disabled] .tds-field-control{
2467
+ cursor:not-allowed;
2486
2468
  }
2487
2469
 
2488
- @media (forced-colors: active){
2470
+ .tds-field--lg{
2471
+ --tds-field-min-height:var(--t-container-size-lg);
2472
+ --tds-field-font-size:var(--t-font-size-lg);
2473
+ }
2489
2474
 
2490
- :is(.tds-select :is(li[role="presentation"],legend)) span{
2491
- color:var(--tds-select-group-label-color-stuck);
2492
- }
2493
- }
2494
- }
2475
+ .tds-field-label{
2476
+ font-size:var(--t-font-size-md);
2477
+ font-weight:var(--t-font-weight-normal);
2478
+ color:var(--t-text-color);
2479
+ cursor:default;
2480
+ }
2495
2481
 
2496
- .tds-select.tds-select--lg{
2497
- --tds-select-min-height:var(--t-container-size-lg);
2498
- --tds-select-font-size:var(--t-font-size-lg);
2482
+ .tds-field-control{
2483
+ display:flex;
2484
+ align-items:center;
2485
+ inline-size:100%;
2486
+ min-block-size:var(--tds-field-min-height);
2487
+ font-family:inherit;
2488
+ font-size:var(--tds-field-font-size);
2489
+ line-height:1;
2490
+ color:var(--tds-field-color);
2491
+ -webkit-appearance:none;
2492
+ -moz-appearance:none;
2493
+ appearance:none;
2494
+ cursor:text;
2495
+ outline:var(--t-focus-ring-width) solid transparent;
2496
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2497
+ outline-offset:0;
2498
+ background-color:var(--tds-field-background-color);
2499
+ border:var(--t-form-border-width) solid var(--tds-field-border-color);
2500
+ border-radius:var(--t-form-border-radius);
2501
+ transition-timing-function:var(--t-ease-in-out);
2502
+ transition-duration:var(--t-duration-200);
2503
+ transition-property:background-color, border-color, outline-color, outline-offset;
2504
+ }
2505
+
2506
+ .tds-field-control[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
2507
+ border-color:var(--tds-field-border-color-hover);
2499
2508
  }
2500
2509
 
2501
- @media (prefers-reduced-motion: reduce){
2510
+ .tds-field-control[data-focus-within]{
2511
+ outline-color:var(--t-focus-ring-color);
2512
+ outline-offset:var(--t-focus-ring-offset);
2513
+ border-color:var(--tds-field-border-color-active);
2514
+ }
2502
2515
 
2503
- .tds-select{
2504
- --tds-select-transition-property:none;
2505
- --tds-select-dropdown-transition:none;
2506
- --tds-select-dropdown-scroll-behavior:auto;
2507
- --tds-select-dropdown-closed-translate:none;
2508
- --tds-select-dropdown-open-translate:none;
2509
- --tds-select-caret-transition:none;
2510
- }
2516
+ .tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly]){
2517
+ --tds-field-border-color:var(--t-form-border-color-readonly);
2518
+ --tds-field-border-color-hover:var(--t-form-border-color-readonly);
2519
+ --tds-field-background-color:var(--t-form-background-color-readonly);
2520
+ color:var(--t-form-color-readonly);
2511
2521
  }
2512
2522
 
2513
- .tds-select-description{
2523
+ [data-focus-within]:is(.tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly])){
2524
+ border-color:var(--t-form-border-color-hover);
2525
+ }
2526
+
2527
+ .tds-field-description{
2514
2528
  display:flex;
2515
2529
  gap:var(--t-spacing-half);
2516
2530
  align-items:flex-start;
2517
2531
  margin:0;
2518
2532
  font-size:var(--t-font-size-sm);
2519
2533
  line-height:1.35;
2520
- color:var(--tds-select-description-color, var(--t-text-color-secondary));
2534
+ color:var(--tds-field-description-color, var(--t-text-color-secondary));
2521
2535
  cursor:text;
2522
2536
  }
2523
2537
 
2524
- .tds-select-description .tds-select-description-invalid-icon{
2525
- display:var(--tds-select-description-invalid-icon-display, none);
2538
+ .tds-field-description .tds-field-description-invalid-icon{
2539
+ display:var(--tds-field-description-invalid-icon-display, none);
2526
2540
  flex-shrink:0;
2527
2541
  margin-block-start:calc(.5lh - .5em);
2528
2542
  line-height:1.35;
2529
2543
  }
2530
2544
 
2531
- .tds-select > .tds-select-hidden-select{
2532
- position:absolute;
2533
- inline-size:1px;
2534
- block-size:1px;
2535
- padding:0;
2536
- margin:0;
2537
- pointer-events:none;
2538
- opacity:0;
2545
+ .tds-field-date-segment{
2546
+ padding-inline:var(--tds-field-date-segment-padding-inline, 2px);
2547
+ text-align:end;
2548
+ text-wrap:nowrap;
2549
+ caret-color:transparent;
2550
+ border-radius:var(--t-border-radius-sm);
2539
2551
  }
2540
2552
 
2541
- .tds-select:has(> button){
2542
- anchor-scope:--tds-select-anchor;
2553
+ .tds-field-date-segment[data-placeholder]{
2554
+ color:var(--tds-field-placeholder-color);
2555
+ }
2556
+
2557
+ .tds-field-date-segment[data-focused]{
2558
+ color:var(--t-text-color-inverted);
2559
+ outline:0;
2560
+ background-color:var(--t-fill-color-interaction);
2561
+ }
2562
+
2563
+ .tds-field-date-segment-separator{
2564
+ padding-inline:0;
2565
+ color:var(--tds-field-placeholder-color);
2543
2566
  }
2544
2567
 
2545
- .tds-select:has( > button) > button{
2546
- display:block;
2547
- padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
2548
- anchor-name:--tds-select-anchor;
2549
- overflow:hidden;
2550
- text-overflow:ellipsis;
2551
- color:var(--tds-select-placeholder-color);
2552
- white-space:nowrap;
2553
- background-image:none;
2554
- transition:background-color var(--t-duration-300) var(--t-ease-in-out), border-color var(--t-duration-300) var(--t-ease-in-out), outline-color var(--t-duration-300) var(--t-ease-in-out), outline-offset var(--t-duration-300) var(--t-ease-in-out), transform var(--t-duration-100) var(--t-ease-in-out);
2555
- -webkit-tap-highlight-color:transparent;
2568
+ .tds-field-date-segment:not([data-placeholder]) + .tds-field-date-segment-separator{
2569
+ color:var(--tds-field-color);
2570
+ }
2571
+
2572
+ .tds-time-field-input{
2573
+ --tds-field-date-segment-padding-inline:1px;
2574
+ padding-block:var(--tds-field-padding-block);
2575
+ padding-inline:var(--tds-field-padding-inline);
2576
+ font-variant-numeric:tabular-nums;
2577
+ }
2578
+
2579
+ .tds-toggle-switch{
2580
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
2581
+ --tds-toggle-switch-cursor:pointer;
2582
+ --tds-toggle-switch-display:inline-grid;
2583
+ --tds-toggle-switch-line-height:1.4;
2584
+
2585
+ --tds-toggle-switch-label-color:var(--t-form-color);
2586
+
2587
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
2588
+ --tds-toggle-switch-track-outline:none;
2589
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
2590
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
2591
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
2592
+
2593
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
2594
+ --tds-toggle-switch-thumb-transform:translateX(0);
2595
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
2596
+
2597
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
2598
+ --tds-toggle-switch-description-line-height:1.35;
2599
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2600
+ position:relative;
2601
+
2602
+ display:var(--tds-toggle-switch-display);
2603
+ grid-template-columns:auto;
2604
+ grid-auto-columns:1fr;
2605
+ gap:var(--t-spacing-fourth) 0;
2606
+ -webkit-user-select:none;
2607
+ -moz-user-select:none;
2608
+ user-select:none;
2609
+ }
2610
+
2611
+ .tds-toggle-switch input[type="checkbox"]{
2612
+ position:absolute;
2613
+ width:var(--tds-toggle-switch-track-width);
2614
+ height:var(--tds-toggle-switch-track-height);
2615
+ margin:0;
2616
+ -webkit-appearance:none;
2617
+ -moz-appearance:none;
2618
+ appearance:none;
2619
+ cursor:var(--tds-toggle-switch-cursor);
2620
+ outline:var(--tds-toggle-switch-track-outline);
2621
+ outline-offset:var(--t-focus-ring-offset);
2622
+ background-color:transparent;
2623
+ border:0;
2624
+ border-radius:var(--t-border-radius-round);
2556
2625
  }
2557
2626
 
2558
- :is(.tds-select:has( > button) > button)::after{
2559
- position:absolute;
2560
- inset-block:0;
2561
- inset-inline-end:var(--tds-select-caret-inline-offset);
2562
- width:var(--tds-select-caret-size);
2563
- height:var(--tds-select-caret-size);
2564
- margin-block:auto;
2565
- line-height:1;
2566
- pointer-events:none;
2567
- content:var(--tds-select-background-image);
2568
- transform:rotate(0);
2569
- transition:var(--tds-select-caret-transition);
2627
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2628
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2570
2629
  }
2571
2630
 
2572
- .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
2573
- color:var(--tds-select-color);
2631
+ .tds-toggle-switch label{
2632
+ display:inline-flex;
2633
+ grid-area:1 / 2;
2634
+ padding-inline-start:var(--t-spacing-1);
2635
+ margin-top:-.09375em;
2636
+ font-size:var(--tds-toggle-switch-font-size);
2637
+ font-weight:var(--t-font-weight-normal);
2638
+ line-height:var(--tds-toggle-switch-line-height);
2639
+ color:var(--tds-toggle-switch-label-color);
2640
+ cursor:var(--tds-toggle-switch-cursor);
2574
2641
  }
2575
2642
 
2576
- .tds-select:has( > button) [popover]{
2577
- inset:auto;
2578
- inline-size:-moz-max-content;
2579
- inline-size:max-content;
2580
- min-inline-size:anchor-size(width);
2581
- max-inline-size:100vi;
2582
- max-block-size:min(50vh, 20rem);
2583
- padding:var(--tds-select-dropdown-padding);
2584
- margin-block:var(--tds-select-dropdown-margin-block);
2585
- position-area:block-end span-inline-start;
2586
- position-anchor:--tds-select-anchor;
2587
- position-try-fallbacks:flip-block, flip-inline;
2588
- overflow:auto;
2589
- overflow-x:hidden;
2590
- scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
2591
- overscroll-behavior:none;
2592
- -webkit-user-select:none;
2593
- -moz-user-select:none;
2594
- user-select:none;
2595
- scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
2596
- scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
2597
- scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
2598
- background:var(--tds-select-dropdown-background-color);
2599
- border:var(--tds-select-dropdown-border);
2600
- border-radius:var(--tds-select-dropdown-border-radius);
2601
- box-shadow:var(--tds-select-dropdown-box-shadow);
2602
- opacity:var(--tds-select-dropdown-open-opacity);
2603
- translate:var(--tds-select-dropdown-open-translate);
2604
- transition:var(--tds-select-dropdown-transition);
2643
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2644
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2605
2645
  }
2606
2646
 
2607
- :is(.tds-select:has( > button) [popover]):not(:popover-open){
2608
- opacity:var(--tds-select-dropdown-closed-opacity);
2609
- translate:var(--tds-select-dropdown-closed-translate);
2610
- }
2611
-
2612
- :is(.tds-select:has( > button) [popover]) ul{
2613
- padding:0;
2614
- margin:0;
2615
- list-style:none;
2616
- }
2647
+ .tds-toggle-switch:has(input:checked){
2648
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
2649
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2650
+ }
2617
2651
 
2618
- @starting-style{
2619
- :is(.tds-select:has( > button) [popover]):popover-open{
2620
- opacity:var(--tds-select-dropdown-closed-opacity);
2621
- translate:var(--tds-select-dropdown-closed-translate);
2622
- }
2652
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
2653
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2623
2654
  }
2624
2655
 
2625
- @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
2626
- .tds-select select:has(> button){
2627
- padding-inline-end:0;
2628
- background-image:none;
2656
+ .tds-toggle-switch:has(input:disabled){
2657
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
2658
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
2659
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
2660
+ --tds-toggle-switch-cursor:not-allowed;
2629
2661
  }
2630
- @media (hover) and (pointer: fine){
2631
- :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
2632
- padding-block:0;
2633
- -webkit-appearance:base-select;
2634
- -moz-appearance:base-select;
2635
- appearance:base-select;
2636
- }
2637
- }
2638
- :is(.tds-select select:has( > button))::picker-icon{
2639
- flex-shrink:0;
2640
- width:var(--tds-select-caret-size);
2641
- height:var(--tds-select-caret-size);
2642
- margin-inline-end:var(--tds-select-caret-inline-offset);
2643
- line-height:1;
2644
- content:var(--tds-select-background-image);
2645
- transition:var(--tds-select-caret-transition);
2646
- }
2647
-
2648
- :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
2649
- opacity:var(--tds-select-dropdown-closed-opacity);
2650
- translate:var(--tds-select-dropdown-closed-translate);
2651
- }
2652
2662
 
2653
- :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
2654
- outline-color:var(--t-focus-ring-color);
2655
- outline-offset:var(--t-focus-ring-offset);
2656
- border-color:var(--tds-select-border-color-active);
2657
- }
2663
+ .tds-toggle-switch-track{
2664
+ position:relative;
2665
+ flex-shrink:0;
2666
+ width:var(--tds-toggle-switch-track-width);
2667
+ height:var(--tds-toggle-switch-track-height);
2668
+ background-color:var(--tds-toggle-switch-track-background-color);
2669
+ border-radius:var(--t-border-radius-round);
2670
+ transition:var(--tds-toggle-switch-track-transition);
2671
+ }
2658
2672
 
2659
- :is(.tds-select select:has( > button)):open::picker-icon{
2660
- opacity:1;
2661
- transform:rotate(.5turn);
2662
- }
2673
+ .tds-toggle-switch-track::before{
2674
+ position:absolute;
2675
+ top:var(--t-spacing-fourth);
2676
+ left:var(--t-spacing-fourth);
2677
+ width:var(--tds-toggle-switch-thumb-size);
2678
+ height:var(--tds-toggle-switch-thumb-size);
2679
+ content:"";
2680
+ background-color:#fff;
2681
+ border-radius:var(--t-border-radius-round);
2682
+ transform:var(--tds-toggle-switch-thumb-transform);
2683
+ transition:var(--tds-toggle-switch-thumb-transition);
2684
+ }
2663
2685
 
2664
- :is(.tds-select select:has( > button)) selectedcontent{
2665
- overflow:hidden;
2666
- text-overflow:ellipsis;
2667
- line-height:calc(var(--tds-select-min-height) - 2px);
2668
- white-space:nowrap;
2669
- }
2686
+ @media (prefers-reduced-motion: reduce){
2670
2687
 
2671
- :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
2672
- color:var(--tds-select-placeholder-color);
2673
- }
2688
+ .tds-toggle-switch-track{
2689
+ --tds-toggle-switch-track-transition:none;
2690
+ --tds-toggle-switch-thumb-transition:none;
2691
+ }
2692
+ }
2674
2693
 
2675
- :is(.tds-select select:has( > button))::picker(select){
2676
- inset:auto;
2677
- inline-size:-moz-max-content;
2678
- inline-size:max-content;
2679
- min-inline-size:anchor-size(width);
2680
- max-inline-size:100vi;
2681
- padding:var(--tds-select-dropdown-padding);
2682
- margin-block:var(--tds-select-dropdown-margin-block);
2683
- position-area:block-end span-inline-start;
2684
- position-try-fallbacks:flip-block, flip-inline;
2685
- overflow:auto;
2686
- overflow-x:hidden;
2687
- scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
2688
- overscroll-behavior:none;
2689
- -webkit-user-select:none;
2690
- -moz-user-select:none;
2691
- user-select:none;
2692
- scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
2693
- scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
2694
- background:var(--tds-select-dropdown-background-color);
2695
- border:var(--tds-select-dropdown-border);
2696
- border-radius:var(--tds-select-dropdown-border-radius);
2697
- box-shadow:var(--tds-select-dropdown-box-shadow);
2698
- opacity:var(--tds-select-dropdown-open-opacity);
2699
- translate:var(--tds-select-dropdown-open-translate);
2700
- transition:var(--tds-select-dropdown-transition);
2701
- }
2694
+ .tds-toggle-switch-description{
2695
+ display:flex;
2696
+ grid-area:2 / 2;
2697
+ align-items:flex-start;
2698
+ padding-inline-start:var(--t-spacing-1);
2699
+ margin:0;
2700
+ font-size:var(--tds-toggle-switch-description-font-size);
2701
+ line-height:var(--tds-toggle-switch-description-line-height);
2702
+ color:var(--tds-toggle-switch-description-color);
2703
+ cursor:text;
2704
+ }
2702
2705
 
2703
- :is(.tds-select select:has( > button)) option::checkmark{
2704
- display:none;
2705
- }
2706
+ .tds-toggle-switch--sm{
2707
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
2708
+ --tds-toggle-switch-line-height:1.35;
2709
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
2710
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2711
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2712
+ --tds-toggle-switch-description-line-height:1.3;
2713
+ }
2706
2714
 
2707
- @starting-style{
2708
- :is(.tds-select select:has( > button))::picker(select):popover-open{
2709
- opacity:var(--tds-select-dropdown-closed-opacity);
2710
- translate:var(--tds-select-dropdown-closed-translate);
2711
- }
2712
- }
2715
+ .tds-toggle-switch--hide-label{
2716
+ --tds-toggle-switch-display:inline-flex;
2713
2717
  }
2714
2718
 
2715
2719
  .tds-loading-spinner{
@@ -4299,6 +4303,115 @@ a.tds-dropdown-item:is(:hover, :active){
4299
4303
  border-top:1px solid var(--t-border-color);
4300
4304
  }
4301
4305
 
4306
+ .tds-field{
4307
+ --tds-field-label-color:var(--t-text-color);
4308
+ --tds-field-label-cursor:default;
4309
+ --tds-field-label-font-size:var(--t-font-size-md);
4310
+ --tds-field-description-color:var(--t-text-color-secondary);
4311
+ --tds-field-description-cursor:text;
4312
+ --tds-field-description-font-size:var(--t-font-size-sm);
4313
+ --tds-field-description-line-height:1.35;
4314
+ --tds-field-description-invalid-icon-display:none;
4315
+
4316
+ position:relative;
4317
+ display:flex;
4318
+ flex-direction:column;
4319
+ gap:var(--t-spacing-half);
4320
+ }
4321
+
4322
+ .tds-field:has(:disabled){
4323
+ --tds-field-label-color:var(--t-form-color-disabled);
4324
+ --tds-field-label-cursor:not-allowed;
4325
+ --tds-field-description-color:var(--t-form-color-disabled);
4326
+ --tds-field-description-cursor:not-allowed;
4327
+ }
4328
+
4329
+ .tds-field:has([required],[aria-required="true"]) .tds-field-label::after{
4330
+ margin-left:.25ch;
4331
+ color:var(--t-text-color-status-error);
4332
+ content:"*" / "";
4333
+ }
4334
+
4335
+ .tds-field:has([aria-invalid="true"],:user-invalid){
4336
+ --tds-field-description-color:var(--t-text-color-status-error);
4337
+ --tds-field-description-invalid-icon-display:inline-block;
4338
+ }
4339
+
4340
+ .tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"]){
4341
+ --tds-field-label-cursor:pointer;
4342
+
4343
+ display:grid;
4344
+ grid-template-columns:auto;
4345
+ grid-auto-columns:1fr;
4346
+ row-gap:var(--t-spacing-fourth);
4347
+ -moz-column-gap:var(--t-spacing-1);
4348
+ column-gap:var(--t-spacing-1);
4349
+ }
4350
+
4351
+ :is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])):has(:disabled){
4352
+ --tds-field-label-cursor:not-allowed;
4353
+ }
4354
+
4355
+ :is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])) input[type="checkbox"],:is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])) input[type="radio"],:is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])) tds-indeterminate{
4356
+ grid-row:1;
4357
+ grid-column:1;
4358
+ align-self:center;
4359
+ }
4360
+
4361
+ :is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])) tds-indeterminate{
4362
+ display:flex;
4363
+ }
4364
+
4365
+ :is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])) .tds-field-label{
4366
+ grid-row:1;
4367
+ grid-column:2;
4368
+ }
4369
+
4370
+ :is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])) .tds-field-description{
4371
+ grid-row:2;
4372
+ grid-column:2;
4373
+ }
4374
+
4375
+ .tds-field--sm{
4376
+ --tds-field-label-font-size:var(--t-font-size-sm);
4377
+ --tds-field-description-font-size:var(--t-font-size-xs);
4378
+ --tds-field-description-line-height:1.3;
4379
+ }
4380
+
4381
+ .tds-field-label{
4382
+ font-size:var(--tds-field-label-font-size);
4383
+ font-weight:var(--t-font-weight-normal);
4384
+ color:var(--tds-field-label-color);
4385
+ cursor:var(--tds-field-label-cursor);
4386
+ }
4387
+
4388
+ .tds-field-label--hidden{
4389
+ position:absolute;
4390
+ width:1px;
4391
+ height:1px;
4392
+ overflow:hidden;
4393
+ white-space:nowrap;
4394
+ clip-path:inset(50%);
4395
+ }
4396
+
4397
+ .tds-field-description{
4398
+ display:flex;
4399
+ gap:var(--t-spacing-half);
4400
+ align-items:flex-start;
4401
+ margin:0;
4402
+ font-size:var(--tds-field-description-font-size);
4403
+ line-height:var(--tds-field-description-line-height);
4404
+ color:var(--tds-field-description-color, var(--t-text-color-secondary));
4405
+ cursor:var(--tds-field-description-cursor);
4406
+ }
4407
+
4408
+ .tds-field-description .tds-field-description-invalid-icon{
4409
+ display:var(--tds-field-description-invalid-icon-display, none);
4410
+ flex-shrink:0;
4411
+ margin-block-start:calc(.5lh - .5em);
4412
+ line-height:var(--tds-field-description-line-height);
4413
+ }
4414
+
4302
4415
  .t-banner{
4303
4416
  --t-banner-font-size:var(--t-font-size-md);
4304
4417
  --t-banner-font-color:var(--t-text-color);