@planningcenter/tapestry 2.2.0 → 2.3.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,278 +1,5 @@
1
1
  @layer t-critical, t-component;
2
2
 
3
- @layer t-critical {
4
- tds-page-header:not(.hydrated) {
5
- display: none;
6
- }
7
- }
8
-
9
- @layer t-component {
10
- .tds-page-header {
11
- --tds-page-header-background-color: var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-card));
12
- --tds-page-header-background-color-inactive: var(--t-fill-color-neutral-090);
13
- --tds-page-header-color: var(--t-text-color-default-primary);
14
- --tds-page-header-headline-color: var(--t-text-color-default-headline);
15
- --tds-page-header-headline-font-size: var(--t-font-size-2xl);
16
- --tds-page-header-padding-x: var(--t-spacing-2);
17
- --tds-page-header-padding-y: var(--t-spacing-2);
18
- --tds-page-header-nav-padding-x: var(--tds-page-header-padding-x, var(--t-spacing-3));
19
- --tds-page-header-nav-gap: var(--t-spacing-1);
20
- --tds-page-header-nav-background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .1) 100%);
21
- --tds-page-header-nav-item-padding-x: var(--t-spacing-1);
22
- --tds-page-header-nav-item-padding-y: var(--t-spacing-1);
23
- --tds-page-header-nav-item-color: var(--t-text-color-default-secondary);
24
- --tds-page-header-nav-item-background-color: var(--t-fill-color-transparency-light-060);
25
- --tds-page-header-nav-item-border-width: 1px;
26
-
27
- --tds-page-header-nav-item-border-color: var(--tds-page-header-nav-item-background-color);
28
- --tds-page-header-nav-item-border-bottom-color: var(--t-border-color-default-base);
29
-
30
- --tds-page-header-nav-item-color-hover: var(--t-text-color-default-primary);
31
- --tds-page-header-nav-item-background-color-hover: var(--t-fill-color-neutral-080);
32
- --tds-page-header-nav-item-border-color-hover: var(--tds-page-header-nav-item-background-color-hover);
33
-
34
- --tds-page-header-nav-item-background-color-active: var(--t-fill-color-neutral-060);
35
- --tds-page-header-nav-item-border-color-active: var(--tds-page-header-nav-item-background-color-hover);
36
-
37
- --tds-page-header-nav-item-color-disabled: var(--t-text-color-default-disabled);
38
- --tds-page-header-nav-item-background-color-disabled: var(--t-fill-color-neutral-080);
39
- --tds-page-header-nav-item-border-color-disabled: var(--tds-page-header-nav-item-background-color-disabled);
40
-
41
- --tds-page-header-nav-item-color-selected: var(--t-text-color-default-primary);
42
- --tds-page-header-nav-item-background-color-selected: var(--t-surface-color-card);
43
- --tds-page-header-nav-item-border-color-selected: var(--tds-page-header-nav-item-background-color-selected);
44
- --tds-page-header-nav-item-border-bottom-color-selected: var(--tds-page-header-nav-item-background-color-selected);
45
- --tds-page-header-nav-item-indicator-color: var(--t-icon-color-status-warning-primary);
46
- }
47
-
48
- .tds-page-header--profile {
49
- --tds-page-header-padding-y: 20px;
50
- }
51
- @media (min-width: 600px) {
52
- .tds-page-header {
53
- --tds-page-header-background-color: var(--t-surface-color-card);
54
- --tds-page-header-color: var(--t-text-color-default-secondary);
55
- --tds-page-header-padding-x: var(--t-spacing-3);
56
- --tds-page-header-headline-font-size: var(--t-font-size-3xl);
57
- --tds-page-header-nav-gap: var(--t-spacing-half);
58
- --tds-page-header-nav-background: transparent;
59
- --tds-page-header-nav-item-padding-x: var(--t-spacing-2);
60
- --tds-page-header-nav-item-border-width: 1px;
61
- --tds-page-header-nav-item-color: var(--t-text-color-default-primary);
62
- --tds-page-header-nav-item-background-color: var(--t-fill-color-neutral-070);
63
- --tds-page-header-nav-item-border-color-selected: var(--t-border-color-default-base);
64
- }
65
- }
66
- }
67
-
68
- .tds-page-header {
69
- display: flex;
70
- flex-direction: column;
71
- padding-top: var(--tds-page-header-padding-y);
72
- color: var(--tds-page-header-color);
73
- background: var(--tds-page-header-background-color);
74
- border-bottom: 1px solid var(--t-border-color-default-base);
75
- }
76
-
77
- .tds-page-header:not(.has-nav) {
78
- padding-bottom: var(--tds-page-header-padding-y);
79
- }
80
-
81
- .tds-page-header.inactive {
82
- background: var(--tds-page-header-background-color-inactive);
83
- }
84
-
85
- .tds-page-header__title-bar {
86
- display: flex;
87
- flex-direction: column;
88
- gap: var(--t-spacing-2) var(--t-spacing-1);
89
- align-items: flex-start;
90
- justify-content: space-between;
91
- padding: 0 var(--tds-page-header-padding-x);
92
- }
93
-
94
- .tds-page-header--profile > .tds-page-header__title-bar {
95
- align-items: center;
96
- }
97
-
98
- .tds-page-header__primary {
99
- width: 100%;
100
- }
101
-
102
- .tds-page-header__primary h1 {
103
- margin: 0;
104
- font-size: var(--tds-page-header-headline-font-size);
105
- font-weight: var(--t-font-weight-normal);
106
- line-height: 32px;
107
- color: var(--tds-page-header-headline-color);
108
- overflow-wrap: break-word;
109
- }
110
-
111
- .tds-page-header [slot="actions"] {
112
- width: 100%;
113
- }
114
-
115
- .has-multi-actions.tds-page-header [slot="actions"],
116
- .has-multi-actions.tds-page-header .tds-page-header__actions {
117
- display: flex;
118
- flex-flow: row wrap;
119
- gap: var(--t-spacing-half) var(--t-spacing-1);
120
- align-items: flex-start;
121
- justify-content: flex-start;
122
- min-width: 0;
123
- }
124
-
125
- .tds-page-header nav[slot="navigation"]:not(:has(ul)),
126
- .tds-page-header nav.tds-page-header__nav:not(:has(ul)),
127
- .tds-page-header nav[slot="navigation"] ul,
128
- .tds-page-header nav.tds-page-header__nav ul {
129
- display: flex;
130
- gap: var(--tds-page-header-nav-gap);
131
- padding: var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
132
- margin: 0 0 -1px;
133
- overflow: auto;
134
- list-style: none;
135
- background: var(--tds-page-header-nav-background);
136
- }
137
-
138
- .tds-page-header nav[slot="navigation"] a,
139
- .tds-page-header nav[slot="navigation"] button,
140
- .tds-page-header nav.tds-page-header__nav a,
141
- .tds-page-header nav.tds-page-header__nav button {
142
- position: relative;
143
- display: inline-flex;
144
- padding: var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
145
- font-size: var(--t-font-size-sm);
146
- line-height: 22px;
147
- color: var(--tds-page-header-nav-item-color);
148
- white-space: nowrap;
149
- text-decoration: none;
150
- -webkit-appearance: none;
151
- -moz-appearance: none;
152
- appearance: none;
153
- cursor: pointer;
154
- outline-offset: -2px;
155
- background-color: var(--tds-page-header-nav-item-background-color);
156
- background-clip: padding-box;
157
- border: var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
158
- border-bottom: 1px solid var(--tds-page-header-nav-item-border-bottom-color);
159
- border-radius: var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
160
- }
161
-
162
- .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator) {
163
- position: relative;
164
- }
165
-
166
- .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator) :is(a, button) {
167
- -webkit-mask: radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
168
- mask: radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
169
- }
170
-
171
- .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator)::before,
172
- .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator)::after {
173
- position: absolute;
174
- top: -5px;
175
- right: -2px;
176
- width: 10px;
177
- height: 10px;
178
- content: "";
179
- background: var(--tds-page-header-nav-item-indicator-color);
180
- border-radius: 50%;
181
- }
182
-
183
- @media (prefers-reduced-motion: no-preference) {
184
- .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator)::after {
185
- animation: indicator-pulse 1.25s ease infinite;
186
- }
187
- }
188
-
189
- .tds-page-header nav[slot="navigation"] a.selected,
190
- .tds-page-header nav[slot="navigation"] button.selected,
191
- .tds-page-header nav.tds-page-header__nav a.selected,
192
- .tds-page-header nav.tds-page-header__nav button.selected {
193
- --tds-page-header-nav-item-color: var(--tds-page-header-nav-item-color-selected);
194
- --tds-page-header-nav-item-border-color: var(--tds-page-header-nav-item-border-color-selected);
195
- --tds-page-header-nav-item-background-color: var(--tds-page-header-nav-item-background-color-selected);
196
- --tds-page-header-nav-item-border-bottom-color: var(--tds-page-header-nav-item-background-color-selected);
197
- }
198
-
199
- .tds-page-header nav[slot="navigation"] a:not(.selected):hover,
200
- .tds-page-header nav[slot="navigation"] button:not(.selected):hover,
201
- .tds-page-header nav.tds-page-header__nav a:not(.selected):hover,
202
- .tds-page-header nav.tds-page-header__nav button:not(.selected):hover {
203
- --tds-page-header-nav-item-color: var(--tds-page-header-nav-item-color-hover);
204
- --tds-page-header-nav-item-background-color: var(--tds-page-header-nav-item-background-color-hover);
205
- --tds-page-header-nav-item-border-color: var(--tds-page-header-nav-item-border-color-hover);
206
- }
207
-
208
- .tds-page-header nav[slot="navigation"] a:not(.selected):active,
209
- .tds-page-header nav[slot="navigation"] button:not(.selected):active,
210
- .tds-page-header nav.tds-page-header__nav a:not(.selected):active,
211
- .tds-page-header nav.tds-page-header__nav button:not(.selected):active {
212
- background-color: var(--tds-page-header-nav-item-background-color-active);
213
- }
214
-
215
- .tds-page-header nav[slot="navigation"] a:not(.selected):disabled,
216
- .tds-page-header nav[slot="navigation"] button:not(.selected):disabled,
217
- .tds-page-header nav.tds-page-header__nav a:not(.selected):disabled,
218
- .tds-page-header nav.tds-page-header__nav button:not(.selected):disabled {
219
- color: var(--tds-page-header-nav-item-color-disabled);
220
- cursor: not-allowed;
221
- background-color: var(--tds-page-header-nav-item-background-color-disabled);
222
- opacity: 1;
223
- }
224
-
225
- @media (min-width: 960px) {
226
- .tds-page-header__primary {
227
- flex: 1 1 max-content;
228
- width: auto;
229
- min-width: 0;
230
- max-width: 100%;
231
- }
232
-
233
- .tds-page-header__title-bar,
234
- .tds-page-header--profile .tds-page-header__title-bar {
235
- flex-flow: row nowrap;
236
- row-gap: 12px;
237
- align-items: flex-start;
238
- }
239
-
240
- .tds-page-header [slot="actions"] {
241
- width: auto;
242
- }
243
-
244
- .has-multi-actions.tds-page-header [slot="actions"],
245
- .has-multi-actions.tds-page-header .tds-page-header__actions {
246
- justify-content: flex-end;
247
- }
248
- }
249
-
250
- .tds-page-header-phone,
251
- .tds-page-header-email {
252
- color: var(--tds-page-header-color);
253
- white-space: nowrap;
254
- }
255
-
256
- /* Truncate email */
257
-
258
- .tds-page-header-email {
259
- max-width: 100%;
260
- overflow: hidden;
261
- text-overflow: ellipsis;
262
- }
263
-
264
- @keyframes indicator-pulse {
265
- 0% {
266
- opacity: .3;
267
- transform: scale(.9);
268
- }
269
-
270
- 100% {
271
- opacity: 0;
272
- transform: scale(1.75);
273
- }
274
- }
275
-
276
3
 
