ui
Popover
Displays rich content in a portal, triggered by a button. Useful for displaying additional information or actions without navigating away.
1. Import
Import the popover components from the design system.
import {
Popover,
PopoverContent,
PopoverTrigger,
} from "@/design-system/components/ui/popover"2. Props
PopoverContent component props.
| Prop | Type | Default |
|---|---|---|
| side | "top" | "right" | "bottom" | "left" | "bottom" |
| sideOffset | number | 4 |
| align | "start" | "center" | "end" | "center" |
| alignOffset | number | 0 |
| className | string | -- |
3. Usages
Common popover patterns and configurations.
import {
Popover,
PopoverContent,
PopoverTrigger,
} from "@/design-system/components/ui/popover";
import { Button } from "@/design-system/components/ui/button";
import { Input } from "@/design-system/components/ui/input";
import { Label } from "@/design-system/components/ui/label";
export function Example() {
return (
<Popover>
<PopoverTrigger render={<Button variant="outline">Open popover</Button>} />
<PopoverContent className="w-80">
<div className="grid gap-4">
<div className="space-y-2">
<h4 className="font-medium leading-none">Dimensions</h4>
<p className="text-sm text-muted-foreground">
Set the dimensions for the layer.
</p>
</div>
<div className="grid gap-2">
<div className="grid grid-cols-3 items-center gap-4">
<Label htmlFor="width">Width</Label>
<Input id="width" defaultValue="100%" className="col-span-2 h-8" />
</div>
</div>
</div>
</PopoverContent>
</Popover>
);
}