@planningcenter/tapestry 3.4.0 → 3.4.1-qa-928.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.
@@ -1,613 +1,582 @@
1
- .tds-checkbox-group{
2
- --tds-checkbox-group-font-size:var(--t-font-size-md);
3
- --tds-checkbox-group-line-height:1.4;
4
- --tds-checkbox-group-gap:var(--t-spacing-1);
1
+ .tds-checkbox{
2
+ --tds-checkbox-font-size:var(--t-font-size-md);
3
+ --tds-checkbox-cursor:pointer;
4
+ --tds-checkbox-line-height:1.4;
5
+ --tds-checkbox-transition-property:background-color, border-color;
5
6
 
6
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
7
- --tds-checkbox-group-description-line-height:1.35;
8
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
9
- --tds-checkbox-group-description-invalid-icon-display:none;
10
- display:flex;
11
- flex-direction:column;
12
- gap:0;
13
- padding:0;
14
- margin:0;
7
+ --tds-checkbox-input-size:var(--t-element-size-md);
8
+ --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
9
+ --tds-checkbox-input-border-color:var(--t-form-border-color);
10
+ --tds-checkbox-input-background-color:var(--t-form-background-color);
15
11
 
16
- font-size:var(--tds-checkbox-group-font-size);
17
- line-height:var(--tds-checkbox-group-line-height);
18
- border:0;
12
+ --tds-checkbox-input-icon:none;
13
+ --tds-checkbox-input-icon-visibility:hidden;
14
+ --tds-checkbox-input-icon-opacity:0;
15
+ --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
16
+
17
+ --tds-checkbox-label-color:var(--t-form-color);
18
+
19
+ --tds-checkbox-description-font-size:var(--t-font-size-sm);
20
+ --tds-checkbox-description-line-height:1.35;
21
+ --tds-checkbox-description-color:var(--t-text-color-secondary);
22
+ --tds-checkbox-description-invalid-icon-display:none;
23
+
24
+ position:relative;
25
+ display:inline-grid;
26
+ grid-template-columns:auto;
27
+ grid-auto-columns:1fr;
28
+ gap:var(--t-spacing-fourth) 0;
29
+ line-height:var(--tds-checkbox-line-height);
30
+ -webkit-user-select:none;
31
+ -moz-user-select:none;
32
+ user-select:none;
19
33
  }
20
34
 
21
- .tds-checkbox-group legend{
22
- float:left;
23
- padding:0;
24
- margin:0;
35
+ .tds-checkbox label{
36
+ grid-area:1 / 2;
37
+ padding-inline-start:var(--t-spacing-1);
38
+ font-size:var(--tds-checkbox-font-size);
39
+ font-weight:var(--t-font-weight-normal);
40
+ color:var(--tds-checkbox-label-color);
41
+ cursor:var(--tds-checkbox-cursor);
25
42
  }
26
43
 
27
- .tds-checkbox-group[aria-invalid="true"]{
28
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
29
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
44
+ .tds-checkbox tds-indeterminate{
45
+ display:flex;
30
46
  }
31
47
 
32
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
48
+ .tds-checkbox input[type="checkbox"]{
49
+ position:relative;
50
+ width:1em;
51
+ height:1em;
52
+ margin:calc((1lh - 1em) / 2) 0 0;
53
+ font-size:var(--tds-checkbox-font-size);
54
+ line-height:inherit;
55
+ -webkit-appearance:none;
56
+ -moz-appearance:none;
57
+ appearance:none;
58
+ cursor:var(--tds-checkbox-cursor);
59
+ background-color:var(--tds-checkbox-input-background-color);
60
+ border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
61
+ border-radius:var(--tds-checkbox-input-border-radius);
62
+ transition-timing-function:var(--t-ease-in-out);
63
+ transition-duration:var(--t-duration-200);
64
+ transition-property:var(--tds-checkbox-transition-property);
65
+ }
66
+
67
+ :is(.tds-checkbox input[type="checkbox"])::before{
68
+ position:absolute;
69
+ top:50%;
70
+ left:50%;
71
+ visibility:var(--tds-checkbox-input-icon-visibility);
72
+ width:100%;
73
+ height:100%;
74
+ content:"";
75
+ background-color:var(--tds-checkbox-input-icon-fill);
76
+ border-radius:var(--tds-checkbox-input-border-radius);
77
+ opacity:var(--tds-checkbox-input-icon-opacity);
78
+ -webkit-mask-image:var(--tds-checkbox-input-icon);
79
+ mask-image:var(--tds-checkbox-input-icon);
80
+ -webkit-mask-repeat:no-repeat;
81
+ mask-repeat:no-repeat;
82
+ -webkit-mask-size:contain;
83
+ mask-size:contain;
84
+ transform:translate(-50%, -50%);
85
+ }
86
+
87
+ :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
88
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
89
+ --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
90
+ }
91
+
92
+ :is(.tds-checkbox input[type="checkbox"]):focus-visible{
93
+ outline:var(--t-focus-ring-outline);
94
+ outline-offset:var(--t-focus-ring-offset);
95
+ }
96
+
97
+ :is(.tds-checkbox input[type="checkbox"]):disabled{
98
+ pointer-events:none;
99
+ }
100
+
101
+ @media (prefers-reduced-motion: reduce){
102
+
103
+ .tds-checkbox input[type="checkbox"]{
104
+ --tds-checkbox-transition-property:none;
105
+ }
106
+ }
107
+
108
+ .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
109
+ --tds-checkbox-input-background-color:var(--t-fill-color-control);
110
+ --tds-checkbox-input-border-color:var(--t-border-color-control-info);
111
+ --tds-checkbox-input-icon-visibility:visible;
112
+ --tds-checkbox-input-icon-opacity:1;
113
+ }
114
+
115
+ :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
116
+ --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
117
+ --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
118
+ }
119
+
120
+ .tds-checkbox:has(input:checked){
121
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
122
+ }
123
+
124
+ .tds-checkbox:has(input:indeterminate){
125
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
126
+ }
127
+
128
+ .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
129
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
130
+ --tds-checkbox-description-color:var(--t-text-color-status-error);
131
+ --tds-checkbox-description-invalid-icon-display:inline-block;
132
+ }
133
+
134
+ :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
135
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
136
+ --tds-checkbox-input-background-color:var(--t-form-background-color-error);
137
+ }
138
+
139
+ :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:checked,:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:indeterminate{
140
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
141
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error);
142
+ }
143
+
144
+ :is(:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:checked,:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:indeterminate):hover:not(:disabled){
145
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
146
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
147
+ }
148
+
149
+ .tds-checkbox:has(input:required) label::after{
33
150
  margin-left:.25ch;
34
151
  color:var(--t-text-color-status-error);
35
152
  content:"*";
36
153
  }
37
154
 
38
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
39
- content:none;
40
- }
155
+ .tds-checkbox:has(input:disabled){
156
+ --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
157
+ --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
41
158
 
42
- .tds-checkbox-group-fields{
43
- display:flex;
44
- flex-direction:column;
45
- gap:var(--tds-checkbox-group-gap);
46
- align-items:flex-start;
47
- margin-top:var(--t-spacing-1);
48
- }
159
+ --tds-checkbox-label-color:var(--t-form-color-disabled);
160
+ --tds-checkbox-description-color:var(--t-form-color-disabled);
161
+ --tds-checkbox-cursor:not-allowed;
162
+ }
49
163
 
50
- .tds-checkbox-group-description{
164
+ .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
165
+ --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
166
+ }
167
+
168
+ .tds-checkbox-description{
51
169
  display:flex;
170
+ grid-area:2 / 2;
52
171
  gap:var(--t-spacing-half);
53
172
  align-items:flex-start;
54
- margin:var(--t-spacing-fourth) 0 0;
55
- font-size:var(--tds-checkbox-group-description-font-size);
56
- line-height:var(--tds-checkbox-group-description-line-height);
57
- color:var(--tds-checkbox-group-description-color);
173
+ padding-inline-start:var(--t-spacing-1);
174
+ margin:0;
175
+ font-size:var(--tds-checkbox-description-font-size);
176
+ line-height:var(--tds-checkbox-description-line-height);
177
+ color:var(--tds-checkbox-description-color);
58
178
  cursor:text;
59
179
  }
60
180
 
61
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
62
- display:var(--tds-checkbox-group-description-invalid-icon-display);
181
+ .tds-checkbox-description .tds-checkbox-description-invalid-icon{
182
+ display:var(--tds-checkbox-description-invalid-icon-display);
63
183
  flex-shrink:0;
64
184
  margin-top:calc(.5lh - .5em);
65
- line-height:var(--tds-checkbox-group-description-line-height);
185
+ line-height:var(--tds-checkbox-description-line-height);
66
186
  }
67
187
 
68
- .tds-checkbox-group--sm{
69
- --tds-checkbox-group-line-height:1.35;
70
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
71
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
72
- --tds-checkbox-group-description-line-height:1.3;
188
+ .tds-checkbox--sm{
189
+ --tds-checkbox-line-height:1.35;
190
+ --tds-checkbox-input-size:var(--t-element-size-sm);
191
+ --tds-checkbox-font-size:var(--t-font-size-sm);
192
+ --tds-checkbox-description-font-size:var(--t-font-size-xs);
193
+ --tds-checkbox-description-line-height:1.3;
73
194
  }
74
195
 
75
- .tds-date-picker{
76
- --tds-date-picker-button-offset:4px;
77
- }
78
196
 
79
- .tds-date-picker--lg{
80
- --tds-date-picker-button-offset:5px;
81
- }
197
+ @media (prefers-reduced-motion: no-preference){
82
198
 
83
- .tds-date-picker-field[data-focus-within]:has(.tds-date-picker-button[data-focused]){
84
- outline-color:transparent;
85
- outline-offset:0;
86
- border-color:var(--tds-field-border-color);
199
+ :root{
200
+ interpolate-size:allow-keywords;
87
201
  }
202
+ }
88
203
 
89
- .tds-date-picker-field:has(.tds-date-picker-input[data-readonly]) .tds-date-picker-button{
90
- display:none;
91
- }
204
+ @layer tds-component{
205
+ tds-sidenav,
206
+ .tds-sidenav{
207
+ --tds-sidenav-indent:12px;
208
+ --tds-sidenav-item-depth:0;
92
209
 
93
- .tds-date-picker-input{
94
- flex:1;
95
- padding-block:var(--tds-field-padding-block);
96
- padding-inline:var(--tds-field-padding-inline);
97
- overflow:auto clip;
98
- font-variant-numeric:tabular-nums;
99
- text-wrap:nowrap;
100
- scrollbar-width:none;
101
- }
210
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
102
211
 
103
- .tds-date-picker-input:has( + .tds-date-picker-button){
104
- padding-inline-end:0;
105
- }
212
+ --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;
213
+ --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;
214
+ --tds-sidenav-collapse-closed-opacity:0;
215
+ --tds-sidenav-collapse-open-opacity:1;
216
+ --tds-sidenav-collapse-closed-transform:translateY(-8px);
217
+ --tds-sidenav-collapse-open-transform:translateY(0);
106
218
 
107
- .tds-date-picker-button{
108
- flex-shrink:0;
109
- align-self:center;
110
- inline-size:calc(var(--tds-field-min-height) - (var(--tds-date-picker-button-offset) * 2));
111
- block-size:calc(var(--tds-field-min-height) - (var(--tds-date-picker-button-offset) * 2));
112
- padding:0;
113
- margin-inline-end:var(--tds-date-picker-button-offset);
114
- }
115
-
116
- .tds-date-picker-popover{
117
- --tds-date-picker-popover-font-size:var(--t-font-size-md);
118
- --tds-date-picker-popover-padding:var(--t-spacing-1-half);
119
- --tds-date-picker-popover-background-color:var(--t-surface-color-card);
120
- --tds-date-picker-popover-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
121
- --tds-date-picker-popover-interactive-timing-function:var(--t-ease-in-out);
122
- --tds-date-picker-popover-interactive-duration:var(--t-duration-200);
123
- --tds-date-picker-popover-interactive-property:color, background-color, border-color;
124
-
125
- position:relative;
126
- overflow:hidden;
127
- background-color:var(--tds-date-picker-popover-background-color);
128
- border:var(--t-border-width) solid var(--t-border-color);
129
- border-radius:var(--t-border-radius);
130
- box-shadow:var(--tds-date-picker-popover-shadow);
131
- }
219
+ --tds-sidenav-item-icon-size:var(--t-element-size-md);
220
+ --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
221
+ --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
222
+ --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
132
223
 
133
- .tds-date-picker-popover[data-entering]{
134
- animation:tds-date-picker-popover var(--t-duration-300) var(--t-ease-out);
135
- }
224
+ --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
225
+ --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
226
+ --tds-sidenav-item-nested-background-selected:transparent;
136
227
 
137
- .tds-date-picker-popover[data-exiting]{
138
- animation:tds-date-picker-popover var(--t-duration-200) var(--t-ease-in) reverse;
139
- }
228
+ --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
229
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
230
+ --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
140
231
 
141
- .tds-date-picker-popover[data-entering],.tds-date-picker-popover[data-exiting]{
142
- will-change:opacity, transform;
232
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
233
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
143
234
  }
144
235
 
145
- @keyframes tds-date-picker-popover{
146
- from{
147
- opacity:0;
148
- transform:translateY(-8px);
236
+ @media (prefers-reduced-motion: reduce){
237
+ tds-sidenav,
238
+ .tds-sidenav{
239
+ --tds-sidenav-collapse-transition-enter:none;
240
+ --tds-sidenav-collapse-transition-exit:none;
241
+ --tds-sidenav-collapse-closed-transform:none;
242
+ --tds-sidenav-collapse-open-transform:none;
149
243
  }
150
- }
151
-
152
- @media (prefers-reduced-motion: reduce){
153
- .tds-date-picker-popover[data-entering],.tds-date-picker-popover[data-exiting]{
154
- animation:none;
155
244
  }
156
- }
157
245
 
158
- .tds-date-picker-overlay{
159
- position:absolute;
160
- inset:0;
161
- z-index:1;
162
- display:flex;
163
- background-color:var(--tds-date-picker-popover-background-color);
246
+ .tds-sidenav--theme-gray{
247
+ --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
248
+ --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
249
+ --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
250
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
251
+ --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
252
+ }
164
253
  }
165
254
 
166
- .tds-date-picker-overlay-list{
167
- display:grid;
168
- flex:1;
169
- grid-template-columns:repeat(3, 1fr);
170
- gap:var(--t-spacing-half);
171
- padding-inline:var(--tds-date-picker-popover-padding);
172
- outline:0;
173
- scrollbar-color:var(--t-fill-color-transparency-dark-030) transparent;
174
- scrollbar-width:thin;
175
- }
255
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
256
+ display:flex;
257
+ }
176
258
 
177
- .tds-date-picker-overlay--month .tds-date-picker-overlay-list{
178
- grid-template-rows:repeat(4, 1fr);
179
- padding-bottom:var(--tds-date-picker-popover-padding);
180
- }
259
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
260
+ flex-direction:column;
261
+ gap:var(--t-spacing-half);
262
+ width:100%;
263
+ }
181
264
 
182
- .tds-date-picker-overlay--year .tds-date-picker-overlay-list{
183
- grid-auto-rows:var(--t-container-size-xl);
184
- padding-right:var(--t-spacing-1);
185
- overflow-y:auto;
186
- scroll-padding-block:calc(var(--t-focus-ring-width) + var(--t-focus-ring-offset));
265
+ .tds-sidenav-section-list{
266
+ width:100%;
267
+ padding:0;
268
+ margin:0;
269
+ list-style:none;
187
270
  }
188
271
 
189
- .tds-date-picker-overlay-cell{
272
+ .tds-sidenav-section-header{
190
273
  display:flex;
191
- align-items:center;
192
- justify-content:center;
193
- font-family:inherit;
194
- font-size:var(--tds-date-picker-popover-font-size);
195
- color:var(--t-text-color);
196
- cursor:pointer;
197
- outline:0;
198
- background-color:transparent;
199
- border:0;
200
- border-radius:var(--t-border-radius-md);
201
- transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
202
- transition-duration:var(--t-duration-100);
203
- transition-property:var(--tds-date-picker-popover-interactive-property);
274
+ align-items:baseline;
275
+ justify-content:space-between;
276
+ padding-top:var(--t-spacing-2);
204
277
  }
205
278
 
206
- .tds-date-picker-overlay-cell[data-hovered]{
207
- background-color:var(--t-fill-color-button-neutral-outline-hover);
208
- }
209
-
210
- .tds-date-picker-overlay-cell[data-pressed]{
211
- background-color:var(--t-fill-color-button-neutral-outline-active);
212
- }
213
-
214
- .tds-date-picker-overlay-cell[data-selected]{
279
+ .tds-sidenav-section-header h2{
280
+ margin:0;
281
+ font-size:var(--t-font-size-sm);
215
282
  font-weight:var(--t-font-weight-semibold);
216
- color:var(--t-text-color-inverted);
217
- background-color:var(--t-fill-color-interaction);
283
+ line-height:1.35;
284
+ color:var(--t-text-color-secondary);
285
+ text-transform:uppercase;
218
286
  }
219
287
 
220
- .tds-date-picker-overlay-cell[data-focus-visible]{
221
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
288
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
289
+ padding-top:0;
222
290
  }
223
291
 
224
- .tds-date-picker-overlay-cell[data-selected][data-focus-visible]{
225
- outline-offset:var(--t-focus-ring-offset);
292
+ .tds-sidenav-section-header [slot="label-actions"]{
293
+ display:flex;
294
+ gap:var(--t-spacing-half);
295
+ align-items:center;
226
296
  }
227
297
 
228
- .tds-date-picker-calendar-heading{
298
+ .tds-sidenav-section [slot="section-actions"]{
229
299
  display:flex;
230
- flex:1;
231
- gap:var(--t-spacing-1);
300
+ gap:12px;
232
301
  align-items:center;
233
- justify-content:flex-start;
234
- padding-inline-start:4px;
302
+ min-height:42px;
303
+ padding:var(--t-spacing-1) 0;
235
304
  }
236
305
 
237
- .tds-date-picker-calendar-overlay-trigger{
238
- --_background-color:transparent;
239
- position:relative;
306
+ .tds-sidenav-section-list,
307
+ .tds-sidenav-item{
308
+ width:100%;
240
309
  padding:0;
241
- font-family:inherit;
242
- font-size:var(--tds-date-picker-popover-font-size);
243
- font-weight:var(--t-font-weight-semibold);
244
- font-feature-settings:"ss01", "ss02";
245
- color:var(--t-text-color);
246
- cursor:pointer;
247
- outline:0;
248
- background-color:transparent;
249
- border:0;
250
- border-radius:var(--t-border-radius-md);
251
- isolation:isolate;
252
- transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
253
- transition-duration:var(--tds-date-picker-popover-interactive-duration);
254
- transition-property:var(--tds-date-picker-popover-interactive-property);
310
+ margin:0;
255
311
  }
256
312
 
257
- .tds-date-picker-calendar-overlay-trigger::before{
258
- position:absolute;
259
- inset:calc(var(--t-spacing-half) * -1);
260
- z-index:-1;
261
- pointer-events:inherit;
262
- content:"";
263
- background-color:var(--_background-color);
264
- border-radius:inherit;
313
+ .tds-sidenav-item :is(a,button){
314
+ position:relative;
315
+ display:flex;
316
+ gap:12px;
317
+ align-items:center;
318
+ width:100%;
319
+ padding:12px;
320
+ overflow:hidden;
321
+ font-size:var(--t-font-size-sm);
322
+ line-height:18px;
323
+ color:var(--t-text-color-headline);
324
+ white-space:nowrap;
325
+ text-decoration:none;
326
+ -webkit-appearance:none;
327
+ -moz-appearance:none;
328
+ appearance:none;
329
+ cursor:pointer;
330
+ background-color:var(--tds-sidenav-item-background, transparent);
331
+ border:0;
332
+ border-radius:var(--t-border-radius);
333
+ transition:var(--tds-sidenav-item-transition);
265
334
  }
266
335
 
267
- .tds-date-picker-calendar-overlay-trigger[data-hovered]{
268
- --_background-color:var(--t-fill-color-button-neutral-outline-hover);
269
- }
336
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
337
+ display:block;
338
+ flex:1;
339
+ overflow:hidden;
340
+ text-overflow:ellipsis;
341
+ text-align:left;
342
+ white-space:nowrap;
343
+ }
270
344
 
271
- .tds-date-picker-calendar-overlay-trigger[data-pressed]{
272
- --_background-color:var(--t-fill-color-button-neutral-outline-active);
273
- }
345
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
346
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
347
+ color:var(--t-text-color-headline);
348
+ text-decoration:none;
349
+ }
274
350
 
275
- .tds-date-picker-calendar-overlay-trigger[data-focus-visible]{
276
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
277
- outline-offset:var(--t-focus-ring-offset);
278
- }
351
+ :is(.tds-sidenav-item :is(a,button)):active{
352
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
353
+ }
279
354
 
280
- .tds-date-picker-calendar{
281
- inline-size:-moz-fit-content;
282
- inline-size:fit-content;
283
- font-size:var(--tds-date-picker-popover-font-size);
284
- }
355
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
356
+ overflow:hidden;
357
+ color:var(--tds-sidenav-item-icon-color);
358
+ }
285
359
 
286
- .tds-date-picker-calendar-body{
287
- position:relative;
288
- padding:var(--tds-date-picker-popover-padding);
289
- padding-block-start:0;
290
- }
360
+ :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{
361
+ display:block;
362
+ width:var(--tds-sidenav-item-icon-size);
363
+ height:var(--tds-sidenav-item-icon-size);
364
+ }
291
365
 
292
- .tds-date-picker-calendar-header{
293
- display:flex;
294
- align-items:center;
295
- justify-content:space-between;
296
- padding:var(--tds-date-picker-popover-padding);
297
- }
366
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
367
+ --tds-sidenav-indent:19px;
368
+ }
298
369
 
299
- .tds-date-picker-calendar-title{
300
- padding:var(--t-spacing-half) var(--t-spacing-1);
301
- font-size:var(--tds-date-picker-popover-font-size);
302
- font-weight:var(--t-font-weight-semibold);
303
- }
370
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
371
+ visibility:visible;
372
+ block-size:auto;
373
+ opacity:1;
374
+ }
304
375
 
305
- .tds-date-picker-calendar-nav{
306
- display:flex;
307
- align-items:center;
308
- justify-content:center;
309
- padding:var(--t-spacing-half);
310
- font-size:.875em;
311
- color:var(--t-text-color);
312
- cursor:pointer;
313
- outline:0;
314
- background-color:transparent;
315
- border:0;
316
- border-radius:var(--t-border-radius-md);
317
- transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
318
- transition-duration:var(--tds-date-picker-popover-interactive-duration);
319
- transition-property:var(--tds-date-picker-popover-interactive-property);
320
- }
376
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
377
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
378
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
321
379
 
322
- .tds-date-picker-calendar-nav[data-hovered]{
323
- background-color:var(--t-fill-color-button-neutral-outline-hover);
380
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
381
+ font-weight:var(--t-font-weight-semibold);
324
382
  }
325
383
 
326
- .tds-date-picker-calendar-nav[data-pressed]{
327
- background-color:var(--t-fill-color-button-neutral-outline-active);
384
+ .tds-sidenav-item:has(.tds-sidenav-section){
385
+ display:flex;
386
+ flex-direction:column;
387
+ gap:var(--t-spacing-half);
328
388
  }
329
389
 
330
- .tds-date-picker-calendar-nav[data-focus-visible]{
331
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
332
- outline-offset:var(--t-focus-ring-offset);
390
+ .tds-sidenav-item .tds-sidenav-section-list{
391
+ --tds-sidenav-item-depth:1;
392
+ gap:0;
333
393
  }
334
394
 
335
- .tds-date-picker-calendar-nav[data-disabled]{
336
- color:var(--t-text-color-disabled);
337
- cursor:not-allowed;
338
- }
395
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
396
+ visibility:hidden;
397
+ block-size:0;
398
+ overflow-y:clip;
399
+ opacity:0;
400
+ transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
401
+ }
339
402
 
340
- .tds-date-picker-calendar-grid{
341
- font-feature-settings:"ss01", "ss02";
342
- border-collapse:collapse;
343
- }
403
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
404
+ --tds-sidenav-item-depth:2;
405
+ }
344
406
 
345
- .tds-date-picker-calendar-grid :where(thead,tbody,tr,td,th){
346
- padding:0;
347
- border:0;
348
- }
407
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
408
+ min-height:var(--t-element-size-2xl);
409
+ padding-block:9px;
410
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
411
+ line-height:1;
412
+ background-color:transparent;
413
+ }
349
414
 
350
- .tds-date-picker-calendar-header-cell{
351
- padding-block-end:var(--t-spacing-1);
352
- font-size:.875em;
353
- font-weight:var(--t-font-weight-medium);
354
- color:var(--t-text-color-secondary);
355
- text-align:center;
356
- -webkit-user-select:none;
357
- -moz-user-select:none;
358
- user-select:none;
359
- }
415
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
416
+ position:absolute;
417
+ top:0;
418
+ bottom:0;
419
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
420
+ width:2px;
421
+ content:"";
422
+ background-color:var(--tds-sidenav-item-nested-border-color);
423
+ transition:var(--tds-sidenav-item-transition);
424
+ }
360
425
 
361
- .tds-date-picker-calendar-cell-button{
362
- position:relative;
426
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
427
+ position:absolute;
428
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
429
+ z-index:-1;
430
+ height:100%;
431
+ content:"";
432
+ background-color:var(--tds-sidenav-item-nested-background);
433
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
434
+ transition:var(--tds-sidenav-item-transition);
435
+ }
436
+
437
+ :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)){
438
+ display:block;
439
+ text-align:left;
440
+ white-space:normal;
441
+ }
442
+
443
+ :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{
444
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
445
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
446
+ }
447
+
448
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
449
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
450
+ }
451
+
452
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
453
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
454
+ font-weight:var(--t-font-weight-medium);
455
+ }
456
+
457
+ .tds-sidenav-responsive-header{
363
458
  display:flex;
459
+ gap:var(--t-spacing-2);
364
460
  align-items:center;
365
- justify-content:center;
366
- inline-size:2.25em;
367
- block-size:2.25em;
368
- color:var(--t-text-color);
369
- cursor:pointer;
370
- -webkit-user-select:none;
371
- -moz-user-select:none;
372
- user-select:none;
373
- outline:0;
461
+ width:100%;
374
462
  }
