import { ReactNode, Component, RefCallback } from 'react'; export interface TooltipProps { /** * **Важно**: если в `children` передан React-компонент, то необходимо убедиться в том, что он поддерживает * свойство `getRootRef`, которое должно возвращаться ссылку на корневой DOM-элемент компонента, * иначе тултип показан не будет. Если передан React-element, то такой проблемы нет. */ children: ReactNode; mode: 'accent' | 'light'; /** * Если передан `false`, то рисуется просто `children`. */ isShown: boolean; /** * Текст тултипа. */ text?: ReactNode; /** * Заголовок тултипа. */ header?: ReactNode; /** * Положение по горизонтали (прижатие к левому или правому краю `children`). */ alignX?: 'left' | 'right'; /** * Положение по вертикали (расположение над или под `children`). */ alignY?: 'top' | 'bottom'; /** * Сдвиг по горизонтали (относительно портала, в котором рисуется тултип). */ offsetX?: number; /** * Сдвиг по вертикали (относительно портала, в котором рисуется тултип). */ offsetY?: number; /** * Сдвиг треугольника (относительно ширины тултипа). */ cornerOffset?: number; /** * Callback, который вызывается при клике по любому месту в пределах экрана. */ onClose(): void; } export interface TooltipState { ready: boolean; } export default class Tooltip extends Component { static defaultProps: Partial; state: TooltipState; targetEl: HTMLElement; componentDidMount(): void; getRef: RefCallback; render(): {}; }