/ tailwind.preset.js
tailwind.preset.js
1 /** 2 * ACDC Design System - Tailwind Preset 3 * Auto-generated from tokens/*.json - DO NOT EDIT MANUALLY 4 * 5 * Usage: 6 * import acdcPreset from '@acdc/design/tailwind' 7 * export default { presets: [acdcPreset], ... } 8 */ 9 10 /** @type {import('tailwindcss').Config} */ 11 export default { 12 content: [], 13 darkMode: 'class', 14 15 theme: { 16 extend: { 17 // === COLORS === 18 colors: { 19 // Alpha Chain (Blue) 20 alpha: { 21 "50": "#EBF4FF", 22 "100": "#D6E8FF", 23 "200": "#ADD1FF", 24 "300": "#75B3FF", 25 "400": "#4A9DFF", 26 "500": "#2B87FF", 27 "600": "#1A6FE8", 28 "700": "#1458CC", 29 "800": "#1048A8", 30 "900": "#0D3A85" 31 }, 32 // Delta Chain (Amber) 33 delta: { 34 "50": "#FFFBEB", 35 "100": "#FEF3C7", 36 "200": "#FDE68A", 37 "300": "#FCD34D", 38 "400": "#FBBF24", 39 "500": "#F59E0B", 40 "600": "#D97706", 41 "700": "#B45309", 42 "800": "#92400E", 43 "900": "#78350F" 44 }, 45 // Semantic 46 success: { 47 DEFAULT: '#22C55E', 48 hover: '#4ADE80', 49 active: '#16A34A', 50 }, 51 warning: { 52 DEFAULT: '#F59E0B', 53 hover: '#FBBF24', 54 active: '#D97706', 55 }, 56 error: { 57 DEFAULT: '#EF4444', 58 hover: '#F87171', 59 active: '#DC2626', 60 }, 61 info: { 62 DEFAULT: '#3B82F6', 63 hover: '#60A5FA', 64 active: '#2563EB', 65 }, 66 // Theme-aware (via CSS variables) 67 bg: { 68 primary: 'var(--bg-primary)', 69 secondary: 'var(--bg-secondary)', 70 tertiary: 'var(--bg-tertiary)', 71 elevated: 'var(--bg-elevated)', 72 }, 73 text: { 74 primary: 'var(--text-primary)', 75 secondary: 'var(--text-secondary)', 76 tertiary: 'var(--text-tertiary)', 77 muted: 'var(--text-muted)', 78 }, 79 border: { 80 subtle: 'var(--border-subtle)', 81 DEFAULT: 'var(--border-default)', 82 strong: 'var(--border-strong)', 83 }, 84 }, 85 86 // === TYPOGRAPHY === 87 fontFamily: { 88 sans: ['Inter, system-ui, -apple-system, sans-serif'], 89 mono: ['JetBrains Mono, Consolas, Monaco, monospace'], 90 display: ['Inter'], 91 }, 92 fontSize: { 93 xs: ['0.75rem', { lineHeight: '1rem' }], 94 sm: ['0.875rem', { lineHeight: '1.25rem' }], 95 base: ['1rem', { lineHeight: '1.5rem' }], 96 lg: ['1.125rem', { lineHeight: '1.75rem' }], 97 xl: ['1.25rem', { lineHeight: '1.75rem' }], 98 '2xl': ['1.5rem', { lineHeight: '2rem' }], 99 '3xl': ['1.875rem', { lineHeight: '2.25rem' }], 100 '4xl': ['2.25rem', { lineHeight: '2.5rem' }], 101 '5xl': ['3rem', { lineHeight: '1' }], 102 // Semantic sizes 103 display: ['56px', { lineHeight: '1.1', letterSpacing: '-0.02em', fontWeight: '700' }], 104 h1: ['40px', { lineHeight: '1.2', letterSpacing: '-0.02em', fontWeight: '700' }], 105 h2: ['32px', { lineHeight: '1.25', letterSpacing: '-0.01em', fontWeight: '700' }], 106 h3: ['24px', { lineHeight: '1.3', fontWeight: '600' }], 107 h4: ['20px', { lineHeight: '1.4', fontWeight: '600' }], 108 'body-lg': ['18px', { lineHeight: '1.6' }], 109 body: ['16px', { lineHeight: '1.6' }], 110 'body-sm': ['14px', { lineHeight: '1.5' }], 111 caption: ['12px', { lineHeight: '1.4', letterSpacing: '0.02em', fontWeight: '500' }], 112 }, 113 114 // === SPACING === 115 spacing: { 116 "0": "0px", 117 "1": "4px", 118 "2": "8px", 119 "3": "12px", 120 "4": "16px", 121 "5": "20px", 122 "6": "24px", 123 "7": "28px", 124 "8": "32px", 125 "9": "36px", 126 "10": "40px", 127 "11": "44px", 128 "12": "48px", 129 "14": "56px", 130 "16": "64px", 131 "20": "80px", 132 "24": "96px", 133 "28": "112px", 134 "32": "128px", 135 "36": "144px", 136 "40": "160px", 137 "44": "176px", 138 "48": "192px", 139 "52": "208px", 140 "56": "224px", 141 "60": "240px", 142 "64": "256px", 143 "72": "288px", 144 "80": "320px", 145 "96": "384px", 146 "0.5": "2px", 147 "1.5": "6px", 148 "2.5": "10px", 149 "3.5": "14px" 150 }, 151 152 // === BORDER RADIUS === 153 borderRadius: { 154 none: '0', 155 xs: '4px', 156 sm: '6px', 157 md: '8px', 158 lg: '12px', 159 xl: '16px', 160 '2xl': '24px', 161 full: '9999px', 162 }, 163 164 // === SHADOWS === 165 boxShadow: { 166 1: 'var(--shadow-1)', 167 2: 'var(--shadow-2)', 168 3: 'var(--shadow-3)', 169 4: 'var(--shadow-4)', 170 5: 'var(--shadow-5)', 171 'glow-alpha': 'var(--glow-alpha)', 172 'glow-delta': 'var(--glow-delta)', 173 sm: '0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.08)', 174 md: '0 4px 12px rgba(0,0,0,0.15), 0 2px 4px rgba(0,0,0,0.08)', 175 lg: '0 12px 24px rgba(0,0,0,0.18), 0 4px 8px rgba(0,0,0,0.08)', 176 xl: '0 20px 40px rgba(0,0,0,0.2), 0 8px 16px rgba(0,0,0,0.08)', 177 }, 178 179 // === Z-INDEX === 180 zIndex: { 181 dropdown: '100', 182 sticky: '200', 183 fixed: '300', 184 'modal-backdrop': '400', 185 modal: '500', 186 popover: '600', 187 tooltip: '700', 188 toast: '800', 189 max: '9999', 190 }, 191 192 // === TRANSITIONS === 193 transitionDuration: { 194 instant: '0ms', 195 fast: '150ms', 196 normal: '200ms', 197 slow: '300ms', 198 }, 199 200 // === ANIMATIONS === 201 keyframes: { 202 pulse: { 203 '0%, 100%': { opacity: '1' }, 204 '50%': { opacity: '0.5' }, 205 }, 206 'fade-in': { 207 '0%': { opacity: '0', transform: 'translateY(8px)' }, 208 '100%': { opacity: '1', transform: 'translateY(0)' }, 209 }, 210 }, 211 animation: { 212 pulse: 'pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite', 213 'fade-in': 'fade-in 0.3s ease-out', 214 }, 215 }, 216 }, 217 218 plugins: [], 219 };