UNPKG

ngx-hun-party-colors

Version:

[![npm version](https://badge.fury.io/js/ngx-hun-party-colors.svg)](https://badge.fury.io/js/ngx-hun-party-colors) [![Build Status](https://travis-ci.com/madar94/ngx-hun-party-colors.svg?branch=main)](https://travis-ci.com/madar94/ngx-hun-party-colors)

56 lines 5.93 kB
/** * 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==