Skip to content

Commit fd4da4e

Browse files
marissahuysentruytcastastrophe
authored andcommitted
feat(statuslight): s2 migration (#2818)
* refactor: remove --sizeM modifier and make "medium" default size * refactor:remove accent semantic variant * refactor: add/update new colors/tokens * refactor: update typography styles * refactor: generate new mod properties * docs: add migration notes/changes to yml * feat: add chromatic vr coverage * fix: high contrast changes (utilizes changes from PR#2771 to clean up legacy vendor prefixes) * docs: add changeset and update yml
1 parent 19dde86 commit fd4da4e

File tree

5 files changed

+120
-39
lines changed

5 files changed

+120
-39
lines changed

.changeset/chilly-peaches-sniff.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
"@spectrum-css/statuslight": major
3+
---
4+
5+
Spectrum 2 Status light migration
6+
7+
New non-semantic colors were added to the variants list, while the `accent` semantic variant was removed. There were also some new and updated color and text-to-visual tokens used to match the designs, along with normalizing font family, font style, and font weight.
8+
9+
New mods added:
10+
11+
- `--mod-statuslight-font-family`
12+
- `--mod-statuslight-font-style`
13+
- `--mod-statuslight-nonsemantic-brown-color`
14+
- `--mod-statuslight-nonsemantic-cinnamon-color`
15+
- `--mod-statuslight-nonsemantic-pink-color`
16+
- `--mod-statuslight-nonsemantic-silver-color`
17+
- `--mod-statuslight-nonsemantic-turquoise-color`
18+
19+
Removed mods:
20+
21+
- `--mod-statuslight-semantic-accent-color`

components/statuslight/index.css

Lines changed: 48 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,31 +12,37 @@
1212
*/
1313

1414
.spectrum-StatusLight {
15+
/* Static tokens */
16+
--spectrum-statuslight-corner-radius: var(--spectrum-corner-radius-full);
17+
--spectrum-statuslight-border-width: var(--spectrum-border-width-100);
18+
19+
/* Size */
1520
--spectrum-statuslight-height: var(--spectrum-component-height-100);
1621
--spectrum-statuslight-dot-size: var(--spectrum-status-light-dot-size-medium);
22+
--spectrum-statuslight-line-height: var(--spectrum-line-height-100);
23+
--spectrum-statuslight-line-height-cjk: var(--spectrum-cjk-line-height-100);
1724

25+
/* Font */
26+
--spectrum-statuslight-font-family: var(--spectrum-default-font-family);
27+
--spectrum-statuslight-font-weight: var(--spectrum-regular-font-weight);
28+
--spectrum-statuslight-font-style: var(--spectrum-default-font-style);
1829
--spectrum-statuslight-font-size: var(--spectrum-font-size-100);
1930

20-
--spectrum-statuslight-spacing-dot-to-label: var(--spectrum-text-to-visual-100);
31+
/* Space */
32+
--spectrum-statuslight-spacing-dot-to-label: var(--spectrum-status-light-text-to-visual-100);
2133
--spectrum-statuslight-spacing-top-to-dot: var(--spectrum-status-light-top-to-dot-medium);
2234
--spectrum-statuslight-spacing-top-to-label: var(--spectrum-component-top-to-text-100);
2335
--spectrum-statuslight-spacing-bottom-to-label: var(--spectrum-component-bottom-to-text-100);
2436

25-
--spectrum-statuslight-corner-radius: 50%;
26-
--spectrum-statuslight-font-weight: 400;
27-
--spectrum-statuslight-border-width: var(--spectrum-border-width-100);
28-
29-
--spectrum-statuslight-line-height: var(--spectrum-line-height-100);
30-
--spectrum-statuslight-line-height-cjk: var(--spectrum-cjk-line-height-100);
31-
37+
/* Color */
3238
--spectrum-statuslight-content-color-default: var(--spectrum-neutral-content-color-default);
33-
--spectrum-statuslight-subdued-content-color-default: var(--spectrum-neutral-subdued-content-color-default);
39+
--spectrum-statuslight-subdued-content-color-default: var(--spectrum-gray-600);
3440
--spectrum-statuslight-semantic-neutral-color: var(--spectrum-neutral-visual-color);
35-
--spectrum-statuslight-semantic-accent-color: var(--spectrum-accent-visual-color);
3641
--spectrum-statuslight-semantic-negative-color: var(--spectrum-negative-visual-color);
3742
--spectrum-statuslight-semantic-info-color: var(--spectrum-informative-visual-color);
3843
--spectrum-statuslight-semantic-notice-color: var(--spectrum-notice-visual-color);
3944
--spectrum-statuslight-semantic-positive-color: var(--spectrum-positive-visual-color);
45+
4046
--spectrum-statuslight-nonsemantic-gray-color: var(--spectrum-gray-visual-color);
4147
--spectrum-statuslight-nonsemantic-red-color: var(--spectrum-red-visual-color);
4248
--spectrum-statuslight-nonsemantic-orange-color: var(--spectrum-orange-visual-color);
@@ -51,6 +57,11 @@
5157
--spectrum-statuslight-nonsemantic-purple-color: var(--spectrum-purple-visual-color);
5258
--spectrum-statuslight-nonsemantic-fuchsia-color: var(--spectrum-fuchsia-visual-color);
5359
--spectrum-statuslight-nonsemantic-magenta-color: var(--spectrum-magenta-visual-color);
60+
--spectrum-statuslight-nonsemantic-pink-color: var(--spectrum-pink-visual-color);
61+
--spectrum-statuslight-nonsemantic-turquoise-color: var(--spectrum-turquoise-visual-color);
62+
--spectrum-statuslight-nonsemantic-cinnamon-color: var(--spectrum-cinnamon-visual-color);
63+
--spectrum-statuslight-nonsemantic-brown-color: var(--spectrum-brown-visual-color);
64+
--spectrum-statuslight-nonsemantic-silver-color: var(--spectrum-silver-visual-color);
5465
}
5566

5667
.spectrum-StatusLight--sizeS {
@@ -59,7 +70,7 @@
5970

6071
--spectrum-statuslight-font-size: var(--spectrum-font-size-75);
6172

62-
--spectrum-statuslight-spacing-dot-to-label: var(--spectrum-text-to-visual-75);
73+
--spectrum-statuslight-spacing-dot-to-label: var(--spectrum-status-light-text-to-visual-75);
6374
--spectrum-statuslight-spacing-top-to-dot: var(--spectrum-status-light-top-to-dot-small);
6475
--spectrum-statuslight-spacing-top-to-label: var(--spectrum-component-top-to-text-75);
6576
--spectrum-statuslight-spacing-bottom-to-label: var(--spectrum-component-bottom-to-text-75);
@@ -71,7 +82,7 @@
7182

7283
--spectrum-statuslight-font-size: var(--spectrum-font-size-200);
7384

74-
--spectrum-statuslight-spacing-dot-to-label: var(--spectrum-text-to-visual-200);
85+
--spectrum-statuslight-spacing-dot-to-label: var(--spectrum-status-light-text-to-visual-200);
7586
--spectrum-statuslight-spacing-top-to-dot: var(--spectrum-status-light-top-to-dot-large);
7687
--spectrum-statuslight-spacing-top-to-label: var(--spectrum-component-top-to-text-200);
7788
--spectrum-statuslight-spacing-bottom-to-label: var(--spectrum-component-bottom-to-text-200);
@@ -83,7 +94,7 @@
8394

8495
--spectrum-statuslight-font-size: var(--spectrum-font-size-300);
8596

86-
--spectrum-statuslight-spacing-dot-to-label: var(--spectrum-text-to-visual-300);
97+
--spectrum-statuslight-spacing-dot-to-label: var(--spectrum-status-light-text-to-visual-300);
8798
--spectrum-statuslight-spacing-top-to-dot: var(--spectrum-status-light-top-to-dot-extra-large);
8899
--spectrum-statuslight-spacing-top-to-label: var(--spectrum-component-top-to-text-300);
89100
--spectrum-statuslight-spacing-bottom-to-label: var(--spectrum-component-bottom-to-text-300);
@@ -103,6 +114,8 @@
103114

104115
font-size: var(--mod-statuslight-font-size, var(--spectrum-statuslight-font-size));
105116
font-weight: var(--mod-statuslight-font-weight, var(--spectrum-statuslight-font-weight));
117+
font-family: var(--mod-statuslight-font-family, var(--spectrum-statuslight-font-family));
118+
font-style: var(--mod-statuslight-font-style, var(--spectrum-statuslight-font-style));
106119

107120
line-height: var(--mod-statuslight-line-height, var(--spectrum-statuslight-line-height));
108121

@@ -116,8 +129,6 @@
116129

117130
/* Dot */
118131
&::before {
119-
--spectrum-statuslight-spacing-computed-top-to-dot: calc(var(--mod-statuslight-spacing-top-to-dot, var(--spectrum-statuslight-spacing-top-to-dot)) - var(--mod-statuslight-spacing-top-to-label, var(--spectrum-statuslight-spacing-top-to-label)));
120-
121132
content: "";
122133
flex-grow: 0;
123134
flex-shrink: 0;
@@ -126,26 +137,21 @@
126137
block-size: var(--mod-statuslight-dot-size, var(--spectrum-statuslight-dot-size));
127138
border-radius: var(--mod-statuslight-corner-radius, var(--spectrum-statuslight-corner-radius));
128139

140+
--spectrum-statuslight-spacing-computed-top-to-dot: calc(var(--mod-statuslight-spacing-top-to-dot, var(--spectrum-statuslight-spacing-top-to-dot)) - var(--mod-statuslight-spacing-top-to-label, var(--spectrum-statuslight-spacing-top-to-label)));
129141
margin-block-start: var(--spectrum-statuslight-spacing-computed-top-to-dot);
130142
margin-inline-end: var(--mod-statuslight-spacing-dot-to-label, var(--spectrum-statuslight-spacing-dot-to-label));
131143
}
132144
}
133145

134146
/* Semantic Colors */
135147
.spectrum-StatusLight--neutral {
136-
font-style: italic;
137-
138148
color: var(--highcontrast-statuslight-subdued-content-color-default, var(--mod-statuslight-subdued-content-color-default, var(--spectrum-statuslight-subdued-content-color-default)));
139149

140150
&::before {
141151
background-color: var(--mod-statuslight-semantic-neutral-color, var(--spectrum-statuslight-semantic-neutral-color));
142152
}
143153
}
144154

145-
.spectrum-StatusLight--accent::before {
146-
background-color: var(--mod-statuslight-semantic-accent-color, var(--spectrum-statuslight-semantic-accent-color));
147-
}
148-
149155
.spectrum-StatusLight--info::before {
150156
background-color: var(--mod-statuslight-semantic-info-color, var(--spectrum-statuslight-semantic-info-color));
151157
}
@@ -219,13 +225,32 @@
219225
background-color: var(--mod-statuslight-nonsemantic-magenta-color, var(--spectrum-statuslight-nonsemantic-magenta-color));
220226
}
221227

228+
.spectrum-StatusLight--pink::before {
229+
background-color: var(--mod-statuslight-nonsemantic-pink-color, var(--spectrum-statuslight-nonsemantic-pink-color));
230+
}
231+
232+
.spectrum-StatusLight--turquoise::before {
233+
background-color: var(--mod-statuslight-nonsemantic-turquoise-color, var(--spectrum-statuslight-nonsemantic-turquoise-color));
234+
}
235+
236+
.spectrum-StatusLight--cinnamon::before {
237+
background-color: var(--mod-statuslight-nonsemantic-cinnamon-color, var(--spectrum-statuslight-nonsemantic-cinnamon-color));
238+
}
239+
240+
.spectrum-StatusLight--brown::before {
241+
background-color: var(--mod-statuslight-nonsemantic-brown-color, var(--spectrum-statuslight-nonsemantic-brown-color));
242+
}
243+
244+
.spectrum-StatusLight--silver::before {
245+
background-color: var(--mod-statuslight-nonsemantic-silver-color, var(--spectrum-statuslight-nonsemantic-silver-color));
246+
}
247+
222248
@media (forced-colors: active) {
223249
.spectrum-StatusLight {
250+
forced-color-adjust: none;
224251
--highcontrast-statuslight-content-color-default: CanvasText;
225252
--highcontrast-statuslight-subdued-content-color-default: CanvasText;
226253

227-
forced-color-adjust: none;
228-
229254
/* Dot */
230255
&::before {
231256
forced-color-adjust: none;

components/statuslight/metadata/metadata.json

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
"sourceFile": "index.css",
33
"selectors": [
44
".spectrum-StatusLight",
5-
".spectrum-StatusLight--accent:before",
65
".spectrum-StatusLight--blue:before",
6+
".spectrum-StatusLight--brown:before",
77
".spectrum-StatusLight--celery:before",
88
".spectrum-StatusLight--chartreuse:before",
9+
".spectrum-StatusLight--cinnamon:before",
910
".spectrum-StatusLight--cyan:before",
1011
".spectrum-StatusLight--fuchsia:before",
1112
".spectrum-StatusLight--gray:before",
@@ -18,13 +19,16 @@
1819
".spectrum-StatusLight--neutral:before",
1920
".spectrum-StatusLight--notice:before",
2021
".spectrum-StatusLight--orange:before",
22+
".spectrum-StatusLight--pink:before",
2123
".spectrum-StatusLight--positive:before",
2224
".spectrum-StatusLight--purple:before",
2325
".spectrum-StatusLight--red:before",
2426
".spectrum-StatusLight--seafoam:before",
27+
".spectrum-StatusLight--silver:before",
2528
".spectrum-StatusLight--sizeL",
2629
".spectrum-StatusLight--sizeS",
2730
".spectrum-StatusLight--sizeXL",
31+
".spectrum-StatusLight--turquoise:before",
2832
".spectrum-StatusLight--yellow:before",
2933
".spectrum-StatusLight:before",
3034
".spectrum-StatusLight:lang(ja)",
@@ -36,26 +40,32 @@
3640
"--mod-statuslight-content-color-default",
3741
"--mod-statuslight-corner-radius",
3842
"--mod-statuslight-dot-size",
43+
"--mod-statuslight-font-family",
3944
"--mod-statuslight-font-size",
45+
"--mod-statuslight-font-style",
4046
"--mod-statuslight-font-weight",
4147
"--mod-statuslight-height",
4248
"--mod-statuslight-line-height",
4349
"--mod-statuslight-line-height-cjk",
4450
"--mod-statuslight-nonsemantic-blue-color",
51+
"--mod-statuslight-nonsemantic-brown-color",
4552
"--mod-statuslight-nonsemantic-celery-color",
4653
"--mod-statuslight-nonsemantic-chartreuse-color",
54+
"--mod-statuslight-nonsemantic-cinnamon-color",
4755
"--mod-statuslight-nonsemantic-cyan-color",
4856
"--mod-statuslight-nonsemantic-fuchsia-color",
4957
"--mod-statuslight-nonsemantic-gray-color",
5058
"--mod-statuslight-nonsemantic-green-color",
5159
"--mod-statuslight-nonsemantic-indigo-color",
5260
"--mod-statuslight-nonsemantic-magenta-color",
5361
"--mod-statuslight-nonsemantic-orange-color",
62+
"--mod-statuslight-nonsemantic-pink-color",
5463
"--mod-statuslight-nonsemantic-purple-color",
5564
"--mod-statuslight-nonsemantic-red-color",
5665
"--mod-statuslight-nonsemantic-seafoam-color",
66+
"--mod-statuslight-nonsemantic-silver-color",
67+
"--mod-statuslight-nonsemantic-turquoise-color",
5768
"--mod-statuslight-nonsemantic-yellow-color",
58-
"--mod-statuslight-semantic-accent-color",
5969
"--mod-statuslight-semantic-info-color",
6070
"--mod-statuslight-semantic-negative-color",
6171
"--mod-statuslight-semantic-neutral-color",
@@ -72,6 +82,10 @@
7282
"--spectrum-status-light-dot-size-large",
7383
"--spectrum-status-light-dot-size-medium",
7484
"--spectrum-status-light-dot-size-small",
85+
"--spectrum-status-light-text-to-visual-100",
86+
"--spectrum-status-light-text-to-visual-200",
87+
"--spectrum-status-light-text-to-visual-300",
88+
"--spectrum-status-light-text-to-visual-75",
7589
"--spectrum-status-light-top-to-dot-extra-large",
7690
"--spectrum-status-light-top-to-dot-large",
7791
"--spectrum-status-light-top-to-dot-medium",
@@ -80,26 +94,32 @@
8094
"--spectrum-statuslight-content-color-default",
8195
"--spectrum-statuslight-corner-radius",
8296
"--spectrum-statuslight-dot-size",
97+
"--spectrum-statuslight-font-family",
8398
"--spectrum-statuslight-font-size",
99+
"--spectrum-statuslight-font-style",
84100
"--spectrum-statuslight-font-weight",
85101
"--spectrum-statuslight-height",
86102
"--spectrum-statuslight-line-height",
87103
"--spectrum-statuslight-line-height-cjk",
88104
"--spectrum-statuslight-nonsemantic-blue-color",
105+
"--spectrum-statuslight-nonsemantic-brown-color",
89106
"--spectrum-statuslight-nonsemantic-celery-color",
90107
"--spectrum-statuslight-nonsemantic-chartreuse-color",
108+
"--spectrum-statuslight-nonsemantic-cinnamon-color",
91109
"--spectrum-statuslight-nonsemantic-cyan-color",
92110
"--spectrum-statuslight-nonsemantic-fuchsia-color",
93111
"--spectrum-statuslight-nonsemantic-gray-color",
94112
"--spectrum-statuslight-nonsemantic-green-color",
95113
"--spectrum-statuslight-nonsemantic-indigo-color",
96114
"--spectrum-statuslight-nonsemantic-magenta-color",
97115
"--spectrum-statuslight-nonsemantic-orange-color",
116+
"--spectrum-statuslight-nonsemantic-pink-color",
98117
"--spectrum-statuslight-nonsemantic-purple-color",
99118
"--spectrum-statuslight-nonsemantic-red-color",
100119
"--spectrum-statuslight-nonsemantic-seafoam-color",
120+
"--spectrum-statuslight-nonsemantic-silver-color",
121+
"--spectrum-statuslight-nonsemantic-turquoise-color",
101122
"--spectrum-statuslight-nonsemantic-yellow-color",
102-
"--spectrum-statuslight-semantic-accent-color",
103123
"--spectrum-statuslight-semantic-info-color",
104124
"--spectrum-statuslight-semantic-negative-color",
105125
"--spectrum-statuslight-semantic-neutral-color",
@@ -113,11 +133,12 @@
113133
"--spectrum-statuslight-subdued-content-color-default"
114134
],
115135
"global": [
116-
"--spectrum-accent-visual-color",
117136
"--spectrum-blue-visual-color",
118137
"--spectrum-border-width-100",
138+
"--spectrum-brown-visual-color",
119139
"--spectrum-celery-visual-color",
120140
"--spectrum-chartreuse-visual-color",
141+
"--spectrum-cinnamon-visual-color",
121142
"--spectrum-cjk-line-height-100",
122143
"--spectrum-component-bottom-to-text-100",
123144
"--spectrum-component-bottom-to-text-200",
@@ -131,12 +152,16 @@
131152
"--spectrum-component-top-to-text-200",
132153
"--spectrum-component-top-to-text-300",
133154
"--spectrum-component-top-to-text-75",
155+
"--spectrum-corner-radius-full",
134156
"--spectrum-cyan-visual-color",
157+
"--spectrum-default-font-family",
158+
"--spectrum-default-font-style",
135159
"--spectrum-font-size-100",
136160
"--spectrum-font-size-200",
137161
"--spectrum-font-size-300",
138162
"--spectrum-font-size-75",
139163
"--spectrum-fuchsia-visual-color",
164+
"--spectrum-gray-600",
140165
"--spectrum-gray-visual-color",
141166
"--spectrum-green-visual-color",
142167
"--spectrum-indigo-visual-color",
@@ -145,18 +170,17 @@
145170
"--spectrum-magenta-visual-color",
146171
"--spectrum-negative-visual-color",
147172
"--spectrum-neutral-content-color-default",
148-
"--spectrum-neutral-subdued-content-color-default",
149173
"--spectrum-neutral-visual-color",
150174
"--spectrum-notice-visual-color",
151175
"--spectrum-orange-visual-color",
176+
"--spectrum-pink-visual-color",
152177
"--spectrum-positive-visual-color",
153178
"--spectrum-purple-visual-color",
154179
"--spectrum-red-visual-color",
180+
"--spectrum-regular-font-weight",
155181
"--spectrum-seafoam-visual-color",
156-
"--spectrum-text-to-visual-100",
157-
"--spectrum-text-to-visual-200",
158-
"--spectrum-text-to-visual-300",
159-
"--spectrum-text-to-visual-75",
182+
"--spectrum-silver-visual-color",
183+
"--spectrum-turquoise-visual-color",
160184
"--spectrum-yellow-visual-color"
161185
],
162186
"system-theme": [],

components/statuslight/metadata/mods.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,32 @@
44
| `--mod-statuslight-content-color-default` |
55
| `--mod-statuslight-corner-radius` |
66
| `--mod-statuslight-dot-size` |
7+
| `--mod-statuslight-font-family` |
78
| `--mod-statuslight-font-size` |
9+
| `--mod-statuslight-font-style` |
810
| `--mod-statuslight-font-weight` |
911
| `--mod-statuslight-height` |
1012
| `--mod-statuslight-line-height` |
1113
| `--mod-statuslight-line-height-cjk` |
1214
| `--mod-statuslight-nonsemantic-blue-color` |
15+
| `--mod-statuslight-nonsemantic-brown-color` |
1316
| `--mod-statuslight-nonsemantic-celery-color` |
1417
| `--mod-statuslight-nonsemantic-chartreuse-color` |
18+
| `--mod-statuslight-nonsemantic-cinnamon-color` |
1519
| `--mod-statuslight-nonsemantic-cyan-color` |
1620
| `--mod-statuslight-nonsemantic-fuchsia-color` |
1721
| `--mod-statuslight-nonsemantic-gray-color` |
1822
| `--mod-statuslight-nonsemantic-green-color` |
1923
| `--mod-statuslight-nonsemantic-indigo-color` |
2024
| `--mod-statuslight-nonsemantic-magenta-color` |
2125
| `--mod-statuslight-nonsemantic-orange-color` |
26+
| `--mod-statuslight-nonsemantic-pink-color` |
2227
| `--mod-statuslight-nonsemantic-purple-color` |
2328
| `--mod-statuslight-nonsemantic-red-color` |
2429
| `--mod-statuslight-nonsemantic-seafoam-color` |
30+
| `--mod-statuslight-nonsemantic-silver-color` |
31+
| `--mod-statuslight-nonsemantic-turquoise-color` |
2532
| `--mod-statuslight-nonsemantic-yellow-color` |
26-
| `--mod-statuslight-semantic-accent-color` |
2733
| `--mod-statuslight-semantic-info-color` |
2834
| `--mod-statuslight-semantic-negative-color` |
2935
| `--mod-statuslight-semantic-neutral-color` |

0 commit comments

Comments
 (0)