import type { Config } from "tailwindcss"; import svgToDataUri from "mini-svg-data-uri"; import flattenColorPalette from "tailwindcss/lib/util/flattenColorPalette"; export default { theme: { extend: { dropShadow: { "card-hover": ["0 8px 12px #222A350d", "0 32px 80px #2f30370f"], }, }, }, plugins: [ addVariablesForColors, ({ matchUtilities, theme }: any) => { matchUtilities( { "bg-grid": (value: any) => ({ backgroundImage: `url("${svgToDataUri( ``, )}")`, }), "bg-grid-small": (value: any) => ({ backgroundImage: `url("${svgToDataUri( ``, )}")`, }), "bg-dot": (value: any) => ({ backgroundImage: `url("${svgToDataUri( ``, )}")`, }), }, { values: flattenColorPalette(theme("backgroundColor")), type: "color", }, ); }, ], } satisfies Config; function addVariablesForColors({ addBase, theme }: any) { const allColors = flattenColorPalette(theme("colors")); const newVars = Object.fromEntries( Object.entries(allColors).map(([key, val]) => [`--${key}`, val]), ); addBase({ ":root": newVars, }); }