277
4
  @media (prefers-reduced-motion: no-preference) {
278
5
 
@@ -486,121 +213,394 @@
486
213
  transition: var(--tds-sidenav-item-transition);
487
214
  }
488
215
 
489
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after {
490
- position: absolute;
491
- inset: 0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
492
- z-index: -1;
493
- height: 100%;
494
- content: "";
495
- background-color: var(--tds-sidenav-item-nested-background);
496
- border-radius: 0 var(--t-border-radius-default) var(--t-border-radius-default) 0;
497
- transition: var(--tds-sidenav-item-transition);
498
- }
216
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after {
217
+ position: absolute;
218
+ inset: 0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
219
+ z-index: -1;
220
+ height: 100%;
221
+ content: "";
222
+ background-color: var(--tds-sidenav-item-nested-background);
223
+ border-radius: 0 var(--t-border-radius-default) var(--t-border-radius-default) 0;
224
+ transition: var(--tds-sidenav-item-transition);
225
+ }
226
+
227
+ :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)) {
228
+ display: block;
229
+ text-align: left;
230
+ white-space: normal;
231
+ }
232
+
233
+ :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 {
234
+ --tds-sidenav-item-nested-border-color: var(--tds-sidenav-item-nested-border-color-hover);
235
+ --tds-sidenav-item-nested-background: var(--tds-sidenav-item-nested-background-hover);
236
+ }
237
+
238
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active {
239
+ --tds-sidenav-item-nested-background: var(--tds-sidenav-item-nested-background-active);
240
+ }
241
+
242
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button) {
243
+ --tds-sidenav-item-nested-border-color: var(--tds-sidenav-item-nested-border-color-selected);
244
+ font-weight: var(--t-font-weight-medium);
245
+ }
246
+
247
+ .tds-sidenav-responsive-header {
248
+ display: flex;
249
+ gap: var(--t-spacing-2);
250
+ align-items: center;
251
+ width: 100%;
252
+ }
253
+
254
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle {
255
+ order: 0;
256
+ }
257
+
258
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label {
259
+ flex: 1;
260
+ order: 1;
261
+ margin: 0;
262
+ font-size: var(--t-font-size-lg);
263
+ font-weight: var(--t-font-weight-medium);
264
+ color: var(--t-text-color-default-headline);
265
+ }
266
+
267
+ @media (max-width: 719px) {
268
+ .tds-sidenav-collapse {
269
+ z-index: 10001;
270
+ display: none;
271
+ max-width: min(448px, calc(100vw - 48px));
272
+ padding: 0;
273
+ margin: 12px 0;
274
+ overflow: hidden;
275
+ outline: 0;
276
+ background: var(--t-surface-color-card);
277
+ border: 0;
278
+ border-radius: 6px;
279
+ box-shadow: 0 8px 20px 0 rgba(0, 0, 0, .25);
280
+ will-change: transform;
281
+ position-area: bottom span-right;
282
+ }
283
+
284
+ .tds-sidenav-scroll-container {
285
+ --webkit-overflow-scrolling: touch;
286
+ display: block;
287
+ width: 100%;
288
+ height: -moz-fit-content;
289
+ height: fit-content;
290
+ padding: var(--t-spacing-2);
291
+ overflow-y: auto;
292
+ }
293
+
294
+ .tds-sidenav-item :is(a, button) :is(.prefix) {
295
+ display: none;
296
+ }
297
+
298
+ /* Modern browsers only */
299
+ @supports selector(:popover-open) {
300
+ .tds-sidenav-collapse:popover-open {
301
+ display: flex;
302
+ }
303
+ }
304
+
305
+ /* Older browsers only, running the polyfill */
306
+ @supports not selector(:popover-open) {
307
+ .tds-sidenav-collapse.\:popover-open {
308
+ display: flex;
309
+ }
310
+ }
311
+ }
312
+
313
+ @media (min-width: 720px) {
314
+ .tds-sidenav-responsive-header {
315
+ display: none;
316
+ }
317
+ }
318
+
319
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]) {
320
+ display: none;
321
+ }
322
+
323
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"] {
324
+ display: block;
325
+ }
326
+
327
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"] {
328
+ display: flex;
329
+ flex-direction: column;
330
+ }
331
+
332
+ @layer t-critical {
333
+ tds-page-header:not(.hydrated) {
334
+ display: none;
335
+ }
336
+ }
337
+
338
+ @layer t-component {
339
+ .tds-page-header {
340
+ --tds-page-header-background-color: var(--t-fill-color-product-current-gradient-tint, var(--t-surface-color-card));
341
+ --tds-page-header-background-color-inactive: var(--t-fill-color-neutral-090);
342
+ --tds-page-header-color: var(--t-text-color-default-primary);
343
+ --tds-page-header-headline-color: var(--t-text-color-default-headline);
344
+ --tds-page-header-headline-font-size: var(--t-font-size-2xl);
345
+ --tds-page-header-padding-x: var(--t-spacing-2);
346
+ --tds-page-header-padding-y: var(--t-spacing-2);
347
+ --tds-page-header-nav-padding-x: var(--tds-page-header-padding-x, var(--t-spacing-3));
348
+ --tds-page-header-nav-gap: var(--t-spacing-1);
349
+ --tds-page-header-nav-background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .1) 100%);
350
+ --tds-page-header-nav-item-padding-x: var(--t-spacing-1);
351
+ --tds-page-header-nav-item-padding-y: var(--t-spacing-1);
352
+ --tds-page-header-nav-item-color: var(--t-text-color-default-secondary);
353
+ --tds-page-header-nav-item-background-color: var(--t-fill-color-transparency-light-060);
354
+ --tds-page-header-nav-item-border-width: 1px;
355
+
356
+ --tds-page-header-nav-item-border-color: var(--tds-page-header-nav-item-background-color);
357
+ --tds-page-header-nav-item-border-bottom-color: var(--t-border-color-default-base);
358
+
359
+ --tds-page-header-nav-item-color-hover: var(--t-text-color-default-primary);
360
+ --tds-page-header-nav-item-background-color-hover: var(--t-fill-color-neutral-080);
361
+ --tds-page-header-nav-item-border-color-hover: var(--tds-page-header-nav-item-background-color-hover);
362
+
363
+ --tds-page-header-nav-item-background-color-active: var(--t-fill-color-neutral-060);
364
+ --tds-page-header-nav-item-border-color-active: var(--tds-page-header-nav-item-background-color-hover);
365
+
366
+ --tds-page-header-nav-item-color-disabled: var(--t-text-color-default-disabled);
367
+ --tds-page-header-nav-item-background-color-disabled: var(--t-fill-color-neutral-080);
368
+ --tds-page-header-nav-item-border-color-disabled: var(--tds-page-header-nav-item-background-color-disabled);
369
+
370
+ --tds-page-header-nav-item-color-selected: var(--t-text-color-default-primary);
371
+ --tds-page-header-nav-item-background-color-selected: var(--t-surface-color-card);
372
+ --tds-page-header-nav-item-border-color-selected: var(--tds-page-header-nav-item-background-color-selected);
373
+ --tds-page-header-nav-item-border-bottom-color-selected: var(--tds-page-header-nav-item-background-color-selected);
374
+ --tds-page-header-nav-item-indicator-color: var(--t-icon-color-status-warning-primary);
375
+ }
376
+
377
+ .tds-page-header--profile {
378
+ --tds-page-header-padding-y: 20px;
379
+ }
380
+ @media (min-width: 600px) {
381
+ .tds-page-header {
382
+ --tds-page-header-background-color: var(--t-surface-color-card);
383
+ --tds-page-header-color: var(--t-text-color-default-secondary);
384
+ --tds-page-header-padding-x: var(--t-spacing-3);
385
+ --tds-page-header-headline-font-size: var(--t-font-size-3xl);
386
+ --tds-page-header-nav-gap: var(--t-spacing-half);
387
+ --tds-page-header-nav-background: transparent;
388
+ --tds-page-header-nav-item-padding-x: var(--t-spacing-2);
389
+ --tds-page-header-nav-item-border-width: 1px;
390
+ --tds-page-header-nav-item-color: var(--t-text-color-default-primary);
391
+ --tds-page-header-nav-item-background-color: var(--t-fill-color-neutral-070);
392
+ --tds-page-header-nav-item-border-color-selected: var(--t-border-color-default-base);
393
+ }
394
+ }
395
+ }
396
+
397
+ .tds-page-header {
398
+ display: flex;
399
+ flex-direction: column;
400
+ padding-top: var(--tds-page-header-padding-y);
401
+ color: var(--tds-page-header-color);
402
+ background: var(--tds-page-header-background-color);
403
+ border-bottom: 1px solid var(--t-border-color-default-base);
404
+ }
405
+
406
+ .tds-page-header:not(.has-nav) {
407
+ padding-bottom: var(--tds-page-header-padding-y);
408
+ }
409
+
410
+ .tds-page-header.inactive {
411
+ background: var(--tds-page-header-background-color-inactive);
412
+ }
413
+
414
+ .tds-page-header__title-bar {
415
+ display: flex;
416
+ flex-direction: column;
417
+ gap: var(--t-spacing-2) var(--t-spacing-1);
418
+ align-items: flex-start;
419
+ justify-content: space-between;
420
+ padding: 0 var(--tds-page-header-padding-x);
421
+ }
422
+
423
+ .tds-page-header--profile > .tds-page-header__title-bar {
424
+ align-items: center;
425
+ }
499
426
 
