UNPKG

@evg-b/evg-ui

Version:

EVG-UI library inspired by Material Design.

56 lines (47 loc) 1.19 kB
import HSLtoRGBAraw from './inrgb/HSLtoRGBAraw.js'; function ColorBright (_ref) { var r = _ref.r, g = _ref.g, b = _ref.b; _ref.a; var percent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; if (typeof percent !== 'number') { percent = 0; } 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); var newLightness = l + l * (percent / 100); newLightness = newLightness > 100 ? 100 : newLightness < 0 ? 0 : newLightness; var raw = HSLtoRGBAraw("hsl(".concat(h, ",").concat(s, "%,").concat(+newLightness.toFixed(1), "%)")); return { r: raw[0], g: raw[1], b: raw[2], a: raw[3] }; } export default ColorBright;