@primer/brand-css 0.72.0-rc.f8b72452 → 0.72.0

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.
@@ -14,6 +14,7 @@
14
14
  }
15
15
 
16
16
  .Avatar__image {
17
+ display: block;
17
18
  width: 100%;
18
19
  height: 100%;
19
20
  -o-object-fit: cover;
@@ -62,6 +62,10 @@
62
62
  margin-block-end: var(--base-size-48);
63
63
  }
64
64
 
65
+ .BreakoutBanner-leadingVisual :is(img, picture) {
66
+ display: block;
67
+ }
68
+
65
69
  /* Regular */
66
70
  @media screen and (min-width: 48rem) {
67
71
  .BreakoutBanner {
@@ -105,6 +105,10 @@
105
105
  margin: 0 auto;
106
106
  }
107
107
 
108
+ .CTABanner-content :is(img, picture) {
109
+ display: block;
110
+ }
111
+
108
112
  .CTABanner--variant-minimal .CTABanner-content {
109
113
  --CTABanner-content-gap: 0;
110
114
  }
@@ -41,6 +41,11 @@
41
41
  max-height: var(--base-size-44);
42
42
  }
43
43
 
44
+ .EyebrowBanner__leadingVisual img,
45
+ .EyebrowBanner__leadingVisual picture {
46
+ display: block;
47
+ }
48
+
44
49
  .EyebrowBanner__trailingVisual {
45
50
  display: flex;
46
51
  }
@@ -83,7 +83,7 @@
83
83
  padding: var(--base-size-32) var(--base-size-32) 0;
84
84
  }
85
85
 
86
- .Hero-imageContainer--inline-bg-padded {
86
+ .Hero-imageContainer--inline-padding-all {
87
87
  padding: var(--base-size-32);
88
88
  background-color: var(--brand-color-canvas-subtle);
89
89
  }
@@ -101,11 +101,14 @@
101
101
  }
102
102
 
103
103
  .Hero-imageContainer--inline-bordered {
104
- background-color: var(--brand-color-canvas-subtle);
105
104
  display: flex;
106
105
  align-items: stretch;
107
106
  }
108
107
 
108
+ .Hero-imageContainer--inline-bordered:not(.Hero-imageContainer--inline-padding-none) {
109
+ background-color: var(--brand-color-canvas-subtle);
110
+ }
111
+
109
112
  @media screen and (min-width: 63.25rem) {
110
113
  .Hero-imageContainer--inline-bordered {
111
114
  min-height: calc(600px - var(--base-size-24));
@@ -115,7 +118,7 @@
115
118
  padding: var(--base-size-64) var(--base-size-64) 0;
116
119
  }
117
120
 
118
- .Hero-imageContainer--inline-bg-padded {
121
+ .Hero-imageContainer--inline-padding-all {
119
122
  padding: var(--base-size-64);
120
123
  }
121
124
  }
@@ -133,10 +136,14 @@
133
136
  overflow: hidden;
134
137
  }
135
138
 
