UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

102 lines (99 loc) 3.31 kB
'use client'; import { jsx } from 'react/jsx-runtime'; import { rem } from '../../core/utils/units-converters/rem.mjs'; import 'react'; import { getDefaultZIndex } from '../../core/utils/get-default-z-index/get-default-z-index.mjs'; import { getRadius, getSize } from '../../core/utils/get-size/get-size.mjs'; import '@mantine/hooks'; import { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs'; import 'clsx'; import '../../core/MantineProvider/Mantine.context.mjs'; import '../../core/MantineProvider/default-theme.mjs'; import '../../core/MantineProvider/MantineProvider.mjs'; import '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs'; import { useProps } from '../../core/MantineProvider/use-props/use-props.mjs'; import '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs'; import { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs'; import '../../core/Box/Box.mjs'; import { factory } from '../../core/factory/factory.mjs'; import '../../core/DirectionProvider/DirectionProvider.mjs'; import { ModalBase } from '../ModalBase/ModalBase.mjs'; import '../ModalBase/ModalBaseBody.mjs'; import '../ModalBase/ModalBaseCloseButton.mjs'; import '../ModalBase/ModalBaseContent.mjs'; import '../ModalBase/ModalBaseHeader.mjs'; import '../ModalBase/ModalBaseOverlay.mjs'; import '../ModalBase/ModalBaseTitle.mjs'; import { ScrollArea } from '../ScrollArea/ScrollArea.mjs'; import { ModalProvider } from './Modal.context.mjs'; import classes from './Modal.module.css.mjs'; const defaultProps = { __staticSelector: "Modal", closeOnClickOutside: true, withinPortal: true, lockScroll: true, trapFocus: true, returnFocus: true, closeOnEscape: true, keepMounted: false, zIndex: getDefaultZIndex("modal"), transitionProps: { duration: 200, transition: "fade-down" }, yOffset: "5dvh" }; const varsResolver = createVarsResolver( (_, { radius, size, yOffset, xOffset }) => ({ root: { "--modal-radius": radius === void 0 ? void 0 : getRadius(radius), "--modal-size": getSize(size, "modal-size"), "--modal-y-offset": rem(yOffset), "--modal-x-offset": rem(xOffset) } }) ); const ModalRoot = factory((_props, ref) => { const props = useProps("ModalRoot", defaultProps, _props); const { classNames, className, style, styles, unstyled, vars, yOffset, scrollAreaComponent, radius, fullScreen, centered, xOffset, __staticSelector, ...others } = props; const getStyles = useStyles({ name: __staticSelector, classes, props, className, style, classNames, styles, unstyled, vars, varsResolver }); return /* @__PURE__ */ jsx(ModalProvider, { value: { yOffset, scrollAreaComponent, getStyles, fullScreen }, children: /* @__PURE__ */ jsx( ModalBase, { ref, ...getStyles("root"), "data-full-screen": fullScreen || void 0, "data-centered": centered || void 0, "data-offset-scrollbars": scrollAreaComponent === ScrollArea.Autosize || void 0, unstyled, ...others } ) }); }); ModalRoot.classes = classes; ModalRoot.displayName = "@mantine/core/ModalRoot"; export { ModalRoot }; //# sourceMappingURL=ModalRoot.mjs.map