@planningcenter/tapestry 3.4.0 → 3.4.1-rc.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,891 +1,897 @@
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
+ @layer t-critical{
2
+ tds-page-header:not(.hydrated){
3
+ display:none;
4
+ }
5
+ }
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
+ @layer t-component{
8
+ .tds-page-header{
9
+ --tds-page-header-background-color:var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-canvas));
10
+ --tds-page-header-background-color-inactive:var(--t-fill-color-neutral-090);
11
+ --tds-page-header-color:var(--t-text-color);
12
+ --tds-page-header-bottom-border-color:transparent;
13
+ --tds-page-header-headline-color:var(--t-text-color-headline);
14
+ --tds-page-header-headline-font-size:var(--t-font-size-2xl);
15
+ --tds-page-header-padding-x:var(--t-spacing-2);
16
+ --tds-page-header-padding-y:var(--t-spacing-2);
17
+ --tds-page-header-nav-padding-x:var(--tds-page-header-padding-x, var(--t-spacing-3));
18
+ --tds-page-header-nav-gap:var(--t-spacing-1);
19
+ --tds-page-header-nav-background:linear-gradient(180deg, var(--tds-page-header-nav-background-start, rgba(0, 0, 0, 0)) 0%, var(--tds-page-header-nav-background-end, rgba(0, 0, 0, .1)) 100%);
20
+ --tds-page-header-nav-item-padding-x:var(--t-spacing-1);
21
+ --tds-page-header-nav-item-padding-y:var(--t-spacing-1);
22
+ --tds-page-header-nav-item-color:var(--t-text-color-secondary);
23
+ --tds-page-header-nav-item-background-color:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 35%);
24
+ --tds-page-header-nav-item-border-width:1px;
15
25
 
16
- font-size:var(--tds-checkbox-group-font-size);
17
- line-height:var(--tds-checkbox-group-line-height);
18
- border:0;
19
- }
26
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-background-color);
27
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color);
20
28
 
21
- .tds-checkbox-group legend{
22
- float:left;
23
- padding:0;
24
- margin:0;
29
+ --tds-page-header-nav-item-color-hover:var(--t-text-color);
30
+ --tds-page-header-nav-item-background-color-hover:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 20%);
31
+ --tds-page-header-nav-item-border-color-hover:var(--tds-page-header-nav-item-background-color-hover);
32
+
33
+ --tds-page-header-nav-item-background-color-active:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 10%);
34
+ --tds-page-header-nav-item-border-color-active:var(--tds-page-header-nav-item-background-color-active);
35
+
36
+ --tds-page-header-nav-item-color-disabled:var(--t-text-color-disabled);
37
+ --tds-page-header-nav-item-background-color-disabled:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 50%);
38
+ --tds-page-header-nav-item-border-color-disabled:var(--tds-page-header-nav-item-background-color-disabled);
39
+
40
+ --tds-page-header-nav-item-color-selected:var(--t-text-color);
41
+ --tds-page-header-nav-item-background-color-selected:var(--t-surface-color-canvas);
42
+ --tds-page-header-nav-item-border-color-selected:var(--tds-page-header-nav-item-background-color-selected);
43
+ --tds-page-header-nav-item-border-bottom-color-selected:var(--tds-page-header-nav-item-background-color-selected);
44
+ --tds-page-header-nav-item-indicator-color:var(--t-icon-color-status-warning);
25
45
  }
26
46
 
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;
47
+ .tds-page-header--profile{
48
+ --tds-page-header-padding-y:20px;
30
49
  }
31
50
 
32
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
33
- margin-left:.25ch;
34
- color:var(--t-text-color-status-error);
35
- content:"*";
51
+ @supports (color: light-dark(#fff, #000)){
52
+ .tds-page-header{
53
+ --tds-page-header-nav-background-start:light-dark(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0));
54
+ --tds-page-header-nav-background-end:light-dark(rgba(0, 0, 0, .05), rgba(255, 255, 255, .1));
36
55
  }
56
+ }
37
57
 
38
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
39
- content:none;
58
+ @media (min-width: 600px){
59
+ .tds-page-header{
60
+ --tds-page-header-background-color:var(--t-surface-color-canvas);
61
+ --tds-page-header-color:var(--t-text-color-secondary);
62
+ --tds-page-header-bottom-border-color:var(--t-border-color);
63
+ --tds-page-header-padding-x:var(--t-spacing-3);
64
+ --tds-page-header-headline-font-size:var(--t-font-size-3xl);
65
+ --tds-page-header-nav-gap:var(--t-spacing-half);
66
+ --tds-page-header-nav-background:transparent;
67
+ --tds-page-header-nav-item-padding-x:var(--t-spacing-2);
68
+ --tds-page-header-nav-item-border-width:1px;
69
+ --tds-page-header-nav-item-color:var(--t-text-color);
70
+ --tds-page-header-nav-item-background-color:var(--t-fill-color-neutral-070);
71
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-bottom-border-color);
72
+ --tds-page-header-nav-item-background-color-hover:var(--t-fill-color-neutral-060);
73
+ --tds-page-header-nav-item-background-color-active:var(--t-fill-color-neutral-050);
74
+ --tds-page-header-nav-item-background-color-disabled:var(--t-fill-color-neutral-080);
75
+ --tds-page-header-nav-item-border-color-selected:var(--t-border-color);
40
76
  }
41
-
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);
77
+ }
48
78
  }
49
79
 
50
- .tds-checkbox-group-description{
80
+ .tds-page-header{
51
81
  display:flex;
52
- gap:var(--t-spacing-half);
53
- 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);
58
- cursor:text;
82
+ flex-direction:column;
83
+ padding-top:var(--tds-page-header-padding-y);
84
+ color:var(--tds-page-header-color);
85
+ background:var(--tds-page-header-background-color);
86
+ border-bottom:1px solid var(--tds-page-header-bottom-border-color);
59
87
  }
60
88
 
61
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
62
- display:var(--tds-checkbox-group-description-invalid-icon-display);
63
- flex-shrink:0;
64
- margin-top:calc(.5lh - .5em);
65
- line-height:var(--tds-checkbox-group-description-line-height);
89
+ .tds-page-header:not(.has-nav){
90
+ padding-bottom:var(--tds-page-header-padding-y);
66
91
  }
67
92
 
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;
73
- }
74
-
75
- .tds-date-picker{
76
- --tds-date-picker-button-offset:4px;
77
- }
78
-
79
- .tds-date-picker--lg{
80
- --tds-date-picker-button-offset:5px;
81
- }
82
-
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);
87
- }
88
-
89
- .tds-date-picker-field:has(.tds-date-picker-input[data-readonly]) .tds-date-picker-button{
90
- display:none;
91
- }
93
+ .tds-page-header.inactive{
94
+ background:var(--tds-page-header-background-color-inactive);
95
+ }
92
96
 
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
- }
97
+ .tds-page-header :is([slot="actions"],.tds-page-header__actions){
98
+ width:100%;
99
+ }
102
100
 
103
- .tds-date-picker-input:has( + .tds-date-picker-button){
104
- padding-inline-end:0;
101
+ .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
102
+ display:flex;
103
+ flex-flow:row wrap;
104
+ gap:var(--t-spacing-half) var(--t-spacing-1);
105
+ align-items:flex-start;
106
+ justify-content:flex-start;
107
+ min-width:0;
105
108
  }
106
109
 
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
- }
110
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)):not(:has(ul)),:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) ul{
111
+ display:flex;
112
+ gap:var(--tds-page-header-nav-gap);
113
+ padding:var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
114
+ margin:0 0 -1px;
115
+ overflow:auto;
116
+ list-style:none;
117
+ background:var(--tds-page-header-nav-background);
118
+ }
115
119
 
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;
120
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button){
121
+ position:relative;
122
+ display:inline-flex;
123
+ padding:var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
124
+ font-size:var(--t-font-size-sm);
125
+ line-height:22px;
126
+ color:var(--tds-page-header-nav-item-color);
127
+ white-space:nowrap;
128
+ text-decoration:none;
129
+ -webkit-appearance:none;
130
+ -moz-appearance:none;
131
+ appearance:none;
132
+ cursor:pointer;
133
+ outline-offset:-2px;
134
+ background-color:var(--tds-page-header-nav-item-background-color);
135
+ background-clip:padding-box;
136
+ border:var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
137
+ border-bottom:1px solid var(--tds-page-header-nav-item-border-bottom-color);
138
+ border-radius:var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
139
+ }
124
140
 
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
- }
141
+ .selected:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)){
142
+ --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-selected);
143
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-selected);
144
+ --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-selected);
145
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-selected);
146
+ }
132
147
 
133
- .tds-date-picker-popover[data-entering]{
134
- animation:tds-date-picker-popover var(--t-duration-300) var(--t-ease-out);
135
- }
148
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):hover{
149
+ --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-hover);
150
+ --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-hover);
151
+ --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-hover);
152
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-hover);
153
+ }
136
154
 
137
- .tds-date-picker-popover[data-exiting]{
138
- animation:tds-date-picker-popover var(--t-duration-200) var(--t-ease-in) reverse;
139
- }
155
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):active{
156
+ background-color:var(--tds-page-header-nav-item-background-color-active);
157
+ border-color:var(--tds-page-header-nav-item-border-color-active);
158
+ border-bottom-color:var(--tds-page-header-nav-item-background-color-active);
159
+ }
140
160
 
141
- .tds-date-picker-popover[data-entering],.tds-date-picker-popover[data-exiting]{
142
- will-change:opacity, transform;
143
- }
161
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):disabled{
162
+ --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-disabled);
163
+ color:var(--tds-page-header-nav-item-color-disabled);
164
+ cursor:not-allowed;
165
+ background-color:var(--tds-page-header-nav-item-background-color-disabled);
166
+ opacity:1;
167
+ }
144
168
 
145
- @keyframes tds-date-picker-popover{
146
- from{
147
- opacity:0;
148
- transform:translateY(-8px);
149
- }
150
- }
169
+ @media (min-width: 600px){
170
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected)::after{
171
+ position:absolute;
172
+ inset:auto -1px -1px;
173
+ height:1px;
174
+ pointer-events:none;
175
+ content:"";
176
+ background-color:var(--tds-page-header-bottom-border-color);
177
+ }
178
+ }
151
179
 
152
- @media (prefers-reduced-motion: reduce){
153
- .tds-date-picker-popover[data-entering],.tds-date-picker-popover[data-exiting]{
154
- animation:none;
180
+ :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator){
181
+ position:relative;
155
182
  }
156
- }
157
183
 
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);
164
- }
165
-
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
- }
184
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator)) :is(a,button){
185
+ -webkit-mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
186
+ mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
187
+ }
176
188
 
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
- }
189
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::before,:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
190
+ position:absolute;
191
+ top:-5px;
192
+ right:-2px;
193
+ width:10px;
194
+ height:10px;
195
+ content:"";
196
+ background:var(--tds-page-header-nav-item-indicator-color);
197
+ border-radius:50%;
198
+ }
181
199
 
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));
187
- }
200
+ @media (prefers-reduced-motion: no-preference){
201
+ :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
202
+ animation:indicator-pulse 1.25s ease infinite;
203
+ }
204
+ }
188
205
 
189
- .tds-date-picker-overlay-cell{
206
+ .tds-page-header__title-bar{
190
207
  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);
208
+ flex-direction:column;
209
+ gap:var(--t-spacing-2) var(--t-spacing-1);
210
+ align-items:flex-start;
211
+ justify-content:space-between;
212
+ padding:0 var(--tds-page-header-padding-x);
204
213
  }
205
214
 
