vael-ui v0.3.10

Overlays

Tooltip

A small floating label that appears on hover or focus to explain an element.

Install

import { Tooltip } from 'vael-ui'

Playground

import { Tooltip } from 'vael-ui'

<Tooltip side="top" align="center" :sideOffset="8" :alignOffset="0" :openDelay="400" :closeDelay="100" interactive closeOnEsc :forceMount="false">Tooltip</Tooltip>

Props

NameTypeDefaultDescription
triggerElTriggerRefExternal trigger ref (raw element or `{ el }`-exposing component).
side"top" | "right" | "bottom" | "left""top"Which side of the trigger the tooltip opens on.
align"start" | "end" | "center""center"How the tooltip aligns against the trigger along that side.
sideOffsetnumber | undefined8Gap between the trigger and the tooltip, in pixels.
alignOffsetnumber | undefined0Shifts the tooltip along the alignment axis, in pixels.
openDelaynumber | undefined400Delay before a cold open, ms. Warm-group opens (another tooltip visible or just hidden) are always instant.
closeDelaynumber | undefined100Grace period after the pointer leaves, ms — long enough to travel onto the tooltip.
interactiveboolean | undefinedtrueHovering the tooltip itself keeps it open (selectable/clickable content).
closeOnEscboolean | undefinedtrueEscape key closes the tooltip.
beforeClose((done: () => void) => void) | undefinedCustom exit animation; call `done()` when it's complete. Delays the actual close/unmount until then.
forceMountboolean | undefinedfalseWhen true, presence is v-show-driven and owned by the consumer.
teleportTostring | HTMLElement | undefined"body"CSS selector or DOM element; same as Vue's Teleport `to`.
uiPartial<{ positioner: UiPartValue; panel: UiPartValue; }> | undefinedPer-instance part-class/style overrides.
openboolean | undefinedfalseWhether the tooltip is open.

Slots

NameTypeDescription
default{ open: boolean; isClosing: boolean; }
trigger{ open: boolean; setTriggerEl: (el: any) => void; }Trigger markup; bind `:ref="setTriggerEl"` to the triggering element.

Events

NameTypeDescription
open-change[value: boolean, details: TooltipOpenChangeDetails]
update:open[value: boolean]

Exposed

NameTypeDescription
panelElHTMLElement | null
positionerElHTMLElement | null
placementPlacement
positionerStyleRecord<string, string>
isClosingboolean
show() => void
hide() => void
cancelClose() => void