@primer/brand-css 0.64.1-rc.83bbe583 → 0.65.0-rc.0895cfab

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.
@@ -8,13 +8,67 @@
8
8
  }
9
9
 
10
10
  .Accordion--emphasis:not(.Accordion .Accordion) > .Accordion__summary {
11
- border-bottom: var(--brand-borderWidth-thicker) solid var(--brand-Accordion-border-color-emphasis);
11
+ background-color: var(--brand-color-canvas-subtle);
12
+ border-block: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
13
+ padding-block: var(--base-size-20);
14
+ padding-inline: var(--base-size-20);
15
+ gap: 0;
16
+ justify-content: flex-start;
17
+ align-items: center;
18
+ }
19
+
20
+ .Accordion__summary--emphasis::before {
21
+ content: '';
22
+ display: block;
23
+ width: calc(var(--base-size-8) - 1px);
24
+ height: var(--base-size-12);
25
+ flex-shrink: 0;
26
+ margin-inline-end: var(--base-size-12);
27
+ background-color: var(--brand-Accordion-indicator-idle);
28
+ }
29
+
30
+ .Accordion__summary--emphasis:hover::before {
31
+ background-color: var(--brand-Accordion-indicator-hover);
32
+ }
33
+
34
+ details[open] > .Accordion__summary--emphasis::before {
35
+ background-color: var(--brand-Accordion-indicator-active);
36
+ }
37
+
38
+ .Accordion__summary--emphasis :is(h3, h4, h5, h6) {
39
+ font-family: var(--brand-fontStack-monospace);
40
+ font-size: var(--brand-text-size-100);
41
+ font-weight: var(--brand-text-weight-500);
42
+ line-height: var(--brand-text-lineHeight-100);
43
+ letter-spacing: 0.15px;
44
+ text-transform: uppercase;
45
+ }
46
+
47
+ .Accordion--emphasis:not(.Accordion .Accordion)
48
+ + .Accordion--emphasis:not(.Accordion .Accordion)
49
+ > .Accordion__summary {
50
+ border-block-start: none;
51
+ }
52
+
53
+ .Accordion--emphasis:not(.Accordion .Accordion) > .Accordion__content {
54
+ border-block-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
55
+ padding-block-start: var(--base-size-12);
56
+ padding-block-end: var(--base-size-12);
57
+ padding-inline: var(--base-size-20);
58
+ }
59
+
60
+ .Accordion--emphasis .Accordion--default:last-child {
61
+ border-bottom: none;
62
+ }
63
+
64
+ .Accordion--emphasis .Accordion--default:last-child::after {
65
+ display: none;
12
66
  }
13
67
 
14
68
  .Accordion--default::after {
15
69
  content: '';
16
- border: 3px solid var(--brand-Accordion-border-color-default);
17
- height: 0;
70
+ background-color: var(--brand-Accordion-border-color-default);
71
+ height: var(--brand-borderWidth-thin);
18
72
  transition: var(--brand-animation-duration-fast) transform;
19
73
  transform: scaleY(0);
20
74
  transform-origin: 50% 100%;
@@ -24,8 +78,10 @@
24
78
  left: 0;
25
79
  }
26
80
 
27
- .Accordion--default:hover::after {
28
- transform: scaleY(0.35);
81
+ .Accordion--default:hover::after,
82
+ details[open].Accordion--default::after {
83
+ background-color: var(--brand-color-accent-primary);
84
+ transform: scaleY(1);
29
85
  }
30
86
 
31
87
  .Accordion__summary {
@@ -48,20 +104,27 @@
48
104
  outline: var(--brand-borderWidth-thick) solid var(--brand-color-focus);
49
105
  }
50
106
 
107
+ /* When open, move focus ring to the details element to wrap summary + content as one unit */
108
+ details[open].Accordion:has(> summary:focus-visible) {
109
+ outline: var(--brand-borderWidth-thick) solid var(--brand-color-focus);
110
+ outline-offset: var(--base-size-2);
111
+ }
112
+
113
+ details[open].Accordion > .Accordion__summary:focus-visible {
114
+ outline: none;
115
+ }
116
+
51
117
  .Accordion__summary--collapsed,
52
118
  .Accordion__summary--expanded {
53
- font-family: var(--brand-fontStack-sansSerif);
54
- font-weight: 500;
55
119
  cursor: pointer;
56
- font-size: 32px;
57
- line-height: 24px;
58
- text-align: center;
59
- height: 24px;
60
- width: 24px;
61
- -webkit-text-fill-color: transparent;
62
- -webkit-box-decoration-break: clone;
63
- box-decoration-break: clone;
120
+ display: flex;
121
+ align-items: center;
122
+ justify-content: center;
123
+ height: var(--base-size-24);
124
+ width: var(--base-size-24);
125
+ color: var(--brand-color-text-default);
64
126
  position: absolute;
127
+ transition: opacity var(--brand-animation-duration-faster) ease;
65
128
  }
66
129
 
67
130
  .Accordion__summary:not(.Accordion__summary--reversed-toggles) .Accordion__summary--collapsed,
@@ -69,134 +132,110 @@
69
132
  right: 0;
70
133
  }