206
- .tds-date-picker-overlay-cell[data-hovered]{
207
- background-color:var(--t-fill-color-button-neutral-outline-hover);
215
+ .tds-page-header--profile > .tds-page-header__title-bar{
216
+ align-items:center;
208
217
  }
209
218
 
210
- .tds-date-picker-overlay-cell[data-pressed]{
211
- background-color:var(--t-fill-color-button-neutral-outline-active);
212
- }
219
+ .tds-page-header__primary{
220
+ width:100%;
221
+ }
213
222
 
214
- .tds-date-picker-overlay-cell[data-selected]{
215
- font-weight:var(--t-font-weight-semibold);
216
- color:var(--t-text-color-inverted);
217
- background-color:var(--t-fill-color-interaction);
223
+ .tds-page-header__primary h1{
224
+ margin:0;
225
+ font-size:var(--tds-page-header-headline-font-size);
226
+ font-weight:var(--t-font-weight-normal);
227
+ line-height:32px;
228
+ color:var(--tds-page-header-headline-color);
229
+ overflow-wrap:break-word;
218
230
  }
219
231
 
220
- .tds-date-picker-overlay-cell[data-focus-visible]{
221
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
232
+ @media (min-width: 960px){
233
+ .tds-page-header__primary{
234
+ flex:1 1 max-content;
235
+ width:auto;
236
+ min-width:0;
237
+ max-width:100%;
222
238
  }
223
239
 
224
- .tds-date-picker-overlay-cell[data-selected][data-focus-visible]{
225
- outline-offset:var(--t-focus-ring-offset);
240
+ .tds-page-header__title-bar,
241
+ .tds-page-header--profile .tds-page-header__title-bar{
242
+ flex-flow:row nowrap;
243
+ row-gap:12px;
244
+ align-items:flex-start;
226
245
  }
246
+ .tds-page-header :is([slot="actions"],.tds-page-header__actions){
247
+ width:auto;
248
+ }
227
249
 
228
- .tds-date-picker-calendar-heading{
229
- display:flex;
230
- flex:1;
231
- gap:var(--t-spacing-1);
232
- align-items:center;
233
- justify-content:flex-start;
234
- padding-inline-start:4px;
250
+ .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
251
+ justify-content:flex-end;
252
+ }
235
253
  }
236
254
 
237
- .tds-date-picker-calendar-overlay-trigger{
238
- --_background-color:transparent;
239
- position:relative;
240
- 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);
255
+ .tds-page-header-phone,
256
+ .tds-page-header-email{
257
+ color:var(--tds-page-header-color);
258
+ white-space:nowrap;
255
259
  }
256
260
 
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;
265
- }
266
-
267
- .tds-date-picker-calendar-overlay-trigger[data-hovered]{
268
- --_background-color:var(--t-fill-color-button-neutral-outline-hover);
269
- }
261
+ .tds-page-header-email{
262
+ max-width:100%;
263
+ overflow:hidden;
264
+ text-overflow:ellipsis;
265
+ }
270
266
 
271
- .tds-date-picker-calendar-overlay-trigger[data-pressed]{
272
- --_background-color:var(--t-fill-color-button-neutral-outline-active);
267
+ @keyframes indicator-pulse{
268
+ 0%{
269
+ opacity:.3;
270
+ transform:scale(.9);
273
271
  }
274
272
 
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);
273
+ 100%{
274
+ opacity:0;
275
+ transform:scale(1.75);
278
276
  }
279
-
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
- }
285
-
286
- .tds-date-picker-calendar-body{
287
- position:relative;
288
- padding:var(--tds-date-picker-popover-padding);
289
- padding-block-start:0;
290
277
  }
291
278
 
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
- }
298
279
 
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
- }
280
+ @media (prefers-reduced-motion: no-preference){
304
281
 
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);
282
+ :root{
283
+ interpolate-size:allow-keywords;
320
284
  }
321
-
322
- .tds-date-picker-calendar-nav[data-hovered]{
323
- background-color:var(--t-fill-color-button-neutral-outline-hover);
324
- }
325
-
326
- .tds-date-picker-calendar-nav[data-pressed]{
327
- background-color:var(--t-fill-color-button-neutral-outline-active);
328
285
  }
329
286
 
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);
333
- }
287
+ @layer tds-component{
288
+ tds-sidenav,
289
+ .tds-sidenav{
290
+ --tds-sidenav-indent:12px;
291
+ --tds-sidenav-item-depth:0;
334
292
 
335
- .tds-date-picker-calendar-nav[data-disabled]{
336
- color:var(--t-text-color-disabled);
337
- cursor:not-allowed;
338
- }
293
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
339
294
 
340
- .tds-date-picker-calendar-grid{
341
- font-feature-settings:"ss01", "ss02";
342
- border-collapse:collapse;
343
- }
295
+ --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;
296
+ --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;
297
+ --tds-sidenav-collapse-closed-opacity:0;
298
+ --tds-sidenav-collapse-open-opacity:1;
299
+ --tds-sidenav-collapse-closed-transform:translateY(-8px);
300
+ --tds-sidenav-collapse-open-transform:translateY(0);
344
301
 
345
- .tds-date-picker-calendar-grid :where(thead,tbody,tr,td,th){
346
- padding:0;
347
- border:0;
348
- }
302
+ --tds-sidenav-item-icon-size:var(--t-element-size-md);
303
+ --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
304
+ --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
305
+ --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
349
306
 
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
- }
307
+ --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
308
+ --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
309
+ --tds-sidenav-item-nested-background-selected:transparent;
360
310
 
361
- .tds-date-picker-calendar-cell-button{
362
- position:relative;
363
- display:flex;
364
- 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;
374
- }
311
+ --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
312
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
313
+ --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
375
314
 
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%;
315
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
316
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
383
317
  }
384
318
 
385
- .tds-date-picker-calendar-cell-button[data-today]::before{
386
- box-shadow:inset 0 0 0 1.5px var(--t-border-color);
319
+ @media (prefers-reduced-motion: reduce){
320
+ tds-sidenav,
321
+ .tds-sidenav{
322
+ --tds-sidenav-collapse-transition-enter:none;
323
+ --tds-sidenav-collapse-transition-exit:none;
324
+ --tds-sidenav-collapse-closed-transform:none;
325
+ --tds-sidenav-collapse-open-transform:none;
326
+ }
387
327
  }
388
328
 
389
- .tds-date-picker-calendar-cell-button[data-outside-month]{
390
- display:none;
329
+ .tds-sidenav--theme-gray{
330
+ --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
331
+ --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
332
+ --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
333
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
334
+ --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
391
335
  }
336
+ }
392
337
 
393
- .tds-date-picker-calendar-cell-button[data-hovered]{
394
- --_background-color:var(--t-fill-color-button-neutral-outline-hover);
338
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
339
+ display:flex;
395
340
  }
396
341
 
397
- .tds-date-picker-calendar-cell-button[data-pressed]{
398
- --_background-color:var(--t-fill-color-button-neutral-outline-active);
342
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
343
+ flex-direction:column;
344
+ gap:var(--t-spacing-half);
345
+ width:100%;
399
346
  }
400
347
 
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;
406
- }
348
+ .tds-sidenav-section-list{
349
+ width:100%;
350
+ padding:0;
351
+ margin:0;
352
+ list-style:none;
353
+ }
407
354
 
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
- }
355
+ .tds-sidenav-section-header{
356
+ display:flex;
357
+ align-items:baseline;
358
+ justify-content:space-between;
359
+ padding-top:var(--t-spacing-2);
360
+ }
413
361
 
414
- .tds-date-picker-calendar-cell-button[data-disabled]{
415
- color:var(--t-text-color-disabled);
362
+ .tds-sidenav-section-header h2{
363
+ margin:0;
364
+ font-size:var(--t-font-size-sm);
365
+ font-weight:var(--t-font-weight-semibold);
366
+ line-height:1.35;
367
+ color:var(--t-text-color-secondary);
368
+ text-transform:uppercase;
416
369
  }
417
370
 
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;
371
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
372
+ padding-top:0;
421
373
  }
422
374
 
423
- .tds-date-picker-calendar-cell-button[data-focus-visible][data-selected]{
424
- outline-offset:var(--t-focus-ring-offset);
375
+ .tds-sidenav-section-header [slot="label-actions"]{
376
+ display:flex;
377
+ gap:var(--t-spacing-half);
378
+ align-items:center;
425
379
  }
426
380
 
427
- .tds-date-picker-popover--lg{
428
- --tds-date-picker-popover-font-size:var(--t-font-size-lg);
381
+ .tds-sidenav-section [slot="section-actions"]{
382
+ display:flex;
383
+ gap:12px;
384
+ align-items:center;
385
+ min-height:42px;
386
+ padding:var(--t-spacing-1) 0;
429
387
  }
430
388
 
431
- .tds-combo-box{
432
- --tds-combo-box-button-offset:4px;
389
+ .tds-sidenav-section-list,
390
+ .tds-sidenav-item{
391
+ width:100%;
392
+ padding:0;
393
+ margin:0;
433
394
  }
434
395
 
435
- .tds-combo-box[data-open] .tds-combo-box-button > svg{
436
- transform:rotate(.5turn);
396
+ .tds-sidenav-item :is(a,button){
397
+ position:relative;
398
+ display:flex;
399
+ gap:12px;
400
+ align-items:center;
401
+ width:100%;
402
+ padding:12px;
403
+ overflow:hidden;
404
+ font-size:var(--t-font-size-sm);
405
+ line-height:18px;
406
+ color:var(--t-text-color-headline);
407
+ white-space:nowrap;
408
+ text-decoration:none;
409
+ -webkit-appearance:none;
410
+ -moz-appearance:none;
411
+ appearance:none;
412
+ cursor:pointer;
413
+ background-color:var(--tds-sidenav-item-background, transparent);
414
+ border:0;
415
+ border-radius:var(--t-border-radius);
416
+ transition:var(--tds-sidenav-item-transition);
437
417
  }
438
418
 
439
- .tds-combo-box--lg{
440
- --tds-combo-box-button-offset:5px;
441
- }
419
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
420
+ display:block;
421
+ flex:1;
422
+ overflow:hidden;
423
+ text-overflow:ellipsis;
424
+ text-align:left;
425
+ white-space:nowrap;
426
+ }
442
427
 
443
- .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
444
- display:none;
445
- }
428
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
429
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
430
+ color:var(--t-text-color-headline);
431
+ text-decoration:none;
432
+ }
446
433
 
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
- }
434
+ :is(.tds-sidenav-item :is(a,button)):active{
435
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
436
+ }
460
437
 
461
- .tds-combo-box-input:has( + .tds-combo-box-button){
462
- padding-inline-end:0;
438
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
439
+ overflow:hidden;
440
+ color:var(--tds-sidenav-item-icon-color);
441
+ }
442
+
443
+ :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{
444
+ display:block;
445
+ width:var(--tds-sidenav-item-icon-size);
446
+ height:var(--tds-sidenav-item-icon-size);
447
+ }
448
+
449
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
450
+ --tds-sidenav-indent:19px;
451
+ }
452
+
453
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
454
+ visibility:visible;
455
+ block-size:auto;
456
+ opacity:1;
457
+ }
458
+
459
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
460
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
461
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
462
+
463
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
464
+ font-weight:var(--t-font-weight-semibold);
463
465
  }
464
466
 
465
- .tds-combo-box-input::-moz-placeholder{
466
- color:var(--tds-field-placeholder-color);
467
- -moz-user-select:none;
468
- user-select:none;
467
+ .tds-sidenav-item:has(.tds-sidenav-section){
468
+ display:flex;
469
+ flex-direction:column;
470
+ gap:var(--t-spacing-half);
469
471
  }
470
472
 
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;
473
+ .tds-sidenav-item .tds-sidenav-section-list{
474
+ --tds-sidenav-item-depth:1;
475
+ gap:0;
476
476
  }
477
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);
478
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
479
+ visibility:hidden;
480
+ block-size:0;
481
+ overflow-y:clip;
482
+ opacity:0;
483
+ transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
484
+ }
485
+
486
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
487
+ --tds-sidenav-item-depth:2;
488
+ }
489
+
490
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
491
+ min-height:var(--t-element-size-2xl);
492
+ padding-block:9px;
493
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
494
+ line-height:1;
495
+ background-color:transparent;
496
+ }
497
+
498
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
499
+ position:absolute;
500
+ top:0;
501
+ bottom:0;
502
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
503
+ width:2px;
504
+ content:"";
505
+ background-color:var(--tds-sidenav-item-nested-border-color);
506
+ transition:var(--tds-sidenav-item-transition);
507
+ }
508
+
509
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
510
+ position:absolute;
511
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
512
+ z-index:-1;
513
+ height:100%;
514
+ content:"";
515
+ background-color:var(--tds-sidenav-item-nested-background);
516
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
517
+ transition:var(--tds-sidenav-item-transition);
518
+ }
519
+
520
+ :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)){
521
+ display:block;
522
+ text-align:left;
523
+ white-space:normal;
524
+ }
525
+
526
+ :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{
527
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
528
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
529
+ }
530
+
531
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
532
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
533
+ }
534
+
535
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
536
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
537
+ font-weight:var(--t-font-weight-medium);
538
+ }
539
+
540
+ .tds-sidenav-responsive-header{
541
+ display:flex;
542
+ gap:var(--t-spacing-2);
543
+ align-items:center;
544
+ width:100%;
485
545
  }
486
546
 
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);
547
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
548
+ order:0;
491
549
  }
492
550
 
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);
551
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
552
+ flex:1;
553
+ order:1;
554
+ margin:0;
555
+ font-size:var(--t-font-size-lg);
556
+ font-weight:var(--t-font-weight-medium);
557
+ color:var(--t-text-color-headline);
515
558
  }
516
559
 
517
- .tds-combo-box-popover[data-exiting]{
518
- animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
560
+ @media (max-width: 719px){
561
+ .tds-sidenav-collapse{
562
+ z-index:10001;
563
+ display:none;
564
+ max-width:min(448px, calc(100vw - 48px));
565
+ padding:0;
566
+ margin:12px 0;
567
+ position-area:bottom span-right;
568
+ overflow:hidden;
569
+ outline:0;
570
+ background:var(--t-surface-color-card);
571
+ border:0;
572
+ border-radius:6px;
573
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
574
+ opacity:var(--tds-sidenav-collapse-open-opacity);
575
+ transform:var(--tds-sidenav-collapse-open-transform);
576
+ transition:var(--tds-sidenav-collapse-transition-enter);
577
+ will-change:transform;
519
578
  }
520
579
 
521
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
522
- will-change:opacity, transform;
580
+ .tds-sidenav-scroll-container{
581
+ --webkit-overflow-scrolling:touch;
582
+ display:block;
583
+ width:100%;
584
+ height:-moz-fit-content;
585
+ height:fit-content;
586
+ padding:var(--t-spacing-2);
587
+ overflow-y:auto;
523
588
  }
524
589
 
525
- @keyframes tds-combo-box-popover{
526
- from{
527
- opacity:0;
528
- transform:translateY(-8px);
590
+ .tds-sidenav-item :is(a, button) :is(.prefix){
591
+ display:none;
529
592
  }
530
- }
593
+ @supports selector(:popover-open){
594
+ .tds-sidenav-collapse:popover-open{
595
+ display:flex;
596
+ }
531
597
 
532
- @media (prefers-reduced-motion: reduce){
533
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
534
- animation:none;
598
+ .tds-sidenav-collapse:not(:popover-open){
599
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
600
+ transition:var(--tds-sidenav-collapse-transition-exit);
535
601
  }
536
602
 
537
- .tds-combo-box-button > svg{
538
- transition:none;
603
+ @starting-style{
604
+ .tds-sidenav-collapse:popover-open{
605
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
606
+ transform:var(--tds-sidenav-collapse-closed-transform);
607
+ }
608
+ }
539
609
  }
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
- }
610
+ @supports not selector(:popover-open){
611
+ .tds-sidenav-collapse.\:popover-open{
612
+ display:flex;
613
+ }
559
614
 
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);
615
+ .tds-sidenav-collapse:not(.\:popover-open){
616
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
617
+ transition:var(--tds-sidenav-collapse-transition-exit);
618
+ }
562
619
  }
620
+ }
563
621
 
564
- .tds-combo-box-list-item[data-selected]{
565
- background:var(--t-fill-color-button-interaction-ghost-active);
622
+ @media (min-width: 720px){
623
+ .tds-sidenav-responsive-header{
624
+ display:none;
566
625
  }
626
+ }
567
627
 
568
- .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
569
- background:var(--t-fill-color-neutral-060);
570
- }
628
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
629
+ display:none;
630
+ }
571
631
 
572
- .tds-combo-box-list-item[data-disabled]{
573
- color:var(--t-form-color-disabled);
574
- cursor:not-allowed;
575
- }
632
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
633
+ display:block;
634
+ }
576
635
 
