Pular para o conteúdo

Componentes

ConfirmGate

Gate para ações irreversíveis: dinheiro, permissão, exclusão, execução de agente. Pode exigir motivo e palavra digitada.

estávelDiálogodesde 0.1.0@hiboupay/react

Exemplos#

Motivo obrigatório · palavra digitada · consentimento

Importar#

tsx
import { ConfirmGate } from "@hiboupay/react";
import type { ConfirmGateProps } from "@hiboupay/react";

Quando usar#

Use quando

  • Qualquer ação que não volta.
  • Ação cujo motivo precisa ir para auditoria.

Não use quando

  • Ação desfazível: execute e ofereça desfazer.

Variantes#

danger

Destrutiva (padrão).

warning

Arriscada, mas não destrutiva.

primary

Execução que precisa de consentimento.

success

Conclusão positiva irreversível.

Anatomia#

  1. 01Ícone de escudo com tom
  2. 02Título e consequência
  3. 03Conteúdo extra opcional
  4. 04Motivo (Textarea) opcional
  5. 05Palavra de confirmação (Input mono) opcional
  6. 06Cancelar (ghost) + Confirmar (tom)

Estados#

bloqueado (motivo ou palavra faltando)liberadoloading

API#

Props documentadas no registro. * indica obrigatória.

Propriedades
PropTipoPadrãoDescrição
open / onOpenChange*boolean / (open) => voidControlado.
title*ReactNodeO que vai acontecer.
descriptionReactNodeConsequência.
tone"danger" | "primary" | "success" | "warning""danger"Cor do ícone e do botão.
confirmLabelstring"Confirmar"Repita o verbo da ação.
cancelLabelstring"Cancelar"Rótulo do cancelar.
requireReasonbooleanfalseExige motivo de ao menos 3 caracteres.
reasonLabelstring"Motivo (obrigatório)"Rótulo do motivo.
reasonPlaceholderstringExemplo de motivo.
requireTypedConfirmstringPalavra exata a digitar (ex.: EXCLUIR).
onConfirm*({ reason?: string }) => void | Promise<void>Recebe o motivo.
loadingbooleanBotão de confirmar em loading.

Acessibilidade#

Teclado

EscCancela.
TabMotivo → Cancelar → Confirmar.

Leitor de tela

  1. —Herdado do Modal.
  2. —Botão desabilitado até cumprir as exigências.

Boas práticas#

Faça

  • Diga a consequência em uma frase.
  • Motivo quando a ação entra no histórico.

Evite

  • "Tem certeza?" sem consequência.
  • Confirmar com rótulo genérico.

Conteúdo#

  1. —Título: "Estornar pagamento". Descrição: "O valor volta ao cliente em até 2 dias. Não dá para desfazer."

Tokens#

Os tokens que desenham este componente. Clique para ver valor, variável e classe.

Relacionados#