Skip to content

Popover ​

Lightweight floating runtime: Root owns open, Trigger opens, Content renders, Close dismisses explicitly.

Runtime ​

State contracts come from @varo-ui/headless; rendered parts come from @varo-ui/h5/primitives or @varo-ui/weapp/primitives.

Demo ​

Package@varo-ui/headless

Basic usage ​

Use the Demo panel above to switch H5 and Weapp primitive preview/code; each runtime renders only the current entry.

Dismiss contract ​

H5 may handle Escape/outside click; mini-programs lack browser document, so prefer PopoverClose, page masks, or page-level dismiss adapters.

Parts ​

PartPurpose
PopoverRootOpen state
PopoverTriggerOpen entry
PopoverContentFloating content
PopoverCloseExplicit close

Props ​

PropTypeDefaultDescription
openboolean | undefinedundefinedControlled open state
defaultOpenbooleanfalseUncontrolled initial state
disabledbooleanfalseDisabled

Events ​

EventPayloadDescription
update:openbooleanControlled sync
openChangebooleanOpen change

Accessibility ​

  • Trigger opens the surface.
  • Close provides explicit exit.
  • Disabled state does not open.

Platform notes

  • H5 and mini-program share open/close contracts.
  • Placement, collision, and portal stay in UI wrappers. :::