Pular para o conteúdo

CloseButton

Botão de fechar para dispensar avisos, painéis e diálogos.

O CloseButton é o "X" padrão para dispensar conteúdo: um aviso de duplicidade, os detalhes de um Pedido, um painel. Ele já traz o ícone e o foco da fachada. Para uma ação com texto (Cancelar, Concluir), use Button; para fechar um Modal ou Sheet, use o fechar embutido neles.

import { CloseButton } from "@rastreio-x/ui";

Padrão

Sempre com aria-label: o botão só tem um ícone.

Estados

onPress trata a ação e isDisabled bloqueia.

Em um aviso

Dentro de um Alert, ele dispensa a mensagem. Diga no rótulo qual aviso é.

No cabeçalho de um painel

Título à esquerda e o botão à direita, com o rótulo citando o objeto.

Anatomia

O CloseButton é uma peça só: um botão com o ícone de fechar (substituível pelos filhos).

Propriedades

Animações

Só há transição de cor no hover e o encolhimento ao pressionar. Com prefers-reduced-motion, a folha global da fachada reduz as transições a 0,01 ms.

Acessibilidade

  • É um <button>: Enter e Espaço ativam, e o foco visível usa o token --focus.
  • aria-label obrigatório e específico ("Fechar detalhes do Pedido ped-8"), porque o ícone não tem texto.
  • A área de toque tem pelo menos 24 px no desktop; use className="size-11" no celular se estiver perto de outros alvos.
  • Ao fechar, mova o foco para um elemento que faça sentido (o gatilho do painel, por exemplo).

Boas práticas

Faça

Rótulo que cita o objeto e foco devolvido ao gatilho depois de fechar.

Evite

CloseButton sem aria-label, ou avisos importantes que só se dispensam e somem sem registro.
  • Em erros e avisos importantes, deixe o texto visível por mais tempo ou ofereça uma ação.
  • Posicione sempre no canto superior direito do contêiner.
  • Não coloque dois botões de fechar na mesma camada.

Relacionados

  • Alert para o aviso que o botão dispensa.
  • Modal e Sheet, que já incluem o fechar.
  • Button para ações com texto.