158 lines
5.5 KiB
JavaScript
158 lines
5.5 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
module.exports = {
|
|
darkMode: 'class',
|
|
content: [
|
|
'./src/pages/**/*.{js,ts,jsx,tsx,mdx}',
|
|
'./src/components/**/*.{js,ts,jsx,tsx,mdx}',
|
|
'./src/app/**/*.{js,ts,jsx,tsx,mdx}',
|
|
],
|
|
theme: {
|
|
extend: {
|
|
fontFamily: {
|
|
sans: ['var(--font-sans)', 'ui-sans-serif', 'system-ui', 'sans-serif'],
|
|
mono: ['var(--font-mono)', 'ui-monospace', 'monospace'],
|
|
},
|
|
colors: {
|
|
border: 'hsl(var(--border))',
|
|
input: 'hsl(var(--input))',
|
|
ring: 'hsl(var(--ring))',
|
|
background: 'hsl(var(--background))',
|
|
foreground: 'hsl(var(--foreground))',
|
|
primary: {
|
|
DEFAULT: 'hsl(var(--primary))',
|
|
foreground: 'hsl(var(--primary-foreground))',
|
|
},
|
|
secondary: {
|
|
DEFAULT: 'hsl(var(--secondary))',
|
|
foreground: 'hsl(var(--secondary-foreground))',
|
|
},
|
|
destructive: {
|
|
DEFAULT: 'hsl(var(--destructive))',
|
|
foreground: 'hsl(var(--destructive-foreground))',
|
|
},
|
|
muted: {
|
|
DEFAULT: 'hsl(var(--muted))',
|
|
foreground: 'hsl(var(--muted-foreground))',
|
|
},
|
|
accent: {
|
|
DEFAULT: 'hsl(var(--accent))',
|
|
foreground: 'hsl(var(--accent-foreground))',
|
|
},
|
|
popover: {
|
|
DEFAULT: 'hsl(var(--popover))',
|
|
foreground: 'hsl(var(--popover-foreground))',
|
|
},
|
|
card: {
|
|
DEFAULT: 'hsl(var(--card))',
|
|
foreground: 'hsl(var(--card-foreground))',
|
|
},
|
|
// Surface levels
|
|
'surface-0': 'hsl(var(--surface-0))',
|
|
'surface-1': 'hsl(var(--surface-1))',
|
|
'surface-2': 'hsl(var(--surface-2))',
|
|
'surface-3': 'hsl(var(--surface-3))',
|
|
// Void accent colors
|
|
'void-cyan': 'hsl(var(--void-cyan))',
|
|
'void-mint': 'hsl(var(--void-mint))',
|
|
'void-amber': 'hsl(var(--void-amber))',
|
|
'void-violet': 'hsl(var(--void-violet))',
|
|
'void-crimson': 'hsl(var(--void-crimson))',
|
|
// Semantic status colors
|
|
success: {
|
|
DEFAULT: 'hsl(var(--success))',
|
|
foreground: 'hsl(var(--success-foreground))',
|
|
},
|
|
warning: {
|
|
DEFAULT: 'hsl(var(--warning))',
|
|
foreground: 'hsl(var(--warning-foreground))',
|
|
},
|
|
info: {
|
|
DEFAULT: 'hsl(var(--info))',
|
|
foreground: 'hsl(var(--info-foreground))',
|
|
},
|
|
},
|
|
borderRadius: {
|
|
lg: '8px',
|
|
md: '6px',
|
|
sm: '4px',
|
|
xs: '2px',
|
|
},
|
|
fontSize: {
|
|
'2xs': ['0.625rem', { lineHeight: '0.875rem' }],
|
|
},
|
|
spacing: {
|
|
'18': '4.5rem',
|
|
'88': '22rem',
|
|
'112': '28rem',
|
|
'128': '32rem',
|
|
},
|
|
animation: {
|
|
'fade-in': 'fadeIn 0.15s ease-out',
|
|
'slide-in-right': 'slideInRight 0.2s ease-out',
|
|
'slide-in-left': 'slideInLeft 0.2s ease-out',
|
|
'pulse-dot': 'pulse-dot 2s ease-in-out infinite',
|
|
'glow-pulse': 'glowPulse 3s ease-in-out infinite',
|
|
'float': 'float 6s ease-in-out infinite',
|
|
'converge-top': 'convergeTop 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards',
|
|
'converge-left': 'convergeLeft 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards',
|
|
'converge-right': 'convergeRight 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards',
|
|
'converge-bottom': 'convergeBottom 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards',
|
|
'converge-burst': 'convergeBurst 0.5s ease-out 0.9s forwards',
|
|
'pair-fade-out': 'pairFadeOut 0.5s ease-in 1.8s forwards',
|
|
'mc-fade-in': 'mcFadeIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) 2.0s forwards',
|
|
'grid-flow': 'gridFlow 20s linear infinite',
|
|
'edge-glow': 'edgeGlow 2s ease-in-out infinite',
|
|
},
|
|
keyframes: {
|
|
glowPulse: {
|
|
'0%, 100%': { opacity: '1', filter: 'brightness(1)' },
|
|
'50%': { opacity: '0.7', filter: 'brightness(1.3)' },
|
|
},
|
|
float: {
|
|
'0%, 100%': { transform: 'translateY(0px)' },
|
|
'50%': { transform: 'translateY(-6px)' },
|
|
},
|
|
gridFlow: {
|
|
'0%': { backgroundPosition: '0 0' },
|
|
'100%': { backgroundPosition: '40px 40px' },
|
|
},
|
|
edgeGlow: {
|
|
'0%, 100%': { opacity: '0.4' },
|
|
'50%': { opacity: '1' },
|
|
},
|
|
convergeTop: {
|
|
'0%': { transform: 'translate(-50%, -40px)', opacity: '0' },
|
|
'100%': { transform: 'translate(-50%, 0)', opacity: '1' },
|
|
},
|
|
convergeLeft: {
|
|
'0%': { transform: 'translate(-40px, -50%)', opacity: '0' },
|
|
'100%': { transform: 'translate(0, -50%)', opacity: '1' },
|
|
},
|
|
convergeRight: {
|
|
'0%': { transform: 'translate(40px, -50%)', opacity: '0' },
|
|
'100%': { transform: 'translate(0, -50%)', opacity: '1' },
|
|
},
|
|
convergeBottom: {
|
|
'0%': { transform: 'translate(-50%, 40px)', opacity: '0' },
|
|
'100%': { transform: 'translate(-50%, 0)', opacity: '1' },
|
|
},
|
|
convergeBurst: {
|
|
'0%': { transform: 'scale(0)', opacity: '0' },
|
|
'60%': { transform: 'scale(1.2)', opacity: '1' },
|
|
'100%': { transform: 'scale(1)', opacity: '0.6' },
|
|
},
|
|
pairFadeOut: {
|
|
'0%': { transform: 'scale(1)', opacity: '1' },
|
|
'100%': { transform: 'scale(0.8)', opacity: '0' },
|
|
},
|
|
mcFadeIn: {
|
|
'0%': { transform: 'scale(0.5)', opacity: '0' },
|
|
'60%': { transform: 'scale(1.08)', opacity: '1' },
|
|
'100%': { transform: 'scale(1)', opacity: '1' },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
}
|