@primer/brand-css 0.68.0-rc.5bd56cbb → 0.68.0-rc.b6d410ef

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.
@@ -70,6 +70,10 @@
70
70
  padding: var(--brand-control-medium-paddingBlock-condensed) var(--brand-control-medium-paddingInline-normal); /* Override the default button padding */
71
71
  }
72
72
 
73
+ .ActionMenu__inner-button-dropdown-icon {
74
+ vertical-align: middle !important;
75
+ }
76
+
73
77
  .ActionMenu__innerButton--split-button:last-child {
74
78
  border-top-left-radius: 0;
75
79
  border-bottom-left-radius: 0;
@@ -8,12 +8,13 @@
8
8
  vertical-align: middle;
9
9
  align-items: center;
10
10
  justify-content: center;
11
- transition: box-shadow var(--brand-animation-duration-faster);
11
+ transition: background-color 0.2s, border-color 0.2s;
12
12
  text-decoration: none;
13
- border-radius: var(--brand-borderRadius-medium);
13
+ border-radius: var(--base-size-6);
14
14
  cursor: pointer;
15
- border: solid var(--brand-borderWidth-thick) transparent;
15
+ border: solid var(--brand-borderWidth-thin) transparent;
16
16
  background: none;
17
+ box-sizing: border-box;
17
18
  display: inline-flex;
18
19
  gap: var(--brand-control-medium-gap);
19
20
  }
@@ -34,10 +35,21 @@
34
35
  cursor: not-allowed;
35
36
  }
36
37
 
38
+ .Button--size-small .Button__text {
39
+ display: flex;
40
+ }
41
+
37
42
  .Button__text {
38
43
  position: relative;
39
44
  }
40
45
 
