tailwind.preset.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. var colors = require('tailwindcss/colors');
  2. var plugin = require('tailwindcss/plugin');
  3. var customThemePlugin = plugin.withOptions(
  4. function (options) {
  5. return function ({ addUtilities, theme }) {
  6. const newColors = options.colors || theme('colors');
  7. const newFontFamily = options.fontFamily || theme('fontFamily');
  8. addUtilities({
  9. '.custom-color': { color: newColors.primary.DEFAULT },
  10. '.custom-font': { fontFamily: newFontFamily.primary },
  11. });
  12. };
  13. },
  14. function (options) {
  15. return {
  16. theme: {
  17. colors: options.colors,
  18. fontFamily: options.fontFamily,
  19. },
  20. };
  21. }
  22. );
  23. /** @type {import('tailwindcss').Config} */
  24. module.exports = {
  25. plugins: [
  26. require('tailwindcss/colors'),
  27. customThemePlugin({
  28. colors: {
  29. ...colors,
  30. primary: {
  31. DEFAULT: 'rgb(var(--primary) / <alpha-value>)',
  32. dark: 'rgb(var(--primary-dark) / <alpha-value>)',
  33. variation: 'rgb(var(--primary-variation) / <alpha-value>)',
  34. 'variation-dark': 'rgb(var(--primary-variation-dark) / <alpha-value>)',
  35. },
  36. secondary: {
  37. DEFAULT: 'rgb(var(--secondary) / <alpha-value>)',
  38. dark: 'rgb(var(--secondary-dark) / <alpha-value>)',
  39. },
  40. background: {
  41. DEFAULT: 'rgb(var(--background) / <alpha-value>)',
  42. dark: 'rgb(var(--background-dark) / <alpha-value>)',
  43. },
  44. surface: {
  45. DEFAULT: 'rgb(var(--surface) / <alpha-value>)',
  46. variation: 'rgb(var(--surface-variation) / <alpha-value>)',
  47. dark: 'rgb(var(--surface-dark) / <alpha-value>)',
  48. 'variation-dark': 'rgb(var(--surface-variation-dark) / <alpha-value>)',
  49. },
  50. accent: {
  51. DEFAULT: 'rgb(var(--accent) / <alpha-value>)',
  52. dark: 'rgb(var(--accent-dark) / <alpha-value>)',
  53. },
  54. on: {
  55. primary: 'rgb(var(--on-primary) / <alpha-value>)',
  56. 'primary-variation': 'rgb(var(--on-primary-variation) / <alpha-value>)',
  57. secondary: 'rgb(var(--on-secondary) / <alpha-value>)',
  58. 'secondary-variation': 'rgb(var(--on-secondary-variation) / <alpha-value>)',
  59. accent: 'rgb(var(--on-accent) / <alpha-value>)',
  60. background: 'rgb(var(--on-background) / <alpha-value>)',
  61. 'background-variation': 'rgb(var(--on-background-variation) / <alpha-value>)',
  62. surface: 'rgb(var(--on-surface) / <alpha-value>)',
  63. 'surface-variation': 'rgb(var(--on-surface-variation) / <alpha-value>)',
  64. 'primary-dark': 'rgb(var(--on-primary-dark) / <alpha-value>)',
  65. 'primary-variation-dark': 'rgb(var(--on-primary-variation-dark) / <alpha-value>)',
  66. 'secondary-dark': 'rgb(var(--on-secondary-dark) / <alpha-value>)',
  67. 'secondary-variation-dark': 'rgb(var(--on-secondary-variation-dark) / <alpha-value>)',
  68. 'accent-dark': 'rgb(var(--on-accent-dark) / <alpha-value>)',
  69. 'background-dark': 'rgb(var(--on-background-dark) / <alpha-value>)',
  70. 'background-variation-dark': 'rgb(var(--on-background-variation-dark) / <alpha-value>)',
  71. 'surface-dark': 'rgb(var(--on-surface-dark) / <alpha-value>)',
  72. 'surface-variation-dark': 'rgb(var(--on-surface-variation-dark) / <alpha-value>)',
  73. },
  74. },
  75. fontFamily: {
  76. primary: 'var(--font-primary)',
  77. title: 'var(--font-title)',
  78. logo: 'var(--font-logo)',
  79. },
  80. }),
  81. ],
  82. };