tailwind.config.cjs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. /** @type {import('tailwindcss').Config} */
  2. import typography from '@tailwindcss/typography';
  3. module.exports = {
  4. content: ['./index.html', './src/**/*.svelte', '../packages/stdf/**/*.svelte'],
  5. theme: {
  6. colors: {
  7. primary: {
  8. 50: 'rgba(var(--theme-color-primary-50), <alpha-value>)',
  9. 100: 'rgba(var(--theme-color-primary-100), <alpha-value>)',
  10. 200: 'rgba(var(--theme-color-primary-200), <alpha-value>)',
  11. 300: 'rgba(var(--theme-color-primary-300), <alpha-value>)',
  12. 400: 'rgba(var(--theme-color-primary-400), <alpha-value>)',
  13. 500: 'rgba(var(--theme-color-primary-500), <alpha-value>)',
  14. DEFAULT: 'rgba(var(--theme-color-primary), <alpha-value>)',
  15. 700: 'rgba(var(--theme-color-primary-700), <alpha-value>)',
  16. 800: 'rgba(var(--theme-color-primary-800), <alpha-value>)',
  17. 900: 'rgba(var(--theme-color-primary-900), <alpha-value>)',
  18. 950: 'rgba(var(--theme-color-primary-950), <alpha-value>)',
  19. },
  20. dark: {
  21. 50: 'rgba(var(--theme-color-dark-50), <alpha-value>)',
  22. 100: 'rgba(var(--theme-color-dark-100), <alpha-value>)',
  23. 200: 'rgba(var(--theme-color-dark-200), <alpha-value>)',
  24. 300: 'rgba(var(--theme-color-dark-300), <alpha-value>)',
  25. 400: 'rgba(var(--theme-color-dark-400), <alpha-value>)',
  26. 500: 'rgba(var(--theme-color-dark-500), <alpha-value>)',
  27. DEFAULT: 'rgba(var(--theme-color-dark), <alpha-value>)',
  28. 700: 'rgba(var(--theme-color-dark-700), <alpha-value>)',
  29. 800: 'rgba(var(--theme-color-dark-800), <alpha-value>)',
  30. 900: 'rgba(var(--theme-color-dark-900), <alpha-value>)',
  31. 950: 'rgba(var(--theme-color-dark-950), <alpha-value>)',
  32. },
  33. primaryBlack: 'rgba(var(--theme-color-primaryBlack), <alpha-value>)',
  34. primaryWhite: 'rgba(var(--theme-color-primaryWhite), <alpha-value>)',
  35. darkBlack: 'rgba(var(--theme-color-darkBlack), <alpha-value>)',
  36. darkWhite: 'rgba(var(--theme-color-darkWhite), <alpha-value>)',
  37. success: 'rgba(var(--theme-color-functional-success), <alpha-value>)',
  38. warning: 'rgba(var(--theme-color-functional-warning), <alpha-value>)',
  39. error: 'rgba(var(--theme-color-functional-error), <alpha-value>)',
  40. info: 'rgba(var(--theme-color-functional-info), <alpha-value>)',
  41. extend0: 'rgba(var(--theme-color-extend0), <alpha-value>)',
  42. extend1: 'rgba(var(--theme-color-extend1), <alpha-value>)',
  43. extend2: 'rgba(var(--theme-color-extend2), <alpha-value>)',
  44. black: '#000000',
  45. white: '#ffffff',
  46. gray: {
  47. 50: '#f2f2f2',
  48. 100: '#e6e6e6',
  49. 200: '#cccccc',
  50. 300: '#b3b3b3',
  51. 400: '#999999',
  52. 500: '#808080',
  53. 600: '#666666',
  54. 700: '#4D4D4D',
  55. 800: '#333333',
  56. 900: '#1A1A1A',
  57. 950: '#0D0D0D',
  58. },
  59. transparent: 'transparent',
  60. bug1: '#DC2828',
  61. bug2: '#F09614',
  62. bug3: '#FAE600',
  63. bug4: '#37C7FF',
  64. tailwind: '#60bbf2',
  65. svelte: '#ff6937',
  66. },
  67. extend: {
  68. spacing: {
  69. 13: '3.25rem',
  70. 17: '4.25rem',
  71. 21: '5.25rem',
  72. 25: '6.25rem',
  73. 33: '8.25rem',
  74. 37: '9.25rem',
  75. 40: '10rem',
  76. 41: '10.25rem',
  77. 49: '12.25rem',
  78. 61: '15.25rem',
  79. 62: '15.5rem',
  80. 65: '16.25rem',
  81. 66: '16.5rem',
  82. 78: '19.5rem',
  83. 81: '20.25rem',
  84. 82: '20.5rem',
  85. 86: '21.5rem',
  86. 92: '23rem',
  87. 98: '24.5rem',
  88. 102: '25.5rem',
  89. 106: '26.5rem',
  90. },
  91. keyframes: {
  92. shake: {
  93. '10%, 9%': { transform: 'translate3d(-1px, 0, 0)' },
  94. '20%, 80%': { transform: 'translate3d(2px, 0, 0)' },
  95. '30%, 50%, 70%': { transform: 'translate3d(-4px, 0, 0)' },
  96. '40%, 60%': { transform: 'translate3d(4px, 0, 0)' },
  97. },
  98. lightning: {
  99. '0%': { opacity: 0 },
  100. '10%': { opacity: 1 },
  101. '20%': { opacity: 0 },
  102. '30%': { opacity: 1 },
  103. '100%': { opacity: 0 },
  104. },
  105. path: {
  106. '0%': { 'stroke-dashoffset': 400, fill: 'transparent' },
  107. '31%': { 'stroke-dashoffset': 0, fill: 'transparent' },
  108. '32%': { 'stroke-dashoffset': 0, fill: 'currentColor', opacity: 1 },
  109. '33%': { opacity: 0 },
  110. '35%': { opacity: 1 },
  111. '37%': { opacity: 0 },
  112. '39%': { opacity: 1 },
  113. '41%': { opacity: 0 },
  114. '43%': { opacity: 1 },
  115. '44%': { 'stroke-dashoffset': 0, fill: 'currentColor' },
  116. '99%': { 'stroke-dashoffset': 0, fill: 'currentColor' },
  117. '100%': { 'stroke-dashoffset': 400, fill: 'transparent' },
  118. },
  119. dynamicsBg: {
  120. '0%': { transform: 'rotate(360deg)', height: '14rem', width: '14rem' },
  121. '50%': { height: '7rem', width: '7rem' },
  122. '100%': { transform: 'rotate(0deg)', height: '14rem', width: '14rem' },
  123. },
  124. cloudMove: {
  125. '0%': { transform: 'translateX(20%) translateY(-20%)' },
  126. '50%': { transform: 'translateX(-100%) translateY(-20%)' },
  127. '100%': { transform: 'translateX(20%) translateY(-20%)' },
  128. },
  129. starTwinkle: {
  130. // 带一点点缩放和透明度变化的闪烁
  131. '0%': { opacity: 1 },
  132. '40%': { opacity: 1 },
  133. '50%': { opacity: 0 },
  134. '60%': { opacity: 1 },
  135. '100%': { opacity: 1 },
  136. },
  137. },
  138. animation: {
  139. shake: 'shake 0.82s cubic-bezier(.36,.07,.19,.97) both', // 抖动动画
  140. lightning: 'lightning 1s linear infinite', // 闪电动画
  141. path: 'path 3s linear infinite', // 路径动画
  142. dynamicsBg: 'dynamicsBg 8s linear infinite', // 动态背景动画
  143. cloudMove: 'cloudMove 40s linear infinite', // 云移动动画
  144. starTwinkle: 'starTwinkle 8s linear infinite', // 星星闪烁动画
  145. starTwinkle2: 'starTwinkle 3s linear infinite', // 星星闪烁动画
  146. starTwinkle3: 'starTwinkle 6s linear infinite', // 星星闪烁动画
  147. starTwinkle4: 'starTwinkle 4s linear infinite', // 星星闪烁动画
  148. },
  149. typography: {
  150. DEFAULT: {
  151. css: {
  152. pre: {
  153. backgroundColor: 'transparent',
  154. padding: '0',
  155. },
  156. },
  157. },
  158. },
  159. },
  160. },
  161. darkMode: 'class',
  162. plugins: [typography],
  163. };