46
+ .Button--label {
47
+ font-family: var(--brand-body-fontFamily);
48
+ font-style: normal;
49
+ font-weight: var(--base-text-weight-medium);
50
+ text-align: center;
51
+ }
52
+
41
53
  .Button__icon-visual {
42
54
  display: flex;
43
55
  align-self: center;
@@ -63,19 +75,20 @@
63
75
  .Button--primary {
64
76
  color: var(--brand-button-primary-fgColor-rest);
65
77
  background-color: var(--brand-button-primary-bgColor-rest);
66
- border: solid var(--brand-borderWidth-thin) var(--brand-button-primary-borderColor-rest);
78
+ }
79
+
80
+ .Button--size-small.Button--primary {
81
+ border-width: var(--brand-borderWidth-thin);
67
82
  }
68
83
 
69
84
  .Button--primary:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {
70
85
  background-color: var(--brand-button-primary-bgColor-hover);
71
- border-color: var(--brand-button-primary-borderColor-hover);
72
86
  }
73
87
 
74
88
  .Button--primary:not(.Button[disabled], .Button[aria-disabled='true']):active,
75
89
  .Button--primary[aria-expanded='true'] {
76
- background-color: var(--brand-button-primary-bgColor-active);
90
+ background: var(--brand-button-primary-bgColor-active);
77
91
  border-color: var(--brand-button-primary-borderColor-active);
78
- box-shadow: var(--brand-button-primary-shadow-active);
79
92
  }
80
93
 
81
94
  .Button--label-primary {
@@ -86,7 +99,6 @@
86
99
  .Button--primary[aria-disabled='true'],
87
100
  .Button--primary.Button--disabled {
88
101
  background-color: var(--brand-button-primary-bgColor-disabled);
89
- border-color: var(--brand-button-primary-borderColor-disabled);
90
102
  }
91
103
 
92
104
  .Button--primary:disabled .Button-arrow--disabled,
@@ -99,61 +111,23 @@
99
111
  color: var(--brand-button-primary-fgColor-disabled);
100
112
  }
101
113
 
102
- /* accent */
103
-
104
- .Button--accent {
105
- color: var(--brand-button-accent-fgColor-rest);
106
- background-color: var(--brand-button-accent-bgColor-rest);
107
- }
108
-
109
- .Button--size-small.Button--accent {
110
- border-width: var(--brand-borderWidth-thin);
111
- }
112
-
113
- .Button--accent:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {
114
- background: var(--brand-button-accent-bgColor-hover);
115
- }
116
-
117
- .Button--accent:not(.Button[disabled], .Button[aria-disabled='true']):active,
118
- .Button--accent[aria-expanded='true'] {
119
- background-color: var(--brand-button-accent-bgColor-active);
120
- border-color: var(--brand-button-accent-borderColor-active);
121
- }
122
-
123
- .Button--label-accent {
124
- color: var(--brand-button-accent-fgColor-rest);
125
- }
126
-
127
- .Button--accent:disabled,
128
- .Button--accent[aria-disabled='true'],
129
- .Button--accent.Button--disabled {
130
- background-color: var(--brand-button-accent-bgColor-disabled);
131
- }
132
-
133
- .Button--accent:disabled .Button-arrow--disabled,
134
- .Button--accent[aria-disabled='true'] .Button-arrow--disabled,
135
- .Button--accent.Button--disabled .Button-arrow--disabled,
136
- .Button--accent:disabled .Button__icon-visual--disabled,
137
- .Button--accent[aria-disabled='true'] .Button__icon-visual--disabled,
138
- .Button--accent.Button--disabled .Button__icon-visual--disabled,
139
- .Button--label-accent.Button-label--disabled {
140
- color: var(--brand-button-accent-fgColor-disabled);
141
- }
142
-
143
114
  /* secondary */
144
115
 
145
116
  .Button--secondary {
146
- transition: background-color, border-color 200ms;
117
+ background-color: var(--brand-button-secondary-bgColor-rest);
147
118
  border-color: var(--brand-button-secondary-borderColor-rest);
148
119
  color: var(--brand-button-secondary-fgColor-rest);
120
+ backdrop-filter: blur(var(--base-size-20));
149
121
  }
150
122
 
151
123
  .Button--secondary:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {
124
+ background-color: var(--brand-button-secondary-bgColor-hover);
152
125
  border-color: var(--brand-button-secondary-borderColor-hover);
153
126
  }
154
127
 
155
128
  .Button--secondary:not(.Button[disabled], .Button[aria-disabled='true']):active,
156
129
  .Button--secondary[aria-expanded='true'] {
130
+ background-color: var(--brand-button-secondary-bgColor-active);
157
131
  border-color: var(--brand-button-secondary-borderColor-active);
158
132
  }
159
133
 
@@ -175,18 +149,21 @@
175
149
 
176
150
  .Button--subtle {
177
151
  background-color: var(--brand-button-subtle-bgColor-rest);
152
+ border-width: var(--brand-borderWidth-thin);
153
+ border-color: var(--brand-button-subtle-borderColor-rest);
178
154
  color: var(--brand-color-text-default);
179
- transition: background-color, border-color var(--brand-animation-duration-faster);
155
+ backdrop-filter: blur(var(--base-size-20));
180
156
  }
181
157
 
182
158
  .Button--subtle:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {
183
159
  background-color: var(--brand-button-subtle-bgColor-hover);
160
+ border-color: var(--brand-button-subtle-borderColor-hover);
184
161
  }
185
162
 
186
163
  .Button--subtle:not(.Button[disabled], .Button[aria-disabled='true']):active,
187
164
  .Button--subtle[aria-expanded='true'] {
188
165
  background-color: var(--brand-button-subtle-bgColor-active);
189
- border-color: transparent;
166
+ border-color: var(--brand-button-subtle-borderColor-active);
190
167
  }
191
168
 
192
169
  .Button--label-subtle {
@@ -212,7 +189,7 @@
212
189
 
213
190
  .Button--size-medium {
214
191
  min-height: var(--brand-control-medium-size);
215
- padding: var(--brand-control-medium-paddingBlock-condensed) var(--brand-control-medium-paddingInline-spacious);
192
+ padding: var(--brand-control-medium-paddingBlock-condensed) var(--base-size-20);
216
193
  }
217
194
 
218
195
  .Button--size-large {
@@ -227,8 +204,9 @@
227
204
  }
228
205
 
229
206
  .Button--label-medium {
230
- font-size: var(--brand-text-subhead-size-medium);
231
- line-height: var(--brand-text-subhead-lineHeight-medium);
207
+ font-size: var(--brand-text-size-200);
208
+ line-height: var(--brand-text-lineHeight-200);
209
+ letter-spacing: 0.01rem;
232
210
  }
233
211
 
234
212
  .Button--label-large {
@@ -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-16);
249
+ margin-block-end: calc(var(--base-size-16) - var(--base-size-2));
250
250
  display: flex;
251
251
  align-items: center;
252
252
  }
@@ -44,7 +44,7 @@
44
44
 
45
45
  .Icon--background {
46
46
  padding: var(--base-size-12);
47
- border-radius: var(--brand-borderRadius-medium);
47
+ border-radius: var(--base-size-12);
48
48
  }
49
49
 
50
50
  .Icon--color-default {
@@ -1,10 +1,13 @@
1
1
  .Pillar {
2
- max-width: 50ch;
3
2
  color: var(--brand-color-text-default);
4
3
  display: flex;
5
4
  flex-direction: column;
6
5
  }
7
6
 
7
+ .Pillar--has-max-width {
8
+ max-width: 50ch;
9
+ }
10
+
8
11
  .Pillar--has-border {
9
12
  border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);
10
13
  border-radius: var(--brand-borderRadius-medium);
@@ -28,7 +31,8 @@
28
31
  }
29
32
 
30
33
  .Pillar__image img,
31
- .Pillar__image span {
34
+ .Pillar__image span,
35
+ .Pillar__image picture {
32
36
  display: block;
33
37
  }
34
38
 
@@ -30,26 +30,6 @@
30
30
  }
31
31
  }
