diff --git a/tailwind.config.ts b/tailwind.config.ts index 84287e8..5bd0d14 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -1,5 +1,8 @@ import type { Config } from "tailwindcss" +// @ts-ignore +import {default as flattenColorPalette} from "tailwindcss/lib/util/flattenColorPalette"; + const config = { darkMode: ["class"], content: [ @@ -74,7 +77,19 @@ const config = { }, }, }, - plugins: [require("tailwindcss-animate")], + plugins: [require("tailwindcss-animate"), addVariablesForColors], } satisfies Config +// This plugin adds each Tailwind color as a global CSS variable, e.g. var(--gray-200). +function addVariablesForColors({ addBase, theme }: any) { + let allColors = flattenColorPalette(theme("colors")); + let newVars = Object.fromEntries( + Object.entries(allColors).map(([key, val]) => [`--${key}`, val]) + ); + + addBase({ + ":root": newVars, + }); +} + export default config \ No newline at end of file