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