71
134
 
135
+ .Accordion__summary--emphasis .Accordion__summary--collapsed,
136
+ .Accordion__summary--emphasis .Accordion__summary--expanded {
137
+ position: static;
138
+ order: 1;
139
+ }
140
+
141
+ .Accordion__summary--emphasis .Accordion__summary--collapsed {
142
+ margin-inline-start: auto;
143
+ }
144
+
145
+ .Accordion__summary--emphasis .Accordion__summary--expanded {
146
+ margin-inline-start: calc(-1 * var(--base-size-24));
147
+ }
148
+
72
149
  .Accordion__summary--reversed-toggles .Accordion__summary--collapsed,
73
150
  .Accordion__summary--reversed-toggles .Accordion__summary--expanded {
74
151
  left: 0;
75
152
  }
76
153
 
77
- .Accordion__summary--default .Accordion__summary--collapsed::before,
78
- .Accordion__summary--default .Accordion__summary--expanded::after {
79
- transition: transform var(--brand-animation-duration-fast) ease, opacity var(--brand-animation-duration-faster) ease;
80
- display: block;
81
- background: linear-gradient(
82
- -70deg,
83
- var(--brand-Accordion-toggle-color-start) 0%,
84
- var(--brand-Accordion-toggle-color-end) 100%
85
- );
86
- -webkit-background-clip: text;
87
- background-clip: text;
154
+ .Accordion__summary--default .Accordion__summary--collapsed,
155
+ .Accordion__summary--default .Accordion__summary--expanded {
156
+ color: var(--brand-Accordion-toggle-color-start, var(--brand-color-text-default));
88
157
  }
89
158
 
90
159
  .Accordion__summary--toggleColor-default {
91
160
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-default);
92
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-default);
93
161
  }
94
162
 
95
163
  .Accordion__summary--toggleColor-blue {
96
164
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-blue);
97
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-blue);
98
165
  }
99
166
 
100
167
  .Accordion__summary--toggleColor-blue-purple {
101
168
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-blue-purple-start);
102
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-blue-purple-end);
103
169
  }
104
170
 
105
171
  .Accordion__summary--toggleColor-coral {
106
172
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-coral);
107
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-coral);
108
173
  }
109
174
 
110
175
  .Accordion__summary--toggleColor-green {
111
176
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-green);
112
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-green);
113
177
  }
114
178
 
115
179
  .Accordion__summary--toggleColor-green-blue {
116
180
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-green-blue-start);
117
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-green-blue-end);
118
181
  }
119
182
 
120
183
  .Accordion__summary--toggleColor-gray {
121
184
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-gray);
122
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-gray);
123
185
  }
124
186
 
125
187
  .Accordion__summary--toggleColor-indigo {
126
188
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-indigo);
127
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-indigo);
128
189
  }
129
190
 
130
191
  .Accordion__summary--toggleColor-lemon {
131
192
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-lemon);
132
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-lemon);
133
193
  }
134
194
 
135
195
  .Accordion__summary--toggleColor-lime {
136
196
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-lime);
137
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-lime);
138
197
  }
139
198
 
140
199
  .Accordion__summary--toggleColor-orange {
141
200
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-orange);
142
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-orange);
143
201
  }
144
202
 
145
203
  .Accordion__summary--toggleColor-pink {
146
204
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-pink);
147
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-pink);
148
205
  }
149
206
 
150
207
  .Accordion__summary--toggleColor-pink-blue {
151
208
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-pink-blue-start);
152
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-pink-blue-end);
153
209
  }
154
210
 
155
211
  .Accordion__summary--toggleColor-purple {
156
212
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-purple);
157
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-purple);
158
213
  }
159
214
 
160
215
  .Accordion__summary--toggleColor-purple-red {
161
216
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-purple-red-start);
162
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-purple-red-end);
163
217
  }
164
218
 
