@primer/brand-css 0.65.0-rc.dd3b4470 → 0.65.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.
@@ -35,7 +35,7 @@
35
35
  }
36
36
 
37
37
  .CTABanner-grid {
38
- gap: 0;
38
+ row-gap: 0;
39
39
  --brand-Grid-spacing-row: 0;
40
40
  padding-inline: 0;
41
41
  }
@@ -71,6 +71,15 @@
71
71
  justify-content: flex-start;
72
72
  }
73
73
 
74
+ .CTABanner--variant-balanced .CTABanner-grid-column--secondary {
75
+ order: -1;
76
+ margin-block-start: 0;
77
+ }
78
+
79
+ .CTABanner--variant-balanced .CTABanner-grid-column--primary {
80
+ margin-block-start: var(--base-size-24);
81
+ }
82
+
74
83
  .CTABanner-grid-column--secondary {
75
84
  margin-block-start: var(--base-size-24);
76
85
  }
@@ -220,3 +229,42 @@
220
229
  width: 100%;
221
230
  height: auto;
222
231
  }
232
+
233
+ .CTABanner-heading code,
234
+ .CTABanner-description code {
235
+ font-size: inherit;
236
+ font-family: var(--brand-fontStack-monospace);
237
+ background-color: var(--brand-color-canvas-default);
238
+ padding: 0 var(--base-size-4) 0;
239
+ margin-inline: var(--base-size-2);
240
+ border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);
241
+ border-radius: var(--brand-borderRadius-small);
242
+ box-shadow: var(--brand-borderWidth-thin) var(--brand-borderWidth-thin) 0 0 var(--brand-color-border-default);
243
+ }
244
+
245
+ .CTABanner--bgColor-default .CTABanner-heading code,
246
+ .CTABanner--bgColor-default .CTABanner-description code {
247
+ background-color: var(--brand-color-canvas-subtle);
248
+ }
249
+
250
+ .CTABanner-description code {
251
+ padding: 0 var(--base-size-4) 0;
252
+ }
253
+
254
+ .CTABanner-heading.CTABanner-heading:has(code) {
255
+ line-height: calc(1lh * 2);
256
+ }
257
+
258
+ @media screen and (min-width: 63.25rem) {
259
+ .CTABanner--variant-balanced .CTABanner-heading.CTABanner-heading:has(code) {
260
+ line-height: calc(1lh * 2.8);
261
+ }
262
+ }
263
+
264
+ .CTABanner--variant-minimal .CTABanner-heading.CTABanner-heading:has(code) {
265
+ line-height: calc(1lh * 1.9);
266
+ }
267
+
268
+ .CTABanner-description.CTABanner-description:has(code) {
269
+ line-height: calc(1lh * 1.25);
270
+ }
@@ -98,6 +98,29 @@
98
98
  text-decoration: none !important;
99
99
  }
100
100
 
101
+ .Card__link code,
102
+ .Card__description code {
103
+ font-size: inherit;
104
+ font-family: var(--brand-fontStack-monospace);
105
+ background-color: var(--brand-color-canvas-subtle);
106
+ padding: 0 var(--base-size-4) var(--base-size-2);
107
+ margin-inline: var(--base-size-2);
108
+ border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);
109
+ border-radius: var(--brand-borderRadius-small);
110
+ box-shadow: var(--brand-borderWidth-thin) var(--brand-borderWidth-thin) 0 0 var(--brand-color-border-default);
111
+ }
112
+
113
+ .Card__description code {
114
+ padding: var(--base-size-2) var(--base-size-4) 0;
115
+ }
116
+ .Card__link:has(code) {
117
+ line-height: calc(1lh * 1.4);
118
+ }
119
+
120
+ .Card__description.Card__description:has(code) {
121
+ line-height: calc(1lh * 1.25);
122
+ }
123
+
101
124
  .Card--disableAnimation:hover .Card__link {
102
125
  text-decoration: underline !important;
103
126
  }
@@ -0,0 +1,4 @@
1
+ .EyebrowText {
2
+ text-transform: uppercase;
3
+ letter-spacing: var(--brand-text-letterSpacing-100);
4
+ }
@@ -246,7 +246,7 @@
246
246
  .Hero-label {
247
247
  text-transform: uppercase;
248
248
  letter-spacing: 1px;
249
- margin-block-end: var(--base-size-24);
249
+ margin-block-end: var(--base-size-16);
250
250
  display: flex;
251
251
  align-items: center;
252
252
  }
