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-labelobrigató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
Evite
- 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.