Corazón que late
Un «me gusta» es una promesa pequeña: pulsas y algo queda guardado. La pieza pone lo que se ve, el latido y el número que gira, y deja lo que cuenta, guardar, a quien la use: onCambio avisa de cada cambio. Sirve controlada (marcado y cuenta vienen de fuera) y sin controlar (ella lleva la cuenta), con la regla de un input: si llega la prop, manda la prop. Es un botón con aria-pressed, y el número que gira va oculto a los lectores, que si no leerían «9, 10». El latido solo suena al marcar y no al cargar la página con el botón ya marcado.
- SVG, sin dependencias, aria-pressed
Y el original de React Bits: Pulse Heart
Esta pieza está escrita desde cero en Vibeset: no se ha copiado ni portado nada de React Bits. Hace algo parecido a su Pulse Heart, y esto es lo que vimos del suyo por si prefieres usar el original.
Cuándo sí
Donde la gente pueda de verdad marcar algo: favoritos, valoraciones rápidas. No como decoración.
Ojo con
Un «me gusta» que no guarda nada es una mentira con animación: conéctalo a un estado real antes de enseñarlo.
Accesibilidad
Movimiento reducido (siete referencias en el código), tres señales aria y teclado.
- Pulse Heart
pnpm dlx shadcn@latest add @react-bits/PulseHeart-TS-TW