165
219
  .Accordion__summary--toggleColor-red {
166
220
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-red);
167
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-red);
168
221
  }
169
222
 
170
223
  .Accordion__summary--toggleColor-red-orange {
171
224
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-red-orange-start);
172
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-red-orange-end);
173
225
  }
174
226
 
175
227
  .Accordion__summary--toggleColor-teal {
176
228
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-teal);
177
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-teal);
178
229
  }
179
230
 
180
231
  .Accordion__summary--toggleColor-yellow {
181
232
  --brand-Accordion-toggle-color-start: var(--brand-Accordion-toggle-color-yellow);
182
- --brand-Accordion-toggle-color-end: var(--brand-Accordion-toggle-color-yellow);
183
233
  }
184
234
 
185
- .Accordion__summary--default .Accordion__summary--collapsed::before {
186
- font-weight: var(--base-text-weight-medium);
187
- content: '–';
235
+ .Accordion__summary.Accordion__summary--default .Accordion__summary--expanded {
188
236
  opacity: 0;
189
237
  }
190
238
 
191
- .Accordion__summary--default .Accordion__summary--expanded::after {
192
- content: '+';
193
- }
194
-
195
- .Accordion__summary.Accordion__summary--emphasis .Accordion__summary--collapsed,
196
- .Accordion__summary.Accordion__summary--emphasis .Accordion__summary--expanded {
197
- transform: translate(0, -2px);
198
- }
199
-
200
239
  .Accordion__summary.Accordion__summary--emphasis .Accordion__summary--expanded {
201
240
  opacity: 0;
202
241
  }
@@ -209,17 +248,15 @@ details[open] .Accordion__summary.Accordion__summary--emphasis .Accordion__summa
209
248
  opacity: 0;
210
249
  }
211
250
 
