UNPKG

@chayns/colors

Version:

JavaScript utility functions for the calculation of colors for chayns

64 lines 1.12 kB
import { isHsl, isNumber } from '../../utils/is'; export default function hslToRgb1(hsl) { if (!isHsl(hsl)) { return null; } var h = hsl.h, s = hsl.s, l = hsl.l; var r; var g; var b; if (s === 0) { r = l; g = l; b = l; } else { var t1; if (l < 0.5) { t1 = l * (1 + s); } else { t1 = l + s - l * s; } var t2 = 2 * l - t1; var hue = h / 360; var tR = hue + 1 / 3; var tG = hue; var tB = hue - 1 / 3; var getColor = function getColor(tt) { var t = tt; if (t < 0) { t += 1; } else if (t > 1) { t -= 1; } if (6 * t < 1) { return t2 + (t1 - t2) * 6 * t; } if (2 * t < 1) { return t1; } if (3 * t < 2) { return t2 + (t1 - t2) * (2 / 3 - t) * 6; } return t2; }; r = getColor(tR); g = getColor(tG); b = getColor(tB); } if ('a' in hsl && isNumber(hsl.a)) { return { r: r, g: g, b: b, a: hsl.a }; } return { r: r, g: g, b: b }; } //# sourceMappingURL=hslToRgb1.js.map