interface FloatingOptions { autoClose: boolean; top?: string; left?: string; right?: string; bottom?: string; innerClickTest?: Function; backClickListener?: Function; isFixed?: boolean; useOverlay?: boolean; overlayClassName?: string; } /** * `FloatingManager`: Gerenciador de elementos flutuantes na tela. */ export default class FloatingManager { static MODAL_DEFAULT_CLASSNAME: string; static MODAL_ELEMENT_ID: string; static STYLE_ELEMENT_ID: string; static DATA_OLD_ZINDEX_ATTRIBUTE_NAME: string; private static initialized; private static entries; private static overlayElements; /** * * Inicializa a classe FloatingManager. * */ private static init; /** * * Retorna se o elemento clicado possui elementos internos. * */ private static innerClick; /** * * Fecha uma entrada flutuante (FloatingManager). * * @param id - Código da entrada que se deseja encerrar. * @param entry - FloatingManager. * @param target - Elemento HTML referente. * @param event - Evento específico que será verificado, como clique do mouse. * */ private static doClose; /** * * Fecha todas as FloatingManagers abertas. * * @param event - Evento ocorrido, como clique do mouse, por exemplo. * */ private static handleDocumentEvent; /** * * Captura eventos de teclado para manipular os elementos flutuantes via eventos da tecla pressionada. * * @param event - Evento de teclado. * */ private static handleKeyboardEvent; /** * * Adiciona uma propriedade CSS em um elemento HTML. * * @param element - Elemento HTML que será modificado. * @param propertyName - Nome da propriedade CSS que será adicionada. * @param value - Valor da propriedade adicionada. * * */ private static applyStyle; /** * * Obtém o índice do FloatingManager do Elemento HMTL desejado. * * @param content - Elemento a ser buscado. * @param parent - Elemento pai do content a ser buscado. * @returns - Índice do elemento informado. */ private static getFloatIndex; /** * * Retorna se uma entrada flutuante existe. * * @param id - Índice para ser verificado no FloatingManager. * * @returns - Verdadeiro se existir. * */ static isFloating(id: number): boolean; /** * * Cria e exibe um novo item no FloatingManager. * * @param content - Elemento HTML que será criado. * @param parent - Elemento HTML que será o pai do item a ser criado. * @param options - Opções de configuração a serem adicionadas. * * @returns - ID do novo item criado. */ static float(content: HTMLElement, parent: HTMLElement, options?: FloatingOptions): number; /** * * Aplica o desfoque na página se o elemento possuir essa option ativada. * * @param options - Configurações que serão utilizadas no elemento. * */ private static showOverlay; /** * * Desfaz o desfoque/overlay dos elementos na tela. * * */ private static hideOverlay; /** * * Cria ou atualiza o elemento de sobreposição. * * @param className - Classe CSS que será adicionada ao modal. * @returns - O elemento atualizado. */ private static createOrUpdatOverlay; /** * * Cria elemento de estilo. * Elemento que define o estilo padrão do elemento de sobreposição. */ private static createStyleElement; /** * * Atualiza posição de um elemento que já está em tela. * * @param content - Elemento HTML que será atualizado. * @param parent - Elemento pai do content passado. * @param options - Novas opções desejadas. */ static updateFloatPosition(content: HTMLElement, parent: HTMLElement, options?: FloatingOptions): void; /** * * Fecha elemento flutuante da tela. * * @param id - Índice do elemento desejado. * */ static close(id: number): void; /** * Fecha todos os elemento flutuante da tela. */ static closeAll(): void; /** * Controle a sobreposição do elemento * @param item - Elemento HTML que será manipulado * @returns - O ID do elemento na lista de controle */ static subscribeOverlayControl(item: HTMLElement): number | undefined; /** * * @param identifier - Elemento HTML ou ID do item que será removido do controle de sobreposição */ static unsubscribeOverlayControl(identifier: HTMLElement | number): void; private static getCSSPropertyValue; private static getHighestZIndex; } export {};