baseui
Version:
A React Component library implementing the Base design language
40 lines (39 loc) • 1.6 kB
TypeScript
import * as React from 'react';
import type { ModalProps, ModalState, SharedStylePropsArg, CloseSource } from './types';
import type { SyntheticEvent } from 'react';
declare class Modal extends React.Component<ModalProps, ModalState> {
static defaultProps: Partial<ModalProps>;
animateOutTimer: ReturnType<typeof setTimeout> | undefined | null;
animateStartTimer: ReturnType<typeof requestAnimationFrame> | undefined | null;
dialogContainerRef: React.RefObject<HTMLElement>;
lastFocus: HTMLElement | undefined | null;
lastMountNodeOverflowStyle: string | undefined | null;
rootRef: React.RefObject<HTMLElement>;
state: {
isVisible: boolean;
mounted: boolean;
isFocusVisible: boolean;
};
componentDidMount(): void;
componentWillUnmount(): void;
componentDidUpdate(prevProps: ModalProps, prevState: ModalState): void;
handleFocus: (event: SyntheticEvent) => void;
handleBlur: (event: SyntheticEvent) => void;
disableMountNodeScroll(): void;
resetMountNodeScroll(): void;
onEscape: () => void;
onDocumentClick: (e: MouseEvent) => void;
onBackdropClick: () => void;
onCloseClick: () => void;
clearTimers(): void;
didOpen(): void;
didClose(): void;
triggerClose(source?: CloseSource): void;
animateOutComplete: () => void;
getSharedProps(): Omit<SharedStylePropsArg, 'children'>;
getMountNode(): HTMLElement;
getChildren(): React.ReactNode;
renderModal(renderedContent: React.ReactNode): React.JSX.Element;
render(): React.JSX.Element;
}
export default Modal;