import { type Config } from 'tailwindcss' import typographyStyles from './typography' import typographyPlugin from '@tailwindcss/typography' import headlessuiPlugin from '@headlessui/tailwindcss' import animatePlugin from 'tailwindcss-animate' export default { content: ['./src/**/*.{js,mjs,jsx,ts,tsx,mdx}'], darkMode: 'class', theme: { container: { center: true, padding: '2rem', screens: { '2xl': '1400px', }, }, fontSize: { '2xs': ['0.75rem', { lineHeight: '1.25rem' }], xs: ['0.8125rem', { lineHeight: '1.5rem' }], sm: ['0.875rem', { lineHeight: '1.5rem' }], base: ['1rem', { lineHeight: '1.75rem' }], lg: ['1.125rem', { lineHeight: '1.75rem' }], xl: ['1.25rem', { lineHeight: '1.75rem' }], '2xl': ['1.5rem', { lineHeight: '2rem' }], '3xl': ['1.875rem', { lineHeight: '2.25rem' }], '4xl': ['2.25rem', { lineHeight: '2.5rem' }], '5xl': ['3rem', { lineHeight: '1' }], '6xl': ['3.75rem', { lineHeight: '1' }], '7xl': ['4.5rem', { lineHeight: '1' }], '8xl': ['6rem', { lineHeight: '1' }], '9xl': ['8rem', { lineHeight: '1' }], }, typography: typographyStyles, extend: { 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))', }, }, borderRadius: { lg: 'var(--radius)', md: 'calc(var(--radius) - 2px)', sm: 'calc(var(--radius) - 4px)', }, boxShadow: { glow: '0 0 4px rgb(0 0 0 / 0.1)', }, maxWidth: { lg: '33rem', '2xl': '40rem', '3xl': '50rem', '5xl': '66rem', }, opacity: { 1: '0.01', 2.5: '0.025', 7.5: '0.075', 15: '0.15', }, animation: { loaderDots: 'loaderDots 0.5s infinite alternate', 'accordion-down': 'accordion-down 0.2s ease-out', 'accordion-up': 'accordion-up 0.2s ease-out', }, keyframes: { loaderDots: { to: { opacity: '0.1', transform: 'translate3d(0, -0.3rem, 0)' // TODO: More parametric } }, 'accordion-down': { // @ts-ignore from: { height: 0 }, to: { height: 'var(--radix-accordion-content-height)' }, }, 'accordion-up': { from: { height: 'var(--radix-accordion-content-height)' }, // @ts-ignore to: { height: 0 }, }, } }, }, plugins: [ typographyPlugin, headlessuiPlugin, animatePlugin, ], } satisfies Config