375
463
 
376
- .tds-date-picker-calendar-cell-button::before{
377
- position:absolute;
378
- inset:0;
379
- z-index:-1;
380
- content:"";
381
- background-color:var(--_background-color);
382
- border-radius:50%;
464
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
465
+ order:0;
383
466
  }
384
467
 
385
- .tds-date-picker-calendar-cell-button[data-today]::before{
386
- box-shadow:inset 0 0 0 1.5px var(--t-border-color);
387
- }
388
-
389
- .tds-date-picker-calendar-cell-button[data-outside-month]{
390
- display:none;
468
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
469
+ flex:1;
470
+ order:1;
471
+ margin:0;
472
+ font-size:var(--t-font-size-lg);
473
+ font-weight:var(--t-font-weight-medium);
474
+ color:var(--t-text-color-headline);
391
475
  }
392
476
 
393
- .tds-date-picker-calendar-cell-button[data-hovered]{
394
- --_background-color:var(--t-fill-color-button-neutral-outline-hover);
477
+ @media (max-width: 719px){
478
+ .tds-sidenav-collapse{
479
+ z-index:10001;
480
+ display:none;
481
+ max-width:min(448px, calc(100vw - 48px));
482
+ padding:0;
483
+ margin:12px 0;
484
+ position-area:bottom span-right;
485
+ overflow:hidden;
486
+ outline:0;
487
+ background:var(--t-surface-color-card);
488
+ border:0;
489
+ border-radius:6px;
490
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
491
+ opacity:var(--tds-sidenav-collapse-open-opacity);
492
+ transform:var(--tds-sidenav-collapse-open-transform);
493
+ transition:var(--tds-sidenav-collapse-transition-enter);
494
+ will-change:transform;
395
495
  }
396
496
 
397
- .tds-date-picker-calendar-cell-button[data-pressed]{
398
- --_background-color:var(--t-fill-color-button-neutral-outline-active);
497
+ .tds-sidenav-scroll-container{
498
+ --webkit-overflow-scrolling:touch;
499
+ display:block;
500
+ width:100%;
501
+ height:-moz-fit-content;
502
+ height:fit-content;
503
+ padding:var(--t-spacing-2);
504
+ overflow-y:auto;
399
505
  }
400
506
 
401
- .tds-date-picker-calendar-cell-button[data-selected]{
402
- --_background-color:var(--t-fill-color-interaction);
403
- font-weight:var(--t-font-weight-semibold);
404
- color:var(--t-text-color-inverted);
405
- border-color:transparent;
507
+ .tds-sidenav-item :is(a, button) :is(.prefix){
508
+ display:none;
406
509
  }
510
+ @supports selector(:popover-open){
511
+ .tds-sidenav-collapse:popover-open{
512
+ display:flex;
513
+ }
407
514
 
408
- .tds-date-picker-calendar-cell-button[data-unavailable]{
409
- color:var(--t-text-color-disabled);
410
- text-decoration:line-through;
411
- cursor:not-allowed;
412
- }
515
+ .tds-sidenav-collapse:not(:popover-open){
516
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
517
+ transition:var(--tds-sidenav-collapse-transition-exit);
518
+ }
413
519
 
414
- .tds-date-picker-calendar-cell-button[data-disabled]{
415
- color:var(--t-text-color-disabled);
520
+ @starting-style{
521
+ .tds-sidenav-collapse:popover-open{
522
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
523
+ transform:var(--tds-sidenav-collapse-closed-transform);
524
+ }
525
+ }
416
526
  }
527
+ @supports not selector(:popover-open){
528
+ .tds-sidenav-collapse.\:popover-open{
529
+ display:flex;
530
+ }
417
531
 
418
- .tds-date-picker-calendar-cell-button[data-focus-visible]{
419
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
420
- outline-offset:-2px;
532
+ .tds-sidenav-collapse:not(.\:popover-open){
533
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
534
+ transition:var(--tds-sidenav-collapse-transition-exit);
535
+ }
421
536
  }
537
+ }
422
538
 
423
- .tds-date-picker-calendar-cell-button[data-focus-visible][data-selected]{
424
- outline-offset:var(--t-focus-ring-offset);
539
+ @media (min-width: 720px){
540
+ .tds-sidenav-responsive-header{
541
+ display:none;
425
542
  }
426
-
427
- .tds-date-picker-popover--lg{
428
- --tds-date-picker-popover-font-size:var(--t-font-size-lg);
429
543
  }
430
544
 
431
- .tds-combo-box{
432
- --tds-combo-box-button-offset:4px;
433
- }
545
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
546
+ display:none;
547
+ }
434
548
 
435
- .tds-combo-box[data-open] .tds-combo-box-button > svg{
436
- transform:rotate(.5turn);
437
- }
438
-
439
- .tds-combo-box--lg{
440
- --tds-combo-box-button-offset:5px;
441
- }
442
-
443
- .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
444
- display:none;
445
- }
446
-
447
- .tds-combo-box-input{
448
- display:flex;
449
- flex:1;
450
- align-items:center;
451
- padding-block:var(--tds-field-padding-block);
452
- padding-inline:var(--tds-field-padding-inline);
453
- font-family:inherit;
454
- font-size:inherit;
455
- color:inherit;
456
- outline:0;
457
- background:transparent;
458
- border:0;
459
- }
460
-
461
- .tds-combo-box-input:has( + .tds-combo-box-button){
462
- padding-inline-end:0;
463
- }
464
-
465
- .tds-combo-box-input::-moz-placeholder{
466
- color:var(--tds-field-placeholder-color);
467
- -moz-user-select:none;
468
- user-select:none;
469
- }
470
-
471
- .tds-combo-box-input::placeholder{
472
- color:var(--tds-field-placeholder-color);
473
- -webkit-user-select:none;
474
- -moz-user-select:none;
475
- user-select:none;
476
- }
477
-
478
- .tds-combo-box-button{
479
- flex-shrink:0;
480
- align-self:center;
481
- inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
482
- block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
483
- padding:0;
484
- margin-inline-end:var(--tds-combo-box-button-offset);
485
- }
486
-
487
- .tds-combo-box-button > svg{
488
- inline-size:var(--tds-field-font-size);
489
- block-size:var(--tds-field-font-size);
490
- transition:transform var(--t-duration-300) var(--t-ease-in-out);
491
- }
492
-
493
- .tds-combo-box-popover{
494
- width:var(--trigger-width);
495
- max-block-size:inherit;
496
- padding:var(--t-spacing-1);
497
- overflow:auto;
498
- scroll-behavior:smooth;
499
- overscroll-behavior:none;
500
- -webkit-user-select:none;
501
- -moz-user-select:none;
502
- user-select:none;
503
- outline:0;
504
- scrollbar-color:#0004 var(--t-surface-color-card);
505
- scrollbar-width:thin;
506
- background:var(--t-surface-color-card);
507
- background-clip:padding-box;
508
- border:1px solid var(--t-border-color);
509
- border-radius:var(--t-border-radius);
510
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
511
- }
512
-
513
- .tds-combo-box-popover[data-entering]{
514
- animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
515
- }
516
-
517
- .tds-combo-box-popover[data-exiting]{
518
- animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
519
- }
520
-
521
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
522
- will-change:opacity, transform;
523
- }
524
-
525
- @keyframes tds-combo-box-popover{
526
- from{
527
- opacity:0;
528
- transform:translateY(-8px);
529
- }
530
- }
531
-
532
- @media (prefers-reduced-motion: reduce){
533
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
534
- animation:none;
549
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
550
+ display:block;
535
551
  }
536
552
 
537
- .tds-combo-box-button > svg{
538
- transition:none;
539
- }
540
- }
541
-
542
- .tds-combo-box-list{
543
- padding:0;
544
- margin:0;
545
- }
546
-
547
- .tds-combo-box-list-item{
548
- display:block;
549
- padding-block:var(--t-spacing-1);
550
- padding-inline:var(--t-spacing-2) var(--t-spacing-1);
551
- overflow:hidden;
552
- text-overflow:ellipsis;
553
- font-size:1rem;
554
- color:var(--t-text-color);
555
- white-space:nowrap;
556
- cursor:default;
557
- border-radius:var(--t-border-radius);
558
- }
559
-
560
- .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
561
- background:var(--t-fill-color-neutral-070);
562
- }
563
-
564
- .tds-combo-box-list-item[data-selected]{
565
- background:var(--t-fill-color-button-interaction-ghost-active);
566
- }
567
-
568
- .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
569
- background:var(--t-fill-color-neutral-060);
570
- }
571
-
572
- .tds-combo-box-list-item[data-disabled]{
573
- color:var(--t-form-color-disabled);
574
- cursor:not-allowed;
575
- }
576
-
577
- .tds-combo-box-list-item[data-disabled][data-hovered]{
578
- background:transparent;
553
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
554
+ display:flex;
555
+ flex-direction:column;
579
556
  }
580
557
 
581
- .tds-combo-box-empty-state{
582
- position:relative;
583
- min-block-size:var(--t-spacing-3);
584
- padding-block:var(--t-spacing-1);
585
- padding-inline:var(--t-spacing-2);
586
- font-size:var(--t-font-size-md);
587
- color:var(--t-text-color-secondary);
588
- }
589
558
 
590
- .tds-combo-box-load-more{
591
- position:relative;
592
- min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
593
- }
559
+ :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{
560
+ -webkit-appearance:none;
561
+ appearance:none;
562
+ }
594
563
 
595
- .tds-combo-box-empty-state,
596
- .tds-combo-box-load-more{
597
- --tds-loading-spinner-visibility:visible;
598
- --tds-loading-spinner-animation-play-state:running;
599
- }
564
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
565
+ inline-size:1em;
566
+ block-size:2em;
567
+ }
600
568
 
