Skip to content

Commit

Permalink
add hex code if check fails (#1071)
Browse files Browse the repository at this point in the history
  • Loading branch information
lukasoppermann authored Oct 4, 2024
1 parent a83b424 commit e138ea7
Showing 1 changed file with 30 additions and 7 deletions.
37 changes: 30 additions & 7 deletions scripts/color-contrast.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,19 @@ const runContrastTest = (colorPairs: ContrastRequirement[], tokens: Tokens): con
if (!tokens.hasOwnProperty(colorB)) throw new Error(`Color token not found ${colorB}`)

if (parseToRgba(tokens[colorB].value)[3] === 1) {
return {
const testResults = testContrast(
minimumContrast,
tokens[colorA].value,
tokens[colorB].value,
undefined,
contrastPair,
...testContrast(minimumContrast, tokens[colorA].value, tokens[colorB].value, undefined, contrastPair),
)
return {
contrastPair:
testResults.pass === '✅'
? `${contrastPair}`
: `${colorA} (${tokens[colorA].value}) vs. ${colorB} (${tokens[colorB].value})`,
...testResults,
minimumContrastRatio,
}
}
Expand All @@ -64,11 +74,23 @@ const runContrastTest = (colorPairs: ContrastRequirement[], tokens: Tokens): con
// overwrite background if custom canvas array is set
if (options?.bg) canvasColorArrays = options.bg
// test transparent colorB with default bgs `canvasColors`
return canvasColorArrays.map(bg => ({
contrastPair: `${contrastPair} on ${bg}`,
...testContrast(minimumContrast, tokens[colorA].value, tokens[colorB].value, tokens[bg].value, contrastPair),
minimumContrastRatio,
}))
return canvasColorArrays.map(bg => {
const testResults = testContrast(
minimumContrast,
tokens[colorA].value,
tokens[colorB].value,
tokens[bg].value,
contrastPair,
)
return {
contrastPair:
testResults.pass === '✅'
? `${contrastPair} on ${bg}`
: `${colorA} (${tokens[colorA].value}) vs. ${colorB} (${tokens[colorB].value}) on ${bg}`,
...testResults,
minimumContrastRatio,
}
})
})
}
/**
Expand Down Expand Up @@ -99,6 +121,7 @@ const testContrast = (
// eslint-disable-next-line no-console
console.error(`${contrastPair || ''} as ${colorA} vs.${colorB}: ${err}`)
}

return {
pass: contrast >= minimumContrast ? '✅' : '❌',
contrastRatio: `${contrast}:1`,
Expand Down

0 comments on commit e138ea7

Please sign in to comment.