@chayns/colors
Version:
JavaScript utility functions for the calculation of colors for chayns
77 lines (64 loc) • 1.14 kB
JavaScript
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