601
- .tds-combo-box-list-section:not(:first-child){
602
- margin-block-start:var(--t-spacing-half);
569
+ @supports (field-sizing: content){
570
+ .tds-input--auto-width{
571
+ inline-size:-moz-fit-content;
572
+ inline-size:fit-content;
573
+ min-inline-size:min(100%, 122px);
603
574
  }
604
575
 
605
- .tds-combo-box-section-header{
606
- padding-block:var(--t-spacing-1);
607
- padding-inline:var(--t-spacing-1);
608
- font-size:var(--t-font-size-sm);
609
- font-weight:var(--t-font-weight-semibold);
610
- color:var(--t-text-color-secondary);
576
+ .tds-input--auto-width input{
577
+ field-sizing:content;
578
+ inline-size:auto;
579
+ }
611
580
  }
612
581
 
613
582
  @layer t-critical{
@@ -888,659 +857,667 @@
888
857
  }
889
858
  }
890
859
 
891
- .tds-checkbox{
892
- --tds-checkbox-font-size:var(--t-font-size-md);
893
- --tds-checkbox-cursor:pointer;
894
- --tds-checkbox-line-height:1.4;
895
- --tds-checkbox-transition-property:background-color, border-color;
896
-
897
- --tds-checkbox-input-size:var(--t-element-size-md);
898
- --tds-checkbox-input-border-radius:var(--t-border-radius-sm);
899
- --tds-checkbox-input-border-color:var(--t-form-border-color);
900
- --tds-checkbox-input-background-color:var(--t-form-background-color);
860
+ .tds-combo-box{
861
+ --tds-combo-box-button-offset:4px;
862
+ }
901
863
 
902
- --tds-checkbox-input-icon:none;
903
- --tds-checkbox-input-icon-visibility:hidden;
904
- --tds-checkbox-input-icon-opacity:0;
905
- --tds-checkbox-input-icon-fill:var(--t-icon-color-inverted);
864
+ .tds-combo-box[data-open] .tds-combo-box-button > svg{
865
+ transform:rotate(.5turn);
866
+ }
906
867
 
907
- --tds-checkbox-label-color:var(--t-form-color);
868
+ .tds-combo-box--lg{
869
+ --tds-combo-box-button-offset:5px;
870
+ }
908
871
 
909
- --tds-checkbox-description-font-size:var(--t-font-size-sm);
910
- --tds-checkbox-description-line-height:1.35;
911
- --tds-checkbox-description-color:var(--t-text-color-secondary);
912
- --tds-checkbox-description-invalid-icon-display:none;
872
+ .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
873
+ display:none;
874
+ }
913
875
 
914
- position:relative;
915
- display:inline-grid;
916
- grid-template-columns:auto;
917
- grid-auto-columns:1fr;
918
- gap:var(--t-spacing-fourth) 0;
919
- line-height:var(--tds-checkbox-line-height);
920
- -webkit-user-select:none;
921
- -moz-user-select:none;
922
- user-select:none;
876
+ .tds-combo-box-input{
877
+ display:flex;
878
+ flex:1;
879
+ align-items:center;
880
+ padding-block:var(--tds-field-padding-block);
881
+ padding-inline:var(--tds-field-padding-inline);
882
+ font-family:inherit;
883
+ font-size:inherit;
884
+ color:inherit;
885
+ outline:0;
886
+ background:transparent;
887
+ border:0;
923
888
  }
924
889
 
925
- .tds-checkbox label{
926
- grid-area:1 / 2;
927
- padding-inline-start:var(--t-spacing-1);
928
- font-size:var(--tds-checkbox-font-size);
929
- font-weight:var(--t-font-weight-normal);
930
- color:var(--tds-checkbox-label-color);
931
- cursor:var(--tds-checkbox-cursor);
890
+ .tds-combo-box-input:has( + .tds-combo-box-button){
891
+ padding-inline-end:0;
932
892
  }
933
893
 
934
- .tds-checkbox tds-indeterminate{
935
- display:flex;
894
+ .tds-combo-box-input::-moz-placeholder{
895
+ color:var(--tds-field-placeholder-color);
896
+ -moz-user-select:none;
897
+ user-select:none;
936
898
  }
937
899
 
938
- .tds-checkbox input[type="checkbox"]{
939
- position:relative;
940
- width:1em;
941
- height:1em;
942
- margin:calc((1lh - 1em) / 2) 0 0;
943
- font-size:var(--tds-checkbox-font-size);
944
- line-height:inherit;
945
- -webkit-appearance:none;
946
- -moz-appearance:none;
947
- appearance:none;
948
- cursor:var(--tds-checkbox-cursor);
949
- background-color:var(--tds-checkbox-input-background-color);
950
- border:var(--t-form-border-width) solid var(--tds-checkbox-input-border-color);
951
- border-radius:var(--tds-checkbox-input-border-radius);
952
- transition-timing-function:var(--t-ease-in-out);
953
- transition-duration:var(--t-duration-200);
954
- transition-property:var(--tds-checkbox-transition-property);
900
+ .tds-combo-box-input::placeholder{
901
+ color:var(--tds-field-placeholder-color);
902
+ -webkit-user-select:none;
903
+ -moz-user-select:none;
904
+ user-select:none;
955
905
  }
956
906
 
957
- :is(.tds-checkbox input[type="checkbox"])::before{
958
- position:absolute;
959
- top:50%;
960
- left:50%;
961
- visibility:var(--tds-checkbox-input-icon-visibility);
962
- width:100%;
963
- height:100%;
964
- content:"";
965
- background-color:var(--tds-checkbox-input-icon-fill);
966
- border-radius:var(--tds-checkbox-input-border-radius);
967
- opacity:var(--tds-checkbox-input-icon-opacity);
968
- -webkit-mask-image:var(--tds-checkbox-input-icon);
969
- mask-image:var(--tds-checkbox-input-icon);
970
- -webkit-mask-repeat:no-repeat;
971
- mask-repeat:no-repeat;
972
- -webkit-mask-size:contain;
973
- mask-size:contain;
974
- transform:translate(-50%, -50%);
975
- }
907
+ .tds-combo-box-button{
908
+ flex-shrink:0;
909
+ align-self:center;
910
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
911
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
912
+ padding:0;
913
+ margin-inline-end:var(--tds-combo-box-button-offset);
914
+ }
976
915
 
977
- :is(.tds-checkbox input[type="checkbox"]):hover:not(:disabled){
978
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
979
- --tds-checkbox-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
980
- }
916
+ .tds-combo-box-button > svg{
917
+ inline-size:var(--tds-field-font-size);
918
+ block-size:var(--tds-field-font-size);
919
+ transition:transform var(--t-duration-300) var(--t-ease-in-out);
920
+ }
981
921
 
982
- :is(.tds-checkbox input[type="checkbox"]):focus-visible{
983
- outline:var(--t-focus-ring-outline);
984
- outline-offset:var(--t-focus-ring-offset);
985
- }
922
+ .tds-combo-box-popover{
923
+ width:var(--trigger-width);
924
+ max-block-size:inherit;
925
+ padding:var(--t-spacing-1);
926
+ overflow:auto;
927
+ scroll-behavior:smooth;
928
+ overscroll-behavior:none;
929
+ -webkit-user-select:none;
930
+ -moz-user-select:none;
931
+ user-select:none;
932
+ outline:0;
933
+ scrollbar-color:#0004 var(--t-surface-color-card);
934
+ scrollbar-width:thin;
935
+ background:var(--t-surface-color-card);
936
+ background-clip:padding-box;
937
+ border:1px solid var(--t-border-color);
938
+ border-radius:var(--t-border-radius);
939
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
940
+ }
986
941
 
987
- :is(.tds-checkbox input[type="checkbox"]):disabled{
988
- pointer-events:none;
989
- }
942
+ .tds-combo-box-popover[data-entering]{
943
+ animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
944
+ }
990
945
 
991
- @media (prefers-reduced-motion: reduce){
946
+ .tds-combo-box-popover[data-exiting]{
947
+ animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
948
+ }
992
949
 
993
- .tds-checkbox input[type="checkbox"]{
994
- --tds-checkbox-transition-property:none;
950
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
951
+ will-change:opacity, transform;
995
952
  }
996
- }
997
953
 
998
- .tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate){
999
- --tds-checkbox-input-background-color:var(--t-fill-color-control);
1000
- --tds-checkbox-input-border-color:var(--t-border-color-control-info);
1001
- --tds-checkbox-input-icon-visibility:visible;
1002
- --tds-checkbox-input-icon-opacity:1;
954
+ @keyframes tds-combo-box-popover{
955
+ from{
956
+ opacity:0;
957
+ transform:translateY(-8px);
1003
958
  }
959
+ }
1004
960
 
1005
- :is(.tds-checkbox:has(input:checked),.tds-checkbox:has(input:indeterminate)) input:hover:not(:disabled){
1006
- --tds-checkbox-input-border-color:var(--t-fill-color-interaction-hover);
1007
- --tds-checkbox-input-background-color:var(--t-fill-color-interaction-hover);
961
+ @media (prefers-reduced-motion: reduce){
962
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
963
+ animation:none;
1008
964
  }
1009
965
 
1010
- .tds-checkbox:has(input:checked){
1011
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjUwMjAxIDExLjQyOTNMMy42NzM3NCA4LjM5MkMzLjUxNjE2IDguMjI0ODkgMy41MTYxNiA3Ljk1Mjg5IDMuNjczNzQgNy43ODRMNC4yNDUwNSA3LjE3Njg5QzQuNDAyNjIgNy4wMDk3OCA0LjY1ODc4IDcuMDA5NzggNC44MTYzNiA3LjE3Njg5TDYuNzg4MDcgOS4zMDMxMUwxMS4xODMyIDQuNTY5NzhDMTEuMzQwOCA0LjQwMjY2IDExLjU5NjkgNC40MDI2NiAxMS43NTQ1IDQuNTY5NzhMMTIuMzI1OCA1LjE3Nzc4QzEyLjQ4MzQgNS4zNDQ4OSAxMi40ODM0IDUuNjE3NzggMTIuMzI1OCA1Ljc4NEw3LjA3MzMyIDExLjQyOTNDNi45MTU3NCAxMS41OTY0IDYuNjU5NTggMTEuNTk2NCA2LjUwMjAxIDExLjQyOTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
966
+ .tds-combo-box-button > svg{
967
+ transition:none;
1012
968
  }
969
+ }
1013
970
 
1014
- .tds-checkbox:has(input:indeterminate){
1015
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
971
+ .tds-combo-box-list{
972
+ padding:0;
973
+ margin:0;
974
+ }
975
+
976
+ .tds-combo-box-list-item{
977
+ display:block;
978
+ padding-block:var(--t-spacing-1);
979
+ padding-inline:var(--t-spacing-2) var(--t-spacing-1);
980
+ overflow:hidden;
981
+ text-overflow:ellipsis;
982
+ font-size:1rem;
983
+ color:var(--t-text-color);
984
+ white-space:nowrap;
985
+ cursor:default;
986
+ border-radius:var(--t-border-radius);
987
+ }
988
+
989
+ .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
990
+ background:var(--t-fill-color-neutral-070);
1016
991
  }
1017
992
 
1018
- .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
1019
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1020
- --tds-checkbox-description-color:var(--t-text-color-status-error);
1021
- --tds-checkbox-description-invalid-icon-display:inline-block;
993
+ .tds-combo-box-list-item[data-selected]{
994
+ background:var(--t-fill-color-button-interaction-ghost-active);
1022
995
  }
1023
996
 
1024
- :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
1025
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1026
- --tds-checkbox-input-background-color:var(--t-form-background-color-error);
1027
- }
997
+ .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
998
+ background:var(--t-fill-color-neutral-060);
999
+ }
1028
1000
 
1029
- :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:checked,:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:indeterminate{
1030
- --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1031
- --tds-checkbox-input-background-color:var(--t-form-border-color-error);
1001
+ .tds-combo-box-list-item[data-disabled]{
1002
+ color:var(--t-form-color-disabled);
1003
+ cursor:not-allowed;
1004
+ }
1005
+
1006
+ .tds-combo-box-list-item[data-disabled][data-hovered]{
1007
+ background:transparent;
1032
1008
  }
1033
1009
 
1034
- :is(:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:checked,:is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:indeterminate):hover:not(:disabled){
1035
- --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
1036
- --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
1037
- }
1010
+ .tds-combo-box-empty-state{
1011
+ position:relative;
1012
+ min-block-size:var(--t-spacing-3);
1013
+ padding-block:var(--t-spacing-1);
1014
+ padding-inline:var(--t-spacing-2);
1015
+ font-size:var(--t-font-size-md);
1016
+ color:var(--t-text-color-secondary);
1017
+ }
1038
1018
 
1039
- .tds-checkbox:has(input:required) label::after{
1040
- margin-left:.25ch;
1041
- color:var(--t-text-color-status-error);
1042
- content:"*";
1043
- }
1019
+ .tds-combo-box-load-more{
1020
+ position:relative;
1021
+ min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
1022
+ }
1044
1023
 
1045
- .tds-checkbox:has(input:disabled){
1046
- --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
1047
- --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
1024
+ .tds-combo-box-empty-state,
1025
+ .tds-combo-box-load-more{
1026
+ --tds-loading-spinner-visibility:visible;
1027
+ --tds-loading-spinner-animation-play-state:running;
1028
+ }
1048
1029
 
1049
- --tds-checkbox-label-color:var(--t-form-color-disabled);
1050
- --tds-checkbox-description-color:var(--t-form-color-disabled);
1051
- --tds-checkbox-cursor:not-allowed;
1030
+ .tds-combo-box-list-section:not(:first-child){
1031
+ margin-block-start:var(--t-spacing-half);
1052
1032
  }
1053
1033
 
1054
- .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
1055
- --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
1056
- }
1034
+ .tds-combo-box-section-header{
1035
+ padding-block:var(--t-spacing-1);
1036
+ padding-inline:var(--t-spacing-1);
1037
+ font-size:var(--t-font-size-sm);
1038
+ font-weight:var(--t-font-weight-semibold);
1039
+ color:var(--t-text-color-secondary);
1040
+ }
1057
1041
 
1058
- .tds-checkbox-description{
1042
+ .tds-checkbox-group{
1043
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
1044
+ --tds-checkbox-group-line-height:1.4;
1045
+ --tds-checkbox-group-gap:var(--t-spacing-1);
1046
+
1047
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1048
+ --tds-checkbox-group-description-line-height:1.35;
1049
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1050
+ --tds-checkbox-group-description-invalid-icon-display:none;
1059
1051
  display:flex;
1060
- grid-area:2 / 2;
1061
- gap:var(--t-spacing-half);
1062
- align-items:flex-start;
1063
- padding-inline-start:var(--t-spacing-1);
1052
+ flex-direction:column;
1053
+ gap:0;
1054
+ padding:0;
1064
1055
  margin:0;
1065
- font-size:var(--tds-checkbox-description-font-size);
1066
- line-height:var(--tds-checkbox-description-line-height);
1067
- color:var(--tds-checkbox-description-color);
1068
- cursor:text;
1056
+
1057
+ font-size:var(--tds-checkbox-group-font-size);
1058
+ line-height:var(--tds-checkbox-group-line-height);
1059
+ border:0;
1069
1060
  }
1070
1061
 
1071
- .tds-checkbox-description .tds-checkbox-description-invalid-icon{
1072
- display:var(--tds-checkbox-description-invalid-icon-display);
1073
- flex-shrink:0;
1074
- margin-top:calc(.5lh - .5em);
1075
- line-height:var(--tds-checkbox-description-line-height);
1062
+ .tds-checkbox-group legend{
1063
+ float:left;
1064
+ padding:0;
1065
+ margin:0;
1076
1066
  }
1077
1067
 
1078
- .tds-checkbox--sm{
1079
- --tds-checkbox-line-height:1.35;
1080
- --tds-checkbox-input-size:var(--t-element-size-sm);
1081
- --tds-checkbox-font-size:var(--t-font-size-sm);
1082
- --tds-checkbox-description-font-size:var(--t-font-size-xs);
1083
- --tds-checkbox-description-line-height:1.3;
1084
- }
1068
+ .tds-checkbox-group[aria-invalid="true"]{
1069
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1070
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
1071
+ }
1085
1072
 
1073
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1074
+ margin-left:.25ch;
1075
+ color:var(--t-text-color-status-error);
1076
+ content:"*";
1077
+ }
1086
1078
 
1087
- :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{
1088
- -webkit-appearance:none;
1089
- appearance:none;
1079
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1080
+ content:none;
1090
1081
  }
1091
1082
 
1092
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1093
- inline-size:1em;
1094
- block-size:2em;
1095
- }
1083
+ .tds-checkbox-group-fields{
1084
+ display:flex;
1085
+ flex-direction:column;
1086
+ gap:var(--tds-checkbox-group-gap);
1087
+ align-items:flex-start;
1088
+ margin-top:var(--t-spacing-1);
1089
+ }
1096
1090
 
1097
- @supports (field-sizing: content){
1098
- .tds-input--auto-width{
1099
- inline-size:-moz-fit-content;
1100
- inline-size:fit-content;
1101
- min-inline-size:min(100%, 122px);
1102
- }
1091
+ .tds-checkbox-group-description{
1092
+ display:flex;
1093
+ gap:var(--t-spacing-half);
1094
+ align-items:flex-start;
1095
+ margin:var(--t-spacing-fourth) 0 0;
1096
+ font-size:var(--tds-checkbox-group-description-font-size);
1097
+ line-height:var(--tds-checkbox-group-description-line-height);
1098
+ color:var(--tds-checkbox-group-description-color);
1099
+ cursor:text;
1100
+ }
1103
1101
 
1104
- .tds-input--auto-width input{
1105
- field-sizing:content;
1106
- inline-size:auto;
1102
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1103
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
1104
+ flex-shrink:0;
1105
+ margin-top:calc(.5lh - .5em);
1106
+ line-height:var(--tds-checkbox-group-description-line-height);
1107
1107
  }
1108
- }
1109
1108
 
1110
- .tds-radio{
1111
- --tds-radio-font-size:var(--t-font-size-md);
1112
- --tds-radio-cursor:pointer;
1113
- --tds-radio-line-height:1.4;
1114
- --tds-radio-transition-property:border-width;
1109
+ .tds-checkbox-group--sm{
1110
+ --tds-checkbox-group-line-height:1.35;
1111
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
1112
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1113
+ --tds-checkbox-group-description-line-height:1.3;
1114
+ }
1115
1115
 
1116
- --tds-radio-input-size:var(--t-element-size-md);
1117
- --tds-radio-input-border-radius:var(--t-border-radius-round);
1118
- --tds-radio-input-border-color:var(--t-form-border-color);
1119
- --tds-radio-input-border-width:var(--t-form-border-width);
1120
- --tds-radio-input-background-color:var(--t-form-background-color);
1116
+ .tds-date-picker{
1117
+ --tds-date-picker-button-offset:4px;
1118
+ }
1121
1119
 
1122
- --tds-radio-label-color:var(--t-form-color);
1120
+ .tds-date-picker--lg{
1121
+ --tds-date-picker-button-offset:5px;
1122
+ }
1123
1123
 
1124
- --tds-radio-description-font-size:var(--t-font-size-sm);
1125
- --tds-radio-description-line-height:1.35;
1126
- --tds-radio-description-color:var(--t-text-color-secondary);
1124
+ .tds-date-picker-field[data-focus-within]:has(.tds-date-picker-button[data-focused]){
1125
+ outline-color:transparent;
1126
+ outline-offset:0;
1127
+ border-color:var(--tds-field-border-color);
1128
+ }
1127
1129
 
1128
- position:relative;
1129
- display:inline-grid;
1130
- grid-template-columns:auto;
1131
- grid-auto-columns:1fr;
1132
- gap:var(--t-spacing-fourth) 0;
1133
- line-height:var(--tds-radio-line-height);
1134
- -webkit-user-select:none;
1135
- -moz-user-select:none;
1136
- user-select:none;
1130
+ .tds-date-picker-field:has(.tds-date-picker-input[data-readonly]) .tds-date-picker-button{
1131
+ display:none;
1137
1132
  }
1138
1133
 
1139
- .tds-radio label{
1140
- grid-area:1 / 2;
1141
- padding-inline-start:var(--t-spacing-1);
1142
- font-size:var(--tds-radio-font-size);
1143
- font-weight:var(--t-font-weight-normal);
1144
- color:var(--tds-radio-label-color);
1145
- cursor:var(--tds-radio-cursor);
1146
- }
1134
+ .tds-date-picker-input{
1135
+ flex:1;
1136
+ padding-block:var(--tds-field-padding-block);
1137
+ padding-inline:var(--tds-field-padding-inline);
1138
+ overflow:auto clip;
1139
+ font-variant-numeric:tabular-nums;
1140
+ text-wrap:nowrap;
1141
+ scrollbar-width:none;
1142
+ }
1147
1143
 
1148
- .tds-radio input[type="radio"]{
1149
- position:relative;
1150
- width:1em;
1151
- height:1em;
1152
- margin:calc((1lh - 1em) / 2) 0 0;
1153
- font-size:var(--tds-radio-font-size);
1154
- line-height:inherit;
1155
- -webkit-appearance:none;
1156
- -moz-appearance:none;
1157
- appearance:none;
1158
- cursor:var(--tds-radio-cursor);
1159
- background-color:var(--tds-radio-input-background-color);
1160
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1161
- border-radius:var(--tds-radio-input-border-radius);
1162
- transition-timing-function:var(--t-ease-in-out);
1163
- transition-duration:var(--t-duration-200);
1164
- transition-property:var(--tds-radio-transition-property);
1144
+ .tds-date-picker-input:has( + .tds-date-picker-button){
1145
+ padding-inline-end:0;
1165
1146
  }
1166
1147
 
1167
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1168
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1169
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1170
- }
1171
-
1172
- :is(.tds-radio input[type="radio"]):focus-visible{
1173
- outline:var(--t-focus-ring-outline);
1174
- outline-offset:var(--t-focus-ring-offset);
1175
- }
1148
+ .tds-date-picker-button{
1149
+ flex-shrink:0;
1150
+ align-self:center;
1151
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-date-picker-button-offset) * 2));
1152
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-date-picker-button-offset) * 2));
1153
+ padding:0;
1154
+ margin-inline-end:var(--tds-date-picker-button-offset);
1155
+ }
1176
1156
 
