Tailwind-integratie
Twee onderdelen: een uit tokens gegenereerde preset (zephoraPreset) en een headless modus (unstyled) op elke component.
Preset
// tailwind.config.js
import { zephoraPreset } from "@zephora/tailwind-preset";
export default {
presets: [zephoraPreset],
content: ["./src/**/*.{ts,tsx}"],
};De preset zet Zephora-tokens om naar Tailwind: kleurenschalen (primary-500…), spacing, radius, lettergroottes met regelhoogtes, elevatieschaduwen, bewegingsduren/-easings en z-index. Ook stelt het thema-reactieve semantische kleuren beschikbaar die gebaseerd zijn op dezelfde CSS-variabelen die de gestylede componenten gebruiken — bg-background, text-foreground, bg-accent, border-border, ring-ring — zodat Tailwind-utilities het actieve thema automatisch volgen.
Headless modus
Geef unstyled door om de Zephora-styling te verwijderen met behoud van gedrag en toegankelijkheid. Style vervolgens met Tailwind:
<Button unstyled className="rounded-lg bg-accent px-4 py-2 text-accent-foreground hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-ring" > Tailwind button </Button>
Tailwind v4
Met de CSS-first-configuratie van Tailwind v4 laadt u de preset via @config, of importeert u @zephora/tokens/css en verwijst u rechtstreeks naar de ruwe --z-* variabelen in @theme.