-
Notifications
You must be signed in to change notification settings - Fork 0
/
tailwind.config.ts
138 lines (130 loc) · 4.37 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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
import defaultTheme from 'tailwindcss/defaultTheme';
import type { Config } from 'tailwindcss';
const {
default: flattenColorPalette,
} = require('tailwindcss/lib/util/flattenColorPalette');
const svgToDataUri = require('mini-svg-data-uri');
const config: Config = {
content: [
'./app/**/*.{js,ts,jsx,tsx,mdx}',
'./components/**/*.{js,ts,jsx,tsx,mdx}',
'./layouts/**/*.{js,ts,jsx,tsx,mdx}',
'./pages/**/*.{js,ts,jsx,tsx,mdx}',
],
darkMode: 'class',
theme: {
extend: {
backgroundImage: {
'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
'gradient-conic':
'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
},
colors: {
border: 'rgb(var(--border) / <alpha-value>)',
background: 'rgb(var(--background) / <alpha-value>)',
foreground: 'rgb(var(--foreground) / <alpha-value>)',
primary: {
DEFAULT: 'rgb(var(--primary) / <alpha-value>)',
foreground: 'rgb(var(--primary-foreground) / <alpha-value>)',
},
muted: {
DEFAULT: 'rgb(var(--muted) / <alpha-value>)',
foreground: 'rgb(var(--muted-foreground) / <alpha-value>)',
},
'muted-dark': 'var(--neutral-300)',
},
fontFamily: {
cursive: ['var(--font-cursive)', ...defaultTheme.fontFamily.serif],
},
fontSize: {
xs: ['0.75rem', { lineHeight: '1rem' }],
sm: ['0.875rem', { lineHeight: '1rem' }],
md: ['1rem', { lineHeight: '1.5rem' }],
lg: ['1.125rem', { lineHeight: '2.5rem' }],
xl: ['1.25rem', { lineHeight: '1.75rem' }],
'2xl': ['1.5rem', { lineHeight: '2rem' }],
'3xl': ['1.875rem', { lineHeight: '2.25rem' }],
'4xl': ['2.25rem', { lineHeight: '2.5rem' }],
'5xl': ['3rem', { lineHeight: '1' }],
'6xl': ['3.75rem', { lineHeight: '1' }],
'7xl': ['4.5rem', { lineHeight: '1' }],
'8xl': ['6rem', { lineHeight: '1' }],
'9xl': ['8rem', { lineHeight: '1' }],
},
animation: {
'accordion-down': 'accordion-down 0.2s ease-out',
'accordion-up': 'accordion-up 0.2s ease-out',
scroll:
'scroll var(--animation-duration, 40s) var(--animation-direction, forwards) linear infinite',
marquee: 'marquee var(--marquee-duration) linear infinite',
'fade-in': 'fade-in 0.5s linear forwards',
},
boxShadow: {
derek: `0px 0px 0px 1px rgb(0 0 0 / 0.06),
0px 1px 1px -0.5px rgb(0 0 0 / 0.06),
0px 3px 3px -1.5px rgb(0 0 0 / 0.06),
0px 6px 6px -3px rgb(0 0 0 / 0.06),
0px 12px 12px -6px rgb(0 0 0 / 0.06),
0px 24px 24px -12px rgb(0 0 0 / 0.06)`,
aceternity: `0px 2px 3px -1px rgba(0,0,0,0.1), 0px 1px 0px 0px rgba(25,28,33,0.02), 0px 0px 0px 1px rgba(25,28,33,0.08)`,
},
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' },
},
scroll: {
to: {
transform: 'translate(calc(-50% - 0.5rem))',
},
},
marquee: {
'100%': {
transform: 'translateY(-50%)',
},
},
'fade-in': {
from: {
opacity: '0',
},
to: {
opacity: '1',
},
},
},
},
},
plugins: [
addVariablesForColors,
require('@tailwindcss/typography'),
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',
},
);
},
],
};
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,
});
}
export default config;