Componentes
Popover
betaCamada com conteúdo interativo, aberta no clique. Se é só texto curto de apoio, use Tooltip.
Ainda não é estável porque Pendência editorial: oQueE, quandoUsar, quandoNaoUsar; Rota não varrida pelo sensor. Ausência de medição não é aprovação. O contrato de maturidade explica o que cada requisito exige.
@voxmente/ui/components/ui/popover
Playground
<Popover>
<PopoverTrigger render={<Button variant="outline" />}>
Editar nome da turma
</PopoverTrigger>
<PopoverContent>
<PopoverHeader>
<PopoverTitle>Nome da turma</PopoverTitle>
<PopoverDescription>Visível para professores e coordenação.</PopoverDescription>
</PopoverHeader>
</PopoverContent>
</Popover>Uso
Abre no clique, não no hover. Aceita conteúdo interativo — é isso que distingue popover de tooltip.
Anatomia
`PopoverHeader` agrupa `PopoverTitle` e `PopoverDescription`. Nenhum dos dois é obrigatório — use o que o conteúdo pedir.
Posicionamento
`side` e `align` controlam onde o conteúdo abre em relação ao gatilho. O padrão é `side="bottom"` e `align="center"`.
Conteúdo interativo
Diferente do tooltip, o popover mantém o foco preso dentro do conteúdo — botões e links dentro dele funcionam normalmente.
Quando não usar
Texto curto e não interativo é tooltip, não popover. Conteúdo longo, com várias seções ou que precisa de foco total da tela, é dialog ou sheet — não force tudo dentro de um popover.
Referência da API
Extraída do TypeScript de @voxmente/ui a cada build. Se divergir do código, o código mudou.
Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger não têm props próprias — aceitam apenas as props herdadas, incluindo className e os atributos de DOM.
Pendência editorial: o que é, quando usar, quando não usar, acessibilidade, componentes relacionados, exemplo em contexto de produto. A lacuna aparece aqui em vez de ser preenchida com orientação inventada.
Origem do dado
- Demonstrações e playground: componente real de @voxmente/ui
- Referência da API: TypeScript do pacote
- Cor, espaçamento e raio das demonstrações: tokens de theme.css