diff --git a/src/lib/dynamic-contrast.js b/src/lib/dynamic-contrast.js index 1109d01..80f544d 100644 --- a/src/lib/dynamic-contrast.js +++ b/src/lib/dynamic-contrast.js @@ -12,15 +12,16 @@ import webColors from 'color-name'; export function getColorContrast(color) { - const rgbExp = /^rgba?[\s+]?\(\s*([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\s*,\s*([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\s*,\s*([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\s*(?:,\s*([\d.]+)\s*)?\)/im, - hexExp = /^(?:#)|([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$/igm; + const rgbExp = + /^rgba?[\s+]?\(\s*([0-9]+(?:\.[0-9]+)?)\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*(?:,\s*([\d.]+)\s*)?\)/im, + hexExp = /^(?:#)|([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$/gim; let rgb = color.match(rgbExp), hex = color.match(hexExp), r, g, b; if (rgb) { - r = parseInt(rgb[1], 10); - g = parseInt(rgb[2], 10); - b = parseInt(rgb[3], 10); + r = parseFloat(rgb[1]); + g = parseFloat(rgb[2]); + b = parseFloat(rgb[3]); } else if (hex) { if (hex.length > 1) { hex = hex[1];