import { ReactNode, FC, CSSProperties, ReactElement, Ref, MouseEventHandler } from 'react'; import { Direction } from '../usePopper'; import { PortalExtendableProps } from '../Portal'; import { OnClose } from '../useOverlay'; import './Popup.css'; export interface IPopupProps extends PortalExtendableProps { /** * Дополнительный контент после содержимого попапа */ addonAfter?: ReactNode; /** * Дополнительный контент перед содержимым попапа */ addonBefore?: ReactNode; /** * Направления раскрытия блока */ direction?: Direction | Direction[]; /** * Включает/отключает хвостик у попапа */ hasTail?: boolean; /** * Ссылка на корневой DOM-элемент компонента */ innerRef?: Ref; /** * Ссылка на DOM-элемент хвостика */ tailRef?: Ref; /** * Задает размер хвостика */ tailSize?: number; /** * Делает попап видимым */ visible?: boolean; /** * Задает слой `z-index` */ zIndex?: number; /** * Дополнительный класс */ className?: string; /** * Html атрибут `style` */ style?: CSSProperties; /** * Функция, вызывающаяся при отрисовке хвостика. * Вызывается вне зависимости от наличия флага `hasTail`. */ unstable_onRenderTail?: (tail: ReactElement) => ReactElement; /** * Содержимое попапа */ children?: ReactNode | ((props: { tailRef?: Ref; }) => ReactNode); /** * Обработчик, вызывающийся после нажатия на клавишу esc, * либо мышкой на область вне контейнера */ onClose?: OnClose; /** * Обработчик, вызываемый при срабатывании события click */ onClick?: MouseEventHandler; } export declare const cnPopup: import("@bem-react/classname").ClassNameFormatter; /** * Компонент для создания всплывающего окна (попапа). * @param {IPopupProps} props */ export declare const Popup: FC;