/** * EN: Tailwind CSS 4 Configuration for Web Admin * VI: Cấu hình Tailwind CSS 4 cho Web Admin * * Note: Tailwind CSS 4 uses CSS-first configuration with @theme directive in CSS files. * This config file extends the theme with additional utility classes based on CSS variables. * The main theme tokens are defined in src/app/globals.css. * * Lưu ý: Tailwind CSS 4 sử dụng cấu hình CSS-first với @theme directive trong file CSS. * File config này mở rộng theme với các utility classes bổ sung dựa trên CSS variables. * Các theme tokens chính được định nghĩa trong src/app/globals.css. */ /** @type {import('tailwindcss').Config} */ module.exports = { content: [ './src/pages/**/*.{js,ts,jsx,tsx,mdx}', './src/components/**/*.{js,ts,jsx,tsx,mdx}', './src/app/**/*.{js,ts,jsx,tsx,mdx}', './src/**/*.{js,ts,jsx,tsx,mdx}', ], darkMode: ['class', '[data-theme="dark"]'], theme: { extend: { // EN: Colors from CSS variables (globals.css) // VI: Màu sắc từ CSS variables (globals.css) colors: { bg: { primary: 'var(--bg-primary)', secondary: 'var(--bg-secondary)', tertiary: 'var(--bg-tertiary)', elevated: 'var(--bg-elevated)', }, text: { primary: 'var(--text-primary)', secondary: 'var(--text-secondary)', tertiary: 'var(--text-tertiary)', inverse: 'var(--text-inverse)', }, accent: { primary: 'var(--accent-primary)', secondary: 'var(--accent-secondary)', success: 'var(--accent-success)', warning: 'var(--accent-warning)', error: 'var(--accent-error)', info: 'var(--accent-info)', }, border: { primary: 'var(--border-primary)', secondary: 'var(--border-secondary)', focus: 'var(--border-focus)', }, }, // EN: Font families from CSS variables // VI: Font families từ CSS variables fontFamily: { sans: ['var(--font-sans)', 'sans-serif'], mono: ['var(--font-mono)', 'monospace'], }, // EN: Font sizes from CSS variables // VI: Kích thước chữ từ CSS variables fontSize: { '6xl': ['var(--text-6xl)', { lineHeight: '1' }], '5xl': ['var(--text-5xl)', { lineHeight: '1' }], '4xl': ['var(--text-4xl)', { lineHeight: '1.1' }], '3xl': ['var(--text-3xl)', { lineHeight: '1.2' }], '2xl': ['var(--text-2xl)', { lineHeight: '1.3' }], 'xl': ['var(--text-xl)', { lineHeight: '1.4' }], 'lg': ['var(--text-lg)', { lineHeight: '1.5' }], 'base': ['var(--text-base)', { lineHeight: '1.5' }], 'sm': ['var(--text-sm)', { lineHeight: '1.5' }], 'xs': ['var(--text-xs)', { lineHeight: '1.5' }], }, // EN: Font weights from CSS variables // VI: Độ đậm chữ từ CSS variables fontWeight: { light: 'var(--font-light)', normal: 'var(--font-normal)', medium: 'var(--font-medium)', semibold: 'var(--font-semibold)', bold: 'var(--font-bold)', }, // EN: Spacing from CSS variables // VI: Khoảng cách từ CSS variables spacing: { 'sidebar': 'var(--sidebar-width)', '0': 'var(--space-0)', '1': 'var(--space-1)', '2': 'var(--space-2)', '3': 'var(--space-3)', '4': 'var(--space-4)', '5': 'var(--space-5)', '6': 'var(--space-6)', '8': 'var(--space-8)', '10': 'var(--space-10)', '12': 'var(--space-12)', '16': 'var(--space-16)', '20': 'var(--space-20)', }, // EN: Border radius from CSS variables // VI: Bo góc từ CSS variables borderRadius: { sm: 'var(--radius-sm)', md: 'var(--radius-md)', lg: 'var(--radius-lg)', xl: 'var(--radius-xl)', '2xl': 'var(--radius-2xl)', full: 'var(--radius-full)', }, // EN: Box shadows from CSS variables // VI: Đổ bóng từ CSS variables boxShadow: { sm: 'var(--shadow-sm)', md: 'var(--shadow-md)', lg: 'var(--shadow-lg)', xl: 'var(--shadow-xl)', glow: 'var(--shadow-glow)', }, // EN: Animation timing functions // VI: Hàm thời gian animation transitionTimingFunction: { 'in': 'var(--ease-in)', 'out': 'var(--ease-out)', 'in-out': 'var(--ease-in-out)', spring: 'var(--ease-spring)', }, // EN: Animation durations // VI: Thời lượng animation transitionDuration: { fast: 'var(--duration-fast)', normal: 'var(--duration-normal)', slow: 'var(--duration-slow)', slower: 'var(--duration-slower)', }, // EN: Max widths for containers // VI: Chiều rộng tối đa cho containers maxWidth: { 'container-sm': 'var(--container-sm)', 'container-md': 'var(--container-md)', 'container-lg': 'var(--container-lg)', 'container-xl': 'var(--container-xl)', 'container-2xl': 'var(--container-2xl)', }, // EN: Screen breakpoints // VI: Điểm ngắt màn hình screens: { sm: '640px', md: '768px', lg: '1024px', xl: '1280px', '2xl': '1536px', }, }, }, plugins: [], };