500
- :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)) {
501
- display: block;
502
- text-align: left;
503
- white-space: normal;
504
- }
427
+ .tds-page-header__primary {
428
+ width: 100%;
429
+ }
505
430
 
506
- :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 {
507
- --tds-sidenav-item-nested-border-color: var(--tds-sidenav-item-nested-border-color-hover);
508
- --tds-sidenav-item-nested-background: var(--tds-sidenav-item-nested-background-hover);
509
- }
431
+ .tds-page-header__primary h1 {
432
+ margin: 0;
433
+ font-size: var(--tds-page-header-headline-font-size);
434
+ font-weight: var(--t-font-weight-normal);
435
+ line-height: 32px;
436
+ color: var(--tds-page-header-headline-color);
437
+ overflow-wrap: break-word;
438
+ }
510
439
 
511
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active {
512
- --tds-sidenav-item-nested-background: var(--tds-sidenav-item-nested-background-active);
513
- }
440
+ .tds-page-header [slot="actions"] {
441
+ width: 100%;
442
+ }
514
443
 
515
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button) {
516
- --tds-sidenav-item-nested-border-color: var(--tds-sidenav-item-nested-border-color-selected);
517
- font-weight: var(--t-font-weight-medium);
518
- }
444
+ .has-multi-actions.tds-page-header [slot="actions"],
445
+ .has-multi-actions.tds-page-header .tds-page-header__actions {
446
+ display: flex;
447
+ flex-flow: row wrap;
448
+ gap: var(--t-spacing-half) var(--t-spacing-1);
449
+ align-items: flex-start;
450
+ justify-content: flex-start;
451
+ min-width: 0;
452
+ }
519
453
 
