@primer/brand-css 0.64.1-rc.9bfb4676 → 0.65.0-rc.4780c31f

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.
@@ -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;
@@ -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
  }
@@ -74,7 +74,6 @@
74
74
  }
75
75
 
76
76
  .Statistic__heading {
77
- font-stretch: 75%;
78
77
  position: relative;
79
78
  }
80
79
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/brand-css",
3
- "version": "0.64.1-rc.9bfb4676",
3
+ "version": "0.65.0-rc.4780c31f",
4
4
  "description": "CSS stylesheets for Primer Brand components",
5
5
  "keywords": [
6
6
  "primer",