import type { Config } from "tailwindcss"; import svgToDataUri from "mini-svg-data-uri"; import flattenColorPalette from "tailwindcss/lib/util/flattenColorPalette"; const addVariablesForColors = ({ addBase, theme }: any) => { const allColors = flattenColorPalette(theme("colors")); const newVars = Object.fromEntries( Object.entries(allColors).map(([key, val]) => [`--${key}`, val]), ); addBase({ ":root": newVars, }); }; const config: Config = { content: [ "./src/pages/**/*.{js,ts,jsx,tsx,mdx}", "./src/components/**/*.{js,ts,jsx,tsx,mdx}", "./src/app/**/*.{js,ts,jsx,tsx,mdx}", "./src/**/*.{ts,tsx}", ], theme: { extend: { colors: { background: "var(--background)", foreground: "var(--foreground)", }, }, }, darkMode: "class", plugins: [ addVariablesForColors, function ({ matchUtilities, theme }: any) { matchUtilities( { "bg-dot-thick": (value: any) => ({ backgroundImage: `url("${svgToDataUri( ``, )}")`, }), }, { values: flattenColorPalette(theme("backgroundColor")), type: "color", }, ); }, ], }; export default config;