Files
bakery-ia/frontend/tailwind.config.js

185 lines
4.8 KiB
JavaScript
Raw Permalink Normal View History

2025-08-28 10:41:04 +02:00
import { tailwindColorConfig } from './src/styles/colors.js';
2025-07-17 13:54:51 +02:00
/** @type {import('tailwindcss').Config} */
2025-08-03 19:23:20 +02:00
export default {
2025-07-17 13:54:51 +02:00
content: [
2025-08-03 19:23:20 +02:00
"./index.html",
"./src/**/*.{js,ts,jsx,tsx}",
2025-08-28 10:41:04 +02:00
// Add more explicit paths for Docker environment
"/app/index.html",
"/app/src/**/*.{js,ts,jsx,tsx}",
// Add specific files that we know contain classes
"./src/pages/**/*.tsx",
"./src/components/**/*.tsx",
],
darkMode: 'class',
safelist: [
// Always include common utility classes that might be missed
'min-h-screen',
'bg-gradient-to-b',
'from-amber-50',
'to-orange-100',
'max-w-7xl',
'mx-auto',
'px-4',
'sm:px-6',
'lg:px-8',
'text-4xl',
'sm:text-5xl',
'md:text-6xl',
'tracking-tight',
'font-extrabold',
'text-gray-900',
'text-orange-600',
'bg-white',
'shadow-sm',
'bg-orange-500',
'rounded-md',
'shadow-lg',
'bg-gray-50',
'rounded-lg',
// Flexbox and centering classes (critical for proper alignment)
'flex',
'items-center',
'justify-center',
'flex-1',
'w-8',
'h-8',
'rounded-full',
'bg-orange-600',
'bg-gray-200',
'text-white',
'text-gray-600',
'h-0.5',
'mx-4',
'justify-between',
'grid',
'grid-cols-1',
'grid-cols-2',
'gap-4',
'space-x-4',
'space-y-4',
'space-y-6',
'block',
'text-sm',
'font-medium',
'text-gray-700',
'max-w-md',
'w-full',
'text-center',
'text-3xl',
'font-extrabold',
'mt-6',
'mt-2',
'mt-1',
'mb-8',
'mb-4',
'ml-2',
'p-8',
'py-12',
'px-4',
'text-xs',
'text-gray-500',
'text-orange-500',
'hover:text-orange-500',
'font-medium',
'h-12',
'w-12',
'h-4',
'w-4',
'mt-0.5',
'border-gray-300',
'text-red-600',
'focus:ring-orange-500',
// Include responsive variants
{
pattern: /^(text|bg|border)-(xs|sm|base|lg|xl|2xl|3xl|4xl|5xl|6xl)$/,
},
{
pattern: /^(p|m|px|py|mx|my)-(0|1|2|3|4|5|6|8|10|12|16|20|24|32)$/,
},
// Include gradient patterns
{
pattern: /^(bg-gradient-to|from|via|to)-(r|l|t|b|tr|tl|br|bl|amber|orange|gray)-(50|100|200|300|400|500|600|700|800|900)$/,
},
// Include semantic color classes
{
pattern: /^(bg|text|border)-(primary|secondary)-(50|100|200|300|400|500|600|700|800|900)$/,
},
2025-07-17 13:54:51 +02:00
],
theme: {
extend: {
colors: {
2025-08-28 10:41:04 +02:00
// Import centralized color configuration
...tailwindColorConfig,
// Keep compatibility aliases
orange: tailwindColorConfig.primary,
amber: tailwindColorConfig.primary,
2025-08-03 19:23:20 +02:00
},
fontFamily: {
2025-08-28 10:41:04 +02:00
sans: ['Inter', 'system-ui', '-apple-system', 'sans-serif'],
display: ['Poppins', 'sans-serif'],
2025-08-03 19:23:20 +02:00
},
fontSize: {
'xs': ['0.75rem', { lineHeight: '1rem' }],
'sm': ['0.875rem', { lineHeight: '1.25rem' }],
'base': ['1rem', { lineHeight: '1.5rem' }],
'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' }],
2025-08-28 10:41:04 +02:00
'5xl': ['3rem', { lineHeight: '1' }],
2025-08-03 19:23:20 +02:00
},
animation: {
2025-08-28 10:41:04 +02:00
'fade-in': 'fadeIn 0.3s ease-in-out',
2025-08-03 19:23:20 +02:00
'slide-up': 'slideUp 0.3s ease-out',
'slide-down': 'slideDown 0.3s ease-out',
2025-08-28 10:41:04 +02:00
'spin-slow': 'spin 3s linear infinite',
2025-08-03 19:23:20 +02:00
'pulse-slow': 'pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite',
2025-08-28 10:41:04 +02:00
'bounce-slow': 'bounce 2s infinite',
2025-08-03 19:23:20 +02:00
},
keyframes: {
fadeIn: {
'0%': { opacity: '0' },
'100%': { opacity: '1' },
},
slideUp: {
'0%': { transform: 'translateY(10px)', opacity: '0' },
'100%': { transform: 'translateY(0)', opacity: '1' },
},
slideDown: {
'0%': { transform: 'translateY(-10px)', opacity: '0' },
'100%': { transform: 'translateY(0)', opacity: '1' },
},
2025-08-28 10:41:04 +02:00
},
spacing: {
'18': '4.5rem',
'88': '22rem',
'120': '30rem',
},
borderRadius: {
'4xl': '2rem',
},
boxShadow: {
'glow': '0 0 20px rgba(249, 115, 22, 0.3)',
'glow-lg': '0 0 40px rgba(249, 115, 22, 0.4)',
'inner-lg': 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',
},
backgroundImage: {
'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
},
screens: {
'xs': '475px',
'3xl': '1920px',
2025-07-17 13:54:51 +02:00
},
},
},
plugins: [
require('@tailwindcss/forms'),
2025-08-03 19:23:20 +02:00
require('@tailwindcss/typography'),
2025-08-28 10:41:04 +02:00
require('@tailwindcss/aspect-ratio'),
2025-07-17 13:54:51 +02:00
],
}