@primer/brand-css 0.77.1-rc.bd5b9efe → 0.78.0-rc.85e39cb4

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.
@@ -37,36 +37,40 @@
37
37
  background-color: var(--brand-color-canvas-default);
38
38
  }
39
39
 
40
- .ActionMenu__innerButton--split-button:first-child,
41
- .ActionMenu__innerButton--split-button:first-child:hover {
40
+ .ActionMenu__innerButton--split-button.ActionMenu__innerButton--split-button-primary,
41
+ .ActionMenu__innerButton--split-button.ActionMenu__innerButton--split-button-primary:hover {
42
42
  position: relative;
43
43
  z-index: 1;
44
44
  border-top-right-radius: 0;
45
45
  border-bottom-right-radius: 0;
46
46
  }
47
47
 
48
- .ActionMenu__innerButton--split-button:first-child::before,
49
- .ActionMenu__innerButton--split-button:hover:first-child::before {
48
+ .ActionMenu__innerButton--split-button.ActionMenu__innerButton--split-button-primary::before,
49
+ .ActionMenu__innerButton--split-button.ActionMenu__innerButton--split-button-primary:hover::before {
50
50
  content: '';
51
51
  position: absolute;
52
52
  top: calc(var(--base-size-2) / -2);
53
53
  right: calc(var(--base-size-2) * -1);
54
54
  width: var(--brand-borderWidth-thin);
55
55
  height: calc(100% + var(--base-size-2));
56
- background-color: var(--brand-color-border-muted);
56
+ background-color: var(--brand-ActionMenu-color-splitButton-divider-default);
57
57
  }
58
58
 
59
- .ActionMenu__innerButton--subtle.ActionMenu__innerButton--split-button::before {
59
+ .ActionMenu__innerButton--primary.ActionMenu__innerButton--split-button.ActionMenu__innerButton--split-button-primary::before {
60
+ background-color: var(--brand-ActionMenu-color-splitButton-divider-primary);
61
+ }
62
+
63
+ .ActionMenu__innerButton--subtle.ActionMenu__innerButton--split-button.ActionMenu__innerButton--split-button-primary::before {
60
64
  top: calc(var(--base-size-2) * -1);
61
65
  height: calc(100% + var(--base-size-4));
62
66
  }
63
67
 
64
- .ActionMenu__innerButton--subtle.ActionMenu__innerButton--split-button:active:first-child::before {
68
+ .ActionMenu__innerButton--subtle.ActionMenu__innerButton--split-button.ActionMenu__innerButton--split-button-primary:active::before {
65
69
  width: 0;
66
70
  }
67
71
 
68
72
  .ActionMenu__innerButton--medium.ActionMenu__innerButton--split-button,
69
- .ActionMenu__innerButton--split-button:last-child {
73
+ .ActionMenu__innerButton--split-button.ActionMenu__innerButton--split-button-menu {
70
74
  padding: var(--brand-control-medium-paddingBlock-condensed) var(--brand-control-medium-paddingInline-normal); /* Override the default button padding */
71
75
  }
72
76
 
@@ -74,7 +78,7 @@
74
78
  vertical-align: middle !important;
75
79
  }
76
80
 
77
- .ActionMenu__innerButton--split-button:last-child {
81
+ .ActionMenu__innerButton--split-button.ActionMenu__innerButton--split-button-menu {
78
82
  border-top-left-radius: 0;
79
83
  border-bottom-left-radius: 0;
80
84
  position: relative;
@@ -57,7 +57,7 @@
57
57
  .Button__icon-visual {
58
58
  display: flex;
59
59
  align-self: center;
60
- height: var(--base-size-16);
60
+ height: var(--brand-Button-icon-size-medium);
61
61
  width: auto;
62
62
  fill: currentcolor;
63
63
  }
@@ -85,11 +85,11 @@
85
85
  border-width: var(--brand-borderWidth-thin);
86
86
  }
87
87
 
88
- .Button--primary:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {
88
+ .Button--primary:where(:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true'])):hover {
89
89
  background-color: var(--brand-button-primary-bgColor-hover);
90
90
  }
91
91
 
92
- .Button--primary:not(.Button[disabled], .Button[aria-disabled='true']):active,
92
+ .Button--primary:where(:not(.Button[disabled], .Button[aria-disabled='true'])):active,
93
93
  .Button--primary[aria-expanded='true'] {
94
94
  background: var(--brand-button-primary-bgColor-active);
95
95
  border-color: var(--brand-button-primary-borderColor-active);
@@ -105,12 +105,8 @@
105
105
  background-color: var(--brand-button-primary-bgColor-disabled);
106
106
  }
107
107
 
108
- .Button--primary:disabled .Button-arrow--disabled,
109
- .Button--primary[aria-disabled='true'] .Button-arrow--disabled,
110
- .Button--primary.Button--disabled .Button-arrow--disabled,
111
- .Button--primary:disabled .Button__icon-visual--disabled,
112
- .Button--primary[aria-disabled='true'] .Button__icon-visual--disabled,
113
- .Button--primary.Button--disabled .Button__icon-visual--disabled,
108
+ .Button--primary:where(:disabled, [aria-disabled='true'], .Button--disabled)
109
+ :where(.Button-arrow--disabled, .Button__icon-visual--disabled),
114
110
  .Button--label-primary.Button-label--disabled {
115
111
  color: var(--brand-button-primary-fgColor-disabled);
116
112
  }
@@ -124,12 +120,12 @@
124
120
  backdrop-filter: blur(var(--base-size-20));
125
121
  }
126
122
 
127
- .Button--secondary:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {
123
+ .Button--secondary:where(:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true'])):hover {
128
124
  background-color: var(--brand-button-secondary-bgColor-hover);
129
125
  border-color: var(--brand-button-secondary-borderColor-hover);
130
126
  }
131
127
 
132
- .Button--secondary:not(.Button[disabled], .Button[aria-disabled='true']):active,
128
+ .Button--secondary:where(:not(.Button[disabled], .Button[aria-disabled='true'])):active,
133
129
  .Button--secondary[aria-expanded='true'] {
134
130
  background-color: var(--brand-button-secondary-bgColor-active);
135
131
  border-color: var(--brand-button-secondary-borderColor-active);
@@ -139,12 +135,8 @@
139
135
  border-color: var(--brand-button-secondary-fgColor-disabled);
140
136
  }
141
137
 
142
- .Button--secondary:disabled .Button-arrow--disabled,
143
- .Button--secondary[aria-disabled='true'] .Button-arrow--disabled,
144
- .Button--secondary.Button--disabled .Button-arrow--disabled,
145
- .Button--secondary:disabled .Button__icon-visual--disabled,
146
- .Button--secondary[aria-disabled='true'] .Button__icon-visual--disabled,
147
- .Button--secondary.Button--disabled .Button__icon-visual--disabled,
138
+ .Button--secondary:where(:disabled, [aria-disabled='true'], .Button--disabled)
139
+ :where(.Button-arrow--disabled, .Button__icon-visual--disabled),
148
140
  .Button--label-secondary.Button-label--disabled {
149
141
  color: var(--brand-button-secondary-fgColor-disabled);
150
142
  }
@@ -159,12 +151,12 @@
159
151
  backdrop-filter: blur(var(--base-size-20));
160
152
  }
161
153
 
162
- .Button--subtle:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {
154
+ .Button--subtle:where(:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true'])):hover {
163
155
  background-color: var(--brand-button-subtle-bgColor-hover);
164
156
  border-color: var(--brand-button-subtle-borderColor-hover);
165
157
  }
166
158
 
167
- .Button--subtle:not(.Button[disabled], .Button[aria-disabled='true']):active,
159
+ .Button--subtle:where(:not(.Button[disabled], .Button[aria-disabled='true'])):active,
168
160
  .Button--subtle[aria-expanded='true'] {
169
161
  background-color: var(--brand-button-subtle-bgColor-active);
170
162
  border-color: var(--brand-button-subtle-borderColor-active);
@@ -174,12 +166,8 @@
174
166
  color: var(--brand-button-subtle-fgColor-rest);
175
167
  }
176
168
 
177
- .Button--subtle:disabled .Button-arrow--disabled,
178
- .Button--subtle[aria-disabled='true'] .Button-arrow--disabled,
179
- .Button--subtle.Button--disabled .Button-arrow--disabled,
180
- .Button--subtle:disabled .Button__icon-visual--disabled,
181
- .Button--subtle[aria-disabled='true'] .Button__icon-visual--disabled,
182
- .Button--subtle.Button--disabled .Button__icon-visual--disabled,
169
+ .Button--subtle:where(:disabled, [aria-disabled='true'], .Button--disabled)
170
+ :where(.Button-arrow--disabled, .Button__icon-visual--disabled),
183
171
  .Button--label-subtle.Button-label--disabled {
184
172
  color: var(--brand-button-subtle-fgColor-disabled);
185
173
  }
@@ -187,24 +175,32 @@
187
175
  /* size */
188
176
 
189
177
  .Button--size-small {
190
- min-height: var(--brand-control-small-size);
178
+ min-height: var(--brand-Button-control-size-small);
191
179
  padding-inline: var(--brand-control-small-paddingInline-normal);
192
180
  }
193
181
 
194
182
  .Button--size-medium {
195
- min-height: var(--brand-control-medium-size);
183
+ min-height: var(--brand-Button-control-size-medium);
196
184
  padding: var(--brand-control-medium-paddingBlock-condensed) var(--base-size-20);
197
185
  }
198
186
 
199
187
  .Button--size-large {
200
- min-height: var(--brand-control-large-size);
188
+ min-height: var(--brand-Button-control-size-large);
201
189
  padding: var(--brand-control-large-paddingBlock-condensed) var(--brand-control-large-paddingInline-spacious);
202
190
  }
203
191
 
204
- .Button--size-large .Button__icon-visual,
205
- .Button--size-large .Button-arrow {
206
- height: var(--base-size-20);
207
- width: var(--base-size-20);
192
+ /* Keep visual sizing overridable by composed controls such as IconButton. */
193
+ .Button--size-small :where(.Button__icon-visual) {
194
+ height: var(--brand-Button-icon-size-small);
195
+ }
196
+
197
+ .Button--size-medium :where(.Button__icon-visual) {
198
+ height: var(--brand-Button-icon-size-medium);
199
+ }
200
+
201
+ .Button--size-large :where(.Button__icon-visual, .Button-arrow) {
202
+ height: var(--brand-Button-icon-size-large);
203
+ width: var(--brand-Button-icon-size-large);
208
204
  }
209
205
 
210
206
  .Button--label-medium {
@@ -8,3 +8,36 @@
8
8
  .ButtonGroup > * {
9
9
  flex-grow: 1;
10
10
  }
11
+
12
+ .ButtonGroup--variant-joined {
13
+ gap: 0;
14
+ flex-wrap: nowrap;
15
+ }
16
+
17
+ .ButtonGroup--variant-joined .ButtonGroup__item {
18
+ position: relative;
19
+ display: flex;
20
+ flex-grow: 0;
21
+ }
22
+
23
+ .ButtonGroup--variant-joined .ButtonGroup__item:not(:first-child) {
24
+ margin-inline-start: calc(var(--brand-borderWidth-thin) * -1);
25
+ }
26
+
27
+ .ButtonGroup--variant-joined .ButtonGroup__item:focus-within {
28
+ z-index: 1;
29
+ }
30
+
31
+ .ButtonGroup__joinedButton.ButtonGroup__joinedButton {
32
+ border-radius: 0;
33
+ }
34
+
35
+ .ButtonGroup__item:first-child .ButtonGroup__joinedButton {
36
+ border-start-start-radius: var(--brand-borderRadius-medium);
37
+ border-end-start-radius: var(--brand-borderRadius-medium);
38
+ }
39
+
40
+ .ButtonGroup__item:last-child .ButtonGroup__joinedButton {
41
+ border-start-end-radius: var(--brand-borderRadius-medium);
42
+ border-end-end-radius: var(--brand-borderRadius-medium);
43
+ }
@@ -0,0 +1,142 @@
1
+ .IconButton {
2
+ flex: none;
3
+ gap: 0;
4
+ padding: 0;
5
+ }
6
+
7
+ .IconButton.IconButton {
8
+ min-width: var(--brand-IconButton-control-size-medium);
9
+ width: var(--brand-IconButton-control-size-medium);
10
+ height: var(--brand-IconButton-control-size-medium);
11
+ }
12
+
13
+ .IconButton--small.IconButton--small {
14
+ min-width: var(--brand-IconButton-control-size-small);
15
+ width: var(--brand-IconButton-control-size-small);
16
+ height: var(--brand-IconButton-control-size-small);
17
+ }
18
+
19
+ .IconButton--large.IconButton--large {
20
+ min-width: var(--brand-IconButton-control-size-large);
21
+ width: var(--brand-IconButton-control-size-large);
22
+ height: var(--brand-IconButton-control-size-large);
23
+ }
24
+
25
+ .IconButton--rounded.IconButton--rounded {
26
+ border-radius: var(--brand-borderRadius-full);
27
+ }
28
+
29
+ .IconButton--variant-danger.IconButton--variant-danger:not([disabled], [aria-disabled='true']) {
30
+ color: var(--brand-IconButton-danger-fgColor-rest);
31
+ background-color: var(--brand-IconButton-danger-bgColor-rest);
32
+ border-color: var(--brand-IconButton-danger-borderColor-rest);
33
+ }
34
+
35
+ .IconButton--variant-danger.IconButton--variant-danger:not(
36
+ [disabled],
37
+ [aria-disabled='true'],
38
+ [aria-expanded='true']
39
+ ):hover {
40
+ color: var(--brand-IconButton-danger-fgColor-hover);
41
+ background-color: var(--brand-IconButton-danger-bgColor-hover);
42
+ border-color: var(--brand-IconButton-danger-borderColor-hover);
43
+ }
44
+
45
+ .IconButton--variant-danger.IconButton--variant-danger:not([disabled], [aria-disabled='true']):active,
46
+ .IconButton--variant-danger.IconButton--variant-danger:not([disabled], [aria-disabled='true'])[aria-expanded='true'] {
47
+ color: var(--brand-IconButton-danger-fgColor-active);
48
+ background-color: var(--brand-IconButton-danger-bgColor-active);
49
+ border-color: var(--brand-IconButton-danger-borderColor-active);
50
+ }
51
+
52
+ .IconButton--variant-invisible.IconButton--variant-invisible:where(:not(:hover, :active, [aria-expanded='true'])) {
53
+ background-color: var(--brand-IconButton-invisible-bgColor-rest);
54
+ border-color: var(--brand-IconButton-invisible-borderColor-rest);
55
+ backdrop-filter: none;
56
+ }
57
+
58
+ .IconButton--inactive.IconButton--inactive,
59
+ .IconButton--inactive.IconButton--inactive:hover,
60
+ .IconButton--inactive.IconButton--inactive:active {
61
+ color: var(--brand-IconButton-inactive-fgColor);
62
+ cursor: auto;
63
+ background-color: var(--brand-IconButton-inactive-bgColor);
64
+ border-color: var(--brand-IconButton-inactive-borderColor);
65
+ backdrop-filter: none;
66
+ }
67
+
68
+ .IconButton--inactive .IconButton__icon {
69
+ color: inherit;
70
+ }
71
+
72
+ .IconButton--small .IconButton__icon {
73
+ width: var(--brand-IconButton-icon-size-small);
74
+ height: var(--brand-IconButton-icon-size-small);
75
+ }
76
+
77
+ .IconButton--medium .IconButton__icon {
78
+ width: var(--brand-IconButton-icon-size-medium);
79
+ height: var(--brand-IconButton-icon-size-medium);
80
+ }
81
+
82
+ .IconButton--large .IconButton__icon {
83
+ width: var(--brand-IconButton-icon-size-large);
84
+ height: var(--brand-IconButton-icon-size-large);
85
+ }
86
+
87
+ .IconButton__loadingIndicator.IconButton__loadingIndicator {
88
+ display: block;
89
+ box-sizing: border-box;
90
+ width: var(--brand-IconButton-icon-size-medium);
91
+ height: var(--brand-IconButton-icon-size-medium);
92
+ border: var(--brand-borderWidth-thin) solid currentcolor;
93
+ border-inline-end-color: transparent;
94
+ border-radius: 50%;
95
+ animation: IconButton-spin var(--brand-IconButton-loadingIndicator-animationDuration-default) linear infinite;
96
+ }
97
+
98
+ .IconButton--small .IconButton__loadingIndicator {
99
+ width: var(--brand-IconButton-icon-size-small);
100
+ height: var(--brand-IconButton-icon-size-small);
101
+ }
102
+
103
+ .IconButton--large .IconButton__loadingIndicator {
104
+ width: var(--brand-IconButton-icon-size-large);
105
+ height: var(--brand-IconButton-icon-size-large);
106
+ }
107
+
108
+ .IconButton__loadingAnnouncement {
109
+ position: absolute;
110
+ width: var(--base-size-1);
111
+ height: var(--base-size-1);
112
+ padding: 0;
113
+ margin: calc(var(--base-size-1) * -1);
114
+ overflow: hidden;
115
+ clip: rect(0, 0, 0, 0);
116
+ white-space: nowrap;
117
+ border: 0;
118
+ }
119
+
120
+ @keyframes IconButton-spin {
121
+ to {
122
+ transform: rotate(360deg);
123
+ }
124
+ }
125
+
126
+ @media (forced-colors: active) {
127
+ .IconButton--inactive {
128
+ color: GrayText;
129
+ border-color: GrayText;
130
+ }
131
+
132
+ .IconButton__loadingIndicator {
133
+ border-color: ButtonText;
134
+ border-inline-end-color: transparent;
135
+ }
136
+ }
137
+
138
+ @media (prefers-reduced-motion: reduce) {
139
+ .IconButton__loadingIndicator {
140
+ animation-duration: var(--brand-IconButton-loadingIndicator-animationDuration-reducedMotion);
141
+ }
142
+ }
@@ -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
  }
@@ -12,10 +12,11 @@
12
12
  .SubdomainNavBar::after {
13
13
  content: '';
14
14
  position: absolute;
15
+ z-index: 3;
15
16
  inset-inline: 0;
16
17
  inset-block-start: 100%;
17
18
  height: var(--brand-borderWidth-thin);
18
- background-color: var(--brand-color-text-emphasized);
19
+ background-color: var(--brand-SubdomainNavBar-border-nav-default);
19
20
  pointer-events: none;
20
21
  }
21
22
 
@@ -124,7 +125,7 @@
124
125
  .SubdomainNavBar-title {
125
126
  line-height: var(--base-size-32);
126
127
  text-decoration: none;
127
- padding-right: var(--base-size-16);
128
+ padding-inline-end: var(--base-size-16);
128
129
  white-space: nowrap;
129
130
  }
130
131
 
@@ -234,6 +235,7 @@
234
235
  background-color: var(--brand-color-canvas-default);
235
236
  width: 100%;
236
237
  max-height: calc(100vh - var(--SubdomainNavBar-height) - var(--SubdomainNavBar-menu-offset-block-start, 0px));
238
+ border-block-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
237
239
  animation: fade-in-down 500ms;
238
240
  animation-timing-function: var(--brand-animation-easing-default);
239
241
  }
@@ -320,9 +322,6 @@
320
322
  color: var(--brand-color-text-default);
321
323
  font-family: var(--brand-heading-fontFamily);
322
324
  font-weight: var(--base-text-weight-normal);
323
- font-size: var(--base-size-20);
324
- line-height: var(--base-size-20);
325
- padding: var(--base-size-8) var(--base-size-16) var(--base-size-16) var(--base-size-28);
326
325
  text-decoration: none;
327
326
  }
328
327
 
@@ -341,85 +340,42 @@
341
340
  }
342
341
 
343
342
  @media screen and (max-width: 767px) {
344
- .SubdomainNavBar-link:first-of-type {
345
- padding-top: var(--base-size-24);
346
- }
347
-
348
343
  .SubdomainNavBar-link--title {
349
344
  font-weight: var(--base-text-weight-medium);
350
345
  }
351
346
  }
352
347
 
353
348
  @media screen and (min-width: 48rem) {
354
- .SubdomainNavBar-link {
355
- font-family: var(--brand-heading-fontFamily);
356
- font-weight: var(--base-text-weight-normal);
357
- font-size: var(--base-size-16);
358
- line-height: var(--base-size-16);
359
- padding: var(--base-size-16) var(--base-size-16);
360
- }
361
-
362
- .SubdomainNavBar-link-text::after {
363
- content: '';
364
- position: absolute;
365
- bottom: -6px;
366
- left: 0;
349
+ .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link {
367
350
  width: 100%;
368
- height: 2px;
369
- background-color: var(--brand-SubdomainNavBar-border-nav-default);
370
- opacity: 0;
371
- transition: opacity var(--brand-animation-duration-fast), transform var(--brand-animation-duration-fast);
372
- transform: scale(0);
373
- transform-origin: center;
374
- }
375
-
376
- .SubdomainNavBar-link:hover .SubdomainNavBar-link-text::after,
377
- .SubdomainNavBar-link:focus .SubdomainNavBar-link-text::after {
378
- opacity: 1;
379
- transform: scale(0.75);
380
- }
381
-
382
- .SubdomainNavBar-link:active .SubdomainNavBar-link-text::after {
383
- background-color: var(--brand-SubdomainNavBar-border-nav-pressed);
384
- transform: scale(0.75);
385
- }
386
-
387
- .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);
388
358
  transition: background-color var(--brand-animation-easing-default) 250ms;
389
- background-color: var(--brand-SubdomainNavBar-canvas-overflow-default);
390
- color: var(--brand-SubdomainNavBar-fg-overflow-default);
391
359
  }
392
360
 
393
- .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link .SubdomainNavBar-link-text::after {
394
- display: none;
395
- }
396
-
397
- .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:hover {
398
- 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);
399
366
  }
400
367
 
401
- .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus,
402
- .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus-visible {
403
- 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);
404
371
  outline: none;
405
372
  }
406
373
  }
407
374
 
408
- @media screen and (min-width: 63.25rem) {
409
- .SubdomainNavBar-link {
410
- padding: var(--base-size-16) var(--base-size-24);
411
- }
412
- }
413
-
414
375
  .SubdomainNavBar-more-link {
415
376
  display: none;
416
377
  }
417
378
 
418
- .SubdomainNavBar-more-link[aria-expanded='true']:hover::after,
419
- .SubdomainNavBar-more-link[aria-expanded='true']:focus::after {
420
- display: none;
421
- }
422
-
423
379
  @media screen and (min-width: 48rem) {
424
380
  .SubdomainNavBar-more-link {
425
381
  cursor: pointer;
@@ -434,25 +390,30 @@
434
390
  }
435
391
  }
436
392
 
437
- .SubdomainNavBar-overflow-menu {
393
+ .SubdomainNavBar .SubdomainNavBar-overflow-menu {
438
394
  position: absolute;
439
395
  z-index: 100;
440
396
  right: auto;
441
397
  background-color: var(--brand-color-canvas-default);
442
- border-radius: var(--brand-borderRadius-large);
443
- 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);
444
404
  animation-timing-function: var(--brand-animation-easing-default);
445
- 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)));
446
407
  overflow: hidden;