577
- .tds-combo-box-list-item[data-disabled][data-hovered]{
578
- background:transparent;
636
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
637
+ display:flex;
638
+ flex-direction:column;
579
639
  }
580
640
 
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
- }
641
+ .tds-checkbox-group{
642
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
643
+ --tds-checkbox-group-line-height:1.4;
644
+ --tds-checkbox-group-gap:var(--t-spacing-1);
589
645
 
590
- .tds-combo-box-load-more{
591
- position:relative;
592
- min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
593
- }
646
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
647
+ --tds-checkbox-group-description-line-height:1.35;
648
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
649
+ --tds-checkbox-group-description-invalid-icon-display:none;
650
+ display:flex;
651
+ flex-direction:column;
652
+ gap:0;
653
+ padding:0;
654
+ margin:0;
594
655
 
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;
656
+ font-size:var(--tds-checkbox-group-font-size);
657
+ line-height:var(--tds-checkbox-group-line-height);
658
+ border:0;
599
659
  }
600
660
 
601
- .tds-combo-box-list-section:not(:first-child){
602
- margin-block-start:var(--t-spacing-half);
661
+ .tds-checkbox-group legend{
662
+ float:left;
663
+ padding:0;
664
+ margin:0;
603
665
  }
604
666
 
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);
611
- }
612
-
613
- @layer t-critical{
614
- tds-page-header:not(.hydrated){
615
- display:none;
667
+ .tds-checkbox-group[aria-invalid="true"]{
668
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
669
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
616
670
  }
617
- }
618
-
619
- @layer t-component{
620
- .tds-page-header{
621
- --tds-page-header-background-color:var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-canvas));
622
- --tds-page-header-background-color-inactive:var(--t-fill-color-neutral-090);
623
- --tds-page-header-color:var(--t-text-color);
624
- --tds-page-header-bottom-border-color:transparent;
625
- --tds-page-header-headline-color:var(--t-text-color-headline);
626
- --tds-page-header-headline-font-size:var(--t-font-size-2xl);
627
- --tds-page-header-padding-x:var(--t-spacing-2);
628
- --tds-page-header-padding-y:var(--t-spacing-2);
629
- --tds-page-header-nav-padding-x:var(--tds-page-header-padding-x, var(--t-spacing-3));
630
- --tds-page-header-nav-gap:var(--t-spacing-1);
631
- --tds-page-header-nav-background:linear-gradient(180deg, var(--tds-page-header-nav-background-start, rgba(0, 0, 0, 0)) 0%, var(--tds-page-header-nav-background-end, rgba(0, 0, 0, .1)) 100%);
632
- --tds-page-header-nav-item-padding-x:var(--t-spacing-1);
633
- --tds-page-header-nav-item-padding-y:var(--t-spacing-1);
634
- --tds-page-header-nav-item-color:var(--t-text-color-secondary);
635
- --tds-page-header-nav-item-background-color:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 35%);
636
- --tds-page-header-nav-item-border-width:1px;
637
671
 
638
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-background-color);
639
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color);
672
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
673
+ margin-left:.25ch;
674
+ color:var(--t-text-color-status-error);
675
+ content:"*";
676
+ }
640
677
 
641
- --tds-page-header-nav-item-color-hover:var(--t-text-color);
642
- --tds-page-header-nav-item-background-color-hover:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 20%);
643
- --tds-page-header-nav-item-border-color-hover:var(--tds-page-header-nav-item-background-color-hover);
678
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
679
+ content:none;
680
+ }
644
681
 
645
- --tds-page-header-nav-item-background-color-active:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 10%);
646
- --tds-page-header-nav-item-border-color-active:var(--tds-page-header-nav-item-background-color-active);
682
+ .tds-checkbox-group-fields{
683
+ display:flex;
684
+ flex-direction:column;
685
+ gap:var(--tds-checkbox-group-gap);
686
+ align-items:flex-start;
687
+ margin-top:var(--t-spacing-1);
688
+ }
647
689
 
648
- --tds-page-header-nav-item-color-disabled:var(--t-text-color-disabled);
649
- --tds-page-header-nav-item-background-color-disabled:color-mix(in srgb, var(--t-surface-color-canvas) 100%, transparent 50%);
650
- --tds-page-header-nav-item-border-color-disabled:var(--tds-page-header-nav-item-background-color-disabled);
690
+ .tds-checkbox-group-description{
691
+ display:flex;
692
+ gap:var(--t-spacing-half);
693
+ align-items:flex-start;
694
+ margin:var(--t-spacing-fourth) 0 0;
695
+ font-size:var(--tds-checkbox-group-description-font-size);
696
+ line-height:var(--tds-checkbox-group-description-line-height);
697
+ color:var(--tds-checkbox-group-description-color);
698
+ cursor:text;
699
+ }
651
700
 
652
- --tds-page-header-nav-item-color-selected:var(--t-text-color);
653
- --tds-page-header-nav-item-background-color-selected:var(--t-surface-color-canvas);
654
- --tds-page-header-nav-item-border-color-selected:var(--tds-page-header-nav-item-background-color-selected);
655
- --tds-page-header-nav-item-border-bottom-color-selected:var(--tds-page-header-nav-item-background-color-selected);
656
- --tds-page-header-nav-item-indicator-color:var(--t-icon-color-status-warning);
701
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
702
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
703
+ flex-shrink:0;
704
+ margin-top:calc(.5lh - .5em);
705
+ line-height:var(--tds-checkbox-group-description-line-height);
657
706
  }
658
707
 
659
- .tds-page-header--profile{
660
- --tds-page-header-padding-y:20px;
661
- }
708
+ .tds-checkbox-group--sm{
709
+ --tds-checkbox-group-line-height:1.35;
710
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
711
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
712
+ --tds-checkbox-group-description-line-height:1.3;
713
+ }
662
714
 
663
- @supports (color: light-dark(#fff, #000)){
664
- .tds-page-header{
665
- --tds-page-header-nav-background-start:light-dark(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0));
666
- --tds-page-header-nav-background-end:light-dark(rgba(0, 0, 0, .05), rgba(255, 255, 255, .1));
667
- }
668
- }
715
+ .tds-combo-box{
716
+ --tds-combo-box-button-offset:4px;
717
+ }
669
718
 
670
- @media (min-width: 600px){
671
- .tds-page-header{
672
- --tds-page-header-background-color:var(--t-surface-color-canvas);
673
- --tds-page-header-color:var(--t-text-color-secondary);
674
- --tds-page-header-bottom-border-color:var(--t-border-color);
675
- --tds-page-header-padding-x:var(--t-spacing-3);
676
- --tds-page-header-headline-font-size:var(--t-font-size-3xl);
677
- --tds-page-header-nav-gap:var(--t-spacing-half);
678
- --tds-page-header-nav-background:transparent;
679
- --tds-page-header-nav-item-padding-x:var(--t-spacing-2);
680
- --tds-page-header-nav-item-border-width:1px;
681
- --tds-page-header-nav-item-color:var(--t-text-color);
682
- --tds-page-header-nav-item-background-color:var(--t-fill-color-neutral-070);
683
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-bottom-border-color);
684
- --tds-page-header-nav-item-background-color-hover:var(--t-fill-color-neutral-060);
685
- --tds-page-header-nav-item-background-color-active:var(--t-fill-color-neutral-050);
686
- --tds-page-header-nav-item-background-color-disabled:var(--t-fill-color-neutral-080);
687
- --tds-page-header-nav-item-border-color-selected:var(--t-border-color);
688
- }
719
+ .tds-combo-box[data-open] .tds-combo-box-button > svg{
720
+ transform:rotate(.5turn);
689
721
  }
722
+
723
+ .tds-combo-box--lg{
724
+ --tds-combo-box-button-offset:5px;
690
725
  }
691
726
 
692
- .tds-page-header{
693
- display:flex;
694
- flex-direction:column;
695
- padding-top:var(--tds-page-header-padding-y);
696
- color:var(--tds-page-header-color);
697
- background:var(--tds-page-header-background-color);
698
- border-bottom:1px solid var(--tds-page-header-bottom-border-color);
727
+ .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
728
+ display:none;
699
729
  }
700
730
 
701
- .tds-page-header:not(.has-nav){
702
- padding-bottom:var(--tds-page-header-padding-y);
703
- }
731
+ .tds-combo-box-input{
732
+ display:flex;
733
+ flex:1;
734
+ align-items:center;
735
+ padding-block:var(--tds-field-padding-block);
736
+ padding-inline:var(--tds-field-padding-inline);
737
+ font-family:inherit;
738
+ font-size:inherit;
739
+ color:inherit;
740
+ outline:0;
741
+ background:transparent;
742
+ border:0;
743
+ }
704
744
 
705
- .tds-page-header.inactive{
706
- background:var(--tds-page-header-background-color-inactive);
745
+ .tds-combo-box-input:has( + .tds-combo-box-button){
746
+ padding-inline-end:0;
707
747
  }
708
748
 
709
- .tds-page-header :is([slot="actions"],.tds-page-header__actions){
710
- width:100%;
749
+ .tds-combo-box-input::-moz-placeholder{
750
+ color:var(--tds-field-placeholder-color);
751
+ -moz-user-select:none;
752
+ user-select:none;
711
753
  }
712
754
 
713
- .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
714
- display:flex;
715
- flex-flow:row wrap;
716
- gap:var(--t-spacing-half) var(--t-spacing-1);
717
- align-items:flex-start;
718
- justify-content:flex-start;
719
- min-width:0;
755
+ .tds-combo-box-input::placeholder{
756
+ color:var(--tds-field-placeholder-color);
757
+ -webkit-user-select:none;
758
+ -moz-user-select:none;
759
+ user-select:none;
720
760
  }
721
761
 
722
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)):not(:has(ul)),:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) ul{
723
- display:flex;
724
- gap:var(--tds-page-header-nav-gap);
725
- padding:var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
726
- margin:0 0 -1px;
727
- overflow:auto;
728
- list-style:none;
729
- background:var(--tds-page-header-nav-background);
730
- }
762
+ .tds-combo-box-button{
763
+ flex-shrink:0;
764
+ align-self:center;
765
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
766
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
767
+ padding:0;
768
+ margin-inline-end:var(--tds-combo-box-button-offset);
769
+ }
731
770
 
732
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button){
733
- position:relative;
734
- display:inline-flex;
735
- padding:var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
736
- font-size:var(--t-font-size-sm);
737
- line-height:22px;
738
- color:var(--tds-page-header-nav-item-color);
739
- white-space:nowrap;
740
- text-decoration:none;
741
- -webkit-appearance:none;
742
- -moz-appearance:none;
743
- appearance:none;
744
- cursor:pointer;
745
- outline-offset:-2px;
746
- background-color:var(--tds-page-header-nav-item-background-color);
747
- background-clip:padding-box;
748
- border:var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
749
- border-bottom:1px solid var(--tds-page-header-nav-item-border-bottom-color);
750
- border-radius:var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
751
- }
771
+ .tds-combo-box-button > svg{
772
+ inline-size:var(--tds-field-font-size);
773
+ block-size:var(--tds-field-font-size);
774
+ transition:transform var(--t-duration-300) var(--t-ease-in-out);
775
+ }
752
776
 
753
- .selected:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)){
754
- --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-selected);
755
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-selected);
756
- --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-selected);
757
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-selected);
758
- }
777
+ .tds-combo-box-popover{
778
+ width:var(--trigger-width);
779
+ max-block-size:inherit;
780
+ padding:var(--t-spacing-1);
781
+ overflow:auto;
782
+ scroll-behavior:smooth;
783
+ overscroll-behavior:none;
784
+ -webkit-user-select:none;
785
+ -moz-user-select:none;
786
+ user-select:none;
787
+ outline:0;
788
+ scrollbar-color:#0004 var(--t-surface-color-card);
789
+ scrollbar-width:thin;
790
+ background:var(--t-surface-color-card);
791
+ background-clip:padding-box;
792
+ border:1px solid var(--t-border-color);
793
+ border-radius:var(--t-border-radius);
794
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
795
+ }
759
796
 
760
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):hover{
761
- --tds-page-header-nav-item-color:var(--tds-page-header-nav-item-color-hover);
762
- --tds-page-header-nav-item-background-color:var(--tds-page-header-nav-item-background-color-hover);
763
- --tds-page-header-nav-item-border-color:var(--tds-page-header-nav-item-border-color-hover);
764
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-hover);
765
- }
797
+ .tds-combo-box-popover[data-entering]{
798
+ animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
799
+ }
766
800
 
767
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):active{
768
- background-color:var(--tds-page-header-nav-item-background-color-active);
769
- border-color:var(--tds-page-header-nav-item-border-color-active);
770
- border-bottom-color:var(--tds-page-header-nav-item-background-color-active);
771
- }
801
+ .tds-combo-box-popover[data-exiting]{
802
+ animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
803
+ }
772
804
 
