Tooltip

Tooltip — всплывающая подсказка, появляющаяся при наведении на триггер и поясняющая его назначение. Оборачивает любой элемент через children — Ark по asChild вешает на него события и aria-атрибуты, поэтому триггер обязан пробрасывать пропсы и ref (кнопка, иконка, ссылка ДС это умеют). Текст или произвольная вёрстка подсказки задаётся пропсом content, сторона появления — placement (по умолчанию top). Подсказка открывается с задержкой (400 мс на наведение, 100 мс на увод), порталится в body, монтируется лениво при первом показе и размонтируется после закрытия. Главный потребитель — ButtonIcon: иконочная кнопка без подписи оборачивает себя в Tooltip и показывает свой label как подсказку, так что для неё отдельный Tooltip не нужен. Собрано на Ark UI Tooltip.

Анатомия

Tooltip (openDelay, closeDelay, lazyMount)
Trigger (asChild) → children
Portal → Positioner (placement) → Content
content

Примеры

Сторона появления

placement задаёт сторону подсказки относительно триггера: top (по умолчанию), right, bottom, left и их варианты с выравниванием (top-start, bottom-end, ...). Наведи на кнопку, чтобы увидеть подсказку с нужной стороны.

Произвольный контент

content — не только строка: внутрь идёт любой React-узел. Здесь подсказка несёт пояснение и подпись горячей клавиши отдельной строкой.

API

PropTypeDefault
content*

Содержимое подсказки

ReactNode-
placement

Сторона появления относительно триггера (по умолчанию top)

NonNullable< ArkTooltip.RootProps["positioning"] >["placement"]"top"
children*

Элемент-триггер (должен принимать проброшенные пропсы и ref)

ReactElement-