212
- details[open] > .Accordion__summary.Accordion__summary--default .Accordion__summary--collapsed::before {
251
+ details[open] > .Accordion__summary.Accordion__summary--default .Accordion__summary--expanded {
213
252
  opacity: 1;
214
- transform: rotateZ(180deg);
215
253
  }
216
254
 
217
- details[open] > .Accordion__summary.Accordion__summary--default .Accordion__summary--expanded::after {
255
+ details[open] > .Accordion__summary.Accordion__summary--default .Accordion__summary--collapsed {
218
256
  opacity: 0;
219
- transform: rotateZ(180deg);
220
257
  }
221
258
 
222
- .Accordion__summary:not(.Accordion__summary--reversed-toggles) {
259
+ .Accordion__summary--default:not(.Accordion__summary--reversed-toggles) {
223
260
  padding-inline-end: var(--base-size-48);
224
261
  }
225
262
 
@@ -281,7 +318,7 @@ details[open] > .Accordion__content {
281
318
  }
282
319
 
283
320
  .Accordion__summary--default + .Accordion__content {
284
- margin-top: calc(var(--base-size-16) * -1); /* for 8px gap between question and answer */
321
+ margin-top: calc(var(--base-size-12) * -1); /* for 12px gap between question and answer */
285
322
  }
286
323
 
287
324
  details[open] > .Accordion__summary--reversed-toggles + .Accordion__content {
@@ -190,19 +190,11 @@
190
190
  grid-area: heading;
191
191
  }
192
192
 
193
- .Card--fullWidth:not(.Card--align-center) .Card__heading {
194
- max-width: 320px;
195
- }
196
-
197
193
  .Card__description {
198
194
  margin-bottom: var(--base-size-32);
199
195
  grid-area: description;
200
196
  }
201
197
 
202
- .Card--fullWidth:not(.Card--align-center) .Card__description {
203
- max-width: 400px;
204
- }
205
-
206
198
  .Card__action {
207
199
  grid-area: action;
208
200
  margin-top: auto;
@@ -3,6 +3,22 @@
3
3
  margin: 0 auto;
4
4
  }
5
5
 
6
+ .FAQ--variant-gridline {
7
+ padding-block-end: var(--base-size-40);
8
+ border-block-end: var(--brand-color-border-muted) var(--brand-borderWidth-thin) solid;
9
+ max-width: 100%;
10
+ }
11
+
12
+ .FAQ__content-wrapper--gridline {
13
+ max-width: var(--brand-FAQ-maxWidth-list);
14
+ margin: 0 auto;
15
+ }
16
+
17
+ .FAQ__heading-wrapper--gridline {
18
+ border-block-end: var(--brand-color-border-muted) var(--brand-borderWidth-thin) solid;
19
+ margin-block-end: var(--base-size-40);
20
+ }
21
+
6
22
  .FAQ__heading {
7
23
  color: var(--brand-FAQ-color-heading);
8
24
  margin-bottom: var(--brand-FAQ-heading-marginBottom);
@@ -11,6 +27,9 @@
11
27
  .FAQ__subheading {
12
28
  margin-bottom: var(--base-size-16);
13
29
  color: var(--brand-color-text-muted);
30
+ text-transform: uppercase;
31
+ font-size: var(--brand-text-size-100);
32
+ line-height: var(--brand-text-lineHeight-100);
14
33
  }
15
34
 
16
35
  .FAQ__heading--start {
@@ -49,3 +68,13 @@
49
68
  padding: 0;
50
69
  margin: 0;
51
70
  }
71
+
72
+ @media screen and (min-width: 63.25rem) {
73
+ .FAQ__heading-wrapper--gridline {
74
+ margin-block-end: var(--base-size-48);
75
+ }
76
+
77
+ .FAQ--variant-gridline {
78
+ padding-block-end: var(--base-size-64);
79
+ }
80
+ }
@@ -4,18 +4,15 @@
4
4
  gap: var(--brand-stack-gap-spacious);
5
5
  }
6
6
 
7
- @media screen and (min-width: 48rem) {
8
- .FAQGroup {
9
- display: grid;
10
- }
11
-
12
- .FAQGroup__accordion {
13
- display: none;
14
- }
7
+ .FAQGroup__accordion {
8
+ margin-block-start: var(--base-size-48);
15
9
  }
16
10
 
17
11
  .FAQGroup__panel-subHeading {
18
12
  margin-block-start: calc(var(--base-size-8) + 1px);
13
+ text-transform: uppercase;
14
+ font-size: var(--brand-text-size-100);
15
+ line-height: var(--brand-text-lineHeight-100);
19
16
  }
20
17
 
21
18
  .FAQGroup__tablist .FAQ__heading {
@@ -23,26 +20,62 @@
23
20
  }
24
21
 
25
22
  .FAQGroup__tablist-button {
23
+ -webkit-appearance: none;
24
+ -moz-appearance: none;
25
+ appearance: none;
26
+ border: none;
26
27
  background-color: transparent;
27
- justify-content: flex-start;
28
- }
29
-
30
- .FAQGroup__tablist-button > span {
28
+ padding-block: var(--base-size-8);
29
+ padding-inline: 0;
30
+ cursor: pointer;
31
+ display: flex;
32
+ align-items: center;
33
+ gap: var(--base-size-12);
34
+ width: 100%;
35
+ font-family: var(--brand-fontStack-monospace);
36
+ font-size: var(--brand-text-size-100);
37
+ font-weight: var(--brand-text-weight-500);
38
+ line-height: var(--brand-text-lineHeight-100);
39
+ letter-spacing: 0.15px;
40
+ text-transform: uppercase;
41
+ text-align: start;
42
+ color: var(--brand-color-text-muted);
31
43
  overflow: hidden;
32
- white-space: nowrap;
33
44
  text-overflow: ellipsis;
45
+ white-space: nowrap;
46
+ transition: gap var(--brand-animation-duration-fast) var(--brand-animation-easing-default);
34
47
  }
35
48
 
36
- .FAQGroup__tablist-button[aria-selected='true'] {
37
- background-color: var(--brand-FAQ-color-tabBg-selected);
49
+ .FAQGroup__tablist-button:focus-visible {
50
+ outline: var(--brand-borderWidth-thick) solid var(--brand-color-focus);
51
+ outline-offset: 2px;
38
52
  }
39
53
 
40
- .FAQGroup__tablist-button span {
41
- color: var(--brand-color-text-muted);
54
+ .FAQGroup__tablist-button::before {
55
+ content: '';
56
+ display: block;
57
+ width: calc(var(--base-size-8) + var(--base-size-2));
58
+ height: var(--base-size-12);
59
+ flex-shrink: 0;
60
+ background-color: var(--brand-FAQGroup-buttonIndicator-idle);
61
+ transform: scaleX(0.7);
62
+ transform-origin: left;
63
+ transition: transform var(--brand-animation-duration-fast) var(--brand-animation-easing-default),
64
+ background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default);
42
65
  }
43
66
 
44
- .FAQGroup__tablist-button[aria-selected='true'] span {
67
+ .FAQGroup__tablist-button:hover::before {
68
+ background-color: var(--brand-FAQGroup-buttonIndicator-hover);
69
+ }
70
+
71
+ .FAQGroup__tablist-button[aria-selected='true'] {
45
72
  color: var(--brand-FAQ-color-tabLabel-selected);
73
+ gap: calc(var(--base-size-12) + 3px);
74
+ }
75
+
76
+ .FAQGroup__tablist-button[aria-selected='true']::before {
77
+ transform: scaleX(1);
78
+ background-color: var(--brand-FAQGroup-buttonIndicator-active);
46
79
  }
47
80
 
48
81
  .FAQGroup__nested-accordion-item summary h4 {
@@ -51,6 +84,20 @@
51
84
  line-height: var(--brand-text-lineHeight-200);
52
85
  }
53
86
 
87
+ /* Gridline variant */
88
+
89
+ .FAQGroup__tablist--gridline {
90
+ padding-inline-start: var(--base-size-48);
91
+ padding-block: var(--base-size-80);
92
+ }
93
+
94
+ .FAQGroup__content--gridline {
95
+ border-inline-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
96
+ padding-inline: var(--base-size-64);
97
+ padding-block-start: var(--base-size-80);
98
+ padding-block-end: var(--base-size-96);
99
+ }
100
+
54
101
  @media (forced-colors: active) {
55
102
  .FAQGroup__tablist-button[aria-selected='true'] {
56
103
  border-color: Highlight;
@@ -58,3 +105,69 @@
58
105
  color: HighlightText;
59
106
  }
60
107
  }
108
+
109
+ .FAQGroup__heading {
110
+ padding-inline: var(--base-size-20);
111
+ }
112
+
113
+ /* Custom tablet breakpoint */
114
+ @media screen and (min-width: 618px) {
115
+ .FAQGroup__gridline-wrapper {
116
+ border-block-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
117
+ }
118
+
119
+ .FAQGroup__accordion {
120
+ margin-block-start: 0;
121
+ max-width: 618px;
122
+ margin-inline: auto;
123
+ border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
124
+ }
125
+ .FAQGroup__heading {
126
+ max-width: 618px;
127
+ margin: 0 auto;
128
+ }
129
+
130
+ .FAQGroup__heading-wrapper {
131
+ padding-block-end: var(--base-size-40);
132
+ }
133
+ .FAQGroup__heading-wrapper--gridline {
134
+ border-block-end: var(--brand-color-border-muted) var(--brand-borderWidth-thin) solid;
135
+ }
136
+
137
+ .FAQGroup__accordion--gridline:first-child summary {
138
+ border-block-start: none !important;
139
+ }
140
+
141
+ .FAQGroup__accordion--gridline:last-child summary {
142
+ border-block-end: none !important;
143
+ }
144
+ }
145
+
146
+ @media screen and (min-width: 63.25rem) {
147
+ .FAQGroup {
148
+ display: grid;
149
+ }
150
+
151
+ .FAQGroup__accordion {
152
+ display: none;
153
+ }
154
+
155
+ .FAQGroup__heading {
156
+ padding-inline: 0;
157
+ max-width: 100%;
158
+ }
159
+
160
+ .FAQGroup__heading-wrapper {
161
+ padding-block-end: var(--base-size-64);
162
+ }
163
+ }
164
+
165
+ @media screen and (min-width: 80rem) {
166
+ .FAQGroup__tablist--gridline {
167
+ border-inline-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
168
+ }
169
+
170
+ .FAQGroup__content--gridline {
171
+ border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
172
+ }
173
+ }
@@ -1,13 +1,26 @@
1
1
  .Grid {
2
2
  display: grid;
3
3
  grid-template-columns: repeat(12, minmax(0, 1fr));
4
- grid-row-gap: var(--brand-Grid-spacing-row);
5
- grid-column-gap: var(--brand-Grid-spacing-column-gap);
6
- padding-inline: var(--brand-Grid-spacing-margin);
7
4
  max-width: 1280px;
8
5
  margin: 0 auto;
9
6
  }
10
7
 
8
+ .Grid--columnGap-default {
9
+ grid-column-gap: var(--brand-Grid-spacing-column-gap);
10
+ }
11
+
12
+ .Grid--columnGap-none {
13
+ grid-column-gap: 0;
14
+ }
15
+
16
+ .Grid--rowGap-default {
17
+ grid-row-gap: var(--brand-Grid-spacing-row);
18
+ }
19
+
20
+ .Grid--rowGap-none {
21
+ grid-row-gap: 0;
22
+ }
23
+
11
24
  .Grid--full-width {
12
25
  width: 100%;
13
26
  max-width: none;
@@ -31,6 +44,10 @@
31
44
  min-height: var(--base-size-24);
32
45
  }
33
46
 
47
+ .Grid--has-gutters {
48
+ padding-inline: var(--brand-Grid-spacing-margin);
49
+ }
50
+
34
51
  /**
35
52
  * Non-responsive, default values
36
53
  */
@@ -2,10 +2,21 @@
2
2
  padding-block-end: var(--brand-LogoSuite-logobar-rowGap);
3
3
  }
4
4
 
5
- .LogoSuite + .LogoSuite {
5
+ .LogoSuite--default + .LogoSuite--default {
6
6
  padding-block-start: var(--brand-LogoSuite-logobar-rowGap);
7
7
  }
8
8
 
9
+ /* Small monospace heading when standalone (no description) */
10
+ .LogoSuite:not(:has(.LogoSuite__description)) .LogoSuite__heading {
11
+ font-family: var(--brand-fontStack-monospace);
12
+ font-weight: var(--brand-text-weight-100);
13
+ font-size: var(--brand-text-size-100);
14
+ line-height: var(--brand-text-lineHeight-100);
15
+ letter-spacing: var(--brand-text-letterSpacing-100);
16
+ text-transform: uppercase;
17
+ color: var(--brand-color-text-muted);
18
+ }
19
+
9
20
  .LogoSuite__heading + .LogoSuite__description {
10
21
  padding-block-start: var(--base-size-16);
11
22
  }
@@ -19,7 +30,7 @@
19
30
  text-align: center;
20
31
  }
21
32
 
22
- .LogoSuite:not(.LogoSuite + .LogoSuite) .LogoSuite__logobar {
33
+ .LogoSuite--default:not(.LogoSuite + .LogoSuite) .LogoSuite__logobar {
23
34
  padding-block-start: var(--base-size-32);
24
35
  }
25
36
 
@@ -47,7 +58,7 @@
47
58
  + .LogoSuite__logobar,
48
59
  .LogoSuite:not(.LogoSuite + .LogoSuite) .LogoSuite__description + .LogoSuite__logobar {
49
60
  padding-block-start: 0;
50
- margin-block-start: var(--base-size-80);
61
+ margin-block-start: var(--base-size-44);
51
62
  }
52
63
 
53
64
  .LogoSuite__logobar--variant-muted svg,
@@ -66,12 +77,6 @@
66
77
  .LogoSuite__logobar--variant-muted a {
67
78
  height: var(--base-size-40);
68
79
  }
69
-
70
- .LogoSuite__logobar--variant-emphasis svg,
71
- .LogoSuite__logobar--variant-emphasis img,
72
- .LogoSuite__logobar--variant-emphasis a {
73
- height: var(--base-size-48);
74
- }
75
80
  }
76
81
 
77
82
  .LogoSuite__logobar--variant-muted svg,
@@ -102,8 +107,10 @@
102
107
  }
103
108
  }
104
109
 
105
- .LogoSuite--start .LogoSuite__logobar a:focus-visible {
106
- outline-color: var(--brand-color-focus);
110
+ .LogoSuite__logobar a:focus-visible {
111
+ outline: var(--brand-borderWidth-thick) solid var(--brand-color-focus);
112
+ outline-offset: var(--base-size-2);
113
+ border-radius: var(--base-size-4);
107
114
  }
108
115
 
109
116
  .LogoSuite--hasDivider {
@@ -113,8 +120,9 @@
113
120
  .LogoSuite__logobar--has-marquee {
114
121
  position: relative;
115
122
  display: flex;
116
- flex-direction: column;
117
- gap: var(--base-size-40);
123
+ flex-direction: row;
124
+ align-items: center;
125
+ gap: var(--base-size-24);
118
126
  margin: auto;
119
127
  max-width: 100dvw;
120
128
  }
@@ -152,18 +160,22 @@
152
160
  }
153
161
  }
154
162
 
155
- .LogoSuite__logobar-marquee:hover .LogoSuite__logobar-marqueeGroup {
163
+ .LogoSuite__logobar-marquee:hover .LogoSuite__logobar-marqueeGroup,
164
+ .LogoSuite__logobar-marquee:focus-within .LogoSuite__logobar-marqueeGroup {
156
165
  animation-play-state: paused;
157
166
  }
158
167
 
159
168
  .LogoSuite__logobar-marquee {
160
169
  display: flex;
161
- overflow: hidden;
170
+ overflow-x: hidden;
171
+ overflow-y: visible;
172
+ padding-block: var(--base-size-4);
162
173
  -webkit-user-select: none;
163
174
  -moz-user-select: none;
164
175
  user-select: none;
165
176
  gap: var(--marquee-gap);
166
- width: calc(100% - var(--base-size-40));
177
+ flex: 1;
178
+ min-width: 0;
167
179
  -webkit-mask-image: linear-gradient(
168
180
  to right,
169
181
  hsl(0 0% 0% / 0),
@@ -178,19 +190,23 @@
178
190
  animation-play-state: paused !important;
179
191
  }
180
192
 
193
+ .LogoSuite__logobar-marquee--focused .LogoSuite__logobar-marqueeGroup {
194
+ animation-name: none;
195
+ }
196
+
181
197
  .LogoSuite__logobar-playPauseButton {
182
198
  cursor: pointer;
183
- position: absolute;
184
- right: 0;
199
+ flex-shrink: 0;
185
200
  display: flex;
186
201
  align-items: center;
187
202
  justify-content: center;
188
- width: var(--base-size-48);
189
- height: var(--base-size-48);
203
+ width: var(--base-size-32);
204
+ height: var(--base-size-32);
190
205
  margin: 0;
191
206
  padding: 0;
192
207
  border: none;
193
208
  border-radius: var(--base-size-48);
209
+ border: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
194
210
  background-color: var(--brand-LogoSuite-color-control-rest);
195
211
  transition: background-color var(--brand-animation-duration-faster);
196
212
  }
@@ -207,8 +223,137 @@
207
223
  .LogoSuite__logobar-playPauseButton svg {
208
224
  width: var(--base-size-16);
209
225
  height: var(--base-size-16);
226
+ fill: var(--brand-color-text-muted);
210
227
  }
211
228
 
212
229
  .LogoSuite__logobar-playPauseButton path {
213
- fill: var(--brand-button-subtle-fgColor-rest);
230
+ fill: var(--brand-color-text-muted);
231
+ }
232
+
233
+ /* Gridline expressive variant styles */
234
+ .LogoSuite--gridline-expressive {
235
+ padding: 0;
236
+ }
237
+
238
+ .LogoSuite--gridline-expressive .LogoSuite__content {
239
+ padding-inline: 0;
240
+ gap: 0;
241
+ max-width: 618px; /* From the Figma design */
242
+ }
243
+
244
+ .LogoSuite--gridline-expressive .LogoSuite__textContainer {
245
+ display: flex;
246
+ flex-direction: column;
247
+ justify-content: center;
248
+ padding: var(--base-size-20);
249
+ }
250
+
251
+ .LogoSuite--gridline-expressive .LogoSuite__logobar {
252
+ margin-block-start: auto;
253
+ }
254
+ .LogoSuite--gridline-expressive .LogoSuite__logobarContainer {
255
+ display: flex;
256
+ flex-direction: column;
257
+ justify-content: center;
258
+ padding: var(--base-size-32) var(--base-size-20) var(--base-size-32);
259
+ }
260
+
261
+ .LogoSuite--gridline-expressive .LogoSuite__logobar,
262
+ .LogoSuite--gridline-expressive .LogoSuite__logobar--has-marquee {
263
+ max-width: none;
264
+ width: 100%;
265
+ }
266
+
267
+ .LogoSuite--gridline-expressive .LogoSuite__heading + .LogoSuite__description {
268
+ padding-block-start: var(--base-size-8);
269
+ }
270
+
271
+ .LogoSuite--gridline-expressive .LogoSuite__logobar {
272
+ padding-block-start: 0;
273
+ }
274
+
275
+ @media screen and (min-width: 48rem) {
276
+ .LogoSuite--gridline-expressive .LogoSuite__logobarContainer {
277
+ padding: var(--base-size-36);
278
+ }
279
+ .LogoSuite--gridline-expressive .LogoSuite__content {
280
+ border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
281
+ }
282
+ .LogoSuite--gridline-expressive .LogoSuite__textContainer {
283
+ border-inline-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
284
+ }
285
+ }
286
+
287
+ @media screen and (min-width: 64rem) {
288
+ .LogoSuite--gridline-expressive .LogoSuite__content {
289
+ max-width: 1280px;
290
+ }
291
+
292
+ .LogoSuite--gridline-expressive .LogoSuite__textContainer {
293
+ text-align: left;
294
+ padding: var(--base-size-64);
295
+ }
296
+
297
+ .LogoSuite--gridline-expressive .LogoSuite__logobarContainer {
298
+ padding: var(--base-size-64);
299
+ }
300
+ }
301
+
302
+ @media screen and (min-width: 1281px) {
303
+ .LogoSuite--gridline-expressive .LogoSuite__content {
304
+ border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
305
+ }
306
+
307
+ /* When the logobar is the only column visible (no adjacent text), this removes start border */
308
+ .LogoSuite--gridline-expressive .LogoSuite__logobarContainer:first-child {
309
+ border-inline-start: none;
310
+ }
311
+ }
312
+
313
+ .LogoSuite__logobar--has-takeover {
314
+ position: relative;
315
+ overflow: visible;
316
+ }
317
+
318
+ /* Glass blur overlay effect */
319
+ .LogoSuite__logobar--has-takeover::before {
320
+ content: '';
321
+ position: absolute;
322
+ inset: calc(-1 * var(--base-size-16)) 0;
323
+ z-index: 1;
324
+ pointer-events: none;
325
+ opacity: 0;
326
+ backdrop-filter: blur(var(--base-size-6));
327
+ -webkit-backdrop-filter: blur(var(--base-size-6));
328
+ transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);
329
+ }
330
+
331
+ .LogoSuite__logobar--has-takeover:hover::before,
332
+ .LogoSuite__logobar--has-takeover:focus-within::before {
333
+ opacity: 1;
334
+ }
335
+
336
+ .LogoSuite__logobar--has-takeover:hover svg,
337
+ .LogoSuite__logobar--has-takeover:focus-within svg,
338
+ .LogoSuite__logobar--has-takeover:hover img,
339
+ .LogoSuite__logobar--has-takeover:focus-within img {
340
+ opacity: 0.7;
341
+ transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);
342
+ }
343
+
344
+ .LogoSuite__logobar-takeoverButtonContainer {
345
+ opacity: 0;
346
+ visibility: hidden;
347
+ z-index: 2;
348
+ transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);
349
+ position: absolute;
350
+ top: 50%;
351
+ left: 50%;
352
+ transform: translate(-50%, -50%);
353
+ }
354
+
355
+ .LogoSuite__logobar--has-takeover:hover .LogoSuite__logobar-takeoverButtonContainer,
356
+ .LogoSuite__logobar--has-takeover:focus-within .LogoSuite__logobar-takeoverButtonContainer {
357
+ opacity: 1;
358
+ visibility: visible;
214
359
  }
@@ -445,6 +445,7 @@
445
445
  .PricingOptions__feature-list-accordion .PricingOptions__feature-list-accordion-heading :is(h1, h2, h3, h4, h5, h6) {
446
446
  font-size: var(--feature-list-font-size);
447
447
  line-height: var(--feature-list-line-height);
448
+ font-weight: var(--brand-text-subhead-weight-large);
448
449
  gap: var(--base-size-8);
449
450
  display: inline-flex;
450
451
  align-items: center;
@@ -74,7 +74,6 @@
74
74
  }
75
75
 
76
76
  .Statistic__heading {
77
- font-stretch: 75%;
78
77
  position: relative;
79
78
  }
80
79
 
@@ -20,6 +20,10 @@
20
20
  z-index: 90;
21
21
  }
22
22
 
23
+ .SubdomainNavBar-outer-container:not(.SubdomainNavBar-outer-container--fixed) {
24
+ position: relative;
25
+ }
26
+
23
27
  .SubdomainNavBar-outer-container--fixed {
24
28
  position: fixed;
25
29
  top: 0;
@@ -576,7 +580,6 @@
576
580
  position: absolute;
577
581
  top: 0;
578
582
  bottom: 1px;
579
- width: 100vw;
580
583
  left: 0;
581
584
  right: 0;
582
585
  background-color: var(--brand-SubdomainNavBar-canvas-search);
@@ -675,10 +678,10 @@
675
678
  }
676
679
 
677
680
  .SubdomainNavBar-skip-to-content {
678
- position: fixed;
681
+ position: absolute;
679
682
  top: 75px;
680
683
  border-radius: 0px;
681
- width: 100vw;
684
+ width: 100%;
682
685
  z-index: 100;
683
686
  }
684
687
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/brand-css",
3
- "version": "0.64.1-rc.83bbe583",
3
+ "version": "0.65.0-rc.0895cfab",
4
4
  "description": "CSS stylesheets for Primer Brand components",
5
5
  "keywords": [
6
6
  "primer",