R

Popover

10 parts

Anatomy

Import the parts and compose them. Each part forwards attributes to its underlying element.

vue
import {
  PopoverRoot,
  PopoverTrigger,
  PopoverAnchor,
  PopoverContent,
  PopoverPortal,
  PopoverArrow,
  PopoverClose,
  PopoverContentImpl,
  PopoverContentModal,
  PopoverContentNonModal,
} from '@robonen/primitives/popover';

<PopoverRoot>
  <PopoverTrigger />
  <PopoverAnchor />
  <PopoverContent />
  <PopoverPortal />
  <PopoverArrow />
  <PopoverClose />
  <PopoverContentImpl />
  <PopoverContentModal />
  <PopoverContentNonModal />
</PopoverRoot>

API Reference

PopoverRoot

Root
PropTypeDescription
defaultOpen?booleanUncontrolled initial open state. Ignored once `v-model:open` is bound.
modal?booleanModal mode traps focus, locks scroll, and disables outside pointer events.

PopoverTrigger

Trigger

No props or events — renders its element and forwards attributes.

PopoverAnchor

Anchor

No props or events — renders its element and forwards attributes.

PopoverContent

Content
PropTypeDescription
forceMount?booleanKeep mounted for CSS exit animations.

PopoverPortal

Portal

No props or events — renders its element and forwards attributes.

PopoverArrow

Arrow

No props or events — renders its element and forwards attributes.

PopoverClose

Close

No props or events — renders its element and forwards attributes.

PopoverContentImpl

ContentImpl
PropTypeDescription
trapFocus?booleanTrap focus inside the content (modal popovers).
disableOutsidePointerEvents?booleanBlock outside pointer events (modal popovers).

PopoverContentModal

ContentModal

No props or events — renders its element and forwards attributes.

PopoverContentNonModal

ContentNonModal

No props or events — renders its element and forwards attributes.