Skip to content

Tooltip

A small label that appears near an element on hover or focus. Use to provide supplementary information for UI elements that lack a visible text label.

Basic

Tailwind v4
vue
<Tooltip content="This is a tooltip">
  <Button variant="secondary">Hover me</Button>
</Tooltip>

Placements

Tailwind v4
vue
<Tooltip content="Top tooltip" placement="top">
  <Button>Top</Button>
</Tooltip>
<Tooltip content="Right tooltip" placement="right">
  <Button>Right</Button>
</Tooltip>
<Tooltip content="Bottom tooltip" placement="bottom">
  <Button>Bottom</Button>
</Tooltip>
<Tooltip content="Left tooltip" placement="left">
  <Button>Left</Button>
</Tooltip>

On icon button

Tailwind v4
vue
<Tooltip content="Edit">
  <IconButton label="Edit">
    <PencilIcon />
  </IconButton>
</Tooltip>

Disabled

Tailwind v4
vue
<Tooltip content="This won't show" :disabled="true">
  <Button>...</Button>
</Tooltip>

With aria-describedby

Use the scoped slot to wire aria-describedby on the trigger — required for strict ARIA compliance.

Tailwind v4
vue
<Tooltip content="Saves your current work" v-slot="{ tooltipId }">
  <Button :aria-describedby="tooltipId">Save</Button>
</Tooltip>

Props

PropTypeDefaultDescription
contentstringTooltip text
placement'top' | 'right' | 'bottom' | 'left''top'Where the tooltip appears
delaynumber300Milliseconds before showing
disabledbooleanfalsePrevent tooltip from showing

Slots

SlotSlot propsDescription
defaulttooltipId: stringTrigger content. Use tooltipId to wire aria-describedby on the interactive element.

Private — Jetpack Labs internal use only