UNPKG

@evg-b/evg-ui

Version:

EVG-UI library inspired by Material Design.

41 lines (35 loc) 926 B
function RGBArawToHSLA (_ref) { var r = _ref.r, g = _ref.g, b = _ref.b, a = _ref.a; var alpha = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; r = r / 255; g = g / 255; b = b / 255; var cmin = Math.min(r, g, b); var cmax = Math.max(r, g, b); var delta = cmax - cmin; var h, s, l = 0; if (delta == 0) { h = 0; } else if (cmax == r) { h = (g - b) / delta % 6; } else if (cmax == g) { h = (b - r) / delta + 2; } else { h = (r - g) / delta + 4; } h = Math.round(h * 60); if (h < 0) { h += 360; } l = (cmax + cmin) / 2; s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1)); s = +(s * 100).toFixed(1); l = +(l * 100).toFixed(1); return alpha ? "hsla(".concat(h, ",").concat(s, "%,").concat(l, "%,").concat(a, ")") : "hsl(".concat(h, ",").concat(s, "%,").concat(l, "%)"); } export default RGBArawToHSLA;