tailwind.config.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. /** @type {import('tailwindcss').Config} */
  2. module.exports = {
  3. content: ['./src/**/*.{ts,tsx}'],
  4. darkMode: ['class', '[data-theme="dark"]'],
  5. theme: {
  6. extend: {
  7. colors: {
  8. primary: {
  9. 50: '#EEF2FF',
  10. 100: '#E0E7FF',
  11. 200: '#C7D2FE',
  12. 300: '#A5B4FC',
  13. 400: '#818CF8',
  14. 500: '#6366F1',
  15. 600: '#4F46E5',
  16. 700: '#4338CA',
  17. 800: '#3730A3',
  18. 900: '#312E81',
  19. },
  20. secondary: {
  21. 50: '#FFFBEB',
  22. 100: '#FEF3C7',
  23. 200: '#FDE68A',
  24. 300: '#FCD34D',
  25. 400: '#FBBF24',
  26. 500: '#F59E0B',
  27. 600: '#D97706',
  28. 700: '#B45309',
  29. 800: '#92400E',
  30. 900: '#78350F',
  31. },
  32. accent: {
  33. 50: '#ECFEFF',
  34. 100: '#CFFAFE',
  35. 200: '#A5F3FC',
  36. 300: '#67E8F9',
  37. 400: '#22D3EE',
  38. 500: '#06B6D4',
  39. 600: '#0891B2',
  40. 700: '#0E7490',
  41. 800: '#155E75',
  42. 900: '#164E63',
  43. },
  44. neutral: {
  45. 50: '#FAFAFA',
  46. 100: '#F4F4F5',
  47. 200: '#E4E4E7',
  48. 300: '#D4D4D8',
  49. 400: '#A1A1AA',
  50. 500: '#71717A',
  51. 600: '#52525B',
  52. 700: '#3F3F46',
  53. 800: '#27272A',
  54. 900: '#18181B',
  55. 950: '#09090B',
  56. },
  57. success: {
  58. 500: '#22C55E',
  59. 600: '#16A34A',
  60. },
  61. warning: {
  62. 500: '#F59E0B',
  63. 600: '#D97706',
  64. },
  65. error: {
  66. 500: '#EF4444',
  67. 600: '#DC2626',
  68. },
  69. info: {
  70. 500: '#3B82F6',
  71. 600: '#2563EB',
  72. },
  73. },
  74. fontFamily: {
  75. heading: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'sans-serif'],
  76. body: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'sans-serif'],
  77. mono: ['JetBrains Mono', 'Fira Code', 'monospace'],
  78. },
  79. fontSize: {
  80. 'xs': ['12px', { lineHeight: '16px' }],
  81. 'sm': ['14px', { lineHeight: '20px' }],
  82. 'base': ['16px', { lineHeight: '24px' }],
  83. 'lg': ['18px', { lineHeight: '28px' }],
  84. 'xl': ['20px', { lineHeight: '28px' }],
  85. '2xl': ['24px', { lineHeight: '32px' }],
  86. '3xl': ['30px', { lineHeight: '36px' }],
  87. '4xl': ['36px', { lineHeight: '40px' }],
  88. '5xl': ['48px', { lineHeight: '48px' }],
  89. },
  90. spacing: {
  91. '0.5': '2px',
  92. '1.5': '6px',
  93. '18': '72px',
  94. '88': '352px',
  95. },
  96. borderRadius: {
  97. 'sm': '6px',
  98. 'md': '8px',
  99. 'lg': '12px',
  100. 'xl': '16px',
  101. '2xl': '24px',
  102. },
  103. boxShadow: {
  104. 'glow': '0 0 20px rgba(99,102,241,0.3)',
  105. 'glow-lg': '0 0 40px rgba(99,102,241,0.4)',
  106. },
  107. animation: {
  108. 'fade-in': 'fade-in 0.2s ease-out',
  109. 'slide-up': 'slide-up 0.3s ease-out',
  110. 'slide-down': 'slide-down 0.3s ease-out',
  111. 'scale-in': 'scale-in 0.2s ease-out',
  112. },
  113. keyframes: {
  114. 'fade-in': {
  115. '0%': { opacity: '0' },
  116. '100%': { opacity: '1' },
  117. },
  118. 'slide-up': {
  119. '0%': { transform: 'translateY(10px)', opacity: '0' },
  120. '100%': { transform: 'translateY(0)', opacity: '1' },
  121. },
  122. 'slide-down': {
  123. '0%': { transform: 'translateY(-10px)', opacity: '0' },
  124. '100%': { transform: 'translateY(0)', opacity: '1' },
  125. },
  126. 'scale-in': {
  127. '0%': { transform: 'scale(0.95)', opacity: '0' },
  128. '100%': { transform: 'scale(1)', opacity: '1' },
  129. },
  130. },
  131. },
  132. },
  133. plugins: [],
  134. }