UNPKG

color-fns

Version:

Modern JavaScript color utility library.

49 lines 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var parseHsl_1 = require("./parseHsl"); var utils_1 = require("./utils"); function hslToRgb(hsl) { var value = typeof hsl === 'string' ? parseHsl_1.parseHsl(hsl) : hsl; if (!value) { return null; } ; var _a = [value.hue / 360, value.sat / 100, value.lum / 100, value.alpha], hue = _a[0], sat = _a[1], lgh = _a[2], alpha = _a[3]; var _b = [0, 0, 0], red = _b[0], green = _b[1], blue = _b[2]; if (sat === 0) { red = green = blue = utils_1.normalizeDecNum(lgh * 255); } if (sat !== 0) { var temp1_1 = lgh >= 50 ? lgh + sat - lgh * sat : lgh * (1 + sat); var temp2_1 = 2 * lgh - temp1_1; var testHue = function (test) { if (test < 0) { test += 1; } if (test > 1) { test -= 1; } if (test < 1 / 6) { return temp2_1 + (temp1_1 - temp2_1) * 6 * test; } if (test < 1 / 2) { return temp1_1; } if (test < 2 / 3) { return temp2_1 + (temp1_1 - temp2_1) * (2 / 3 - test) * 6; } return temp2_1; }; red = utils_1.normalizeDecNum(255 * testHue(hue + 1 / 3)); green = utils_1.normalizeDecNum(255 * testHue(hue)); blue = utils_1.normalizeDecNum(255 * testHue(hue - 1 / 3)); } return { alpha: alpha, blue: blue, green: green, red: red }; } exports.hslToRgb = hslToRgb; //# sourceMappingURL=hslToRgb.js.map