@@ -259,6 +259,7 @@
259
259
  .Hero-heading b {
260
260
  color: var(--brand-color-accent-primary);
261
261
  font-style: normal;
262
+ font-weight: inherit;
262
263
  }
263
264
 
264
265
  .Hero-heading--fullWidth {
@@ -68,14 +68,17 @@
68
68
  .LogoSuite__logobar--variant-emphasis img,
69
69
  .LogoSuite__logobar--variant-emphasis a {
70
70
  width: auto;
71
- height: var(--base-size-32);
71
+ height: var(--base-size-28);
72
72
  }
73
73
 
74
74
  @media screen and (min-width: 48rem) {
75
75
  .LogoSuite__logobar--variant-muted svg,
76
76
  .LogoSuite__logobar--variant-muted img,
77
- .LogoSuite__logobar--variant-muted a {
78
- height: var(--base-size-40);
77
+ .LogoSuite__logobar--variant-muted a,
78
+ .LogoSuite__logobar--variant-emphasis svg,
79
+ .LogoSuite__logobar--variant-emphasis img,
80
+ .LogoSuite__logobar--variant-emphasis a {
81
+ height: var(--base-size-32);
79
82
  }
80
83
  }
81
84
 
@@ -582,7 +582,7 @@
582
582
  .SubNav__links-overlay {
583
583
  align-items: center;
584
584
  display: flex;
585
- gap: var(--base-size-20);
585
+ gap: var(--base-size-2);
586
586
  z-index: 92;
587
587
  flex-grow: 1;
588
588
  padding-inline-start: var(--base-size-24);
@@ -592,7 +592,8 @@
592
592
  text-decoration: none !important; /* dotcom override */
593
593
  transition: color 0.2s var(--brand-animation-easing-glide);
594
594
  position: relative;
595
- padding: var(--base-size-4) 0;
595
+ padding: var(--base-size-4) var(--base-size-12);
596
+ border-radius: var(--brand-borderRadius-full);
596
597
  }
597
598
 
598
599
  .SubNav__link-label {
@@ -703,8 +704,6 @@
703
704
  /* Active link pill styling */
704
705
  .SubNav__links-overlay .SubNav__link[aria-current]:not([aria-current='false']) {
705
706
  background-color: var(--brand-SubNav-color-link-bgColor);
706
- border-radius: var(--brand-borderRadius-full);
707
- padding: var(--base-size-4) var(--base-size-12);
708
707
  line-height: 1.1em;
709
708
  }
710
709
 
@@ -0,0 +1,198 @@
1
+ .Tiles {
2
+ width: 100%;
3
+ color: var(--brand-color-text-default);
4
+ }
5
+
6
+ .Tiles-grid {
7
+ --tiles-columns: 2;
8
+ display: flex;
9
+ flex-wrap: wrap;
10
+ justify-content: center;
11
+ list-style: none;
12
+ margin: 0;
13
+ padding: 0;
14
+ }
15
+
16
+ @media screen and (min-width: 48rem) {
17
+ .Tiles--layout-default .Tiles-grid {
18
+ --tiles-columns: 4;
19
+ }
20
+ }
21
+
22
+ @media screen and (min-width: 63.25rem) {
23
+ .Tiles--layout-default .Tiles-grid {
24
+ --tiles-columns: 6;
25
+ }
26
+ }
27
+
28
+ @media screen and (min-width: 48rem) {
29
+ .Tiles--layout-compact .Tiles-grid {
30
+ --tiles-columns: 4;
31
+ }
32
+ }
33
+
34
+ @media screen and (min-width: 63.25rem) {
35
+ .Tiles--layout-compact .Tiles-grid {
36
+ --tiles-columns: 8;
37
+ }
38
+ }
39
+
40
+ .Tiles--variant-gridlines {
41
+ position: relative;
42
+ }
43
+
44
+ .Tiles--variant-gridlines::before,
45
+ .Tiles--variant-gridlines::after {
46
+ content: '';
47
+ position: absolute;
48
+ left: 50%;
49
+ transform: translateX(-50%);
50
+ width: 100vw;
51
+ height: 0;
52
+ border-top: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
53
+ }
54
+
55
+ .Tiles--variant-gridlines::before {
56
+ top: 0;
57
+ }
58
+
59
+ .Tiles--variant-gridlines::after {
60
+ bottom: 0;
61
+ }
62
+
63
+ .Tiles--variant-gridlines .Tiles-grid {
64
+ position: relative;
65
+ padding-right: var(--brand-borderWidth-thin);
66
+ padding-bottom: var(--brand-borderWidth-thin);
67
+ }
68
+
69
+ .Tiles--variant-gridlines .Tiles-grid::before,
70
+ .Tiles--variant-gridlines .Tiles-grid::after {
71
+ content: '';
72
+ position: absolute;
73
+ top: 0;
74
+ bottom: 0;
75
+ width: 0;
76
+ border-left: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
77
+ z-index: 1;
78
+ pointer-events: none;
79
+ }
80
+
81
+ .Tiles--variant-gridlines .Tiles-grid::before {
82
+ left: 0;
83
+ }
84
+
85
+ .Tiles--variant-gridlines .Tiles-grid::after {
86
+ right: 0;
87
+ }
88
+
89
+ .Tiles-item {
90
+ --tiles-inset-shadow: inset 0 0 0 transparent;
91
+ position: relative;
92
+ display: flex;
93
+ flex-direction: column;
94
+ width: calc(100% / var(--tiles-columns));
95
+ box-sizing: border-box;
96
+ background-color: var(--brand-tiles-bgColor-rest);
97
+ border-top: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
98
+ border-left: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
99
+ box-shadow: var(--brand-borderWidth-thin) 0 0 0 var(--brand-color-border-muted),
100
+ 0 var(--brand-borderWidth-thin) 0 0 var(--brand-color-border-muted), var(--tiles-inset-shadow);
101
+ transition: background-color var(--brand-animation-duration-faster) var(--brand-animation-easing-default),
102
+ box-shadow var(--brand-animation-duration-faster) var(--brand-animation-easing-default);
103
+ }
104
+
105
+ .Tiles-item:has(.Tiles-item-link):hover,
106
+ .Tiles-item:has(.Tiles-item-link):focus-within {
107
+ --tiles-inset-shadow: inset 0 var(--base-size-2) 0 var(--brand-tiles-highlightColor);
108
+ background-color: var(--brand-tiles-bgColor-hover);
109
+ }
110
+
111
+ .Tiles-item-link {
112
+ display: flex;
113
+ width: 100%;
114
+ flex: 1;
115
+ text-decoration: none;
116
+ color: inherit;
117
+ }
118
+
119
+ .Tiles-item-link:focus-visible {
120
+ outline: var(--base-size-4) solid var(--brand-color-focus);
121
+ outline-offset: calc(-1 * var(--base-size-4));
122
+ border-radius: var(--brand-borderRadius-small);
123
+ }
124
+
125
+ .Tiles-item-content {
126
+ position: relative;
127
+ display: flex;
128
+ align-items: center;
129
+ justify-content: center;
130
+ width: 100%;
131
+ aspect-ratio: 1;
132
+ }
133
+
134
+ .Tiles-item-media {
135
+ display: flex;
136
+ align-items: center;
137
+ justify-content: center;
138
+ }
139
+
140
+ .Tiles-item-media svg,
141
+ .Tiles-item-media img {
142
+ width: auto;
143
+ height: var(--base-size-40);
144
+ max-width: 100%;
145
+ }
146
+
147
+ .Tiles--layout-compact .Tiles-item-media svg,
148
+ .Tiles--layout-compact .Tiles-item-media img {
149
+ height: var(--base-size-32);
150
+ }
151
+
152
+ .Tiles-item-label {
153
+ position: absolute;
154
+ bottom: 0;
155
+ left: 0;
156
+ right: 0;
157
+ display: flex;
158
+ align-items: center;
159
+ justify-content: space-between;
160
+ gap: var(--base-size-4);
161
+ padding: var(--base-size-12) var(--base-size-16);
162
+ }
163
+
164
+ .Tiles--layout-compact .Tiles-item-label {
165
+ opacity: 0;
166
+ transform: translateY(var(--base-size-4));
167
+ transition: opacity var(--brand-animation-duration-fast) var(--brand-animation-easing-default),
168
+ transform var(--brand-animation-duration-fast) var(--brand-animation-easing-default);
169
+ pointer-events: none;
170
+ }
171
+
172
+ .Tiles--layout-compact .Tiles-item-link:hover .Tiles-item-label,
173
+ .Tiles--layout-compact .Tiles-item-link:focus-visible .Tiles-item-label {
174
+ opacity: 1;
175
+ transform: translateY(0);
176
+ }
177
+
178
+ .Tiles-item-name {
179
+ white-space: nowrap;
180
+ overflow: hidden;
181
+ text-overflow: ellipsis;
182
+ min-width: 0;
183
+ }
184
+
185
+ .Tiles-item-icon {
186
+ flex-shrink: 0;
187
+ color: var(--brand-color-text-default);
188
+ }
189
+
190
+ @media (prefers-reduced-motion: reduce) {
191
+ .Tiles-item {
192
+ transition: none;
193
+ }
194
+
195
+ .Tiles--layout-compact .Tiles-item-label {
196
+ transition: none;
197
+ }
198
+ }
@@ -2,8 +2,48 @@
2
2
  display: grid;
3
3
  gap: var(--brand-River-spacing-inner);
4
4
  grid-auto-rows: min-content;
5
- padding-top: var(--brand-River-spacing-outer);
6
- padding-bottom: var(--brand-River-spacing-outer);
5
+ padding-inline: var(--brand-River-spacing-outerInline);
6
+ padding-block: var(--brand-River-spacing-outerBlock);
7
+ container-type: inline-size;
8
+ }
9
+
10
+ .River--variant-gridline {
11
+ position: relative;
12
+ padding-inline: var(--brand-River-variant-gridline-spacing-outerInline);
13
+ padding-block: var(--brand-River-variant-gridline-spacing-outerBlock);
14
+ gap: var(--base-size-32);
15
+ }
16
+
17
+ @media screen and (min-width: 48rem) {
18
+ .River--variant-gridline {
19
+ gap: var(--base-size-28);
20
+ }
21
+ }
22
+
23
+ .River--variant-gridline::before,
24
+ .River--variant-gridline::after {
25
+ content: '';
26
+ position: absolute;
27
+ left: 50%;
28
+ transform: translateX(-50%);
29
+ width: 100vw;
30
+ height: 0;
31
+ border-top: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
32
+ z-index: 1;
33
+ }
34
+
35
+ .River--variant-gridline::before {
36
+ top: 0;
37
+ }
38
+
39
+ .River--variant-gridline::after {
40
+ bottom: 0;
41
+ }
42
+
43
+ @media screen and (min-width: 80rem) {
44
+ .River--variant-gridline {
45
+ border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
46
+ }
7
47
  }
8
48
 
9
49
  .River--align-center {
@@ -32,12 +72,62 @@
32
72
  box-shadow: var(--brand-River-visual-shadow);
33
73
  }
34
74
 
75
+ .River--variant-gridline .River__visual--has-background {
76
+ display: flex;
77
+ align-items: center;
78
+ justify-content: center;
79
+ background-color: var(--brand-color-canvas-subtle);
80
+ padding: var(--base-size-32);
81
+ border-radius: 0;
82
+ margin-inline: calc(-1 * var(--brand-River-variant-gridline-spacing-outerInline));
83
+ }
84
+
85
+ .River--variant-gridline .River__visual--has-background img,
86
+ .River--variant-gridline .River__visual--has-background picture,
87
+ .River--variant-gridline .River__visual--has-background video {
88
+ max-width: 100%;
89
+ height: auto;
90
+ width: auto;
91
+ border-radius: var(--brand-borderRadius-large);
92
+ }
93
+
94
+ @media screen and (max-width: 47.99rem) {
95
+ .River--variant-gridline .River__visual--has-background {
96
+ align-items: flex-end;
97
+ justify-content: flex-end;
98
+ padding-block-end: 0;
99
+ padding-inline-end: 0;
100
+ }
101
+
102
+ .River--variant-gridline .River__visual--has-background img,
103
+ .River--variant-gridline .River__visual--has-background picture,
104
+ .River--variant-gridline .River__visual--has-background video {
105
+ border-end-start-radius: 0;
106
+ border-end-end-radius: 0;
107
+ border-start-end-radius: 0;
108
+ }
109
+ }
110
+
111
+ @media screen and (min-width: 48rem) and (max-width: 63.24rem) {
112
+ .River--variant-gridline .River__visual--has-background {
113
+ align-items: flex-end;
114
+ padding-block-end: 0;
115
+ }
116
+
117
+ .River--variant-gridline .River__visual--has-background img,
118
+ .River--variant-gridline .River__visual--has-background picture,
119
+ .River--variant-gridline .River__visual--has-background video {
120
+ border-end-start-radius: 0;
121
+ border-end-end-radius: 0;
122
+ }
123
+ }
124
+
35
125
  .River__heading {
36
126
  margin-bottom: var(--brand-River-heading-margin);
37
127
  }
38
128
 
39
129
  .River__call-to-action {
40
- margin-top: var(--base-size-24);
130
+ margin-top: var(--base-size-20);
41
131
  }
42
132
 
43
133
  .River__text strong,
@@ -46,6 +136,36 @@
46
136
  color: var(--brand-color-text-default);
47
137
  }
48
138
 
139
+ .River__heading code,
140
+ .River__text code {
141
+ font-size: inherit;
142
+ font-family: var(--brand-fontStack-monospace) !important;
143
+ background-color: var(--brand-color-canvas-subtle);
144
+ padding: 0 var(--base-size-4) var(--base-size-2);
145
+ margin-inline: var(--base-size-2);
146
+ border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);
147
+ border-radius: var(--brand-borderRadius-small);
148
+ box-shadow: var(--brand-borderWidth-thin) var(--brand-borderWidth-thin) 0 0 var(--brand-color-border-default);
149
+ }
150
+
151
+ .River__text code {
152
+ padding: var(--base-size-2) var(--base-size-4) 0;
153
+ }
154
+
155
+ .River__heading-inner:has(code) {
156
+ line-height: calc(1lh * 1.8);
157
+ }
158
+
159
+ @media screen and (min-width: 64rem) {
160
+ .River__heading-inner:has(code) {
161
+ line-height: calc(1lh * 2.1);
162
+ }
163
+ }
164
+
165
+ .River__text:has(code) {
166
+ line-height: calc(1lh * 1.1);
167
+ }
168
+
49
169
  .River__trailingComponent {
50
170
  margin-block-start: var(--brand-River-spacing-inner);
51
171
  }
