Popover
Requires JS
A component to display rich content within a portal.
Usage
import { Popover, PopoverContent, PopoverTrigger } from "#/ui/components/Popover"
<Popover>
<PopoverTrigger>Trigger</PopoverTrigger>
<PopoverContent>Content</PopoverContent>
</Popover>
<Popover>
<PopoverTrigger>Trigger</PopoverTrigger>
<PopoverContent>Content</PopoverContent>
</Popover>The popover requires PopoverTrigger, triggering the popover to display, and PopoverContent, what gets displayed.
<Popover>
<PopoverTrigger>Show Popover</PopoverTrigger>
<PopoverContent>Lorem ipsum dolor sit amet</PopoverContent>
</Popover>
You’re not limited to text content, you can pass in any valid JSX to either your Trigger or your Content.
Name: Email Address: Company Name: Get email updates:
<PopoverExample trigger="settings" client:load>
<div slot="content" className="grid grid-cols-2 items-center gap-2 text-sm">
<span>Name: </span>
<Input />
<span>Email Address: </span>
<Input />
<span>Company Name: </span>
<Input />
<span>Get email updates: </span>
<Switch client:load />
</div>
</PopoverExample>Show Arrow
If you want to add an arrow to the popover, you can pass in showArrow to the PopoverContent component.
<Popover>
<PopoverTrigger>Trigger</PopoverTrigger>
<PopoverContent showArrow>Content</PopoverContent>
</Popover>Show Close
If you want to add a close button to the popover, you can pass in showClose to the PopoverContent component. You can always close the popover by clicking away, but this makes the close action more explicit.
<Popover>
<PopoverTrigger>Trigger</PopoverTrigger>
<PopoverContent showClose>Content</PopoverContent>
</Popover>