Luca Perullo
Components

Component

LiveNew

Callout

Avviso inline (info / warning / success / note) con rail verticale colorato, icona accent, kicker mono e CTA opzionale. Layout grid 2px+1fr per un rail nitido a 1px senza box-shadow trick.

InlineAvvisoServer
Open in ClaudeSorgente

Esempio01

callout.tsx

Note Quattro toni preconfezionati con icona, kicker e bar color. Per varianti custom, passa una prop icon e una label. Il bar è una colonna del grid (non border-l), così resta solido a 2px e si arrotonda con il rounded-md.

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 · callout
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 <Callout>: avviso inline.
Props:
- tone?: "info" | "warning" | "success" | "note" (default "info")
- label?: string — kicker mono override (default Tone.toUpperCase italianizzato)
- title?: string
- children: ReactNode — body
- icon?: ComponentType — override icona
- action?: ReactNode — slot CTA a destra
- className?: string

Layout: <aside> con CSS grid grid-cols-[2px_1fr], colonna sinistra è un rail verticale 2px con colore tone (accent / amber-500 / emerald-500 / fg-soft). Contenuto: padding px-4 py-3, gap-3, icona (Info / AlertTriangle / CheckCircle2 / Lightbulb) shrink-0, kicker mono uppercase tracking-[0.1em] text-fg-soft, title font-medium, body text-fg-muted leading-[1.6]. Slot action shrink-0 a destra.

Constraints: server component, semantica <aside>, dark-mode-aware, niente animazioni.

Output: file completo .tsx.

Uso tipico03

tsx
<Callout tone="warning" title="Heads up">
  L'API potrebbe cambiare prima della v1.
</Callout>

Dipendenze04

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

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