Luca Perullo
Components

Component

LiveNew

Shimmer Button

Single shimmer su offset-path attorno al perimetro a 4s. Background invertito (text-bg su bg-fg), il bordo è il ring del comet.

ButtonEffectClient
Open in ClaudeSorgente

Esempio01

shimmer-button.tsx
001Default
002Hero CTA · paired with secondary

Pronto a spedire?

Componenti già brand-locked, copy in italiano, prompt LLM pronti per Claude.

003Custom color · accent override

Note Il comet vive su offset-path: rect(...) e quindi rispetta esattamente il border-radius. Usa CSS Motion Path (Chrome 116+, Safari 16+, Firefox 122+).

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 · shimmer-button
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 <ShimmerButton>: pillola con cometa shimmer sul bordo.
Props:
- children: ReactNode.
- shimmerColor?: string (default "var(--accent)").
- shimmerDuration?: string (default "4s").
- background?: string (default "var(--fg)").
- borderRadius?: number (default 999).
- className?: string + ...rest button props.

Implementazione:
- "use client" + classe press, min-h-[44px], px-5 py-2.
- Pseudo-layer absolute -z-10 con offset-path rect(0 100% 100% 0 round Npx), aspect-ratio 1, width 22%, linear-gradient transparent → shimmerColor → transparent, blur 6px.
- Inset bg per nascondere il riempimento e tenere solo il ring effect.

Output: file completo src/components/shimmer-button.tsx.

Uso tipico03

tsx
<ShimmerButton shimmerColor="var(--accent)" shimmerDuration="4s">Get Started</ShimmerButton>

Dipendenze04

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

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