1177
- :is(.tds-radio input[type="radio"]):disabled{
1178
- pointer-events:none;
1179
- }
1157
+ .tds-date-picker-popover{
1158
+ --tds-date-picker-popover-font-size:var(--t-font-size-md);
1159
+ --tds-date-picker-popover-padding:var(--t-spacing-1-half);
1160
+ --tds-date-picker-popover-background-color:var(--t-surface-color-card);
1161
+ --tds-date-picker-popover-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
1162
+ --tds-date-picker-popover-interactive-timing-function:var(--t-ease-in-out);
1163
+ --tds-date-picker-popover-interactive-duration:var(--t-duration-200);
1164
+ --tds-date-picker-popover-interactive-property:color, background-color, border-color;
1180
1165
 
1181
- @media (prefers-reduced-motion: reduce){
1166
+ position:relative;
1167
+ overflow:hidden;
1168
+ background-color:var(--tds-date-picker-popover-background-color);
1169
+ border:var(--t-border-width) solid var(--t-border-color);
1170
+ border-radius:var(--t-border-radius);
1171
+ box-shadow:var(--tds-date-picker-popover-shadow);
1172
+ }
1182
1173
 
1183
- .tds-radio input[type="radio"]{
1184
- --tds-radio-transition-property:none;
1174
+ .tds-date-picker-popover[data-entering]{
1175
+ animation:tds-date-picker-popover var(--t-duration-300) var(--t-ease-out);
1185
1176
  }
1186
- }
1187
1177
 
1188
- .tds-radio:has(input:checked){
1189
- --tds-radio-input-background-color:var(--t-form-background-color);
1190
- --tds-radio-input-border-color:var(--t-border-color-control-info);
1191
- --tds-radio-input-border-width:4px;
1178
+ .tds-date-picker-popover[data-exiting]{
1179
+ animation:tds-date-picker-popover var(--t-duration-200) var(--t-ease-in) reverse;
1192
1180
  }
1193
1181
 
1194
- .tds-radio:has(input:checked) input:hover:not(:disabled){
1195
- --tds-radio-input-background-color:var(--t-form-background-color);
1196
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1197
- }
1198
-
1199
- .tds-radio:has(input:user-invalid){
1200
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1182
+ .tds-date-picker-popover[data-entering],.tds-date-picker-popover[data-exiting]{
1183
+ will-change:opacity, transform;
1201
1184
  }
1202
1185
 
1203
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1204
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1205
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1206
- }
1207
-
1208
- .tds-radio:has(input:disabled){
1209
- --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1210
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1211
-
1212
- --tds-radio-label-color:var(--t-form-color-disabled);
1213
- --tds-radio-description-color:var(--t-form-color-disabled);
1214
- --tds-radio-cursor:not-allowed;
1186
+ @keyframes tds-date-picker-popover{
1187
+ from{
1188
+ opacity:0;
1189
+ transform:translateY(-8px);
1215
1190
  }
1191
+ }
1216
1192
 
1217
- .tds-radio:has(input:disabled) input:checked{
1218
- --tds-radio-input-background-color:var(--t-form-background-color);
1219
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1193
+ @media (prefers-reduced-motion: reduce){
1194
+ .tds-date-picker-popover[data-entering],.tds-date-picker-popover[data-exiting]{
1195
+ animation:none;
1220
1196
  }
1197
+ }
1221
1198
 
1222
- .tds-radio-description{
1199
+ .tds-date-picker-overlay{
1200
+ position:absolute;
1201
+ inset:0;
1202
+ z-index:1;
1223
1203
  display:flex;
1224
- grid-area:2 / 2;
1225
- gap:var(--t-spacing-half);
1226
- align-items:flex-start;
1227
- padding-inline-start:var(--t-spacing-1);
1228
- margin:0;
1229
- font-size:var(--tds-radio-description-font-size);
1230
- line-height:var(--tds-radio-description-line-height);
1231
- color:var(--tds-radio-description-color);
1232
- cursor:text;
1204
+ background-color:var(--tds-date-picker-popover-background-color);
1233
1205
  }
1234
1206
 
1235
- .tds-radio--sm{
1236
- --tds-radio-line-height:1.35;
1237
- --tds-radio-input-size:var(--t-element-size-sm);
1238
- --tds-radio-font-size:var(--t-font-size-sm);
1239
- --tds-radio-description-font-size:var(--t-font-size-xs);
1240
- --tds-radio-description-line-height:1.3;
1207
+ .tds-date-picker-overlay-list{
1208
+ display:grid;
1209
+ flex:1;
1210
+ grid-template-columns:repeat(3, 1fr);
1211
+ gap:var(--t-spacing-half);
1212
+ padding-inline:var(--tds-date-picker-popover-padding);
1213
+ outline:0;
1214
+ scrollbar-color:var(--t-fill-color-transparency-dark-030) transparent;
1215
+ scrollbar-width:thin;
1241
1216
  }
1242
1217
 
1243
- .tds-toggle-switch{
1244
- --tds-toggle-switch-font-size:var(--t-font-size-md);
1245
- --tds-toggle-switch-cursor:pointer;
1246
- --tds-toggle-switch-display:inline-grid;
1247
- --tds-toggle-switch-line-height:1.4;
1248
-
1249
- --tds-toggle-switch-label-color:var(--t-form-color);
1250
-
1251
- --tds-toggle-switch-track-width:var(--t-container-size-md);
1252
- --tds-toggle-switch-track-outline:none;
1253
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
1254
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1255
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1218
+ .tds-date-picker-overlay--month .tds-date-picker-overlay-list{
1219
+ grid-template-rows:repeat(4, 1fr);
1220
+ padding-bottom:var(--tds-date-picker-popover-padding);
1221
+ }
1256
1222
 
1257
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1258
- --tds-toggle-switch-thumb-transform:translateX(0);
1259
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1223
+ .tds-date-picker-overlay--year .tds-date-picker-overlay-list{
1224
+ grid-auto-rows:var(--t-container-size-xl);
1225
+ padding-right:var(--t-spacing-1);
1226
+ overflow-y:auto;
1227
+ scroll-padding-block:calc(var(--t-focus-ring-width) + var(--t-focus-ring-offset));
1228
+ }
1260
1229
 
1261
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1262
- --tds-toggle-switch-description-line-height:1.35;
1263
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1264
- position:relative;
1265
-
1266
- display:var(--tds-toggle-switch-display);
1267
- grid-template-columns:auto;
1268
- grid-auto-columns:1fr;
1269
- gap:var(--t-spacing-fourth) 0;
1270
- -webkit-user-select:none;
1271
- -moz-user-select:none;
1272
- user-select:none;
1230
+ .tds-date-picker-overlay-cell{
1231
+ display:flex;
1232
+ align-items:center;
1233
+ justify-content:center;
1234
+ font-family:inherit;
1235
+ font-size:var(--tds-date-picker-popover-font-size);
1236
+ color:var(--t-text-color);
1237
+ cursor:pointer;
1238
+ outline:0;
1239
+ background-color:transparent;
1240
+ border:0;
1241
+ border-radius:var(--t-border-radius-md);
1242
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
1243
+ transition-duration:var(--t-duration-100);
1244
+ transition-property:var(--tds-date-picker-popover-interactive-property);
1273
1245
  }
1274
1246
 
1275
- .tds-toggle-switch input[type="checkbox"]{
1276
- position:absolute;
1277
- width:var(--tds-toggle-switch-track-width);
1278
- height:var(--tds-toggle-switch-track-height);
1279
- margin:0;
1280
- -webkit-appearance:none;
1281
- -moz-appearance:none;
1282
- appearance:none;
1283
- cursor:var(--tds-toggle-switch-cursor);
1284
- outline:var(--tds-toggle-switch-track-outline);
1285
- outline-offset:var(--t-focus-ring-offset);
1286
- background-color:transparent;
1287
- border:0;
1288
- border-radius:var(--t-border-radius-round);
1247
+ .tds-date-picker-overlay-cell[data-hovered]{
1248
+ background-color:var(--t-fill-color-button-neutral-outline-hover);
1289
1249
  }
1290
1250
 
1291
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1292
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1293
- }
1294
-
1295
- .tds-toggle-switch label{
1296
- display:inline-flex;
1297
- grid-area:1 / 2;
1298
- padding-inline-start:var(--t-spacing-1);
1299
- margin-top:-.09375em;
1300
- font-size:var(--tds-toggle-switch-font-size);
1301
- font-weight:var(--t-font-weight-normal);
1302
- line-height:var(--tds-toggle-switch-line-height);
1303
- color:var(--tds-toggle-switch-label-color);
1304
- cursor:var(--tds-toggle-switch-cursor);
1251
+ .tds-date-picker-overlay-cell[data-pressed]{
1252
+ background-color:var(--t-fill-color-button-neutral-outline-active);
1305
1253
  }
1306
1254
 
1307
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1308
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1255
+ .tds-date-picker-overlay-cell[data-selected]{
1256
+ font-weight:var(--t-font-weight-semibold);
1257
+ color:var(--t-text-color-inverted);
1258
+ background-color:var(--t-fill-color-interaction);
1309
1259
  }
1310
1260
 
1311
- .tds-toggle-switch:has(input:checked){
1312
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1313
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1261
+ .tds-date-picker-overlay-cell[data-focus-visible]{
1262
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
1314
1263
  }
1315
1264
 
1316
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1317
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1318
- }
1319
-
1320
- .tds-toggle-switch:has(input:disabled){
1321
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1322
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1323
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1324
- --tds-toggle-switch-cursor:not-allowed;
1265
+ .tds-date-picker-overlay-cell[data-selected][data-focus-visible]{
1266
+ outline-offset:var(--t-focus-ring-offset);
1325
1267
  }
1326
1268
 
1327
- .tds-toggle-switch-track{
1269
+ .tds-date-picker-calendar-heading{
1270
+ display:flex;
1271
+ flex:1;
1272
+ gap:var(--t-spacing-1);
1273
+ align-items:center;
1274
+ justify-content:flex-start;
1275
+ padding-inline-start:4px;
1276
+ }
1277
+
1278
+ .tds-date-picker-calendar-overlay-trigger{
1279
+ --_background-color:transparent;
1328
1280
  position:relative;
1329
- flex-shrink:0;
1330
- width:var(--tds-toggle-switch-track-width);
1331
- height:var(--tds-toggle-switch-track-height);
1332
- background-color:var(--tds-toggle-switch-track-background-color);
1333
- border-radius:var(--t-border-radius-round);
1334
- transition:var(--tds-toggle-switch-track-transition);
1281
+ padding:0;
1282
+ font-family:inherit;
1283
+ font-size:var(--tds-date-picker-popover-font-size);
1284
+ font-weight:var(--t-font-weight-semibold);
1285
+ font-feature-settings:"ss01", "ss02";
1286
+ color:var(--t-text-color);
1287
+ cursor:pointer;
1288
+ outline:0;
1289
+ background-color:transparent;
1290
+ border:0;
1291
+ border-radius:var(--t-border-radius-md);
1292
+ isolation:isolate;
1293
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
1294
+ transition-duration:var(--tds-date-picker-popover-interactive-duration);
1295
+ transition-property:var(--tds-date-picker-popover-interactive-property);
1335
1296
  }
1336
1297
 
1337
- .tds-toggle-switch-track::before{
1298
+ .tds-date-picker-calendar-overlay-trigger::before{
1338
1299
  position:absolute;
1339
- top:var(--t-spacing-fourth);
1340
- left:var(--t-spacing-fourth);
1341
- width:var(--tds-toggle-switch-thumb-size);
1342
- height:var(--tds-toggle-switch-thumb-size);
1300
+ inset:calc(var(--t-spacing-half) * -1);
1301
+ z-index:-1;
1302
+ pointer-events:inherit;
1343
1303
  content:"";
1344
- background-color:#fff;
1345
- border-radius:var(--t-border-radius-round);
1346
- transform:var(--tds-toggle-switch-thumb-transform);
1347
- transition:var(--tds-toggle-switch-thumb-transition);
1304
+ background-color:var(--_background-color);
1305
+ border-radius:inherit;
1348
1306
  }
1349
1307
 
1350
- @media (prefers-reduced-motion: reduce){
1351
-
1352
- .tds-toggle-switch-track{
1353
- --tds-toggle-switch-track-transition:none;
1354
- --tds-toggle-switch-thumb-transition:none;
1355
- }
1308
+ .tds-date-picker-calendar-overlay-trigger[data-hovered]{
1309
+ --_background-color:var(--t-fill-color-button-neutral-outline-hover);
1356
1310
  }
1357
1311
 
1358
- .tds-toggle-switch-description{
1359
- display:flex;
1360
- grid-area:2 / 2;
1361
- align-items:flex-start;
1362
- padding-inline-start:var(--t-spacing-1);
1363
- margin:0;
1364
- font-size:var(--tds-toggle-switch-description-font-size);
1365
- line-height:var(--tds-toggle-switch-description-line-height);
1366
- color:var(--tds-toggle-switch-description-color);
1367
- cursor:text;
1368
- }
1369
-
1370
- .tds-toggle-switch--sm{
1371
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
1372
- --tds-toggle-switch-line-height:1.35;
1373
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
1374
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1375
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1376
- --tds-toggle-switch-description-line-height:1.3;
1377
- }
1312
+ .tds-date-picker-calendar-overlay-trigger[data-pressed]{
1313
+ --_background-color:var(--t-fill-color-button-neutral-outline-active);
1314
+ }
1378
1315
 
1379
- .tds-toggle-switch--hide-label{
1380
- --tds-toggle-switch-display:inline-flex;
1381
- }
1316
+ .tds-date-picker-calendar-overlay-trigger[data-focus-visible]{
1317
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
1318
+ outline-offset:var(--t-focus-ring-offset);
1319
+ }
1382
1320
 
1383
- .tds-time-field-input{
1384
- --tds-field-date-segment-padding-inline:1px;
1385
- padding-block:var(--tds-field-padding-block);
1386
- padding-inline:var(--tds-field-padding-inline);
1387
- font-variant-numeric:tabular-nums;
1321
+ .tds-date-picker-calendar{
1322
+ inline-size:-moz-fit-content;
1323
+ inline-size:fit-content;
1324
+ font-size:var(--tds-date-picker-popover-font-size);
1388
1325
  }
1389
1326
 
1390
- .tds-number-stepper{
1391
- --tds-number-stepper-button-offset:4px;
1392
- --tds-number-stepper-button-gap:2px;
1327
+ .tds-date-picker-calendar-body{
1328
+ position:relative;
1329
+ padding:var(--tds-date-picker-popover-padding);
1330
+ padding-block-start:0;
1393
1331
  }
1394
1332
 
1395
- .tds-number-stepper--lg{
1396
- --tds-number-stepper-button-offset:5px;
1397
- --tds-number-stepper-button-gap:4px;
1333
+ .tds-date-picker-calendar-header{
1334
+ display:flex;
1335
+ align-items:center;
1336
+ justify-content:space-between;
1337
+ padding:var(--tds-date-picker-popover-padding);
1398
1338
  }
1399
1339
 
1400
- .tds-number-stepper-field:has([readonly]) .tds-number-stepper-button{
1401
- display:none;
1340
+ .tds-date-picker-calendar-title{
1341
+ padding:var(--t-spacing-half) var(--t-spacing-1);
1342
+ font-size:var(--tds-date-picker-popover-font-size);
1343
+ font-weight:var(--t-font-weight-semibold);
1402
1344
  }
1403
1345
 
1404
- .tds-number-stepper-input{
1346
+ .tds-date-picker-calendar-nav{
1405
1347
  display:flex;
1406
- flex:1;
1407
1348
  align-items:center;
1408
- min-inline-size:0;
1409
- padding-block:var(--tds-field-padding-block);
1410
- padding-inline:var(--tds-field-padding-inline);
1411
- font-family:inherit;
1412
- font-size:inherit;
1413
- color:inherit;
1349
+ justify-content:center;
1350
+ padding:var(--t-spacing-half);
1351
+ font-size:.875em;
1352
+ color:var(--t-text-color);
1353
+ cursor:pointer;
1414
1354
  outline:0;
1415
- background:transparent;
1355
+ background-color:transparent;
1416
1356
  border:0;
1357
+ border-radius:var(--t-border-radius-md);
1358
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
1359
+ transition-duration:var(--tds-date-picker-popover-interactive-duration);
1360
+ transition-property:var(--tds-date-picker-popover-interactive-property);
1417
1361
  }
1418
1362
 
1419
- .tds-number-stepper-input::-webkit-inner-spin-button,.tds-number-stepper-input::-webkit-outer-spin-button{
1420
- margin:0;
1421
- -webkit-appearance:none;
1422
- appearance:none;
1363
+ .tds-date-picker-calendar-nav[data-hovered]{
1364
+ background-color:var(--t-fill-color-button-neutral-outline-hover);
1423
1365
  }
1424
1366
 
1425
- .tds-number-stepper-button{
1426
- flex-shrink:0;
1427
- align-self:center;
1428
- inline-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
1429
- block-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
1430
- padding:0;
1431
- }
1367
+ .tds-date-picker-calendar-nav[data-pressed]{
1368
+ background-color:var(--t-fill-color-button-neutral-outline-active);
1369
+ }
1432
1370
 
1433
- .tds-number-stepper-button + .tds-number-stepper-button{
1434
- margin-inline-start:var(--tds-number-stepper-button-gap);
1371
+ .tds-date-picker-calendar-nav[data-focus-visible]{
1372
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
1373
+ outline-offset:var(--t-focus-ring-offset);
1435
1374
  }
1436
1375
 
1437
- .tds-number-stepper-button:last-of-type{
1438
- margin-inline-end:var(--tds-number-stepper-button-offset);
1376
+ .tds-date-picker-calendar-nav[data-disabled]{
1377
+ color:var(--t-text-color-disabled);
1378
+ cursor:not-allowed;
1439
1379
  }
1440
1380
 
1441
- .tds-input:has(textarea){
1442
- --tds-input-padding-block:6px;
1443
- --tds-input-resizer-size:var(--t-element-size-sm);
1444
- --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");
1381
+ .tds-date-picker-calendar-grid{
1382
+ font-feature-settings:"ss01", "ss02";
1383
+ border-collapse:collapse;
1445
1384
  }
1446
1385
 
1447
- @supports (x: attr(x type(*))){
1448
-
1449
- .tds-input:has(textarea){
1450
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1451
- }
1386
+ .tds-date-picker-calendar-grid :where(thead,tbody,tr,td,th){
1387
+ padding:0;
1388
+ border:0;
1452
1389
  }
1453
1390
 
1454
- .tds-input.tds-textarea--resize-vertical textarea{
1455
- resize:vertical;
1456
- }
1391
+ .tds-date-picker-calendar-header-cell{
1392
+ padding-block-end:var(--t-spacing-1);
1393
+ font-size:.875em;
1394
+ font-weight:var(--t-font-weight-medium);
1395
+ color:var(--t-text-color-secondary);
1396
+ text-align:center;
1397
+ -webkit-user-select:none;
1398
+ -moz-user-select:none;
1399
+ user-select:none;
1400
+ }
1457
1401
 
1458
- .tds-input.tds-textarea--resize-none textarea{
1459
- resize:none;
1460
- }
1402
+ .tds-date-picker-calendar-cell-button{
1403
+ position:relative;
1404
+ display:flex;
1405
+ align-items:center;
1406
+ justify-content:center;
1407
+ inline-size:2.25em;
1408
+ block-size:2.25em;
1409
+ color:var(--t-text-color);
1410
+ cursor:pointer;
1411
+ -webkit-user-select:none;
1412
+ -moz-user-select:none;
1413
+ user-select:none;
1414
+ outline:0;
1415
+ }
1461
1416
 
1462
- .tds-input.tds-textarea--resize-auto textarea{
1463
- resize:vertical;
1464
- }
1417
+ .tds-date-picker-calendar-cell-button::before{
1418
+ position:absolute;
1419
+ inset:0;
1420
+ z-index:-1;
1421
+ content:"";
1422
+ background-color:var(--_background-color);
1423
+ border-radius:50%;
1424
+ }
1465
1425
 
1466
- @supports (field-sizing: content){
1467
- .tds-input.tds-textarea--resize-auto textarea{
1468
- field-sizing:content;
1469
- resize:none;
1470
- }
1426
+ .tds-date-picker-calendar-cell-button[data-today]::before{
1427
+ box-shadow:inset 0 0 0 1.5px var(--t-border-color);
1471
1428
  }
1472
1429
 
1473
- .tds-input textarea{
1474
- --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1475
- --tds-input-scrollbar-thumb-color-hidden:transparent;
1476
- --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1477
- --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1478
- --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1479
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1480
- --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1481
- --tds-input-scrollbar-thumb-border-radius:999px;
1482
- --tds-input-scrollbar-thumb-border-width:3px;
1483
- --tds-input-scrollbar-track-margin-block:.125rem;
1484
- scrollbar-color:initial;
1485
- transition-timing-function:var(--t-ease-in-out);
1486
- transition-duration:var(--t-duration-200);
1487
- transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1488
- }
1430
+ .tds-date-picker-calendar-cell-button[data-outside-month]{
1431
+ display:none;
1432
+ }
1489
1433
 
1490
- @media (pointer: fine){
1491
- :is(.tds-input textarea)::-webkit-scrollbar{
1492
- width:12px;
1493
- height:12px;
1494
- cursor:default;
1495
- }
1434
+ .tds-date-picker-calendar-cell-button[data-hovered]{
1435
+ --_background-color:var(--t-fill-color-button-neutral-outline-hover);
1436
+ }
1496
1437
 
1497
- :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1498
- cursor:default;
1499
- background:var(--tds-input-scrollbar-thumb-color);
1500
- background-clip:content-box;
1501
- border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1502
- border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1503
- }
1438
+ .tds-date-picker-calendar-cell-button[data-pressed]{
1439
+ --_background-color:var(--t-fill-color-button-neutral-outline-active);
1440
+ }
1504
1441
 
1505
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1506
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1507
- }
1442
+ .tds-date-picker-calendar-cell-button[data-selected]{
1443
+ --_background-color:var(--t-fill-color-interaction);
1444
+ font-weight:var(--t-font-weight-semibold);
1445
+ color:var(--t-text-color-inverted);
1446
+ border-color:transparent;
1447
+ }
1508
1448
 
1509
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1510
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1511
- }
1449
+ .tds-date-picker-calendar-cell-button[data-unavailable]{
1450
+ color:var(--t-text-color-disabled);
1451
+ text-decoration:line-through;
1452
+ cursor:not-allowed;
1453
+ }
1512
1454
 
1513
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1514
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1515
- }
1455
+ .tds-date-picker-calendar-cell-button[data-disabled]{
1456
+ color:var(--t-text-color-disabled);
1457
+ }
1516
1458
 
1517
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
1518
- background:var(--tds-input-scrollbar-surface-color);
1519
- }
1459
+ .tds-date-picker-calendar-cell-button[data-focus-visible]{
1460
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
1461
+ outline-offset:-2px;
1462
+ }
1520
1463
 
1521
- :is(.tds-input textarea)::-webkit-resizer{
1522
- background:var(--tds-input-resizer-icon) no-repeat;
1523
- background-position:right bottom;
1524
- background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1525
- }
1464
+ .tds-date-picker-calendar-cell-button[data-focus-visible][data-selected]{
1465
+ outline-offset:var(--t-focus-ring-offset);
1466
+ }
1526
1467
 
1527
- :is(.tds-input textarea)::-webkit-scrollbar-track{
1528
- margin-block:var(--tds-input-scrollbar-track-margin-block);
1529
- cursor:default;
1530
- }
1468
+ .tds-date-picker-popover--lg{
1469
+ --tds-date-picker-popover-font-size:var(--t-font-size-lg);
1470
+ }
1531
1471
 
1532
- @supports (-moz-appearance: none){
1533
- :is(.tds-input textarea){
1534
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1535
- scrollbar-width:thin;
1536
- }
1472
+ .tds-number-stepper{
1473
+ --tds-number-stepper-button-offset:4px;
1474
+ --tds-number-stepper-button-gap:2px;
1475
+ }
1537
1476
 
1538
- @media (hover){
1539
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1540
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1541
- }
1542
- }
1543
- }
1477
+ .tds-number-stepper--lg{
1478
+ --tds-number-stepper-button-offset:5px;
1479
+ --tds-number-stepper-button-gap:4px;
1480
+ }
1481
+
1482
+ .tds-number-stepper-field:has([readonly]) .tds-number-stepper-button{
1483
+ display:none;
1484
+ }
1485
+
1486
+ .tds-number-stepper-input{
1487
+ display:flex;
1488
+ flex:1;
1489
+ align-items:center;
1490
+ min-inline-size:0;
1491
+ padding-block:var(--tds-field-padding-block);
1492
+ padding-inline:var(--tds-field-padding-inline);
1493
+ font-family:inherit;
1494
+ font-size:inherit;
1495
+ color:inherit;
1496
+ outline:0;
1497
+ background:transparent;
1498
+ border:0;
1499
+ }
1500
+
1501
+ .tds-number-stepper-input::-webkit-inner-spin-button,.tds-number-stepper-input::-webkit-outer-spin-button{
1502
+ margin:0;
1503
+ -webkit-appearance:none;
1504
+ appearance:none;
1505
+ }
1506
+
1507
+ .tds-number-stepper-button{
1508
+ flex-shrink:0;
1509
+ align-self:center;
1510
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
1511
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
1512
+ padding:0;
1513
+ }
1514
+
1515
+ .tds-number-stepper-button + .tds-number-stepper-button{
1516
+ margin-inline-start:var(--tds-number-stepper-button-gap);
1517
+ }
1518
+
1519
+ .tds-number-stepper-button:last-of-type{
1520
+ margin-inline-end:var(--tds-number-stepper-button-offset);
1544
1521
  }
1545
1522
 
1546
1523
  .tds-radio-group{
@@ -1626,1091 +1603,1115 @@
1626
1603
  --tds-radio-group-description-line-height:1.3;
1627
1604
  }
1628
1605
 
1629
- .tds-input{
1630
- --tds-input-border-color:var(--t-form-border-color);
1631
- --tds-input-border-color-hover:var(--t-form-border-color-hover);
1632
- --tds-input-background-color:var(--t-form-background-color);
1633
- --tds-input-color:var(--t-form-color);
1634
- --tds-input-font-size:var(--t-font-size-md);
1635
- --tds-input-description-color:var(--t-text-color-secondary);
1636
- --tds-input-description-invalid-icon-display:none;
1637
- --tds-input-min-height:var(--t-container-size-md);
1638
- --tds-input-padding-inline:var(--t-spacing-1);
1606
+ .tds-radio{
1607
+ --tds-radio-font-size:var(--t-font-size-md);
1608
+ --tds-radio-cursor:pointer;
1609
+ --tds-radio-line-height:1.4;
1610
+ --tds-radio-transition-property:border-width;
1639
1611
 
1640
- --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
1612
+ --tds-radio-input-size:var(--t-element-size-md);
1613
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
1614
+ --tds-radio-input-border-color:var(--t-form-border-color);
1615
+ --tds-radio-input-border-width:var(--t-form-border-width);
1616
+ --tds-radio-input-background-color:var(--t-form-background-color);
1641
1617
 
1642
- display:flex;
1643
- flex-direction:column;
1644
- gap:var(--t-spacing-half);
1618
+ --tds-radio-label-color:var(--t-form-color);
1619
+
1620
+ --tds-radio-description-font-size:var(--t-font-size-sm);
1621
+ --tds-radio-description-line-height:1.35;
1622
+ --tds-radio-description-color:var(--t-text-color-secondary);
1623
+
1624
+ position:relative;
1625
+ display:inline-grid;
1626
+ grid-template-columns:auto;
1627
+ grid-auto-columns:1fr;
1628
+ gap:var(--t-spacing-fourth) 0;
1629
+ line-height:var(--tds-radio-line-height);
1630
+ -webkit-user-select:none;
1631
+ -moz-user-select:none;
1632
+ user-select:none;
1645
1633
  }
1646
1634
 
1647
- .tds-input label{
1648
- font-size:var(--t-font-size-md);
1635
+ .tds-radio label{
1636
+ grid-area:1 / 2;
1637
+ padding-inline-start:var(--t-spacing-1);
1638
+ font-size:var(--tds-radio-font-size);
1649
1639
  font-weight:var(--t-font-weight-normal);
1650
- color:var(--t-text-color);
1640
+ color:var(--tds-radio-label-color);
1641
+ cursor:var(--tds-radio-cursor);
1651
1642
  }
1652
1643
 
1653
- .tds-input :is(input,textarea){
1654
- inline-size:100%;
1655
- block-size:auto;
1656
- min-block-size:var(--tds-input-min-height);
1657
- padding-block:var(--tds-input-padding-block);
1658
- padding-inline:var(--tds-input-padding-inline);
1659
- font-family:inherit;
1660
- font-size:var(--tds-input-font-size);
1661
- color:var(--tds-input-color);
1644
+ .tds-radio input[type="radio"]{
1645
+ position:relative;
1646
+ width:1em;
1647
+ height:1em;
1648
+ margin:calc((1lh - 1em) / 2) 0 0;
1649
+ font-size:var(--tds-radio-font-size);
1650
+ line-height:inherit;
1662
1651
  -webkit-appearance:none;
1663
1652
  -moz-appearance:none;
1664
1653
  appearance:none;
1665
- outline:var(--t-focus-ring-width) solid transparent;
1666
- outline-offset:0;
1667
- background-color:var(--tds-input-background-color);
1668
- border:var(--t-form-border-width) solid var(--tds-input-border-color);
1669
- border-radius:var(--t-form-border-radius);
1654
+ cursor:var(--tds-radio-cursor);
1655
+ background-color:var(--tds-radio-input-background-color);
1656
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1657
+ border-radius:var(--tds-radio-input-border-radius);
1670
1658
  transition-timing-function:var(--t-ease-in-out);
1671
1659
  transition-duration:var(--t-duration-200);
1672
- transition-property:var(--tds-input-transition-property);
1660
+ transition-property:var(--tds-radio-transition-property);
1673
1661
  }
1674
1662
 
1675
- :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
1676
- border-color:var(--tds-input-border-color-hover);
1677
- }
1678
-
1679
- :is(.tds-input :is(input,textarea)):focus{
1680
- outline-color:transparent;
1663
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1664
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1665
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1681
1666
  }
1682
1667
 
1683
- :is(.tds-input :is(input,textarea)):focus-visible{
1684
- outline-color:var(--t-focus-ring-color);
1668
+ :is(.tds-radio input[type="radio"]):focus-visible{
1669
+ outline:var(--t-focus-ring-outline);
1685
1670
  outline-offset:var(--t-focus-ring-offset);
1686
- border-color:var(--t-form-border-color-focus);
1687
- }
1688
-
1689
- :is(.tds-input :is(input,textarea))::-moz-placeholder{
1690
- color:var(--t-form-placeholder-color);
1691
- -moz-user-select:none;
1692
- user-select:none;
1693
1671
  }
1694
1672
 
1695
- :is(.tds-input :is(input,textarea))::placeholder{
1696
- color:var(--t-form-placeholder-color);
1697
- -webkit-user-select:none;
1698
- -moz-user-select:none;
1699
- user-select:none;
1673
+ :is(.tds-radio input[type="radio"]):disabled{
1674
+ pointer-events:none;
1700
1675
  }
1701
1676
 
1702
1677
  @media (prefers-reduced-motion: reduce){
1703
1678
 
1704
- .tds-input :is(input,textarea){
1705
- --tds-input-transition-property:none;
1679
+ .tds-radio input[type="radio"]{
1680
+ --tds-radio-transition-property:none;
1706
1681
  }
1707
1682
  }
1708
1683
 
1709
- .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
1710
- --tds-input-background-color:var(--t-form-background-color-error);
1711
- --tds-input-border-color:var(--t-form-border-color-error);
1712
- --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
1713
- --tds-input-description-color:var(--t-text-color-status-error);
1714
- --tds-input-description-invalid-icon-display:inline-block;
1684
+ .tds-radio:has(input:checked){
1685
+ --tds-radio-input-background-color:var(--t-form-background-color);
1686
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
1687
+ --tds-radio-input-border-width:4px;
1715
1688
  }
1716
1689
 
1717
- .tds-input:has(:is(input,textarea):required) label::after{
1718
- margin-left:.25ch;
1719
- color:var(--t-text-color-status-error);
1720
- content:"*";
1690
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
1691
+ --tds-radio-input-background-color:var(--t-form-background-color);
1692
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1721
1693
  }
1722
1694
 
1723
- .tds-input:where(:has(:is(input,textarea):disabled)){
1724
- --tds-input-border-color:var(--t-form-border-color-disabled);
1725
- --tds-input-background-color:var(--t-form-background-color-disabled);
1726
- --tds-input-color:var(--t-form-color-disabled);
1695
+ .tds-radio:has(input:user-invalid){
1696
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1727
1697
  }
1728
1698
 
1729
- .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
1730
- cursor:not-allowed;
1699
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1700
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1701
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1731
1702
  }
1732
1703
 
1733
- .tds-input:where(:has(:is(input,textarea)[readonly])){
1734
- --tds-input-border-color:var(--t-form-border-color-readonly);
1735
- --tds-input-background-color:var(--t-form-background-color-readonly);
1704
+ .tds-radio:has(input:disabled){
1705
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1706
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1707
+
1708
+ --tds-radio-label-color:var(--t-form-color-disabled);
1709
+ --tds-radio-description-color:var(--t-form-color-disabled);
1710
+ --tds-radio-cursor:not-allowed;
1736
1711
  }
1737
1712
 
1738
- .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
1739
- border-color:var(--tds-input-border-color-hover);
1713
+ .tds-radio:has(input:disabled) input:checked{
1714
+ --tds-radio-input-background-color:var(--t-form-background-color);
1715
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1740
1716
  }
1741
1717
 
1742
- .tds-input.tds-input--lg{
1743
- --tds-input-min-height:var(--t-container-size-lg);
1744
- --tds-input-font-size:var(--t-font-size-lg);
1745
- }
1746
-
1747
- .tds-input-description{
1718
+ .tds-radio-description{
1748
1719
  display:flex;
1720
+ grid-area:2 / 2;
1749
1721
  gap:var(--t-spacing-half);
1750
1722
  align-items:flex-start;
1723
+ padding-inline-start:var(--t-spacing-1);
1751
1724
  margin:0;
1752
- font-size:var(--t-font-size-sm);
1753
- line-height:1.35;
1754
- color:var(--tds-input-description-color, var(--t-text-color-secondary));
1725
+ font-size:var(--tds-radio-description-font-size);
1726
+ line-height:var(--tds-radio-description-line-height);
1727
+ color:var(--tds-radio-description-color);
1755
1728
  cursor:text;
1756
1729
  }
1757
1730
 
1758
- .tds-input-description .tds-input-description-invalid-icon{
1759
- display:var(--tds-input-description-invalid-icon-display, none);
1760
- flex-shrink:0;
1761
- margin-block-start:calc(.5lh - .5em);
1762
- line-height:1.35;
1763
- }
1764
-
1765
- .tds-field{
1766
- --tds-field-border-color:var(--t-form-border-color);
1767
- --tds-field-border-color-hover:var(--t-form-border-color-hover);
1768
- --tds-field-border-color-active:var(--t-form-border-color-focus);
1769
- --tds-field-background-color:var(--t-form-background-color);
1770
- --tds-field-color:var(--t-form-color);
1771
- --tds-field-placeholder-color:var(--t-form-placeholder-color);
1772
- --tds-field-font-size:var(--t-font-size-md);
1773
- --tds-field-min-height:var(--t-container-size-md);
1774
- --tds-field-padding-block:6px;
1775
- --tds-field-padding-inline:var(--t-spacing-1);
1776
- --tds-field-description-color:var(--t-text-color-secondary);
1777
- --tds-field-description-invalid-icon-display:none;
1731
+ .tds-radio--sm{
1732
+ --tds-radio-line-height:1.35;
1733
+ --tds-radio-input-size:var(--t-element-size-sm);
1734
+ --tds-radio-font-size:var(--t-font-size-sm);
1735
+ --tds-radio-description-font-size:var(--t-font-size-xs);
1736
+ --tds-radio-description-line-height:1.3;
1737
+ }
1778
1738
 
1779
- position:relative;
1780
- display:flex;
1781
- flex-direction:column;
1782
- gap:var(--t-spacing-half);
1739
+ .tds-input:has(textarea){
1740
+ --tds-input-padding-block:6px;
1741
+ --tds-input-resizer-size:var(--t-element-size-sm);
1742
+ --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");
1783
1743
  }
1784
1744
 
1785
- .tds-field[data-required] .tds-field-label::after{
1786
- margin-left:.25ch;
1787
- color:var(--t-text-color-status-error);
1788
- content:"*";
1789
- }
1745
+ @supports (x: attr(x type(*))){
1790
1746
 
1791
- .tds-field[data-invalid]{
1792
- --tds-field-border-color:var(--t-form-border-color-error);
1793
- --tds-field-border-color-hover:var(--t-form-border-color-error-hover);
1794
- --tds-field-border-color-active:var(--t-form-border-color-error-hover);
1795
- --tds-field-background-color:var(--t-form-background-color-error);
1796
- --tds-field-description-color:var(--t-text-color-status-error);
1797
- --tds-field-description-invalid-icon-display:inline-block;
1747
+ .tds-input textarea{
1748
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1749
+ }
1798
1750
  }
1799
1751
 
1800
- .tds-field[data-disabled]{
1801
- --tds-field-border-color:var(--t-form-border-color-disabled);
1802
- --tds-field-background-color:var(--t-form-background-color-disabled);
1803
- --tds-field-color:var(--t-form-color-disabled);
1804
- --tds-field-placeholder-color:var(--t-form-color-disabled);
1805
- }
1752
+ .tds-input.tds-textarea--resize-vertical textarea{
1753
+ resize:vertical;
1754
+ }
1806
1755
 
1807
- .tds-field[data-disabled] .tds-field-control{
1808
- cursor:not-allowed;
1756
+ .tds-input.tds-textarea--resize-none textarea{
1757
+ resize:none;
1809
1758
  }
1810
1759
 
1811
- .tds-field--lg{
1812
- --tds-field-min-height:var(--t-container-size-lg);
1813
- --tds-field-font-size:var(--t-font-size-lg);
1814
- }
1760
+ .tds-input.tds-textarea--resize-auto textarea{
1761
+ resize:vertical;
1762
+ }
1815
1763
 
1816
- .tds-field-label{
1817
- font-size:var(--t-font-size-md);
1818
- font-weight:var(--t-font-weight-normal);
1819
- color:var(--t-text-color);
1820
- cursor:default;
1821
- }
1764
+ @supports (field-sizing: content){
1765
+ .tds-input.tds-textarea--resize-auto textarea{
1766
+ field-sizing:content;
1767
+ resize:none;
1768
+ }
1769
+ }
1822
1770
 
1823
- .tds-field-control{
1824
- display:flex;
1825
- align-items:center;
1826
- inline-size:100%;
1827
- min-block-size:var(--tds-field-min-height);
1828
- font-family:inherit;
1829
- font-size:var(--tds-field-font-size);
1830
- line-height:1;
1831
- color:var(--tds-field-color);
1832
- -webkit-appearance:none;
1833
- -moz-appearance:none;
1834
- appearance:none;
1835
- cursor:text;
1836
- outline:var(--t-focus-ring-width) solid transparent;
1837
- outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
1838
- outline-offset:0;
1839
- background-color:var(--tds-field-background-color);
1840
- border:var(--t-form-border-width) solid var(--tds-field-border-color);
1841
- border-radius:var(--t-form-border-radius);
1771
+ .tds-input textarea{
1772
+ --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1773
+ --tds-input-scrollbar-thumb-color-hidden:transparent;
1774
+ --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1775
+ --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1776
+ --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1777
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1778
+ --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1779
+ --tds-input-scrollbar-thumb-border-radius:999px;
1780
+ --tds-input-scrollbar-thumb-border-width:3px;
1781
+ --tds-input-scrollbar-track-margin-block:.125rem;
1782
+ scrollbar-color:initial;
1842
1783
  transition-timing-function:var(--t-ease-in-out);
1843
1784
  transition-duration:var(--t-duration-200);
1844
- transition-property:background-color, border-color, outline-color, outline-offset;
1785
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1845
1786
  }
1846
1787
 
1847
- .tds-field-control[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
1848
- border-color:var(--tds-field-border-color-hover);
1849
- }
1788
+ @media (pointer: fine){
1789
+ :is(.tds-input textarea)::-webkit-scrollbar{
1790
+ width:12px;
1791
+ height:12px;
1792
+ cursor:default;
1793
+ }
1850
1794
 
1851
- .tds-field-control[data-focus-within]{
1852
- outline-color:var(--t-focus-ring-color);
1853
- outline-offset:var(--t-focus-ring-offset);
1854
- border-color:var(--tds-field-border-color-active);
1855
- }
1795
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1796
+ cursor:default;
1797
+ background:var(--tds-input-scrollbar-thumb-color);
1798
+ background-clip:content-box;
1799
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1800
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1801
+ }
1856
1802
 
1857
- .tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly]){
1858
- --tds-field-border-color:var(--t-form-border-color-readonly);
1859
- --tds-field-border-color-hover:var(--t-form-border-color-readonly);
1860
- --tds-field-background-color:var(--t-form-background-color-readonly);
1861
- color:var(--t-form-color-readonly);
1862
- }
1803
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1804
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1805
+ }
1863
1806
 
1864
- [data-focus-within]:is(.tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly])){
1865
- border-color:var(--t-form-border-color-hover);
1807
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1808
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1866
1809
  }
1867
1810
 
1868
- .tds-field-description{
1869
- display:flex;
1870
- gap:var(--t-spacing-half);
1871
- align-items:flex-start;
1872
- margin:0;
1873
- font-size:var(--t-font-size-sm);
1874
- line-height:1.35;
1875
- color:var(--tds-field-description-color, var(--t-text-color-secondary));
1876
- cursor:text;
1877
- }
1878
-
1879
- .tds-field-description .tds-field-description-invalid-icon{
1880
- display:var(--tds-field-description-invalid-icon-display, none);
1881
- flex-shrink:0;
1882
- margin-block-start:calc(.5lh - .5em);
1883
- line-height:1.35;
1884
- }
1811
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1812
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1813
+ }
1885
1814
 
1886
- .tds-field-date-segment{
1887
- padding-inline:var(--tds-field-date-segment-padding-inline, 2px);
1888
- text-align:end;
1889
- text-wrap:nowrap;
1890
- caret-color:transparent;
1891
- border-radius:var(--t-border-radius-sm);
1892
- }
1815
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
1816
+ background:var(--tds-input-scrollbar-surface-color);
1817
+ }
1893
1818
 
1894
- .tds-field-date-segment[data-placeholder]{
1895
- color:var(--tds-field-placeholder-color);
1896
- }
1819
+ :is(.tds-input textarea)::-webkit-resizer{
1820
+ background:var(--tds-input-resizer-icon) no-repeat;
1821
+ background-position:right bottom;
1822
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1823
+ }
1897
1824
 
1898
- .tds-field-date-segment[data-focused]{
1899
- color:var(--t-text-color-inverted);
1900
- outline:0;
1901
- background-color:var(--t-fill-color-interaction);
1902
- }
1825
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
1826
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
1827
+ cursor:default;
1828
+ }
1903
1829
 
1904
- .tds-field-date-segment-separator{
1905
- padding-inline:0;
1906
- color:var(--tds-field-placeholder-color);
1907
- }
1830
+ @supports (-moz-appearance: none){
1831
+ :is(.tds-input textarea){
1832
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1833
+ scrollbar-width:thin;
1834
+ }
1908
1835
 
1909
- .tds-field-date-segment:not([data-placeholder]) + .tds-field-date-segment-separator{
1910
- color:var(--tds-field-color);
1911
- }
1836
+ @media (hover){
1837
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1838
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1839
+ }
1840
+ }
1841
+ }
1842
+ }
1912
1843
 
1913
- .tds-select{
1914
- --tds-select-border-color:var(--t-form-border-color);
1915
- --tds-select-border-color-hover:var(--t-form-border-color-hover);
1916
- --tds-select-border-color-active:var(--t-form-border-color-hover);
1917
- --tds-select-background-color:var(--t-form-background-color);
1918
- --tds-select-color:var(--t-form-color);
1919
- --tds-select-placeholder-color:var(--t-form-placeholder-color);
1920
- --tds-select-font-size:var(--t-font-size-md);
1921
- --tds-select-min-height:var(--t-container-size-md);
1922
- --tds-select-padding-block:0;
1923
- --tds-select-description-color:var(--t-text-color-secondary);
1924
- --tds-select-description-invalid-icon-display:none;
1925
- --tds-select-transition-property:background-color, border-color, outline-color, outline-offset;
1926
- --tds-select-background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEzLDZsLTUsNWwtNSwtNXoiIGZpbGw9IiMzRDNEM0QiLz48L3N2Zz4=");
1927
- --tds-select-caret-size:1em;
1928
- --tds-select-caret-inline-offset:.75em;
1929
- --tds-select-caret-transition:transform var(--t-duration-300) var(--t-ease-in-out);
1844
+ .tds-toggle-switch{
1845
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
1846
+ --tds-toggle-switch-cursor:pointer;
1847
+ --tds-toggle-switch-display:inline-grid;
1848
+ --tds-toggle-switch-line-height:1.4;
1930
1849
 
1931
- --tds-select-dropdown-background-color:var(--t-surface-color-card);
1932
- --tds-select-dropdown-border:1px solid var(--t-border-color);
1933
- --tds-select-dropdown-padding:var(--t-spacing-1);
1934
- --tds-select-dropdown-margin-block:5px;
1935
- --tds-select-dropdown-scrollbar-color:#0004 #0000;
1936
- --tds-select-dropdown-scrollbar-width:thin;
1937
- --tds-select-dropdown-border-radius:var(--t-border-radius);
1938
- --tds-select-dropdown-box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
1939
- --tds-select-dropdown-scroll-behavior:smooth;
1940
- --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;
1941
- --tds-select-dropdown-closed-opacity:0;
1942
- --tds-select-dropdown-open-opacity:1;
1943
- --tds-select-dropdown-closed-translate:0 -8px;
1944
- --tds-select-dropdown-open-translate:0 0;
1850
+ --tds-toggle-switch-label-color:var(--t-form-color);
1945
1851
 
1946
- --tds-select-option-gap:var(--t-spacing-1);
1947
- --tds-select-option-padding-block:var(--t-spacing-1);
1948
- --tds-select-option-padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1949
- --tds-select-option-font-size:1rem;
1950
- --tds-select-option-color:var(--t-text-color);
1951
- --tds-select-option-background-hover:var(--t-fill-color-neutral-070);
1952
- --tds-select-option-background-active:var(--t-fill-color-button-interaction-ghost-active);
1953
- --tds-select-option-border-radius:var(--t-border-radius);
1852
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
1853
+ --tds-toggle-switch-track-outline:none;
1854
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
1855
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1856
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1954
1857
 
1955
- --tds-select-group-label-padding-block-start:var(--t-spacing-2);
1956
- --tds-select-group-label-padding-block:var(--tds-select-group-label-padding-block-start) var(--t-spacing-1);
1957
- --tds-select-group-label-padding-inline:var(--t-spacing-1);
1958
- --tds-select-group-label-font-size:var(--t-font-size-sm);
1959
- --tds-select-group-label-font-weight:var(--t-font-weight-semibold);
1960
- --tds-select-group-label-letter-spacing:0;
1961
- --tds-select-group-label-color:var(--t-text-color-secondary);
1962
- --tds-select-group-label-color-stuck:var(--t-text-color-headline);
1963
- --tds-select-group-label-background:var(--tds-select-dropdown-background-color);
1964
- --tds-select-group-label-transition:color var(--t-duration-200) var(--t-ease-in-out);
1858
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1859
+ --tds-toggle-switch-thumb-transform:translateX(0);
1860
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1965
1861
 
1862
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1863
+ --tds-toggle-switch-description-line-height:1.35;
1864
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1966
1865
  position:relative;
1967
- display:flex;
1968
- flex-direction:column;
1969
- gap:var(--t-spacing-half);
1970
- }
1971
1866
 
1972
- .tds-select :is(label,.tds-select-label){
1973
- font-size:var(--t-font-size-md);
1974
- font-weight:var(--t-font-weight-normal);
1975
- color:var(--t-text-color);
1976
- cursor:default;
1977
- }
1867
+ display:var(--tds-toggle-switch-display);
1868
+ grid-template-columns:auto;
1869
+ grid-auto-columns:1fr;
1870
+ gap:var(--t-spacing-fourth) 0;
1871
+ -webkit-user-select:none;
1872
+ -moz-user-select:none;
1873
+ user-select:none;
1874
+ }
1978
1875
 
1979
- .tds-select :is(select,button){
1980
- position:relative;
1981
- place-items:center;
1982
- inline-size:100%;
1983
- min-block-size:var(--tds-select-min-height);
1984
- padding-block:var(--tds-select-padding-block);
1985
- padding-inline:var(--t-spacing-1);
1986
- padding-inline-end:calc(var(--t-spacing-1) + var(--tds-select-caret-size) + .5em);
1987
- font-family:inherit;
1988
- font-size:var(--tds-select-font-size);
1989
- line-height:1.15;
1990
- color:var(--tds-select-color);
1991
- text-align:left;
1876
+ .tds-toggle-switch input[type="checkbox"]{
1877
+ position:absolute;
1878
+ width:var(--tds-toggle-switch-track-width);
1879
+ height:var(--tds-toggle-switch-track-height);
1880
+ margin:0;
1992
1881
  -webkit-appearance:none;
1993
1882
  -moz-appearance:none;
1994
1883
  appearance:none;
1995
- cursor:var(--tds-select-cursor, default);
1996
- outline:var(--t-focus-ring-width) solid transparent;
1997
- outline-offset:0;
1998
- background-color:var(--tds-select-background-color);
1999
- background-image:var(--tds-select-background-image);
2000
- background-repeat:no-repeat;
2001
- background-position:right var(--tds-select-caret-inline-offset) top 50%;
2002
- background-size:var(--tds-select-caret-size);
2003
- border:var(--t-form-border-width) solid var(--tds-select-border-color);
2004
- border-radius:var(--t-form-border-radius);
2005
- transition-timing-function:var(--t-ease-in-out);
2006
- transition-duration:var(--t-duration-300);
2007
- transition-property:var(--tds-select-transition-property);
1884
+ cursor:var(--tds-toggle-switch-cursor);
1885
+ outline:var(--tds-toggle-switch-track-outline);
1886
+ outline-offset:var(--t-focus-ring-offset);
1887
+ background-color:transparent;
1888
+ border:0;
1889
+ border-radius:var(--t-border-radius-round);
2008
1890
  }
2009
1891
 
2010
- :is(.tds-select :is(select,button)):hover:not(:disabled,:focus,:focus-visible,:focus-within,:active,:open){
2011
- border-color:var(--tds-select-border-color-hover);
2012
- }
2013
-
2014
- :is(.tds-select :is(select,button)):focus{
2015
- outline-color:var(--t-focus-ring-color);
2016
- outline-offset:var(--t-focus-ring-offset);
2017
- border-color:var(--tds-select-border-color-active);
2018
- }
2019
-
2020
- :is(.tds-select :is(select,button)):required:invalid,:is(.tds-select :is(select,button)):has(option[hidden][disabled][value=""]:checked){
2021
- color:var(--tds-select-placeholder-color);
1892
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1893
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2022
1894
  }
2023
1895
 
2024
- .tds-select:has(select:user-invalid,[aria-invalid="true"]),.tds-select.tds-select--invalid{
2025
- --tds-select-border-color:var(--t-form-border-color-error);
2026
- --tds-select-border-color-hover:var(--t-form-border-color-error-hover);
2027
- --tds-select-border-color-active:var(--t-form-border-color-error-hover);
2028
- --tds-select-background-color:var(--t-form-background-color-error);
2029
- --tds-select-description-color:var(--t-text-color-status-error);
2030
- --tds-select-description-invalid-icon-display:inline-block;
1896
+ .tds-toggle-switch label{
1897
+ display:inline-flex;
1898
+ grid-area:1 / 2;
1899
+ padding-inline-start:var(--t-spacing-1);
1900
+ margin-top:-.09375em;
1901
+ font-size:var(--tds-toggle-switch-font-size);
1902
+ font-weight:var(--t-font-weight-normal);
1903
+ line-height:var(--tds-toggle-switch-line-height);
1904
+ color:var(--tds-toggle-switch-label-color);
1905
+ cursor:var(--tds-toggle-switch-cursor);
2031
1906
  }
2032
1907
 
2033
- .tds-select:has(select:required,[aria-required="true"]) :is(label,.tds-select-label)::after{
2034
- margin-left:.25ch;
2035
- color:var(--t-text-color-status-error);
2036
- content:"*";
2037
- }
2038
-
2039
- .tds-select:has(:is(select,button[role="combobox"]):is(:disabled,[aria-disabled="true"])){
2040
- --tds-select-border-color:var(--t-form-border-color-disabled);
2041
- --tds-select-background-color:var(--t-form-background-color-disabled);
2042
- --tds-select-color:var(--t-form-color-disabled);
2043
- --tds-select-cursor:not-allowed;
1908
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1909
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2044
1910
  }
2045
1911
 
2046
- .tds-select:has( > [popover]:popover-open) > button{
2047
- border-color:var(--tds-select-border-color-active);
1912
+ .tds-toggle-switch:has(input:checked){
1913
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1914
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2048
1915
  }
2049
1916
 
2050
- :is(.tds-select:has( > [popover]:popover-open) > button)::after{
2051
- transform:rotate(.5turn);
1917
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1918
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2052
1919
  }
2053
1920
 
2054
- .tds-select :is(hr,li[role="separator"]){
2055
- margin-block:var(--t-spacing-half);
2056
- color:var(--tds-select-border-color);
2057
- border:0;
2058
- border-top:1px solid;
2059
- }
2060
-
2061
- .tds-select :is(li[role="option"],option:not([hidden])){
2062
- display:block;
2063
- padding-block:var(--tds-select-option-padding-block);
2064
- padding-inline:var(--tds-select-option-padding-inline);
2065
- overflow:hidden;
2066
- text-overflow:ellipsis;
2067
- font-size:var(--tds-select-option-font-size);
2068
- line-height:1;
2069
- color:var(--tds-select-option-color);
2070
- white-space:nowrap;
2071
- cursor:default;
2072
- border-radius:var(--tds-select-option-border-radius);
1921
+ .tds-toggle-switch:has(input:disabled){
1922
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1923
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1924
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1925
+ --tds-toggle-switch-cursor:not-allowed;
2073
1926
  }
2074
1927
 
2075
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):focus-visible{
2076
- outline:0;
2077
- }
2078
-
2079
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is(:focus,:hover,.tds-select-option--active):not([disabled],[aria-disabled="true"]){
2080
- background:var(--tds-select-option-background-hover);
2081
- }
2082
-
2083
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-selected="true"],:checked):not([disabled],[aria-disabled="true"]){
2084
- background:var(--tds-select-option-background-active);
2085
- }
2086
-
2087
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled){
2088
- color:var(--t-form-color-disabled);
2089
- cursor:not-allowed;
2090
- }
2091
-
2092
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled):is(:focus,:hover){
2093
- background:transparent;
2094
- }
1928
+ .tds-toggle-switch-track{
1929
+ position:relative;
1930
+ flex-shrink:0;
1931
+ width:var(--tds-toggle-switch-track-width);
1932
+ height:var(--tds-toggle-switch-track-height);
1933
+ background-color:var(--tds-toggle-switch-track-background-color);
1934
+ border-radius:var(--t-border-radius-round);
1935
+ transition:var(--tds-toggle-switch-track-transition);
1936
+ }
2095
1937
 
2096
- .tds-select :is(li[role="presentation"],legend){
2097
- position:sticky;
2098
- inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
2099
- z-index:1;
2100
- float:inline-start;
2101
- inline-size:100%;
2102
- padding-block:var(--tds-select-group-label-padding-block);
2103
- padding-inline:var(--tds-select-group-label-padding-inline);
2104
- container-type:scroll-state;
2105
- font-size:var(--tds-select-group-label-font-size);
2106
- font-weight:var(--tds-select-group-label-font-weight);
2107
- letter-spacing:var(--tds-select-group-label-letter-spacing);
2108
- background:var(--tds-select-group-label-background);
2109
- text-box:trim-both cap alphabetic;
1938
+ .tds-toggle-switch-track::before{
1939
+ position:absolute;
1940
+ top:var(--t-spacing-fourth);
1941
+ left:var(--t-spacing-fourth);
1942
+ width:var(--tds-toggle-switch-thumb-size);
1943
+ height:var(--tds-toggle-switch-thumb-size);
1944
+ content:"";
1945
+ background-color:#fff;
1946
+ border-radius:var(--t-border-radius-round);
1947
+ transform:var(--tds-toggle-switch-thumb-transform);
1948
+ transition:var(--tds-toggle-switch-thumb-transition);
2110
1949
  }
2111
1950
 
2112
- :is(.tds-select :is(li[role="presentation"],legend)) span{
2113
- display:inline-flex;
2114
- gap:var(--t-spacing-half);
2115
- align-items:center;
2116
- color:var(--tds-select-group-label-color);
2117
- transition:var(--tds-select-group-label-transition);
2118
- }
2119
-
2120
- @container scroll-state(stuck){
1951
+ @media (prefers-reduced-motion: reduce){
2121
1952
 
2122
- :is(.tds-select :is(li[role="presentation"],legend)) span{
2123
- color:var(--tds-select-group-label-color-stuck);
2124
- }
1953
+ .tds-toggle-switch-track{
1954
+ --tds-toggle-switch-track-transition:none;
1955
+ --tds-toggle-switch-thumb-transition:none;
1956
+ }
1957
+ }
2125
1958
 
2126
- @media (forced-colors: active){
1959
+ .tds-toggle-switch-description{
1960
+ display:flex;
1961
+ grid-area:2 / 2;
1962
+ align-items:flex-start;
1963
+ padding-inline-start:var(--t-spacing-1);
1964
+ margin:0;
1965
+ font-size:var(--tds-toggle-switch-description-font-size);
1966
+ line-height:var(--tds-toggle-switch-description-line-height);
1967
+ color:var(--tds-toggle-switch-description-color);
1968
+ cursor:text;
1969
+ }
2127
1970
 
2128
- :is(.tds-select :is(li[role="presentation"],legend)) span{
2129
- color:var(--tds-select-group-label-color-stuck);
2130
- }
2131
- }
2132
- }
1971
+ .tds-toggle-switch--sm{
1972
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
1973
+ --tds-toggle-switch-line-height:1.35;
1974
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
1975
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1976
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1977
+ --tds-toggle-switch-description-line-height:1.3;
1978
+ }
2133
1979
 
2134
- .tds-select.tds-select--lg{
2135
- --tds-select-min-height:var(--t-container-size-lg);
2136
- --tds-select-font-size:var(--t-font-size-lg);
2137
- }
1980
+ .tds-toggle-switch--hide-label{
1981
+ --tds-toggle-switch-display:inline-flex;
1982
+ }
2138
1983
 
2139
- @media (prefers-reduced-motion: reduce){
1984
+ .tds-input{
1985
+ --tds-input-border-color:var(--t-form-border-color);
1986
+ --tds-input-border-color-hover:var(--t-form-border-color-hover);
1987
+ --tds-input-background-color:var(--t-form-background-color);
1988
+ --tds-input-color:var(--t-form-color);
1989
+ --tds-input-font-size:var(--t-font-size-md);
1990
+ --tds-input-description-color:var(--t-text-color-secondary);
1991
+ --tds-input-description-invalid-icon-display:none;
1992
+ --tds-input-min-height:var(--t-container-size-md);
1993
+ --tds-input-padding-inline:var(--t-spacing-1);
2140
1994
 
2141
- .tds-select{
2142
- --tds-select-transition-property:none;
2143
- --tds-select-dropdown-transition:none;
2144
- --tds-select-dropdown-scroll-behavior:auto;
2145
- --tds-select-dropdown-closed-translate:none;
2146
- --tds-select-dropdown-open-translate:none;
2147
- --tds-select-caret-transition:none;
2148
- }
2149
- }
1995
+ --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
2150
1996
 
2151
- .tds-select-description{
2152
1997
  display:flex;
1998
+ flex-direction:column;
2153
1999
  gap:var(--t-spacing-half);
2154
- align-items:flex-start;
2155
- margin:0;
2156
- font-size:var(--t-font-size-sm);
2157
- line-height:1.35;
2158
- color:var(--tds-select-description-color, var(--t-text-color-secondary));
2159
- cursor:text;
2160
2000
  }
2161
2001
 
2162
- .tds-select-description .tds-select-description-invalid-icon{
2163
- display:var(--tds-select-description-invalid-icon-display, none);
2164
- flex-shrink:0;
2165
- margin-block-start:calc(.5lh - .5em);
2166
- line-height:1.35;
2002
+ .tds-input label{
2003
+ font-size:var(--t-font-size-md);
2004
+ font-weight:var(--t-font-weight-normal);
2005
+ color:var(--t-text-color);
2167
2006
  }
2168
2007
 
2169
- .tds-select > .tds-select-hidden-select{
2170
- position:absolute;
2171
- inline-size:1px;
2172
- block-size:1px;
2173
- padding:0;
2174
- margin:0;
2175
- pointer-events:none;
2176
- opacity:0;
2177
- }
2178
-
2179
- .tds-select:has(> button){
2180
- anchor-scope:--tds-select-anchor;
2181
- }
2182
-
2183
- .tds-select:has( > button) > button{
2184
- display:block;
2185
- padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
2186
- anchor-name:--tds-select-anchor;
2187
- overflow:hidden;
2188
- text-overflow:ellipsis;
2189
- color:var(--tds-select-placeholder-color);
2190
- white-space:nowrap;
2191
- background-image:none;
2192
- 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);
2193
- -webkit-tap-highlight-color:transparent;
2008
+ .tds-input :is(input,textarea){
2009
+ inline-size:100%;
2010
+ block-size:auto;
2011
+ min-block-size:var(--tds-input-min-height);
2012
+ padding-block:var(--tds-input-padding-block);
2013
+ padding-inline:var(--tds-input-padding-inline);
2014
+ font-family:inherit;
2015
+ font-size:var(--tds-input-font-size);
2016
+ color:var(--tds-input-color);
2017
+ -webkit-appearance:none;
2018
+ -moz-appearance:none;
2019
+ appearance:none;
2020
+ outline:var(--t-focus-ring-width) solid transparent;
2021
+ outline-offset:0;
2022
+ background-color:var(--tds-input-background-color);
2023
+ border:var(--t-form-border-width) solid var(--tds-input-border-color);
2024
+ border-radius:var(--t-form-border-radius);
2025
+ transition-timing-function:var(--t-ease-in-out);
2026
+ transition-duration:var(--t-duration-200);
2027
+ transition-property:var(--tds-input-transition-property);
2194
2028
  }
2195
2029
 
2196
- :is(.tds-select:has( > button) > button)::after{
2197
- position:absolute;
2198
- inset-block:0;
2199
- inset-inline-end:var(--tds-select-caret-inline-offset);
2200
- width:var(--tds-select-caret-size);
2201
- height:var(--tds-select-caret-size);
2202
- margin-block:auto;
2203
- line-height:1;
2204
- pointer-events:none;
2205
- content:var(--tds-select-background-image);
2206
- transform:rotate(0);
2207
- transition:var(--tds-select-caret-transition);
2030
+ :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
2031
+ border-color:var(--tds-input-border-color-hover);
2208
2032
  }
2209
2033
 
2210
- .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
2211
- color:var(--tds-select-color);
2212
- }
2213
-
2214
- .tds-select:has( > button) [popover]{
2215
- inset:auto;
2216
- inline-size:-moz-max-content;
2217
- inline-size:max-content;
2218
- min-inline-size:anchor-size(width);
2219
- max-inline-size:100vi;
2220
- max-block-size:min(50vh, 20rem);
2221
- padding:var(--tds-select-dropdown-padding);
2222
- margin-block:var(--tds-select-dropdown-margin-block);
2223
- position-area:block-end span-inline-start;
2224
- position-anchor:--tds-select-anchor;
2225
- position-try-fallbacks:flip-block, flip-inline;
2226
- overflow:auto;
2227
- overflow-x:hidden;
2228
- scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
2229
- overscroll-behavior:none;
2230
- -webkit-user-select:none;
2231
- -moz-user-select:none;
2232
- user-select:none;
2233
- scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
2234
- scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
2235
- scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
2236
- background:var(--tds-select-dropdown-background-color);
2237
- border:var(--tds-select-dropdown-border);
2238
- border-radius:var(--tds-select-dropdown-border-radius);
2239
- box-shadow:var(--tds-select-dropdown-box-shadow);
2240
- opacity:var(--tds-select-dropdown-open-opacity);
2241
- translate:var(--tds-select-dropdown-open-translate);
2242
- transition:var(--tds-select-dropdown-transition);
2243
- }
2034
+ :is(.tds-input :is(input,textarea)):focus{
2035
+ outline-color:transparent;
2036
+ }
2244
2037
 
2245
- :is(.tds-select:has( > button) [popover]):not(:popover-open){
2246
- opacity:var(--tds-select-dropdown-closed-opacity);
2247
- translate:var(--tds-select-dropdown-closed-translate);
2038
+ :is(.tds-input :is(input,textarea)):focus-visible{
2039
+ outline-color:var(--t-focus-ring-color);
2040
+ outline-offset:var(--t-focus-ring-offset);
2041
+ border-color:var(--t-form-border-color-focus);
2248
2042
  }
2249
2043
 
2250
- :is(.tds-select:has( > button) [popover]) ul{
2251
- padding:0;
2252
- margin:0;
2253
- list-style:none;
2044
+ :is(.tds-input :is(input,textarea))::-moz-placeholder{
2045
+ color:var(--t-form-placeholder-color);
2046
+ -moz-user-select:none;
2047
+ user-select:none;
2254
2048
  }
2255
2049
 
2256
- @starting-style{
2257
- :is(.tds-select:has( > button) [popover]):popover-open{
2258
- opacity:var(--tds-select-dropdown-closed-opacity);
2259
- translate:var(--tds-select-dropdown-closed-translate);
2260
- }
2050
+ :is(.tds-input :is(input,textarea))::placeholder{
2051
+ color:var(--t-form-placeholder-color);
2052
+ -webkit-user-select:none;
2053
+ -moz-user-select:none;
2054
+ user-select:none;
2261
2055
  }
2262
2056
 
2263
- @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
2264
- .tds-select select:has(> button){
2265
- padding-inline-end:0;
2266
- background-image:none;
2057
+ @media (prefers-reduced-motion: reduce){
2058
+
2059
+ .tds-input :is(input,textarea){
2060
+ --tds-input-transition-property:none;
2267
2061
  }
2268
- @media (hover) and (pointer: fine){
2269
- :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
2270
- padding-block:0;
2271
- -webkit-appearance:base-select;
2272
- -moz-appearance:base-select;
2273
- appearance:base-select;
2274
- }
2275
- }
2276
- :is(.tds-select select:has( > button))::picker-icon{
2277
- flex-shrink:0;
2278
- width:var(--tds-select-caret-size);
2279
- height:var(--tds-select-caret-size);
2280
- margin-inline-end:var(--tds-select-caret-inline-offset);
2281
- line-height:1;
2282
- content:var(--tds-select-background-image);
2283
- transition:var(--tds-select-caret-transition);
2284
2062
  }
2285
2063
 
2286
- :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
2287
- opacity:var(--tds-select-dropdown-closed-opacity);
2288
- translate:var(--tds-select-dropdown-closed-translate);
2289
- }
2064
+ .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
2065
+ --tds-input-background-color:var(--t-form-background-color-error);
2066
+ --tds-input-border-color:var(--t-form-border-color-error);
2067
+ --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
2068
+ --tds-input-description-color:var(--t-text-color-status-error);
2069
+ --tds-input-description-invalid-icon-display:inline-block;
2070
+ }
2290
2071
 
2291
- :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
2292
- outline-color:var(--t-focus-ring-color);
2293
- outline-offset:var(--t-focus-ring-offset);
2294
- border-color:var(--tds-select-border-color-active);
2072
+ .tds-input:has(:is(input,textarea):required) label::after{
2073
+ margin-left:.25ch;
2074
+ color:var(--t-text-color-status-error);
2075
+ content:"*";
2295
2076
  }
2296
2077
 
2297
- :is(.tds-select select:has( > button)):open::picker-icon{
2298
- opacity:1;
2299
- transform:rotate(.5turn);
2300
- }
2078
+ .tds-input:where(:has(:is(input,textarea):disabled)){
2079
+ --tds-input-border-color:var(--t-form-border-color-disabled);
2080
+ --tds-input-background-color:var(--t-form-background-color-disabled);
2081
+ --tds-input-color:var(--t-form-color-disabled);
2082
+ }
2301
2083
 
2302
- :is(.tds-select select:has( > button)) selectedcontent{
2303
- overflow:hidden;
2304
- text-overflow:ellipsis;
2305
- line-height:calc(var(--tds-select-min-height) - 2px);
2306
- white-space:nowrap;
2084
+ .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
2085
+ cursor:not-allowed;
2307
2086
  }
2308
2087
 
2309
- :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
2310
- color:var(--tds-select-placeholder-color);
2311
- }
2088
+ .tds-input:where(:has(:is(input,textarea)[readonly])){
2089
+ --tds-input-border-color:var(--t-form-border-color-readonly);
2090
+ --tds-input-background-color:var(--t-form-background-color-readonly);
2091
+ }
2312
2092
 
2313
- :is(.tds-select select:has( > button))::picker(select){
2314
- inset:auto;
2315
- inline-size:-moz-max-content;
2316
- inline-size:max-content;
2317
- min-inline-size:anchor-size(width);
2318
- max-inline-size:100vi;
2319
- padding:var(--tds-select-dropdown-padding);
2320
- margin-block:var(--tds-select-dropdown-margin-block);
2321
- position-try-fallbacks:flip-block, flip-inline;
2322
- overflow:auto;
2323
- overflow-x:hidden;
2324
- scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
2325
- overscroll-behavior:none;
2326
- -webkit-user-select:none;
2327
- -moz-user-select:none;
2328
- user-select:none;
2329
- scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
2330
- scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
2331
- background:var(--tds-select-dropdown-background-color);
2332
- border:var(--tds-select-dropdown-border);
2333
- border-radius:var(--tds-select-dropdown-border-radius);
2334
- box-shadow:var(--tds-select-dropdown-box-shadow);
2335
- opacity:var(--tds-select-dropdown-open-opacity);
2336
- translate:var(--tds-select-dropdown-open-translate);
2337
- transition:var(--tds-select-dropdown-transition);
2093
+ .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
2094
+ border-color:var(--tds-input-border-color-hover);
2338
2095
  }
2339
2096
 
2340
- :is(.tds-select select:has( > button)) option::checkmark{
2341
- display:none;
2342
- }
2097
+ .tds-input.tds-input--lg{
2098
+ --tds-input-min-height:var(--t-container-size-lg);
2099
+ --tds-input-font-size:var(--t-font-size-lg);
2100
+ }
2343
2101
 
2344
- @starting-style{
2345
- :is(.tds-select select:has( > button))::picker(select):popover-open{
2346
- opacity:var(--tds-select-dropdown-closed-opacity);
2347
- translate:var(--tds-select-dropdown-closed-translate);
2348
- }
2349
- }
2102
+ .tds-input-description{
2103
+ display:flex;
2104
+ gap:var(--t-spacing-half);
2105
+ align-items:flex-start;
2106
+ margin:0;
2107
+ font-size:var(--t-font-size-sm);
2108
+ line-height:1.35;
2109
+ color:var(--tds-input-description-color, var(--t-text-color-secondary));
2110
+ cursor:text;
2350
2111
  }
2351
2112
 
2113
+ .tds-input-description .tds-input-description-invalid-icon{
2114
+ display:var(--tds-input-description-invalid-icon-display, none);
2115
+ flex-shrink:0;
2116
+ margin-block-start:calc(.5lh - .5em);
2117
+ line-height:1.35;
2118
+ }
2352
2119
 
2353
- @media (prefers-reduced-motion: no-preference){
2120
+ .tds-field{
2121
+ --tds-field-border-color:var(--t-form-border-color);
2122
+ --tds-field-border-color-hover:var(--t-form-border-color-hover);
2123
+ --tds-field-border-color-active:var(--t-form-border-color-focus);
2124
+ --tds-field-background-color:var(--t-form-background-color);
2125
+ --tds-field-color:var(--t-form-color);
2126
+ --tds-field-placeholder-color:var(--t-form-placeholder-color);
2127
+ --tds-field-font-size:var(--t-font-size-md);
2128
+ --tds-field-min-height:var(--t-container-size-md);
2129
+ --tds-field-padding-block:6px;
2130
+ --tds-field-padding-inline:var(--t-spacing-1);
2131
+ --tds-field-description-color:var(--t-text-color-secondary);
2132
+ --tds-field-description-invalid-icon-display:none;
2354
2133
 
2355
- :root{
2356
- interpolate-size:allow-keywords;
2134
+ position:relative;
2135
+ display:flex;
2136
+ flex-direction:column;
2137
+ gap:var(--t-spacing-half);
2357
2138
  }
2139
+
2140
+ .tds-field[data-required] .tds-field-label::after{
2141
+ margin-left:.25ch;
2142
+ color:var(--t-text-color-status-error);
2143
+ content:"*";
2358
2144
  }
2359
2145
 
2360
- @layer tds-component{
2361
- tds-sidenav,
2362
- .tds-sidenav{
2363
- --tds-sidenav-indent:12px;
2364
- --tds-sidenav-item-depth:0;
2146
+ .tds-field[data-invalid]{
2147
+ --tds-field-border-color:var(--t-form-border-color-error);
2148
+ --tds-field-border-color-hover:var(--t-form-border-color-error-hover);
2149
+ --tds-field-border-color-active:var(--t-form-border-color-error-hover);
2150
+ --tds-field-background-color:var(--t-form-background-color-error);
2151
+ --tds-field-description-color:var(--t-text-color-status-error);
2152
+ --tds-field-description-invalid-icon-display:inline-block;
2153
+ }
2365
2154
 
2366
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
2155
+ .tds-field[data-disabled]{
2156
+ --tds-field-border-color:var(--t-form-border-color-disabled);
2157
+ --tds-field-background-color:var(--t-form-background-color-disabled);
2158
+ --tds-field-color:var(--t-form-color-disabled);
2159
+ --tds-field-placeholder-color:var(--t-form-color-disabled);
2160
+ }
2367
2161
 
2368
- --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;
2369
- --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;
2370
- --tds-sidenav-collapse-closed-opacity:0;
2371
- --tds-sidenav-collapse-open-opacity:1;
2372
- --tds-sidenav-collapse-closed-transform:translateY(-8px);
2373
- --tds-sidenav-collapse-open-transform:translateY(0);
2162
+ .tds-field[data-disabled] .tds-field-control{
2163
+ cursor:not-allowed;
2164
+ }
2374
2165
 
2375
- --tds-sidenav-item-icon-size:var(--t-element-size-md);
2376
- --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
2377
- --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
2378
- --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
2166
+ .tds-field--lg{
2167
+ --tds-field-min-height:var(--t-container-size-lg);
2168
+ --tds-field-font-size:var(--t-font-size-lg);
2169
+ }
2379
2170
 
2380
- --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
2381
- --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
2382
- --tds-sidenav-item-nested-background-selected:transparent;
2171
+ .tds-field-label{
2172
+ font-size:var(--t-font-size-md);
2173
+ font-weight:var(--t-font-weight-normal);
2174
+ color:var(--t-text-color);
2175
+ cursor:default;
2176
+ }
2383
2177
 
2384
- --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
2385
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
2386
- --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
2178
+ .tds-field-control{
2179
+ display:flex;
2180
+ align-items:center;
2181
+ inline-size:100%;
2182
+ min-block-size:var(--tds-field-min-height);
2183
+ font-family:inherit;
2184
+ font-size:var(--tds-field-font-size);
2185
+ line-height:1;
2186
+ color:var(--tds-field-color);
2187
+ -webkit-appearance:none;
2188
+ -moz-appearance:none;
2189
+ appearance:none;
2190
+ cursor:text;
2191
+ outline:var(--t-focus-ring-width) solid transparent;
2192
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2193
+ outline-offset:0;
2194
+ background-color:var(--tds-field-background-color);
2195
+ border:var(--t-form-border-width) solid var(--tds-field-border-color);
2196
+ border-radius:var(--t-form-border-radius);
2197
+ transition-timing-function:var(--t-ease-in-out);
2198
+ transition-duration:var(--t-duration-200);
2199
+ transition-property:background-color, border-color, outline-color, outline-offset;
2200
+ }
2387
2201
 
2388
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
2389
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
2202
+ .tds-field-control[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
2203
+ border-color:var(--tds-field-border-color-hover);
2390
2204
  }
2391
2205
 
2392
- @media (prefers-reduced-motion: reduce){
2393
- tds-sidenav,
2394
- .tds-sidenav{
2395
- --tds-sidenav-collapse-transition-enter:none;
2396
- --tds-sidenav-collapse-transition-exit:none;
2397
- --tds-sidenav-collapse-closed-transform:none;
2398
- --tds-sidenav-collapse-open-transform:none;
2206
+ .tds-field-control[data-focus-within]{
2207
+ outline-color:var(--t-focus-ring-color);
2208
+ outline-offset:var(--t-focus-ring-offset);
2209
+ border-color:var(--tds-field-border-color-active);
2210
+ }
2211
+
2212
+ .tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly]){
2213
+ --tds-field-border-color:var(--t-form-border-color-readonly);
2214
+ --tds-field-border-color-hover:var(--t-form-border-color-readonly);
2215
+ --tds-field-background-color:var(--t-form-background-color-readonly);
2216
+ color:var(--t-form-color-readonly);
2399
2217
  }
2218
+
2219
+ [data-focus-within]:is(.tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly])){
2220
+ border-color:var(--t-form-border-color-hover);
2400
2221
  }
2401
2222
 
2402
- .tds-sidenav--theme-gray{
2403
- --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
2404
- --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
2405
- --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
2406
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
2407
- --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
2223
+ .tds-field-description{
2224
+ display:flex;
2225
+ gap:var(--t-spacing-half);
2226
+ align-items:flex-start;
2227
+ margin:0;
2228
+ font-size:var(--t-font-size-sm);
2229
+ line-height:1.35;
2230
+ color:var(--tds-field-description-color, var(--t-text-color-secondary));
2231
+ cursor:text;
2232
+ }
2233
+
2234
+ .tds-field-description .tds-field-description-invalid-icon{
2235
+ display:var(--tds-field-description-invalid-icon-display, none);
2236
+ flex-shrink:0;
2237
+ margin-block-start:calc(.5lh - .5em);
2238
+ line-height:1.35;
2408
2239
  }
2240
+
2241
+ .tds-field-date-segment{
2242
+ padding-inline:var(--tds-field-date-segment-padding-inline, 2px);
2243
+ text-align:end;
2244
+ text-wrap:nowrap;
2245
+ caret-color:transparent;
2246
+ border-radius:var(--t-border-radius-sm);
2409
2247
  }
2410
2248
 
2411
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
2412
- display:flex;
2249
+ .tds-field-date-segment[data-placeholder]{
2250
+ color:var(--tds-field-placeholder-color);
2413
2251
  }
2414
2252
 
2415
- .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
2416
- flex-direction:column;
2417
- gap:var(--t-spacing-half);
2418
- width:100%;
2253
+ .tds-field-date-segment[data-focused]{
2254
+ color:var(--t-text-color-inverted);
2255
+ outline:0;
2256
+ background-color:var(--t-fill-color-interaction);
2419
2257
  }
2420
2258
 
2421
- .tds-sidenav-section-list{
2422
- width:100%;
2423
- padding:0;
2424
- margin:0;
2425
- list-style:none;
2259
+ .tds-field-date-segment-separator{
2260
+ padding-inline:0;
2261
+ color:var(--tds-field-placeholder-color);
2426
2262
  }
2427
2263
 
2428
- .tds-sidenav-section-header{
2429
- display:flex;
2430
- align-items:baseline;
2431
- justify-content:space-between;
2432
- padding-top:var(--t-spacing-2);
2264
+ .tds-field-date-segment:not([data-placeholder]) + .tds-field-date-segment-separator{
2265
+ color:var(--tds-field-color);
2433
2266
  }
2434
2267
 
2435
- .tds-sidenav-section-header h2{
2436
- margin:0;
2437
- font-size:var(--t-font-size-sm);
2438
- font-weight:var(--t-font-weight-semibold);
2439
- line-height:1.35;
2440
- color:var(--t-text-color-secondary);
2441
- text-transform:uppercase;
2442
- }
2268
+ .tds-time-field-input{
2269
+ --tds-field-date-segment-padding-inline:1px;
2270
+ padding-block:var(--tds-field-padding-block);
2271
+ padding-inline:var(--tds-field-padding-inline);
2272
+ font-variant-numeric:tabular-nums;
2273
+ }
2443
2274
 
2444
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
2445
- padding-top:0;
2446
- }
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);
2447
2292
 
2448
- .tds-sidenav-section-header [slot="label-actions"]{
2449
- display:flex;
2450
- gap:var(--t-spacing-half);
2451
- align-items:center;
2452
- }
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);
2316
+
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);
2453
2327
 
2454
- .tds-sidenav-section [slot="section-actions"]{
2328
+ position:relative;
2455
2329
  display:flex;
2456
- gap:12px;
2457
- align-items:center;
2458
- min-height:42px;
2459
- padding:var(--t-spacing-1) 0;
2330
+ flex-direction:column;
2331
+ gap:var(--t-spacing-half);
2460
2332
  }
2461
2333
 
2462
- .tds-sidenav-section-list,
2463
- .tds-sidenav-item{
2464
- width:100%;
2465
- padding:0;
2466
- margin:0;
2467
- }
2334
+ .tds-select :is(label,.tds-select-label){
2335
+ font-size:var(--t-font-size-md);
2336
+ font-weight:var(--t-font-weight-normal);
2337
+ color:var(--t-text-color);
2338
+ cursor:default;
2339
+ }
2468
2340
 
2469
- .tds-sidenav-item :is(a,button){
2341
+ .tds-select :is(select,button){
2470
2342
  position:relative;
2471
- display:flex;
2472
- gap:12px;
2473
- align-items:center;
2474
- width:100%;
2475
- padding:12px;
2476
- overflow:hidden;
2477
- font-size:var(--t-font-size-sm);
2478
- line-height:18px;
2479
- color:var(--t-text-color-headline);
2480
- white-space:nowrap;
2481
- text-decoration:none;
2343
+ place-items:center;
2344
+ 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);
2349
+ 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;
2482
2354
  -webkit-appearance:none;
2483
2355
  -moz-appearance:none;
2484
2356
  appearance:none;
2485
- cursor:pointer;
2486
- background-color:var(--tds-sidenav-item-background, transparent);
2487
- border:0;
2488
- border-radius:var(--t-border-radius);
2489
- transition:var(--tds-sidenav-item-transition);
2357
+ cursor:var(--tds-select-cursor, default);
2358
+ outline:var(--t-focus-ring-width) solid transparent;
2359
+ 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);
2366
+ border-radius:var(--t-form-border-radius);
2367
+ transition-timing-function:var(--t-ease-in-out);
2368
+ transition-duration:var(--t-duration-300);
2369
+ transition-property:var(--tds-select-transition-property);
2490
2370
  }
2491
2371
 
2492
- :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
2493
- display:block;
2494
- flex:1;
2495
- overflow:hidden;
2496
- text-overflow:ellipsis;
2497
- text-align:left;
2498
- white-space:nowrap;
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);
2499
2374
  }
2500
2375
 
2501
- :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
2502
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
2503
- color:var(--t-text-color-headline);
2504
- text-decoration:none;
2376
+ :is(.tds-select :is(select,button)):focus{
2377
+ outline-color:var(--t-focus-ring-color);
2378
+ outline-offset:var(--t-focus-ring-offset);
2379
+ border-color:var(--tds-select-border-color-active);
2505
2380
  }
2506
2381
 
2507
- :is(.tds-sidenav-item :is(a,button)):active{
2508
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
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);
2509
2384
  }
2510
2385
 
2511
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
2512
- overflow:hidden;
2513
- color:var(--tds-sidenav-item-icon-color);
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;
2393
+ }
2394
+
2395
+ .tds-select:has(select:required,[aria-required="true"]) :is(label,.tds-select-label)::after{
2396
+ margin-left:.25ch;
2397
+ color:var(--t-text-color-status-error);
2398
+ content:"*";
2514
2399
  }
2515
2400
 
2516
- :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{
2517
- display:block;
2518
- width:var(--tds-sidenav-item-icon-size);
2519
- height:var(--tds-sidenav-item-icon-size);
2520
- }
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
+ }
2521
2407
 
2522
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
2523
- --tds-sidenav-indent:19px;
2524
- }
2408
+ .tds-select:has( > [popover]:popover-open) > button{
2409
+ border-color:var(--tds-select-border-color-active);
2410
+ }
2525
2411
 
2526
- [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
2527
- visibility:visible;
2528
- block-size:auto;
2529
- opacity:1;
2412
+ :is(.tds-select:has( > [popover]:popover-open) > button)::after{
2413
+ transform:rotate(.5turn);
2530
2414
  }
2531
2415
 
2532
- .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
2533
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
2534
- --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
2535
-
2536
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
2537
- font-weight:var(--t-font-weight-semibold);
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;
2538
2421
  }
2539
2422
 
2540
- .tds-sidenav-item:has(.tds-sidenav-section){
2541
- display:flex;
2542
- flex-direction:column;
2543
- gap:var(--t-spacing-half);
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);
2544
2435
  }
2545
2436
 
2546
- .tds-sidenav-item .tds-sidenav-section-list{
2547
- --tds-sidenav-item-depth:1;
2548
- gap:0;
2549
- }
2437
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):focus-visible{
2438
+ outline:0;
2439
+ }
2550
2440
 
2551
- .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
2552
- visibility:hidden;
2553
- block-size:0;
2554
- overflow-y:clip;
2555
- opacity:0;
2556
- transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
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);
2557
2443
  }
2558
2444
 
2559
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
2560
- --tds-sidenav-item-depth:2;
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);
2561
2447
  }
2562
2448
 
2563
- :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2564
- min-height:var(--t-element-size-2xl);
2565
- padding-block:9px;
2566
- padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
2567
- line-height:1;
2568
- background-color:transparent;
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;
2569
2452
  }
2570
2453
 
2571
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
2572
- position:absolute;
2573
- top:0;
2574
- bottom:0;
2575
- left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2576
- width:2px;
2577
- content:"";
2578
- background-color:var(--tds-sidenav-item-nested-border-color);
2579
- transition:var(--tds-sidenav-item-transition);
2454
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled):is(:focus,:hover){
2455
+ background:transparent;
2580
2456
  }
2581
2457
 
2582
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
2583
- position:absolute;
2584
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2585
- z-index:-1;
2586
- height:100%;
2587
- content:"";
2588
- background-color:var(--tds-sidenav-item-nested-background);
2589
- border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
2590
- transition:var(--tds-sidenav-item-transition);
2591
- }
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;
2472
+ }
2592
2473
 
2593
- :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)){
2594
- display:block;
2595
- text-align:left;
2596
- white-space:normal;
2597
- }
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
+ }
2598
2481
 
2599
- :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{
2600
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
2601
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
2602
- }
2482
+ @container scroll-state(stuck){
2603
2483
 
2604
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
2605
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
2484
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
2485
+ color:var(--tds-select-group-label-color-stuck);
2486
+ }
2487
+
2488
+ @media (forced-colors: active){
2489
+
2490
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
2491
+ color:var(--tds-select-group-label-color-stuck);
2492
+ }
2493
+ }
2606
2494
  }
