-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtailwind.config.ts
112 lines (107 loc) · 2.96 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
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/* eslint-disable @typescript-eslint/no-explicit-any */
/* eslint-disable @typescript-eslint/no-require-imports */
import type { Config } from "tailwindcss";
import animate from "tailwindcss-animate";
// import colors from "tailwindcss/colors";
import svgToDataUri from "mini-svg-data-uri";
const {
default: flattenColorPalette,
} = require("tailwindcss/lib/util/flattenColorPalette");
const config: Config = {
content: [
"./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
"./src/components/**/*.{js,ts,jsx,tsx,mdx}",
"./src/app/**/*.{js,ts,jsx,tsx,mdx}",
],
darkMode: ["selector"],
theme: {
extend: {
backgroundImage: {
"custom-radial":
"radial-gradient(closest-side at 50% 50%, #11998E 20%, #247b7b, #38EF7D, #181C14 40%)",
"custom-radial-light":
"radial-gradient(closest-side at 50% 50%, #11998E 20%, #247b7b, #38EF7D, #FFF 40%)",
},
colors: {
primary: {
DEFAULT: "#11998E",
light: "#247b7b",
},
secondary: "#38EF7D",
gold: "#FFDD43",
black: {
DEFAULT: "#000000",
main: "#181C14",
},
white: {
DEFAULT: "#FFFFFF",
light: "#F0F0F0",
},
gray: {
DEFAULT: "#4C5257",
light: "#dee2e6",
dark: "#212529",
},
pink: "#ff99c8",
},
borderRadius: {
lg: "var(--radius)",
md: "calc(var(--radius) - 2px)",
sm: "calc(var(--radius) - 4px)",
},
keyframes: {
"accordion-down": {
from: {
height: "0",
},
to: {
height: "var(--radix-accordion-content-height)",
},
},
"accordion-up": {
from: {
height: "var(--radix-accordion-content-height)",
},
to: {
height: "0",
},
},
},
animation: {
"accordion-down": "accordion-down 0.2s ease-out",
"accordion-up": "accordion-up 0.2s ease-out",
},
},
},
variants: {
extend: {
backdropBlur: ["responsive"],
},
},
plugins: [
animate,
addVariablesForColors,
function ({ matchUtilities, theme }: any) {
matchUtilities(
{
"bg-dot-thick": (value: any) => ({
backgroundImage: `url("${svgToDataUri(
`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="16" height="16" fill="none"><circle fill="${value}" id="pattern-circle" cx="10" cy="10" r="2.5"></circle></svg>`
)}")`,
}),
},
{ values: flattenColorPalette(theme("backgroundColor")), type: "color" }
);
},
],
} satisfies Config;
function addVariablesForColors({ addBase, theme }: any) {
const allColors = flattenColorPalette(theme("colors"));
const newVars = Object.fromEntries(
Object.entries(allColors).map(([key, val]) => [`--${key}`, val])
);
addBase({
":root": newVars,
});
}
export default config;