z-uiDesign system
Componentes · z-ui

ZDialog

O diálogo de alto nível do z-ui. Compõe o Dialog do shadcn com cabeçalho, emblema de ícone, corpo com rolagem, rodapé de ações e três tamanhos. Exportado como ZDialog para não colidir com o Dialog do shadcn.

Envio de envelope

Confirmar chama uma função assíncrona. Enquanto loading está ligado, o botão mostra o indicador e Cancelar fica bloqueado.

Tamanhos

sm usa max-w-modal-sm, md usa max-w-modal-md e lg usa a escala nativa para conteúdo largo.

Rodapé próprio e fechar interceptado

footer substitui as ações padrão. onCloseButton como função troca o X do shadcn por um botão que chama a função, útil para pedir confirmação antes de descartar.

Uso

<ZDialog
  trigger={<Button>Enviar envelope</Button>}
  icon={Send}
  title="Enviar envelope para assinatura?"
  description="Cada signatário recebe o link por e-mail."
  onCancel
  confirmText="Enviar agora"
  onConfirm={sendEnvelope}
  loading={sending}
>
  {conteúdo}
</ZDialog>

Props

Aceita também as props do Root do Radix: open, defaultOpen, onOpenChange e modal.

PropTipoPadrãoDescrição
titleReactNode—Título, ligado ao diálogo por aria-labelledby.
descriptionReactNode—Descrição, ligada por aria-describedby.
iconLucideIcon—Ícone do emblema no cabeçalho. Some abaixo de 640px.
iconTone"primary" | "accent" | "success" | "warning" | "caution" | "danger" | "info""primary"Tom do emblema.
triggerReactNode—Elemento que abre o diálogo, via DialogTrigger asChild.
size"sm" | "md" | "lg""md"Largura máxima.
fullHeightbooleanfalseOcupa a tela inteira abaixo de 640px.
onCloseButtonboolean | () => voidtrueMostra o X, esconde (false) ou intercepta o clique (função).
onCancelboolean | () => void—true fecha o diálogo; função é chamada no clique.
onConfirmboolean | () => void—Mostra o botão de confirmar e chama a função no clique.
cancelText / confirmTextstring"Cancelar" / "Confirmar"Textos dos botões.
confirmColor"primary" | "danger""primary"Cor do botão de confirmar.
loadingbooleanfalseIndicador no confirmar e cancelar bloqueado.
confirmDisabledbooleanfalseBloqueia o confirmar sem mudar o texto.
footerReactNode—Rodapé próprio no lugar das ações padrão.