Capítulo 48 de 108
Exibe conteúdo rico em um portal, disparado por um botão/trigger. Diferente de Dialog, não bloqueia interação com o resto da página nem exige modalidade. Built on Base UI Popover.
PopoverContent."start" | "center" | "end" — alinhamento horizontal relativo ao trigger.left, top, bottom, right) e lógicos (inline-start, inline-end — este último respeita dir em RTL).<Popover>
<PopoverTrigger render={<Button variant="outline" />}>Open Popover</PopoverTrigger>
<PopoverContent className="w-64" align="start">
<PopoverHeader>
<PopoverTitle>Dimensions</PopoverTitle>
<PopoverDescription>Set the dimensions for the layer.</PopoverDescription>
</PopoverHeader>
<FieldGroup className="gap-4">
<Field orientation="horizontal">
<FieldLabel htmlFor="width" className="w-1/2">Width</FieldLabel>
<Input id="width" defaultValue="100%" />
</Field>
</FieldGroup>
</PopoverContent>
</Popover>
Field/FieldGroup/FieldLabel, align="start" fixando o painel à esquerda do trigger.Composição:
Popover
├── PopoverTrigger
└── PopoverContent
side aceita valores lógicos (inline-start/inline-end) além dos físicos, preferíveis em layouts que suportam RTL.align controla o eixo perpendicular ao side (alinhamento horizontal quando o popover abre acima/abaixo).PopoverHeader/PopoverTitle/PopoverDescription são opcionais; PopoverContent sozinho aceita qualquer children livremente.npm install @base-ui/react.