Luca Perullo
Components

Component

LiveNew

Stat Card

Card KPI con kicker mono, valore numerico in tabular-nums, unità opzionale, e delta direzionale (▲ +12% / ▼ −3%) con colore semantico. Composabile in griglie.

DashboardKPIServer
Open in ClaudeSorgente

Esempio01

stat-card.tsx
Visite
12.4k+18%
vs. mese scorso
Conversioni
3.2%-0.4%
Sessioni
9820%

Note Il delta accetta sia una stringa ('+18%') che un oggetto { value, trend }. Il segno determina automaticamente il trend (su/giù/piatto) e il colore semantico associato.

Prompt LLM02

Incolla in Claude o ChatGPT per generare la tua variante. Include il contesto del brand, i token e i vincoli del progetto.

Prompt · stat-card
Open in Claude
Sei un senior frontend engineer. Stai lavorando su un sito Next.js 16 + React 19 + Tailwind v4 in italiano, look chanhdai-inspired: colonna stretta 672px, Geist Sans + Geist Mono, hairline 1px, divisori a stripe diagonale, palette zinc.

Token CSS disponibili: --bg, --bg-alt, --fg, --fg-muted, --fg-soft, --border, --border-strong, --accent. Usa SEMPRE queste variabili tramite le utility tailwind generate (bg-bg, text-fg-muted, border-border, ecc.). Helper "cn" da "@/lib/utils". Niente librerie UI extra: solo lucide-react e tailwind-merge.

Genera un componente <StatCard>: una KPI card minimale per dashboard.
Props:
- label: string — kicker mono in alto, uppercase tracking
- value: ReactNode — valore principale (es. "12.4k", 982, ecc.)
- unit?: string — unità mostrata in piccolo a destra del valore (es. "%")
- delta?: string | { value: string; trend: "up" | "down" | "flat" } — variazione opzionale
- caption?: string — caption sotto il valore
- dense?: boolean — variante più compatta per griglie strette
- className?: string

Layout: card rounded-md border bg-bg con padding px-4 py-3.5 (px-3 py-2.5 in dense). Kicker mono text-[10px] uppercase tracking-[0.08em] text-fg-soft. Valore text-2xl sm:text-[28px] font-medium tabular-nums tracking-tight. Delta inline a destra (ml-auto) con icona ArrowUpRight/ArrowDownRight/Minus, color emerald-600 / rose-600 / fg-muted.

Constraints: server component, tabular-nums per allineare in griglia, supporto dark mode automatico.

Output: file completo .tsx.

Uso tipico03

tsx
<StatCard label="Visite" value="12.4k" delta="+18%" caption="vs. mese scorso" />

Dipendenze04

npm
  • lucide-react
  • tailwind-merge
  • clsx
Interno
  • @/lib/utils#cn

Ti è servito? Dimmelo, oppure proponi il prossimo componente.