Pular para o conteúdo

Toast

Notificação flutuante para feedback transitório após uma ação do usuário.

Em cada stack

HTML e Astro
Classes itps-* do CSS Sinapse, com todas as variantes desta página.
React e Vue
Componentes padrão do shadcn (sonner) com o tema Sinapse: cores, fonte e raio vêm do tema, e as variantes itps-* desta página existem só no HTML. O Button é o Sinapse.

Prontuário salvo

Suas alterações foram aplicadas com sucesso.

Instalação

O comando instala o Sonner da sua stack e o Button Sinapse com o tema Sinapse. Configure o registry uma vez por projeto em Comece por aqui.

terminal · React/Next

pnpm dlx shadcn@latest add @sinapse/toast

terminal · Vue 3/Nuxt 4

pnpm dlx shadcn-vue@latest add https://dsystem.sinapse.org.br/r/vue/toast.json

Sem shadcn, não há instalação por componente: use o CSS Sinapse e as classes da API copy-first desta página.

Uso

Em React/Next com shadcn/ui e Vue 3/Nuxt 4 com shadcn-vue, use sonner: renderize Toaster uma vez no app e dispare feedback com toast.success, toast.error, toast.info ou toast.loading.

Para HTML ou wrappers finos, use itps-toast quando precisar do contrato copy-first. Este site inicializa .itps-toast[data-toast] e fecha controles marcados com data-toast-close (script não incluído no pacote).

Use Toast para feedback transitório após ação do usuário. Para aviso persistente, use Banner; para contexto local, Callout; para validação de campo, o erro do Field.

Exemplos

Estrutura

PeçaReact/Next e Vue 3/Nuxt 4HTML
ContêinerToastercontêiner fixo da aplicação
Disparotoast.success(...)inserir/remover .itps-toast
ToastSonner renderizaitps-toast[data-toast]
Títulomessageitps-toast__title
Descriçãodescriptionitps-toast__description
FecharSonner gerencia[data-toast-close]

Empilhamento e status

Use status para comunicar severidade: success e info usam aria-live="polite"; error pode usar role="alert" quando a falha precisa ser anunciada imediatamente.

Enviando documento

Aguarde a conclusão do envio.

API copy-first

Classe/atributoUso
itps-toastSuperfície da notificação.
itps-toast--info, itps-toast--success, itps-toast--alert, itps-toast--error, itps-toast--loadingStatus visual.
itps-toast__icon, itps-toast__content, itps-toast__title, itps-toast__description, itps-toast__actions, itps-toast__closeAnatomia interna.
data-toastMarca a notificação inicializável pelo script.
data-toast-closeFecha e remove a notificação atual.
role, aria-liveDefine prioridade de anúncio.
aria-labelNomeia o botão de fechar.
aria-hidden="true"Esconde ícones decorativos de tecnologias assistivas.

Acessibilidade

Use role="status" e aria-live="polite" para sucesso, informação, aviso e carregamento. Use role="alert" e aria-live="assertive" só para falhas que precisam interromper a fila de anúncio.

Tempo e teclado:

RegraComo aplicar
Tempo na telaSe o toast some sozinho, deixe pelo menos 5 segundos e mais tempo para textos longos. Erros ficam até a pessoa fechar.
PausaO tempo para enquanto o mouse ou o foco estiver sobre o toast.
FecharO botão Fechar é um <button> com aria-label, alcançável pelo Tab.
AçõesNão coloque a única forma de fazer algo em um toast que some. “Desfazer” pode aparecer no toast, mas a ação também precisa existir na tela.
Região de anúncioMantenha o contêiner com role="status" ou aria-live na página antes de inserir o toast; muitos leitores de tela não anunciam uma região criada junto com a mensagem.

No shadcn, o sonner já pausa o tempo com o mouse sobre o toast; use duration para aumentar o tempo e duration: Infinity para erros. Na API copy-first, os toasts deste site não somem sozinhos; se o produto adicionar tempo, implemente a pausa.