MOPC-App/tailwind.config.ts

134 lines
4.0 KiB
TypeScript

import type { Config } from 'tailwindcss'
const config: Config = {
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: {
container: {
center: true,
padding: '2rem',
screens: {
'2xl': '1400px',
},
},
extend: {
fontFamily: {
sans: ['Montserrat', 'system-ui', 'sans-serif'],
mono: ['JetBrains Mono', 'monospace'],
},
colors: {
// MOPC Brand Colors
brand: {
red: {
DEFAULT: '#de0f1e',
hover: '#c00d1a',
light: '#fee2e2',
},
blue: {
DEFAULT: '#053d57',
light: '#0a5a7c',
},
teal: {
DEFAULT: '#557f8c',
light: '#6a9aa8',
},
},
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))',
},
success: 'hsl(var(--success))',
warning: 'hsl(var(--warning))',
},
borderRadius: {
lg: 'var(--radius)',
md: 'calc(var(--radius) - 2px)',
sm: 'calc(var(--radius) - 4px)',
},
fontSize: {
'display-lg': ['3rem', { lineHeight: '1.1', fontWeight: '700' }],
display: ['2.25rem', { lineHeight: '1.2', fontWeight: '700' }],
heading: ['1.5rem', { lineHeight: '1.3', fontWeight: '600' }],
subheading: ['1.125rem', { lineHeight: '1.4', fontWeight: '600' }],
body: ['1rem', { lineHeight: '1.5', fontWeight: '400' }],
small: ['0.875rem', { lineHeight: '1.5', fontWeight: '400' }],
tiny: ['0.75rem', { lineHeight: '1.5', fontWeight: '400' }],
},
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' },
},
'fade-in': {
from: { opacity: '0' },
to: { opacity: '1' },
},
'fade-out': {
from: { opacity: '1' },
to: { opacity: '0' },
},
'slide-in-from-top': {
from: { transform: 'translateY(-10px)', opacity: '0' },
to: { transform: 'translateY(0)', opacity: '1' },
},
'slide-in-from-bottom': {
from: { transform: 'translateY(10px)', opacity: '0' },
to: { transform: 'translateY(0)', opacity: '1' },
},
},
animation: {
'accordion-down': 'accordion-down 0.2s ease-out',
'accordion-up': 'accordion-up 0.2s ease-out',
'fade-in': 'fade-in 0.2s ease-out',
'fade-out': 'fade-out 0.2s ease-out',
'slide-in-from-top': 'slide-in-from-top 0.3s ease-out',
'slide-in-from-bottom': 'slide-in-from-bottom 0.3s ease-out',
},
spacing: {
18: '4.5rem',
22: '5.5rem',
},
},
},
plugins: [require('tailwindcss-animate')],
}
export default config