@chayns/colors
Version:
JavaScript utility functions for the calculation of colors for chayns
70 lines (69 loc) • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = hslToRgb1;
var _is = require("../../utils/is");
function hslToRgb1(hsl) {
if (!(0, _is.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 && (0, _is.isNumber)(hsl.a)) {
return {
r: r,
g: g,
b: b,
a: hsl.a
};
}
return {
r: r,
g: g,
b: b
};
}
//# sourceMappingURL=hslToRgb1.js.map