32
32
 
33
- .SectionIntroStacked--variant-gridline::before,
34
- .SectionIntroStacked--variant-gridline::after {
35
- content: '';
36
- position: absolute;
37
- left: 50%;
38
- transform: translateX(-50%);
39
- width: 100vw;
40
- height: 0;
41
- border-top: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
42
- z-index: 1;
43
- }
44
-
45
- .SectionIntroStacked--variant-gridline::before {
46
- top: 0;
47
- }
48
-
49
- .SectionIntroStacked--variant-gridline::after {
50
- bottom: 0;
51
- }
52
-
53
33
  @media screen and (min-width: 80rem) {
54
34
  .SectionIntroStacked--variant-gridline {
55
35
  border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
@@ -37,29 +37,6 @@
37
37
  }
38
38
  }
39
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
40
  .Tiles--variant-gridlines .Tiles-grid {
64
41
  position: relative;
65
42
  padding-right: var(--brand-borderWidth-thin);
@@ -0,0 +1,32 @@
1
+ /*
2
+ * .gridline: horizontal gridlines that span the visible viewport, breaking
3
+ * out of constrained-width parents. Uses border-image-outset to extend the
4
+ * line visually without affecting layout or causing scrollbar overflow.
5
+ */
6
+
7
+ .gridline {
8
+ position: relative;
9
+ }
10
+
11
+ .gridline::before,
12
+ .gridline::after {
13
+ content: '';
14
+ position: absolute;
15
+ left: 0;
16
+ right: 0;
17
+ height: 0;
18
+ border-top: var(--brand-borderWidth-thin) solid;
19
+ -o-border-image: linear-gradient(var(--brand-color-border-muted), var(--brand-color-border-muted)) 1;
20
+ border-image: linear-gradient(var(--brand-color-border-muted), var(--brand-color-border-muted)) 1;
21
+ border-image-outset: 0 100vw;
22
+ z-index: 1;
23
+ pointer-events: none;
24
+ }
25
+
26
+ .gridline::before {
27
+ top: 0;
28
+ }
29
+
30
+ .gridline::after {
31
+ bottom: 0;
32
+ }
@@ -9,8 +9,8 @@
9
9
  .Checkbox {
10
10
  align-items: center;
11
11
  background-color: var(--brand-control-checkbox-bg-default);
12
- border: solid var(--brand-borderWidth-thick, 1px) var(--brand-control-color-border-default);
13
- border-radius: var(--brand-borderRadius-small);
12
+ border: solid var(--brand-borderWidth-thin, 1px) var(--brand-control-color-border-default);
13
+ border-radius: 3px;
14
14
  cursor: pointer;
15
15
  display: inline-flex;
16
16
  height: 20px;
@@ -18,7 +18,7 @@
18
18
  margin: 3px 0; /* mimic default browser-applied vertical margin */
19
19
  transition: all 0.35s ease-out;
20
20
  width: 20px;
21
- outline: 1px solid var(--brand-control-checkbox-bg-default);
21
+ outline: 1px solid transparent;
22
22
  box-shadow: 0 0 0 3px transparent;
23
23
  }
24
24
 
@@ -36,12 +36,12 @@
36
36
  }
