Components

Popover

Non-modal floating panel anchored to a trigger element, built on Base UI Popover.

Category: Overlay — Pattern: Base UI Overlay

Dependency: @base-ui-components/react/popover

Import

import {
  Popover,
  PopoverTrigger,
  PopoverAnchor,
  PopoverContent,
} from "@hareru/ui"

Exports

NameTypeDescription
PopoverComponentRoot popover context provider
PopoverTriggerComponentElement that toggles the popover; supports asChild
PopoverAnchorComponentAlternative positioning anchor (optional)
PopoverContentComponentFloating panel content

Key Props

PropTypeDefaultDescription
alignstart | center | endcenterHorizontal alignment relative to the trigger
sideOffsetnumber4Gap in pixels between trigger and content

Structure

  • PopoverTrigger [trigger] (expected)
  • PopoverAnchor [anchor]
  • PopoverContent [content] (expected)

(expected) = recommended in canonical composition, not runtime-required.

Accessibility

  • Keyboard:
    • Escape to close
  • Notes: Non-modal floating panel.

Usage

import {
  Popover,
  PopoverTrigger,
  PopoverContent,
  Button,
} from "@hareru/ui"

<Popover>
  <PopoverTrigger asChild><Button variant="outline">Open</Button></PopoverTrigger>
  <PopoverContent><p>Popover content</p></PopoverContent>
</Popover>

Notes

  • Popover closes when the user clicks outside or presses Escape.
  • Controlled mode: pass open and onOpenChange to <Popover>.
  • PopoverAnchor can be used when the popover should be positioned relative to a different element than the trigger.

On this page