Skip to content

Commit 3f9754b

Browse files
light mode (#1134)
1 parent 0263948 commit 3f9754b

File tree

12 files changed

+70
-309
lines changed

12 files changed

+70
-309
lines changed

eslint.config.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,11 @@ export default tseslint.config([
9696
{
9797
allow: [
9898
'light_high_contrast',
99-
'light_colorblind',
99+
'light_protanopia_deuteranopia',
100100
'light_tritanopia',
101101
'dark_dimmed',
102102
'dark_high_contrast',
103-
'dark_colorblind',
103+
'dark_protanopia_deuteranopia',
104104
'dark_tritanopia',
105105
],
106106
},

scripts/buildFigma.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,14 @@ const buildFigma = async (buildOptions: ConfigGeneratorOptions): Promise<void> =
6161
await extended.buildAllPlatforms()
6262
}
6363
//
64-
for (const {filename, source, include} of themes) {
64+
for (const {filename, source, include, theme} of themes) {
6565
// build functional scales
6666
const extended = await PrimerStyleDictionary.extend({
6767
source,
6868
include,
6969
platforms: {
7070
figma: figma(`figma/themes/${filename}.json`, buildOptions.prefix, buildOptions.buildPath, {
71-
theme: filename.replaceAll('-', ' '),
71+
theme: [theme, getFallbackTheme(theme)],
7272
}),
7373
},
7474
})
@@ -146,7 +146,7 @@ const buildFigma = async (buildOptions: ConfigGeneratorOptions): Promise<void> =
146146
`src/tokens/functional/color/light/primitives-light.json5`,
147147
`src/tokens/functional/color/light/patterns-light.json5`,
148148
],
149-
theme: 'light colorblind',
149+
theme: 'light protanopia deuteranopia',
150150
},
151151
{
152152
name: 'light-tritanopia',
@@ -205,7 +205,7 @@ const buildFigma = async (buildOptions: ConfigGeneratorOptions): Promise<void> =
205205
`src/tokens/functional/color/dark/primitives-dark.json5`,
206206
`src/tokens/functional/color/dark/patterns-dark.json5`,
207207
],
208-
theme: 'dark colorblind',
208+
theme: 'dark protanopia deuteranopia',
209209
},
210210
{
211211
name: 'dark-tritanopia',
@@ -289,8 +289,8 @@ const buildFigma = async (buildOptions: ConfigGeneratorOptions): Promise<void> =
289289
'dark dimmed',
290290
'light high contrast',
291291
'dark high contrast',
292-
'light colorblind',
293-
'dark colorblind',
292+
'light protanopia deuteranopia',
293+
'dark protanopia deuteranopia',
294294
'light tritanopia',
295295
'dark tritanopia',
296296
].reverse()

scripts/colorContrast.config.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -254,12 +254,12 @@ export const bgColors: string[] = ['bgColor-default', 'bgColor-muted']
254254
export type ThemeName =
255255
| 'light'
256256
| 'light_high_contrast'
257-
| 'light_colorblind'
257+
| 'light_protanopia_deuteranopia'
258258
| 'light_tritanopia'
259259
| 'dark'
260260
| 'dark_dimmed'
261261
| 'dark_high_contrast'
262-
| 'dark_colorblind'
262+
| 'dark_protanopia_deuteranopia'
263263
| 'dark_tritanopia'
264264

265265
const defaultContrast: ContrastRequirement[] = setContrastRatios('default', [
@@ -278,12 +278,12 @@ export const contrastRequirements: ContrastRequirements = {
278278
// default light mode
279279
light: defaultContrast,
280280
light_high_contrast: highContrast,
281-
light_colorblind: defaultContrast,
281+
light_protanopia_deuteranopia: defaultContrast,
282282
light_tritanopia: defaultContrast,
283283
// default dark mode
284284
dark: defaultContrast,
285285
dark_dimmed: defaultContrast,
286286
dark_high_contrast: highContrast,
287-
dark_colorblind: defaultContrast,
287+
dark_protanopia_deuteranopia: defaultContrast,
288288
dark_tritanopia: defaultContrast,
289289
}

scripts/colorContrast.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {readFile} from 'fs/promises'
55
import {normal} from 'color-blend'
66
import {getContrast, parseToRgba, rgba} from 'color2k'
77
import {makeConsoleTable, makeMarkdownTable} from './utilities/makeTable.js'
8+
import {getThemeFileName} from './utilities/getThemeFileName.js'
89
/**
910
* Type definitions
1011
*/
@@ -207,7 +208,7 @@ const getColorsFromFiles = async (filePaths: ThemeName[]): Promise<Theme[]> => {
207208
[
208209
themeName,
209210
await JSON.parse(
210-
await readFile(`./dist/docs/functional/themes/${themeName.replaceAll('_', '-')}.json`, 'utf8'),
211+
await readFile(`./dist/docs/functional/themes/${getThemeFileName(themeName, '_', '-')}.json`, 'utf8'),
211212
),
212213
] as Theme,
213214
)
@@ -224,8 +225,8 @@ const runCheck = async () => {
224225
'dark',
225226
'light_high_contrast',
226227
'dark_high_contrast',
227-
'light_colorblind',
228-
'dark_colorblind',
228+
'light_protanopia_deuteranopia',
229+
'dark_protanopia_deuteranopia',
229230
'light_tritanopia',
230231
'dark_tritanopia',
231232
] as ThemeName[]

scripts/utilities/getThemeFileName.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
export const getThemeFileName = (theme: string, find: string = '_', replace: string = '-') => {
2+
const themeName = theme.replaceAll(find, replace)
3+
4+
if (themeName === 'light-protanopia-deuteranopia') {
5+
return 'light-colorblind'
6+
}
7+
if (themeName === 'dark-protanopia-deuteranopia') {
8+
return 'dark-colorblind'
9+
}
10+
11+
return themeName
12+
}

src/platforms/figma.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export const figma: PlatformInitializer = (outputFile, prefix, buildPath, option
4545
},
4646
// should this object be spread here?
4747
...options,
48+
theme: options?.theme[0].replaceAll('-', ' '),
4849
themeOverrides: {
4950
theme: options?.theme,
5051
},
@@ -58,7 +59,7 @@ export const figma: PlatformInitializer = (outputFile, prefix, buildPath, option
5859
format: `json/figma`,
5960
options: {
6061
outputReferences: true,
61-
theme: options?.theme,
62+
theme: options?.theme[0].replaceAll('-', ' '),
6263
},
6364
},
6465
],

src/schemas/collectionSchema.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ describe('Schema: mode', () => {
3434
'dark dimmed',
3535
'light high contrast',
3636
'dark high contrast',
37-
'light colorblind',
38-
'dark colorblind',
37+
'light protanopia deuteranopia',
38+
'dark protanopia deuteranopia',
3939
'light tritanopia',
4040
'dark tritanopia',
4141
])

src/schemas/collections.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ type Modes =
3333
| 'dark dimmed'
3434
| 'light high contrast'
3535
| 'dark high contrast'
36-
| 'light colorblind'
37-
| 'dark colorblind'
36+
| 'light protanopia deuteranopia'
37+
| 'dark protanopia deuteranopia'
3838
| 'light tritanopia'
3939
| 'dark tritanopia'
4040

src/schemas/colorToken.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ export const colorToken = baseColorToken
3636
'dark dimmed',
3737
'light high contrast',
3838
'dark high contrast',
39-
'light colorblind',
40-
'dark colorblind',
39+
'light protanopia deuteranopia',
40+
'dark protanopia deuteranopia',
4141
'light tritanopia',
4242
'dark tritanopia',
4343
]).optional(),