@@ -59,12 +179,47 @@
59
179
  margin-block-end: var(--brand-River-label-margin);
60
180
  }
61
181
 
62
- /* Medium breakpoint and up */
63
- @media screen and (min-width: 48rem) {
182
+ .River--variant-gridline.River--align-start .River__visual {
183
+ order: 1;
184
+ }
185
+
186
+ .River--variant-gridline.River--align-start .River__content {
187
+ order: 2;
188
+ }
189
+
190
+ .River--variant-gridline.River--align-end .River__content {
191
+ order: 1;
192
+ }
193
+
194
+ .River--variant-gridline.River--align-end .River__visual {
195
+ order: 2;
196
+ }
197
+
198
+ @media screen and (max-width: 63.24rem) {
199
+ .River--variant-gridline.River--align-start .River__visual--has-background {
200
+ margin-block-start: calc(-1 * var(--brand-River-variant-gridline-spacing-outerBlock));
201
+ }
202
+
203
+ .River--variant-gridline.River--align-end .River__visual--has-background {
204
+ margin-block-end: calc(-1 * var(--brand-River-variant-gridline-spacing-outerBlock));
205
+ }
206
+
207
+ .River--variant-gridline.River--align-center .River__visual--has-background {
208
+ margin-block-start: calc(-1 * var(--brand-River-variant-gridline-spacing-outerBlock));
209
+ }
210
+ }
211
+
212
+ /* Large breakpoint and up */
213
+ @media screen and (min-width: 63.25rem) {
64
214
  .River {
65
215
  grid-template-rows: unset;
66
216
  }
67
217
 
218
+ .River--variant-gridline .River__visual--has-background {
219
+ padding: var(--base-size-64);
220
+ margin: 0;
221
+ }
222
+
68
223
  .River__content {
69
224
  order: unset;
70
225
  }
@@ -89,12 +244,37 @@
89
244
  grid-template-columns: [visual] 6fr [content] 4fr;
90
245
  }
91
246
 
247
+ .River--variant-gridline.River--align-start.River--50-50:not(:has(.River__visual--has-background)) .River__visual {
248
+ margin-inline-start: calc(var(--base-size-80) + var(--base-size-8));
249
+ }
250
+
251
+ .River--variant-gridline.River--align-end.River--50-50:not(:has(.River__visual--has-background)) .River__visual {
252
+ margin-inline-end: calc(var(--base-size-80) + var(--base-size-8));
253
+ }
254
+
92
255
  .River__content {
93
256
  display: grid;
94
257
  align-content: center;
95
258
  grid-area: content;
96
259
  }
97
260
 
261
+ .River--50-50:not(.River--variant-gridline) .River__body-text,
262
+ .River--50-50:not(.River--variant-gridline) .River__heading {
263
+ max-width: 400px;
264
+ }
265
+
266
+ .River--align-start:not(.River--variant-gridline) .River__content {
267
+ padding-inline-end: var(--base-size-128);
268
+ }
269
+
270
+ .River--align-end:not(.River--variant-gridline) .River__content {
271
+ padding-inline-start: var(--base-size-128);
272
+ }
273
+
274
+ .River__content--align-block-end {
275
+ align-content: end;
276
+ }
277
+
98
278
  .River__visual {
99
279
  grid-area: visual;
100
280
  }
@@ -122,21 +302,90 @@
122
302
  .River--align-center .River__content {
123
303
  margin-top: var(--brand-River-spacing-inner);
124
304
  }
125
- }
126
305
 
