Popover component for displaying rich content in a floating panel. Follows dropdown-menu styling with rounded corners, elevation shadows, and consistent spacing.
Display credits balance with recent transaction history
{ align: "end", sideOffset: 4 }Simple popover with content
{ align: "center" }Popover containing actionable items
{ align: "start" }Popover for displaying notifications
{ align: "end" }rounded-[18px], background var(--color-surface-200)p-1.5 for the content containerh-8 (32px) with px-[10px] paddingrounded-[12px] with hover background var(--color-surface-300)color-mix(in srgb, var(--color-font-primary) 6%, transparent)text-small-bold text-[var(--color-font-tertiary)]var(--elevation-300)20px with gap-3 spacing from textopen={isPopoverOpen ? false : undefined} to hide tooltip when popover opens<Popover open={isOpen} onOpenChange={setIsOpen}>
<PopoverTrigger asChild>
<DesignButton variant="tertiary">
Trigger
</DesignButton>
</PopoverTrigger>
<PopoverContent
className="w-72 p-1.5 bg-[var(--color-surface-200)] rounded-[18px] border-0"
align="end"
sideOffset={4}
style={{ boxShadow: "var(--elevation-300)" }}
>
{/* Label */}
<div className="px-[10px] py-1.5 text-small-bold text-[var(--color-font-tertiary)]">
Section Label
</div>
{/* Items */}
<button className="w-full flex items-center gap-3 h-8 px-[10px] rounded-[12px] hover:bg-[var(--color-surface-300)]">
<DesignIcon name="icon-name" size={20} />
<span>Item Label</span>
</button>
{/* Separator */}
<div className="py-1.5">
<div className="h-px w-full" style={{
backgroundColor: "color-mix(in srgb, var(--color-font-primary) 6%, transparent)"
}} />
</div>
</PopoverContent>
</Popover>