-
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathtailwind.config.mjs
109 lines (104 loc) · 3 KB
/
tailwind.config.mjs
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
import defaultTheme from 'tailwindcss/defaultTheme'
// Added tsx
/** @type {import('tailwindcss').Config} */
const config = {
corePlugins: {
preflight: true, // fix for ant design
},
content: ['./src/**/*.{js,jsx,ts,tsx}'],
plugins: [
({ addBase, theme }) => {
function extractColorVars(colorObj, colorGroup = '') {
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 }
}, {})
}
addBase({
':root': extractColorVars(theme('colors')),
})
},
],
theme: {
fontSize: {
xs: ['0.75rem', { lineHeight: '1rem' }],
sm: ['0.875rem', { lineHeight: '1.5rem' }],
base: ['1rem', { lineHeight: '1.5rem' }],
lg: ['1.125rem', { lineHeight: '2rem' }],
xl: ['1.25rem', { lineHeight: '1.75rem' }],
'2xl': ['1.5rem', { lineHeight: '2rem' }],
'3xl': ['2rem', { lineHeight: '3rem' }],
'4xl': ['2.5rem', { lineHeight: '3rem' }],
'5xl': ['3rem', { lineHeight: '1' }],
'6xl': ['3.75rem', { lineHeight: '1' }],
'7xl': ['4.5rem', { lineHeight: '1' }],
'8xl': ['6rem', { lineHeight: '1' }],
'9xl': ['8rem', { lineHeight: '1' }],
},
extend: {
animation: {
'fade-in': 'fade-in 0.5s linear forwards',
marquee: 'marquee var(--marquee-duration) linear infinite',
'spin-slow': 'spin 4s linear infinite',
'spin-slower': 'spin 6s linear infinite',
'spin-reverse': 'spin-reverse 1s linear infinite',
'spin-reverse-slow': 'spin-reverse 4s linear infinite',
'spin-reverse-slower': 'spin-reverse 6s linear infinite',
},
borderRadius: {
'4xl': '2rem',
'5xl': '2.5rem',
},
colors: ({ colors }) => ({
dark: {
50: '#F9FAFB',
100: 'rgb(242,244,251)',
200: 'rgb(198,200,215)',
300: 'rgb(145,149,171)',
400: 'rgb(101,106,131)',
500: 'rgb(61,65,85)',
600: 'rgb(49,52,66)',
700: 'rgb(39,41,52)',
800: 'rgb(31,33,41)',
900: 'rgb(23,24,30)',
},
gray: colors.neutral,
}),
fontFamily: {
sans: ['Inter', ...defaultTheme.fontFamily.sans],
},
keyframes: {
'fade-in': {
from: {
opacity: 0,
},
to: {
opacity: 1,
},
},
marquee: {
'100%': {
transform: 'translateY(-50%)',
},
},
'spin-reverse': {
to: {
transform: 'rotate(-360deg)',
},
},
},
maxWidth: {
'2xl': '40rem',
},
},
},
}
export default config