'use client'; 'use strict'; var jsxRuntime = require('react/jsx-runtime'); var utils = require('@chakra-ui/utils'); var framerMotion = require('framer-motion'); var useModal = require('./use-modal.cjs'); var portal = require('../portal/portal.cjs'); var useStyleConfig = require('../system/use-style-config.cjs'); const [ModalStylesProvider, useModalStyles] = utils.createContext({ name: `ModalStylesContext`, errorMessage: `useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" ` }); const [ModalContextProvider, useModalContext] = utils.createContext({ strict: true, name: "ModalContext", errorMessage: "useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``" }); const Modal = (props) => { const modalProps = { scrollBehavior: "outside", autoFocus: true, trapFocus: true, returnFocusOnClose: true, blockScrollOnMount: true, allowPinchZoom: false, preserveScrollBarGap: true, motionPreset: "scale", ...props, lockFocusAcrossFrames: props.lockFocusAcrossFrames || true }; const { portalProps, children, autoFocus, trapFocus, initialFocusRef, finalFocusRef, returnFocusOnClose, blockScrollOnMount, allowPinchZoom, preserveScrollBarGap, motionPreset, lockFocusAcrossFrames, animatePresenceProps, onCloseComplete } = modalProps; const styles = useStyleConfig.useMultiStyleConfig("Modal", modalProps); const modal = useModal.useModal(modalProps); const context = { ...modal, autoFocus, trapFocus, initialFocusRef, finalFocusRef, returnFocusOnClose, blockScrollOnMount, allowPinchZoom, preserveScrollBarGap, motionPreset, lockFocusAcrossFrames }; return /* @__PURE__ */ jsxRuntime.jsx(ModalContextProvider, { value: context, children: /* @__PURE__ */ jsxRuntime.jsx(ModalStylesProvider, { value: styles, children: /* @__PURE__ */ jsxRuntime.jsx( framerMotion.AnimatePresence, { ...animatePresenceProps, onExitComplete: onCloseComplete, children: context.isOpen && /* @__PURE__ */ jsxRuntime.jsx(portal.Portal, { ...portalProps, children }) } ) }) }); }; Modal.displayName = "Modal"; exports.Modal = Modal; exports.ModalContextProvider = ModalContextProvider; exports.useModalContext = useModalContext; exports.useModalStyles = useModalStyles;