Tooltip

Displays a short label on hover or focus, anchored to a trigger element.

import { ... } from '@corndev/ui-overlays'

HTML

<span class="corn-tooltip" data-placement="top" role="tooltip">Copied</span>

Classes

Class
.corn-tooltip

Attributes

AttributeValues
data-visiblepresent or absent
data-placementtop|bottom|left|right

Vanilla JS

Required for behaviour — adds shows on hover and focus, and flips the placement near a viewport edge.

import { createTooltip } from '@corndev/ui-overlays';
import '@corndev/ui/theme';

const triggerEl = document.querySelector('#target');
const instance = createTooltip(triggerEl, { /* options */ });

Options

OptionTypeDefaultDescription
contentstringrequiredTooltip text (required)
placement'top'|'bottom'|'left'|'right''top'Preferred placement
delaynumber0Show delay in ms

React

Tooltip — from @corndev/ui-overlays-react.

The props are the same as the options above, plus className.

React usage

import { Tooltip } from '@corndev/ui-overlays-react';
import '@corndev/ui-overlays/styles';

<Tooltip content="This action is irreversible">
  <button>Delete</button>
</Tooltip>

Placement

Defaults to top. Auto-flips to the opposite side if there isn’t enough space in the viewport.

<Tooltip content="Above"  placement="top"><button>Top</button></Tooltip>
<Tooltip content="Below"  placement="bottom"><button>Bottom</button></Tooltip>
<Tooltip content="Left"   placement="left"><button>Left</button></Tooltip>
<Tooltip content="Right"  placement="right"><button>Right</button></Tooltip>

Show delay

Useful for preventing tooltips from flashing on fast mouse passes.

<Tooltip content="Saved!" delay={300}>
  <button>Save</button>
</Tooltip>