37
37
 
38
38
  .Checkbox-checkmark {
39
- height: 16px;
40
- width: 16px;
39
+ height: var(--base-size-12);
40
+ width: var(--base-size-12);
41
41
  }
42
42
 
43
43
  .Checkbox-checkmark-path {
44
- stroke: var(--brand-color-focus);
44
+ stroke: var(--brand-control-checkbox-fg-checked);
45
45
  stroke-dashoffset: 111.46px;
46
46
  stroke-dasharray: 111.46px;
47
47
  transition: all 350ms var(--brand-control-animation-easing);
@@ -57,6 +57,21 @@
57
57
  border-color: var(--brand-control-checkbox-border-checked);
58
58
  }
59
59
 
60
+ .Checkbox-input:not(:checked):not([disabled]) + .Checkbox:not(.Checkbox--indeterminate):hover {
61
+ background: var(--brand-control-checkbox-bg-hover);
62
+ border-color: var(--brand-control-checkbox-border-hover);
63
+ }
64
+
65
+ .Checkbox-input:checked:not([disabled]) + .Checkbox:hover {
66
+ background: var(--brand-control-checkbox-bg-checked-hover);
67
+ border-color: var(--brand-control-checkbox-border-checked-hover);
68
+ }
69
+
70
+ .Checkbox-input:not([disabled]) + .Checkbox--indeterminate:hover {
71
+ background: var(--brand-control-checkbox-bg-indeterminate-hover);
72
+ border-color: var(--brand-control-checkbox-border-indeterminate-hover);
73
+ }
74
+
60
75
  .Checkbox--indeterminate .Checkbox-checkmark {
61
76
  fill: var(--brand-control-checkbox-fg-checked);
62
77
  }
@@ -68,7 +83,7 @@
68
83
  }
69
84
 
70
85
  .Checkbox-input:focus + .Checkbox {
71
- box-shadow: 0 0 0 3px var(--brand-color-focus);
86
+ box-shadow: 0 0 0 3px var(--brand-control-color-focus);
72
87
  }
73
88
 
74
89
  /* TODO: Check with a11y team */
@@ -77,19 +92,27 @@
77
92
  border-color: var(--brand-control-checkbox-border-checked);
78
93
  }
79
94
 