773
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected):disabled{
774
- --tds-page-header-nav-item-border-bottom-color:var(--tds-page-header-nav-item-background-color-disabled);
775
- color:var(--tds-page-header-nav-item-color-disabled);
776
- cursor:not-allowed;
777
- background-color:var(--tds-page-header-nav-item-background-color-disabled);
778
- opacity:1;
779
- }
805
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
806
+ will-change:opacity, transform;
807
+ }
780
808
 
781
- @media (min-width: 600px){
782
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) :is(a,button)):not(.selected)::after{
783
- position:absolute;
784
- inset:auto -1px -1px;
785
- height:1px;
786
- pointer-events:none;
787
- content:"";
788
- background-color:var(--tds-page-header-bottom-border-color);
789
- }
790
- }
809
+ @keyframes tds-combo-box-popover{
810
+ from{
811
+ opacity:0;
812
+ transform:translateY(-8px);
813
+ }
814
+ }
791
815
 
792
- :is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator){
793
- position:relative;
816
+ @media (prefers-reduced-motion: reduce){
817
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
818
+ animation:none;
794
819
  }
795
820
 
796
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator)) :is(a,button){
797
- -webkit-mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
798
- mask:radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
799
- }
800
-
801
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::before,:is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
802
- position:absolute;
803
- top:-5px;
804
- right:-2px;
805
- width:10px;
806
- height:10px;
807
- content:"";
808
- background:var(--tds-page-header-nav-item-indicator-color);
809
- border-radius:50%;
810
- }
821
+ .tds-combo-box-button > svg{
822
+ transition:none;
823
+ }
824
+ }
811
825
 
812
- @media (prefers-reduced-motion: no-preference){
813
- :is(:is(.tds-page-header nav:is([slot="navigation"],.tds-page-header__nav)) li:has(.indicator))::after{
814
- animation:indicator-pulse 1.25s ease infinite;
815
- }
816
- }
826
+ .tds-combo-box-list{
827
+ padding:0;
828
+ margin:0;
829
+ }
817
830
 
818
- .tds-page-header__title-bar{
819
- display:flex;
820
- flex-direction:column;
821
- gap:var(--t-spacing-2) var(--t-spacing-1);
822
- align-items:flex-start;
823
- justify-content:space-between;
824
- padding:0 var(--tds-page-header-padding-x);
831
+ .tds-combo-box-list-item{
832
+ display:block;
833
+ padding-block:var(--t-spacing-1);
834
+ padding-inline:var(--t-spacing-2) var(--t-spacing-1);
835
+ overflow:hidden;
836
+ text-overflow:ellipsis;
837
+ font-size:1rem;
838
+ color:var(--t-text-color);
839
+ white-space:nowrap;
840
+ cursor:default;
841
+ border-radius:var(--t-border-radius);
825
842
  }
826
843
 
827
- .tds-page-header--profile > .tds-page-header__title-bar{
828
- align-items:center;
844
+ .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
845
+ background:var(--t-fill-color-neutral-070);
829
846
  }
830
847
 
831
- .tds-page-header__primary{
832
- width:100%;
833
- }
834
-
835
- .tds-page-header__primary h1{
836
- margin:0;
837
- font-size:var(--tds-page-header-headline-font-size);
838
- font-weight:var(--t-font-weight-normal);
839
- line-height:32px;
840
- color:var(--tds-page-header-headline-color);
841
- overflow-wrap:break-word;
848
+ .tds-combo-box-list-item[data-selected]{
849
+ background:var(--t-fill-color-button-interaction-ghost-active);
842
850
  }
843
851
 
844
- @media (min-width: 960px){
845
- .tds-page-header__primary{
846
- flex:1 1 max-content;
847
- width:auto;
848
- min-width:0;
849
- max-width:100%;
852
+ .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
853
+ background:var(--t-fill-color-neutral-060);
850
854
  }
851
855
 
852
- .tds-page-header__title-bar,
853
- .tds-page-header--profile .tds-page-header__title-bar{
854
- flex-flow:row nowrap;
855
- row-gap:12px;
856
- align-items:flex-start;
856
+ .tds-combo-box-list-item[data-disabled]{
857
+ color:var(--t-form-color-disabled);
858
+ cursor:not-allowed;
857
859
  }
858
- .tds-page-header :is([slot="actions"],.tds-page-header__actions){
859
- width:auto;
860
- }
861
860
 
862
- .tds-page-header.has-multi-actions :is([slot="actions"],.tds-page-header__actions){
863
- justify-content:flex-end;
861
+ .tds-combo-box-list-item[data-disabled][data-hovered]{
862
+ background:transparent;
864
863
  }
864
+
865
+ .tds-combo-box-empty-state{
866
+ position:relative;
867
+ min-block-size:var(--t-spacing-3);
868
+ padding-block:var(--t-spacing-1);
869
+ padding-inline:var(--t-spacing-2);
870
+ font-size:var(--t-font-size-md);
871
+ color:var(--t-text-color-secondary);
865
872
  }
866
873
 
867
- .tds-page-header-phone,
868
- .tds-page-header-email{
869
- color:var(--tds-page-header-color);
870
- white-space:nowrap;
874
+ .tds-combo-box-load-more{
875
+ position:relative;
876
+ min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
871
877
  }
872
878
 
873
- .tds-page-header-email{
874
- max-width:100%;
875
- overflow:hidden;
876
- text-overflow:ellipsis;
879
+ .tds-combo-box-empty-state,
880
+ .tds-combo-box-load-more{
881
+ --tds-loading-spinner-visibility:visible;
882
+ --tds-loading-spinner-animation-play-state:running;
877
883
  }
878
884
 
879
- @keyframes indicator-pulse{
880
- 0%{
881
- opacity:.3;
882
- transform:scale(.9);
885
+ .tds-combo-box-list-section:not(:first-child){
886
+ margin-block-start:var(--t-spacing-half);
883
887
  }
884
888
 
885
- 100%{
886
- opacity:0;
887
- transform:scale(1.75);
888
- }
889
+ .tds-combo-box-section-header{
890
+ padding-block:var(--t-spacing-1);
891
+ padding-inline:var(--t-spacing-1);
892
+ font-size:var(--t-font-size-sm);
893
+ font-weight:var(--t-font-weight-semibold);
894
+ color:var(--t-text-color-secondary);
889
895
  }
890
896
 
891
897
  .tds-checkbox{
@@ -1012,904 +1018,829 @@
1012
1018
  }
1013
1019
 
1014
1020
  .tds-checkbox:has(input:indeterminate){
1015
- --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1016
- }
1017
-
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;
1022
- }
1023
-
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
- }
1028
-
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);
1032
- }
1033
-
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
- }
1038
-
1039
- .tds-checkbox:has(input:required) label::after{
1040
- margin-left:.25ch;
1041
- color:var(--t-text-color-status-error);
1042
- content:"*";
1043
- }
1044
-
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);
1048
-
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;
1052
- }
1053
-
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
- }
1057
-
1058
- .tds-checkbox-description{
1059
- 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);
1064
- 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;
1069
- }
1070
-
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);
1076
- }
1077
-
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
- }
1085
-
1086
-
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;
1090
- }
1091
-
1092
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1093
- inline-size:1em;
1094
- block-size:2em;
1095
- }
1096
-
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
- }
1103
-
1104
- .tds-input--auto-width input{
1105
- field-sizing:content;
1106
- inline-size:auto;
1107
- }
1108
- }
1109
-
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;
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);
1121
-
1122
- --tds-radio-label-color:var(--t-form-color);
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);
1127
-
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;
1137
- }
1138
-
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
- }
1147
-
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);
1165
- }
1166
-
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
- }
1176
-
1177
- :is(.tds-radio input[type="radio"]):disabled{
1178
- pointer-events:none;
1179
- }
1180
-
1181
- @media (prefers-reduced-motion: reduce){
1182
-
1183
- .tds-radio input[type="radio"]{
1184
- --tds-radio-transition-property:none;
1021
+ --tds-checkbox-input-icon:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMy41NTU1NiIgeT0iNy4xMTExMSIgd2lkdGg9IjguODg4ODkiIGhlaWdodD0iMS43Nzc3OCIgcng9IjAuODg4ODg5IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
1185
1022
  }
1186
- }
1187
1023
 
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;
1024
+ .tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid{
1025
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1026
+ --tds-checkbox-description-color:var(--t-text-color-status-error);
1027
+ --tds-checkbox-description-invalid-icon-display:inline-block;
1192
1028
  }
1193
1029
 
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);
1030
+ :is(.tds-checkbox:has(input:user-invalid),.tds-checkbox.tds-checkbox--invalid) input:hover:not(:disabled){
1031
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1032
+ --tds-checkbox-input-background-color:var(--t-form-background-color-error);
1197
1033
  }
1198
1034
 
1199
- .tds-radio:has(input:user-invalid){
1200
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1201
- }
1035
+ :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{
1036
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error);
1037
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error);
1038
+ }
1202
1039
 
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);
1040
+ :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){
1041
+ --tds-checkbox-input-border-color:var(--t-form-border-color-error-hover);
1042
+ --tds-checkbox-input-background-color:var(--t-form-border-color-error-hover);
1043
+ }
1044
+
1045
+ .tds-checkbox:has(input:required) label::after{
1046
+ margin-left:.25ch;
1047
+ color:var(--t-text-color-status-error);
1048
+ content:"*";
1206
1049
  }
1207
1050
 
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);
1051
+ .tds-checkbox:has(input:disabled){
1052
+ --tds-checkbox-input-background-color:var(--t-form-background-color-disabled);
1053
+ --tds-checkbox-input-border-color:var(--t-form-border-color-disabled);
1211
1054
 
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;
1055
+ --tds-checkbox-label-color:var(--t-form-color-disabled);
1056
+ --tds-checkbox-description-color:var(--t-form-color-disabled);
1057
+ --tds-checkbox-cursor:not-allowed;
1215
1058
  }
1216
1059
 
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);
1060
+ .tds-checkbox:has(input:disabled) input:checked,.tds-checkbox:has(input:disabled) input:indeterminate{
1061
+ --tds-checkbox-input-background-color:var(--t-border-color-control-disabled);
1220
1062
  }
1221
1063
 
1222
- .tds-radio-description{
1064
+ .tds-checkbox-description{
1223
1065
  display:flex;
1224
1066
  grid-area:2 / 2;
1225
1067
  gap:var(--t-spacing-half);
1226
1068
  align-items:flex-start;
1227
1069
  padding-inline-start:var(--t-spacing-1);
1228
1070
  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);
1071
+ font-size:var(--tds-checkbox-description-font-size);
1072
+ line-height:var(--tds-checkbox-description-line-height);
1073
+ color:var(--tds-checkbox-description-color);
1232
1074
  cursor:text;
1233
1075
  }
1234
1076
 
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;
1241
- }
1242
-
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);
1256
-
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);
1077
+ .tds-checkbox-description .tds-checkbox-description-invalid-icon{
1078
+ display:var(--tds-checkbox-description-invalid-icon-display);
1079
+ flex-shrink:0;
1080
+ margin-top:calc(.5lh - .5em);
1081
+ line-height:var(--tds-checkbox-description-line-height);
1082
+ }
1260
1083
 
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;
1084
+ .tds-checkbox--sm{
1085
+ --tds-checkbox-line-height:1.35;
1086
+ --tds-checkbox-input-size:var(--t-element-size-sm);
1087
+ --tds-checkbox-font-size:var(--t-font-size-sm);
1088
+ --tds-checkbox-description-font-size:var(--t-font-size-xs);
1089
+ --tds-checkbox-description-line-height:1.3;
1090
+ }
1265
1091
 
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;
1092
+ .tds-date-picker{
1093
+ --tds-date-picker-button-offset:4px;
1273
1094
  }
1274
1095
 
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);
1289
- }
1096
+ .tds-date-picker--lg{
1097
+ --tds-date-picker-button-offset:5px;
1098
+ }
1290
1099
 
1291
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1292
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1293
- }
1100
+ .tds-date-picker-field[data-focus-within]:has(.tds-date-picker-button[data-focused]){
1101
+ outline-color:transparent;
1102
+ outline-offset:0;
1103
+ border-color:var(--tds-field-border-color);
1104
+ }
1294
1105
 
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);
1305
- }
1106
+ .tds-date-picker-field:has(.tds-date-picker-input[data-readonly]) .tds-date-picker-button{
1107
+ display:none;
1108
+ }
1306
1109
 
1307
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1308
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1309
- }
1110
+ .tds-date-picker-input{
1111
+ flex:1;
1112
+ padding-block:var(--tds-field-padding-block);
1113
+ padding-inline:var(--tds-field-padding-inline);
1114
+ overflow:auto clip;
1115
+ font-variant-numeric:tabular-nums;
1116
+ text-wrap:nowrap;
1117
+ scrollbar-width:none;
1118
+ }
1310
1119
 
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)));
1120
+ .tds-date-picker-input:has( + .tds-date-picker-button){
1121
+ padding-inline-end:0;
1314
1122
  }
1315
1123
 
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
- }
1124
+ .tds-date-picker-button{
1125
+ flex-shrink:0;
1126
+ align-self:center;
1127
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-date-picker-button-offset) * 2));
1128
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-date-picker-button-offset) * 2));
1129
+ padding:0;
1130
+ margin-inline-end:var(--tds-date-picker-button-offset);
1131
+ }
1319
1132
 
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;
1325
- }
1133
+ .tds-date-picker-popover{
1134
+ --tds-date-picker-popover-font-size:var(--t-font-size-md);
1135
+ --tds-date-picker-popover-padding:var(--t-spacing-1-half);
1136
+ --tds-date-picker-popover-background-color:var(--t-surface-color-card);
1137
+ --tds-date-picker-popover-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
1138
+ --tds-date-picker-popover-interactive-timing-function:var(--t-ease-in-out);
1139
+ --tds-date-picker-popover-interactive-duration:var(--t-duration-200);
1140
+ --tds-date-picker-popover-interactive-property:color, background-color, border-color;
1326
1141
 
1327
- .tds-toggle-switch-track{
1328
1142
  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);
1143
+ overflow:hidden;
1144
+ background-color:var(--tds-date-picker-popover-background-color);
1145
+ border:var(--t-border-width) solid var(--t-border-color);
1146
+ border-radius:var(--t-border-radius);
1147
+ box-shadow:var(--tds-date-picker-popover-shadow);
1335
1148
  }
