Skip to Content
ComponentsTooltip

Tooltip

A hover/focus tooltip built on Base UI’s Tooltip primitive. Automatically positioned via Floating UI with a scale/fade transition.

Import

import { Tooltip } from "chunks-ui";

Basic Usage

<Tooltip.Root> <Tooltip.Trigger> <button>Hover me</button> </Tooltip.Trigger> <Tooltip.Portal> <Tooltip.Positioner> <Tooltip.Popup>Helpful tip</Tooltip.Popup> </Tooltip.Positioner> </Tooltip.Portal> </Tooltip.Root>

With Arrow

<Tooltip.Root> <Tooltip.Trigger> <button>Info</button> </Tooltip.Trigger> <Tooltip.Portal> <Tooltip.Positioner> <Tooltip.Popup> <Tooltip.Arrow /> This is a tooltip with an arrow. </Tooltip.Popup> </Tooltip.Positioner> </Tooltip.Portal> </Tooltip.Root>

Tooltip Provider

Use Tooltip.Provider to share delay settings across multiple tooltips. This avoids delays when moving between nearby tooltips:

<Tooltip.Provider delay={200} closeDelay={0}> <Tooltip.Root> <Tooltip.Trigger><button>A</button></Tooltip.Trigger> <Tooltip.Portal> <Tooltip.Positioner> <Tooltip.Popup>Tooltip A</Tooltip.Popup> </Tooltip.Positioner> </Tooltip.Portal> </Tooltip.Root> <Tooltip.Root> <Tooltip.Trigger><button>B</button></Tooltip.Trigger> <Tooltip.Portal> <Tooltip.Positioner> <Tooltip.Popup>Tooltip B</Tooltip.Popup> </Tooltip.Positioner> </Tooltip.Portal> </Tooltip.Root> </Tooltip.Provider>

Positioning

The positioner has a default sideOffset of 6px. Override placement with side and align:

<Tooltip.Positioner side="right" align="center"> <Tooltip.Popup>Right-aligned tooltip</Tooltip.Popup> </Tooltip.Positioner>

Compound Parts

PartDescription
Tooltip.RootState container. Manages hover/focus open state.
Tooltip.TriggerThe element that activates the tooltip on hover/focus.
Tooltip.PortalRenders children in a portal.
Tooltip.PositionerFloating UI positioner. Default sideOffset={6}.
Tooltip.PopupThe tooltip content. Dark background (bg-foreground), light text (text-background). z-tooltips (400).
Tooltip.ArrowA rotated square (bg-foreground) absolutely positioned at the popup edge. Aligned to the anchor via Base UI CSS variables.
Tooltip.ProviderShared delay configuration for grouped tooltips.

Tooltip.Root Props

PropTypeDefaultDescription
openbooleanControlled open state
defaultOpenbooleanfalseInitial open state (uncontrolled)
onOpenChange(open: boolean) => voidCalled when open state changes
delaynumber600Milliseconds before showing
closeDelaynumber0Milliseconds before hiding
Last updated on