127
- /* Large breakpoint and up */
128
- @media screen and (min-width: 63.25rem) {
129
- .River--50-50 .River__body-text,
130
- .River--50-50 .River__heading {
131
- max-width: 400px;
306
+ .River--variant-gridline:not(.River--align-center):has(.River__visual--has-background) {
307
+ padding: 0;
308
+ gap: 0;
309
+ }
310
+
311
+ .River--variant-gridline.River--50-50:not(.River--align-center):has(.River__visual--has-background) {
312
+ grid-template-columns: 1fr 1fr;
313
+ }
314
+
315
+ .River--variant-gridline.River--60-40:not(.River--align-center):has(.River__visual--has-background) {
316
+ grid-template-columns: 560fr 676fr;
132
317
  }
133
318
 
134
- .River--align-start .River__content {
319
+ .River--variant-gridline.River--align-end.River--60-40:has(.River__visual--has-background) {
320
+ grid-template-columns: 676fr 560fr;
321
+ }
322
+
323
+ .River--variant-gridline.River--align-start:has(.River__visual--has-background) .River__content {
324
+ padding-inline-start: var(--base-size-64);
325
+ padding-inline-end: var(--brand-River-spacing-inner);
326
+ padding-block: var(--brand-River-variant-gridline-spacing-outerBlock);
327
+ }
328
+
329
+ .River--variant-gridline.River--50-50.River--align-start:has(.River__visual--has-background) .River__content {
330
+ padding-inline-end: calc(var(--base-size-80) + var(--base-size-32));
331
+ }
332
+
333
+ .River--variant-gridline.River--60-40.River--align-start:has(.River__visual--has-background) .River__content {
135
334
  padding-inline-end: var(--base-size-128);
136
335
  }
137
336
 
138
- .River--align-end .River__content {
139
- padding-inline: var(--base-size-64);
337
+ .River--variant-gridline.River--align-end:has(.River__visual--has-background) .River__content {
338
+ padding-inline-start: var(--brand-River-spacing-inner);
339
+ padding-inline-end: var(--base-size-64);
340
+ padding-block: var(--brand-River-variant-gridline-spacing-outerBlock);
341
+ }
342
+
343
+ .River--variant-gridline.River--50-50.River--align-end:has(.River__visual--has-background) .River__content {
344
+ padding-inline-start: calc(var(--base-size-80) + var(--base-size-32));
345
+ }
346
+
347
+ .River--variant-gridline.River--60-40.River--align-end:has(.River__visual--has-background) .River__content {
348
+ padding-inline-start: var(--base-size-128);
349
+ }
350
+
351
+ .River--variant-gridline.River--align-start:not(:has(.River__visual--has-background)) .River__content {
352
+ padding-inline-end: var(--brand-River-spacing-inner);
353
+ }
354
+
355
+ .River--variant-gridline.River--align-end:not(:has(.River__visual--has-background)) .River__content {
356
+ padding-inline-start: var(--brand-River-spacing-inner);
357
+ }
358
+
359
+ .River--variant-gridline.River--50-50:not(.River--align-center) .River__visual--has-background {
360
+ margin-inline-start: 0;
361
+ margin-inline-end: 0;
362
+ }
363
+
364
+ .River--variant-gridline.River--align-center:has(.River__visual--has-background) {
365
+ padding: 0;
366
+ }
367
+
368
+ .River--variant-gridline.River--align-center .River__visual--has-background {
369
+ width: 100%;
370
+ margin: 0;
371
+ }
372
+
373
+ .River--variant-gridline.River--align-center .River__visual {
374
+ margin-bottom: 0;
375
+ }
376
+
377
+ .River--variant-gridline.River--align-center {
378
+ gap: 0;
379
+ }
380
+
381
+ .River--variant-gridline.River--align-center .River__content {
382
+ margin-top: 0;
383
+ margin-bottom: var(--base-size-64);
384
+ }
385
+
386
+ .River--variant-gridline.River--align-center:has(.River__visual--has-background) .River__content {
387
+ padding-inline: var(--brand-River-variant-gridline-spacing-outerInline);
388
+ padding-block-start: var(--brand-River-variant-gridline-spacing-outerBlock);
140
389
  }
141
390
  }
142
391
 
@@ -144,8 +393,8 @@
144
393
  display: flex;
145
394
  flex-direction: column;
146
395
  gap: var(--brand-RiverBreakout-spacing-inner);
147
- padding-block-end: var(--brand-River-spacing-outer);
148
- padding-block-start: var(--brand-River-spacing-outer);
396
+ padding-block-end: var(--brand-River-spacing-outerBlock);
397
+ padding-block-start: var(--brand-River-spacing-outerBlock);
149
398
  }
150
399
 
151
400
  .RiverBreakout .River__text {
@@ -179,7 +428,7 @@
179
428
  }
180
429
 
181
430
  .RiverBreakout .River__call-to-action {
182
- margin-block-end: var(--base-size-40);
431
+ padding-block-start: var(--base-size-12);
183
432
  }
184
433
 
185
434
  @media screen and (min-width: 48rem) {
@@ -209,3 +458,187 @@
209
458
  margin-block-start: 0;
210
459
  }
211
460
  }
461
+
462
+ .RiverBreakout--variant-gridline {
463
+ position: relative;
464
+ padding-inline: var(--brand-RiverBreakout-variant-gridline-spacing-outerInline);
465
+ padding-block-start: var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);
466
+ padding-block-end: 0;
467
+ gap: 0;
468
+ }
469
+
470
+ .RiverBreakout--variant-gridline::before,
471
+ .RiverBreakout--variant-gridline::after {
472
+ content: '';
473
+ position: absolute;
474
+ left: 50%;
475
+ transform: translateX(-50%);
476
+ width: 100vw;
477
+ height: 0;
478
+ border-top: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
479
+ }
480
+
481
+ .RiverBreakout--variant-gridline::before {
482
+ top: 0;
483
+ }
484
+
485
+ .RiverBreakout--variant-gridline::after {
486
+ bottom: 0;
487
+ }
488
+
489
+ @media screen and (min-width: 80rem) {
490
+ .RiverBreakout--variant-gridline {
491
+ border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
492
+ }
493
+ }
494
+
495
+ .RiverBreakout--variant-gridline .River__visual {
496
+ overflow: hidden;
497
+ }
498
+
499
+ .RiverBreakout--variant-gridline .River__visual--rounded {
500
+ border-radius: var(--brand-borderRadius-large);
501
+ }
502
+
503
+ .RiverBreakout--variant-gridline .River__content {
504
+ padding-block-start: var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);
505
+ padding-block-end: var(--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd);
506
+ gap: var(--brand-RiverBreakout-variant-gridline-spacing-contentGap);
507
+ }
508
+
509
+ .RiverBreakout--variant-gridline .River__call-to-action {
510
+ padding-block-start: var(--base-size-12);
511
+ }
512
+
513
+ .RiverBreakout--variant-gridline .River__trailingComponent--divider {
514
+ padding-block-start: var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);
515
+ padding-block-end: var(--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd);
516
+ border-top: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
517
+ margin-inline: calc(-1 * var(--brand-RiverBreakout-variant-gridline-spacing-outerInline));
518
+ padding-inline: var(--brand-RiverBreakout-variant-gridline-spacing-outerInline);
519
+ }
520
+
521
+ /* Reset base RiverBreakout grid for gridline variant until desktop breakpoint */
522
+ @media screen and (min-width: 48rem) and (max-width: 63.24rem) {
523
+ .RiverBreakout--variant-gridline .River__content {
524
+ display: flex;
525
+ flex-direction: column;
526
+ }
527
+
528
+ .RiverBreakout--variant-gridline .River__trailingComponent {
529
+ margin-block-start: 0;
530
+ }
531
+ }
532
+
533
+ @media screen and (min-width: 63.25rem) {
534
+ .RiverBreakout--variant-gridline:has(.River__trailingComponent--divider) {
535
+ padding-block-end: 0;
536
+ }
537
+
538
+ .RiverBreakout--variant-gridline .River__content {
539
+ display: grid;
540
+ grid-template-areas:
541
+ 'text trailingComponent'
542
+ 'cta trailingComponent';
543
+ grid-template-columns: 1fr var(--brand-RiverBreakout-gridline-trailing-width, 31rem);
544
+ grid-template-rows: auto 1fr;
545
+ gap: var(--brand-RiverBreakout-variant-gridline-spacing-contentGap);
546
+ flex: 1;
547
+ padding-block: 0;
548
+ }
549
+
550
+ .RiverBreakout--variant-gridline .River__text {
551
+ grid-area: text;
552
+ padding-block-start: var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);
553
+ }
554
+
555
+ .RiverBreakout--variant-gridline .River__call-to-action {
556
+ grid-area: cta;
557
+ margin-block: 0;
558
+ padding-block-end: var(--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd);
559
+ }
560
+
561
+ .RiverBreakout--variant-gridline .River__trailingComponent {
562
+ grid-area: trailingComponent;
563
+ margin-block-start: 0;
564
+ }
565
+
566
+ .RiverBreakout--variant-gridline .River__trailingComponent--divider {
567
+ border-top: none;
568
+ border-left: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
569
+ margin-inline: 0;
570
+ margin-block: 0;
571
+ padding-inline: 0;
572
+ padding-inline-start: var(--brand-RiverBreakout-variant-gridline-spacing-outerInline);
573
+ padding-block: 0;
574
+ padding-block-start: var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);
575
+ padding-block-end: var(--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd);
576
+ align-self: stretch;
577
+ }
578
+ }
579
+
580
+ /* Gridline + background: remove outer container top padding (background fills to top edge) */
581
+ .RiverBreakout--variant-gridline:has(.River__visual--has-background) {
582
+ padding-block-start: 0;
583
+ }
584
+
585
+ .RiverBreakout .River__visual--has-background {
586
+ display: flex;
587
+ align-items: center;
588
+ justify-content: center;
589
+ background-color: var(--brand-color-canvas-subtle);
590
+ border-radius: 0;
591
+ overflow: hidden;
592
+ }
593
+
594
+ .RiverBreakout .River__visual--has-background img,
595
+ .RiverBreakout .River__visual--has-background picture,
596
+ .RiverBreakout .River__visual--has-background video {
597
+ max-width: 100%;
598
+ height: auto;
599
+ width: auto;
600
+ border-radius: var(--brand-borderRadius-large);
601
+ }
602
+
603
+ .RiverBreakout--variant-gridline .River__visual--has-background {
604
+ margin-inline: calc(-1 * var(--brand-RiverBreakout-variant-gridline-spacing-outerInline));
605
+ padding: var(--base-size-32);
606
+ }
607
+
608
+ @media screen and (max-width: 47.99rem) {
609
+ .RiverBreakout--variant-gridline .River__visual--has-background {
610
+ align-items: flex-end;
611
+ padding-block-end: 0;
612
+ }
613
+
614
+ .RiverBreakout--variant-gridline .River__visual--has-background img,
615
+ .RiverBreakout--variant-gridline .River__visual--has-background picture,
616
+ .RiverBreakout--variant-gridline .River__visual--has-background video {
617
+ border-end-start-radius: 0;
618
+ border-end-end-radius: 0;
619
+ }
620
+ }
621
+
622
+ @media screen and (min-width: 48rem) and (max-width: 63.24rem) {
623
+ .RiverBreakout--variant-gridline .River__visual--has-background {
624
+ align-items: flex-end;
625
+ padding-block-end: 0;
626
+ }
627
+
628
+ .RiverBreakout--variant-gridline .River__visual--has-background img,
629
+ .RiverBreakout--variant-gridline .River__visual--has-background picture,
630
+ .RiverBreakout--variant-gridline .River__visual--has-background video {
631
+ border-end-start-radius: 0;
632
+ border-end-end-radius: 0;
633
+ }
634
+ }
635
+
636
+ @media screen and (min-width: 63.25rem) {
637
+ .RiverBreakout--variant-gridline .River__visual--has-background {
638
+ padding: var(--base-size-64);
639
+ }
640
+
641
+ .RiverBreakout--variant-gridline .River__visual--has-background.River__visual--rounded {
642
+ border-radius: 0;
643
+ }
644
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/brand-css",
3
- "version": "0.65.0-rc.dd3b4470",
3
+ "version": "0.65.0",
4
4
  "description": "CSS stylesheets for Primer Brand components",
5
5
  "keywords": [
6
6
  "primer",