From 4337ce3c288d07a22ac55d59685ea0557863e1f9 Mon Sep 17 00:00:00 2001 From: Jonny Gerig Meyer Date: Mon, 3 Mar 2025 12:32:47 -0500 Subject: [PATCH] review --- src/lib/components/ratio/index.svelte | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/lib/components/ratio/index.svelte b/src/lib/components/ratio/index.svelte index be4c022..c08703b 100644 --- a/src/lib/components/ratio/index.svelte +++ b/src/lib/components/ratio/index.svelte @@ -7,14 +7,16 @@ import { RATIOS } from '$lib/constants'; import { bg, fg } from '$lib/stores'; - let fgPremultiplied = $derived.by(() => { - if ($fg.alpha === 1 || $bg.alpha !== 1) return null; - return mix($bg, $fg, $fg.alpha, { - space: 'srgb', - premultiplied: false, - }); + let ratio = $derived.by(() => { + let fgPremultiplied = $fg; + if ($fg.alpha !== 1 && $bg.alpha === 1) { + fgPremultiplied = mix($bg, $fg, $fg.alpha, { + space: 'srgb', + premultiplied: false, + }); + } + return contrast($bg, fgPremultiplied, 'WCAG21'); }); - let ratio = $derived(contrast($bg, fgPremultiplied ?? $fg, 'WCAG21')); let displayRatio = $derived(Math.round((ratio + Number.EPSILON) * 100) / 100); let pass = $derived(ratio >= RATIOS.AA.Normal); let alphaWarning = $derived.by(() => {