className | string | Partial<Record<"container" | "content" | "actions" | "supportingText" | "toolTip" | "subHead", string>> | ClassNameComponent<TooltipInterface> | No | — | Root classes (string), static element classes (object), or state-aware element classes (function). |
id | string | No | — | Custom ID for accessibility linking. Auto-generated if not provided. |
title | string | No | — | Headline of a rich tooltip. |
variant | TooltipVariant | No | 'plain' | `'plain'` is a small text bubble; `'rich'` is a card-like surface with title/text/actions. |
text | string | No | — | Supporting text for the tooltip. |
position | AnchorPosition | No | — | Placement relative to the target. Defaults to `bottom-right` for `variant="rich"`, `bottom` otherwise. |
trigger | TooltipTrigger | TooltipTrigger[] | No | ['hover', 'focus'] | Interaction(s) that open the tooltip. |
describeTarget | boolean | No | true | Whether the open tooltip describes its target through `aria-describedby`. |
openDelay | number | No | 400 | Delay in milliseconds before showing the tooltip. Default: 400ms |
closeDelay | number | No | 150 | Delay in milliseconds before hiding the tooltip. Default: 150ms |
open | boolean | No | — | Controlled open state. |
defaultOpen | boolean | No | false | Initial open state when uncontrolled. |
transition | TooltipTransition | No | — | Anime.js opacity/scale open-close timing. Shared by every framework, no `motion/react`. |
content | ReactNode | No | — | Custom content slot that replaces title/text/buttons when provided |
anchorRef | RefObject<HTMLElement> | No | — | Custom anchor for positioning. Defaults to the trigger element. |
onOpenChange | (open: boolean) => void | No | — | Notifies an accepted open-state request. |