80
- .Checkbox-input[disabled] + .Checkbox,
81
- .Checkbox-input[disabled]:checked + .Checkbox {
95
+ .Checkbox-input[disabled] + .Checkbox {
82
96
  -webkit-text-fill-color: var(--brand-control-color-fg-disabled);
83
97
  color: var(--brand-control-color-fg-disabled);
84
98
  cursor: not-allowed;
85
- background-color: var(--brand-control-checkbox-bg-disabled);
86
- border-color: var(--brand-control-color-border-disabled);
99
+ background-color: transparent;
100
+ border-color: var(--brand-control-checkbox-border-unchecked-disabled);
87
101
  opacity: 1;
88
102
  }
89
103
 
104
+ .Checkbox-input[disabled]:checked + .Checkbox {
105
+ background-color: var(--brand-control-checkbox-bg-checked-disabled);
106
+ border-color: var(--brand-control-checkbox-border-checked-disabled);
107
+ }
108
+
109
+ .Checkbox-input[disabled]:checked + .Checkbox .Checkbox-checkmark-path {
110
+ stroke: var(--brand-control-checkbox-fg-checked-disabled);
111
+ }
112
+
90
113
  @media (forced-colors: active) {
91
114
  .Checkbox-input:focus + .Checkbox {
92
- outline: var(--brand-borderWidth-thick) solid Highlight;
115
+ outline: var(--brand-borderWidth-thin) solid Highlight;
93
116
  outline-offset: var(--base-size-2);
94
117
  }
95
118
 
@@ -19,10 +19,11 @@
19
19
  display: flex;
20
20
  gap: var(--base-size-4);
21
21
  font-weight: var(--base-text-weight-medium);
22
+ align-items: center;
22
23
  }
23
24
 
24
25
  .ControlGroup__validation--success {
25
- color: var(--brand-color-success-fg);
26
+ color: var(--brand-color-text-emphasized);
26
27
  }
27
28
 
28
29
  .ControlGroup__validation--error {
@@ -30,13 +31,11 @@
30
31
  }
31
32
 
32
33
  .ControlGroup__validation-icon--success {
33
- position: relative;
34
- top: -1px;
34
+ display: flex;
35
35
  }
36
36
 
37
37
  .ControlGroup__validation-icon--error {
38
- position: relative;
39
- top: -0.5px;
38
+ display: flex;
40
39
  }
41
40
 
42
41
  .ControlGroup__validation--animate-in {
@@ -54,10 +54,10 @@
54
54
  cursor: pointer;
55
55
  font-size: var(--brand-text-size-100);
56
56
  font-weight: var(--base-text-weight-medium);
57
- line-height: var(--base-size-24); /* FIXME */
58
- position: relative;
59
- top: 2px;
57
+ line-height: var(--base-size-24);
60
58
  width: 100%;
59
+ position: relative;
60
+ top: 1px;
61
61
  }
62
62
 
63
63
  .FormControl-control--radio {
@@ -73,6 +73,7 @@
73
73
  .FormControl-validation {
74
74
  display: flex;
75
75
  gap: var(--base-size-4);
76
+ align-items: center;
76
77
  }
77
78
 
78
79
  .FormControl-validation--success {
@@ -84,13 +85,11 @@
84
85
  }
85
86
 
86
87
  .FormControl-validation-success-icon {
87
- position: relative;
88
- top: -1px;
88
+ display: flex;
89
89
  }
90
90
 
91
91
  .FormControl-validation-error-icon {
92
- position: relative;
93
- top: -0.5px;
92
+ display: flex;
94
93
  }
95
94
 
96
95
  .FormControl-validation--animate-in {
@@ -13,7 +13,7 @@
13
13
  .Radio {
14
14
  align-items: center;
15
15
  background-color: var(--brand-control-radio-bg-default);
16
- border: solid var(--brand-borderWidth-thick, 1px) var(--brand-control-color-border-default);
16
+ border: solid var(--brand-borderWidth-thin, 1px) var(--brand-control-radio-border-default);
17
17
  border-radius: 50%;
18
18
  cursor: pointer;
19
19
  display: inline-flex;
@@ -34,11 +34,12 @@ Fixes safari bug where outline doesn't respect border-radius
34
34
  .Radio::before {
35
35
  content: '';
36
36
  position: absolute;
37
+ pointer-events: none;
37
38
  top: -4px;
38
39
  right: -2px;
39
40
  bottom: -2px;
40
41
  left: -4px;
41
- border: 2px solid var(--brand-control-radio-bg-default);
42
+ border: var(--brand-borderWidth-thin) solid transparent;
42
43
  border-radius: 50%;
43
44
  width: 24px;
44
45
  height: 24px;
@@ -60,11 +61,11 @@ Fixes safari bug where outline doesn't respect border-radius
60
61
  .Radio-dot {
61
62
  position: absolute;
62
63
  display: none;
63
- border-color: var(--brand-control-radio-dot-default);
64
+ border-color: var(--brand-control-radio-dot-checked);
64
65
  width: 12px;
65
66
  height: 12px;
66
67
  border-radius: 50%;
67
- background: var(--brand-control-radio-dot-default);
68
+ background: var(--brand-control-radio-dot-checked);
68
69
  position: absolute;
69
70
  display: block;
70
71
  transform: scale(0.7);
@@ -86,13 +87,28 @@ Fixes safari bug where outline doesn't respect border-radius
86
87
  border-color: var(--brand-control-radio-border-checked);
87
88
  }
88
89
 
90
+ .Radio-input:not(:checked):not([disabled]) + .Radio:hover {
91
+ background-color: var(--brand-control-radio-bg-hover);
92
+ border-color: var(--brand-control-radio-border-hover);
93
+ }
94
+
95
+ .Radio-input:checked:not([disabled]) + .Radio:hover {
96
+ background-color: var(--brand-control-radio-bg-checked-hover);
97
+ border-color: var(--brand-control-radio-border-checked-hover);
98
+ }
99
+
100
+ .Radio-input:checked:not([disabled]) + .Radio:hover .Radio-dot {
101
+ background: var(--brand-control-radio-dot-checked-hover);
102
+ border-color: var(--brand-control-radio-dot-checked-hover);
103
+ }
104
+
89
105
  .Radio-input:checked + .Radio .Radio-dot {
90
106
  opacity: 1;
91
107
  transform: scale(1);
92
108
  }
93
109
 
94
110
  .Radio-input:focus + .Radio {
95
- box-shadow: 0 0 0 4px var(--brand-color-focus);
111
+ box-shadow: 0 0 0 4px var(--brand-control-color-focus);
96
112
  }
97
113
 
98
114
  /* TODO: Check with a11y team */
@@ -106,13 +122,18 @@ Fixes safari bug where outline doesn't respect border-radius
106
122
  color: var(--brand-control-color-fg-disabled);
107
123
  cursor: not-allowed;
108
124
  background-color: var(--brand-control-radio-bg-disabled);
109
- border-color: var(--brand-control-color-border-disabled);
125
+ border-color: var(--brand-control-radio-border-disabled);
110
126
  opacity: 1;
111
127
  }
112
128
 
129
+ .Radio-input[disabled]:checked + .Radio .Radio-dot {
130
+ background: var(--brand-control-color-fg-disabled);
131
+ border-color: var(--brand-control-color-fg-disabled);
132
+ }
133
+
113
134
  @media (forced-colors: active) {
114
135
  .Radio-input:focus + .Radio {
115
- outline: var(--brand-borderWidth-thick) solid Highlight;
136
+ outline: var(--brand-borderWidth-thin) solid Highlight;
116
137
  outline-offset: var(--base-size-4);
117
138
  }
118
139
 
@@ -36,9 +36,9 @@
36
36
  }
37
37
 
38
38
  .Select:focus-visible {
39
- border-color: var(--brand-color-focus);
39
+ border-color: var(--brand-control-color-focus);
40
40
  outline: none;
41
- box-shadow: 0 0 0 2px var(--brand-color-focus);
41
+ box-shadow: 0 0 0 2px var(--brand-control-color-focus);
42
42
  }
43
43
 
44
44
  @media (forced-colors: active) {
@@ -102,8 +102,8 @@
102
102
  }
103
103
 
104
104
  .TextInput-wrapper:focus-within {
105
- border-color: var(--brand-color-focus);
106
- box-shadow: 0 0 0 1px var(--brand-color-focus);
105
+ border-color: var(--brand-control-color-focus);
106
+ box-shadow: 0 0 0 1px var(--brand-control-color-focus);
107
107
  outline: none;
108
108
  }
109
109
 
@@ -109,8 +109,8 @@
109
109
  }
110
110
 
111
111
  .Textarea-wrapper:focus-within {
112
- border-color: var(--brand-color-focus);
113
- box-shadow: 0 0 0 1px var(--brand-color-focus);
112
+ border-color: var(--brand-control-color-focus);
113
+ box-shadow: 0 0 0 1px var(--brand-control-color-focus);
114
114
  outline: none;
115
115
  }
116
116
 
@@ -40,26 +40,6 @@
40
40
  padding-block: var(--brand-RiverAccordion-variant-gridline-spacing-outerBlock);
41
41
  }
42
42
 
43
- .RiverAccordion--variant-gridline::before,
44
- .RiverAccordion--variant-gridline::after {
45
- content: '';
46
- position: absolute;
47
- left: 50%;
48
- transform: translateX(-50%);
49
- width: 100vw;
50
- height: 0;
51
- border-top: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
52
- z-index: 1;
53
- }
54
-
55
- .RiverAccordion--variant-gridline::before {
56
- top: 0;
57
- }
58
-
59
- .RiverAccordion--variant-gridline::after {
60
- bottom: 0;
61
- }
62
-
63
43
  @media (min-width: 48rem) {
64
44
  .RiverAccordion--variant-gridline {
65
45
  --gap-width: var(--brand-RiverAccordion-variant-gridline-spacing-contentGap);
@@ -90,6 +70,15 @@
90
70
  border-radius: var(--brand-borderRadius-medium);
91
71
  }
92
72
 
73
+ .RiverAccordion--variant-gridline:has(.RiverAccordion__visual--has-background) .RiverAccordion__visualsContainer {
74
+ margin-inline: calc(-1 * var(--brand-RiverAccordion-variant-gridline-spacing-outerInline));
75
+ margin-block-start: calc(-1 * var(--brand-RiverAccordion-variant-gridline-spacing-outerBlock));
76
+ }
77
+
78
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper:has(.RiverAccordion__visual--has-background) {
79
+ border-radius: 0;
80
+ }
81
+
93
82
  .RiverAccordion__accordionContainer {
94
83
  grid-area: accordion;
95
84
  }
@@ -112,6 +101,8 @@
112
101
  grid-row: 1;
113
102
  width: 100%;
114
103
  height: 100%;
104
+ display: flex;
105
+ align-items: center;
115
106
  opacity: 0;
116
107
  scale: 1.05;
117
108
  transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default),
@@ -119,11 +110,113 @@
119
110
  }
120
111
 
121
112
  .RiverAccordion__visualsWrapper > .RiverAccordion__visual > * {
113
+ display: block;
122
114
  width: 100%;
115
+ height: auto;
116
+ overflow: hidden;
117
+ border-radius: var(--brand-borderRadius-xlarge);
123
118
  -o-object-fit: contain;
124
119
  object-fit: contain;
125
120
  }
126
121
 
122
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper > .RiverAccordion__visual > * {
123
+ border-radius: var(--brand-borderRadius-medium);
124
+ }
125
+
126
+ .RiverAccordion__visualsWrapper > .RiverAccordion__visual img,
127
+ .RiverAccordion__visualsWrapper > .RiverAccordion__visual picture,
128
+ .RiverAccordion__visualsWrapper > .RiverAccordion__visual video {
129
+ display: block;
130
+ width: 100%;
131
+ height: auto;
132
+ border-radius: inherit;
133
+ -o-object-fit: contain;
134
+ object-fit: contain;
135
+ }
136
+
137
+ .RiverAccordion__visualsWrapper > .RiverAccordion__visual > * img,
138
+ .RiverAccordion__visualsWrapper > .RiverAccordion__visual > * video {
139
+ display: block;
140
+ width: 100%;
141
+ height: 100%;
142
+ border-radius: inherit;
143
+ -o-object-fit: cover;
144
+ object-fit: cover;
145
+ }
146
+
147
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper > .RiverAccordion__visual--has-background {
148
+ display: flex;
149
+ align-items: center;
150
+ justify-content: center;
151
+ padding: var(--base-size-32);
152
+ background: var(--brand-RiverAccordion-visual-background, var(--brand-color-canvas-subtle));
153
+ }
154
+
155
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper > .RiverAccordion__visual--has-background > * {
156
+ display: flex;
157
+ align-items: center;
158
+ justify-content: center;
159
+ max-width: 100%;
160
+ height: auto;
161
+ border-radius: var(--brand-borderRadius-large);
162
+ }
163
+
164
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper > .RiverAccordion__visual--has-background img,
165
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper > .RiverAccordion__visual--has-background picture,
166
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper > .RiverAccordion__visual--has-background video {
167
+ max-width: 100%;
168
+ height: 100%;
169
+ border-radius: var(--brand-borderRadius-large);
170
+ }
171
+
172
+ @media (min-width: 48rem) {
173
+ .RiverAccordion--variant-gridline:has(.RiverAccordion__visual--has-background) {
174
+ padding: 0;
175
+ gap: 0;
176
+ align-items: stretch;
177
+ grid-template-columns: 1fr 1fr;
178
+ }
179
+
180
+ .RiverAccordion--variant-gridline:has(.RiverAccordion__visual--has-background) .RiverAccordion__accordionContainer {
181
+ display: flex;
182
+ flex-direction: column;
183
+ justify-content: center;
184
+ padding: var(--brand-RiverAccordion-variant-gridline-spacing-outerBlock)
185
+ var(--brand-RiverAccordion-variant-gridline-spacing-outerInline);
186
+ }
187
+
188
+ .RiverAccordion--variant-gridline.RiverAccordion__align-start:has(.RiverAccordion__visual--has-background)
189
+ .RiverAccordion__accordionContainer {
190
+ padding-inline-end: var(--brand-RiverAccordion-variant-gridline-spacing-contentGap);
191
+ }
192
+
193
+ .RiverAccordion--variant-gridline.RiverAccordion__align-end:has(.RiverAccordion__visual--has-background)
194
+ .RiverAccordion__accordionContainer {
195
+ padding-inline-start: var(--brand-RiverAccordion-variant-gridline-spacing-contentGap);
196
+ }
197
+
198
+ .RiverAccordion--variant-gridline:has(.RiverAccordion__visual--has-background) .RiverAccordion__visualsContainer {
199
+ margin: 0;
200
+ }
201
+
202
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper:has(.RiverAccordion__visual--has-background) {
203
+ height: 100%;
204
+ }
205
+
206
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper > .RiverAccordion__visual--has-background {
207
+ align-items: center;
208
+ justify-content: center;
209
+ padding: var(--base-size-64);
210
+ }
211
+
212
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper > .RiverAccordion__visual--has-background > *,
213
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper > .RiverAccordion__visual--has-background img,
214
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper > .RiverAccordion__visual--has-background picture,
215
+ .RiverAccordion--variant-gridline .RiverAccordion__visualsWrapper > .RiverAccordion__visual--has-background video {
216
+ border-radius: var(--brand-borderRadius-large);
217
+ }
218
+ }
219
+
127
220
  /* Show the visual when the corresponding accordion item is open */
128
221
  .RiverAccordion:has(.RiverAccordion__item--open:nth-child(1)) .RiverAccordion__visualsContainer .RiverAccordion__visual:nth-child(1),
129
222
  .RiverAccordion:has(.RiverAccordion__item--open:nth-child(2)) .RiverAccordion__visualsContainer .RiverAccordion__visual:nth-child(2),
@@ -20,26 +20,6 @@
20
20
  }
21
21
  }
22
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
23
  @media screen and (min-width: 80rem) {
44
24
  .River--variant-gridline {
45
25
  border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
@@ -475,25 +455,6 @@
475
455
  }
476
456
  }
477
457
 
478
- .RiverBreakout--variant-gridline::before,
479
- .RiverBreakout--variant-gridline::after {
480
- content: '';
481
- position: absolute;
482
- left: 50%;
483
- transform: translateX(-50%);
484
- width: 100vw;
485
- height: 0;
486
- border-top: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
487
- }
488
-
489
- .RiverBreakout--variant-gridline::before {
490
- top: 0;
491
- }
492
-
493
- .RiverBreakout--variant-gridline::after {
494
- bottom: 0;
495
- }
496
-
497
458
  @media screen and (min-width: 618px) {
498
459
  .RiverBreakout--variant-gridline {
499
460
  border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/brand-css",
3
- "version": "0.68.0-rc.5bd56cbb",
3
+ "version": "0.68.0-rc.b6d410ef",
4
4
  "description": "CSS stylesheets for Primer Brand components",
5
5
  "keywords": [
6
6
  "primer",