Popover
O componente Popover permite flutuar um painel de conteúdo ancorado a outro elemento, perfeito para menus de contexto, hover cards, tooltips e muito mais.
Para usar o Popover, importe-o dos seus componentes e passe o trigger obrigatório e as props opcionais open, onOpenChange, side, sideOffset, align, alignOffset, arrowPadding, sticky, hideWhenDetached, avoidCollisions, enabled e modal.
Popover básico
Seção intitulada “Popover básico”Um popover simples que aparece ao clicar no elemento de gatilho.
import React from "react";import { Button, Popover } from "@firecms/ui";
export default function PopoverBasicDemo() { return ( <Popover trigger={<Button>Open Popover</Button>} > <div className="p-4"> This is a basic Popover. </div> </Popover> );}Popover com alinhamento
Seção intitulada “Popover com alinhamento”Mostrando como alinhar o conteúdo do popover em relação ao elemento de gatilho.
import React from "react";import { Button, Popover } from "@firecms/ui";
export default function PopoverAlignDemo() { return ( <div> <Popover trigger={<Button>Open Left</Button>} side="left" > <div className="p-4"> Aligned to the left. </div> </Popover> <Popover trigger={<Button>Open Bottom</Button>} side="bottom" > <div className="p-4"> Aligned to the bottom. </div> </Popover> </div> );}Popover controlado
Seção intitulada “Popover controlado”Demonstra o uso das props open e onOpenChange para comportamento controlado.
import React, { useState } from "react";import { Button, Popover } from "@firecms/ui";
export default function PopoverControlledDemo() { const [open, setOpen] = useState(false);
return ( <Popover trigger={<Button onClick={() => setOpen(!open)}>Toggle Popover</Button>} open={open} onOpenChange={setOpen} > <div className="p-4"> This Popover's visibility is controlled externally. </div> </Popover> );}Usage with Custom Styling
Seção intitulada “Usage with Custom Styling”Ilustrando estilo personalizado aplicado ao conteúdo do popover.
import React from "react";import { Button, Popover } from "@firecms/ui";
export default function PopoverStyledDemo() { return ( <Popover trigger={<Button>Open Custom Styled Popover</Button>} className="bg-purple-500 text-white p-3 rounded-lg shadow-lg" > <div> This Popover has custom styles applied. </div> </Popover> );}