Zephora UI

Integrazione con Tailwind

Due elementi: un preset generato dai token (zephoraPreset) e una modalità headless (unstyled) su ogni componente.

Preset

// tailwind.config.js
import { zephoraPreset } from "@zephora/tailwind-preset";

export default {
  presets: [zephoraPreset],
  content: ["./src/**/*.{ts,tsx}"],
};

Il preset mappa i token di Zephora in Tailwind: scale di colore (primary-500…), spaziature, raggi, dimensioni dei font con altezze di riga, ombre di elevazione, durate/curve del movimento e z-index. Espone inoltre colori semantici reattivi al tema, basati sulle stesse variabili CSS usate dai componenti con stile — bg-background, text-foreground, bg-accent, border-border, ring-ring — così le utility di Tailwind seguono automaticamente il tema attivo.

Modalità headless

Passa unstyled per rimuovere lo stile di Zephora mantenendo comportamento e accessibilità. Poi applica gli stili con 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

Con la configurazione CSS-first di Tailwind v4, carica il preset tramite @config, oppure importa @zephora/tokens/css e fai riferimento direttamente alle variabili grezze --z-* in @theme.