136
- .Hero--variant-gridline .Hero-media--pos-block-end {
139
+ .Hero--variant-gridline .Hero-media--pos-block-end:not(.Hero-media--padding-all):not(.Hero-media--padding-none) {
137
140
  border-radius: var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0;
138
141
  }
139
142
 
143
+ .Hero-media--pos-block-end.Hero-media--padding-all {
144
+ border-radius: var(--brand-borderRadius-medium);
145
+ }
146
+
140
147
  /* Applied directly to video/iframe elements for block-end position */
141
148
  .Hero-media-item--block-end {
142
149
  border-radius: var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0;
@@ -144,10 +151,13 @@
144
151
 
145
152
  .Hero--variant-gridline .Hero-imageWrapper {
146
153
  border-block: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
147
- background-color: var(--brand-color-canvas-subtle);
148
154
  width: 100%;
149
155
  }
150
156
 
157
+ .Hero--variant-gridline .Hero-imageWrapper:not(.Hero-imageWrapper--padding-none) {
158
+ background-color: var(--brand-color-canvas-subtle);
159
+ }
160
+
151
161
  .Hero--variant-gridline .Hero-imageWrapper-inner {
152
162
  width: 100%;
153
163
  max-width: 1280px;
@@ -161,24 +171,24 @@
161
171
  }
162
172
  }
163
173
 
164
- .Hero--variant-gridline .Hero-imageWrapper-inner--padded {
174
+ .Hero--variant-gridline .Hero-imageWrapper-inner--padding-all {
165
175
  padding: var(--base-size-32);
166
176
  }
167
177
 
168
- .Hero-media--pos-block-end-padded {
169
- border-radius: var(--brand-borderRadius-medium);
170
- }
171
-
172
178
  @media screen and (min-width: 63.25rem) {
173
179
  .Hero--variant-gridline .Hero-imageWrapper-inner {
174
180
  padding: var(--base-size-64) var(--base-size-64) 0;
175
181
  }
176
182
 
177
- .Hero--variant-gridline .Hero-imageWrapper-inner--padded {
183
+ .Hero--variant-gridline .Hero-imageWrapper-inner--padding-all {
178
184
  padding: var(--base-size-64);
179
185
  }
180
186
  }
181
187
 
188
+ .Hero--variant-gridline .Hero-imageWrapper-inner--padding-none {
189
+ padding: 0;
190
+ }
191
+
182
192
  /* GridLine variant with inline (side-by-side) layout */
183
193
  .Hero-grid--bordered-inline {
184
194
  width: 100%;
@@ -219,7 +229,7 @@
219
229
  /* Media styling for gridline inline positions */
220
230
 
221
231
  /* Edge-to-edge inline media (no padding) - remove border radius */
222
- .Hero--variant-gridline .Hero-media--pos-inline:not(.Hero-media--pos-inline-padded) {
232
+ .Hero--variant-gridline .Hero-media--pos-inline:not(.Hero-media--padding-all) {
223
233
  border-radius: 0;
224
234
  }
225
235
 
@@ -229,7 +239,7 @@
229
239
  }
230
240
 
231
241
  /* Padded inline media - constrain size and center */
232
- .Hero--variant-gridline .Hero-media--pos-inline-padded {
242
+ .Hero--variant-gridline .Hero-media--pos-inline.Hero-media--padding-all {
233
243
  max-width: 100%;
234
244
  height: auto;
235
245
  align-self: center;
@@ -292,6 +302,10 @@
292
302
  gap: var(--base-size-8) var(--base-size-16);
293
303
  }
294
304
 
305
+ .Hero .Hero-actions > * {
306
+ flex-grow: 0;
307
+ }
308
+
295
309
  .Hero--variant-gridline-expressive .Hero-actions {
296
310
  align-items: stretch;
297
311
  gap: var(--base-size-8) var(--base-size-12);
@@ -301,6 +315,10 @@
301
315
  margin-block-start: var(--base-size-32);
302
316
  }
303
317
 
318
+ .Hero-trailing :is(img, picture) {
319
+ display: block;
320
+ }
321
+
304
322
  .Hero-eyebrow {
305
323
  margin-block-end: var(--base-size-32);
306
324
  }
@@ -440,10 +458,13 @@
440
458
  /* Media wrapper styles for gridline-expressive (same as gridline) */
441
459
  .Hero--variant-gridline-expressive .Hero-imageWrapper {
442
460
  border-block: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
443
- background-color: var(--brand-color-canvas-subtle);
444
461
  width: 100%;
445
462
  }
446
463
 
464
+ .Hero--variant-gridline-expressive .Hero-imageWrapper:not(.Hero-imageWrapper--padding-none) {
465
+ background-color: var(--brand-color-canvas-subtle);
466
+ }
467
+
447
468
  .Hero--variant-gridline-expressive .Hero-imageWrapper-inner {
448
469
  width: 100%;
449
470
  max-width: 1280px;
@@ -457,7 +478,7 @@
457
478
  }
458
479
  }
459
480
 
460
- .Hero--variant-gridline-expressive .Hero-imageWrapper-inner--padded {
481
+ .Hero--variant-gridline-expressive .Hero-imageWrapper-inner--padding-all {
461
482
  padding: var(--base-size-32);
462
483
  }
463
484
 
@@ -466,11 +487,15 @@
466
487
  padding: var(--base-size-64) var(--base-size-64) 0;
467
488
  }
468
489
 
469
- .Hero--variant-gridline-expressive .Hero-imageWrapper-inner--padded {
490
+ .Hero--variant-gridline-expressive .Hero-imageWrapper-inner--padding-all {
470
491
  padding: var(--base-size-64);
471
492
  }
472
493
  }
473
494
 
495
+ .Hero--variant-gridline-expressive .Hero-imageWrapper-inner--padding-none {
496
+ padding: 0;
497
+ }
498
+
474
499
  /* Shared media styles for gridline-expressive */
475
500
  .Hero--variant-gridline-expressive .Hero-media {
476
501
  max-width: 1176px;
@@ -479,7 +504,13 @@
479
504
  overflow: hidden;
480
505
  }
481
506
 
482
- .Hero--variant-gridline-expressive .Hero-media--pos-block-end,
483
- .Hero--variant-gridline-expressive .Hero-image:not(.Hero-media--pos-block-end-padded) {
507
+ .Hero--variant-gridline-expressive
508
+ .Hero-media--pos-block-end:not(.Hero-media--padding-all):not(.Hero-media--padding-none) {
484
509
  border-radius: var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0;
485
510
  }
511
+
512
+ .Hero--variant-gridline .Hero-media--padding-none,
513
+ .Hero--variant-gridline-expressive .Hero-media--padding-none {
514
+ border-radius: 0;
515
+ max-width: 100%;
516
+ }
@@ -71,6 +71,10 @@
71
71
  height: var(--base-size-32);
72
72
  }
73
73
 
74
+ .LogoSuite__logobar img {
75
+ display: block;
76
+ }
77
+
74
78
  .LogoSuite__logobar--variant-muted svg,
75
79
  .LogoSuite__logobar--variant-muted path {
76
80
  fill: var(--brand-LogoSuite-color-logo-muted);
@@ -77,6 +77,7 @@
77
77
  }
78
78
 
79
79
  .Footer__social-icon {
80
+ display: block;
80
81
  width: 24px;
81
82
  height: auto;
82
83
  }
@@ -410,6 +410,10 @@
410
410
  grid-row: leadingComponent;
411
411
  }
412
412
 
413
+ .PricingOptions__leading-component :is(img, picture) {
414
+ display: block;
415
+ }
416
+
413
417
  .PricingOptions__label {
414
418
  color: var(--brand-color-text-default);
415
419
  font-family: var(--brand-fontStack-monospace);
@@ -6,6 +6,10 @@
6
6
  padding-block: var(--base-size-24);
7
7
  }
8
8
 
9
+ .SectionIntro :is(img, picture) {
10
+ display: block;
11
+ }
12
+
9
13
  .SectionIntro-heading--muted {
10
14
  color: var(--brand-color-text-muted);
11
15
  }
@@ -1,6 +1,10 @@
1
1
  /**
2
2
  * Variants
3
3
  */
4
+ .Statistic :is(img, picture) {
5
+ display: block;
6
+ }
7
+
4
8
  .Statistic--variant-boxed {
5
9
  background-color: var(--brand-color-canvas-subtle);
6
10
  border-radius: var(--brand-borderRadius-large);
@@ -136,6 +136,10 @@
136
136
  margin-top: var(--base-size-24);
137
137
  }
138
138
 
139
+ .Testimonial-logo-image {
140
+ display: block;
141
+ }
142
+
139
143
  .Testimonial--size-large .Testimonial__media {
140
144
  margin-top: var(--base-size-64);
141
145
  }
@@ -37,15 +37,6 @@
37
37
  border-radius: var(--brand-borderRadius-small);
38
38
  }
39
39
 
40
- /* River removes the gridline top spacing when a subtle visual is present
41
- (.RiverBreakout--variant-gridline:has(.River__visual--has-background)), bleeding the subtle
42
- background up to the top gridline. Restore the top spacing so a non-full-bleed background is
43
- inset from the top like the sides — only backgroundVisualFullBleed should reach the
44
- top gridline. */
45
- .RiverBreakoutTabs:has(:global([class*='River__visual--has-background'])) {
46
- padding-block-start: var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);
47
- }
48
-
49
40
  .RiverBreakoutTabs__accordionSharedVisuals {
50
41
  position: relative;
51
42
  margin-block-end: var(--base-size-16);
@@ -42,6 +42,7 @@
42
42
  }
43
43
 
44
44
  .RiverStoryScroll__image {
45
+ display: block;
45
46
  margin-left: auto;
46
47
  margin-right: auto;
47
48
  width: auto;
@@ -34,6 +34,10 @@
34
34
  order: 2;
35
35
  }
36
36
 
37
+ .River__visual :is(img, picture) {
38
+ display: block;
39
+ }
40
+
37
41
  .River__visual--fill-media img,
38
42
  .River__visual--fill-media picture,
39
43
  .River__visual--fill-media video {
@@ -57,7 +61,7 @@
57
61
  align-items: center;
58
62
  justify-content: center;
59
63
  background-color: var(--brand-color-canvas-subtle);
60
- padding: var(--base-size-32);
64
+ padding: var(--brand-River-variant-gridline-visual-padding);
61
65
  border-radius: 0;
62
66
  margin-inline: calc(-1 * var(--brand-River-variant-gridline-spacing-outerInline));
63
67
  }
@@ -155,6 +159,11 @@
155
159
  line-height: calc(1lh * 1.1);
156
160
  }