1336
1149
 
1337
- .tds-toggle-switch-track::before{
1338
- 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);
1343
- 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);
1150
+ .tds-date-picker-popover[data-entering]{
1151
+ animation:tds-date-picker-popover var(--t-duration-300) var(--t-ease-out);
1348
1152
  }
1349
1153
 
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
- }
1154
+ .tds-date-picker-popover[data-exiting]{
1155
+ animation:tds-date-picker-popover var(--t-duration-200) var(--t-ease-in) reverse;
1356
1156
  }
1357
1157
 
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
- }
1158
+ .tds-date-picker-popover[data-entering],.tds-date-picker-popover[data-exiting]{
1159
+ will-change:opacity, transform;
1160
+ }
1369
1161
 
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;
1162
+ @keyframes tds-date-picker-popover{
1163
+ from{
1164
+ opacity:0;
1165
+ transform:translateY(-8px);
1166
+ }
1377
1167
  }
1378
1168
 
1379
- .tds-toggle-switch--hide-label{
1380
- --tds-toggle-switch-display:inline-flex;
1169
+ @media (prefers-reduced-motion: reduce){
1170
+ .tds-date-picker-popover[data-entering],.tds-date-picker-popover[data-exiting]{
1171
+ animation:none;
1172
+ }
1381
1173
  }
1382
1174
 
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;
1175
+ .tds-date-picker-overlay{
1176
+ position:absolute;
1177
+ inset:0;
1178
+ z-index:1;
1179
+ display:flex;
1180
+ background-color:var(--tds-date-picker-popover-background-color);
1388
1181
  }
1389
1182
 
1390
- .tds-number-stepper{
1391
- --tds-number-stepper-button-offset:4px;
1392
- --tds-number-stepper-button-gap:2px;
1183
+ .tds-date-picker-overlay-list{
1184
+ display:grid;
1185
+ flex:1;
1186
+ grid-template-columns:repeat(3, 1fr);
1187
+ gap:var(--t-spacing-half);
1188
+ padding-inline:var(--tds-date-picker-popover-padding);
1189
+ outline:0;
1190
+ scrollbar-color:var(--t-fill-color-transparency-dark-030) transparent;
1191
+ scrollbar-width:thin;
1393
1192
  }
1394
1193
 
1395
- .tds-number-stepper--lg{
1396
- --tds-number-stepper-button-offset:5px;
1397
- --tds-number-stepper-button-gap:4px;
1194
+ .tds-date-picker-overlay--month .tds-date-picker-overlay-list{
1195
+ grid-template-rows:repeat(4, 1fr);
1196
+ padding-bottom:var(--tds-date-picker-popover-padding);
1398
1197
  }
1399
1198
 
1400
- .tds-number-stepper-field:has([readonly]) .tds-number-stepper-button{
1401
- display:none;
1199
+ .tds-date-picker-overlay--year .tds-date-picker-overlay-list{
1200
+ grid-auto-rows:var(--t-container-size-xl);
1201
+ padding-right:var(--t-spacing-1);
1202
+ overflow-y:auto;
1203
+ scroll-padding-block:calc(var(--t-focus-ring-width) + var(--t-focus-ring-offset));
1402
1204
  }
1403
1205
 
1404
- .tds-number-stepper-input{
1206
+ .tds-date-picker-overlay-cell{
1405
1207
  display:flex;
1406
- flex:1;
1407
1208
  align-items:center;
1408
- min-inline-size:0;
1409
- padding-block:var(--tds-field-padding-block);
1410
- padding-inline:var(--tds-field-padding-inline);
1209
+ justify-content:center;
1411
1210
  font-family:inherit;
1412
- font-size:inherit;
1413
- color:inherit;
1211
+ font-size:var(--tds-date-picker-popover-font-size);
1212
+ color:var(--t-text-color);
1213
+ cursor:pointer;
1414
1214
  outline:0;
1415
- background:transparent;
1215
+ background-color:transparent;
1416
1216
  border:0;
1217
+ border-radius:var(--t-border-radius-md);
1218
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
1219
+ transition-duration:var(--t-duration-100);
1220
+ transition-property:var(--tds-date-picker-popover-interactive-property);
1417
1221
  }
1418
1222
 
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;
1223
+ .tds-date-picker-overlay-cell[data-hovered]{
1224
+ background-color:var(--t-fill-color-button-neutral-outline-hover);
1423
1225
  }
1424
1226
 
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
- }
1432
-
1433
- .tds-number-stepper-button + .tds-number-stepper-button{
1434
- margin-inline-start:var(--tds-number-stepper-button-gap);
1227
+ .tds-date-picker-overlay-cell[data-pressed]{
1228
+ background-color:var(--t-fill-color-button-neutral-outline-active);
1435
1229
  }
1436
1230
 
1437
- .tds-number-stepper-button:last-of-type{
1438
- margin-inline-end:var(--tds-number-stepper-button-offset);
1231
+ .tds-date-picker-overlay-cell[data-selected]{
1232
+ font-weight:var(--t-font-weight-semibold);
1233
+ color:var(--t-text-color-inverted);
1234
+ background-color:var(--t-fill-color-interaction);
1439
1235
  }
1440
1236
 
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");
1445
- }
1446
-
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
- }
1237
+ .tds-date-picker-overlay-cell[data-focus-visible]{
1238
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
1452
1239
  }
1453
1240
 
1454
- .tds-input.tds-textarea--resize-vertical textarea{
1455
- resize:vertical;
1456
- }
1457
-
1458
- .tds-input.tds-textarea--resize-none textarea{
1459
- resize:none;
1460
- }
1461
-
1462
- .tds-input.tds-textarea--resize-auto textarea{
1463
- resize:vertical;
1464
- }
1465
-
1466
- @supports (field-sizing: content){
1467
- .tds-input.tds-textarea--resize-auto textarea{
1468
- field-sizing:content;
1469
- resize:none;
1470
- }
1471
- }
1241
+ .tds-date-picker-overlay-cell[data-selected][data-focus-visible]{
1242
+ outline-offset:var(--t-focus-ring-offset);
1243
+ }
1472
1244
 
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;
1245
+ .tds-date-picker-calendar-heading{
1246
+ display:flex;
1247
+ flex:1;
1248
+ gap:var(--t-spacing-1);
1249
+ align-items:center;
1250
+ justify-content:flex-start;
1251
+ padding-inline-start:4px;
1488
1252
  }
1489
1253
 
1490
- @media (pointer: fine){
1491
- :is(.tds-input textarea)::-webkit-scrollbar{
1492
- width:12px;
1493
- height:12px;
1494
- cursor:default;
1495
- }
1254
+ .tds-date-picker-calendar-overlay-trigger{
1255
+ --_background-color:transparent;
1256
+ position:relative;
1257
+ padding:0;
1258
+ font-family:inherit;
1259
+ font-size:var(--tds-date-picker-popover-font-size);
1260
+ font-weight:var(--t-font-weight-semibold);
1261
+ font-feature-settings:"ss01", "ss02";
1262
+ color:var(--t-text-color);
1263
+ cursor:pointer;
1264
+ outline:0;
1265
+ background-color:transparent;
1266
+ border:0;
1267
+ border-radius:var(--t-border-radius-md);
1268
+ isolation:isolate;
1269
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
1270
+ transition-duration:var(--tds-date-picker-popover-interactive-duration);
1271
+ transition-property:var(--tds-date-picker-popover-interactive-property);
1272
+ }
1496
1273
 
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
- }
1274
+ .tds-date-picker-calendar-overlay-trigger::before{
1275
+ position:absolute;
1276
+ inset:calc(var(--t-spacing-half) * -1);
1277
+ z-index:-1;
1278
+ pointer-events:inherit;
1279
+ content:"";
1280
+ background-color:var(--_background-color);
1281
+ border-radius:inherit;
1282
+ }
1504
1283
 
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
- }
1284
+ .tds-date-picker-calendar-overlay-trigger[data-hovered]{
1285
+ --_background-color:var(--t-fill-color-button-neutral-outline-hover);
1286
+ }
1508
1287
 
1509
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1510
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1511
- }
1288
+ .tds-date-picker-calendar-overlay-trigger[data-pressed]{
1289
+ --_background-color:var(--t-fill-color-button-neutral-outline-active);
1290
+ }
1512
1291
 
1513
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1514
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1515
- }
1292
+ .tds-date-picker-calendar-overlay-trigger[data-focus-visible]{
1293
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
1294
+ outline-offset:var(--t-focus-ring-offset);
1295
+ }
1516
1296
 
1517
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
1518
- background:var(--tds-input-scrollbar-surface-color);
1519
- }
1297
+ .tds-date-picker-calendar{
1298
+ inline-size:-moz-fit-content;
1299
+ inline-size:fit-content;
1300
+ font-size:var(--tds-date-picker-popover-font-size);
1301
+ }
1520
1302
 
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
- }
1303
+ .tds-date-picker-calendar-body{
1304
+ position:relative;
1305
+ padding:var(--tds-date-picker-popover-padding);
1306
+ padding-block-start:0;
1307
+ }
1526
1308
 
1527
- :is(.tds-input textarea)::-webkit-scrollbar-track{
1528
- margin-block:var(--tds-input-scrollbar-track-margin-block);
1529
- cursor:default;
1530
- }
1309
+ .tds-date-picker-calendar-header{
1310
+ display:flex;
1311
+ align-items:center;
1312
+ justify-content:space-between;
1313
+ padding:var(--tds-date-picker-popover-padding);
1314
+ }
1531
1315
 
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
- }
1316
+ .tds-date-picker-calendar-title{
1317
+ padding:var(--t-spacing-half) var(--t-spacing-1);
1318
+ font-size:var(--tds-date-picker-popover-font-size);
1319
+ font-weight:var(--t-font-weight-semibold);
1320
+ }
1537
1321
 
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
- }
1322
+ .tds-date-picker-calendar-nav{
1323
+ display:flex;
1324
+ align-items:center;
1325
+ justify-content:center;
1326
+ padding:var(--t-spacing-half);
1327
+ font-size:.875em;
1328
+ color:var(--t-text-color);
1329
+ cursor:pointer;
1330
+ outline:0;
1331
+ background-color:transparent;
1332
+ border:0;
1333
+ border-radius:var(--t-border-radius-md);
1334
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
1335
+ transition-duration:var(--tds-date-picker-popover-interactive-duration);
1336
+ transition-property:var(--tds-date-picker-popover-interactive-property);
1337
+ }
1338
+
1339
+ .tds-date-picker-calendar-nav[data-hovered]{
1340
+ background-color:var(--t-fill-color-button-neutral-outline-hover);
1544
1341
  }
1545
1342
 