520
- .tds-sidenav-responsive-header {
454
+ .tds-page-header nav[slot="navigation"]:not(:has(ul)),
455
+ .tds-page-header nav.tds-page-header__nav:not(:has(ul)),
456
+ .tds-page-header nav[slot="navigation"] ul,
457
+ .tds-page-header nav.tds-page-header__nav ul {
521
458
  display: flex;
522
- gap: var(--t-spacing-2);
523
- align-items: center;
524
- width: 100%;
459
+ gap: var(--tds-page-header-nav-gap);
460
+ padding: var(--t-spacing-2) var(--tds-page-header-nav-padding-x) 0;
461
+ margin: 0 0 -1px;
462
+ overflow: auto;
463
+ list-style: none;
464
+ background: var(--tds-page-header-nav-background);
525
465
  }
526
466
 
527
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle {
528
- order: 0;
529
- }
467
+ .tds-page-header nav[slot="navigation"] a,
468
+ .tds-page-header nav[slot="navigation"] button,
469
+ .tds-page-header nav.tds-page-header__nav a,
470
+ .tds-page-header nav.tds-page-header__nav button {
471
+ position: relative;
472
+ display: inline-flex;
473
+ padding: var(--tds-page-header-nav-item-padding-y) var(--tds-page-header-nav-item-padding-x);
474
+ font-size: var(--t-font-size-sm);
475
+ line-height: 22px;
476
+ color: var(--tds-page-header-nav-item-color);
477
+ white-space: nowrap;
478
+ text-decoration: none;
479
+ -webkit-appearance: none;
480
+ -moz-appearance: none;
481
+ appearance: none;
482
+ cursor: pointer;
483
+ outline-offset: -2px;
484
+ background-color: var(--tds-page-header-nav-item-background-color);
485
+ background-clip: padding-box;
486
+ border: var(--tds-page-header-nav-item-border-width) solid var(--tds-page-header-nav-item-border-color);
487
+ border-bottom: 1px solid var(--tds-page-header-nav-item-border-bottom-color);
488
+ border-radius: var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
489
+ }
530
490
 
531
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label {
532
- flex: 1;
533
- order: 1;
534
- margin: 0;
535
- font-size: var(--t-font-size-lg);
536
- font-weight: var(--t-font-weight-medium);
537
- color: var(--t-text-color-default-headline);
538
- }
491
+ .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator) {
492
+ position: relative;
493
+ }
539
494
 
