@primer/brand-css 0.78.0-rc.bcc08c15 → 0.78.0-rc.c01d8371

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.
@@ -97,9 +97,50 @@
97
97
  display: none;
98
98
  }
99
99
 
100
+ .SubNav__overflow-container {
101
+ display: none;
102
+ }
103
+
104
+ .SubNav__overflow-menu {
105
+ position: absolute;
106
+ inset: auto;
107
+ margin: 0;
108
+ padding: 0;
109
+ z-index: 10;
110
+ width: -moz-max-content;
111
+ width: max-content;
112
+ min-width: var(--brand-SubNav-width-overflowMenuMin);
113
+ max-width: calc(100vw - var(--brand-SubNav-width-overflowMenuInset));
114
+ max-height: calc(100dvh - var(--brand-SubNav-height-overflowMenuInset));
115
+ overflow-x: hidden;
116
+ overflow-y: auto;
117
+ background-color: var(--brand-SubNav-overflowMenu-bgColor-rest);
118
+ border: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
119
+ border-start-start-radius: 0;
120
+ border-start-end-radius: 0;
121
+ border-end-start-radius: var(--brand-borderRadius-medium);
122
+ border-end-end-radius: var(--brand-borderRadius-medium);
123
+ box-shadow: none;
124
+ transform: translateY(calc(0px - var(--brand-SubNav-offset-overflowMenu)));
125
+ animation: fade-in var(--brand-animation-duration-faster) var(--brand-animation-easing-default);
126
+ }
127
+
128
+ .SubNav__overflow-menu::backdrop {
129
+ background-color: transparent;
130
+ }
131
+
132
+ .SubNav__overflow-menu-list {
133
+ display: grid;
134
+ gap: var(--brand-borderWidth-thin);
135
+ list-style: none;
136
+ margin: 0;
137
+ padding: var(--base-size-8);
138
+ width: 100%;
139
+ }
140
+
100
141
  /*
101
- * Anchor Nav Submenu
102
- */
142
+ * Anchor Nav Submenu
143
+ */
103
144
 
