@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
73 lines (72 loc) • 2.31 kB
JavaScript
"use client";
import { getSize } from "../../core/utils/get-size/get-size.mjs";
import { createVarsResolver } from "../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs";
import { useProps } from "../../core/MantineProvider/use-props/use-props.mjs";
import { useStyles } from "../../core/styles-api/use-styles/use-styles.mjs";
import { factory } from "../../core/factory/factory.mjs";
import { Paper } from "../Paper/Paper.mjs";
import { Transition } from "../Transition/Transition.mjs";
import { CloseButton } from "../CloseButton/CloseButton.mjs";
import { Affix } from "../Affix/Affix.mjs";
import Dialog_module_default from "./Dialog.module.mjs";
import { jsx, jsxs } from "react/jsx-runtime";
//#region packages/@mantine/core/src/components/Dialog/Dialog.tsx
const defaultProps = {
shadow: "md",
p: "md",
withBorder: true,
transitionProps: {
transition: "pop-top-right",
duration: 200
},
position: {
bottom: 30,
right: 30
}
};
const varsResolver = createVarsResolver((_, { size }) => ({ root: { "--dialog-size": getSize(size, "dialog-size") } }));
const Dialog = factory((_props) => {
const props = useProps("Dialog", defaultProps, _props);
const { classNames, className, style, styles, unstyled, vars, zIndex, position, keepMounted, opened, transitionProps, withCloseButton, withinPortal, children, onClose, portalProps, attributes, ...others } = props;
const getStyles = useStyles({
name: "Dialog",
classes: Dialog_module_default,
props,
className,
style,
classNames,
styles,
unstyled,
attributes,
vars,
varsResolver
});
return /* @__PURE__ */ jsx(Affix, {
zIndex,
position,
withinPortal,
portalProps,
unstyled,
children: /* @__PURE__ */ jsx(Transition, {
keepMounted,
mounted: opened,
...transitionProps,
children: (transitionStyles) => /* @__PURE__ */ jsxs(Paper, {
unstyled,
...getStyles("root", { style: transitionStyles }),
...others,
children: [withCloseButton && /* @__PURE__ */ jsx(CloseButton, {
onClick: onClose,
unstyled,
...getStyles("closeButton")
}), children]
})
})
});
});
Dialog.classes = Dialog_module_default;
Dialog.varsResolver = varsResolver;
Dialog.displayName = "@mantine/core/Dialog";
//#endregion
export { Dialog };
//# sourceMappingURL=Dialog.mjs.map