Skip to main content

Tooltip

Hover tooltip with configurable placement, delay, and optional arrow.

Import​

import '@kittl/ui';
import { Tooltip } from '@kittl/ui-react';

Usage​

<kittl-tooltip content="Save your changes" side="bottom">
<kittl-button>Save</kittl-button>
</kittl-tooltip>

<kittl-tooltip content="With arrow" arrow>
<kittl-button variant="secondary">Hover me</kittl-button>
</kittl-tooltip>
import { Button, Tooltip } from '@kittl/ui-react';

/** Basic Tooltip usage, rendered live on the docs site. */
export const TooltipUsage = () => (
<>
<Tooltip content="Save your changes" side="bottom">
<Button>Save</Button>
</Tooltip>

<Tooltip content="With arrow" arrow>
<Button variant="secondary">Hover me</Button>
</Tooltip>
</>
);

Props​

PropertyAttributeTypeDefaultDescription
contentcontentstring''Tooltip text
sideside'top' | 'right' | 'bottom' | 'left''top'Preferred side
sideOffsetsideOffsetnumber8Offset from trigger in pixels
delaydelaynumber200Show delay in milliseconds
arrowarrowbooleanfalseShow arrow pointing to trigger
controlledcontrolledbooleanfalseManual control mode
openopenbooleanfalseVisibility (only when controlled)

Controlled Mode​

Set controlled to manage visibility yourself:

<kittl-tooltip content="Manual tooltip" controlled open>
<span>Always visible</span>
</kittl-tooltip>
<Tooltip content="Manual tooltip" controlled open>
<span>Always visible</span>
</Tooltip>

In uncontrolled mode (default), the tooltip auto-opens on hover/focus and closes on leave/blur.

Accessibility​

  • Trigger has aria-describedby linking to the tooltip
  • Tooltip has role="tooltip" and aria-hidden when closed
  • Keyboard: Escape closes the tooltip, focus/blur toggles it