adn-ui
Components

Popover

A high-quality, styled React popover component built with @base-ui/react that displays an accessible popup anchored to a trigger button.

The Popover component displays rich content in an overlay floating container positioned relative to a trigger element.

Usage

import { Popover } from "@/components/ui/popover";

export function ExamplePopover() {
  return (
    <Popover.Root>
      <Popover.Trigger>Notifications</Popover.Trigger>
      <Popover.Portal>
        <Popover.Positioner sideOffset={8}>
          <Popover.Popup>
            <Popover.Close />
            <Popover.Title>Notifications</Popover.Title>
            <Popover.Description>You are all caught up.</Popover.Description>
          </Popover.Popup>
        </Popover.Positioner>
      </Popover.Portal>
    </Popover.Root>
  );
}

Preview

Anatomy

import { Popover } from "@base-ui/react/popover";

<Popover.Root>
  <Popover.Trigger />
  <Popover.Portal>
    <Popover.Backdrop />
    <Popover.Positioner>
      <Popover.Popup>
        <Popover.Arrow />
        <Popover.Title />
        <Popover.Description />
        <Popover.Close />
      </Popover.Popup>
    </Popover.Positioner>
  </Popover.Portal>
</Popover.Root>;

API Reference

Popover.Root Props

PropTypeDefaultDescription
openbooleanundefinedControlled open state.
defaultOpenbooleanfalseInitial uncontrolled open state.
onOpenChange(open: boolean) => voidundefinedEvent handler called when popover open state changes.

Popover.Positioner Props

PropTypeDefaultDescription
side'top' | 'right' | 'bottom' | 'left''bottom'Preferred placement side relative to trigger.
sideOffsetnumber8Distance in pixels from trigger element.
align'start' | 'center' | 'end''center'Alignment along cross axis.

On this page