UNPKG

@nex-ui/react

Version:

🎉 A beautiful, modern, and reliable React component library.

61 lines (57 loc) • 2.13 kB
"use client"; 'use strict'; var jsxRuntime = require('react/jsx-runtime'); var DialogContext = require('./DialogContext.cjs'); var useDefaultProps = require('../utils/useDefaultProps.cjs'); var Modal = require('../modal/Modal.cjs'); var ModalContext = require('../modal/ModalContext.cjs'); const Provider = (props)=>{ const { children, fullScreen = false, placement = 'top', hideCloseButton = false, maxWidth = 'md', scroll = 'outside', hideBackdrop = false } = props; const { open, preventScroll, keepMounted, defaultOpen, closeOnEscape, closeOnInteractOutside, setOpen } = ModalContext.useModal(); const ownerState = { ...props, closeOnEscape, hideBackdrop, fullScreen, preventScroll, scroll, maxWidth, open, setOpen, placement, keepMounted, defaultOpen, hideCloseButton, closeOnInteractBackdrop: closeOnInteractOutside }; return /*#__PURE__*/ jsxRuntime.jsx(DialogContext.DialogProvider, { value: ownerState, children: children }); }; const Dialog = (inProps)=>{ const props = useDefaultProps.useDefaultProps({ name: 'Dialog', props: inProps }); const { open, children, restoreFocus, onOpenChange, defaultOpen, keepMounted, closeOnEscape, closeOnInteractBackdrop, preventScroll, 'aria-describedby': describedby, 'aria-labelledby': labelledby, ...remainingProps } = props; return /*#__PURE__*/ jsxRuntime.jsx(Modal.Modal, { open: open, restoreFocus: restoreFocus, onOpenChange: onOpenChange, defaultOpen: defaultOpen, keepMounted: keepMounted, closeOnInteractOutside: closeOnInteractBackdrop, preventScroll: preventScroll, closeOnEscape: closeOnEscape, "aria-describedby": describedby, "aria-labelledby": labelledby, children: /*#__PURE__*/ jsxRuntime.jsx(Provider, { ...remainingProps, children: children }) }); }; Dialog.displayName = 'Dialog'; Provider.displayName = 'InnerProvider'; exports.Dialog = Dialog;