var colors = require('tailwindcss/colors'); var plugin = require('tailwindcss/plugin'); var customThemePlugin = plugin.withOptions( function (options) { return function ({ addUtilities, theme }) { const newColors = options.colors || theme('colors'); const newFontFamily = options.fontFamily || theme('fontFamily'); addUtilities({ '.custom-color': { color: newColors.primary.DEFAULT }, '.custom-font': { fontFamily: newFontFamily.primary }, }); }; }, function (options) { return { theme: { colors: options.colors, fontFamily: options.fontFamily, }, }; } ); /** @type {import('tailwindcss').Config} */ module.exports = { plugins: [ require('tailwindcss/colors'), customThemePlugin({ colors: { ...colors, primary: { DEFAULT: 'rgb(var(--primary) / )', dark: 'rgb(var(--primary-dark) / )', variation: 'rgb(var(--primary-variation) / )', 'variation-dark': 'rgb(var(--primary-variation-dark) / )', }, secondary: { DEFAULT: 'rgb(var(--secondary) / )', dark: 'rgb(var(--secondary-dark) / )', }, background: { DEFAULT: 'rgb(var(--background) / )', dark: 'rgb(var(--background-dark) / )', }, surface: { DEFAULT: 'rgb(var(--surface) / )', variation: 'rgb(var(--surface-variation) / )', dark: 'rgb(var(--surface-dark) / )', 'variation-dark': 'rgb(var(--surface-variation-dark) / )', }, accent: { DEFAULT: 'rgb(var(--accent) / )', dark: 'rgb(var(--accent-dark) / )', }, on: { primary: 'rgb(var(--on-primary) / )', 'primary-variation': 'rgb(var(--on-primary-variation) / )', secondary: 'rgb(var(--on-secondary) / )', 'secondary-variation': 'rgb(var(--on-secondary-variation) / )', accent: 'rgb(var(--on-accent) / )', background: 'rgb(var(--on-background) / )', 'background-variation': 'rgb(var(--on-background-variation) / )', surface: 'rgb(var(--on-surface) / )', 'surface-variation': 'rgb(var(--on-surface-variation) / )', 'primary-dark': 'rgb(var(--on-primary-dark) / )', 'primary-variation-dark': 'rgb(var(--on-primary-variation-dark) / )', 'secondary-dark': 'rgb(var(--on-secondary-dark) / )', 'secondary-variation-dark': 'rgb(var(--on-secondary-variation-dark) / )', 'accent-dark': 'rgb(var(--on-accent-dark) / )', 'background-dark': 'rgb(var(--on-background-dark) / )', 'background-variation-dark': 'rgb(var(--on-background-variation-dark) / )', 'surface-dark': 'rgb(var(--on-surface-dark) / )', 'surface-variation-dark': 'rgb(var(--on-surface-variation-dark) / )', }, }, fontFamily: { primary: 'var(--font-primary)', title: 'var(--font-title)', logo: 'var(--font-logo)', }, }), ], };