HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/propbase/propbase_website/node_modules/@restart/ui/cjs/ModalManager.d.ts
export interface ModalInstance {
    dialog: Element;
    backdrop: Element;
}
export interface ModalManagerOptions {
    ownerDocument?: Document;
    handleContainerOverflow?: boolean;
    isRTL?: boolean;
}
export type ContainerState = {
    scrollBarWidth: number;
    style: Record<string, any>;
    [key: string]: any;
};
export declare const OPEN_DATA_ATTRIBUTE: "data-rr-ui-modal-open";
/**
 * Manages a stack of Modals as well as ensuring
 * body scrolling is is disabled and padding accounted for
 */
declare class ModalManager {
    readonly handleContainerOverflow: boolean;
    readonly isRTL: boolean;
    readonly modals: ModalInstance[];
    protected state: ContainerState;
    protected ownerDocument: Document | undefined;
    constructor({ ownerDocument, handleContainerOverflow, isRTL, }?: ModalManagerOptions);
    getScrollbarWidth(): number;
    getElement(): HTMLElement;
    setModalAttributes(_modal: ModalInstance): void;
    removeModalAttributes(_modal: ModalInstance): void;
    setContainerStyle(containerState: ContainerState): void;
    reset(): void;
    removeContainerStyle(containerState: ContainerState): void;
    add(modal: ModalInstance): number;
    remove(modal: ModalInstance): void;
    isTopModal(modal: ModalInstance): boolean;
}
export default ModalManager;