src/schemas/shadowToken.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ export const shadowToken = baseToken
3434
'dark dimmed',
3535
'light high contrast',
3636
'dark high contrast',
37-
'light colorblind',
38-
'dark colorblind',
37+
'light protanopia deuteranopia',
38+
'dark protanopia deuteranopia',
3939
'light tritanopia',
4040
'dark tritanopia',
4141
]).optional(),

src/tokens/component/diffBlob.json5

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@
2121
group: 'component',
2222
scopes: ['bgColor'],
2323
},
24+
'org.primer.overrides': {
25+
dark: {
26+
alpha: 0.15,
27+
},
28+
},
2429
},
2530
},
2631
},
@@ -45,6 +50,12 @@
4550
group: 'component',
4651
scopes: ['bgColor'],
4752
},
53+
'org.primer.overrides': {
54+
dark: {
55+
$value: '{base.color.green.4}',
56+
alpha: 0.4,
57+
},
58+
},
4859
},
4960
},
5061
},
@@ -69,6 +80,12 @@
6980
group: 'component',
7081
scopes: ['bgColor'],
7182
},
83+
'org.primer.overrides': {
84+
dark: {
85+
$value: '{base.color.green.3}',
86+
alpha: 0.3,
87+
},
88+
},
7289
},
7390
},
7491
},
@@ -117,6 +134,12 @@
117134
group: 'component',
118135
scopes: ['bgColor'],
119136
},
137+
'org.primer.overrides': {
138+
dark: {
139+
$value: '{base.color.red.4}',
140+
alpha: 0.4,
141+
},
142+
},
120143
},
121144
},
122145
},
@@ -141,6 +164,12 @@
141164
group: 'component',
142165
scopes: ['bgColor'],
143166
},
167+
'org.primer.overrides': {
168+
dark: {
169+
$value: '{base.color.red.4}',
170+
alpha: 0.3,
171+
},
172+
},
144173
},
145174
},
146175
},
@@ -203,6 +232,9 @@
203232
group: 'component',
204233
scopes: ['bgColor'],
205234
},
235+
'org.primer.overrides': {
236+
dark: '{base.color.blue.8}',
237+
},
206238
},
207239
},
208240
hover: {

0 commit comments

Comments
 (0)