Sonner
Sistema de notificações toast baseado em Sonner. Substitui o Toast legado do shadcn com uma API mais simples e recursos avançados.
Tipos de toast
O Sonner tem funções específicas para cada tipo de notificação.
toast(msg)
Toast padrão neutro.
toast.success(msg)
Operação concluída com sucesso.
toast.error(msg)
Erro ou falha na operação.
toast.warning(msg)
Aviso não-crítico.
toast.info(msg)
Informação contextual.
toast.loading(msg)
Indicador de carregamento assíncrono.
toast.promise(promise, opts)
Toast que reage ao estado de uma Promise.
Padrão de implementação
Snippets para os usos mais comuns do Sonner.
Toast simples
import { toast } from "sonner"
// Em qualquer componente cliente:
toast("Mensagem salva!")
toast.success("Usuário criado com sucesso!")
toast.error("Não foi possível excluir o registro.")Toast com ação
toast("Arquivo excluído", {
description: "O arquivo foi movido para a lixeira.",
action: {
label: "Desfazer",
onClick: () => restaurarArquivo(),
},
})Toast de Promise
toast.promise(salvarDados(dados), {
loading: "Salvando...",
success: (resultado) => `${resultado.nome} salvo!`,
error: (err) => `Erro: ${err.message}`,
})Toast customizado
toast("Notificação", {
duration: 5000, // duração em ms (padrão: 4000)
position: "top-right",
dismissible: true,
icon: <BellIcon className="size-4" />,
})MN Design System · Primary #5FC318 · Brand Green #AFF000 · Font: Inter