@planningcenter/topbar 12.4.1 → 12.5.0-rc.1
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.
- package/dist/topbar.css +740 -33
- package/dist/topbar.css.map +1 -1
- package/dist/topbar.js +1505 -233
- package/dist/topbar.js.map +1 -1
- package/dist/topbar.modern.js +1504 -233
- package/dist/topbar.modern.js.map +1 -1
- package/dist/topbar.module.js +1504 -233
- package/dist/topbar.module.js.map +1 -1
- package/dist/topbar.umd.js +1505 -235
- package/dist/topbar.umd.js.map +1 -1
- package/package.json +5 -2
package/dist/topbar.css
CHANGED
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
--topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-040);
|
|
17
17
|
--topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-060);
|
|
18
18
|
--topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-030);
|
|
19
|
+
--topbar-app-menu-margin-left: var(--t-spacing-2);
|
|
20
|
+
--topbar-app-menu-padding-x: var(--t-spacing-half);
|
|
21
|
+
--topbar-app-menu-offset: calc(
|
|
22
|
+
var(--topbar-app-menu-padding-x) - var(--t-spacing-1) * 2 - var(--t-border-width)
|
|
23
|
+
);
|
|
19
24
|
--toolbar-width: 64px;
|
|
20
25
|
--toolbar-inner-width: 48px;
|
|
21
26
|
--toolbar-drawer-width: 360px;
|
|
@@ -294,29 +299,32 @@ Caused by products overriding .topbar-wrap’s z-index.
|
|
|
294
299
|
|
|
295
300
|
.button-XMbeQ {
|
|
296
301
|
--tds-btn-color: var(--topbar-nav-link-font-color);
|
|
297
|
-
--tds-btn-bg:
|
|
298
|
-
--tds-btn-border-color:
|
|
302
|
+
--tds-btn-bg: transparent;
|
|
303
|
+
--tds-btn-border-color: transparent;
|
|
299
304
|
--tds-btn-color-hover: var(--topbar-nav-link-font-color);
|
|
300
|
-
--tds-btn-bg-hover:
|
|
301
|
-
--tds-btn-border-color-hover:
|
|
305
|
+
--tds-btn-bg-hover: transparent;
|
|
306
|
+
--tds-btn-border-color-hover: transparent;
|
|
302
307
|
--tds-btn-color-active: var(--topbar-nav-link-font-color);
|
|
303
|
-
--tds-btn-bg-active:
|
|
304
|
-
--tds-btn-border-color-active:
|
|
308
|
+
--tds-btn-bg-active: transparent;
|
|
309
|
+
--tds-btn-border-color-active: transparent;
|
|
305
310
|
--tds-btn-text-decoration: none;
|
|
306
311
|
--tds-btn-font-size: var(--t-font-size-md);
|
|
307
312
|
--tds-btn-font-weight: var(--t-font-weight-semibold);
|
|
308
|
-
--tds-btn-
|
|
309
|
-
--tds-btn-
|
|
310
|
-
--tds-btn-
|
|
311
|
-
|
|
313
|
+
--tds-btn-padding-x: var(--topbar-app-menu-padding-x);
|
|
314
|
+
--tds-btn-padding-truncated-x: var(--topbar-app-menu-padding-x);
|
|
315
|
+
--tds-btn-padding-y: var(--t-spacing-half);
|
|
316
|
+
gap: 6px;
|
|
312
317
|
font-family: inherit;
|
|
318
|
+
margin-left: var(--topbar-app-menu-margin-left);
|
|
313
319
|
}
|
|
314
320
|
.button-XMbeQ:hover, .button-XMbeQ:focus-visible {
|
|
315
321
|
--tds-btn-text-decoration: none;
|
|
316
322
|
}
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
323
|
+
|
|
324
|
+
.button-XMbeQ svg:first-child {
|
|
325
|
+
width: 24px !important;
|
|
326
|
+
height: 24px !important;
|
|
327
|
+
flex-shrink: 0;
|
|
320
328
|
}
|
|
321
329
|
|
|
322
330
|
.label-884of {
|
|
@@ -329,10 +337,27 @@ Caused by products overriding .topbar-wrap’s z-index.
|
|
|
329
337
|
}
|
|
330
338
|
|
|
331
339
|
.chevron-RRg9k {
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
340
|
+
box-sizing: border-box;
|
|
341
|
+
width: 16px !important;
|
|
342
|
+
height: 16px !important;
|
|
343
|
+
margin-left: -1px;
|
|
344
|
+
padding: var(--t-spacing-fourth);
|
|
345
|
+
border-radius: 100%;
|
|
346
|
+
color: var(--t-text-color);
|
|
335
347
|
flex-shrink: 0;
|
|
348
|
+
transition: background-color 0.12s ease-in, transform 0.12s ease-in;
|
|
349
|
+
}
|
|
350
|
+
.chevron-RRg9k polygon {
|
|
351
|
+
transform: translateY(0.5px);
|
|
352
|
+
}
|
|
353
|
+
.button-XMbeQ[aria-expanded=true] .chevron-RRg9k {
|
|
354
|
+
background-color: var(--t-fill-color-transparency-light-050);
|
|
355
|
+
transform: rotate(180deg);
|
|
356
|
+
}
|
|
357
|
+
@media (hover: hover) {
|
|
358
|
+
.button-XMbeQ:hover .chevron-RRg9k {
|
|
359
|
+
background-color: var(--t-fill-color-transparency-light-050);
|
|
360
|
+
}
|
|
336
361
|
}
|
|
337
362
|
.nav-y-6ML {
|
|
338
363
|
display: flex;
|
|
@@ -343,6 +368,7 @@ Caused by products overriding .topbar-wrap’s z-index.
|
|
|
343
368
|
}
|
|
344
369
|
|
|
345
370
|
.popover-content-jOAAY {
|
|
371
|
+
margin-left: var(--topbar-app-menu-offset);
|
|
346
372
|
min-width: calc(var(--t-spacing-6) * 6);
|
|
347
373
|
border-radius: var(--t-border-radius-lg);
|
|
348
374
|
}
|
|
@@ -360,11 +386,11 @@ Caused by products overriding .topbar-wrap’s z-index.
|
|
|
360
386
|
display: flex;
|
|
361
387
|
align-items: center;
|
|
362
388
|
gap: var(--t-spacing-1);
|
|
363
|
-
min-height: var(--t-container-size-
|
|
389
|
+
min-height: var(--t-container-size-md);
|
|
364
390
|
padding: 0 var(--t-spacing-1);
|
|
365
391
|
border-radius: var(--t-border-radius-lg);
|
|
366
392
|
font-family: inherit;
|
|
367
|
-
font-size: var(--t-font-size-
|
|
393
|
+
font-size: var(--t-font-size-sm);
|
|
368
394
|
font-weight: var(--t-font-weight-semibold);
|
|
369
395
|
text-decoration: none;
|
|
370
396
|
color: var(--t-text-color-headline);
|
|
@@ -380,6 +406,11 @@ Caused by products overriding .topbar-wrap’s z-index.
|
|
|
380
406
|
outline-offset: calc(var(--t-focus-ring-width) * -1);
|
|
381
407
|
}
|
|
382
408
|
|
|
409
|
+
.link-LMp2h svg {
|
|
410
|
+
width: 20px;
|
|
411
|
+
height: 20px;
|
|
412
|
+
}
|
|
413
|
+
|
|
383
414
|
.current-4U4VL {
|
|
384
415
|
background: var(--t-fill-color-button-interaction-ghost-active);
|
|
385
416
|
}
|
|
@@ -389,8 +420,7 @@ Caused by products overriding .topbar-wrap’s z-index.
|
|
|
389
420
|
}
|
|
390
421
|
|
|
391
422
|
.accounts-item-erJW0 {
|
|
392
|
-
|
|
393
|
-
padding-top: var(--t-spacing-1);
|
|
423
|
+
padding-top: var(--t-spacing-half);
|
|
394
424
|
border-top: var(--t-border-width) solid var(--t-border-color-dim);
|
|
395
425
|
}
|
|
396
426
|
|
|
@@ -504,24 +534,72 @@ Caused by products overriding .topbar-wrap’s z-index.
|
|
|
504
534
|
max-height: calc(100% - var(--topbar-height) - var(--t-spacing-3));
|
|
505
535
|
}
|
|
506
536
|
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
537
|
+
.searchButton-fYa5- {
|
|
538
|
+
display: inline-flex;
|
|
539
|
+
align-items: center;
|
|
540
|
+
justify-content: center;
|
|
541
|
+
flex-shrink: 0;
|
|
542
|
+
width: var(--topbar-nav-link-height);
|
|
543
|
+
height: var(--topbar-nav-link-height);
|
|
544
|
+
padding: 0;
|
|
545
|
+
margin-right: var(--t-spacing-half);
|
|
546
|
+
background-color: var(--topbar-nav-link-background-color-active);
|
|
547
|
+
color: var(--topbar-nav-link-font-color);
|
|
548
|
+
border: var(--t-border-width) solid var(--topbar-nav-link-border-color-active);
|
|
549
|
+
border-radius: var(--topbar-nav-link-border-radius);
|
|
550
|
+
cursor: pointer;
|
|
551
|
+
transition: var(--topbar-nav-link-transition);
|
|
512
552
|
}
|
|
513
553
|
|
|
514
|
-
/*
|
|
515
|
-
|
|
516
|
-
|
|
554
|
+
/*
|
|
555
|
+
* At phone widths, where the small topbar shows, it sits bare in the header,
|
|
556
|
+
* the same target as the avatar's.
|
|
557
|
+
*/
|
|
558
|
+
@media (max-width: 599px) {
|
|
559
|
+
.searchButton-fYa5- {
|
|
560
|
+
width: var(--t-container-size-xl);
|
|
561
|
+
height: var(--t-container-size-xl);
|
|
562
|
+
margin-right: 0;
|
|
563
|
+
background-color: transparent;
|
|
564
|
+
color: var(--t-text-color-headline);
|
|
565
|
+
border: 0;
|
|
566
|
+
border-radius: 0;
|
|
567
|
+
}
|
|
517
568
|
}
|
|
518
569
|
|
|
519
|
-
.
|
|
520
|
-
|
|
521
|
-
|
|
570
|
+
.modal-NR3TO {
|
|
571
|
+
--product-search-padding-inline: var(--t-spacing-2);
|
|
572
|
+
--product-search-padding-block: var(--t-spacing-2);
|
|
573
|
+
--product-search-tab-padding-inline: var(--t-spacing-2);
|
|
574
|
+
--product-search-heading-inset: calc(
|
|
575
|
+
var(--product-search-tab-padding-inline) + var(--t-border-width)
|
|
576
|
+
);
|
|
577
|
+
|
|
578
|
+
height: 640px;
|
|
579
|
+
max-height: calc(100vh - var(--t-spacing-3) * 2);
|
|
580
|
+
/* Keeps the results panel's background inside the rounded corners. */
|
|
581
|
+
overflow: hidden;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
/*
|
|
585
|
+
* Tapestry's .tds-modal sets padding and border on the same element with
|
|
586
|
+
* equal weight, and some products load Tapestry after topbar. The modal's ID
|
|
587
|
+
* outranks it whatever the order. Only these two properties use it, so the
|
|
588
|
+
* phone-width .modal rules below still override the rest.
|
|
589
|
+
*/
|
|
590
|
+
.modal-NR3TO#product_search_modal {
|
|
591
|
+
padding: 0;
|
|
592
|
+
border: var(--t-border-width) solid var(--t-border-color);
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
/* Fits mobile Safari's visible viewport, between its toolbars. */
|
|
596
|
+
@supports (height: 100dvh) {
|
|
597
|
+
.modal-NR3TO {
|
|
598
|
+
max-height: calc(100dvh - var(--t-spacing-3) * 2);
|
|
599
|
+
}
|
|
522
600
|
}
|
|
523
601
|
|
|
524
|
-
.visuallyHidden-
|
|
602
|
+
.visuallyHidden-C28ju {
|
|
525
603
|
position: absolute;
|
|
526
604
|
width: 1px;
|
|
527
605
|
height: 1px;
|
|
@@ -530,6 +608,608 @@ Caused by products overriding .topbar-wrap’s z-index.
|
|
|
530
608
|
white-space: nowrap;
|
|
531
609
|
}
|
|
532
610
|
|
|
611
|
+
/* Scrolls the results under the product picker, tabs or dropdown. */
|
|
612
|
+
.panel-HlF7S {
|
|
613
|
+
flex: 1;
|
|
614
|
+
min-height: 0;
|
|
615
|
+
padding: var(--product-search-padding-block)
|
|
616
|
+
var(--product-search-results-inset, var(--product-search-padding-inline));
|
|
617
|
+
/* Lets results lay out by the panel's width rather than the viewport's. */
|
|
618
|
+
container-type: inline-size;
|
|
619
|
+
scroll-padding-block: var(--product-search-padding-block);
|
|
620
|
+
overflow-y: auto;
|
|
621
|
+
overscroll-behavior: contain;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
/*
|
|
625
|
+
* Phone widths, where the small topbar shows (DisplaySwitch's default "xs"
|
|
626
|
+
* and "sm" breakpoints). The modal fills the screen rather than floating at a
|
|
627
|
+
* desktop height, with tighter padding above and below each section.
|
|
628
|
+
* Result rows and headings pad themselves by --product-search-row-inset,
|
|
629
|
+
* narrower here so the highlight sits closer to the content, and the panel's
|
|
630
|
+
* sides take that off to line their images and text up with the search icon.
|
|
631
|
+
* There are no tabs here, so headings line up with the results instead.
|
|
632
|
+
*/
|
|
633
|
+
@media (max-width: 599px) {
|
|
634
|
+
.modal-NR3TO {
|
|
635
|
+
--product-search-padding-block: var(--t-spacing-2);
|
|
636
|
+
--product-search-row-inset: var(--t-spacing-1);
|
|
637
|
+
--product-search-heading-inset: var(--product-search-row-inset);
|
|
638
|
+
--product-search-results-inset: calc(
|
|
639
|
+
var(--product-search-padding-inline) - var(--product-search-row-inset)
|
|
640
|
+
);
|
|
641
|
+
|
|
642
|
+
height: calc(100vh - var(--t-spacing-3) * 2);
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
@supports (height: 100dvh) {
|
|
646
|
+
.modal-NR3TO {
|
|
647
|
+
height: calc(100dvh - var(--t-spacing-3) * 2);
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
/* Section headings pad themselves, so they start just under the select. */
|
|
652
|
+
.panel-HlF7S {
|
|
653
|
+
padding-block-start: 0;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
/*
|
|
657
|
+
* Tapestry only takes a class for the dialog, so its overlay and frame are
|
|
658
|
+
* reached through it. Top and bottom margins narrow to 8px; the sides keep
|
|
659
|
+
* 16px of backdrop to tap. The frame fills the dynamic viewport, which
|
|
660
|
+
* follows Safari's toolbars as they show and hide. The dialog stretches to
|
|
661
|
+
* fill the frame.
|
|
662
|
+
*
|
|
663
|
+
* Mobile Safari draws the keyboard over the page without shrinking 100dvh,
|
|
664
|
+
* so while it's open the frame sizes to the visible viewport instead. A
|
|
665
|
+
* bottom margin the keyboard's height keeps the overlay's centering above
|
|
666
|
+
* it.
|
|
667
|
+
*
|
|
668
|
+
* Browsers without :has() drop these rules, so the modal keeps its own
|
|
669
|
+
* height there. No @supports selector() guard: consuming apps run this file
|
|
670
|
+
* through libsass, which can't parse it.
|
|
671
|
+
*/
|
|
672
|
+
.tds-modal-overlay:has(.modal-NR3TO) {
|
|
673
|
+
--tds-modal-min-margin-block: var(--t-spacing-1);
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
.tds-modal-frame:has(> .modal-NR3TO) {
|
|
677
|
+
--tds-modal-edge-margin-inline: var(--t-spacing-2);
|
|
678
|
+
|
|
679
|
+
height: calc(100vh - var(--t-spacing-1) * 2);
|
|
680
|
+
height: calc(
|
|
681
|
+
var(--visual-viewport-height, 100dvh) - var(--t-spacing-1) * 2
|
|
682
|
+
);
|
|
683
|
+
margin-block-end: calc(100dvh - var(--visual-viewport-height, 100dvh));
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
.tds-modal-frame:has(> .modal-NR3TO) > .modal-NR3TO {
|
|
687
|
+
height: auto;
|
|
688
|
+
max-height: none;
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
.container-YDdM1 {
|
|
693
|
+
display: flex;
|
|
694
|
+
flex-shrink: 0;
|
|
695
|
+
flex-wrap: wrap;
|
|
696
|
+
gap: var(--t-spacing-1);
|
|
697
|
+
/* Each hint pads itself by --t-spacing-1, so its keycaps line up with
|
|
698
|
+
the tabs. */
|
|
699
|
+
padding: var(--t-spacing-half)
|
|
700
|
+
calc(var(--product-search-padding-inline) - var(--t-spacing-1));
|
|
701
|
+
margin: 0;
|
|
702
|
+
list-style: none;
|
|
703
|
+
border-top: var(--t-border-width) solid var(--t-border-color);
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
.hint-017Rd {
|
|
707
|
+
display: flex;
|
|
708
|
+
flex-shrink: 0;
|
|
709
|
+
align-items: center;
|
|
710
|
+
gap: var(--t-spacing-half);
|
|
711
|
+
padding: var(--t-spacing-half) var(--t-spacing-1);
|
|
712
|
+
border-radius: var(--t-border-radius-lg);
|
|
713
|
+
color: var(--t-text-color-placeholder);
|
|
714
|
+
font-size: var(--t-font-size-xs);
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
.keycap-ENJM2 {
|
|
718
|
+
--keycap-size: 20px;
|
|
719
|
+
--keycap-padding: 4px;
|
|
720
|
+
|
|
721
|
+
display: inline-flex;
|
|
722
|
+
align-items: center;
|
|
723
|
+
justify-content: center;
|
|
724
|
+
width: var(--keycap-size);
|
|
725
|
+
height: var(--keycap-size);
|
|
726
|
+
padding: var(--keycap-padding);
|
|
727
|
+
margin-block: var(--t-spacing-fourth);
|
|
728
|
+
background-color: var(--t-fill-color-neutral-070);
|
|
729
|
+
color: var(--t-text-color-placeholder);
|
|
730
|
+
font-family: inherit;
|
|
731
|
+
font-size: calc(var(--keycap-size) - var(--keycap-padding) * 2);
|
|
732
|
+
font-weight: var(--t-font-weight-semibold);
|
|
733
|
+
border-radius: var(--t-border-radius-md);
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
.keycap-ENJM2 svg {
|
|
737
|
+
flex-shrink: 0;
|
|
738
|
+
width: 1.4em;
|
|
739
|
+
width: 2cap;
|
|
740
|
+
height: 1.4em;
|
|
741
|
+
height: 2cap;
|
|
742
|
+
stroke-width: 2;
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
.labels-GHPqL {
|
|
746
|
+
display: grid;
|
|
747
|
+
overflow: clip;
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
.labels-GHPqL > * {
|
|
751
|
+
grid-area: 1 / 1;
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
@property --copied {
|
|
755
|
+
syntax: "<percentage>";
|
|
756
|
+
inherits: true;
|
|
757
|
+
initial-value: 0%;
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
.copied-DUFa1 {
|
|
761
|
+
position: relative;
|
|
762
|
+
background-color: color-mix(
|
|
763
|
+
in srgb,
|
|
764
|
+
var(--t-fill-color-status-success-ghost) calc(var(--copied) * 0.3),
|
|
765
|
+
transparent
|
|
766
|
+
);
|
|
767
|
+
animation:
|
|
768
|
+
copied-enter-k4P4y var(--copied-enter) var(--t-ease-out) forwards,
|
|
769
|
+
copied-exit-oCDAu var(--copied-exit) var(--t-ease-out)
|
|
770
|
+
calc(var(--copied-enter) + var(--copied-active)) forwards;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
.copied-DUFa1 .keycap-ENJM2 {
|
|
774
|
+
animation: copied-keypress-znahZ 350ms cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
.copied-DUFa1 .labels-GHPqL > :first-child {
|
|
778
|
+
translate: 0 calc(var(--copied) * -1);
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
.copied-DUFa1 .labels-GHPqL > :last-child {
|
|
782
|
+
translate: 0 calc(100% - var(--copied));
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
.copied-DUFa1::after {
|
|
786
|
+
content: "";
|
|
787
|
+
position: absolute;
|
|
788
|
+
inset: 0;
|
|
789
|
+
border-radius: inherit;
|
|
790
|
+
pointer-events: none;
|
|
791
|
+
border: 2px solid var(--t-border-color-status-success);
|
|
792
|
+
opacity: var(--copied);
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
@keyframes copied-enter-k4P4y {
|
|
796
|
+
to { --copied: 100% }
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
@keyframes copied-exit-oCDAu {
|
|
800
|
+
from { --copied: 100% }
|
|
801
|
+
to { --copied: 0% }
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
@keyframes copied-keypress-znahZ {
|
|
805
|
+
20%,
|
|
806
|
+
26% {
|
|
807
|
+
translate: 0 1px;
|
|
808
|
+
scale: 0.88;
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
@media (prefers-reduced-motion: reduce) {
|
|
813
|
+
.copied-DUFa1 {
|
|
814
|
+
--copied: 100%;
|
|
815
|
+
animation: none;
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
.copied-DUFa1 .keycap-ENJM2 {
|
|
819
|
+
animation: none;
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
.icon-XKLvN {
|
|
824
|
+
position: relative;
|
|
825
|
+
display: block;
|
|
826
|
+
flex-shrink: 0;
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
.icon-XKLvN::before {
|
|
830
|
+
content: "";
|
|
831
|
+
position: absolute;
|
|
832
|
+
inset: 12.5%;
|
|
833
|
+
background-color: hsl(0, 0%, 100%);
|
|
834
|
+
border-radius: 20%;
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
.squircle-JCHr6 {
|
|
838
|
+
position: absolute;
|
|
839
|
+
inset: 0;
|
|
840
|
+
mask-size: 100%;
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
.picker-iuzzj {
|
|
844
|
+
flex-shrink: 0;
|
|
845
|
+
padding: 0 var(--product-search-padding-inline) var(--t-spacing-1);
|
|
846
|
+
}
|
|
847
|
+
|
|
848
|
+
.option--7LXg {
|
|
849
|
+
display: inline-flex;
|
|
850
|
+
align-items: center;
|
|
851
|
+
gap: var(--t-spacing-1);
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
.tablist-7ASvc {
|
|
855
|
+
display: flex;
|
|
856
|
+
flex-shrink: 0;
|
|
857
|
+
gap: var(--t-spacing-half);
|
|
858
|
+
padding-inline: var(--product-search-padding-inline);
|
|
859
|
+
padding-top: var(--t-spacing-half);
|
|
860
|
+
border-bottom: var(--t-border-width) solid var(--t-border-color);
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
.tab-dz8ki {
|
|
864
|
+
position: relative;
|
|
865
|
+
display: inline-flex;
|
|
866
|
+
align-items: center;
|
|
867
|
+
justify-content: center;
|
|
868
|
+
gap: var(--t-spacing-1);
|
|
869
|
+
min-width: 48px;
|
|
870
|
+
height: 40px;
|
|
871
|
+
padding: 0 var(--product-search-tab-padding-inline);
|
|
872
|
+
margin-bottom: calc(var(--t-border-width) * -1);
|
|
873
|
+
background-color: var(--t-fill-color-neutral-070);
|
|
874
|
+
color: var(--t-text-color-secondary);
|
|
875
|
+
font-size: var(--t-font-size-md);
|
|
876
|
+
border: var(--t-border-width) solid transparent;
|
|
877
|
+
border-bottom-color: var(--t-border-color);
|
|
878
|
+
border-radius: var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
|
|
879
|
+
cursor: pointer;
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
.tab-dz8ki:hover {
|
|
883
|
+
background-color: var(--t-fill-color-neutral-060);
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
.tab-dz8ki:focus-visible {
|
|
887
|
+
outline: none;
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
/* Set by useKeyboardFocus: Safari leaves :focus-visible off focus the modal's
|
|
891
|
+
focus scope moves here by script, as it does when Tab is pressed. */
|
|
892
|
+
.tab-dz8ki[data-focus-visible] {
|
|
893
|
+
z-index: 1;
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
.tab-dz8ki[data-focus-visible]::after {
|
|
897
|
+
content: "";
|
|
898
|
+
position: absolute;
|
|
899
|
+
/* Measured from inside the tab's border, so step out past it too. */
|
|
900
|
+
inset: calc((var(--t-focus-ring-offset) + var(--t-border-width)) * -1);
|
|
901
|
+
border-radius: calc(var(--t-border-radius-md) + var(--t-focus-ring-offset));
|
|
902
|
+
box-shadow: 0 0 0 var(--t-focus-ring-width) var(--t-focus-ring-color);
|
|
903
|
+
pointer-events: none;
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
.tab-dz8ki[aria-selected="true"] {
|
|
907
|
+
background-color: var(--t-surface-color-card);
|
|
908
|
+
border-color: var(--t-border-color);
|
|
909
|
+
border-bottom-color: var(--t-surface-color-card);
|
|
910
|
+
cursor: default;
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
.blank_state-wMOWN {
|
|
914
|
+
max-width: 300px;
|
|
915
|
+
margin-inline: auto;
|
|
916
|
+
padding-block: var(--t-spacing-2);
|
|
917
|
+
text-align: center;
|
|
918
|
+
}
|
|
919
|
+
@media screen and (min-width: 600px) {
|
|
920
|
+
.blank_state-wMOWN {
|
|
921
|
+
padding-block: var(--t-spacing-5);
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
.blank_state-wMOWN h2 {
|
|
925
|
+
color: var(--t-text-color-headline);
|
|
926
|
+
font-size: var(--t-font-size-xl);
|
|
927
|
+
font-weight: var(--t-font-weight-semibold);
|
|
928
|
+
margin: 0;
|
|
929
|
+
}
|
|
930
|
+
.blank_state-wMOWN p {
|
|
931
|
+
color: var(--t-text-color-secondary);
|
|
932
|
+
font-size: var(--t-font-size-md);
|
|
933
|
+
margin: 0;
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
.image-uy0Fd {
|
|
937
|
+
color: var(--t-fill-color-status-info-ghost);
|
|
938
|
+
}
|
|
939
|
+
.image-uy0Fd svg {
|
|
940
|
+
width: 30vw;
|
|
941
|
+
max-width: 240px;
|
|
942
|
+
height: auto;
|
|
943
|
+
}
|
|
944
|
+
@media screen and (min-width: 600px) {
|
|
945
|
+
.image-uy0Fd svg {
|
|
946
|
+
width: 18vw;
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
:root[data-color-mode="dark"] .image-uy0Fd {
|
|
950
|
+
color: var(--t-fill-color-status-neutral-ghost);
|
|
951
|
+
}
|
|
952
|
+
@media (prefers-color-scheme: dark) {
|
|
953
|
+
:root[data-color-mode="system"] .image-uy0Fd {
|
|
954
|
+
color: var(--t-fill-color-status-neutral-ghost);
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
.result-Thq2C {
|
|
958
|
+
display: flex;
|
|
959
|
+
align-items: center;
|
|
960
|
+
gap: 12px;
|
|
961
|
+
min-height: 56px;
|
|
962
|
+
padding: var(--t-spacing-1) var(--product-search-row-inset, 12px);
|
|
963
|
+
color: var(--t-text-color);
|
|
964
|
+
text-decoration: none;
|
|
965
|
+
border-radius: var(--t-border-radius-md);
|
|
966
|
+
/* Taps get the highlight below instead of the browser's grey flash. */
|
|
967
|
+
-webkit-tap-highlight-color: transparent;
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
.result-Thq2C:hover,
|
|
971
|
+
.result-Thq2C:focus,
|
|
972
|
+
.result-Thq2C:active,
|
|
973
|
+
.result-Thq2C:visited {
|
|
974
|
+
color: var(--t-text-color);
|
|
975
|
+
text-decoration: none;
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
.result-Thq2C[aria-selected="true"],
|
|
979
|
+
.result-Thq2C:active {
|
|
980
|
+
background-color: var(--t-fill-color-button-interaction-ghost-hover);
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
.title-KYUEn {
|
|
984
|
+
flex-shrink: 0;
|
|
985
|
+
max-width: 60%;
|
|
986
|
+
overflow: hidden;
|
|
987
|
+
font-size: var(--t-font-size-lg);
|
|
988
|
+
text-overflow: ellipsis;
|
|
989
|
+
white-space: nowrap;
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
.subtitle-R2haq {
|
|
993
|
+
min-width: 0;
|
|
994
|
+
overflow: hidden;
|
|
995
|
+
color: var(--t-text-color-secondary);
|
|
996
|
+
font-size: var(--t-font-size-sm);
|
|
997
|
+
text-overflow: ellipsis;
|
|
998
|
+
white-space: nowrap;
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
.image-KVDor {
|
|
1002
|
+
--result-image-size: 32px;
|
|
1003
|
+
|
|
1004
|
+
position: relative;
|
|
1005
|
+
flex-shrink: 0;
|
|
1006
|
+
width: var(--result-image-size);
|
|
1007
|
+
height: var(--result-image-size);
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
.avatar-6Gh62,
|
|
1011
|
+
.photo-FZR3Q {
|
|
1012
|
+
display: block;
|
|
1013
|
+
width: 100%;
|
|
1014
|
+
height: 100%;
|
|
1015
|
+
object-fit: cover;
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
.avatar-6Gh62 {
|
|
1019
|
+
border-radius: 50%;
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
.photo-FZR3Q {
|
|
1023
|
+
border-radius: var(--t-border-radius-md);
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
.badge-trUKt {
|
|
1027
|
+
position: absolute;
|
|
1028
|
+
right: -4px;
|
|
1029
|
+
bottom: -4px;
|
|
1030
|
+
filter: drop-shadow(0 1px 1px var(--t-fill-color-transparency-dark-static-010));
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
/*
|
|
1034
|
+
* Too narrow for the title and meta to share a line, as on a phone, so they
|
|
1035
|
+
* stack beside a smaller image.
|
|
1036
|
+
*/
|
|
1037
|
+
@container (max-width: 480px) {
|
|
1038
|
+
.result-Thq2C {
|
|
1039
|
+
display: grid;
|
|
1040
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
1041
|
+
align-content: center;
|
|
1042
|
+
gap: 0 12px;
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
.image-KVDor {
|
|
1046
|
+
--result-image-size: 28px;
|
|
1047
|
+
|
|
1048
|
+
grid-row: span 2;
|
|
1049
|
+
align-self: center;
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
.title-KYUEn {
|
|
1053
|
+
max-width: none;
|
|
1054
|
+
}
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
.heading-LioUF {
|
|
1058
|
+
padding: var(--t-spacing-half)
|
|
1059
|
+
var(--product-search-heading-inset, var(--product-search-row-inset, 12px));
|
|
1060
|
+
color: var(--t-text-color-secondary);
|
|
1061
|
+
font-size: var(--t-font-size-sm);
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
.group-cKChg:not(:first-child) > .heading-LioUF {
|
|
1065
|
+
margin-top: var(--t-spacing-2);
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
/*
|
|
1069
|
+
* The field is a box of its own, so keyboard focus can ring it like an input.
|
|
1070
|
+
* Padding all around gives the ring room, and the row's padding is that much
|
|
1071
|
+
* less than the section padding, so the icon lines up with the tabs.
|
|
1072
|
+
*/
|
|
1073
|
+
.row-5P7UQ {
|
|
1074
|
+
--header-inset-block: var(--t-spacing-1);
|
|
1075
|
+
--header-inset-inline: var(--t-spacing-half);
|
|
1076
|
+
|
|
1077
|
+
display: flex;
|
|
1078
|
+
flex-shrink: 0;
|
|
1079
|
+
align-items: center;
|
|
1080
|
+
gap: var(--t-spacing-1);
|
|
1081
|
+
padding-top: calc(
|
|
1082
|
+
var(--product-search-padding-block) - var(--header-inset-block)
|
|
1083
|
+
);
|
|
1084
|
+
padding-inline: calc(
|
|
1085
|
+
var(--product-search-padding-inline) - var(--header-inset-inline)
|
|
1086
|
+
);
|
|
1087
|
+
padding-bottom: calc(var(--t-spacing-1-half) - var(--header-inset-block));
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
.header-sXEyG {
|
|
1091
|
+
display: flex;
|
|
1092
|
+
flex: 1;
|
|
1093
|
+
align-items: center;
|
|
1094
|
+
gap: var(--t-spacing-1);
|
|
1095
|
+
min-width: 0;
|
|
1096
|
+
padding: var(--header-inset-block) var(--header-inset-inline);
|
|
1097
|
+
border-radius: var(--t-border-radius-lg);
|
|
1098
|
+
outline: var(--t-focus-ring-width) solid transparent;
|
|
1099
|
+
cursor: text;
|
|
1100
|
+
transition: outline-color var(--t-duration-200) var(--t-ease-in-out);
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
/* Only from the keyboard, since a click or tap already shows where it is. */
|
|
1104
|
+
.header-sXEyG:has([data-focus-visible]) {
|
|
1105
|
+
outline-color: var(--t-focus-ring-color);
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
/* A 48px tap target around the 32px button, like the small topbar's. */
|
|
1109
|
+
.closeButton-rPJJV {
|
|
1110
|
+
position: relative;
|
|
1111
|
+
flex-shrink: 0;
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
.closeButton-rPJJV::before {
|
|
1115
|
+
position: absolute;
|
|
1116
|
+
inset: calc((var(--t-container-size-xl) - var(--t-container-size-md)) / -2);
|
|
1117
|
+
content: "";
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
/*
|
|
1121
|
+
* Products style their own inputs, often by element and type with states
|
|
1122
|
+
* like :focus. There's only ever one product search field, so these rules
|
|
1123
|
+
* add its ID, set as a plain string in SearchInput, which outranks any
|
|
1124
|
+
* product rule without one.
|
|
1125
|
+
*/
|
|
1126
|
+
.input-YQkTC#product_search {
|
|
1127
|
+
position: static;
|
|
1128
|
+
flex: 1;
|
|
1129
|
+
min-width: 0;
|
|
1130
|
+
height: auto;
|
|
1131
|
+
margin: 0;
|
|
1132
|
+
padding: 0;
|
|
1133
|
+
background: none;
|
|
1134
|
+
color: var(--t-text-color);
|
|
1135
|
+
font: inherit;
|
|
1136
|
+
font-size: var(--t-font-size-xl);
|
|
1137
|
+
border: 0 solid transparent;
|
|
1138
|
+
border-radius: 0;
|
|
1139
|
+
box-shadow: none;
|
|
1140
|
+
outline: none;
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
.input-YQkTC#product_search::placeholder {
|
|
1144
|
+
color: var(--t-text-color-placeholder);
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1147
|
+
.input-YQkTC#product_search::-webkit-search-cancel-button {
|
|
1148
|
+
appearance: none;
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
.clearButton-9Yh9w {
|
|
1152
|
+
--clear-button-size: 20px;
|
|
1153
|
+
--clear-button-background: var(--t-fill-color-neutral-030);
|
|
1154
|
+
--clear-button-background-hover: var(--t-fill-color-neutral-025);
|
|
1155
|
+
|
|
1156
|
+
display: inline-flex;
|
|
1157
|
+
align-items: center;
|
|
1158
|
+
justify-content: center;
|
|
1159
|
+
flex-shrink: 0;
|
|
1160
|
+
width: var(--clear-button-size);
|
|
1161
|
+
height: var(--clear-button-size);
|
|
1162
|
+
padding: 0;
|
|
1163
|
+
background: var(--clear-button-background);
|
|
1164
|
+
color: #fff;
|
|
1165
|
+
border: 0;
|
|
1166
|
+
border-radius: var(--t-border-radius-round);
|
|
1167
|
+
cursor: pointer;
|
|
1168
|
+
transition: var(--topbar-slight-transition-background);
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
.clearButton-9Yh9w:hover {
|
|
1172
|
+
background-color: var(--clear-button-background-hover);
|
|
1173
|
+
}
|
|
1174
|
+
|
|
1175
|
+
:root[data-color-mode="dark"] .clearButton-9Yh9w {
|
|
1176
|
+
--clear-button-background: var(--t-fill-color-neutral-040);
|
|
1177
|
+
--clear-button-background-hover: var(--t-fill-color-neutral-050);
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
@media (prefers-color-scheme: dark) {
|
|
1181
|
+
:root[data-color-mode="system"] .clearButton-9Yh9w {
|
|
1182
|
+
--clear-button-background: var(--t-fill-color-neutral-040);
|
|
1183
|
+
--clear-button-background-hover: var(--t-fill-color-neutral-050);
|
|
1184
|
+
}
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
.clearButton-9Yh9w svg {
|
|
1188
|
+
height: calc(var(--clear-button-size) * 0.65);
|
|
1189
|
+
width: calc(var(--clear-button-size) * 0.65);
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
.spinner-b5tlz {
|
|
1193
|
+
--spinner-size: 54px;
|
|
1194
|
+
--spinner-track-width: 6px;
|
|
1195
|
+
--spinner-track-color: var(--t-border-color-dim);
|
|
1196
|
+
--spinner-color: var(--t-border-color-status-info);
|
|
1197
|
+
|
|
1198
|
+
display: inline-block;
|
|
1199
|
+
box-sizing: border-box;
|
|
1200
|
+
width: var(--spinner-size);
|
|
1201
|
+
height: var(--spinner-size);
|
|
1202
|
+
border: var(--spinner-track-width) solid var(--spinner-track-color);
|
|
1203
|
+
border-bottom-color: var(--spinner-color);
|
|
1204
|
+
border-radius: 50%;
|
|
1205
|
+
animation: rotation-q2xiP .75s linear infinite;
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
@keyframes rotation-q2xiP {
|
|
1209
|
+
to {
|
|
1210
|
+
transform: rotate(1turn);
|
|
1211
|
+
}
|
|
1212
|
+
}
|
|
533
1213
|
.route--8BWe {
|
|
534
1214
|
font-size: var(--topbar-nav-link-font-size);
|
|
535
1215
|
font-family: inherit;
|
|
@@ -576,6 +1256,9 @@ Caused by products overriding .topbar-wrap’s z-index.
|
|
|
576
1256
|
}
|
|
577
1257
|
|
|
578
1258
|
.trigger-wrap-Jd-KR {
|
|
1259
|
+
/* Lets the trigger shrink, truncating the org name, when the nav runs out
|
|
1260
|
+
of room */
|
|
1261
|
+
min-width: 0;
|
|
579
1262
|
margin-left: var(--t-spacing-1);
|
|
580
1263
|
position: relative;
|
|
581
1264
|
white-space: nowrap;
|
|
@@ -591,6 +1274,7 @@ Caused by products overriding .topbar-wrap’s z-index.
|
|
|
591
1274
|
border: var(--t-border-width) solid var(--topbar-nav-link-border-color-active);
|
|
592
1275
|
border-radius: var(--topbar-nav-link-border-radius);
|
|
593
1276
|
min-width: var(--t-container-size-md);
|
|
1277
|
+
max-width: 100%;
|
|
594
1278
|
transition: var(--topbar-nav-link-transition);
|
|
595
1279
|
display: flex;
|
|
596
1280
|
align-items: center;
|
|
@@ -601,6 +1285,7 @@ Caused by products overriding .topbar-wrap’s z-index.
|
|
|
601
1285
|
}
|
|
602
1286
|
|
|
603
1287
|
.trigger-WgRT5 svg {
|
|
1288
|
+
flex-shrink: 0;
|
|
604
1289
|
transition: transform var(--topbar-slight-transition);
|
|
605
1290
|
/* Negative margin ensures button is a circle when orgname isn’t visible */
|
|
606
1291
|
margin-left: calc(var(--t-spacing-1) * -1);
|
|
@@ -915,13 +1600,35 @@ Caused by products overriding .topbar-wrap’s z-index.
|
|
|
915
1600
|
background-color: var(--t-fill-color-button-interaction-outline-active);
|
|
916
1601
|
}
|
|
917
1602
|
|
|
1603
|
+
/*
|
|
1604
|
+
* Spaces the header's buttons on the right. Each is the same touch target;
|
|
1605
|
+
* the padding keeps the avatar, and the title's width, where they were
|
|
1606
|
+
* before search joined it.
|
|
1607
|
+
*/
|
|
1608
|
+
.actions-INQ7- {
|
|
1609
|
+
display: flex;
|
|
1610
|
+
flex-shrink: 0;
|
|
1611
|
+
align-items: center;
|
|
1612
|
+
padding-inline: var(--t-spacing-1-half) var(--t-spacing-1);
|
|
1613
|
+
}
|
|
1614
|
+
|
|
918
1615
|
.profile-button-a2WO2 {
|
|
1616
|
+
display: flex;
|
|
1617
|
+
align-items: center;
|
|
1618
|
+
justify-content: center;
|
|
1619
|
+
width: var(--t-container-size-xl);
|
|
1620
|
+
height: var(--t-container-size-xl);
|
|
1621
|
+
padding: 0;
|
|
919
1622
|
background-color: transparent;
|
|
920
1623
|
border-width: 0;
|
|
921
|
-
padding: var(--t-spacing-2);
|
|
922
1624
|
appearance: none;
|
|
923
1625
|
}
|
|
924
1626
|
|
|
1627
|
+
/* Centers the avatar in its target, without its own leading margin. */
|
|
1628
|
+
.profile-button-a2WO2 > div {
|
|
1629
|
+
margin-left: 0;
|
|
1630
|
+
}
|
|
1631
|
+
|
|
925
1632
|
.debug-pco-resource-sLteM {
|
|
926
1633
|
display: flex;
|
|
927
1634
|
flex-direction: column;
|