import type { Config } from 'tailwindcss'; import type { PluginAPI } from 'tailwindcss/types/config'; const config = { darkMode: ['class'], content: ['./src/**/*.{js,ts,jsx,tsx}'], prefix: '', theme: { container: { center: true, padding: '2rem', screens: { '2xl': '1400px' }, }, extend: { // Add custom direction utilities direction: { ltr: 'ltr', rtl: 'rtl', }, gridTemplateColumns: { // Extend with 24 columns '24': 'repeat(24, minmax(0, 1fr))', }, gridColumn: { // Extend to support up to 24 columns 'span-13': 'span 13 / span 13', 'span-14': 'span 14 / span 14', 'span-15': 'span 15 / span 15', 'span-16': 'span 16 / span 16', 'span-17': 'span 17 / span 17', 'span-18': 'span 18 / span 18', 'span-19': 'span 19 / span 19', 'span-20': 'span 20 / span 20', 'span-21': 'span 21 / span 21', 'span-22': 'span 22 / span 22', 'span-23': 'span 23 / span 23', 'span-24': 'span 24 / span 24', }, 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))', }, 'primary-blue': { DEFAULT: 'hsl(var(--primary-blue))', foreground: 'hsl(var(--primary-foreground))', }, 'primary-purple': { DEFAULT: 'hsl(var(--primary-purple))', 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))', }, }, fontFamily: { sans: ['Inter', 'sans-serif'], cocogoose: ['Cocogoose', 'sans-serif'], roboto: ['Roboto', 'sans-serif'], }, 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' }, }, wave: { '0%': { backgroundPosition: '200% 0' }, '100%': { backgroundPosition: '-200% 0' }, }, }, animation: { 'accordion-down': 'accordion-down 0.2s ease-out', 'accordion-up': 'accordion-up 0.2s ease-out', wave: 'wave 1.5s linear infinite', waveOnce: 'waveOnce 1.5s linear', }, }, }, plugins: [ (pluginApi: PluginAPI) => { const newUtilities = { '.ltr': { direction: 'ltr', }, '.rtl': { direction: 'rtl', }, }; pluginApi.addUtilities(newUtilities); }, ], } satisfies Config; export default config;