116 lines
2.2 KiB
Plaintext
116 lines
2.2 KiB
Plaintext
---
|
|
title: Popover
|
|
description: Displays rich content in a portal, triggered by a button.
|
|
base: aria
|
|
component: true
|
|
links:
|
|
doc: https://react-aria.adobe.com/Popover
|
|
api: https://react-aria.adobe.com/Popover#api
|
|
---
|
|
|
|
<ComponentPreview styleName="aria-nova" name="popover-demo" />
|
|
|
|
## Installation
|
|
|
|
<CodeTabs>
|
|
|
|
<TabsList>
|
|
<TabsTrigger value="cli">Command</TabsTrigger>
|
|
<TabsTrigger value="manual">Manual</TabsTrigger>
|
|
</TabsList>
|
|
<TabsContent value="cli">
|
|
|
|
```bash
|
|
npx shadcn@latest add popover
|
|
```
|
|
|
|
</TabsContent>
|
|
|
|
<TabsContent value="manual">
|
|
|
|
<Steps className="mb-0 pt-2">
|
|
|
|
<Step>Install the following dependencies:</Step>
|
|
|
|
```bash
|
|
npm install react-aria-components
|
|
```
|
|
|
|
<Step>Copy and paste the following code into your project.</Step>
|
|
|
|
<ComponentSource
|
|
name="popover"
|
|
title="components/ui/popover.tsx"
|
|
styleName="aria-nova"
|
|
/>
|
|
|
|
<Step>Update the import paths to match your project setup.</Step>
|
|
|
|
</Steps>
|
|
|
|
</TabsContent>
|
|
|
|
</CodeTabs>
|
|
|
|
## Usage
|
|
|
|
```tsx showLineNumbers
|
|
import {
|
|
Popover,
|
|
PopoverDescription,
|
|
PopoverHeader,
|
|
PopoverTitle,
|
|
PopoverTrigger,
|
|
} from "@/components/ui/popover"
|
|
```
|
|
|
|
```tsx showLineNumbers
|
|
<PopoverTrigger>
|
|
<Button variant="outline">Open Popover</Button>
|
|
<Popover>
|
|
<PopoverHeader>
|
|
<PopoverTitle>Title</PopoverTitle>
|
|
<PopoverDescription>Description text here.</PopoverDescription>
|
|
</PopoverHeader>
|
|
</Popover>
|
|
</PopoverTrigger>
|
|
```
|
|
|
|
## Composition
|
|
|
|
Use the following composition to build a `Popover`:
|
|
|
|
```text
|
|
PopoverTrigger
|
|
├── Button
|
|
└── Popover
|
|
```
|
|
|
|
## Basic
|
|
|
|
A simple popover with a header, title, and description.
|
|
|
|
<ComponentPreview styleName="aria-nova" name="popover-basic" />
|
|
|
|
## Align
|
|
|
|
Use the `placement` prop on `Popover` to control the horizontal alignment.
|
|
|
|
<ComponentPreview styleName="aria-nova" name="popover-alignments" />
|
|
|
|
## With Form
|
|
|
|
A popover with form fields inside.
|
|
|
|
<ComponentPreview styleName="aria-nova" name="popover-form" />
|
|
|
|
## RTL
|
|
|
|
To enable RTL support in shadcn/ui, see the [RTL configuration guide](/docs/rtl).
|
|
|
|
<ComponentPreview styleName="aria-nova" name="popover-rtl" direction="rtl" />
|
|
|
|
## API Reference
|
|
|
|
See the [React Aria Popover](https://react-aria.adobe.com/Popover#api) documentation.
|