@primer/brand-css 0.64.1-rc.9bfb4676 → 0.65.0-rc.0d69fc03

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 {
@@ -19,14 +19,84 @@
19
19
  );
20
20
  }
21
21
 
22
+ /* Heading size overrides for balanced and minimal variants */
23
+ .CTABanner--variant-balanced .CTABanner-heading {
24
+ font-weight: var(--brand-heading-weight-700);
25
+ font-size: var(--brand-text-size-700);
26
+ line-height: var(--brand-heading-lineHeight-700);
27
+ letter-spacing: var(--brand-heading-letterSpacing-700);
28
+ }
29
+
30
+ .CTABanner--variant-minimal .CTABanner-heading {
31
+ font-weight: var(--brand-heading-weight-400);
32
+ font-size: var(--brand-text-size-400);
33
+ line-height: var(--brand-text-lineHeight-400);
34
+ letter-spacing: var(--brand-heading-letterSpacing-400);
35
+ }
36
+
37
+ .CTABanner-grid {
38
+ gap: 0;
39
+ --brand-Grid-spacing-row: 0;
40
+ padding-inline: 0;
41
+ }
42
+
43
+ .CTABanner-grid-column--primary {
44
+ display: flex;
45
+ align-items: center;
46
+ }
47
+
48
+ .CTABanner-grid-column--secondary {
49
+ display: flex;
50
+ align-items: center;
51
+ justify-content: center;
52
+ }
53
+
54
+ .CTABanner--variant-minimal .CTABanner-grid-column--secondary {
55
+ justify-content: flex-end;
56
+ }
57
+
58
+ .CTABanner--variant-balanced .CTABanner-grid-column--secondary {
59
+ justify-content: flex-start;
60
+ }
61
+
62
+ @media screen and (min-width: 63.25rem) {
63
+ .CTABanner--variant-balanced .CTABanner-grid-column--secondary {
64
+ justify-content: flex-end;
65
+ }
66
+ }
67
+
68
+ /* Stack on narrow viewports */
69
+ @media screen and (max-width: 63.24rem) {
70
+ .CTABanner--variant-minimal .CTABanner-grid-column--secondary {
71
+ justify-content: flex-start;
72
+ }
73
+
74
+ .CTABanner-grid-column--secondary {
75
+ margin-block-start: var(--base-size-24);
76
+ }
77
+ }
78
+
79
+ .CTABanner-outer-container--border {
80
+ border-block: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
81
+ }
82
+
22
83
  .CTABanner-container {
23
- border-radius: var(--brand-borderRadius-xlarge);
24
- padding: var(--base-size-40) var(--base-size-32);
84
+ padding: var(--base-size-64) var(--base-size-32);
25
85
  z-index: 1;
26
86
  width: 100%;
27
87
  box-sizing: border-box;
28
88
  }
29
89
 
90
+ .CTABanner--variant-balanced .CTABanner-container {
91
+ padding-inline: var(--base-size-20);
92
+ padding-block: var(--base-size-32);
93
+ }
94
+
95
+ .CTABanner--variant-minimal .CTABanner-container {
96
+ padding-inline: var(--base-size-20);
97
+ padding-block: var(--base-size-40);
98
+ }
99
+
30
100
  .CTABanner-content {
31
101
  display: flex;
32
102
  flex-direction: column;
@@ -36,10 +106,19 @@
36
106
  margin: 0 auto;
37
107
  }
38
108
 
109
+ .CTABanner--variant-minimal .CTABanner-content {
110
+ gap: 0;
111
+ }
112
+
113
+ .CTABanner--variant-balanced .CTABanner-content,
114
+ .CTABanner--variant-minimal .CTABanner-content {
115
+ max-width: 576px;
116
+ margin: 0;
117
+ }
118
+
39
119
  .CTABanner-container--background {
40
- border-radius: var(--brand-borderRadius-xlarge);
41
120
  background-repeat: no-repeat;
42
- background-color: var(--brand-CTABanner-narrow-background-color, var(--brand-CTABanner-background-color));
121
+ background-color: var(--brand-CTABanner-bgColor);
43
122
  background-image: var(--brand-CTABanner-narrow-background-image-src, var(--brand-CTABanner-background-image-src));
44
123
  background-size: var(--brand-CTABanner-narrow-background-image-size, var(--brand-CTABanner-background-image-size));
45
124
 
@@ -50,7 +129,13 @@
50
129
  }
51
130
 
52
131
  .CTABanner-container--border {
53
- border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);
132
+ border: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
133
+ }
134
+
135
+ .CTABanner-container--border-gridlines {
136
+ border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
137
+ margin-inline: auto;
138
+ max-width: 534px; /* To match tablet for river */
54
139
  }
55
140
 
56
141
  .CTABanner-content--center {
@@ -65,22 +150,19 @@
65
150
  /* Medium breakpoint and up */
66
151
  @media screen and (min-width: 48rem) {
67
152
  .CTABanner-container {
68
- padding: var(--base-size-80) var(--base-size-64);
153
+ padding: var(--base-size-80) var(--base-size-36);
69
154
  }
70
- }
71
155
 
72
- /* Large breakpoint and up */
73
- @media screen and (min-width: 63.25rem) {
74
- .CTABanner-content {
75
- gap: var(--base-size-24);
156
+ .CTABanner--variant-balanced .CTABanner-container {
157
+ padding: var(--base-size-36);
158
+ padding-block-end: var(--base-size-48);
76
159
  }
77
- .CTABanner-container {
78
- padding: var(--base-size-128) var(--base-size-64);
160
+
161
+ .CTABanner--variant-minimal .CTABanner-container {
162
+ padding: var(--base-size-36);
163
+ padding-block: var(--base-size-48);
79
164
  }
80
- }
81
165
 
82
- /* Regular */
83
- @media screen and (min-width: 48rem) {
84
166
  .CTABanner-container--background {
85
167
  background-color: var(--brand-CTABanner-regular-background-color, var(--brand-CTABanner-background-color));
86
168
  background-image: var(--brand-CTABanner-regular-background-image-src, var(--brand-CTABanner-background-image-src));
@@ -92,6 +174,28 @@
92
174
  }
93
175
  }
94
176
 
177
+ /* Large breakpoint and up */
178
+ @media screen and (min-width: 63.25rem) {
179
+ .CTABanner-content {
180
+ gap: var(--base-size-24);
181
+ }
182
+ .CTABanner--variant-balanced .CTABanner-content {
183
+ gap: var(--base-size-16);
184
+ }
185
+ .CTABanner-container {
186
+ padding: var(--base-size-96) var(--base-size-64);
187
+ max-width: 100%;
188
+ }
189
+
190
+ .CTABanner--variant-balanced .CTABanner-container {
191
+ padding: var(--base-size-64);
192
+ }
193
+
194
+ .CTABanner--variant-minimal .CTABanner-container {
195
+ padding: var(--base-size-64);
196
+ }
197
+ }
198
+
95
199
  /* Wide */
96
200
  @media screen and (min-width: 80rem) {
97
201
  .CTABanner-container--background {
@@ -105,3 +209,14 @@
105
209
  );
106
210
  }
107
211
  }
212
+
213
+ .CTABanner-image {
214
+ width: 100%;
215
+ height: auto;
216
+ }
217
+
218
+ .CTABanner--variant-balanced .CTABanner-image {
219
+ max-width: 476px;
220
+ width: 100%;
221
+ height: auto;
222
+ }
@@ -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
+ }