1546
- .tds-radio-group{
1547
- --tds-radio-group-font-size:var(--t-font-size-md);
1548
- --tds-radio-group-line-height:1.4;
1549
- --tds-radio-group-gap:var(--t-spacing-1);
1343
+ .tds-date-picker-calendar-nav[data-pressed]{
1344
+ background-color:var(--t-fill-color-button-neutral-outline-active);
1345
+ }
1550
1346
 
1551
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
1552
- --tds-radio-group-description-line-height:1.35;
1553
- --tds-radio-group-description-color:var(--t-text-color-secondary);
1554
- --tds-radio-group-description-invalid-icon-display:none;
1555
- display:flex;
1556
- flex-direction:column;
1557
- gap:0;
1558
- padding:0;
1559
- margin:0;
1347
+ .tds-date-picker-calendar-nav[data-focus-visible]{
1348
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
1349
+ outline-offset:var(--t-focus-ring-offset);
1350
+ }
1560
1351
 
1561
- font-size:var(--tds-radio-group-font-size);
1562
- line-height:var(--tds-radio-group-line-height);
1563
- border:0;
1352
+ .tds-date-picker-calendar-nav[data-disabled]{
1353
+ color:var(--t-text-color-disabled);
1354
+ cursor:not-allowed;
1355
+ }
1356
+
1357
+ .tds-date-picker-calendar-grid{
1358
+ font-feature-settings:"ss01", "ss02";
1359
+ border-collapse:collapse;
1564
1360
  }
1565
1361
 
1566
- .tds-radio-group legend{
1567
- float:left;
1362
+ .tds-date-picker-calendar-grid :where(thead,tbody,tr,td,th){
1568
1363
  padding:0;
1569
- margin:0;
1364
+ border:0;
1570
1365
  }
1571
1366
 
1572
- .tds-radio-group[aria-invalid="true"]{
1573
- --tds-radio-group-description-color:var(--t-text-color-status-error);
1574
- --tds-radio-group-description-invalid-icon-display:inline-block;
1367
+ .tds-date-picker-calendar-header-cell{
1368
+ padding-block-end:var(--t-spacing-1);
1369
+ font-size:.875em;
1370
+ font-weight:var(--t-font-weight-medium);
1371
+ color:var(--t-text-color-secondary);
1372
+ text-align:center;
1373
+ -webkit-user-select:none;
1374
+ -moz-user-select:none;
1375
+ user-select:none;
1376
+ }
1377
+
1378
+ .tds-date-picker-calendar-cell-button{
1379
+ position:relative;
1380
+ display:flex;
1381
+ align-items:center;
1382
+ justify-content:center;
1383
+ inline-size:2.25em;
1384
+ block-size:2.25em;
1385
+ color:var(--t-text-color);
1386
+ cursor:pointer;
1387
+ -webkit-user-select:none;
1388
+ -moz-user-select:none;
1389
+ user-select:none;
1390
+ outline:0;
1391
+ }
1392
+
1393
+ .tds-date-picker-calendar-cell-button::before{
1394
+ position:absolute;
1395
+ inset:0;
1396
+ z-index:-1;
1397
+ content:"";
1398
+ background-color:var(--_background-color);
1399
+ border-radius:50%;
1575
1400
  }
1576
1401
 
1577
- .tds-radio-group[aria-invalid="true"] .tds-radio{
1578
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1402
+ .tds-date-picker-calendar-cell-button[data-today]::before{
1403
+ box-shadow:inset 0 0 0 1.5px var(--t-border-color);
1579
1404
  }
1580
1405
 
1581
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1582
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1583
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1584
- }
1406
+ .tds-date-picker-calendar-cell-button[data-outside-month]{
1407
+ display:none;
1408
+ }
1585
1409
 
1586
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1587
- --tds-radio-input-background-color:var(--t-form-background-color);
1588
- }
1410
+ .tds-date-picker-calendar-cell-button[data-hovered]{
1411
+ --_background-color:var(--t-fill-color-button-neutral-outline-hover);
1412
+ }
1589
1413
 
1590
- .tds-radio-group:has(input:required) legend::after{
1591
- margin-left:.25ch;
1592
- color:var(--t-text-color-status-error);
1593
- content:"*";
1594
- }
1414
+ .tds-date-picker-calendar-cell-button[data-pressed]{
1415
+ --_background-color:var(--t-fill-color-button-neutral-outline-active);
1416
+ }
1595
1417
 
1596
- .tds-radio-group-fields{
1597
- display:flex;
1598
- flex-direction:column;
1599
- gap:var(--tds-radio-group-gap);
1600
- align-items:flex-start;
1601
- margin-top:var(--t-spacing-1);
1602
- }
1418
+ .tds-date-picker-calendar-cell-button[data-selected]{
1419
+ --_background-color:var(--t-fill-color-interaction);
1420
+ font-weight:var(--t-font-weight-semibold);
1421
+ color:var(--t-text-color-inverted);
1422
+ border-color:transparent;
1423
+ }
1603
1424
 
1604
- .tds-radio-group-description{
1605
- display:flex;
1606
- gap:var(--t-spacing-half);
1607
- align-items:flex-start;
1608
- margin:var(--t-spacing-fourth) 0 0;
1609
- font-size:var(--tds-radio-group-description-font-size);
1610
- line-height:var(--tds-radio-group-description-line-height);
1611
- color:var(--tds-radio-group-description-color);
1612
- cursor:text;
1613
- }
1425
+ .tds-date-picker-calendar-cell-button[data-unavailable]{
1426
+ color:var(--t-text-color-disabled);
1427
+ text-decoration:line-through;
1428
+ cursor:not-allowed;
1429
+ }
1614
1430
 
1615
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1616
- display:var(--tds-radio-group-description-invalid-icon-display);
1617
- flex-shrink:0;
1618
- margin-top:calc(.5lh - .5em);
1619
- line-height:var(--tds-radio-group-description-line-height);
1431
+ .tds-date-picker-calendar-cell-button[data-disabled]{
1432
+ color:var(--t-text-color-disabled);
1620
1433
  }
1621
1434
 
1622
- .tds-radio-group--sm{
1623
- --tds-radio-group-line-height:1.35;
1624
- --tds-radio-group-font-size:var(--t-font-size-sm);
1625
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
1626
- --tds-radio-group-description-line-height:1.3;
1435
+ .tds-date-picker-calendar-cell-button[data-focus-visible]{
1436
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
1437
+ outline-offset:-2px;
1438
+ }
1439
+
1440
+ .tds-date-picker-calendar-cell-button[data-focus-visible][data-selected]{
1441
+ outline-offset:var(--t-focus-ring-offset);
1442
+ }
1443
+
1444
+ .tds-date-picker-popover--lg{
1445
+ --tds-date-picker-popover-font-size:var(--t-font-size-lg);
1627
1446
  }
1628
1447
 
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);
1448
+ .tds-radio{
1449
+ --tds-radio-font-size:var(--t-font-size-md);
1450
+ --tds-radio-cursor:pointer;
1451
+ --tds-radio-line-height:1.4;
1452
+ --tds-radio-transition-property:border-width;
1639
1453
 
1640
- --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
1454
+ --tds-radio-input-size:var(--t-element-size-md);
1455
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
1456
+ --tds-radio-input-border-color:var(--t-form-border-color);
1457
+ --tds-radio-input-border-width:var(--t-form-border-width);
1458
+ --tds-radio-input-background-color:var(--t-form-background-color);
1641
1459
 
1642
- display:flex;
1643
- flex-direction:column;
1644
- gap:var(--t-spacing-half);
1460
+ --tds-radio-label-color:var(--t-form-color);
1461
+
1462
+ --tds-radio-description-font-size:var(--t-font-size-sm);
1463
+ --tds-radio-description-line-height:1.35;
1464
+ --tds-radio-description-color:var(--t-text-color-secondary);
1465
+
1466
+ position:relative;
1467
+ display:inline-grid;
1468
+ grid-template-columns:auto;
1469
+ grid-auto-columns:1fr;
1470
+ gap:var(--t-spacing-fourth) 0;
1471
+ line-height:var(--tds-radio-line-height);
1472
+ -webkit-user-select:none;
1473
+ -moz-user-select:none;
1474
+ user-select:none;
1645
1475
  }
1646
1476
 
1647
- .tds-input label{
1648
- font-size:var(--t-font-size-md);
1477
+ .tds-radio label{
1478
+ grid-area:1 / 2;
1479
+ padding-inline-start:var(--t-spacing-1);
1480
+ font-size:var(--tds-radio-font-size);
1649
1481
  font-weight:var(--t-font-weight-normal);
1650
- color:var(--t-text-color);
1482
+ color:var(--tds-radio-label-color);
1483
+ cursor:var(--tds-radio-cursor);
1651
1484
  }
1652
1485
 
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);
1486
+ .tds-radio input[type="radio"]{
1487
+ position:relative;
1488
+ width:1em;
1489
+ height:1em;
1490
+ margin:calc((1lh - 1em) / 2) 0 0;
1491
+ font-size:var(--tds-radio-font-size);
1492
+ line-height:inherit;
1662
1493
  -webkit-appearance:none;
1663
1494
  -moz-appearance:none;
1664
1495
  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);
1496
+ cursor:var(--tds-radio-cursor);
1497
+ background-color:var(--tds-radio-input-background-color);
1498
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1499
+ border-radius:var(--tds-radio-input-border-radius);
1670
1500
  transition-timing-function:var(--t-ease-in-out);
1671
1501
  transition-duration:var(--t-duration-200);
1672
- transition-property:var(--tds-input-transition-property);
1502
+ transition-property:var(--tds-radio-transition-property);
1673
1503
  }
1674
1504
 
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;
1505
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1506
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1507
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1681
1508
  }
1682
1509
 
1683
- :is(.tds-input :is(input,textarea)):focus-visible{
1684
- outline-color:var(--t-focus-ring-color);
1510
+ :is(.tds-radio input[type="radio"]):focus-visible{
1511
+ outline:var(--t-focus-ring-outline);
1685
1512
  outline-offset:var(--t-focus-ring-offset);
1686
- border-color:var(--t-form-border-color-focus);
1687
1513
  }
1688
1514
 
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
- }
1694
-
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;
1515
+ :is(.tds-radio input[type="radio"]):disabled{
1516
+ pointer-events:none;
1700
1517
  }
1701
1518
 
1702
1519
  @media (prefers-reduced-motion: reduce){
1703
1520
 
1704
- .tds-input :is(input,textarea){
1705
- --tds-input-transition-property:none;
1521
+ .tds-radio input[type="radio"]{
1522
+ --tds-radio-transition-property:none;
1706
1523
  }
1707
1524
  }
1708
1525
 
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;
1526
+ .tds-radio:has(input:checked){
1527
+ --tds-radio-input-background-color:var(--t-form-background-color);
1528
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
1529
+ --tds-radio-input-border-width:4px;
1715
1530
  }
1716
1531
 
1717
- .tds-input:has(:is(input,textarea):required) label::after{
1718
- margin-left:.25ch;
1719
- color:var(--t-text-color-status-error);
1720
- content:"*";
1532
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
1533
+ --tds-radio-input-background-color:var(--t-form-background-color);
1534
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1721
1535
  }
1722
1536
 
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);
1537
+ .tds-radio:has(input:user-invalid){
1538
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1727
1539
  }
1728
1540
 
1729
- .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
1730
- cursor:not-allowed;
1541
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1542
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1543
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1731
1544
  }
1732
1545
 
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);
1546
+ .tds-radio:has(input:disabled){
1547
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1548
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1549
+
1550
+ --tds-radio-label-color:var(--t-form-color-disabled);
1551
+ --tds-radio-description-color:var(--t-form-color-disabled);
1552
+ --tds-radio-cursor:not-allowed;
1736
1553
  }
1737
1554
 
1738
- .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
1739
- border-color:var(--tds-input-border-color-hover);
1555
+ .tds-radio:has(input:disabled) input:checked{
1556
+ --tds-radio-input-background-color:var(--t-form-background-color);
1557
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1740
1558
  }
1741
1559
 
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{
1560
+ .tds-radio-description{
1748
1561
  display:flex;
1562
+ grid-area:2 / 2;
1749
1563
  gap:var(--t-spacing-half);
1750
1564
  align-items:flex-start;
1565
+ padding-inline-start:var(--t-spacing-1);
1751
1566
  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));
1567
+ font-size:var(--tds-radio-description-font-size);
1568
+ line-height:var(--tds-radio-description-line-height);
1569
+ color:var(--tds-radio-description-color);
1755
1570
  cursor:text;
1756
1571
  }
1757
1572
 
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
- }
1573
+ .tds-radio--sm{
1574
+ --tds-radio-line-height:1.35;
1575
+ --tds-radio-input-size:var(--t-element-size-sm);
1576
+ --tds-radio-font-size:var(--t-font-size-sm);
1577
+ --tds-radio-description-font-size:var(--t-font-size-xs);
1578
+ --tds-radio-description-line-height:1.3;
1579
+ }
1764
1580
 
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;
1778
1581
 
1779
- position:relative;
1780
- display:flex;
1781
- flex-direction:column;
1782
- gap:var(--t-spacing-half);
1783
- }
1582
+ :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{
1583
+ -webkit-appearance:none;
1584
+ appearance:none;
1585
+ }
1784
1586
 
1785
- .tds-field[data-required] .tds-field-label::after{
1786
- margin-left:.25ch;
1787
- color:var(--t-text-color-status-error);
1788
- content:"*";
1789
- }
1587
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
1588
+ inline-size:1em;
1589
+ block-size:2em;
1590
+ }
1790
1591
 
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;
1592
+ @supports (field-sizing: content){
1593
+ .tds-input--auto-width{
1594
+ inline-size:-moz-fit-content;
1595
+ inline-size:fit-content;
1596
+ min-inline-size:min(100%, 122px);
1798
1597
  }
1799
1598
 
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);
1599
+ .tds-input--auto-width input{
1600
+ field-sizing:content;
1601
+ inline-size:auto;
1805
1602
  }
1603
+ }
1806
1604
 
1807
- .tds-field[data-disabled] .tds-field-control{
1808
- cursor:not-allowed;
1809
- }
1605
+ .tds-number-stepper{
1606
+ --tds-number-stepper-button-offset:4px;
1607
+ --tds-number-stepper-button-gap:2px;
1608
+ }
1810
1609
 
1811
- .tds-field--lg{
1812
- --tds-field-min-height:var(--t-container-size-lg);
1813
- --tds-field-font-size:var(--t-font-size-lg);
1610
+ .tds-number-stepper--lg{
1611
+ --tds-number-stepper-button-offset:5px;
1612
+ --tds-number-stepper-button-gap:4px;
1814
1613
  }
1815
1614
 
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;
1615
+ .tds-number-stepper-field:has([readonly]) .tds-number-stepper-button{
1616
+ display:none;
1821
1617
  }
1822
1618
 
1823
- .tds-field-control{
1619
+ .tds-number-stepper-input{
1824
1620
  display:flex;
1621
+ flex:1;
1825
1622
  align-items:center;
1826
- inline-size:100%;
1827
- min-block-size:var(--tds-field-min-height);
1623
+ min-inline-size:0;
1624
+ padding-block:var(--tds-field-padding-block);
1625
+ padding-inline:var(--tds-field-padding-inline);
1828
1626
  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);
1842
- transition-timing-function:var(--t-ease-in-out);
1843
- transition-duration:var(--t-duration-200);
1844
- transition-property:background-color, border-color, outline-color, outline-offset;
1627
+ font-size:inherit;
1628
+ color:inherit;
1629
+ outline:0;
1630
+ background:transparent;
1631
+ border:0;
1845
1632
  }
1846
1633
 
1847
- .tds-field-control[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
1848
- border-color:var(--tds-field-border-color-hover);
1634
+ .tds-number-stepper-input::-webkit-inner-spin-button,.tds-number-stepper-input::-webkit-outer-spin-button{
1635
+ margin:0;
1636
+ -webkit-appearance:none;
1637
+ appearance:none;
1849
1638
  }
1850
1639
 
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);
1640
+ .tds-number-stepper-button{
1641
+ flex-shrink:0;
1642
+ align-self:center;
1643
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
1644
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
1645
+ padding:0;
1646
+ }
1647
+
1648
+ .tds-number-stepper-button + .tds-number-stepper-button{
1649
+ margin-inline-start:var(--tds-number-stepper-button-gap);
1855
1650
  }
1856
1651
 
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);
1652
+ .tds-number-stepper-button:last-of-type{
1653
+ margin-inline-end:var(--tds-number-stepper-button-offset);
1862
1654
  }
