1. components
  2. β€Ί
  3. tooltip
  4. β€Ί
  5. svelte

Tooltip

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

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

By default we do not take an opinionated stance regarding z-index stacking. The result is the component can sometimes be occluded beneath other elements with a higher index. The Z-Index can controlled by applying a utility class to the Positioner component part.

Sibling (10)

Programmatic Control

This is made possible via the Provider Pattern.

Direction

Headless

Unlike most components in Skeleton, this feature is provided β€œheadless”. This means no default styles are applied out of the box. This ensures you retain full control of all styling.

The benefits are as follows:

  • You can make the Trigger surround any element, including an icon, button, image, etc.
  • You can modify the entire structure within Content, including custom markup and styling.
  • You may place the CloseTrigger anywhere, and use it as an X close option.

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