Excluir

Padrão para remover registros com segurança, definindo quando bloquear o fluxo com confirmação, como destacar o risco e como comunicar a exclusão concluída.

A régua de risco define o feedback: exclusão permanente / alto risco exige modal de confirmação (digitação em casos críticos), sem Desfazer; exclusão de baixo risco executa direto com Toast "Desfazer" (5s), sem modal. Sempre isole a ação destrutiva das demais.

Boas Práticas

Use Excluir para remover registros de forma permanente. Por ter alto impacto, a ação deve exigir confirmação explícita, aparecer como destrutiva e nunca ocupar o papel de ação primária.

Quando usar
Para remover permanentemente um registro do sistema
Quando a ação é irreversível e o usuário deve ser informado disso
Quando o registro não tem dependências ativas que impeçam a exclusão
Após arquivamento falhar ou não ser a opção mais adequada
Quando não usar
Quando é possível arquivar — prefira arquivar a excluir definitivamente
Quando o registro tem dependências ativas (pedidos em aberto, vínculos)
Quando a intenção é desassociar de uma coleção — use "Remover"
Para cancelar um fluxo em andamento — use "Cancelar"

Contextos

Excluir é sempre uma ação de alto risco. Seu posicionamento deve refletir isso: nunca exposta como ação principal, sempre isolada por separador visual das ações não destrutivas e sempre com confirmação obrigatória.

Menu Mais ações — Excluir ao final

Excluir sempre no último bloco, após divisor. Nunca misturado com ações não destrutivas.

Modal de confirmação obrigatório

Toda exclusão exige confirmação. Para exclusões de alto risco, o usuário deve digitar o nome do item.

Modal direto — sem digitação

Exclusões de médio risco exigem confirmação, mas não campo de digitação. Botão Excluir habilitado desde o início — em vermelho.

Ações em massa — confirmação via modal

Ao clicar em 'Excluir selecionados', um modal de confirmação cobre a tela. Nenhum feedback de erro inline — o risco é comunicado uma única vez, no modal.

ContextoPosicionamentoMotivo
Linha de tabelaMenu de mais ações, sempre ao final com separadorIsolada de ações não destrutivas para evitar clique acidental
Documento de detalheBotão destrutivo no rodapé ou na toolbarAção secundária, nunca a ação principal da tela
Modal de ediçãoBotão destrutivo no rodapé esquerdoSeparado dos CTAs principais (salvar/cancelar)
Ação em massaBarra flutuante após seleção múltiplaPermite exclusão em lote com confirmação única

Hierarquia

1 — Modal de confirmação (obrigatório)

Regras do modal

  • Título do modal repete o nome do item: "Excluir [Nome do item]?"
  • Mensagem de aviso descreve o impacto e a irreversibilidade
  • CTA primária destrutiva: "Excluir" (estilo error/danger)
  • CTA secundária: "Cancelar" (sem destruição)
  • Nunca usar "Sim/Não" como CTAs — use verbos explícitos

Heurísticas aplicadas

  • Prevenção de erros — sempre exige confirmação explícita antes da exclusão
  • Controle e liberdade do usuário — oferece saída clara (cancelar) no modal de confirmação
  • Visibilidade do status do sistema — feedback explícito e claro após exclusão
  • Consistência e padrões — "Excluir" nunca como ação primária; sempre ação destrutiva

Importante

  • O modal deve nomear o item sendo excluído. "Excluir Fornecedor ABC?" é melhor que "Excluir item?"
  • CTA primária: estilo destrutivo (error/danger). CTA secundária: "Cancelar"
  • Nunca usar "Sim/Não" — verbos explícitos evitam erros de leitura rápida

2 — Excluir na linha de tabela

Características

  • Sempre no menu de mais ações, ao final, após separador (divider)
  • Ícone i-lucide-trash
  • Cor destrutiva (error/danger)
  • Abre modal de confirmação antes de executar

Evitar

  • Botão de excluir diretamente exposto na linha sem menu
  • Ação de excluir no início do menu

3 — Excluir em massa

Características

  • Disponível quando há seleção múltipla ativa
  • Aparece na barra de ações em massa
  • Confirmação obrigatória com contagem: "Excluir 5 itens? Esta ação não pode ser desfeita."
  • Ação executa somente após confirmação explícita

Heurísticas aplicadas

  • Prevenção de erros — ações em massa com exclusão sempre exigem confirmação
  • Estética e design minimalista — ação destrutiva isolada das ações principais por divider
  • Reconhecimento em vez de memorização — modal de confirmação mostra o nome do item

Labeling

Em ações de Excluir, o rótulo deve ser preciso e diferenciado. "Excluir" não é sinônimo de "Remover" nem de "Cancelar". Verbo correto, objeto explícito e clareza sobre irreversibilidade são obrigatórios.

Verbos encontrados no produto — quando usar cada um

Excluir

Remove o registro permanentemente. Exige confirmação.

Deleção permanente
Remover