1863
1655
 
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);
1656
+ .tds-radio-group{
1657
+ --tds-radio-group-font-size:var(--t-font-size-md);
1658
+ --tds-radio-group-line-height:1.4;
1659
+ --tds-radio-group-gap:var(--t-spacing-1);
1660
+
1661
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
1662
+ --tds-radio-group-description-line-height:1.35;
1663
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
1664
+ --tds-radio-group-description-invalid-icon-display:none;
1665
+ display:flex;
1666
+ flex-direction:column;
1667
+ gap:0;
1668
+ padding:0;
1669
+ margin:0;
1670
+
1671
+ font-size:var(--tds-radio-group-font-size);
1672
+ line-height:var(--tds-radio-group-line-height);
1673
+ border:0;
1674
+ }
1675
+
1676
+ .tds-radio-group legend{
1677
+ float:left;
1678
+ padding:0;
1679
+ margin:0;
1680
+ }
1681
+
1682
+ .tds-radio-group[aria-invalid="true"]{
1683
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
1684
+ --tds-radio-group-description-invalid-icon-display:inline-block;
1685
+ }
1686
+
1687
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
1688
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1689
+ }
1690
+
1691
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1692
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1693
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1694
+ }
1695
+
1696
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1697
+ --tds-radio-input-background-color:var(--t-form-background-color);
1698
+ }
1699
+
1700
+ .tds-radio-group:has(input:required) legend::after{
1701
+ margin-left:.25ch;
1702
+ color:var(--t-text-color-status-error);
1703
+ content:"*";
1866
1704
  }
1867
1705
 
1868
- .tds-field-description{
1706
+ .tds-radio-group-fields{
1707
+ display:flex;
1708
+ flex-direction:column;
1709
+ gap:var(--tds-radio-group-gap);
1710
+ align-items:flex-start;
1711
+ margin-top:var(--t-spacing-1);
1712
+ }
1713
+
1714
+ .tds-radio-group-description{
1869
1715
  display:flex;
1870
1716
  gap:var(--t-spacing-half);
1871
1717
  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));
1718
+ margin:var(--t-spacing-fourth) 0 0;
1719
+ font-size:var(--tds-radio-group-description-font-size);
1720
+ line-height:var(--tds-radio-group-description-line-height);
1721
+ color:var(--tds-radio-group-description-color);
1876
1722
  cursor:text;
1877
1723
  }
1878
1724
 
1879
- .tds-field-description .tds-field-description-invalid-icon{
1880
- display:var(--tds-field-description-invalid-icon-display, none);
1725
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1726
+ display:var(--tds-radio-group-description-invalid-icon-display);
1881
1727
  flex-shrink:0;
1882
- margin-block-start:calc(.5lh - .5em);
1883
- line-height:1.35;
1728
+ margin-top:calc(.5lh - .5em);
1729
+ line-height:var(--tds-radio-group-description-line-height);
1884
1730
  }
1885
1731
 
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);
1732
+ .tds-radio-group--sm{
1733
+ --tds-radio-group-line-height:1.35;
1734
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1735
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1736
+ --tds-radio-group-description-line-height:1.3;
1892
1737
  }
1893
1738
 
1894
- .tds-field-date-segment[data-placeholder]{
1895
- color:var(--tds-field-placeholder-color);
1896
- }
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");
1743
+ }
1897
1744
 
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
- }
1745
+ @supports (x: attr(x type(*))){
1903
1746
 
1904
- .tds-field-date-segment-separator{
1905
- padding-inline:0;
1906
- color:var(--tds-field-placeholder-color);
1747
+ .tds-input:has(textarea){
1748
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1907
1749
  }
1750
+ }
1908
1751
 
1909
- .tds-field-date-segment:not([data-placeholder]) + .tds-field-date-segment-separator{
1910
- color:var(--tds-field-color);
1752
+ .tds-input.tds-textarea--resize-vertical textarea{
1753
+ resize:vertical;
1754
+ }
1755
+
1756
+ .tds-input.tds-textarea--resize-none textarea{
1757
+ resize:none;
1758
+ }
1759
+
1760
+ .tds-input.tds-textarea--resize-auto textarea{
1761
+ resize:vertical;
1762
+ }
1763
+
1764
+ @supports (field-sizing: content){
1765
+ .tds-input.tds-textarea--resize-auto textarea{
1766
+ field-sizing:content;
1767
+ resize:none;
1768
+ }
1769
+ }
1770
+
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;
1783
+ transition-timing-function:var(--t-ease-in-out);
1784
+ transition-duration:var(--t-duration-200);
1785
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1911
1786
  }
1912
1787
 
1788
+ @media (pointer: fine){
1789
+ :is(.tds-input textarea)::-webkit-scrollbar{
1790
+ width:12px;
1791
+ height:12px;
1792
+ cursor:default;
1793
+ }
1794
+
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
+ }
1802
+
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
+ }
1806
+
1807
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1808
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1809
+ }
1810
+
1811
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1812
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1813
+ }
1814
+
1815
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
1816
+ background:var(--tds-input-scrollbar-surface-color);
1817
+ }
1818
+
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
+ }
1824
+
1825
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
1826
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
1827
+ cursor:default;
1828
+ }
1829
+
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
+ }
1835
+
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
+ }
1843
+
1913
1844
  .tds-select{
1914
1845
  --tds-select-border-color:var(--t-form-border-color);
1915
1846
  --tds-select-border-color-hover:var(--t-form-border-color-hover);
@@ -2318,6 +2249,7 @@
2318
2249
  max-inline-size:100vi;
2319
2250
  padding:var(--tds-select-dropdown-padding);
2320
2251
  margin-block:var(--tds-select-dropdown-margin-block);
2252
+ position-area:block-end span-inline-start;
2321
2253
  position-try-fallbacks:flip-block, flip-inline;
2322
2254
  overflow:auto;
2323
2255
  overflow-x:hidden;
@@ -2349,367 +2281,436 @@
2349
2281
  }
2350
2282
  }
2351
2283
 
2284
+ .tds-toggle-switch{
2285
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
2286
+ --tds-toggle-switch-cursor:pointer;
2287
+ --tds-toggle-switch-display:inline-grid;
2288
+ --tds-toggle-switch-line-height:1.4;
2352
2289
 
2353
- @media (prefers-reduced-motion: no-preference){
2290
+ --tds-toggle-switch-label-color:var(--t-form-color);
2354
2291
 
2355
- :root{
2356
- interpolate-size:allow-keywords;
2357
- }
2358
- }
2292
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
2293
+ --tds-toggle-switch-track-outline:none;
2294
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
2295
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
2296
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
2359
2297
 
2360
- @layer tds-component{
2361
- tds-sidenav,
2362
- .tds-sidenav{
2363
- --tds-sidenav-indent:12px;
2364
- --tds-sidenav-item-depth:0;
2298
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
2299
+ --tds-toggle-switch-thumb-transform:translateX(0);
2300
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
2365
2301
 
2366
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
2302
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
2303
+ --tds-toggle-switch-description-line-height:1.35;
2304
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2305
+ position:relative;
2367
2306
 
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);
2307
+ display:var(--tds-toggle-switch-display);
2308
+ grid-template-columns:auto;
2309
+ grid-auto-columns:1fr;
2310
+ gap:var(--t-spacing-fourth) 0;
2311
+ -webkit-user-select:none;
2312
+ -moz-user-select:none;
2313
+ user-select:none;
2314
+ }
2374
2315
 
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);
2316
+ .tds-toggle-switch input[type="checkbox"]{
2317
+ position:absolute;
2318
+ width:var(--tds-toggle-switch-track-width);
2319
+ height:var(--tds-toggle-switch-track-height);
2320
+ margin:0;
2321
+ -webkit-appearance:none;
2322
+ -moz-appearance:none;
2323
+ appearance:none;
2324
+ cursor:var(--tds-toggle-switch-cursor);
2325
+ outline:var(--tds-toggle-switch-track-outline);
2326
+ outline-offset:var(--t-focus-ring-offset);
2327
+ background-color:transparent;
2328
+ border:0;
2329
+ border-radius:var(--t-border-radius-round);
2330
+ }
2379
2331
 
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;
2332
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2333
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2334
+ }
2383
2335
 
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);
2336
+ .tds-toggle-switch label{
2337
+ display:inline-flex;
2338
+ grid-area:1 / 2;
2339
+ padding-inline-start:var(--t-spacing-1);
2340
+ margin-top:-.09375em;
2341
+ font-size:var(--tds-toggle-switch-font-size);
2342
+ font-weight:var(--t-font-weight-normal);
2343
+ line-height:var(--tds-toggle-switch-line-height);
2344
+ color:var(--tds-toggle-switch-label-color);
2345
+ cursor:var(--tds-toggle-switch-cursor);
2346
+ }
2387
2347
 
2388
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
2389
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
2348
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2349
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2390
2350
  }
2391
2351
 
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;
2352
+ .tds-toggle-switch:has(input:checked){
2353
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
2354
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2399
2355
  }
2356
+
2357
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
2358
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2400
2359
  }
2401
2360
 
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);
2361
+ .tds-toggle-switch:has(input:disabled){
2362
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
2363
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
2364
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
2365
+ --tds-toggle-switch-cursor:not-allowed;
2408
2366
  }
2367
+
2368
+ .tds-toggle-switch-track{
2369
+ position:relative;
2370
+ flex-shrink:0;
2371
+ width:var(--tds-toggle-switch-track-width);
2372
+ height:var(--tds-toggle-switch-track-height);
2373
+ background-color:var(--tds-toggle-switch-track-background-color);
2374
+ border-radius:var(--t-border-radius-round);
2375
+ transition:var(--tds-toggle-switch-track-transition);
2409
2376
  }
2410
2377
 
2411
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
2412
- display:flex;
2378
+ .tds-toggle-switch-track::before{
2379
+ position:absolute;
2380
+ top:var(--t-spacing-fourth);
2381
+ left:var(--t-spacing-fourth);
2382
+ width:var(--tds-toggle-switch-thumb-size);
2383
+ height:var(--tds-toggle-switch-thumb-size);
2384
+ content:"";
2385
+ background-color:#fff;
2386
+ border-radius:var(--t-border-radius-round);
2387
+ transform:var(--tds-toggle-switch-thumb-transform);
2388
+ transition:var(--tds-toggle-switch-thumb-transition);
2413
2389
  }
2414
2390
 
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%;
2391
+ @media (prefers-reduced-motion: reduce){
2392
+
2393
+ .tds-toggle-switch-track{
2394
+ --tds-toggle-switch-track-transition:none;
2395
+ --tds-toggle-switch-thumb-transition:none;
2396
+ }
2419
2397
  }
2420
2398
 
2421
- .tds-sidenav-section-list{
2422
- width:100%;
2423
- padding:0;
2399
+ .tds-toggle-switch-description{
2400
+ display:flex;
2401
+ grid-area:2 / 2;
2402
+ align-items:flex-start;
2403
+ padding-inline-start:var(--t-spacing-1);
2424
2404
  margin:0;
2425
- list-style:none;
2405
+ font-size:var(--tds-toggle-switch-description-font-size);
2406
+ line-height:var(--tds-toggle-switch-description-line-height);
2407
+ color:var(--tds-toggle-switch-description-color);
2408
+ cursor:text;
2426
2409
  }
2427
2410
 
2428
- .tds-sidenav-section-header{
2429
- display:flex;
2430
- align-items:baseline;
2431
- justify-content:space-between;
2432
- padding-top:var(--t-spacing-2);
2411
+ .tds-toggle-switch--sm{
2412
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
2413
+ --tds-toggle-switch-line-height:1.35;
2414
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
2415
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2416
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2417
+ --tds-toggle-switch-description-line-height:1.3;
2433
2418
  }
2434
2419
 
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
- }
2420
+ .tds-toggle-switch--hide-label{
2421
+ --tds-toggle-switch-display:inline-flex;
2422
+ }
2443
2423
 
2444
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
2445
- padding-top:0;
2446
- }
2424
+ .tds-time-field-input{
2425
+ --tds-field-date-segment-padding-inline:1px;
2426
+ padding-block:var(--tds-field-padding-block);
2427
+ padding-inline:var(--tds-field-padding-inline);
2428
+ font-variant-numeric:tabular-nums;
2429
+ }
2447
2430
 
2448
- .tds-sidenav-section-header [slot="label-actions"]{
2449
- display:flex;
2450
- gap:var(--t-spacing-half);
2451
- align-items:center;
2452
- }
2431
+ .tds-input{
2432
+ --tds-input-border-color:var(--t-form-border-color);
2433
+ --tds-input-border-color-hover:var(--t-form-border-color-hover);
2434
+ --tds-input-background-color:var(--t-form-background-color);
2435
+ --tds-input-color:var(--t-form-color);
2436
+ --tds-input-font-size:var(--t-font-size-md);
2437
+ --tds-input-description-color:var(--t-text-color-secondary);
2438
+ --tds-input-description-invalid-icon-display:none;
2439
+ --tds-input-min-height:var(--t-container-size-md);
2440
+ --tds-input-padding-inline:var(--t-spacing-1);
2441
+
2442
+ --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
2453
2443
 
2454
- .tds-sidenav-section [slot="section-actions"]{
2455
2444
  display:flex;
2456
- gap:12px;
2457
- align-items:center;
2458
- min-height:42px;
2459
- padding:var(--t-spacing-1) 0;
2445
+ flex-direction:column;
2446
+ gap:var(--t-spacing-half);
2460
2447
  }
2461
2448
 
2462
- .tds-sidenav-section-list,
2463
- .tds-sidenav-item{
2464
- width:100%;
2465
- padding:0;
2466
- margin:0;
2467
- }
2449
+ .tds-input label{
2450
+ font-size:var(--t-font-size-md);
2451
+ font-weight:var(--t-font-weight-normal);
2452
+ color:var(--t-text-color);
2453
+ }
2468
2454
 
2469
- .tds-sidenav-item :is(a,button){
2470
- 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;
2455
+ .tds-input :is(input,textarea){
2456
+ inline-size:100%;
2457
+ block-size:auto;
2458
+ min-block-size:var(--tds-input-min-height);
2459
+ padding-block:var(--tds-input-padding-block);
2460
+ padding-inline:var(--tds-input-padding-inline);
2461
+ font-family:inherit;
2462
+ font-size:var(--tds-input-font-size);
2463
+ color:var(--tds-input-color);
2482
2464
  -webkit-appearance:none;
2483
2465
  -moz-appearance:none;
2484
2466
  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);
2467
+ outline:var(--t-focus-ring-width) solid transparent;
2468
+ outline-offset:0;
2469
+ background-color:var(--tds-input-background-color);
2470
+ border:var(--t-form-border-width) solid var(--tds-input-border-color);
2471
+ border-radius:var(--t-form-border-radius);
2472
+ transition-timing-function:var(--t-ease-in-out);
2473
+ transition-duration:var(--t-duration-200);
2474
+ transition-property:var(--tds-input-transition-property);
2490
2475
  }
2491
2476
 
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;
2477
+ :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
2478
+ border-color:var(--tds-input-border-color-hover);
2499
2479
  }
