-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtailwind.config.js
More file actions
120 lines (118 loc) · 3.91 KB
/
Copy pathtailwind.config.js
File metadata and controls
120 lines (118 loc) · 3.91 KB
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
/** @type {import('tailwindcss').Config} */
export default {
content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
darkMode: 'class',
safelist: [
'bg-surface',
'bg-surface-elevated',
'bg-bg',
'text-text-primary',
'text-text-secondary',
'text-interactive-text',
'bg-interactive-bg',
'bg-interactive-bg-hover',
],
theme: {
extend: {
screens: {
xs: '475px', // Extra small breakpoint for better mobile control
},
spacing: {
touch: '44px',
},
lineHeight: {
consistent: '1.5',
'tight-consistent': '1.25',
'relaxed-consistent': '1.625',
},
colors: {
bg: 'var(--color-bg)',
surface: 'var(--color-surface)',
'surface-elevated': 'var(--color-surface-elevated)',
'text-primary': 'var(--color-text-primary)',
'text-secondary': 'var(--color-text-secondary)',
'text-tertiary': 'var(--color-text-tertiary)',
border: 'var(--color-border)',
'border-hover': 'var(--color-border-hover)',
'theme-primary': 'var(--color-primary)',
'theme-primary-hover': 'var(--color-primary-hover)',
'theme-primary-light': 'var(--color-primary-light)',
accent: 'var(--color-accent)',
'accent-hover': 'var(--color-accent-hover)',
// Interactive states
'interactive-bg': 'var(--color-interactive-bg)',
'interactive-bg-hover': 'var(--color-interactive-bg-hover)',
'interactive-text': 'var(--color-interactive-text)',
'interactive-border': 'var(--color-interactive-border)',
'disabled-bg': 'var(--color-disabled-bg)',
// Keep existing primary scale for backward compatibility
primary: {
50: '#f0f9ff',
100: '#e0f2fe',
200: '#bae6fd',
300: '#7dd3fc',
400: '#38bdf8',
500: '#0ea5e9',
600: '#0284c7',
700: '#0369a1',
800: '#075985',
900: '#0c4a6e',
},
},
animation: {
'fade-in': 'fadeIn 0.5s ease-in-out',
'slide-up': 'slideUp 0.3s ease-out',
shimmer: 'shimmer 2s infinite',
float: 'float 3s ease-in-out infinite',
'pulse-glow': 'pulseGlow 2s ease-in-out infinite',
'gradient-shift': 'gradientShift 3s ease infinite',
'bounce-subtle': 'bounceSubtle 0.6s ease-out',
'slide-in-left': 'slideInLeft 0.6s ease-out',
'slide-in-right': 'slideInRight 0.6s ease-out',
},
keyframes: {
fadeIn: {
'0%': { opacity: '0' },
'100%': { opacity: '1' },
},
slideUp: {
'0%': { transform: 'translateY(10px)', opacity: '0' },
'100%': { transform: 'translateY(0)', opacity: '1' },
},
shimmer: {
'0%': { transform: 'translateX(-100%)' },
'100%': { transform: 'translateX(100%)' },
},
float: {
'0%, 100%': { transform: 'translateY(0px)' },
'50%': { transform: 'translateY(-20px)' },
},
pulseGlow: {
'0%, 100%': { opacity: '0.5', transform: 'scale(1)' },
'50%': { opacity: '1', transform: 'scale(1.05)' },
},
gradientShift: {
'0%, 100%': { backgroundPosition: '0% 50%' },
'50%': { backgroundPosition: '100% 50%' },
},
bounceSubtle: {
'0%, 100%': { transform: 'translateY(0)' },
'50%': { transform: 'translateY(-10px)' },
},
slideInLeft: {
'0%': { transform: 'translateX(-30px)', opacity: '0' },
'100%': { transform: 'translateX(0)', opacity: '1' },
},
slideInRight: {
'0%': { transform: 'translateX(30px)', opacity: '0' },
'100%': { transform: 'translateX(0)', opacity: '1' },
},
spin: {
'0%': { transform: 'rotate(0deg)' },
'100%': { transform: 'rotate(360deg)' },
},
},
},
},
plugins: [],
};