157
161
 
162
+ .River__leadingComponent :is(img, picture),
163
+ .River__trailingComponent :is(img, picture) {
164
+ display: block;
165
+ }
166
+
158
167
  .River__trailingComponent {
159
168
  margin-block-start: var(--brand-River-spacing-inner);
160
169
  }
@@ -205,7 +214,6 @@
205
214
  }
206
215
 
207
216
  .River--variant-gridline .River__visual--has-background {
208
- padding: var(--base-size-64);
209
217
  margin: 0;
210
218
  }
211
219
 
@@ -378,6 +386,124 @@
378
386
  }
379
387
  }
380
388
 
389
+ /* Explicit visual media layouts override the responsive default without changing it. */
390
+ .River--variant-gridline .River__visual.River__visual--position-center {
391
+ display: flex;
392
+ align-items: center;
393
+ justify-content: center;
394
+ padding: var(--brand-River-variant-gridline-visual-padding);
395
+ border-radius: 0;
396
+ }
397
+
398
+ .River--variant-gridline .River__visual.River__visual--position-block-end {
399
+ display: flex;
400
+ align-items: flex-end;
401
+ justify-content: center;
402
+ padding: var(--brand-River-variant-gridline-visual-padding);
403
+ padding-block-end: 0;
404
+ border-radius: 0;
405
+ }
406
+
407
+ .River--variant-gridline .River__visual.River__visual--position-block-end-inline-start {
408
+ display: flex;
409
+ align-items: flex-end;
410
+ justify-content: flex-start;
411
+ padding: var(--brand-River-variant-gridline-visual-padding);
412
+ padding-block-end: 0;
413
+ padding-inline-start: 0;
414
+ border-radius: 0;
415
+ }
416
+
417
+ .River--variant-gridline .River__visual.River__visual--position-block-end-inline-end {
418
+ display: flex;
419
+ align-items: flex-end;
420
+ justify-content: flex-end;
421
+ padding: var(--brand-River-variant-gridline-visual-padding);
422
+ padding-block-end: 0;
423
+ padding-inline-end: 0;
424
+ border-radius: 0;
425
+ }
426
+
427
+ .River--variant-gridline .River__visual.River__visual--padding-all {
428
+ padding: var(--brand-River-variant-gridline-visual-padding);
429
+ }
430
+
431
+ .River--variant-gridline .River__visual.River__visual--padding-none {
432
+ padding: 0;
433
+ border-radius: 0;
434
+ }
435
+
436
+ .River--variant-gridline
437
+ .River__visual:is(
438
+ .River__visual--position-center,
439
+ .River__visual--position-block-end,
440
+ .River__visual--position-block-end-inline-start,
441
+ .River__visual--position-block-end-inline-end
442
+ )
443
+ :is(img, picture, video, [data-video-player-container]) {
444
+ max-width: 100%;
445
+ width: auto;
446
+ height: auto;
447
+ border-radius: 0;
448
+ }
449
+
450
+ .River--variant-gridline
451
+ .River__visual.River__visual--padding-all
452
+ :is(img, picture, video, [data-video-player-container]) {
453
+ border-radius: 0;
454
+ }
455
+
456
+ .River--variant-gridline
457
+ .River__visual.River__visual--rounded.River__visual--position-center
458
+ :is(img, picture, video, [data-video-player-container]) {
459
+ border-radius: var(--brand-borderRadius-large);
460
+ }
461
+
462
+ .River--variant-gridline
463
+ .River__visual.River__visual--rounded.River__visual--position-block-end
464
+ :is(img, picture, video, [data-video-player-container]) {
465
+ border-radius: var(--brand-borderRadius-large) var(--brand-borderRadius-large) 0 0;
466
+ }
467
+
468
+ .River--variant-gridline
469
+ .River__visual.River__visual--rounded.River__visual--position-block-end-inline-start
470
+ :is(img, picture, video, [data-video-player-container]) {
471
+ border-radius: 0;
472
+ border-start-end-radius: var(--brand-borderRadius-large);
473
+ }
474
+
475
+ .River--variant-gridline
476
+ .River__visual.River__visual--rounded.River__visual--position-block-end-inline-end
477
+ :is(img, picture, video, [data-video-player-container]) {
478
+ border-radius: 0;
479
+ border-start-start-radius: var(--brand-borderRadius-large);
480
+ }
481
+
482
+ .River--variant-gridline
483
+ .River__visual.River__visual--rounded.River__visual--padding-all
484
+ :is(img, picture, video, [data-video-player-container]) {
485
+ border-radius: var(--brand-borderRadius-large);
486
+ }
487
+
488
+ .River--variant-gridline
489
+ .River__visual.River__visual--fill-media.River__visual--padding-none
490
+ :is(img, picture, video, [data-video-player-container]) {
491
+ width: 100%;
492
+ max-width: none;
493
+ height: 100%;
494
+ -o-object-fit: cover;
495
+ object-fit: cover;
496
+ }
497
+
498
+ .River--variant-gridline
499
+ .River__visual.River__visual--padding-none
500
+ :is(img, picture, video, [data-video-player-container]),
501
+ .River--variant-gridline
502
+ .River__visual.River__visual--rounded.River__visual--padding-none
503
+ :is(img, picture, video, [data-video-player-container]) {
504
+ border-radius: 0;
505
+ }
506
+
381
507
  .RiverBreakout {
382
508
  display: flex;
383
509
  flex-direction: column;
@@ -566,97 +692,3 @@
566
692
  align-self: stretch;
567
693
  }
