Spaces:
Sleeping
Sleeping
File size: 1,343 Bytes
ec675f2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | export function analyzeCSS(css: string) {
const colors = [
...new Set(
(
css.match(
/#[0-9a-fA-F]{3,8}\b|rgba?\([^)]+\)|hsla?\([^)]+\)/g
) || []
)
)
].slice(0, 100);
const fonts = [
...new Set(
(
css.match(
/font-family\s*:\s*([^;]+)/gi
) || []
).map(v =>
v.replace(/font-family\s*:/i, "")
.trim()
)
)
];
const gradients = [
...new Set(
(
css.match(
/(linear-gradient|radial-gradient)\([^)]+\)/gi
) || []
)
)
];
const borderRadius = [
...new Set(
(
css.match(
/border-radius\s*:\s*[^;]+/gi
) || []
).map(v =>
v.replace(/border-radius\s*:/i, "")
.trim()
)
)
];
const spacing = [
...new Set(
(
css.match(
/(margin|padding)\s*:\s*[^;]+/gi
) || []
)
)
];
const animations = [
...new Set(
(
css.match(
/animation\s*:\s*[^;]+/gi
) || []
)
)
];
const shadows = [
...new Set(
(
css.match(
/box-shadow\s*:\s*[^;]+/gi
) || []
)
)
];
return {
colors,
fonts,
gradients,
borderRadius,
spacing,
animations,
shadows
};
}
|