Desassocia do contexto. Registro original intacto.

Desassociação
Deletar

Mesmo significado que Excluir — informal e fora do padrão do produto.

Prefira Excluir
Apagar

Ambíguo — não indica se o impacto é permanente ou reversível.

Prefira Excluir
Cancelar

Interrompe um fluxo sem apagar dados.

Padrão distinto
Descartar

Descarta alterações não salvas. Nenhum registro é removido.

Padrão distinto
Excluir

O registro deixa de existir no sistema — ação irreversível.

Dados são apagados permanentemente; registros dependentes podem ser afetados em cascata

Excluir cargoExcluir usuárioExcluir 5 itens
Remover

O item sai de um contexto, mas o registro original permanece intacto.

Não há perda de dados — a relação é desfeita, não o objeto em si

Remover fornecedor da cotaçãoRemover item
Cancelar

Uma operação ou documento em andamento é interrompido antes de concluir.

O fluxo para; dependendo do estado, pode ser possível reativar ou criar um novo

Cancelar pedidoCancelar aprovação
Verbo de ação+Objeto excluído=Label do botão
VerboObjetoResultado
Excluir[Nome da entidade] Excluir cargo
Excluir[N] itens Excluir 5 itens
Práticas recomendadas
  • Use"Excluir [nome da entidade]" — o objeto explícito reduz erros em confirmações rápidas.
  • Em exclusões em massa, inclua a contagem:"Excluir 5 itens" deixa claro o impacto.
  • No modal de confirmação, reforce com texto de alerta:"Esta ação não pode ser desfeita."

O que evitar
  • Não exponha "Excluir" como ação primária ou no header da página — deve estar sempre isolada.
  • Não use"Deletar" — o verbo padrão no ME é "Excluir" para manter consistência.
  • Não use"Remover" quando a ação deleta o registro permanentemente — causa confusão crítica.

Exemplos de uso

Excluir é a ação de maior risco no sistema. O posicionamento, o modal de confirmação e o feedback corretos são o que diferencia uma interface segura de uma que gera perda de dados.

Sim

Excluir isolado no último bloco do menu, após divisor

No menu Mais ações de uma cotação, "Excluir cotação" aparece no último slot, separado de "Editar" e "Duplicar" por um divisor vermelho. A cor vermelha e a posição final eliminam o clique acidental.

Não

"Excluir" como primeiro ou segundo item do menu

Excluir no topo ou no meio do menu é um convite ao erro — especialmente em listas densas onde o usuário clica rápido. A posição final não é uma sugestão, é uma regra de segurança.

Sim

Modal de confirmação com descrição do impacto real

"A cotação #88 e seus 12 itens serão excluídos permanentemente. Esta ação não pode ser desfeita." O impacto é específico — o usuário sabe exatamente o que está perdendo antes de confirmar.

Não

Modal genérico "Tem certeza?" sem descrever o impacto

"Deseja excluir este item?" não informa se a exclusão é permanente, se afeta outros registros ou se há dados dependentes. O usuário aprova sem entender o que está aprovando.

Sim

CTA de confirmação em cor de erro, desabilitado até preenchimento

Para exclusões de alto risco (conta, empresa), o botão "Excluir" começa desabilitado. Só fica ativo após o usuário digitar o nome exato do registro — o que confirma leitura e intenção.

Não

CTA de confirmação em cor primary ou neutral

"Confirmar" em azul ou cinza não comunica que a ação é destrutiva. O botão de confirmação de exclusão deve ser vermelho (color="error") e conter o ícone de lixeira.

Sim

O modal exibe o nome exato a digitar

O nome a confirmar ("Cotação #88") aparece no próprio modal — o usuário lê e digita ali mesmo. Para várias cotações, mostre a lista ou o termo a digitar.

Não

Pedir um nome que ficou atrás do modal

Se o nome só existe na tela coberta pelo modal, o usuário precisa decorar — fricção e erro. O confirmador nunca depende de memória.


Feedback para Excluir

O feedback de exclusão deve indicar exatamente o que foi removido, sem bloquear o fluxo. Quando possível, ofereça Desfazer e redirecione o usuário se o item excluído era a página atual.

Toast

Use para confirmar a exclusão — nomeie o item removido para evitar ambiguidade.

Ex: "Cargo excluído."

Cargo excluído.
Toast com Desfazer

Use em exclusões de baixo risco (sem dependências): executa direto e oferece Desfazer por 5s — sem modal. Exclusões permanentes / de alto risco usam modal de confirmação, sem Desfazer (a confirmação já é a salvaguarda).

Ex: "Cargo excluído. Desfazer"

Cargo excluído.

Desfazer
Toast com contagem

Use em exclusões múltiplas — a contagem de itens confirma o escopo da operação.

Ex: "5 itens excluídos."

5 itens excluídos.

Ícones do contexto

ÍconeTokenSignificado
excluir — remove o registro em definitivo; exige modal de confirmação