80 lines
2.5 KiB
JavaScript
80 lines
2.5 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
import typography from '@tailwindcss/typography';
|
|
|
|
export default {
|
|
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],
|
|
darkMode: ['class', '[data-theme="dark"]'],
|
|
theme: {
|
|
extend: {
|
|
fontFamily: {
|
|
sans: ['Inter', 'system-ui', 'sans-serif'],
|
|
display: ['Poppins', 'system-ui', 'sans-serif'],
|
|
},
|
|
colors: {
|
|
primary: {
|
|
DEFAULT: 'rgb(var(--color-primary) / <alpha-value>)',
|
|
foreground: 'rgb(var(--color-primary-foreground) / <alpha-value>)',
|
|
50: '#eff6ff',
|
|
100: '#dbeafe',
|
|
200: '#bfdbfe',
|
|
300: '#93c5fd',
|
|
400: '#60a5fa',
|
|
500: '#3b82f6',
|
|
600: '#2563eb',
|
|
700: '#1d4ed8',
|
|
800: '#1e40af',
|
|
900: '#1e3a8a',
|
|
},
|
|
secondary: {
|
|
DEFAULT: 'rgb(var(--color-secondary) / <alpha-value>)',
|
|
foreground: 'rgb(var(--color-secondary-foreground) / <alpha-value>)',
|
|
50: '#f8fafc',
|
|
100: '#f1f5f9',
|
|
200: '#e2e8f0',
|
|
300: '#cbd5e1',
|
|
400: '#94a3b8',
|
|
500: '#64748b',
|
|
600: '#475569',
|
|
700: '#334155',
|
|
800: '#1e293b',
|
|
900: '#0f172a',
|
|
},
|
|
background: 'rgb(var(--color-background) / <alpha-value>)',
|
|
foreground: 'rgb(var(--color-foreground) / <alpha-value>)',
|
|
muted: {
|
|
DEFAULT: 'rgb(var(--color-muted) / <alpha-value>)',
|
|
foreground: 'rgb(var(--color-muted-foreground) / <alpha-value>)',
|
|
},
|
|
border: 'rgb(var(--color-border) / <alpha-value>)',
|
|
accent: {
|
|
DEFAULT: 'rgb(var(--color-accent) / <alpha-value>)',
|
|
foreground: 'rgb(var(--color-accent-foreground) / <alpha-value>)',
|
|
},
|
|
},
|
|
animation: {
|
|
'fade-in': 'fadeIn 0.5s ease-in-out',
|
|
'slide-up': 'slideUp 0.5s ease-out',
|
|
'bounce-subtle': 'bounceSubtle 3s ease-in-out infinite',
|
|
},
|
|
keyframes: {
|
|
fadeIn: {
|
|
'0%': { opacity: '0', transform: 'translateY(10px)' },
|
|
'100%': { opacity: '1', transform: 'translateY(0)' },
|
|
},
|
|
slideUp: {
|
|
'0%': { transform: 'translateY(20px)', opacity: '0' },
|
|
'100%': { transform: 'translateY(0)', opacity: '1' },
|
|
},
|
|
bounceSubtle: {
|
|
'0%, 100%': {
|
|
transform: 'translateY(0)',
|
|
},
|
|
'50%': {
|
|
transform: 'translateY(-5px)',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
plugins: [typography],
|
|
}
|