1. framework components
  2. tooltip
LLM

Tooltip

A floating label that appears on hover or focus, providing additional context.

contentType: framework-components
featureName: tooltip

Arrow

You may optionally enable arrows via the Arrow and ArrowTip component parts. Note that Zag.js opts to style these with CSS custom properties, which can be adjusted using a style attribute.

Z-Index

Sibling (10)

Headless

Programmatic Control

This is made possible via the Provider Pattern .

Direction

API Reference

Root

Property Default Type
dir "ltr"
"ltr" | "rtl" | undefined
The document's text/writing direction.
aria-label -
string | undefined
Custom label for the tooltip.
ids -
Partial<{ trigger: string; content: string; arrow: string; positioner: string; }> | undefined
The ids of the elements in the tooltip. Useful for composition.
openDelay 400
number | undefined
The open delay of the tooltip.
closeDelay 150
number | undefined
The close delay of the tooltip.
closeOnPointerDown true
boolean | undefined
Whether to close the tooltip on pointerdown.
closeOnEscape true
boolean | undefined
Whether to close the tooltip when the Escape key is pressed.
closeOnScroll true
boolean | undefined
Whether the tooltip should close on scroll
closeOnClick true
boolean | undefined
Whether the tooltip should close on click
interactive false
boolean | undefined
Whether the tooltip's content is interactive. In this mode, the tooltip will remain open when user hovers over the content.
onOpenChange -
((details: OpenChangeDetails) => void) | undefined
Function called when the tooltip is opened.
positioning -
PositioningOptions | undefined
The user provided options used to position the popover content
disabled -
boolean | undefined
Whether the tooltip is disabled
open -
boolean | undefined
The controlled open state of the tooltip
defaultOpen -
boolean | undefined
The initial open state of the tooltip when rendered. Use when you don't need to control the open state of the tooltip.
getRootNode -
(() => Node | ShadowRoot | Document) | undefined
A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron.
children -
Snippet<[]> | undefined
The default slot content to be rendered within the component.

RootProvider

Property Default Type
value -
() => TooltipApi<PropTypes>
children -
Snippet<[]> | undefined
The default slot content to be rendered within the component.

RootContext

Property Default Type
children -
Snippet<[() => TooltipApi<PropTypes>]>

Trigger

Property Default Type
element -
Snippet<[HTMLAttributes<"button">]> | undefined
Render the element yourself

Positioner

Property Default Type
element -
Snippet<[HTMLAttributes<"div">]> | undefined
Render the element yourself

Content

Property Default Type
element -
Snippet<[HTMLAttributes<"div">]> | undefined
Render the element yourself

Arrow

Property Default Type
element -
Snippet<[HTMLAttributes<"div">]> | undefined
Render the element yourself

ArrowTip

Property Default Type
element -
Snippet<[HTMLAttributes<"div">]> | undefined
Render the element yourself