@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
37 lines (36 loc) • 1.52 kB
TypeScript
import { BoxProps, ElementProps, Factory, MantineSize, StylesApiProps } from '../../core';
import { AffixBaseProps } from '../Affix';
import { PaperBaseProps } from '../Paper';
import { TransitionOverride } from '../Transition';
export type DialogStylesNames = 'root' | 'closeButton';
export type DialogCssVariables = {
root: '--dialog-size';
};
export interface DialogProps extends BoxProps, AffixBaseProps, PaperBaseProps, StylesApiProps<DialogFactory>, ElementProps<'div'> {
/** If set, dialog is not unmounted from the DOM when hidden, `display: none` styles are applied instead */
keepMounted?: boolean;
/** If set, the close button is displayed @default `true` */
withCloseButton?: boolean;
/** Called when the close button is clicked */
onClose?: () => void;
/** Dialog content */
children?: React.ReactNode;
/** Opened state */
opened: boolean;
/** Props passed down to the underlying `Transition` component @default `{ transition: 'pop-top-right', duration: 200 }` */
transitionProps?: TransitionOverride;
/** Controls `width` of the dialog @default `'md'` */
size?: MantineSize | (string & {}) | number;
}
export type DialogFactory = Factory<{
props: DialogProps;
ref: HTMLDivElement;
stylesNames: DialogStylesNames;
vars: DialogCssVariables;
}>;
export declare const Dialog: import("../../core").MantineComponent<{
props: DialogProps;
ref: HTMLDivElement;
stylesNames: DialogStylesNames;
vars: DialogCssVariables;
}>;