ngx-hun-party-colors
Version:
[](https://badge.fury.io/js/ngx-hun-party-colors) [](https://travis-ci.com/madar94/ngx-hun-party-colors)
56 lines • 5.93 kB
JavaScript
/**
* Converts a hex to RGB
*
* @export
*/
export function hexToRgb(value) {
if (value.indexOf('#') === 0) {
value = value.slice(1);
const r = parseInt(value.slice(0, 2), 16);
const g = parseInt(value.slice(2, 4), 16);
const b = parseInt(value.slice(4, 6), 16);
return { r, g, b };
}
}
/**
* Converts a hex to RGB
*
* @export
*/
export function hexToHsl(value) {
var _a, _b, _c;
let r = (_a = hexToRgb(value)) === null || _a === void 0 ? void 0 : _a.r;
let g = (_b = hexToRgb(value)) === null || _b === void 0 ? void 0 : _b.g;
let b = (_c = hexToRgb(value)) === null || _c === void 0 ? void 0 : _c.b;
r /= 255;
g /= 255;
b /= 255;
const cmin = Math.min(r, g, b);
const cmax = Math.max(r, g, b);
const delta = cmax - cmin;
let h = 0;
let s = 0;
let 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 { h, s, l };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaHVuLXBhcnR5LWNvbG9ycy9zcmMvbGliL3V0aWxzL2NvbG9yLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQWE7SUFDbEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUMxQixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2QixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUxQyxPQUFPLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQztLQUNwQjtBQUNMLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFhOztJQUNsQyxJQUFJLENBQUMsU0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLDBDQUFFLENBQUMsQ0FBQztJQUMzQixJQUFJLENBQUMsU0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLDBDQUFFLENBQUMsQ0FBQztJQUMzQixJQUFJLENBQUMsU0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLDBDQUFFLENBQUMsQ0FBQztJQUUzQixDQUFDLElBQUksR0FBRyxDQUFDO0lBQ1QsQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUNULENBQUMsSUFBSSxHQUFHLENBQUM7SUFFVCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7SUFFMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRVYsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1FBQ2IsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNUO1NBQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFO1FBQ25CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUM3QjtTQUFNLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTtRQUNuQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztLQUMzQjtTQUFNO1FBQ0gsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7S0FDM0I7SUFFRCxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFFdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ1AsQ0FBQyxJQUFJLEdBQUcsQ0FBQztLQUNaO0lBRUQsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV0QixDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFeEQsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTFCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUxQixPQUFPLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb252ZXJ0cyBhIGhleCB0byBSR0JcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoZXhUb1JnYih2YWx1ZTogc3RyaW5nKTogYW55IHtcbiAgICBpZiAodmFsdWUuaW5kZXhPZignIycpID09PSAwKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUuc2xpY2UoMSk7XG5cbiAgICAgICAgY29uc3QgciA9IHBhcnNlSW50KHZhbHVlLnNsaWNlKDAsIDIpLCAxNik7XG4gICAgICAgIGNvbnN0IGcgPSBwYXJzZUludCh2YWx1ZS5zbGljZSgyLCA0KSwgMTYpO1xuICAgICAgICBjb25zdCBiID0gcGFyc2VJbnQodmFsdWUuc2xpY2UoNCwgNiksIDE2KTtcblxuICAgICAgICByZXR1cm4ge3IsIGcsIGJ9O1xuICAgIH1cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGhleCB0byBSR0JcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoZXhUb0hzbCh2YWx1ZTogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgciA9IGhleFRvUmdiKHZhbHVlKT8ucjtcbiAgICBsZXQgZyA9IGhleFRvUmdiKHZhbHVlKT8uZztcbiAgICBsZXQgYiA9IGhleFRvUmdiKHZhbHVlKT8uYjtcblxuICAgIHIgLz0gMjU1O1xuICAgIGcgLz0gMjU1O1xuICAgIGIgLz0gMjU1O1xuXG4gICAgY29uc3QgY21pbiA9IE1hdGgubWluKHIsIGcsIGIpO1xuICAgIGNvbnN0IGNtYXggPSBNYXRoLm1heChyLCBnLCBiKTtcbiAgICBjb25zdCBkZWx0YSA9IGNtYXggLSBjbWluO1xuXG4gICAgbGV0IGggPSAwO1xuICAgIGxldCBzID0gMDtcbiAgICBsZXQgbCA9IDA7XG5cbiAgICBpZiAoZGVsdGEgPT09IDApIHtcbiAgICAgICAgaCA9IDA7XG4gICAgfSBlbHNlIGlmIChjbWF4ID09PSByKSB7XG4gICAgICAgIGggPSAoKGcgLSBiKSAvIGRlbHRhKSAlIDY7XG4gICAgfSBlbHNlIGlmIChjbWF4ID09PSBnKSB7XG4gICAgICAgIGggPSAoYiAtIHIpIC8gZGVsdGEgKyAyO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGggPSAociAtIGcpIC8gZGVsdGEgKyA0O1xuICAgIH1cblxuICAgIGggPSBNYXRoLnJvdW5kKGggKiA2MCk7XG5cbiAgICBpZiAoaCA8IDApIHtcbiAgICAgICAgaCArPSAzNjA7XG4gICAgfVxuXG4gICAgbCA9IChjbWF4ICsgY21pbikgLyAyO1xuXG4gICAgcyA9IGRlbHRhID09PSAwID8gMCA6IGRlbHRhIC8gKDEgLSBNYXRoLmFicygyICogbCAtIDEpKTtcblxuICAgIHMgPSArKHMgKiAxMDApLnRvRml4ZWQoMSk7XG5cbiAgICBsID0gKyhsICogMTAwKS50b0ZpeGVkKDEpO1xuXG4gICAgcmV0dXJuIHtoLCBzLCBsfTtcbn1cbiJdfQ==