choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
51 lines (50 loc) • 1.59 kB
TypeScript
import { ModalProps } from 'choerodon-ui/pro/lib/modal/Modal';
import { ConfigContextValue } from 'choerodon-ui/lib/config-provider/ConfigContext';
export declare type MousePosition = {
x: number;
y: number;
vw: number;
vh: number;
};
export interface ModalContainerState {
modals: ModalProps[];
mount?: HTMLElement;
}
export declare type DrawerOffsets = {
'slide-up': number[];
'slide-right': number[];
'slide-down': number[];
'slide-left': number[];
};
export interface IModalContainer {
context: ConfigContextValue;
maskHidden: boolean;
active: boolean;
drawerOffsets: DrawerOffsets;
clear(closeByLocationChange?: boolean): any;
getContainer(): HTMLElement | undefined;
getOffsetContainer(): HTMLElement;
mergeModals(modals: ModalProps[]): any;
state: ModalContainerState;
open(props: ModalProps): any;
close(props: ModalProps): any;
update(props: ModalProps): any;
}
export declare type ModalManagerType = {
containerInstances: IModalContainer[];
addInstance: (instance: IModalContainer) => void;
removeInstance: (instance: IModalContainer) => void;
getKey: () => string;
clear: (closeByLocationChange?: boolean) => void;
registerMousePosition: () => void;
mousePositionEventBound: WeakSet<Document>;
mousePosition?: MousePosition;
containerStyles: WeakMap<HTMLElement, {
overflow: string;
paddingRight: string;
position: string;
}>;
root?: HTMLElement;
};
declare const ModalManager: ModalManagerType;
export default ModalManager;