540
- @media (max-width: 719px) {
541
- .tds-sidenav-collapse {
542
- z-index: 10001;
543
- display: none;
544
- max-width: min(448px, calc(100vw - 48px));
545
- padding: 0;
546
- margin: 12px 0;
547
- overflow: hidden;
548
- outline: 0;
549
- background: var(--t-surface-color-card);
550
- border: 0;
551
- border-radius: 6px;
552
- box-shadow: 0 8px 20px 0 rgba(0, 0, 0, .25);
553
- will-change: transform;
554
- position-area: bottom span-right;
495
+ .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator) :is(a, button) {
496
+ -webkit-mask: radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
497
+ mask: radial-gradient(8px at calc(100% - 3px) 0, #0000 98%, #000);
498
+ }
499
+
500
+ .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator)::before,
501
+ .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator)::after {
502
+ position: absolute;
503
+ top: -5px;
504
+ right: -2px;
505
+ width: 10px;
506
+ height: 10px;
507
+ content: "";
508
+ background: var(--tds-page-header-nav-item-indicator-color);
509
+ border-radius: 50%;
510
+ }
511
+
512
+ @media (prefers-reduced-motion: no-preference) {
513
+ .tds-page-header nav:is([slot="navigation"], .tds-page-header__nav) li:has(.indicator)::after {
514
+ animation: indicator-pulse 1.25s ease infinite;
555
515
  }
516
+ }
556
517
 
