misc_pterodactyl-panel/resources/scripts/lib/helpers.ts

18 lines
497 B
TypeScript
Raw Normal View History

/**
* Given a valid six character HEX color code, converts it into its associated
* RGBA value with a user controllable alpha channel.
*/
function hexToRgba(hex: string, alpha = 1): string {
// noinspection RegExpSimplifiable
if (!/#?([a-fA-F0-9]{2}){3}/.test(hex)) {
return hex;
}
// noinspection RegExpSimplifiable
2022-11-25 20:25:03 +00:00
const [r, g, b] = hex.match(/[a-fA-F0-9]{2}/g)!.map(v => parseInt(v, 16));
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
}
export { hexToRgba };