Botón de mecha
Deshacer es mejor que preguntar «¿seguro?»: no interrumpe a quien acertó y rescata a quien no. Al pulsar, la acción no ocurre todavía: arranca una cuenta atrás visible, una mecha que se consume, y la acción se confirma sola al acabar. Para que sea honesto, onConfirmar se llama una vez, al acabar la mecha: un deshacer que no deshace nada porque la acción ya salió al pulsar es un adorno que miente. El foco se lleva solo al botón Deshacer (y Escape también deshace), porque quien usa el teclado acaba de pulsar un botón que desaparece. La cuenta se pausa con el ratón encima y no con el foco, o se pararía siempre. Se anuncia una vez a los lectores, no cada segundo.
- DOM, sin dependencias, deshacer, teclado
Y el original de React Bits: Fuse Button
Esta pieza está escrita desde cero en Vibeset: no se ha copiado ni portado nada de React Bits. Hace algo parecido a su Fuse Button, y esto es lo que vimos del suyo por si prefieres usar el original.
Cuándo sí
Para acciones que sí se pueden deshacer: archivar, enviar, mover. Deshacer es mejor que preguntar «¿seguro?»: no interrumpe a quien acertó.
Ojo con
La acción ocurre sola al acabar la cuenta: que el deshacer sea de verdad (que revierta) y no solo un botón. Y no lo uses para algo que no se pueda revertir.
Accesibilidad
Nueve señales aria, teclado y movimiento reducido. Una cuenta atrás que confirma sola es difícil para quien necesita más tiempo: comprueba que se pausa con el foco y no solo con el ratón.
- Fuse Button
pnpm dlx shadcn@latest add @react-bits/FuseButton-TS-TW