-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtailwind.config.ts
47 lines (43 loc) · 1.32 KB
/
tailwind.config.ts
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
import type { Config } from "tailwindcss";
const config: Config = {
darkMode: "selector",
content: [
"./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
"./src/components/**/*.{js,ts,jsx,tsx,mdx}",
"./src/app/**/*.{js,ts,jsx,tsx,mdx}",
],
theme: {
extend: {
backgroundImage: {
"gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
"gradient-conic":
"conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))",
},
},
},
plugins: [
function ({ addBase, theme }: any) {
const extractColorVars = (
colorObj: Record<string, string | Record<string, string>>,
colorGroup = ""
): Record<string, string> => {
return Object.keys(colorObj).reduce((vars, colorKey) => {
const value = colorObj[colorKey];
const cssVariable =
colorKey === "DEFAULT"
? `--color${colorGroup}`
: `--color${colorGroup}-${colorKey}`;
const newVars =
typeof value === "string"
? { [cssVariable]: value }
: extractColorVars(value, `-${colorKey}`);
return { ...vars, ...newVars };
}, {} as Record<string, string>);
};
addBase({
":root": extractColorVars(theme("colors")),
});
},
],
};
export default config;