59 lines
2.1 KiB
TypeScript
59 lines
2.1 KiB
TypeScript
import type { Config } from 'tailwindcss';
|
|
|
|
export default {
|
|
content: ['./index.html', './src/**/*.{ts,tsx}'],
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
// Mapped to CSS variables defined in src/styles/tokens.css so the design
|
|
// tokens stay the single source of truth.
|
|
background: 'rgb(var(--color-background) / <alpha-value>)',
|
|
surface: 'rgb(var(--color-surface) / <alpha-value>)',
|
|
'surface-muted': 'rgb(var(--color-surface-muted) / <alpha-value>)',
|
|
primary: {
|
|
DEFAULT: 'rgb(var(--color-primary) / <alpha-value>)',
|
|
foreground: 'rgb(var(--color-primary-foreground) / <alpha-value>)',
|
|
600: 'rgb(var(--color-primary-600) / <alpha-value>)',
|
|
50: 'rgb(var(--color-primary-50) / <alpha-value>)',
|
|
},
|
|
accent: {
|
|
DEFAULT: 'rgb(var(--color-accent) / <alpha-value>)',
|
|
foreground: 'rgb(var(--color-accent-foreground) / <alpha-value>)',
|
|
},
|
|
ink: 'rgb(var(--color-text) / <alpha-value>)',
|
|
muted: 'rgb(var(--color-muted) / <alpha-value>)',
|
|
border: 'rgb(var(--color-border) / <alpha-value>)',
|
|
success: 'rgb(var(--color-success) / <alpha-value>)',
|
|
warning: 'rgb(var(--color-warning) / <alpha-value>)',
|
|
danger: 'rgb(var(--color-danger) / <alpha-value>)',
|
|
},
|
|
fontFamily: {
|
|
sans: ['Inter', 'ui-sans-serif', 'system-ui', 'sans-serif'],
|
|
display: ['"Fraunces"', 'Georgia', 'serif'],
|
|
},
|
|
borderRadius: {
|
|
sm: 'var(--radius-sm)',
|
|
DEFAULT: 'var(--radius-md)',
|
|
md: 'var(--radius-md)',
|
|
lg: 'var(--radius-lg)',
|
|
xl: 'var(--radius-xl)',
|
|
},
|
|
boxShadow: {
|
|
card: 'var(--shadow-card)',
|
|
pop: 'var(--shadow-pop)',
|
|
focus: 'var(--shadow-focus)',
|
|
},
|
|
keyframes: {
|
|
fadeInUp: {
|
|
from: { opacity: '0', transform: 'translateY(8px)' },
|
|
to: { opacity: '1', transform: 'translateY(0)' },
|
|
},
|
|
},
|
|
animation: {
|
|
'fade-in-up': 'fadeInUp 320ms ease-out both',
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
} satisfies Config;
|