UNPKG

@chayns/colors

Version:

JavaScript utility functions for the calculation of colors for chayns

70 lines (69 loc) 1.23 kB
"use strict"; 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