Overlays

Popover

A small, floating UI element that appears near a trigger to show contextual information or actions.

Basic

Popovers are small overlays that display additional information about an element when the user clicks on it.

Loading...

Installation

npx shadcn@latest add @intentui/popover

Composed components

When you install this component via the CLI, it automatically loads all composed components, so you don’t need to add them individually.

This component comes packed with several components to enhance functionality and provide a seamless experience.

Manual installation

npm i react-aria-components

Anatomy

import {
  Popover,
  PopoverBody,
  PopoverClose,
  PopoverContent,
  PopoverDescription,
  PopoverFooter,
  PopoverHeader,
  PopoverTitle,
  PopoverTrigger,
} from "@/components/ui/popover"
<Popover>
  <PopoverTrigger>Open Popover</PopoverTrigger>
  <PopoverContent>
    <PopoverHeader>
      <PopoverTitle>Popover Title</PopoverTitle>
      <PopoverDescription>Popover Description</PopoverDescription>
    </PopoverHeader>
    <PopoverBody>Popover Body</PopoverBody>
    <PopoverFooter>
      <PopoverClose>Close</PopoverClose>
      <PopoverClose>Confirm</PopoverClose>
    </PopoverFooter>
  </PopoverContent>
</Popover>

Controlled

You can control the popover programmatically.

Loading...

Overlay arrow

Popovers come with an arrow that points to the trigger element, but it’s hidden by default. To display it, pass the showArrow prop.

Loading...

Placement

You can change the placement of the popover by passing the placement prop.

Loading...

The list above shows the primary directions, but you can also use specific placements like bottom left or top right. Here are all the available placement options:

Primary DirectionPlacement
bottombottom, bottom left, bottom right, bottom start, bottom end
toptop, top left, top right, top start, top end
leftleft, left top, left bottom
startstart, start top, start bottom
rightright, right top, right bottom
endend, end top, end bottom

Custom close

You can easily close the popover by clicking outside of it, or add a custom close button inside using Popover.Close. Just make sure everything is wrapped inside a Dialog.

Loading...

Popover trigger

All the examples above use <Button/> as the trigger, but what if you wanna switch it up, like using <Avatar/> instead? No sweat, just roll with PopoverTrigger like this:

Loading...
Unlock the full power of
Design Intent UI
Build modern web apps faster with 350+ blocks and polished templates crafted for professionals.
Explore