104
145
  .SubNav__anchor-menu-outer-container {
105
146
  position: sticky;
@@ -588,6 +629,7 @@
588
629
  .SubNav__header-container {
589
630
  display: flex;
590
631
  align-items: center;
632
+ flex-shrink: 0;
591
633
  }
592
634
 
593
635
  .SubNav__links-overlay {
@@ -595,10 +637,76 @@
595
637
  display: flex;
596
638
  gap: var(--base-size-2);
597
639
  z-index: 92;
598
- flex-grow: 1;
640
+ flex: 1 1 0;
641
+ min-width: 0;
642
+ align-self: stretch;
599
643
  padding-inline-start: var(--base-size-24);
600
644
  }
601
645
 
646
+ .SubNav__links-overlay > li {
647
+ flex: 0 0 auto;
648
+ white-space: nowrap;
649
+ }
650
+
651
+ .SubNav__link--in-overlay {
652
+ display: inline-flex;
653
+ align-items: center;
654
+ }
655
+
656
+ .SubNav__link-item--overflowed {
657
+ position: absolute;
658
+ width: -moz-max-content;
659
+ width: max-content;
660
+ visibility: hidden;
661
+ pointer-events: none;
662
+ }
663
+
664
+ .SubNav__overflow-container {
665
+ display: flex;
666
+ align-items: center;
667
+ align-self: stretch;
668
+ position: absolute;
669
+ visibility: hidden;
670
+ pointer-events: none;
671
+ }
672
+
673
+ .SubNav__overflow-container--visible {
674
+ position: relative;
675
+ visibility: visible;
676
+ pointer-events: auto;
677
+ }
678
+
679
+ .SubNav__overflow-toggle {
680
+ display: inline-flex;
681
+ align-items: center;
682
+ gap: var(--base-size-4);
683
+ padding: var(--base-size-4) var(--base-size-12);
684
+ color: var(--brand-SubNav-color-link-rest);
685
+ background: var(--brand-SubNav-overflowMenu-toggle-bgColor-rest);
686
+ border: 0;
687
+ border-radius: var(--brand-borderRadius-full);
688
+ font: inherit;
689
+ cursor: pointer;
690
+ }
691
+
692
+ .SubNav__overflow-toggle:hover {
693
+ background-color: var(--brand-SubNav-overflowMenu-toggle-bgColor-hover);
694
+ }
695
+
696
+ .SubNav__overflow-toggle[aria-expanded='true'],
697
+ .SubNav__overflow-toggle--active {
698
+ background-color: var(--brand-SubNav-overflowMenu-toggle-bgColor-active);
699
+ }
700
+
701
+ .SubNav__overflow-toggle .SubNav__link-label {
702
+ color: inherit;
703
+ }
704
+
705
+ .SubNav__overflow-toggle:focus-visible {
706
+ outline: var(--brand-borderWidth-thick) solid var(--brand-color-focus);
707
+ outline-offset: var(--base-size-2);
708
+ }
709
+
602
710
  .SubNav__link {
603
711
  text-decoration: none !important; /* dotcom override */
604
712
  transition: color 0.2s var(--brand-animation-easing-glide);
@@ -762,18 +870,63 @@
762
870
  .SubNav__sub-menu--anchor {
763
871
  padding-inline: var(--base-size-32);
764
872
  }
765
- }
766
873
 
767
- @keyframes fade-in {
768
- 0% {
769
- opacity: 0;
874
+ .SubNav__overflow-menu .SubNav__link {
875
+ display: block;
876
+ width: 100%;
877
+ min-height: var(--brand-SubNav-height-overflowMenuItemMin);
878
+ padding: var(--base-size-8) var(--base-size-12);
879
+ color: var(--brand-SubNav-overflowMenu-fgColor-rest);
880
+ white-space: normal;
881
+ overflow-wrap: anywhere;
882
+ border-radius: var(--brand-borderRadius-medium);
883
+ background-color: var(--brand-SubNav-overflowMenu-bgColor-rest);
770
884
  }
771
- 100% {
885
+
886
+ .SubNav__overflow-menu .SubNav__link .SubNav__link-label {
887
+ color: inherit;
888
+ font-weight: var(--base-text-weight-normal);
889
+ line-height: var(--brand-text-lineHeight-200);
890
+ }
891
+
892
+ .SubNav__overflow-menu .SubNav__link:hover,
893
+ .SubNav__overflow-menu .SubNav__link:focus,
894
+ .SubNav__overflow-menu .SubNav__link:focus-visible,
895
+ .SubNav__overflow-menu .SubNav__link[aria-current]:not([aria-current='false']) {
896
+ color: var(--brand-SubNav-overflowMenu-fgColor-hover);
897
+ background-color: var(--brand-SubNav-overflowMenu-bgColor-hover);
898
+ }
899
+
900
+ .SubNav__overflow-menu .SubNav__link:focus-visible {
901
+ box-shadow: inset 0 0 0 var(--brand-borderWidth-thick) var(--brand-color-focus);
902
+ outline: none;
903
+ }
904
+
905
+ .SubNav__overflow-menu .SubNav__link--has-sub-menu {
906
+ display: block;
907
+ background: transparent;
908
+ padding: 0;
909
+ }
910
+
911
+ .SubNav__overflow-menu .SubNav__link--has-sub-menu::after {
912
+ content: none;
913
+ }
914
+
915
+ .SubNav__overflow-menu .SubNav__sub-menu--dropdown {
916
+ position: static;
917
+ width: auto;
918
+ margin: 0;
919
+ padding: 0;
920
+ padding-inline-start: var(--base-size-16);
921
+ border: 0;
922
+ background-color: var(--brand-SubNav-overflowMenu-bgColor-rest);
923
+ visibility: visible;
772
924
  opacity: 1;
925
+ transform: none;
773
926
  }
774
927
  }
775
928
 
776
- @keyframes fade-in-down {
929
+ @keyframes fade-in {
777
930
  0% {
778
931
  opacity: 0;
779
932
  }
@@ -322,9 +322,6 @@
322
322
  color: var(--brand-color-text-default);
323
323
  font-family: var(--brand-heading-fontFamily);
324
324
  font-weight: var(--base-text-weight-normal);
325
- font-size: var(--base-size-20);
326
- line-height: var(--base-size-20);
327
- padding: var(--base-size-8) var(--base-size-16) var(--base-size-16) var(--base-size-28);
328
325
  text-decoration: none;
329
326
  }
330
327
 
@@ -343,85 +340,42 @@
343
340
  }
344
341
 
345
342
  @media screen and (max-width: 767px) {
346
- .SubdomainNavBar-link:first-of-type {
347
- padding-top: var(--base-size-24);
348
- }
349
-
350
343
  .SubdomainNavBar-link--title {
351
344
  font-weight: var(--base-text-weight-medium);
352
345
  }
353
346
  }
354
347
 
355
348
  @media screen and (min-width: 48rem) {
356
- .SubdomainNavBar-link {
357
- font-family: var(--brand-heading-fontFamily);
358
- font-weight: var(--base-text-weight-normal);
359
- font-size: var(--base-size-16);
360
- line-height: var(--base-size-16);
361
- padding: var(--base-size-16) var(--base-size-16);
362
- }
363
-
364
- .SubdomainNavBar-link-text::after {
365
- content: '';
366
- position: absolute;
367
- bottom: -6px;
368
- left: 0;
349
+ .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link {
369
350
  width: 100%;
370
- height: 2px;
371
- background-color: var(--brand-SubdomainNavBar-border-nav-default);
372
- opacity: 0;
373
- transition: opacity var(--brand-animation-duration-fast), transform var(--brand-animation-duration-fast);
374
- transform: scale(0);
375
- transform-origin: center;
376
- }
377
-
378
- .SubdomainNavBar-link:hover .SubdomainNavBar-link-text::after,
379
- .SubdomainNavBar-link:focus .SubdomainNavBar-link-text::after {
380
- opacity: 1;
381
- transform: scale(0.75);
382
- }
383
-
384
- .SubdomainNavBar-link:active .SubdomainNavBar-link-text::after {
385
- background-color: var(--brand-SubdomainNavBar-border-nav-pressed);
386
- transform: scale(0.75);
387
- }
388
-
389
- .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link {
351
+ min-height: var(--base-size-40);
352
+ padding: var(--base-size-8) var(--base-size-12);
353
+ color: var(--brand-color-text-muted);
354
+ background-color: var(--brand-color-canvas-default);
355
+ border-radius: var(--brand-borderRadius-medium);
356
+ font-size: var(--brand-text-size-100);
357
+ line-height: var(--brand-text-lineHeight-200);
390
358
  transition: background-color var(--brand-animation-easing-default) 250ms;
391
- background-color: var(--brand-SubdomainNavBar-canvas-overflow-default);
392
- color: var(--brand-SubdomainNavBar-fg-overflow-default);
393
359
  }
394
360
 
395
- .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link .SubdomainNavBar-link-text::after {
396
- display: none;
397
- }
398
-
399
- .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:hover {
400
- background-color: var(--brand-SubdomainNavBar-canvas-overflow-hover);
361
+ .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:hover,
362
+ .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus,
363
+ .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus-visible {
364
+ color: var(--brand-color-text-default);
365
+ background-color: var(--brand-color-canvas-subtle);
401
366
  }
402
367
 
403
- .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus,
404
- .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus-visible {
405
- box-shadow: inset 0px 0px 0px 2px var(--brand-color-focus);
368
+ .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus,
369
+ .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus-visible {
370
+ box-shadow: inset 0 0 0 var(--brand-borderWidth-thick) var(--brand-color-focus);
406
371
  outline: none;
407
372
  }
408
373
  }
409
374
 
410
- @media screen and (min-width: 63.25rem) {
411
- .SubdomainNavBar-link {
412
- padding: var(--base-size-16) var(--base-size-24);
413
- }
414
- }
415
-
416
375
  .SubdomainNavBar-more-link {
417
376
  display: none;
418
377
  }
419
378
 
420
- .SubdomainNavBar-more-link[aria-expanded='true']:hover::after,
421
- .SubdomainNavBar-more-link[aria-expanded='true']:focus::after {
422
- display: none;
423
- }
424
-
425
379
  @media screen and (min-width: 48rem) {
426
380
  .SubdomainNavBar-more-link {
427
381
  cursor: pointer;
@@ -436,25 +390,30 @@
436
390
  }
437
391
  }
438
392
 
439
- .SubdomainNavBar-overflow-menu {
393
+ .SubdomainNavBar .SubdomainNavBar-overflow-menu {
440
394
  position: absolute;
441
395
  z-index: 100;
442
396
  right: auto;
443
397
  background-color: var(--brand-color-canvas-default);
444
- border-radius: var(--brand-borderRadius-large);
445
- animation: fade-in-down 0.25s, enlarge-shadow 250ms forwards;
398
+ border: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
399
+ border-start-start-radius: 0;
400
+ border-start-end-radius: 0;
401
+ border-end-start-radius: var(--brand-borderRadius-medium);
402
+ border-end-end-radius: var(--brand-borderRadius-medium);
403
+ animation: fade-in-down-overflow var(--brand-animation-duration-faster);
446
404
  animation-timing-function: var(--brand-animation-easing-default);
447
- box-shadow: 0px 8px 24px rgba(1, 4, 9, 0.15);
405
+ min-width: calc(var(--base-size-128) + var(--base-size-32));
406
+ transform: translateY(calc(0px - var(--base-size-4)));
448
407
  overflow: hidden;
449
408
  }
450
409
 
451
- .SubdomainNavBar-overflow-menu-list {
410
+ .SubdomainNavBar .SubdomainNavBar-overflow-menu-list {
452
411
  display: grid;
412
+ gap: var(--brand-borderWidth-thin);
453
413
  list-style-type: none;
454
- padding: 0;
414
+ padding: var(--base-size-8);
455
415
  margin: 0;
456
- width: -moz-max-content;
457
- width: max-content;
416
+ width: 100%;
458
417
  }
459
418
 
460
419
  /*
@@ -1316,47 +1275,6 @@
1316
1275
  outline-offset: var(--base-size-2);
1317
1276
  }
1318
1277
 
1319
- .SubdomainNavBar .SubdomainNavBar-link-text::after {
1320
- display: none;
1321
- }
1322
-
1323
- .SubdomainNavBar .SubdomainNavBar-overflow-menu {
1324
- animation: fade-in-down-overflow var(--brand-animation-duration-faster);
1325
- animation-timing-function: var(--brand-animation-easing-default);
1326
- border: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
1327
- border-start-start-radius: 0;
1328
- border-start-end-radius: 0;
1329
- border-end-start-radius: var(--brand-borderRadius-medium);
1330
- border-end-end-radius: var(--brand-borderRadius-medium);
1331
- box-shadow: none;
1332
- min-width: calc(var(--base-size-128) + var(--base-size-32));
1333
- transform: translateY(calc(0px - var(--base-size-4)));
1334
- }
1335
-
1336
- .SubdomainNavBar .SubdomainNavBar-overflow-menu-list {
1337
- gap: var(--brand-borderWidth-thin);
1338
- padding: var(--base-size-8);
1339
- width: 100%;
1340
- }
1341
-
1342
- .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link {
1343
- width: 100%;
1344
- min-height: var(--base-size-40);
1345
- padding: var(--base-size-8) var(--base-size-12);
1346
- color: var(--brand-color-text-muted);
1347
- background-color: var(--brand-color-canvas-default);
1348
- border-radius: var(--brand-borderRadius-medium);
1349
- font-size: var(--brand-text-size-100);
1350
- line-height: var(--brand-text-lineHeight-200);
1351
- }
1352
-
1353
- .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:hover,
1354
- .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus,
1355
- .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus-visible {
1356
- color: var(--brand-color-text-default);
1357
- background-color: var(--brand-color-canvas-subtle);
1358
- }
1359
-
1360
1278
  @media (prefers-reduced-motion: no-preference) {
1361
1279
  .SubdomainNavBar
1362
1280
  .SubdomainNavBar-primary-nav-list-item:not(.SubdomainNavBar-overflow-menu-item)
@@ -1849,17 +1767,6 @@
1849
1767
  }
1850
1768
  }
1851
1769
 
1852
- @keyframes enlarge-shadow {
1853
- 0% {
1854
- scale: 0.98;
1855
- box-shadow: 0px 8px 0 rgba(1, 4, 9, 0.15);
1856
- }
1857
- 100% {
1858
- scale: 1;
1859
- box-shadow: 0px 8px 24px rgba(1, 4, 9, 0.15);
1860
- }
1861
- }
1862
-
1863
1770
  @keyframes fade-in-down-staggered {
1864
1771
  0% {
1865
1772
  opacity: 0;
@@ -4,89 +4,52 @@
4
4
  }
5
5
 
6
6
  .Tiles-grid {
7
- --tiles-columns: 2;
7
+ --tiles-columns: var(--tiles-columns-xsmall);
8
8
  display: flex;
9
9
  flex-wrap: wrap;
10
10
  justify-content: center;
11
11
  list-style: none;
12
12
  margin: 0;
13
+ margin-inline: auto;
13
14
  padding: 0;
14
15
  }
15
16
 
17
+ .Tiles--layout-default .Tiles-grid,
16
18
  .Tiles--layout-compact .Tiles-grid {
17
- --tiles-columns: 4;
18
- }
19
-
20
- @media screen and (min-width: 48rem) {
21
- .Tiles--layout-default .Tiles-grid {
22
- --tiles-columns: 4;
23
- }
19
+ max-width: min(100%, calc(var(--brand-Tiles-item-maxSize) * var(--tiles-columns)));
24
20
  }
25
21
 
26
22
  @media screen and (min-width: 34rem) and (max-width: 47.99rem) {
27
23
  .Tiles-grid {
28
- --tiles-columns: 3;
29
- }
30
- }
31
-
32
- @media screen and (min-width: 63.25rem) {
33
- .Tiles--layout-default .Tiles-grid {
34
- --tiles-columns: 6;
24
+ --tiles-columns: var(--tiles-columns-small);
35
25
  }
36
26
  }
37
27
 
38
28
  @media screen and (min-width: 48rem) {
39
- .Tiles--layout-compact .Tiles-grid {
40
- --tiles-columns: 6;
29
+ .Tiles-grid {
30
+ --tiles-columns: var(--tiles-columns-medium);
41
31
  }
42
32
  }
43
33
 
44
34
  @media screen and (min-width: 63.25rem) {
45
- .Tiles--layout-compact .Tiles-grid {
46
- --tiles-columns: 8;
35
+ .Tiles-grid {
36
+ --tiles-columns: var(--tiles-columns-large);
47
37
  }
48
38
  }
49
39
 
50
40
  .Tiles--variant-gridlines .Tiles-grid {
51
- --tiles-grid-border-color: var(--brand-color-border-muted);
52
- position: relative;
53
41
  padding-right: var(--brand-borderWidth-thin);
54
42
  padding-bottom: var(--brand-borderWidth-thin);
55
43
  }
56
44
 
57
- .Tiles--variant-gridlines .Tiles-grid::before,
58
- .Tiles--variant-gridlines .Tiles-grid::after {
59
- content: '';
60
- position: absolute;
61
- top: 0;
62
- bottom: 0;
63
- width: 0;
64
- border-left: var(--brand-borderWidth-thin) solid var(--tiles-grid-border-color);
65
- z-index: 1;
66
- pointer-events: none;
67
- }
68
-
69
- .Tiles--variant-gridlines .Tiles-grid::before {
70
- left: 0;
71
- }
72
-
73
- .Tiles--variant-gridlines .Tiles-grid::after {
74
- right: 0;
75
- }
76
-
77
- @media screen and (min-width: 63.25rem) {
78
- .Tiles--variant-gridlines.Tiles--layout-default .Tiles-grid:not(:has(> .Tiles-item:nth-child(6))),
79
- .Tiles--variant-gridlines.Tiles--layout-compact .Tiles-grid:not(:has(> .Tiles-item:nth-child(8))) {
80
- --tiles-grid-border-color: transparent;
81
- }
82
- }
83
-
84
45
  .Tiles-item {
85
46
  --tiles-inset-shadow: inset 0 0 0 transparent;
86
47
  position: relative;
87
48
  display: flex;
88
49
  flex-direction: column;
89
50
  width: calc(100% / var(--tiles-columns));
51
+ max-width: var(--brand-Tiles-item-maxSize);
52
+ max-height: var(--brand-Tiles-item-maxSize);
90
53
  box-sizing: border-box;
91
54
  background-color: var(--brand-tiles-bgColor-rest);
92
55
  border-top: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/brand-css",
3
- "version": "0.78.0-rc.bcc08c15",
3
+ "version": "0.78.0-rc.c01d8371",
4
4
  "description": "CSS stylesheets for Primer Brand components",
5
5
  "keywords": [
6
6
  "primer",