fui-fancyui
Version:
FancyUI Libary
29 lines (28 loc) • 675 B
JavaScript
const l = (r) => {
const a = parseInt(r.slice(1, 3), 16) / 255, t = parseInt(r.slice(3, 5), 16) / 255, s = parseInt(r.slice(5, 7), 16) / 255, n = Math.max(a, t, s), c = Math.min(a, t, s);
let e = 0, h = 0;
const i = (n + c) / 2;
if (n !== c) {
const o = n - c;
switch (h = i > 0.5 ? o / (2 - n - c) : o / (n + c), n) {
case a:
e = (t - s) / o + (t < s ? 6 : 0);
break;
case t:
e = (s - a) / o + 2;
break;
case s:
e = (a - t) / o + 4;
break;
}
e /= 6;
}
return {
h: Math.round(e * 360),
s: Math.round(h * 100),
l: Math.round(i * 100)
};
};
export {
l as hexToHSL
};