generated from LordRonz/nextjs-starter
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtailwind.config.ts
106 lines (103 loc) · 2.85 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
/* eslint-disable @typescript-eslint/no-require-imports */
import type { Config } from 'tailwindcss';
import { fontFamily } from 'tailwindcss/defaultTheme';
const withOpacity =
(variable: string) =>
({ opacityValue }: { opacityValue?: string }) =>
opacityValue === undefined
? `rgb(var(${variable}))`
: `rgb(var(${variable}) / ${opacityValue})`;
const getColorShades = (shades: number[], name = 'primary') =>
shades.reduce(
(a, v) => ({ ...a, [v]: withOpacity(`--tw-clr-${name}-${v}`) }),
{},
);
export default {
content: ['./src/**/*.{js,jsx,ts,tsx}'],
darkMode: 'class', // or 'media' or 'class'
theme: {
extend: {
container: {
center: true,
padding: '2rem',
screens: {
'2xl': '1400px',
},
},
fontFamily: {
primary: ['var(--font-geist-sans)', ...fontFamily.sans],
},
colors: {
// Customize it on globals.css :root
primary: getColorShades([
50, 100, 200, 300, 400, 500, 600, 700, 800, 900,
]),
dark: '#111',
light: '#ddd',
},
strokeWidth: {
0.5: '0.5',
},
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' },
},
'bg-shine': {
from: {
backgroundPosition: '0 0',
},
to: {
backgroundPosition: '-200% 0',
},
},
spotlight: {
'0%': {
opacity: '0',
transform: 'translate(-72%, -62%) scale(0.5)',
},
'100%': {
opacity: '1',
transform: 'translate(-50%,-40%) scale(1)',
},
},
meteor: {
'0%': { transform: 'rotate(215deg) translateX(0)', opacity: '1' },
'70%': { opacity: '1' },
'100%': {
transform: 'rotate(215deg) translateX(-500px)',
opacity: '0',
},
},
'bg-position': {
'0%': { backgroundPosition: '0% 50%' },
'100%': { backgroundPosition: '100% 50%' },
},
},
animation: {
'accordion-down': 'accordion-down 0.2s ease-out',
'accordion-up': 'accordion-up 0.2s ease-out',
'bg-shine': 'bg-shine 2.2s linear infinite',
spotlight: 'spotlight 2s ease .75s 1 forwards',
meteor: 'meteor 5s linear infinite',
'bg-position': 'bg-position 2.3s linear infinite alternate',
},
},
},
variants: {
extend: {},
},
daisyui: {
themes: [],
},
plugins: [
require('@tailwindcss/forms'),
require('@tailwindcss/typography'),
require('daisyui'),
require('tailwindcss-animate'),
],
} satisfies Config;