import { default as Component } from '../../component'; import { OpenerProps } from '../popup/types'; export interface PopupOptions { popup?: string; id?: string; p?: number; notch?: boolean; class?: string; posBy?: 'left' | 'right' | 'fixed' | Element; frontSelector?: string; invertX?: boolean; openByHover?: boolean; useOriginal?: boolean; transitionDuration?: number; isFullScreen?: boolean; } /** * Основной объект js компонента TopPopup * * Добавляет jQuery события на this.el, если jQuery загружен: * * - aftershow.top-menu-popup * - afterclose.top-menu-popup */ export declare class TopLibPopup | undefined = undefined> extends Component { static componentName: string; el: HTMLElement & { __TopPopupOpenerProps: OpenerProps; }; elActiveByDefault: boolean | undefined; elPopup: HTMLElement | undefined; elPopupInner: HTMLElement | undefined; elPopupHeader: HTMLElement | undefined | null; elPopupWidget: HTMLElement | undefined | null; elPopupBody: HTMLElement | undefined | null; elPopupFooter: HTMLElement | undefined | null; elFront: HTMLElement | undefined | null; openerIsInput: boolean; popupParent: TopLibPopup | undefined; $: JQuery | undefined; elStartPosition: HTMLElement | undefined | null; shift: { top: number; left: number; }; isClosed: boolean; isFirstClick: boolean; type: string | undefined; options: PopupOptions; events: {}; /** * Создать Popup * @param el - элемент, открывающий меню * @param options */ constructor(el: HTMLElement, options: PopupOptions); mount(): Promise; mountJQuery(): Promise; /** * Выполнить фокусировку на нужный элемент после открытия окна */ focus(): void; mountEvents(): void; /** * Обработка клика вне окна */ private onMousedown; /** * Закрыть другие Popup при фокусе на элемент формы в текущем */ private onFocus; /** * Закрыть Popup при отведении мыши */ private onMouseleave; /** * Контроль положения Popup при fixed позиционировании */ private onResize; unmount(): void; recalcPosition(pForce?: typeof this.options.p): void; onTouchmove(e: TouchEvent): void; close(): void; vueOpen(): Promise; vueClose(): void; vueGetComponent(): any; }