-
Notifications
You must be signed in to change notification settings - Fork 0
/
tailwind.config.ts
100 lines (92 loc) · 3.17 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
const { default: flattenColorPalette } = require("tailwindcss/lib/util/flattenColorPalette");
/** @type {import('tailwindcss').Config} */
import flattenColorPalette from 'tailwindcss/lib/util/flattenColorPalette';
const defaultTheme = require("tailwindcss/defaultTheme");
// Custom color with css variable color in __theme_color.scss
function customColors(cssVar) {
return ({ opacityVariable, opacityValue }) => {
if (opacityValue !== undefined) {
return `rgba(var(${cssVar}), ${opacityValue})`;
}
if (opacityVariable !== undefined) {
return `rgba(var(${cssVar}), var(${opacityVariable}, 1))`;
}
return `rgb(var(${cssVar}))`;
};
}
// This plugin adds each Tailwind color as a global CSS variable, e.g. var(--gray-200).
function addVariablesForColors({ addBase, theme }: any) {
let allColors = flattenColorPalette(theme("colors"));
let newVars = Object.fromEntries(
Object.entries(allColors).map(([key, val]) => [`--${key}`, val])
);
addBase({
":root": newVars,
});
}
module.exports = {
content: ["./src/**/*.{js,jsx,ts,tsx}", "./public/index.html"],
darkMode: "class",
theme: {
container: {
center: true,
padding: {
DEFAULT: "1rem",
"2xl": "128px",
},
},
// fontFamily: {
// display: ["var(--font-display)", ...defaultTheme.fontFamily.sans],
// body: ["var(--font-body)", ...defaultTheme.fontFamily.sans],
// },
extend: {
colors: {
primary: {
50: customColors("--c-primary-50"),
100: customColors("--c-primary-100"),
200: customColors("--c-primary-200"),
300: customColors("--c-primary-300"),
400: customColors("--c-primary-400"),
500: customColors("--c-primary-500"),
6000: customColors("--c-primary-600"),
700: customColors("--c-primary-700"),
800: customColors("--c-primary-800"),
900: customColors("--c-primary-900"),
},
secondary: {
50: customColors("--c-secondary-50"),
100: customColors("--c-secondary-100"),
200: customColors("--c-secondary-200"),
300: customColors("--c-secondary-300"),
400: customColors("--c-secondary-400"),
500: customColors("--c-secondary-500"),
6000: customColors("--c-secondary-600"),
700: customColors("--c-secondary-700"),
800: customColors("--c-secondary-800"),
900: customColors("--c-secondary-900"),
},
neutral: {
50: customColors("--c-neutral-50"),
100: customColors("--c-neutral-100"),
200: customColors("--c-neutral-200"),
300: customColors("--c-neutral-300"),
400: customColors("--c-neutral-400"),
500: customColors("--c-neutral-500"),
6000: customColors("--c-neutral-600"),
700: customColors("--c-neutral-700"),
800: customColors("--c-neutral-800"),
900: customColors("--c-neutral-900"),
},
},
},
},
variants: {
extend: {},
},
plugins: [
require("@tailwindcss/typography"),
require("@tailwindcss/forms"),
require("@tailwindcss/aspect-ratio"),
addVariablesForColors,
],
};