Dialog
StableOverlay modal com trigger, título, descrição, corpo rolável, rodapé e fechamento. Composto sobre Base UI Dialog e sobre o Button do Up Web DS.
Instalação
npx up-web-ds add dialogGera close para a biblioteca de ícones do projeto (components.json → iconLibrary).
Preview
Default
Destructive
With Form
Disable Overlay Close
Scrollable Content
With Status
All states
Default
Destructive
With Form
Disable Overlay Close
Scrollable Content
Without Close Button
With Status
Usage
Props
Dialog
Estende DialogPrimitive.Root.Props.
DialogTrigger
Estende DialogPrimitive.Trigger.Props. Aceita também os atributos padrão de um elemento React (284 não listados).
DialogPortal
Estende DialogPrimitive.Portal.Props. Aceita também os atributos padrão de um elemento React (275 não listados).
DialogClose
Estende DialogPrimitive.Close.Props. Aceita também os atributos padrão de um elemento React (285 não listados).
DialogOverlay
Estende DialogPrimitive.Backdrop.Props. Aceita também os atributos padrão de um elemento React (275 não listados).
DialogPopup
Estende DialogPopupProps. Aceita também os atributos padrão de um elemento React (275 não listados).
DialogViewport
Estende DialogPrimitive.Viewport.Props. Aceita também os atributos padrão de um elemento React (275 não listados).
DialogContent
Estende DialogContentProps. Aceita também os atributos padrão de um elemento React (275 não listados).
DialogHeader
Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).
DialogBody
Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).
DialogTitle
Estende DialogPrimitive.Title.Props. Aceita também os atributos padrão de um elemento React (275 não listados).
DialogDescription
Estende DialogPrimitive.Description.Props. Aceita também os atributos padrão de um elemento React (275 não listados).
Composition
Gatilho e conteúdo são irmãos. O DialogClose pode estar em qualquer lugar dentro do conteúdo; no rodapé é onde ele vira ação.
Metadata
Notas de acessibilidade
Teclado e leitor de tela verificados por teste: abre pelo trigger e pelo teclado, fecha com Escape e por DialogClose, e é nomeado/descrito por DialogTitle e DialogDescription. Touch verificado em viewport de 375px com emulação de toque: alvos de 32x32 (fechar) e 293x36 (ação do rodapé), acima do mínimo de 24x24 da WCAG 2.2 SC 2.5.8; abrir, rolar o corpo, fechar pela ação e descartar pelo backdrop funcionam por toque. Reduced motion verificado em navegador com prefers-reduced-motion: reduce: o zoom de entrada e saída é aplicado em motion-safe:, então sob reduce o popup aparece sem escala; o animate-in, o fade e a duração continuam incondicionais, porque é o animationend deles que o Base UI espera para desmontar. Verificado nos dois modos: abre, fecha, o foco entra e volta ao gatilho, e o popup não fica preso em opacidade parcial nem em transform intermediário.
Classificação
- Layer
- Primitive
- Domínio
- Domain-free (compartilhado)
- Categoria
- overlay
- Status
- Stable
Origem e distribuição
- Fonte
- shadcn registry / dialog
- Licença
- MIT
- Distribuição
- Interna
Acessibilidade
- Teclado: revisado
- Leitor de tela: revisado
- Touch: revisado
- Reduced motion: revisado
Dependências
- Pacotes
- @base-ui/react
- Ícones
- close
- Construído sobre
- Button
- Usado por
- Dialog StackHero Video Dialog