Toast

Notificaciones toast con sonner

Notificaciones toast basadas en la biblioteca sonner. Renderiza Toaster una vez (p. ej. en tu layout) y llama a toast() desde cualquier sitio.

tsx
import { Toaster, toast } from "@/components/ui/sonner";
import { Button } from "@/components/ui/button";

export default function Example() {
  return (
    <>
      <Toaster />
      <Button
        onClick={() =>
          toast("Ajustes guardados", {
            description: "Tus preferencias se han actualizado.",
          })
        }
      >
        Mostrar toast
      </Button>
    </>
  );
}

Instalación

bash
liminal add sonner

Uso

tsx
import { Toaster, toast } from "@/components/ui/sonner";
import { Button } from "@/components/ui/button";

export default function Example() {
  return (
    <>
      <Toaster />
      <Button
        onClick={() =>
          toast("Ajustes guardados", {
            description: "Tus preferencias se han actualizado.",
          })
        }
      >
        Mostrar toast
      </Button>
    </>
  );
}

Ejemplos

Mensaje básico

tsx
toast("¡Hola!");

Con descripción

tsx
toast("Actualización lista", {
  description: "Reinicia la app para aplicar los cambios.",
});

Variantes

Usa success, error, warning o info para estilos semánticos.

tsx
toast.success("¡Guardado!");
toast.error("Algo falló");

API

PropTypeDefaultDescription
toast(message, options)function-Muestra un toast. message: string. options: description, duration, variant, etc.
Toastercomponent-Renderiza una vez en tu app (p. ej. layout). Renderiza toasts en un portal.
options.descriptionstring-Texto secundario debajo del mensaje.
options.durationnumber4000Duración en ms antes de que se cierre el toast.