568
694
  }
569
-
570
- /* Gridline + background: remove outer container top padding (background fills to top edge) */
571
- .RiverBreakout--variant-gridline:has(.River__visual--has-background) {
572
- padding-block-start: 0;
573
- }
574
-
575
- .RiverBreakout .River__visual--has-background {
576
- display: flex;
577
- align-items: center;
578
- justify-content: center;
579
- background-color: var(--brand-color-canvas-subtle);
580
- border-radius: 0;
581
- overflow: hidden;
582
- }
583
-
584
- .RiverBreakout .River__visual--has-background img,
585
- .RiverBreakout .River__visual--has-background picture,
586
- .RiverBreakout .River__visual--has-background video {
587
- max-width: 100%;
588
- height: auto;
589
- width: auto;
590
- border-radius: var(--brand-borderRadius-large);
591
- }
592
-
593
- .RiverBreakout .River__visual--has-background [data-video-player-container] {
594
- border-radius: var(--brand-borderRadius-large);
595
- }
596
-
597
- .RiverBreakout--variant-gridline .River__visual--has-background {
598
- margin-inline: calc(-1 * var(--brand-RiverBreakout-variant-gridline-spacing-outerInline));
599
- padding: var(--base-size-32);
600
- }
601
-
602
- @media screen and (max-width: 47.99rem) {
603
- .RiverBreakout--variant-gridline .River__visual--has-background {
604
- align-items: flex-end;
605
- padding-block-end: 0;
606
- }
607
-
608
- .RiverBreakout--variant-gridline .River__visual--has-background img,
609
- .RiverBreakout--variant-gridline .River__visual--has-background picture,
610
- .RiverBreakout--variant-gridline .River__visual--has-background video {
611
- border-end-start-radius: 0;
612
- border-end-end-radius: 0;
613
- }
614
-
615
- .RiverBreakout--variant-gridline .River__visual--has-background [data-video-player-container] {
616
- border-end-start-radius: 0;
617
- border-end-end-radius: 0;
618
- }
619
- }
620
-
621
- @media screen and (min-width: 48rem) and (max-width: 63.24rem) {
622
- .RiverBreakout--variant-gridline .River__visual--has-background {
623
- align-items: flex-end;
624
- padding-block-end: 0;
625
- }
626
-
627
- .RiverBreakout--variant-gridline .River__visual--has-background img,
628
- .RiverBreakout--variant-gridline .River__visual--has-background picture,
629
- .RiverBreakout--variant-gridline .River__visual--has-background video {
630
- border-end-start-radius: 0;
631
- border-end-end-radius: 0;
632
- }
633
-
634
- .RiverBreakout--variant-gridline .River__visual--has-background [data-video-player-container] {
635
- border-end-start-radius: 0;
636
- border-end-end-radius: 0;
637
- }
638
- }
639
-
640
- @media screen and (min-width: 63.25rem) {
641
- .RiverBreakout--variant-gridline .River__visual--has-background {
642
- align-items: flex-end;
643
- padding: var(--base-size-64);
644
- padding-block-end: 0;
645
- }
646
-
647
- .RiverBreakout--variant-gridline .River__visual--has-background img,
648
- .RiverBreakout--variant-gridline .River__visual--has-background picture,
649
- .RiverBreakout--variant-gridline .River__visual--has-background video {
650
- border-end-start-radius: 0;
651
- border-end-end-radius: 0;
652
- }
653
-
654
- .RiverBreakout--variant-gridline .River__visual--has-background [data-video-player-container] {
655
- border-end-start-radius: 0;
656
- border-end-end-radius: 0;
657
- }
658
-
659
- .RiverBreakout--variant-gridline .River__visual--has-background.River__visual--rounded {
660
- border-radius: 0;
661
- }
662
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/brand-css",
3
- "version": "0.72.0-rc.f8b72452",
3
+ "version": "0.72.0",
4
4
  "description": "CSS stylesheets for Primer Brand components",
5
5
  "keywords": [
6
6
  "primer",