T2 EducaçãoMidas

Popover

Painel flutuante aberto por clique, para conteúdo rico e interativo (formulários curtos, detalhes, filtros). Popover, PopoverTrigger, PopoverContent, PopoverHeader, PopoverTitle, PopoverDescription, PopoverClose e PopoverAnchor.

Código-fonte

Exemplos

Interaja com o componente e copie o código de cada exemplo.

Com título e formulário

import {
  Popover,
  PopoverClose,
  PopoverContent,
  PopoverDescription,
  PopoverHeader,
  PopoverTitle,
  PopoverTrigger,
} from "@t2-educacao/midas";

Uso

<Popover>
  <PopoverTrigger asChild>
    <Button variant="outline">Abrir</Button>
  </PopoverTrigger>
  <PopoverContent aria-labelledby="titulo-dimensoes">
    <PopoverHeader>
      <PopoverTitle id="titulo-dimensoes">Dimensões</PopoverTitle>
      <PopoverDescription>Defina o tamanho da camada.</PopoverDescription>
    </PopoverHeader>
  </PopoverContent>
</Popover>

Componentes

ComponenteO que é
PopoverRaiz (controla aberto/fechado)
PopoverTriggerAbre e fecha ao clicar. Use asChild com seu botão
PopoverContentO painel (288px de largura, padding de 16px)
PopoverHeader / PopoverTitle / PopoverDescriptionCabeçalho opcional
PopoverCloseFecha o popover (use asChild com um botão)
PopoverAnchorPosiciona o painel em relação a outro elemento

Props

Popover

PropTipoDescrição
open / defaultOpen / onOpenChangeControle do estado
modalbooleanBloqueia a interação fora enquanto aberto

PopoverContent

PropTipoPadrãoDescrição
side"top" | "right" | "bottom" | "left""bottom"Lado
align"start" | "center" | "end""center"Alinhamento
sideOffsetnumber4Distância do gatilho
aria-label / aria-labelledbystringNome do painel (obrigatório para acessibilidade)

Exemplos

Formulário curto

<Popover>
  <PopoverTrigger asChild>
    <Button variant="outline">Definir meta</Button>
  </PopoverTrigger>
  <PopoverContent aria-label="Meta de estudo" align="start">
    <Field>
      <FieldLabel htmlFor="horas">Horas por semana</FieldLabel>
      <Input id="horas" type="number" defaultValue={5} />
    </Field>
    <PopoverClose asChild>
      <Button size="sm">Salvar</Button>
    </PopoverClose>
  </PopoverContent>
</Popover>

Acessibilidade

  • O painel tem role="dialog": dê um nome com aria-labelledby (apontando para o PopoverTitle) ou aria-label.
  • Esc fecha e o foco volta ao gatilho.

Não faça

  • Usar Popover para dicas de texto ao passar o mouse: use Tooltip.
  • Usar Popover para listas de ações: use DropdownMenu.

On this page