557
- .tds-sidenav-scroll-container {
558
- --webkit-overflow-scrolling: touch;
559
- display: block;
560
- width: 100%;
561
- height: -moz-fit-content;
562
- height: fit-content;
563
- padding: var(--t-spacing-2);
564
- overflow-y: auto;
518
+ .tds-page-header nav[slot="navigation"] a.selected,
519
+ .tds-page-header nav[slot="navigation"] button.selected,
520
+ .tds-page-header nav.tds-page-header__nav a.selected,
521
+ .tds-page-header nav.tds-page-header__nav button.selected {
522
+ --tds-page-header-nav-item-color: var(--tds-page-header-nav-item-color-selected);
523
+ --tds-page-header-nav-item-border-color: var(--tds-page-header-nav-item-border-color-selected);
524
+ --tds-page-header-nav-item-background-color: var(--tds-page-header-nav-item-background-color-selected);
525
+ --tds-page-header-nav-item-border-bottom-color: var(--tds-page-header-nav-item-background-color-selected);
526
+ }
527
+
528
+ .tds-page-header nav[slot="navigation"] a:not(.selected):hover,
529
+ .tds-page-header nav[slot="navigation"] button:not(.selected):hover,
530
+ .tds-page-header nav.tds-page-header__nav a:not(.selected):hover,
531
+ .tds-page-header nav.tds-page-header__nav button:not(.selected):hover {
532
+ --tds-page-header-nav-item-color: var(--tds-page-header-nav-item-color-hover);
533
+ --tds-page-header-nav-item-background-color: var(--tds-page-header-nav-item-background-color-hover);
534
+ --tds-page-header-nav-item-border-color: var(--tds-page-header-nav-item-border-color-hover);
535
+ }
536
+
537
+ .tds-page-header nav[slot="navigation"] a:not(.selected):active,
538
+ .tds-page-header nav[slot="navigation"] button:not(.selected):active,
539
+ .tds-page-header nav.tds-page-header__nav a:not(.selected):active,
540
+ .tds-page-header nav.tds-page-header__nav button:not(.selected):active {
541
+ background-color: var(--tds-page-header-nav-item-background-color-active);
542
+ }
543
+
544
+ .tds-page-header nav[slot="navigation"] a:not(.selected):disabled,
545
+ .tds-page-header nav[slot="navigation"] button:not(.selected):disabled,
546
+ .tds-page-header nav.tds-page-header__nav a:not(.selected):disabled,
547
+ .tds-page-header nav.tds-page-header__nav button:not(.selected):disabled {
548
+ color: var(--tds-page-header-nav-item-color-disabled);
549
+ cursor: not-allowed;
550
+ background-color: var(--tds-page-header-nav-item-background-color-disabled);
551
+ opacity: 1;
552
+ }
553
+
554
+ @media (min-width: 960px) {
555
+ .tds-page-header__primary {
556
+ flex: 1 1 max-content;
557
+ width: auto;
558
+ min-width: 0;
559
+ max-width: 100%;
565
560
  }
566
561
 
567
- .tds-sidenav-item :is(a, button) :is(.prefix) {
568
- display: none;
562
+ .tds-page-header__title-bar,
563
+ .tds-page-header--profile .tds-page-header__title-bar {
564
+ flex-flow: row nowrap;
565
+ row-gap: 12px;
566
+ align-items: flex-start;
569
567
  }
570
568
 
571
- /* Modern browsers only */
572
- @supports selector(:popover-open) {
573
- .tds-sidenav-collapse:popover-open {
574
- display: flex;
575
- }
569
+ .tds-page-header [slot="actions"] {
570
+ width: auto;
576
571
  }
577
572
 
578
- /* Older browsers only, running the polyfill */
579
- @supports not selector(:popover-open) {
580
- .tds-sidenav-collapse.\:popover-open {
581
- display: flex;
582
- }
573
+ .has-multi-actions.tds-page-header [slot="actions"],
574
+ .has-multi-actions.tds-page-header .tds-page-header__actions {
575
+ justify-content: flex-end;
583
576
  }
584
577
  }
585
578
 
586
- @media (min-width: 720px) {
587
- .tds-sidenav-responsive-header {
588
- display: none;
589
- }
579
+ .tds-page-header-phone,
580
+ .tds-page-header-email {
581
+ color: var(--tds-page-header-color);
582
+ white-space: nowrap;
590
583
  }
591
584
 
592
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]) {
593
- display: none;
594
- }
585
+ /* Truncate email */
595
586
 
596
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"] {
597
- display: block;
598
- }
587
+ .tds-page-header-email {
588
+ max-width: 100%;
589
+ overflow: hidden;
590
+ text-overflow: ellipsis;
591
+ }
599
592
 
600
- tds-sidenav-section:not(.hydrated) > [slot="ssr"] {
601
- display: flex;
602
- flex-direction: column;
603
- }
593
+ @keyframes indicator-pulse {
594
+ 0% {
595
+ opacity: .3;
596
+ transform: scale(.9);
597
+ }
598
+
599
+ 100% {
600
+ opacity: 0;
601
+ transform: scale(1.75);
602
+ }
603
+ }
604
604
 
605
605
  .tds-loading-spinner {
606
606
  --tds-loading-spinner-border-width: 4px; /* Default for md size */
@@ -1409,6 +1409,21 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"] {
1409
1409
  }
1410
1410
  }
1411
1411
 
1412
+ .tds-btn--staff-only {
1413
+ --tds-btn-color: var(--t-text-color-default-inverted);
1414
+ --tds-btn-bg: var(--t-fill-color-product-staff-base);
1415
+ --tds-btn-border-color: var(--t-border-color-default-white);
1416
+ --tds-btn-color-hover: var(--t-text-color-default-inverted);
1417
+ --tds-btn-bg-hover: var(--t-fill-color-product-staff-dark);
1418
+ --tds-btn-border-color-hover: var(--t-border-color-default-white);
1419
+ --tds-btn-color-active: var(--t-text-color-default-inverted);
1420
+ --tds-btn-bg-active: var(--t-fill-color-product-staff-darker);
1421
+ --tds-btn-border-color-active: var(--t-border-color-default-white);
1422
+ --tds-btn-color-disabled: var(--t-text-color-default-disabled);
1423
+ --tds-btn-bg-disabled: var(--t-fill-color-button-interaction-solid-disabled);
1424
+ --tds-btn-border-color-disabled: var(--tds-btn-bg-disabled);
1425
+ }
1426
+
1412
1427
  .tds-btn--pill {
1413
1428
  --tds-btn-border-radius: 999px;
1414
1429
  --tds-btn-padding-y: 4px;