Skip to content
RefineUI

Popover

Floating content panel relative to a trigger.

Overview

Machine-readable contract from Component Spec.

component: popoverexport: PopOverversion: 1attributes: data-refineui=popover

Anatomy

Partdata-refineui
rootpopover-root

States

ScopeCategoryValues
componentenvironmentforced-colors, dir

Accessibility

SlotElementRole
popoverdivdialog

Keyboard

KeyActionNative
Escapeclose

Focus

SectionPropertyValue
visualrequiredtrue
visualselector:focus-visible
behaviortraptrue
behaviorinitialfirst-focusable
behaviorreturntrigger

Layout

PropertyValue
directionlogical
rtltrue
npm install @refineui/react @refineui/tokens
import { Popover, PopoverTrigger, PopoverContent, Button } from "@refineui/react";
<Popover>
<PopoverTrigger>
<Button>Show Info</Button>
</PopoverTrigger>
<PopoverContent>
<p>Additional information here</p>
</PopoverContent>
</Popover>
<Popover open={isOpen} onOpenChange={setIsOpen}>
<PopoverTrigger>
<Button>Toggle</Button>
</PopoverTrigger>
<PopoverContent placement="top" align="center">
<p>Popover content</p>
</PopoverContent>
</Popover>
PropDefaultTypeDescription
openbooleanControlled open state.
defaultOpenbooleanUncontrolled initial open state.
onOpenChange(open: boolean) => voidEvent handler when open state changes.

Trigger element that opens the popover.

PropDefaultTypeDescription
placement"bottom""top" | "bottom" | "left" | "right"Position relative to trigger.
align"center""start" | "center" | "end"Alignment along the edge.