Spaces:
Running
Running
export const sleep = (ms: number) => | |
new Promise((resolve) => setTimeout(resolve, ms)); | |
export const rgbaToHex = (rgba: string) => { | |
if (!rgba.includes("rgba")) return "#121212"; | |
const [r, g, b, a] = rgba | |
?.replace("rgba(", "") | |
?.replace(")", "") | |
?.split(",") | |
.map((v) => Number(v)); | |
return `#${((1 << 24) + (r << 16) + (g << 8) + b)?.toString(16)?.slice(1)}`; | |
}; | |
export const hexToRgba = (hex: string, alpha: number) => { | |
const r = parseInt(hex.slice(1, 3), 16); | |
const g = parseInt(hex.slice(3, 5), 16); | |
const b = parseInt(hex.slice(5, 7), 16); | |
return `rgba(${r}, ${g}, ${b}, ${alpha})`; | |
}; | |
export const hexToDecimal = (hex: string) => { | |
return parseInt(hex, 16); | |
}; | |
export const linearGradientToArrayOfHex = (gradient: string) => { | |
const colours = gradient | |
.replace("linear-gradient(", "") | |
.replace(")", "") | |
.split(",") | |
.map((v) => v.trim()); | |
return colours.map((c) => rgbaToHex(c)); | |
}; | |
export const arrayOfHexsToLinearGradient = ( | |
colours: string[], | |
angle: number | |
) => { | |
return `linear-gradient(${angle}deg, ${colours.join(", ")})`; | |
}; | |