@primer/brand-css 0.68.0-rc.982c487b → 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.
@@ -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,6 +35,10 @@
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
  }
@@ -77,7 +82,7 @@
77
82
  }
78
83
 
79
84
  .Button--primary:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {
80
- background: var(--brand-button-primary-bgColor-hover);
85
+ background-color: var(--brand-button-primary-bgColor-hover);
81
86
  }
82
87
 
83
88
  .Button--primary:not(.Button[disabled], .Button[aria-disabled='true']):active,
@@ -109,21 +114,20 @@
109
114
  /* secondary */
110
115
 
111
116
  .Button--secondary {
112
- transition: background var(--brand-animation-duration-faster), border-color var(--brand-animation-duration-faster);
113
- background: var(--brand-button-secondary-bgColor-rest);
117
+ background-color: var(--brand-button-secondary-bgColor-rest);
114
118
  border-color: var(--brand-button-secondary-borderColor-rest);
115
119
  color: var(--brand-button-secondary-fgColor-rest);
116
120
  backdrop-filter: blur(var(--base-size-20));
117
121
  }
118
122
 
119
123
  .Button--secondary:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {
120
- background: var(--brand-button-secondary-bgColor-hover);
124
+ background-color: var(--brand-button-secondary-bgColor-hover);
121
125
  border-color: var(--brand-button-secondary-borderColor-hover);
122
126
  }
123
127
 
124
128
  .Button--secondary:not(.Button[disabled], .Button[aria-disabled='true']):active,
125
129
  .Button--secondary[aria-expanded='true'] {
126
- background: var(--brand-button-secondary-bgColor-active);
130
+ background-color: var(--brand-button-secondary-bgColor-active);
127
131
  border-color: var(--brand-button-secondary-borderColor-active);
128
132
  }
129
133
 
@@ -144,8 +148,7 @@
144
148
  /* subtle */
145
149
 
146
150
  .Button--subtle {
147
- transition: background var(--brand-animation-duration-faster), border-color var(--brand-animation-duration-faster);
148
- background: var(--brand-button-subtle-bgColor-rest);
151
+ background-color: var(--brand-button-subtle-bgColor-rest);
149
152
  border-width: var(--brand-borderWidth-thin);
150
153
  border-color: var(--brand-button-subtle-borderColor-rest);
151
154
  color: var(--brand-color-text-default);
@@ -153,13 +156,13 @@
153
156
  }
154
157
 
155
158
  .Button--subtle:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {
156
- background: var(--brand-button-subtle-bgColor-hover);
159
+ background-color: var(--brand-button-subtle-bgColor-hover);
157
160
  border-color: var(--brand-button-subtle-borderColor-hover);
158
161
  }
159
162
 
160
163
  .Button--subtle:not(.Button[disabled], .Button[aria-disabled='true']):active,
161
164
  .Button--subtle[aria-expanded='true'] {
162
- background: var(--brand-button-subtle-bgColor-active);
165
+ background-color: var(--brand-button-subtle-bgColor-active);
163
166
  border-color: var(--brand-button-subtle-borderColor-active);
164
167
  }
165
168
 
@@ -186,7 +189,7 @@
186
189
 
187
190
  .Button--size-medium {
188
191
  min-height: var(--brand-control-medium-size);
189
- 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);
190
193
  }
191
194
 
192
195
  .Button--size-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 {
@@ -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
 
@@ -70,6 +70,15 @@
70
70
  border-radius: var(--brand-borderRadius-medium);
71
71
  }
72
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
+
73
82
  .RiverAccordion__accordionContainer {
74
83
  grid-area: accordion;
75
84
  }
@@ -92,6 +101,8 @@
92
101
  grid-row: 1;
93
102
  width: 100%;
94
103
  height: 100%;
104
+ display: flex;
105
+ align-items: center;
95
106
  opacity: 0;
96
107
  scale: 1.05;
97
108
  transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default),
@@ -99,11 +110,113 @@
99
110
  }
100
111
 
101
112
  .RiverAccordion__visualsWrapper > .RiverAccordion__visual > * {
113
+ display: block;
102
114
  width: 100%;
115
+ height: auto;
116
+ overflow: hidden;
117
+ border-radius: var(--brand-borderRadius-xlarge);
103
118
  -o-object-fit: contain;
104
119
  object-fit: contain;
105
120
  }
106
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
+
107
220
  /* Show the visual when the corresponding accordion item is open */
108
221
  .RiverAccordion:has(.RiverAccordion__item--open:nth-child(1)) .RiverAccordion__visualsContainer .RiverAccordion__visual:nth-child(1),
109
222
  .RiverAccordion:has(.RiverAccordion__item--open:nth-child(2)) .RiverAccordion__visualsContainer .RiverAccordion__visual:nth-child(2),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/brand-css",
3
- "version": "0.68.0-rc.982c487b",
3
+ "version": "0.68.0-rc.b6d410ef",
4
4
  "description": "CSS stylesheets for Primer Brand components",
5
5
  "keywords": [
6
6
  "primer",