Files
discord-decomp/_bundle/int2hslRaw.js
T
2026-11-01 12:12:55 +02:00

191 lines
5.5 KiB
JavaScript

// Metro module 688 (f689).
import Module689 from "./Module689";
function $mk66864() {
return (a0) => {
const r1 = a0 / 255;
return r1 <= 0.03928 ? r1 / 12.92 : Math.pow((r1 + 0.055) / 1.055, 2.4);
};
}
let c587_2;
const int2hslRaw = function int2hslRaw(initialColor) {
const r1 = initialColor >> 16;
const r3 = initialColor >> 8;
const r15 = 255 & initialColor;
const r4 = (r1 & 255) / 255;
const r5 = (r3 & 255) / 255;
const r18 = r15 / 255;
const r12 = Math.min(r4, r5, r18);
const r22 = Math.max(r4, r5, r18);
const r23 = r22 - r12;
const r7 = r23 === 0;
const r37 = Math.round(60 * (r7 ? 0 : r22 === r4 ? (r5 - r18) / r23 % 6 : r22 === r5 ? (r18 - r4) / r23 + 2 : (r4 - r5) / r23 + 4));
let r38 = r37;
if (r38 < 0) {
r38 = r37 + 360;
}
const r42 = (r22 + r12) / 2;
return {
h: r38,
s: +(r7 ? 0 : r23 / (1 - Math.abs(2 * r42 - 1))).toFixed(3),
l: +r42.toFixed(3)
};
};
c587_2 = /rgba?\((\d{1,3}), ?(\d{1,3}), ?(\d{1,3})\)?(?:, ?(\d(?:\.\d*)?)\))?/;
export function hex2int(a0) {
return Module689(a0).num();
}
export function int2hex(a0) {
let r41;
if (a0 <= 16777215) {
const r47 = (a0 >> 16 & 255).toString(16);
const r50 = r47.length === 1 ? `0${r47}` : r47;
const r59 = (a0 >> 8 & 255).toString(16);
const r61 = r59.length === 1 ? `0${r59}` : r59;
const r68 = (255 & a0).toString(16);
r41 = `#${r50}${r61}${r68.length === 1 ? `0${r68}` : r68}`;
} else {
const r7 = (a0 >> 24 & 255).toString(16);
const r9 = r7.length === 1 ? `0${r7}` : r7;
const r21 = (a0 >> 16 & 255).toString(16);
const r8 = r21.length === 1 ? `0${r21}` : r21;
const r10 = (a0 >> 8 & 255).toString(16);
r41 = `#${r9}${r8}${r10.length === 1 ? `0${r10}` : r10}`;
}
return r41;
}
export { int2hslRaw };
export function int2hslValues(a0, r5 = false, r6 = null) {
const r20 = int2hslRaw(a0);
const { h: r11, s: r21, l: r22 } = r20;
const r25 = +(100 * r21).toFixed(1);
const r29 = +(100 * r22).toFixed(1);
return r5 ? `${r11} calc(var(--saturation-factor, 1) * ${r25}%) ${r29}%` : r6 != null ? `${r11} ${r6 * r25}% ${r29}%` : `${r11} ${r25}% ${r29}%`;
}
export function int2hsl(a0, r5 = false, r6 = null, r13 = 1) {
const r24 = int2hslRaw(a0);
const { h: r12, s: r25, l: r26 } = r24;
const r29 = +(100 * r25).toFixed(1);
const r33 = +(100 * r26).toFixed(1);
return r5 ? `hsla(${r12}, calc(var(--saturation-factor, 1) * ${r29}%), ${r33}%, ${r13})` : r6 != null ? `hsla(${r12}, ${r6 * r29}%, ${r33}%, ${r13})` : `hsla(${r12}, ${r29}%, ${r33}%, ${r13})`;
}
export function hex2rgb(a0, r4 = null) {
if (Module689.valid(a0)) {
const r13 = Module689(a0);
if (r4 == null) {
r4 = r13.alpha();
}
return r13.alpha(r4).css();
}
return null;
}
export function int2rgba(a0, a1) {
return `rgba(${a0 >> 16 & 255}, ${a0 >> 8 & 255}, ${255 & a0}, ${a1 == null ? (a0 >> 24 & 255) / 255 : a1})`;
}
export function rgb2int(a0) {
const r10 = a0.match(c587_2);
const r11 = r10 != null ? {
red: parseInt(r10[1]),
green: parseInt(r10[2]),
blue: parseInt(r10[3])
} : {
red: 0,
green: 0,
blue: 0
};
return (r11.red << 16) + (r11.green << 8) + r11.blue;
}
export function int2hsv(a0) {
let r25;
const r2 = (a0 >> 16 & 255) / 255;
const r4 = (a0 >> 8 & 255) / 255;
const r5 = (255 & a0) / 255;
const r18 = Math.max(r2, r4, r5);
const r21 = Math.min(r2, r4, r5);
const r10 = r18 - r21;
const r23 = r18 !== 0 ? r10 / r18 : 0;
let r24 = 0;
if (r18 !== r21) {
if (r2 === r18) {
r25 = (r4 - r5) / r10 + (r4 < r5 ? 6 : 0);
} else if (r4 === r18) {
r25 = (r5 - r2) / r10 + 2;
} else {
r25 = r18;
if (r5 === r25) {
r25 = (r2 - r4) / r10 + 4;
}
}
r24 = r25 * 60;
}
return {
h: r24,
s: r23,
v: r18
};
}
export function getDarkness(a0) {
return 1 - (0.299 * (a0 >> 16 & 255) + 0.587 * (a0 >> 8 & 255) + 0.114 * (255 & a0)) / 255;
}
export function isValidHex(a0) {
return Module689.valid(a0);
}
export function int2rgbArray(a0) {
return [a0 >> 16 & 255, a0 >> 8 & 255, 255 & a0];
}
export function getLuminance(a0, a1, a2) {
const r10 = [a0, a1, a2].map($mk66864());
return 0.2126 * r10[0] + 0.7152 * r10[1] + 0.0722 * r10[2];
}
export function getContrast(a0, a1) {
const r8 = [a0 >> 16 & 255, a0 >> 8 & 255, 255 & a0];
const r21 = [a1 >> 16 & 255, a1 >> 8 & 255, 255 & a1];
const r26 = [r8[0], r8[1], r8[2]].map($mk66864());
const r35 = 0.2126 * r26[0] + 0.7152 * r26[1] + 0.0722 * r26[2];
const r42 = [r21[0], r21[1], r21[2]].map($mk66864());
const r50 = 0.2126 * r42[0] + 0.7152 * r42[1] + 0.0722 * r42[2];
return (Math.max(r35, r50) + 0.05) / (Math.min(r35, r50) + 0.05);
}
export function hsv2int(a0, a1, a2) {
let r11, r29, r30;
const r12 = a0 / 360;
const r10 = Math;
const r14 = 6 * r12;
const r15 = r10.floor(r14);
const r16 = r14 - r15;
const r17 = a2 * (1 - a1);
const r19 = a2 * (1 - r16 * a1);
const r23 = a2 * (1 - (1 - r16) * a1);
const r24 = r15 % 6;
if (r24 === 0) {
r29 = r17;
r30 = r23;
r11 = a2;
} else if (r24 === 1) {
r29 = r17;
r30 = a2;
r11 = r19;
} else if (r24 === 2) {
r29 = r23;
r30 = a2;
r11 = r17;
} else if (r24 === 3) {
r29 = a2;
r30 = r19;
r11 = r17;
} else if (r24 === 4) {
r29 = a2;
r30 = r17;
r11 = r23;
} else {
r29 = 0;
r30 = 0;
r11 = 0;
if (r24 === 5) {
r29 = r19;
r30 = r17;
r11 = a2;
}
}
return (Math.round(255 * r11) << 16) + (Math.round(255 * r30) << 8) + Math.round(255 * r29);
}