Tooltip & Popover
Preview
Tooltips name or explain a control on hover and focus; popovers hold interactive content anchored to a trigger.
Example
<Tooltip content="Copy link">
<IconButton icon={<IconCopy />} label="Copy link" size="sm" />
</Tooltip>
<Popover
title="Anomaly on Sep 5"
trigger={<Button size="sm" variant="signal">Sep 5 anomaly</Button>}
actions={({ close }) => (
<>
<PopoverAction variant="signal" onClick={() => { annotate(); close(); }}>Annotate</PopoverAction>
<PopoverAction onClick={close}>Dismiss</PopoverAction>
</>
)}
>
Revenue was 38% above the forecast band.
</Popover>Usage
Tooltip wraps one focusable element and shows after a 400 ms hover delay, or immediately on keyboard focus. Popover toggles on click; children and actions can be functions of { close }.
Props
Tooltip
PropTypeDefaultDescription
contentrequiredReactNode——
childrenrequiredReactElement—One focusable element (a button, a link). Receives a ref, pointer and focus handlers.
placement'bottom-start' | 'bottom' | 'bottom-end' | 'top-start' | 'top' | 'top-end' | 'right-start' | 'left-start'Placement'top'—
delaynumber400Hover delay before showing, ms (default 400). Keyboard focus shows immediately.
openboolean——
defaultOpenbooleanfalse—
onOpenChange(open: boolean) => void——
disabledboolean——
arrowbooleantrueArrow under the panel (default true).
classNamestring——
Popover
PropTypeDefaultDescription
triggerrequiredReactElement—The element that toggles the popover. Receives a ref and ARIA attributes.
titleReactNode——
childrenReactNode | ((api: PopoverApi) => ReactNode)——
actionsReactNode | ((api: PopoverApi) => ReactNode)——
placement'bottom-start' | 'bottom' | 'bottom-end' | 'top-start' | 'top' | 'top-end' | 'right-start' | 'left-start'Placement'bottom-start'—
openboolean——
defaultOpenbooleanfalse—
onOpenChange(open: boolean) => void——
labelstring—Accessible name when there is no
title.widthnumber | string—Panel width (default: fits content, up to 320px).
classNamestring——
Accessibility
- A tooltip has
role="tooltip"and is linked to its trigger witharia-describedby. It hides on leave, blur, press and Escape. - A popover is a
dialog: focus moves inside, and Escape or a click outside closes it. Escape returns focus to the trigger.
Report an issueBuilt Oct 21, 2026