2607
2495
 
2608
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2609
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
2610
- font-weight:var(--t-font-weight-medium);
2611
- }
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);
2499
+ }
2500
+
2501
+ @media (prefers-reduced-motion: reduce){
2502
+
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
+ }
2511
+ }
2612
2512
 
2613
- .tds-sidenav-responsive-header{
2513
+ .tds-select-description{
2614
2514
  display:flex;
2615
- gap:var(--t-spacing-2);
2616
- align-items:center;
2617
- width:100%;
2515
+ gap:var(--t-spacing-half);
2516
+ align-items:flex-start;
2517
+ margin:0;
2518
+ font-size:var(--t-font-size-sm);
2519
+ line-height:1.35;
2520
+ color:var(--tds-select-description-color, var(--t-text-color-secondary));
2521
+ cursor:text;
2618
2522
  }
2619
2523
 
2620
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
2621
- order:0;
2524
+ .tds-select-description .tds-select-description-invalid-icon{
2525
+ display:var(--tds-select-description-invalid-icon-display, none);
2526
+ flex-shrink:0;
2527
+ margin-block-start:calc(.5lh - .5em);
2528
+ line-height:1.35;
2622
2529
  }
2623
2530
 
2624
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
2625
- flex:1;
2626
- order:1;
2627
- margin:0;
2628
- font-size:var(--t-font-size-lg);
2629
- font-weight:var(--t-font-weight-medium);
2630
- color:var(--t-text-color-headline);
2631
- }
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;
2539
+ }
2632
2540
 
