tailwind.config.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. /** @type {import('tailwindcss').Config} */
  2. export default {
  3. content: [
  4. "./index.html",
  5. "./src/**/*.{vue,js,ts,jsx,tsx}",
  6. ],
  7. theme: {
  8. extend: {
  9. fontFamily: {
  10. sans: ['Inter', 'system-ui', 'sans-serif'],
  11. },
  12. colors: {
  13. primary: {
  14. 50: '#eff6ff',
  15. 100: '#dbeafe',
  16. 500: '#3b82f6',
  17. 600: '#2563eb',
  18. 700: '#1d4ed8',
  19. },
  20. secondary: {
  21. 50: '#f5f3ff',
  22. 100: '#ede9fe',
  23. 500: '#8b5cf6',
  24. 600: '#7c3aed',
  25. 700: '#6d28d9',
  26. },
  27. success: {
  28. 50: '#ecfdf5',
  29. 100: '#d1fae5',
  30. 500: '#10b981',
  31. 600: '#059669',
  32. 700: '#047857',
  33. },
  34. warning: {
  35. 50: '#fffbeb',
  36. 100: '#fef3c7',
  37. 500: '#f59e0b',
  38. 600: '#d97706',
  39. 700: '#b45309',
  40. },
  41. error: {
  42. 50: '#fef2f2',
  43. 100: '#fee2e2',
  44. 500: '#ef4444',
  45. 600: '#dc2626',
  46. 700: '#b91c1c',
  47. }
  48. },
  49. spacing: {
  50. '18': '4.5rem',
  51. '88': '22rem',
  52. },
  53. backdropBlur: {
  54. xs: '2px',
  55. },
  56. animation: {
  57. 'fade-in-up': 'fade-in-up 0.6s ease-out',
  58. 'scale-in': 'scale-in 0.3s ease-out',
  59. 'number-roll': 'number-roll 0.8s ease-out',
  60. 'shimmer': 'shimmer 2s infinite linear',
  61. },
  62. keyframes: {
  63. 'fade-in-up': {
  64. '0%': {
  65. opacity: '0',
  66. transform: 'translateY(20px)',
  67. },
  68. '100%': {
  69. opacity: '1',
  70. transform: 'translateY(0)',
  71. },
  72. },
  73. 'scale-in': {
  74. '0%': {
  75. opacity: '0',
  76. transform: 'scale(0.9)',
  77. },
  78. '100%': {
  79. opacity: '1',
  80. transform: 'scale(1)',
  81. },
  82. },
  83. 'number-roll': {
  84. '0%': {
  85. transform: 'translateY(-100%)',
  86. opacity: '0',
  87. },
  88. '50%': {
  89. transform: 'translateY(-50%)',
  90. opacity: '0.5',
  91. },
  92. '100%': {
  93. transform: 'translateY(0)',
  94. opacity: '1',
  95. },
  96. },
  97. 'shimmer': {
  98. '0%': {
  99. transform: 'translateX(-100%)',
  100. },
  101. '100%': {
  102. transform: 'translateX(100%)',
  103. },
  104. },
  105. },
  106. },
  107. },
  108. plugins: [],
  109. }