@yandex/ui
Version:
Yandex UI components
35 lines (34 loc) • 1.31 kB
TypeScript
import { FC, RefObject, ReactNode } from 'react';
export declare type LayerManagerProps = {
/**
* Видимость слоя
*/
visible?: boolean;
/**
* Обработчик, вызывающийся после нажатия на клавишу esc либо мышкой на область вне контейнера
*/
onClose?: OnClose;
/**
* Содержимое слоя
*/
children: ReactNode;
/**
* Список ссылок на DOM-узлы в рамках которых не нужно отслеживать нажатия
*/
essentialRefs: RefObject<HTMLElement>[];
};
export declare type OnClose = (event: KeyboardEvent | MouseEvent, source: 'esc' | 'click') => void;
declare type LayerId = string;
declare type LayerTuple = [LayerId, OnClose, RefObject<HTMLElement>[]];
declare type EFC<T> = FC<T> & {
stack: LayerTuple[];
};
/**
* Компонент реализующий закрытие всплывающих компонентов,
* таких как `Popup`, `Modal`, `Tooltip` и `MessageBox` в нужном порядке,
* по умолчанию используется внутри `Popup`.
*
* @param {LayerManagerProps}
*/
export declare const LayerManager: EFC<LayerManagerProps>;
export {};