Tooltip
Небольшое всплывающее окно-подсказка, открывающееся при наведении мыши на children
(или при нажатии на мобильных устройствах).
В качестве содержимого рекомендуется использовать только текст.
Пользовательская стрелка
Воспользуйтесь свойством ArrowIcon
, чтобы переопределить иконку, которая используется по умолчанию.
Пользовательский компонент иконки должен удовлетворять следующим требованиям:
- Иконка по умолчанию должна быть отрисована в направлении вверх.
- Чтобы избежать проблемы с пространством между стрелкой и контентом на некоторых экранах,
растяните кривую по высоте на
1px
и увеличьте на этот размерheight
иviewBox
SVG. (смотри https://github.com/VKCOM/VKUI/pull/4496 ↗). - Убедитесь, что компонент принимает все валидные для SVG параметры.
- Убедитесь, что SVG и её элементы наследует цвет через
fill="currentColor"
. - Если стрелка наезжает на якорный элемент, то увеличьте смещение между целевым и всплывающим элементами.
Хук useTooltip
Вы можете использовать хук useTooltip
, который позволяет устанавливать якорный элемент для Tooltip
,
не прокидывая его в качестве children
:
Свойства и методы
Свойство | Описание |
---|---|
appearance | "accent" | "neutral" | "white" | "black" | "inversion" Стиль отображения подсказки. По умолчанию: - |
arrowHeight | number Высота стрелки. Складывается с По умолчанию: - |
ArrowIcon | ComponentType<SVGAttributes<SVGSVGElement>> Пользовательская SVG иконка. Требования:
По умолчанию: - |
arrowPadding | number Безопасная зона вокруг стрелки, чтобы та не выходила за края контента. По умолчанию: - |
children | ReactElement<unknown, string | JSXElementConstructor<any>> Целевой элемент. Всплывающее окно появится возле него. По умолчанию: - |
className | string Пользовательские css-классы, будут добавлены на root-элемент. По умолчанию: - |
closable | boolean Добавляет возможность закрыть тултип через иконку-крестик. По умолчанию: - |
closeIconLabel | string Скрытый текст для кнопки закрытия. По умолчанию: - |
defaultShown | boolean Начальное состояние всплывающего элемента. По умолчанию: - |
description | ReactNode Текст тултипа. По умолчанию: - |
disableArrow | boolean Скрывает стрелку, указывающую на якорный элемент. По умолчанию: - |
disableCloseAfterClick | boolean Отключает закрытие по нажатию. По умолчанию: - |
disableFlipMiddleware | boolean Указанное значение По умолчанию: - |
disableTriggerOnFocus | boolean Отключает появление при фокусе. По умолчанию: - |
enableInteractive | boolean Добавляет возможность наводить на тултип. По умолчанию: - |
getRootRef | Ref<HTMLDivElement> По умолчанию: - |
hideWhenReferenceHidden | boolean Принудительно скрывает компонент если целевой элемент вышел за область видимости. По умолчанию: - |
hoverDelay | number | [number, number] Количество миллисекунд, после которых произойдёт показ/скрытие всплывающего элемента при наведении. По умолчанию: - |
maxWidth | string | number | null Перебивает максимальную ширину заданную по умолчанию. Передача По умолчанию: - |
offsetByCrossAxis | number Отступ по вспомогательной оси. По умолчанию: - |
offsetByMainAxis | number Отступ по главной оси. По умолчанию: - |
onPlacementChange | OnPlacementChange В зависимости от области видимости, позиция может смениться на более оптимальную, чтобы всплывающий элемент вместился в эту область видимости. По умолчанию: - |
onReferenceHiddenChange | ((hidden: boolean) => void) Событие скрытия / раскрытия компонента при использовании свойства По умолчанию: - |
onShownChange | OnShownChange Вызывается при каждом изменении видимости всплывающего элемента. По умолчанию: - |
placement | PlacementWithAuto По умолчанию компонент выберет наилучшее расположение сам, но приоритетное можно задать с помощью этого свойства. По умолчанию: - |
shown | boolean Передача По умолчанию: - |
strategy | Strategy Стратегия позиционирования всплывающего элемента.
По умолчанию: - |
title | ReactNode Заголовок тултипа. По умолчанию: - |
titleId | string [a11y] Id для заголовка тултипа.
Можно использовать для связи элемента с По умолчанию: - |
usePortal | boolean | HTMLElement | RefObject<HTMLElement> По умолчанию используется document.body. По умолчанию: - |
zIndex | string | number Перебивает zIndex заданный по умолчанию. По умолчанию: - |