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(", ")})`; | |
| }; | |