UNPKG

@yandex/ui

Version:

Yandex UI components

35 lines (34 loc) 1.31 kB
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 {};