Dinachi

Popover

A floating panel anchored to a trigger element, used to display rich content like forms, menus, or additional information.

View Source

#Installation

npx @dinachi/cli@latest add popover

#Usage

tsx
import {
  Popover,
  PopoverTrigger,
  PopoverContent,
  PopoverPositioner,
  PopoverPopup,
  PopoverArrow,
  PopoverViewport,
  PopoverTitle,
  PopoverDescription,
  PopoverClose,
  PopoverPortal,
  PopoverBackdrop,
  createPopoverHandle,
} from '@/components/ui/popover'

#Examples

#API Reference

PropTypeDefaultDescription
Popover.openbooleanThe controlled open state of the popover.
Popover.defaultOpenbooleanfalseThe initial open state when uncontrolled.
Popover.onOpenChange(open: boolean, event: Event) => voidCallback fired when the open state changes.
Popover.modalboolean | 'trap-focus'falseWhether the popover is modal. When true, interaction outside is blocked.
Popover.onOpenChangeComplete(open: boolean) => voidCallback fired when open/close animation completes.
PopoverTrigger.openOnHoverbooleanfalseOpens the popover on hover instead of click.
PopoverTrigger.delaynumber300Milliseconds to wait before opening on hover.
PopoverTrigger.closeDelaynumber0Milliseconds to wait before closing on unhover.
PopoverContent.portalbooleantrueWhether to render in a portal. Set to false inside Dialog or Drawer.
PopoverContent.side'top' | 'right' | 'bottom' | 'left''bottom'Preferred side for the popover popup.
PopoverContent.align'start' | 'center' | 'end''center'Preferred alignment relative to the trigger.
PopoverContent.sideOffsetnumber8Distance in pixels between trigger and popup.
PopoverContent.alignOffsetnumberAdditional offset along the alignment axis in pixels.
PopoverContent.collisionPaddingnumber5Minimum distance from viewport edge before repositioning.
PopoverContent.stickybooleanfalseKeep the popover visible when the anchor scrolls out of view.