tailwind.config.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. const colors = require('tailwindcss/colors')
  2. function exposeColorsToCssVars({ addBase, theme }) {
  3. function extractColorVars(colorObj, colorGroup = '') {
  4. return Object.keys(colorObj).reduce((vars, colorKey) => {
  5. const value = colorObj[colorKey];
  6. const newVars =
  7. typeof value === 'string'
  8. ? { [`--color${colorGroup}-${colorKey}`]: value }
  9. : extractColorVars(value, `-${colorKey}`);
  10. return { ...vars, ...newVars };
  11. }, {});
  12. }
  13. addBase({
  14. ':root': extractColorVars(theme('colors')),
  15. });
  16. }
  17. module.exports = {
  18. mode: 'jit',
  19. purge: {
  20. content: [
  21. './src/**/*.js',
  22. './src/**/*.cljs',
  23. './resources/**/*.html'
  24. ],
  25. safelist: [
  26. "bg-black",
  27. "bg-white",
  28. "bg-gray-50", "bg-red-50", "bg-yellow-50", "bg-green-50", "bg-blue-50", "bg-indigo-50", "bg-orange-50", "bg-rose-50", "bg-purple-50",
  29. "bg-gray-100", "bg-red-100", "bg-yellow-100", "bg-green-100", "bg-blue-100", "bg-indigo-100", "bg-orange-100", "bg-rose-100", "bg-purple-100", "bg-pink-100",
  30. "bg-gray-200", "bg-red-200", "bg-yellow-200", "bg-green-200", "bg-blue-200", "bg-indigo-200", "bg-orange-200", "bg-rose-200", "bg-purple-200", "bg-pink-200",
  31. "bg-gray-300", "bg-red-300", "bg-yellow-300", "bg-green-300", "bg-blue-300", "bg-indigo-300", "bg-orange-300", "bg-rose-300", "bg-purple-300", "bg-pink-300",
  32. "bg-gray-400", "bg-red-400", "bg-yellow-400", "bg-green-400", "bg-blue-400", "bg-indigo-400", "bg-orange-400", "bg-rose-400", "bg-purple-400", "bg-pink-400",
  33. "bg-gray-500", "bg-red-500", "bg-yellow-500", "bg-green-500", "bg-blue-500", "bg-indigo-500", "bg-orange-500", "bg-rose-500", "bg-purple-500", "bg-pink-500",
  34. "bg-gray-600", "bg-red-600", "bg-yellow-600", "bg-green-600", "bg-blue-600", "bg-indigo-600", "bg-orange-600", "bg-rose-600", "bg-purple-600", "bg-pink-600",
  35. "bg-gray-700", "bg-red-700", "bg-yellow-700", "bg-green-700", "bg-blue-700", "bg-indigo-700", "bg-orange-700", "bg-rose-700", "bg-purple-700", "bg-pink-700",
  36. "bg-gray-800", "bg-red-800", "bg-yellow-800", "bg-green-800", "bg-blue-800", "bg-indigo-800", "bg-orange-800", "bg-rose-800", "bg-purple-800", "bg-pink-800",
  37. "bg-gray-900", "bg-red-900", "bg-yellow-900", "bg-green-900", "bg-blue-900", "bg-indigo-900", "bg-orange-900", "bg-rose-900", "bg-purple-900", "bg-pink-900",
  38. ]
  39. },
  40. plugins: [
  41. require('@tailwindcss/ui'),
  42. exposeColorsToCssVars],
  43. darkMode: 'class',
  44. theme: {
  45. extend: {
  46. fontSize: {
  47. '2xs': ['0.625rem', '0.875rem']
  48. },
  49. animation: {
  50. 'spin-reverse': 'spin 2s linear infinite reverse',
  51. },
  52. spacing: {
  53. '128': '32rem',
  54. '144': '36rem'
  55. },
  56. scale: {
  57. '200': '2',
  58. '250': '2.5',
  59. '300': '3',
  60. '400': '4',
  61. }
  62. },
  63. colors: {
  64. transparent: 'transparent',
  65. current: 'currentColor',
  66. black: colors.black,
  67. white: colors.white,
  68. gray: colors.trueGray,
  69. green: colors.green,
  70. blue: colors.blue,
  71. indigo: {
  72. 50: '#f0f9ff',
  73. 100: '#e0f2fe',
  74. 200: '#bae6fd',
  75. 300: '#7dd3fc',
  76. 400: '#38bdf8',
  77. 500: '#0ea5e9',
  78. 600: '#0284c7',
  79. 700: '#005b8a',
  80. 800: '#075985',
  81. 900: '#0c4a6e',
  82. },
  83. red: colors.red,
  84. yellow: colors.amber,
  85. orange: colors.orange,
  86. rose: colors.rose,
  87. purple: colors.purple,
  88. pink: colors.pink
  89. }
  90. }
  91. }