2500
2480
 
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;
2481
+ :is(.tds-input :is(input,textarea)):focus{
2482
+ outline-color:transparent;
2505
2483
  }
2506
2484
 
2507
- :is(.tds-sidenav-item :is(a,button)):active{
2508
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
2485
+ :is(.tds-input :is(input,textarea)):focus-visible{
2486
+ outline-color:var(--t-focus-ring-color);
2487
+ outline-offset:var(--t-focus-ring-offset);
2488
+ border-color:var(--t-form-border-color-focus);
2509
2489
  }
2510
2490
 
2511
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
2512
- overflow:hidden;
2513
- color:var(--tds-sidenav-item-icon-color);
2491
+ :is(.tds-input :is(input,textarea))::-moz-placeholder{
2492
+ color:var(--t-form-placeholder-color);
2493
+ -moz-user-select:none;
2494
+ user-select:none;
2514
2495
  }
2515
2496
 
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
- }
2497
+ :is(.tds-input :is(input,textarea))::placeholder{
2498
+ color:var(--t-form-placeholder-color);
2499
+ -webkit-user-select:none;
2500
+ -moz-user-select:none;
2501
+ user-select:none;
2502
+ }
2521
2503
 
2522
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
2523
- --tds-sidenav-indent:19px;
2504
+ @media (prefers-reduced-motion: reduce){
2505
+
2506
+ .tds-input :is(input,textarea){
2507
+ --tds-input-transition-property:none;
2508
+ }
2524
2509
  }
2525
2510
 
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;
2511
+ .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
2512
+ --tds-input-background-color:var(--t-form-background-color-error);
2513
+ --tds-input-border-color:var(--t-form-border-color-error);
2514
+ --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
2515
+ --tds-input-description-color:var(--t-text-color-status-error);
2516
+ --tds-input-description-invalid-icon-display:inline-block;
2517
+ }
2518
+
2519
+ .tds-input:has(:is(input,textarea):required) label::after{
2520
+ margin-left:.25ch;
2521
+ color:var(--t-text-color-status-error);
2522
+ content:"*";
2523
+ }
2524
+
2525
+ .tds-input:where(:has(:is(input,textarea):disabled)){
2526
+ --tds-input-border-color:var(--t-form-border-color-disabled);
2527
+ --tds-input-background-color:var(--t-form-background-color-disabled);
2528
+ --tds-input-color:var(--t-form-color-disabled);
2529
+ }
2530
+
2531
+ .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
2532
+ cursor:not-allowed;
2533
+ }
2534
+
2535
+ .tds-input:where(:has(:is(input,textarea)[readonly])){
2536
+ --tds-input-border-color:var(--t-form-border-color-readonly);
2537
+ --tds-input-background-color:var(--t-form-background-color-readonly);
2538
+ }
2539
+
2540
+ .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
2541
+ border-color:var(--tds-input-border-color-hover);
2530
2542
  }
2531
2543
 
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);
2544
+ .tds-input.tds-input--lg{
2545
+ --tds-input-min-height:var(--t-container-size-lg);
2546
+ --tds-input-font-size:var(--t-font-size-lg);
2547
+ }
2548
+
2549
+ .tds-input-description{
2550
+ display:flex;
2551
+ gap:var(--t-spacing-half);
2552
+ align-items:flex-start;
2553
+ margin:0;
2554
+ font-size:var(--t-font-size-sm);
2555
+ line-height:1.35;
2556
+ color:var(--tds-input-description-color, var(--t-text-color-secondary));
2557
+ cursor:text;
2558
+ }
2559
+
2560
+ .tds-input-description .tds-input-description-invalid-icon{
2561
+ display:var(--tds-input-description-invalid-icon-display, none);
2562
+ flex-shrink:0;
2563
+ margin-block-start:calc(.5lh - .5em);
2564
+ line-height:1.35;
2565
+ }
2566
+
2567
+ .tds-field{
2568
+ --tds-field-border-color:var(--t-form-border-color);
2569
+ --tds-field-border-color-hover:var(--t-form-border-color-hover);
2570
+ --tds-field-border-color-active:var(--t-form-border-color-focus);
2571
+ --tds-field-background-color:var(--t-form-background-color);
2572
+ --tds-field-color:var(--t-form-color);
2573
+ --tds-field-placeholder-color:var(--t-form-placeholder-color);
2574
+ --tds-field-font-size:var(--t-font-size-md);
2575
+ --tds-field-min-height:var(--t-container-size-md);
2576
+ --tds-field-padding-block:6px;
2577
+ --tds-field-padding-inline:var(--t-spacing-1);
2578
+ --tds-field-description-color:var(--t-text-color-secondary);
2579
+ --tds-field-description-invalid-icon-display:none;
2580
+
2581
+ position:relative;
2582
+ display:flex;
2583
+ flex-direction:column;
2584
+ gap:var(--t-spacing-half);
2585
+ }
2535
2586
 
2536
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
2537
- font-weight:var(--t-font-weight-semibold);
2587
+ .tds-field[data-required] .tds-field-label::after{
2588
+ margin-left:.25ch;
2589
+ color:var(--t-text-color-status-error);
2590
+ content:"*";
2538
2591
  }
2539
2592
 
2540
- .tds-sidenav-item:has(.tds-sidenav-section){
2541
- display:flex;
2542
- flex-direction:column;
2543
- gap:var(--t-spacing-half);
2593
+ .tds-field[data-invalid]{
2594
+ --tds-field-border-color:var(--t-form-border-color-error);
2595
+ --tds-field-border-color-hover:var(--t-form-border-color-error-hover);
2596
+ --tds-field-border-color-active:var(--t-form-border-color-error-hover);
2597
+ --tds-field-background-color:var(--t-form-background-color-error);
2598
+ --tds-field-description-color:var(--t-text-color-status-error);
2599
+ --tds-field-description-invalid-icon-display:inline-block;
2544
2600
  }
2545
2601
 
2546
- .tds-sidenav-item .tds-sidenav-section-list{
2547
- --tds-sidenav-item-depth:1;
2548
- gap:0;
2602
+ .tds-field[data-disabled]{
2603
+ --tds-field-border-color:var(--t-form-border-color-disabled);
2604
+ --tds-field-background-color:var(--t-form-background-color-disabled);
2605
+ --tds-field-color:var(--t-form-color-disabled);
2606
+ --tds-field-placeholder-color:var(--t-form-color-disabled);
2549
2607
  }
2550
2608
 
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);
2557
- }
2558
-
2559
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
2560
- --tds-sidenav-item-depth:2;
2561
- }
2562
-
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;
2609
+ .tds-field[data-disabled] .tds-field-control{
2610
+ cursor:not-allowed;
2569
2611
  }
2570
2612
 
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);
2580
- }
2581
-
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
- }
2592
-
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
- }
2598
-
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
- }
2603
-
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);
2606
- }
2613
+ .tds-field--lg{
2614
+ --tds-field-min-height:var(--t-container-size-lg);
2615
+ --tds-field-font-size:var(--t-font-size-lg);
2616
+ }
2607
2617
 
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
- }
2618
+ .tds-field-label{
2619
+ font-size:var(--t-font-size-md);
2620
+ font-weight:var(--t-font-weight-normal);
2621
+ color:var(--t-text-color);
2622
+ cursor:default;
2623
+ }
2612
2624
 
2613
- .tds-sidenav-responsive-header{
2625
+ .tds-field-control{
2614
2626
  display:flex;
2615
- gap:var(--t-spacing-2);
2616
2627
  align-items:center;
2617
- width:100%;
2628
+ inline-size:100%;
2629
+ min-block-size:var(--tds-field-min-height);
2630
+ font-family:inherit;
2631
+ font-size:var(--tds-field-font-size);
2632
+ line-height:1;
2633
+ color:var(--tds-field-color);
2634
+ -webkit-appearance:none;
2635
+ -moz-appearance:none;
2636
+ appearance:none;
2637
+ cursor:text;
2638
+ outline:var(--t-focus-ring-width) solid transparent;
2639
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2640
+ outline-offset:0;
2641
+ background-color:var(--tds-field-background-color);
2642
+ border:var(--t-form-border-width) solid var(--tds-field-border-color);
2643
+ border-radius:var(--t-form-border-radius);
2644
+ transition-timing-function:var(--t-ease-in-out);
2645
+ transition-duration:var(--t-duration-200);
2646
+ transition-property:background-color, border-color, outline-color, outline-offset;
2618
2647
  }
2619
2648
 
2620
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
2621
- order:0;
2622
- }
2623
-
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);
2649
+ .tds-field-control[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
2650
+ border-color:var(--tds-field-border-color-hover);
2631
2651
  }
2632
2652
 
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;
2641
- 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;
2653
+ .tds-field-control[data-focus-within]{
2654
+ outline-color:var(--t-focus-ring-color);
2655
+ outline-offset:var(--t-focus-ring-offset);
2656
+ border-color:var(--tds-field-border-color-active);
2651
2657
  }
2652
2658
 
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;
2659
+ .tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly]){
2660
+ --tds-field-border-color:var(--t-form-border-color-readonly);
2661
+ --tds-field-border-color-hover:var(--t-form-border-color-readonly);
2662
+ --tds-field-background-color:var(--t-form-background-color-readonly);
2663
+ color:var(--t-form-color-readonly);
2661
2664
  }
2662
2665
 
2663
- .tds-sidenav-item :is(a, button) :is(.prefix){
2664
- display:none;
2665
- }
2666
- @supports selector(:popover-open){
2667
- .tds-sidenav-collapse:popover-open{
2668
- display:flex;
2666
+ [data-focus-within]:is(.tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly])){
2667
+ border-color:var(--t-form-border-color-hover);
2669
2668
  }
2670
2669
 
2671
- .tds-sidenav-collapse:not(:popover-open){
2672
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2673
- transition:var(--tds-sidenav-collapse-transition-exit);
2674
- }
2670
+ .tds-field-description{
2671
+ display:flex;
2672
+ gap:var(--t-spacing-half);
2673
+ align-items:flex-start;
2674
+ margin:0;
2675
+ font-size:var(--t-font-size-sm);
2676
+ line-height:1.35;
2677
+ color:var(--tds-field-description-color, var(--t-text-color-secondary));
2678
+ cursor:text;
2679
+ }
2675
2680
 
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);
2680
- }
2681
- }
2681
+ .tds-field-description .tds-field-description-invalid-icon{
2682
+ display:var(--tds-field-description-invalid-icon-display, none);
2683
+ flex-shrink:0;
2684
+ margin-block-start:calc(.5lh - .5em);
2685
+ line-height:1.35;
2682
2686
  }
2683
- @supports not selector(:popover-open){
2684
- .tds-sidenav-collapse.\:popover-open{
2685
- display:flex;
2686
- }
2687
2687
 
2688
- .tds-sidenav-collapse:not(.\:popover-open){
2689
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2690
- transition:var(--tds-sidenav-collapse-transition-exit);
2691
- }
2692
- }
2688
+ .tds-field-date-segment{
2689
+ padding-inline:var(--tds-field-date-segment-padding-inline, 2px);
2690
+ text-align:end;
2691
+ text-wrap:nowrap;
2692
+ caret-color:transparent;
2693
+ border-radius:var(--t-border-radius-sm);
2693
2694
  }
2694
2695
 
2695
- @media (min-width: 720px){
2696
- .tds-sidenav-responsive-header{
2697
- display:none;
2696
+ .tds-field-date-segment[data-placeholder]{
2697
+ color:var(--tds-field-placeholder-color);
2698
2698
  }
2699
- }
2700
2699
 
2701
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
2702
- display:none;
2703
- }
2700
+ .tds-field-date-segment[data-focused]{
2701
+ color:var(--t-text-color-inverted);
2702
+ outline:0;
2703
+ background-color:var(--t-fill-color-interaction);
2704
+ }
2704
2705
 
2705
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
2706
- display:block;
2707
- }
2706
+ .tds-field-date-segment-separator{
2707
+ padding-inline:0;
2708
+ color:var(--tds-field-placeholder-color);
2709
+ }
2708
2710
 
2709
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2710
- display:flex;
2711
- flex-direction:column;
2712
- }
2711
+ .tds-field-date-segment:not([data-placeholder]) + .tds-field-date-segment-separator{
2712
+ color:var(--tds-field-color);
2713
+ }
2713
2714
 
2714
2715
  .tds-loading-spinner{
2715
2716
  --tds-loading-spinner-size:1.25em;