Toast
Notificações visuais com diferentes estados, ações e estilos personalizados usando Sonner.
Toaster
Você precisa adicionar o componente <Toaster /> no topo da sua aplicação (geralmente dentro de _app.tsx ou layout.tsx).
index.tsx
import { Toaster } from "@convertcompany/ui/toast";
export default function AppLayout({ children }) {
return (
<>
<Toaster />
{children}
</>
);
}
Exemplos
Com ações
Você pode adicionar um botão de ação com action e cancel para exibir interações rápidas dentro do toast.
Com loading
Você pode usar o tipo loading para indicar um processo em andamento.
Com promise
Você pode usar o tipo promise para indicar um processo assíncrono. e fornecer como argumento uma Promise. que ao resolver, o toast será atualizado automaticamente.
Props
As funções do toast possuem as mesmas props do pacote Sonner. Consulte a documentação do Sonner para mais detalhes.
Toaster
| Propriedade | Tipo |
|---|---|
| themeDefine o tema do toaster. Padrão é 'system'. | 'light' 'dark' 'system' |
| invertInverte as cores do toast (ex: fundo claro para escuro). | boolean |
| positionDefine a posição onde os toasts aparecem. Padrão é 'bottom-right'. | 'top-left' 'top-center' 'top-right' 'bottom-left' 'bottom-center' 'bottom-right' |
| hotkeyAtalho de teclado para abrir o toast (usado com toasts interativos). | string[] |
| richColorsAtiva cores vibrantes nos toasts. Padrão é false. | boolean |
| expandPermite que o toast ocupe largura total no container. | boolean |
| durationDuração padrão dos toasts em milissegundos. | number |
| gapEspaçamento vertical entre toasts (em pixels). | number |
| visibleToastsNúmero máximo de toasts visíveis simultaneamente. | number |
| closeButtonExibe botão de fechar no toast. Padrão é true. | boolean |
| toastOptionsDefine configurações globais para os toasts (estilo, ação, ícones). | ToastOptions |
| classNameClasse CSS adicional aplicada ao container do toaster. | string |
| styleEstilo inline aplicado ao container do toaster. | React.CSSProperties |
| offsetOffset de posicionamento (desktop). | number [number, number] |
| mobileOffsetOffset de posicionamento em mobile. | number [number, number] |
| dirDireção do texto e layout. | 'ltr' 'rtl' 'auto' |
| swipeDirectionsDireções de swipe permitidas para fechar o toast. | SwipeDirection[] |
| iconsDefine os ícones padrão para os tipos de toast: success, error, info, warning, loading e close. | ToastIcons |
| containerAriaLabelLabel para acessibilidade no container do toaster. | string |