2633
- @media (max-width: 719px){
2634
- .tds-sidenav-collapse{
2635
- z-index:10001;
2636
- display:none;
2637
- max-width:min(448px, calc(100vw - 48px));
2638
- padding:0;
2639
- margin:12px 0;
2640
- position-area:bottom span-right;
2541
+ .tds-select:has(> button){
2542
+ anchor-scope:--tds-select-anchor;
2543
+ }
2544
+
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;
2641
2549
  overflow:hidden;
2642
- outline:0;
2643
- background:var(--t-surface-color-card);
2644
- border:0;
2645
- border-radius:6px;
2646
- box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
2647
- opacity:var(--tds-sidenav-collapse-open-opacity);
2648
- transform:var(--tds-sidenav-collapse-open-transform);
2649
- transition:var(--tds-sidenav-collapse-transition-enter);
2650
- will-change:transform;
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;
2651
2556
  }
2652
2557
 
2653
- .tds-sidenav-scroll-container{
2654
- --webkit-overflow-scrolling:touch;
2655
- display:block;
2656
- width:100%;
2657
- height:-moz-fit-content;
2658
- height:fit-content;
2659
- padding:var(--t-spacing-2);
2660
- overflow-y:auto;
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);
2570
+ }
2571
+
2572
+ .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
2573
+ color:var(--tds-select-color);
2661
2574
  }
