@yandex/ui
Version:
Yandex UI components
22 lines (21 loc) • 1.73 kB
JavaScript
import React from 'react';
import { cn } from '@bem-react/classname';
import { useComponentRegistry } from '@bem-react/di';
import { TooltipBackdrop as Backdrop } from './Backdrop/Tooltip-Backdrop';
import './Tooltip.css';
export var cnTooltip = cn('Tooltip');
/**
* Компонент используется для создания всплывающих подсказок.
*
* @param {TooltipProps} props Свойства компонента.
*/
export var Tooltip = function (_a) {
var anchor = _a.anchor, children = _a.children, className = _a.className, direction = _a.direction, hasTail = _a.hasTail, id = _a.id, innerRef = _a.innerRef, keepMounted = _a.keepMounted, mainOffset = _a.mainOffset, scope = _a.scope, secondaryOffset = _a.secondaryOffset, state = _a.state, tailOffset = _a.tailOffset, visible = _a.visible, zIndex = _a.zIndex, onClose = _a.onClose, onClick = _a.onClick;
var defaultMainOffset = hasTail ? 0 : 4;
var Popup = useComponentRegistry(cnTooltip()).Popup;
return (React.createElement(Popup, { onClose: onClose, onClick: onClick, anchor: anchor, className: cnTooltip({ visible: visible, state: state }, [className]), direction: direction, hasTail: hasTail, innerRef: innerRef, keepMounted: keepMounted, mainOffset: mainOffset || defaultMainOffset, scope: scope, secondaryOffset: secondaryOffset, tailOffset: tailOffset, target: "anchor", view: "default", visible: visible, zIndex: zIndex,
// prettier-ignore
unstable_onRenderTail: function (tail) { return (React.createElement(Backdrop, null, hasTail && tail)); } },
React.createElement("div", { role: "tooltip", id: id, className: cnTooltip('Content') }, children)));
};
Tooltip.displayName = 'Tooltip';