447
408
  }
448
409
 
449
- .SubdomainNavBar-overflow-menu-list {
410
+ .SubdomainNavBar .SubdomainNavBar-overflow-menu-list {
450
411
  display: grid;
412
+ gap: var(--brand-borderWidth-thin);
451
413
  list-style-type: none;
452
- padding: 0;
414
+ padding: var(--base-size-8);
453
415
  margin: 0;
454
- width: -moz-max-content;
455
- width: max-content;
416
+ width: 100%;
456
417
  }
457
418
 
458
419
  /*
@@ -810,7 +771,9 @@
810
771
 
811
772
  .SubdomainNavBar--variant-default .SubdomainNavBar-menu-wrapper {
812
773
  inset-inline-start: auto;
813
- min-width: calc(var(--base-size-128) * 3);
774
+ inset-inline-end: 0;
775
+ width: max(100%, calc(var(--base-size-128) * 3));
776
+ min-width: 0;
814
777
  }
815
778
 
816
779
  .SubdomainNavBar-menu-wrapper--close {
@@ -1183,6 +1146,18 @@
1183
1146
  border-inline-end: 0;
1184
1147
  }
1185
1148
 
1149
+ .SubdomainNavBar--variant-default.SubdomainNavBar--has-title .SubdomainNavBar-title-area > li:first-child {
1150
+ padding-inline-end: 0;
1151
+ }
1152
+
1153
+ .SubdomainNavBar--variant-default.SubdomainNavBar--has-title .SubdomainNavBar-title-area > li:first-child::after {
1154
+ margin-inline-end: 0;
1155
+ }
1156
+
1157
+ .SubdomainNavBar--variant-default.SubdomainNavBar--has-title .SubdomainNavBar-title-item {
1158
+ padding-inline: var(--base-size-24);
1159
+ }
1160
+
1186
1161
  .SubdomainNavBar .SubdomainNavBar-logo-mark {
1187
1162
  justify-content: center;
1188
1163
  }
@@ -1300,47 +1275,6 @@
1300
1275
  outline-offset: var(--base-size-2);
1301
1276
  }
1302
1277
 
1303
- .SubdomainNavBar .SubdomainNavBar-link-text::after {
1304
- display: none;
1305
- }
1306
-
1307
- .SubdomainNavBar .SubdomainNavBar-overflow-menu {
1308
- animation: fade-in-down-overflow var(--brand-animation-duration-faster);
1309
- animation-timing-function: var(--brand-animation-easing-default);
1310
- border: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
1311
- border-start-start-radius: 0;
1312
- border-start-end-radius: 0;
1313
- border-end-start-radius: var(--brand-borderRadius-medium);
1314
- border-end-end-radius: var(--brand-borderRadius-medium);
1315
- box-shadow: none;
1316
- min-width: calc(var(--base-size-128) + var(--base-size-32));
1317
- transform: translateY(calc(0px - var(--base-size-4)));
1318
- }
1319
-
1320
- .SubdomainNavBar .SubdomainNavBar-overflow-menu-list {
1321
- gap: var(--brand-borderWidth-thin);
1322
- padding: var(--base-size-8);
1323
- width: 100%;
1324
- }
1325
-
1326
- .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link {
1327
- width: 100%;
1328
- min-height: var(--base-size-40);
1329
- padding: var(--base-size-8) var(--base-size-12);
1330
- color: var(--brand-color-text-muted);
1331
- background-color: var(--brand-color-canvas-default);
1332
- border-radius: var(--brand-borderRadius-medium);
1333
- font-size: var(--brand-text-size-100);
1334
- line-height: var(--brand-text-lineHeight-200);
1335
- }
1336
-
1337
- .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:hover,
1338
- .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus,
1339
- .SubdomainNavBar .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus-visible {
1340
- color: var(--brand-color-text-default);
1341
- background-color: var(--brand-color-canvas-subtle);
1342
- }
1343
-
1344
1278
  @media (prefers-reduced-motion: no-preference) {
1345
1279
  .SubdomainNavBar
1346
1280
  .SubdomainNavBar-primary-nav-list-item:not(.SubdomainNavBar-overflow-menu-item)
@@ -1466,6 +1400,7 @@
1466
1400
  width: 100%;
1467
1401
  block-size: 100%;
1468
1402
  padding-inline: var(--base-size-16);
1403
+ border-radius: 0;
1469
1404
  }
1470
1405
  }
1471
1406
 
@@ -1832,17 +1767,6 @@
1832
1767
  }
1833
1768
  }
1834
1769
 
1835
- @keyframes enlarge-shadow {
1836
- 0% {
1837
- scale: 0.98;
1838
- box-shadow: 0px 8px 0 rgba(1, 4, 9, 0.15);
1839
- }
1840
- 100% {
1841
- scale: 1;
1842
- box-shadow: 0px 8px 24px rgba(1, 4, 9, 0.15);
1843
- }
1844
- }
1845
-
1846
1770
  @keyframes fade-in-down-staggered {
1847
1771
  0% {
1848
1772
  opacity: 0;
@@ -65,7 +65,9 @@
65
65
  }
66
66
 
67
67
  /* Directional styles */
68
- .Tooltip[data-direction='n'] {
68
+ .Tooltip[data-direction='n'],
69
+ .Tooltip[data-direction='ne'],
70
+ .Tooltip[data-direction='nw'] {
69
71
  -o-border-image: conic-gradient(var(--c) 0 0) 0 / var(--r) calc(100% - var(--p) - var(--b) / 2) 0
70
72
  calc(var(--p) - var(--b) / 2) / 0 0 var(--h) 0;
71
73
  border-image: conic-gradient(var(--c) 0 0) fill 0 / var(--r) calc(100% - var(--p) - var(--b) / 2) 0
@@ -81,7 +83,9 @@
81
83
  );
82
84
  }
83
85
 
84
- .Tooltip[data-direction='s'] {
86
+ .Tooltip[data-direction='s'],
87
+ .Tooltip[data-direction='se'],
88
+ .Tooltip[data-direction='sw'] {
85
89
  -o-border-image: conic-gradient(var(--c) 0 0) 0/ 0 calc(100% - var(--p) - var(--b) / 2) var(--r) calc(
86
90
  var(--p) - var(--b) / 2
87
91
  ) / var(--h) 0 0 0;
@@ -131,11 +135,25 @@
131
135
  );
132
136
  }
133
137
 
134
- .Tooltip[data-direction='n']::after {
138
+ .Tooltip[data-direction='ne'],
139
+ .Tooltip[data-direction='se'] {
140
+ --p: 25%;
141
+ }
142
+
143
+ .Tooltip[data-direction='nw'],
144
+ .Tooltip[data-direction='sw'] {
145
+ --p: 75%;
146
+ }
147
+
148
+ .Tooltip[data-direction='n']::after,
149
+ .Tooltip[data-direction='ne']::after,
150
+ .Tooltip[data-direction='nw']::after {
135
151
  top: 100%;
136
152
  }
137
153
 
138
- .Tooltip[data-direction='s']::after {
154
+ .Tooltip[data-direction='s']::after,
155
+ .Tooltip[data-direction='se']::after,
156
+ .Tooltip[data-direction='sw']::after {
139
157
  bottom: 100%;
140
158
  }
141
159
 
@@ -38,6 +38,16 @@
38
38
  * Sizes
39
39
  */
40
40
 
41
+ .TextInput-wrapper--small {
42
+ height: var(--brand-control-small-size);
43
+ }
44
+
45
+ .TextInput--small {
46
+ font-weight: var(--brand-text-weight-100);
47
+ font-size: var(--brand-text-size-100);
48
+ padding: var(--brand-control-small-paddingBlock) var(--brand-control-small-paddingInline-condensed);
49
+ }
50
+
41
51
  .TextInput-wrapper--medium {
42
52
  height: var(--brand-control-medium-size);
43
53
  }
@@ -131,6 +141,12 @@
131
141
  /*
132
142
  * TextInput visuals
133
143
  */
144
+ .TextInput--has-leading-visual--small {
145
+ padding-inline-start: calc(
146
+ var(--brand-control-small-paddingInline-condensed) + var(--base-size-16) + var(--brand-control-small-gap)
147
+ );
148
+ }
149
+
134
150
  .TextInput--has-leading-visual--medium {
135
151
  padding-inline-start: calc(
136
152
  var(--brand-control-medium-paddingInline-condensed) + var(--base-size-16) + var(--brand-control-medium-gap)
@@ -143,6 +159,12 @@
143
159
  );
144
160
  }
145
161
 
162
+ .TextInput--has-trailing-visual--small {
163
+ padding-inline-end: calc(
164
+ var(--brand-control-small-paddingInline-condensed) + var(--base-size-16) + var(--brand-control-small-gap)
165
+ );
166
+ }
167
+
146
168
  .TextInput--has-trailing-visual--medium {
147
169
  padding-inline-end: calc(
148
170
  var(--brand-control-medium-paddingInline-condensed) + var(--base-size-16) + var(--brand-control-medium-gap)
@@ -177,6 +199,14 @@
177
199
  right: var(--brand-control-medium-paddingInline-condensed);
178
200
  }
179
201
 
202
+ .TextInput-leading-visual--small {
203
+ left: var(--brand-control-small-paddingInline-condensed);
204
+ }
205
+
206
+ .TextInput-trailing-visual--small {
207
+ right: var(--brand-control-small-paddingInline-condensed);
208
+ }
209
+
180
210
  .TextInput-leading-visual--large {
181
211
  left: var(--brand-control-large-paddingInline-condensed);
182
212
  }
@@ -190,6 +220,11 @@
190
220
  height: var(--base-size-16);
191
221
  }
192
222
 
223
+ .TextInput-leading-visual-icon--small {
224
+ width: var(--base-size-16);
225
+ height: var(--base-size-16);
226
+ }
227
+
193
228
  .TextInput-leading-visual-icon--large {
194
229
  width: var(--base-size-20);
195
230
  height: var(--base-size-20);
@@ -237,6 +272,11 @@
237
272
  padding-inline: var(--brand-control-medium-paddingInline-condensed);
238
273
  }
239
274
 
275
+ .TextInput-leading-text-inner--small,
276
+ .TextInput-trailing-text-inner--small {
277
+ padding-inline: var(--brand-control-small-paddingInline-condensed);
278
+ }
279
+
240
280
  .TextInput-leading-text-inner--large,
241
281
  .TextInput-trailing-text-inner--large {
242
282
  padding-inline: var(--brand-control-large-paddingInline-condensed);
@@ -80,6 +80,21 @@
80
80
  padding-block-end: 0;
81
81
  }
82
82
 
83
+ .RiverBreakoutTabs--has-background-visual .RiverBreakoutTabs__sharedVisual:has(> [data-video-player-container]) {
84
+ border-radius: 0;
85
+ }
86
+
87
+ .RiverBreakoutTabs--has-background-visual .RiverBreakoutTabs__visual--rounded > [data-video-player-container] {
88
+ overflow: hidden;
89
+ border-radius: var(--brand-borderRadius-medium);
90
+ }
91
+
92
+ .RiverBreakoutTabs--has-background-visual.RiverBreakoutTabs--image-position-block-end
93
+ .RiverBreakoutTabs__visual--rounded
94
+ > [data-video-player-container] {
95
+ border-radius: var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0;
96
+ }
97
+
83
98
  /* for backgroundVisualFullBleed — extend the backdrop to the gridline edges */
84
99
  .RiverBreakoutTabs--background-visual-full-bleed .RiverBreakoutTabs__sharedVisuals {
85
100
  overflow: visible;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/brand-css",
3
- "version": "0.77.1-rc.bd5b9efe",
3
+ "version": "0.78.0-rc.85e39cb4",
4
4
  "description": "CSS stylesheets for Primer Brand components",
5
5
  "keywords": [
6
6
  "primer",