2662
2575
 
2663
- .tds-sidenav-item :is(a, button) :is(.prefix){
2664
- display:none;
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);
2665
2605
  }
2666
- @supports selector(:popover-open){
2667
- .tds-sidenav-collapse:popover-open{
2668
- display:flex;
2606
+
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);
2669
2610
  }
2670
2611
 
2671
- .tds-sidenav-collapse:not(:popover-open){
2672
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2673
- transition:var(--tds-sidenav-collapse-transition-exit);
2612
+ :is(.tds-select:has( > button) [popover]) ul{
2613
+ padding:0;
2614
+ margin:0;
2615
+ list-style:none;
2674
2616
  }
2675
2617
 
2676
- @starting-style{
2677
- .tds-sidenav-collapse:popover-open{
2678
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2679
- transform:var(--tds-sidenav-collapse-closed-transform);
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);
2680
2622
  }
2681
2623
  }
2624
+
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;
2682
2629
  }
2683
- @supports not selector(:popover-open){
2684
- .tds-sidenav-collapse.\:popover-open{
2685
- display:flex;
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);
2686
2646
  }
2687
2647
 
2688
- .tds-sidenav-collapse:not(.\:popover-open){
2689
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2690
- transition:var(--tds-sidenav-collapse-transition-exit);
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);
2691
2651
  }
2692
- }
2693
- }
2694
2652
 
2695
- @media (min-width: 720px){
2696
- .tds-sidenav-responsive-header{
2697
- display:none;
2698
- }
2699
- }
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
+ }
2700
2658
 
2701
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
2702
- display:none;
2659
+ :is(.tds-select select:has( > button)):open::picker-icon{
2660
+ opacity:1;
2661
+ transform:rotate(.5turn);
2703
2662
  }
2704
2663
 
2705
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
2706
- display:block;
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;
2707
2669
  }
2708
2670
 
2709
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2710
- display:flex;
2711
- flex-direction:column;
2671
+ :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
2672
+ color:var(--tds-select-placeholder-color);
2673
+ }
2674
+
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
+ }
2702
+
2703
+ :is(.tds-select select:has( > button)) option::checkmark{
2704
+ display:none;
2712
2705
  }
2713
2706
 
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
+ }
2713
+ }
2714
+
2714
2715
  .tds-loading-spinner{
2715
2716
  --tds-loading-spinner-size:1.25em;
2716
2717