---
title: Popover
description: An accessible popup anchored to a button.
links:
doc: https://base-ui.com/react/components/popover#api-reference
---
## Installation
CLI
Manual
```bash
npx shadcn@latest add @coss/popover
```
Install the following dependencies:
```bash
npm install @base-ui/react
```
Copy and paste the following code into your project.
Update the import paths to match your project setup.
## Usage
```tsx
import {
Popover,
PopoverClose,
PopoverDescription,
PopoverPopup,
PopoverTitle,
PopoverTrigger,
} from "@/components/ui/popover"
```
```tsx
Open Popover
Popover Title
Popover Description
Close
```
## API Reference
### Popover
Root component. Alias for `Popover.Root` from Base UI.
### PopoverTrigger
Trigger button that opens the popover. Alias for `Popover.Trigger` from Base UI.
### PopoverPopup
Popup container that displays the popover content. Also exported as `PopoverContent`.
| Prop | Type | Default | Description |
| -------------- | ---------------------------------------- | ---------- | ------------------------------------------------ |
| `tooltipStyle` | `boolean` | `false` | When true, applies tooltip-like styling (smaller padding, arrow) |
| `side` | `"top" \| "bottom" \| "left" \| "right"` | `"bottom"` | Side of the trigger to position the popup |
| `align` | `"start" \| "center" \| "end"` | `"center"` | Alignment relative to the trigger |
| `sideOffset` | `number` | `4` | Distance from the trigger in pixels |
| `alignOffset` | `number` | `0` | Offset along the alignment axis |
| `portalProps` | `Popover.Portal.Props` | - | Props forwarded to the internal portal (`keepMounted`, `container`, etc.); see Base UI Popover portal API |
### PopoverTitle
Title text for the popover. Styled wrapper for `Popover.Title` from Base UI.
### PopoverDescription
Description text for the popover. Styled wrapper for `Popover.Description` from Base UI.
### PopoverClose
Close button for the popover. Alias for `Popover.Close` from Base UI.
### PopoverCreateHandle
Creates a handle for detached popover triggers. Returns a handle object to attach to multiple triggers.
## Examples
### With Close Button
### Tooltip Style
Use the `tooltipStyle` prop to make a popover look like a tooltip. This is recommended when you have an info icon button whose only purpose is to show additional information. See the [tooltip accessibility guidelines](https://base-ui.com/react/components/tooltip#accessibility-guidelines) for best practices.
### Animated Popovers
You can create animated popovers that smoothly transition between different triggers using detached triggers. This pattern allows multiple triggers to share a single popover popup, with automatic animations for position, size, and content changes.
To create detached triggers:
1. Create a handle using `PopoverCreateHandle`
2. Attach the same handle to multiple `PopoverTrigger` components
3. Each trigger provides a `payload` prop containing the content component
4. Use a single `Popover` component with the handle to render the popup