{"version":3,"file":"static/js/41839.f0ba6dda.chunk.js","mappings":"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","sources":["webpack:///./node_modules/@mui/base/FocusTrap/FocusTrap.js","webpack:///./node_modules/@mui/base/unstable_useModal/ModalManager.js","webpack:///./node_modules/@mui/material/Backdrop/Backdrop.js","webpack:///./node_modules/@mui/material/Backdrop/backdropClasses.js","webpack:///./node_modules/@mui/material/Fade/Fade.js","webpack:///./node_modules/@mui/base/unstable_useModal/useModal.js","webpack:///./node_modules/@mui/material/Modal/Modal.js","webpack:///./node_modules/@mui/material/Modal/modalClasses.js","webpack:///./node_modules/@mui/material/Paper/Paper.js","webpack:///./node_modules/@mui/material/Paper/paperClasses.js","webpack:///./node_modules/@mui/material/styles/getOverlayAlpha.js","webpack:///./node_modules/@mui/utils/getScrollbarSize/getScrollbarSize.js"],"sourcesContent":["'use client';\n\n/* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp, elementAcceptingRef, unstable_useForkRef as useForkRef, unstable_ownerDocument as ownerDocument } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n// Inspired by https://github.com/focus-trap/tabbable\nconst candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'].join(',');\nfunction getTabIndex(node) {\n const tabindexAttr = parseInt(node.getAttribute('tabindex') || '', 10);\n if (!Number.isNaN(tabindexAttr)) {\n return tabindexAttr;\n }\n\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n // in Chrome, , and elements get a default\n // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n // yet they are still part of the regular tab order; in FF, they get a default\n // `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n // order, consider their tab index to be 0.\n if (node.contentEditable === 'true' || (node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) {\n return 0;\n }\n return node.tabIndex;\n}\nfunction isNonTabbableRadio(node) {\n if (node.tagName !== 'INPUT' || node.type !== 'radio') {\n return false;\n }\n if (!node.name) {\n return false;\n }\n const getRadio = selector => node.ownerDocument.querySelector(`input[type=\"radio\"]${selector}`);\n let roving = getRadio(`[name=\"${node.name}\"]:checked`);\n if (!roving) {\n roving = getRadio(`[name=\"${node.name}\"]`);\n }\n return roving !== node;\n}\nfunction isNodeMatchingSelectorFocusable(node) {\n if (node.disabled || node.tagName === 'INPUT' && node.type === 'hidden' || isNonTabbableRadio(node)) {\n return false;\n }\n return true;\n}\nfunction defaultGetTabbable(root) {\n const regularTabNodes = [];\n const orderedTabNodes = [];\n Array.from(root.querySelectorAll(candidatesSelector)).forEach((node, i) => {\n const nodeTabIndex = getTabIndex(node);\n if (nodeTabIndex === -1 || !isNodeMatchingSelectorFocusable(node)) {\n return;\n }\n if (nodeTabIndex === 0) {\n regularTabNodes.push(node);\n } else {\n orderedTabNodes.push({\n documentOrder: i,\n tabIndex: nodeTabIndex,\n node: node\n });\n }\n });\n return orderedTabNodes.sort((a, b) => a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex).map(a => a.node).concat(regularTabNodes);\n}\nfunction defaultIsEnabled() {\n return true;\n}\n\n/**\n * Utility component that locks focus inside the component.\n *\n * Demos:\n *\n * - [Focus Trap](https://mui.com/base-ui/react-focus-trap/)\n *\n * API:\n *\n * - [FocusTrap API](https://mui.com/base-ui/react-focus-trap/components-api/#focus-trap)\n */\nfunction FocusTrap(props) {\n const {\n children,\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableRestoreFocus = false,\n getTabbable = defaultGetTabbable,\n isEnabled = defaultIsEnabled,\n open\n } = props;\n const ignoreNextEnforceFocus = React.useRef(false);\n const sentinelStart = React.useRef(null);\n const sentinelEnd = React.useRef(null);\n const nodeToRestore = React.useRef(null);\n const reactFocusEventTarget = React.useRef(null);\n // This variable is useful when disableAutoFocus is true.\n // It waits for the active element to move into the component to activate.\n const activated = React.useRef(false);\n const rootRef = React.useRef(null);\n // @ts-expect-error TODO upstream fix\n const handleRef = useForkRef(children.ref, rootRef);\n const lastKeydown = React.useRef(null);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n activated.current = !disableAutoFocus;\n }, [disableAutoFocus, open]);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n const doc = ownerDocument(rootRef.current);\n if (!rootRef.current.contains(doc.activeElement)) {\n if (!rootRef.current.hasAttribute('tabIndex')) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to \"-1\".'].join('\\n'));\n }\n rootRef.current.setAttribute('tabIndex', '-1');\n }\n if (activated.current) {\n rootRef.current.focus();\n }\n }\n return () => {\n // restoreLastFocus()\n if (!disableRestoreFocus) {\n // In IE11 it is possible for document.activeElement to be null resulting\n // in nodeToRestore.current being null.\n // Not all elements in IE11 have a focus method.\n // Once IE11 support is dropped the focus() call can be unconditional.\n if (nodeToRestore.current && nodeToRestore.current.focus) {\n ignoreNextEnforceFocus.current = true;\n nodeToRestore.current.focus();\n }\n nodeToRestore.current = null;\n }\n };\n // Missing `disableRestoreFocus` which is fine.\n // We don't support changing that prop on an open FocusTrap\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n const doc = ownerDocument(rootRef.current);\n const loopFocus = nativeEvent => {\n lastKeydown.current = nativeEvent;\n if (disableEnforceFocus || !isEnabled() || nativeEvent.key !== 'Tab') {\n return;\n }\n\n // Make sure the next tab starts from the right place.\n // doc.activeElement refers to the origin.\n if (doc.activeElement === rootRef.current && nativeEvent.shiftKey) {\n // We need to ignore the next contain as\n // it will try to move the focus back to the rootRef element.\n ignoreNextEnforceFocus.current = true;\n if (sentinelEnd.current) {\n sentinelEnd.current.focus();\n }\n }\n };\n const contain = () => {\n const rootElement = rootRef.current;\n\n // Cleanup functions are executed lazily in React 17.\n // Contain can be called between the component being unmounted and its cleanup function being run.\n if (rootElement === null) {\n return;\n }\n if (!doc.hasFocus() || !isEnabled() || ignoreNextEnforceFocus.current) {\n ignoreNextEnforceFocus.current = false;\n return;\n }\n\n // The focus is already inside\n if (rootElement.contains(doc.activeElement)) {\n return;\n }\n\n // The disableEnforceFocus is set and the focus is outside of the focus trap (and sentinel nodes)\n if (disableEnforceFocus && doc.activeElement !== sentinelStart.current && doc.activeElement !== sentinelEnd.current) {\n return;\n }\n\n // if the focus event is not coming from inside the children's react tree, reset the refs\n if (doc.activeElement !== reactFocusEventTarget.current) {\n reactFocusEventTarget.current = null;\n } else if (reactFocusEventTarget.current !== null) {\n return;\n }\n if (!activated.current) {\n return;\n }\n let tabbable = [];\n if (doc.activeElement === sentinelStart.current || doc.activeElement === sentinelEnd.current) {\n tabbable = getTabbable(rootRef.current);\n }\n\n // one of the sentinel nodes was focused, so move the focus\n // to the first/last tabbable element inside the focus trap\n if (tabbable.length > 0) {\n var _lastKeydown$current, _lastKeydown$current2;\n const isShiftTab = Boolean(((_lastKeydown$current = lastKeydown.current) == null ? void 0 : _lastKeydown$current.shiftKey) && ((_lastKeydown$current2 = lastKeydown.current) == null ? void 0 : _lastKeydown$current2.key) === 'Tab');\n const focusNext = tabbable[0];\n const focusPrevious = tabbable[tabbable.length - 1];\n if (typeof focusNext !== 'string' && typeof focusPrevious !== 'string') {\n if (isShiftTab) {\n focusPrevious.focus();\n } else {\n focusNext.focus();\n }\n }\n // no tabbable elements in the trap focus or the focus was outside of the focus trap\n } else {\n rootElement.focus();\n }\n };\n doc.addEventListener('focusin', contain);\n doc.addEventListener('keydown', loopFocus, true);\n\n // With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area.\n // for example https://bugzilla.mozilla.org/show_bug.cgi?id=559561.\n // Instead, we can look if the active element was restored on the BODY element.\n //\n // The whatwg spec defines how the browser should behave but does not explicitly mention any events:\n // https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule.\n const interval = setInterval(() => {\n if (doc.activeElement && doc.activeElement.tagName === 'BODY') {\n contain();\n }\n }, 50);\n return () => {\n clearInterval(interval);\n doc.removeEventListener('focusin', contain);\n doc.removeEventListener('keydown', loopFocus, true);\n };\n }, [disableAutoFocus, disableEnforceFocus, disableRestoreFocus, isEnabled, open, getTabbable]);\n const onFocus = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n activated.current = true;\n reactFocusEventTarget.current = event.target;\n const childrenPropsHandler = children.props.onFocus;\n if (childrenPropsHandler) {\n childrenPropsHandler(event);\n }\n };\n const handleFocusSentinel = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n activated.current = true;\n };\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n tabIndex: open ? 0 : -1,\n onFocus: handleFocusSentinel,\n ref: sentinelStart,\n \"data-testid\": \"sentinelStart\"\n }), /*#__PURE__*/React.cloneElement(children, {\n ref: handleRef,\n onFocus\n }), /*#__PURE__*/_jsx(\"div\", {\n tabIndex: open ? 0 : -1,\n onFocus: handleFocusSentinel,\n ref: sentinelEnd,\n \"data-testid\": \"sentinelEnd\"\n })]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? FocusTrap.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A single child content element.\n */\n children: elementAcceptingRef,\n /**\n * If `true`, the focus trap will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any focus trap children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the focus trap less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the focus trap will not prevent focus from leaving the focus trap while open.\n *\n * Generally this should never be set to `true` as it makes the focus trap less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, the focus trap will not restore focus to previously focused element once\n * focus trap is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.\n * For instance, you can provide the \"tabbable\" npm dependency.\n * @param {HTMLElement} root\n */\n getTabbable: PropTypes.func,\n /**\n * This prop extends the `open` prop.\n * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.\n * This prop should be memoized.\n * It can be used to support multiple focus trap mounted at the same time.\n * @default function defaultIsEnabled(): boolean {\n * return true;\n * }\n */\n isEnabled: PropTypes.func,\n /**\n * If `true`, focus is locked.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n FocusTrap['propTypes' + ''] = exactProp(FocusTrap.propTypes);\n}\nexport { FocusTrap };","import { unstable_ownerWindow as ownerWindow, unstable_ownerDocument as ownerDocument, unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';\n// Is a vertical scrollbar displayed?\nfunction isOverflowing(container) {\n const doc = ownerDocument(container);\n if (doc.body === container) {\n return ownerWindow(container).innerWidth > doc.documentElement.clientWidth;\n }\n return container.scrollHeight > container.clientHeight;\n}\nexport function ariaHidden(element, show) {\n if (show) {\n element.setAttribute('aria-hidden', 'true');\n } else {\n element.removeAttribute('aria-hidden');\n }\n}\nfunction getPaddingRight(element) {\n return parseInt(ownerWindow(element).getComputedStyle(element).paddingRight, 10) || 0;\n}\nfunction isAriaHiddenForbiddenOnElement(element) {\n // The forbidden HTML tags are the ones from ARIA specification that\n // can be children of body and can't have aria-hidden attribute.\n // cf. https://www.w3.org/TR/html-aria/#docconformance\n const forbiddenTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE', 'LINK', 'MAP', 'META', 'NOSCRIPT', 'PICTURE', 'COL', 'COLGROUP', 'PARAM', 'SLOT', 'SOURCE', 'TRACK'];\n const isForbiddenTagName = forbiddenTagNames.indexOf(element.tagName) !== -1;\n const isInputHidden = element.tagName === 'INPUT' && element.getAttribute('type') === 'hidden';\n return isForbiddenTagName || isInputHidden;\n}\nfunction ariaHiddenSiblings(container, mountElement, currentElement, elementsToExclude, show) {\n const blacklist = [mountElement, currentElement, ...elementsToExclude];\n [].forEach.call(container.children, element => {\n const isNotExcludedElement = blacklist.indexOf(element) === -1;\n const isNotForbiddenElement = !isAriaHiddenForbiddenOnElement(element);\n if (isNotExcludedElement && isNotForbiddenElement) {\n ariaHidden(element, show);\n }\n });\n}\nfunction findIndexOf(items, callback) {\n let idx = -1;\n items.some((item, index) => {\n if (callback(item)) {\n idx = index;\n return true;\n }\n return false;\n });\n return idx;\n}\nfunction handleContainer(containerInfo, props) {\n const restoreStyle = [];\n const container = containerInfo.container;\n if (!props.disableScrollLock) {\n if (isOverflowing(container)) {\n // Compute the size before applying overflow hidden to avoid any scroll jumps.\n const scrollbarSize = getScrollbarSize(ownerDocument(container));\n restoreStyle.push({\n value: container.style.paddingRight,\n property: 'padding-right',\n el: container\n });\n // Use computed style, here to get the real padding to add our scrollbar width.\n container.style.paddingRight = `${getPaddingRight(container) + scrollbarSize}px`;\n\n // .mui-fixed is a global helper.\n const fixedElements = ownerDocument(container).querySelectorAll('.mui-fixed');\n [].forEach.call(fixedElements, element => {\n restoreStyle.push({\n value: element.style.paddingRight,\n property: 'padding-right',\n el: element\n });\n element.style.paddingRight = `${getPaddingRight(element) + scrollbarSize}px`;\n });\n }\n let scrollContainer;\n if (container.parentNode instanceof DocumentFragment) {\n scrollContainer = ownerDocument(container).body;\n } else {\n // Support html overflow-y: auto for scroll stability between pages\n // https://css-tricks.com/snippets/css/force-vertical-scrollbar/\n const parent = container.parentElement;\n const containerWindow = ownerWindow(container);\n scrollContainer = (parent == null ? void 0 : parent.nodeName) === 'HTML' && containerWindow.getComputedStyle(parent).overflowY === 'scroll' ? parent : container;\n }\n\n // Block the scroll even if no scrollbar is visible to account for mobile keyboard\n // screensize shrink.\n restoreStyle.push({\n value: scrollContainer.style.overflow,\n property: 'overflow',\n el: scrollContainer\n }, {\n value: scrollContainer.style.overflowX,\n property: 'overflow-x',\n el: scrollContainer\n }, {\n value: scrollContainer.style.overflowY,\n property: 'overflow-y',\n el: scrollContainer\n });\n scrollContainer.style.overflow = 'hidden';\n }\n const restore = () => {\n restoreStyle.forEach(({\n value,\n el,\n property\n }) => {\n if (value) {\n el.style.setProperty(property, value);\n } else {\n el.style.removeProperty(property);\n }\n });\n };\n return restore;\n}\nfunction getHiddenSiblings(container) {\n const hiddenSiblings = [];\n [].forEach.call(container.children, element => {\n if (element.getAttribute('aria-hidden') === 'true') {\n hiddenSiblings.push(element);\n }\n });\n return hiddenSiblings;\n}\n/**\n * @ignore - do not document.\n *\n * Proper state management for containers and the modals in those containers.\n * Simplified, but inspired by react-overlay's ModalManager class.\n * Used by the Modal to ensure proper styling of containers.\n */\nexport class ModalManager {\n constructor() {\n this.containers = void 0;\n this.modals = void 0;\n this.modals = [];\n this.containers = [];\n }\n add(modal, container) {\n let modalIndex = this.modals.indexOf(modal);\n if (modalIndex !== -1) {\n return modalIndex;\n }\n modalIndex = this.modals.length;\n this.modals.push(modal);\n\n // If the modal we are adding is already in the DOM.\n if (modal.modalRef) {\n ariaHidden(modal.modalRef, false);\n }\n const hiddenSiblings = getHiddenSiblings(container);\n ariaHiddenSiblings(container, modal.mount, modal.modalRef, hiddenSiblings, true);\n const containerIndex = findIndexOf(this.containers, item => item.container === container);\n if (containerIndex !== -1) {\n this.containers[containerIndex].modals.push(modal);\n return modalIndex;\n }\n this.containers.push({\n modals: [modal],\n container,\n restore: null,\n hiddenSiblings\n });\n return modalIndex;\n }\n mount(modal, props) {\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n if (!containerInfo.restore) {\n containerInfo.restore = handleContainer(containerInfo, props);\n }\n }\n remove(modal, ariaHiddenState = true) {\n const modalIndex = this.modals.indexOf(modal);\n if (modalIndex === -1) {\n return modalIndex;\n }\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1);\n this.modals.splice(modalIndex, 1);\n\n // If that was the last modal in a container, clean up the container.\n if (containerInfo.modals.length === 0) {\n // The modal might be closed before it had the chance to be mounted in the DOM.\n if (containerInfo.restore) {\n containerInfo.restore();\n }\n if (modal.modalRef) {\n // In case the modal wasn't in the DOM yet.\n ariaHidden(modal.modalRef, ariaHiddenState);\n }\n ariaHiddenSiblings(containerInfo.container, modal.mount, modal.modalRef, containerInfo.hiddenSiblings, false);\n this.containers.splice(containerIndex, 1);\n } else {\n // Otherwise make sure the next top modal is visible to a screen reader.\n const nextTop = containerInfo.modals[containerInfo.modals.length - 1];\n // as soon as a modal is adding its modalRef is undefined. it can't set\n // aria-hidden because the dom element doesn't exist either\n // when modal was unmounted before modalRef gets null\n if (nextTop.modalRef) {\n ariaHidden(nextTop.modalRef, false);\n }\n }\n return modalIndex;\n }\n isTopModal(modal) {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n}","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"components\", \"componentsProps\", \"invisible\", \"open\", \"slotProps\", \"slots\", \"TransitionComponent\", \"transitionDuration\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Fade from '../Fade';\nimport { getBackdropUtilityClass } from './backdropClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n invisible\n } = ownerState;\n const slots = {\n root: ['root', invisible && 'invisible']\n };\n return composeClasses(slots, getBackdropUtilityClass, classes);\n};\nconst BackdropRoot = styled('div', {\n name: 'MuiBackdrop',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.invisible && styles.invisible];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'fixed',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n right: 0,\n bottom: 0,\n top: 0,\n left: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n WebkitTapHighlightColor: 'transparent'\n}, ownerState.invisible && {\n backgroundColor: 'transparent'\n}));\nconst Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {\n var _slotProps$root, _ref, _slots$root;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiBackdrop'\n });\n const {\n children,\n className,\n component = 'div',\n components = {},\n componentsProps = {},\n invisible = false,\n open,\n slotProps = {},\n slots = {},\n TransitionComponent = Fade,\n transitionDuration\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n invisible\n });\n const classes = useUtilityClasses(ownerState);\n const rootSlotProps = (_slotProps$root = slotProps.root) != null ? _slotProps$root : componentsProps.root;\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n timeout: transitionDuration\n }, other, {\n children: /*#__PURE__*/_jsx(BackdropRoot, _extends({\n \"aria-hidden\": true\n }, rootSlotProps, {\n as: (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : component,\n className: clsx(classes.root, className, rootSlotProps == null ? void 0 : rootSlotProps.className),\n ownerState: _extends({}, ownerState, rootSlotProps == null ? void 0 : rootSlotProps.ownerState),\n classes: classes,\n ref: ref,\n children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Backdrop.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * If `true`, the backdrop is invisible.\n * It can be used when rendering a popover or a custom select component.\n * @default false\n */\n invisible: PropTypes.bool,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Fade\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Backdrop;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getBackdropUtilityClass(slot) {\n return generateUtilityClass('MuiBackdrop', slot);\n}\nconst backdropClasses = generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);\nexport default backdropClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n entering: {\n opacity: 1\n },\n entered: {\n opacity: 1\n }\n};\n\n/**\n * The Fade transition is used by the [Modal](/material-ui/react-modal/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {\n const theme = useTheme();\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const enableStrictModeCompat = true;\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, children.ref, ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('opacity', transitionProps);\n node.style.transition = theme.transitions.create('opacity', transitionProps);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('opacity', transitionProps);\n node.style.transition = theme.transitions.create('opacity', transitionProps);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: appear,\n in: inProp,\n nodeRef: enableStrictModeCompat ? nodeRef : undefined,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Fade.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Fade;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_ownerDocument as ownerDocument, unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback, unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nimport { extractEventHandlers } from '../utils';\nimport { ModalManager, ariaHidden } from './ModalManager';\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\nfunction getHasTransition(children) {\n return children ? children.props.hasOwnProperty('in') : false;\n}\n\n// A modal manager used to track and manage the state of open Modals.\n// Modals don't open on the server so this won't conflict with concurrent requests.\nconst defaultManager = new ModalManager();\n/**\n *\n * Demos:\n *\n * - [Modal](https://mui.com/base-ui/react-modal/#hook)\n *\n * API:\n *\n * - [useModal API](https://mui.com/base-ui/react-modal/hooks-api/#use-modal)\n */\nexport function useModal(parameters) {\n const {\n container,\n disableEscapeKeyDown = false,\n disableScrollLock = false,\n // @ts-ignore internal logic - Base UI supports the manager as a prop too\n manager = defaultManager,\n closeAfterTransition = false,\n onTransitionEnter,\n onTransitionExited,\n children,\n onClose,\n open,\n rootRef\n } = parameters;\n\n // @ts-ignore internal logic\n const modal = React.useRef({});\n const mountNodeRef = React.useRef(null);\n const modalRef = React.useRef(null);\n const handleRef = useForkRef(modalRef, rootRef);\n const [exited, setExited] = React.useState(!open);\n const hasTransition = getHasTransition(children);\n let ariaHiddenProp = true;\n if (parameters['aria-hidden'] === 'false' || parameters['aria-hidden'] === false) {\n ariaHiddenProp = false;\n }\n const getDoc = () => ownerDocument(mountNodeRef.current);\n const getModal = () => {\n modal.current.modalRef = modalRef.current;\n modal.current.mount = mountNodeRef.current;\n return modal.current;\n };\n const handleMounted = () => {\n manager.mount(getModal(), {\n disableScrollLock\n });\n\n // Fix a bug on Chrome where the scroll isn't initially 0.\n if (modalRef.current) {\n modalRef.current.scrollTop = 0;\n }\n };\n const handleOpen = useEventCallback(() => {\n const resolvedContainer = getContainer(container) || getDoc().body;\n manager.add(getModal(), resolvedContainer);\n\n // The element was already mounted.\n if (modalRef.current) {\n handleMounted();\n }\n });\n const isTopModal = React.useCallback(() => manager.isTopModal(getModal()), [manager]);\n const handlePortalRef = useEventCallback(node => {\n mountNodeRef.current = node;\n if (!node) {\n return;\n }\n if (open && isTopModal()) {\n handleMounted();\n } else if (modalRef.current) {\n ariaHidden(modalRef.current, ariaHiddenProp);\n }\n });\n const handleClose = React.useCallback(() => {\n manager.remove(getModal(), ariaHiddenProp);\n }, [ariaHiddenProp, manager]);\n React.useEffect(() => {\n return () => {\n handleClose();\n };\n }, [handleClose]);\n React.useEffect(() => {\n if (open) {\n handleOpen();\n } else if (!hasTransition || !closeAfterTransition) {\n handleClose();\n }\n }, [open, handleClose, hasTransition, closeAfterTransition, handleOpen]);\n const createHandleKeyDown = otherHandlers => event => {\n var _otherHandlers$onKeyD;\n (_otherHandlers$onKeyD = otherHandlers.onKeyDown) == null || _otherHandlers$onKeyD.call(otherHandlers, event);\n\n // The handler doesn't take event.defaultPrevented into account:\n //\n // event.preventDefault() is meant to stop default behaviors like\n // clicking a checkbox to check it, hitting a button to submit a form,\n // and hitting left arrow to move the cursor in a text input etc.\n // Only special HTML elements have these default behaviors.\n if (event.key !== 'Escape' || event.which === 229 ||\n // Wait until IME is settled.\n !isTopModal()) {\n return;\n }\n if (!disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n if (onClose) {\n onClose(event, 'escapeKeyDown');\n }\n }\n };\n const createHandleBackdropClick = otherHandlers => event => {\n var _otherHandlers$onClic;\n (_otherHandlers$onClic = otherHandlers.onClick) == null || _otherHandlers$onClic.call(otherHandlers, event);\n if (event.target !== event.currentTarget) {\n return;\n }\n if (onClose) {\n onClose(event, 'backdropClick');\n }\n };\n const getRootProps = (otherHandlers = {}) => {\n const propsEventHandlers = extractEventHandlers(parameters);\n\n // The custom event handlers shouldn't be spread on the root element\n delete propsEventHandlers.onTransitionEnter;\n delete propsEventHandlers.onTransitionExited;\n const externalEventHandlers = _extends({}, propsEventHandlers, otherHandlers);\n return _extends({\n role: 'presentation'\n }, externalEventHandlers, {\n onKeyDown: createHandleKeyDown(externalEventHandlers),\n ref: handleRef\n });\n };\n const getBackdropProps = (otherHandlers = {}) => {\n const externalEventHandlers = otherHandlers;\n return _extends({\n 'aria-hidden': true\n }, externalEventHandlers, {\n onClick: createHandleBackdropClick(externalEventHandlers),\n open\n });\n };\n const getTransitionProps = () => {\n const handleEnter = () => {\n setExited(false);\n if (onTransitionEnter) {\n onTransitionEnter();\n }\n };\n const handleExited = () => {\n setExited(true);\n if (onTransitionExited) {\n onTransitionExited();\n }\n if (closeAfterTransition) {\n handleClose();\n }\n };\n return {\n onEnter: createChainedFunction(handleEnter, children == null ? void 0 : children.props.onEnter),\n onExited: createChainedFunction(handleExited, children == null ? void 0 : children.props.onExited)\n };\n };\n return {\n getRootProps,\n getBackdropProps,\n getTransitionProps,\n rootRef: handleRef,\n portalRef: handlePortalRef,\n isTopModal,\n exited,\n hasTransition\n };\n}","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropComponent\", \"BackdropProps\", \"classes\", \"className\", \"closeAfterTransition\", \"children\", \"container\", \"component\", \"components\", \"componentsProps\", \"disableAutoFocus\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disablePortal\", \"disableRestoreFocus\", \"disableScrollLock\", \"hideBackdrop\", \"keepMounted\", \"onBackdropClick\", \"onClose\", \"onTransitionEnter\", \"onTransitionExited\", \"open\", \"slotProps\", \"slots\", \"theme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport { useSlotProps } from '@mui/base/utils';\nimport { unstable_useModal as useModal } from '@mui/base/unstable_useModal';\nimport composeClasses from '@mui/utils/composeClasses';\nimport FocusTrap from '../Unstable_TrapFocus';\nimport Portal from '../Portal';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Backdrop from '../Backdrop';\nimport { getModalUtilityClass } from './modalClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n open,\n exited,\n classes\n } = ownerState;\n const slots = {\n root: ['root', !open && exited && 'hidden'],\n backdrop: ['backdrop']\n };\n return composeClasses(slots, getModalUtilityClass, classes);\n};\nconst ModalRoot = styled('div', {\n name: 'MuiModal',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.open && ownerState.exited && styles.hidden];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'fixed',\n zIndex: (theme.vars || theme).zIndex.modal,\n right: 0,\n bottom: 0,\n top: 0,\n left: 0\n}, !ownerState.open && ownerState.exited && {\n visibility: 'hidden'\n}));\nconst ModalBackdrop = styled(Backdrop, {\n name: 'MuiModal',\n slot: 'Backdrop',\n overridesResolver: (props, styles) => {\n return styles.backdrop;\n }\n})({\n zIndex: -1\n});\n\n/**\n * Modal is a lower-level construct that is leveraged by the following components:\n *\n * - [Dialog](/material-ui/api/dialog/)\n * - [Drawer](/material-ui/api/drawer/)\n * - [Menu](/material-ui/api/menu/)\n * - [Popover](/material-ui/api/popover/)\n *\n * If you are creating a modal dialog, you probably want to use the [Dialog](/material-ui/api/dialog/) component\n * rather than directly using Modal.\n *\n * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals).\n */\nconst Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$backdrop, _slotProps$root, _slotProps$backdrop;\n const props = useThemeProps({\n name: 'MuiModal',\n props: inProps\n });\n const {\n BackdropComponent = ModalBackdrop,\n BackdropProps,\n className,\n closeAfterTransition = false,\n children,\n container,\n component,\n components = {},\n componentsProps = {},\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableEscapeKeyDown = false,\n disablePortal = false,\n disableRestoreFocus = false,\n disableScrollLock = false,\n hideBackdrop = false,\n keepMounted = false,\n onBackdropClick,\n open,\n slotProps,\n slots\n // eslint-disable-next-line react/prop-types\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const propsWithDefaults = _extends({}, props, {\n closeAfterTransition,\n disableAutoFocus,\n disableEnforceFocus,\n disableEscapeKeyDown,\n disablePortal,\n disableRestoreFocus,\n disableScrollLock,\n hideBackdrop,\n keepMounted\n });\n const {\n getRootProps,\n getBackdropProps,\n getTransitionProps,\n portalRef,\n isTopModal,\n exited,\n hasTransition\n } = useModal(_extends({}, propsWithDefaults, {\n rootRef: ref\n }));\n const ownerState = _extends({}, propsWithDefaults, {\n exited\n });\n const classes = useUtilityClasses(ownerState);\n const childProps = {};\n if (children.props.tabIndex === undefined) {\n childProps.tabIndex = '-1';\n }\n\n // It's a Transition like component\n if (hasTransition) {\n const {\n onEnter,\n onExited\n } = getTransitionProps();\n childProps.onEnter = onEnter;\n childProps.onExited = onExited;\n }\n const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : ModalRoot;\n const BackdropSlot = (_ref2 = (_slots$backdrop = slots == null ? void 0 : slots.backdrop) != null ? _slots$backdrop : components.Backdrop) != null ? _ref2 : BackdropComponent;\n const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;\n const backdropSlotProps = (_slotProps$backdrop = slotProps == null ? void 0 : slotProps.backdrop) != null ? _slotProps$backdrop : componentsProps.backdrop;\n const rootProps = useSlotProps({\n elementType: RootSlot,\n externalSlotProps: rootSlotProps,\n externalForwardedProps: other,\n getSlotProps: getRootProps,\n additionalProps: {\n ref,\n as: component\n },\n ownerState,\n className: clsx(className, rootSlotProps == null ? void 0 : rootSlotProps.className, classes == null ? void 0 : classes.root, !ownerState.open && ownerState.exited && (classes == null ? void 0 : classes.hidden))\n });\n const backdropProps = useSlotProps({\n elementType: BackdropSlot,\n externalSlotProps: backdropSlotProps,\n additionalProps: BackdropProps,\n getSlotProps: otherHandlers => {\n return getBackdropProps(_extends({}, otherHandlers, {\n onClick: e => {\n if (onBackdropClick) {\n onBackdropClick(e);\n }\n if (otherHandlers != null && otherHandlers.onClick) {\n otherHandlers.onClick(e);\n }\n }\n }));\n },\n className: clsx(backdropSlotProps == null ? void 0 : backdropSlotProps.className, BackdropProps == null ? void 0 : BackdropProps.className, classes == null ? void 0 : classes.backdrop),\n ownerState\n });\n if (!keepMounted && !open && (!hasTransition || exited)) {\n return null;\n }\n return /*#__PURE__*/_jsx(Portal, {\n ref: portalRef,\n container: container,\n disablePortal: disablePortal,\n children: /*#__PURE__*/_jsxs(RootSlot, _extends({}, rootProps, {\n children: [!hideBackdrop && BackdropComponent ? /*#__PURE__*/_jsx(BackdropSlot, _extends({}, backdropProps)) : null, /*#__PURE__*/_jsx(FocusTrap, {\n disableEnforceFocus: disableEnforceFocus,\n disableAutoFocus: disableAutoFocus,\n disableRestoreFocus: disableRestoreFocus,\n isEnabled: isTopModal,\n open: open,\n children: /*#__PURE__*/React.cloneElement(children, childProps)\n })]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Modal.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.\n * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.\n * @default styled(Backdrop, {\n * name: 'MuiModal',\n * slot: 'Backdrop',\n * overridesResolver: (props, styles) => {\n * return styles.backdrop;\n * },\n * })({\n * zIndex: -1,\n * })\n */\n BackdropComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.\n * @deprecated Use `slotProps.backdrop` instead.\n */\n BackdropProps: PropTypes.object,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * When set to true the Modal waits until a nested Transition is completed before closing.\n * @default false\n */\n closeAfterTransition: PropTypes.bool,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Backdrop: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true`, the modal will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any modal children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the modal will not prevent focus from leaving the modal while open.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * If `true`, the modal will not restore focus to previously focused element once\n * modal is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Modal.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Callback fired when the backdrop is clicked.\n * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.\n */\n onBackdropClick: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * A function called when a transition enters.\n */\n onTransitionEnter: PropTypes.func,\n /**\n * A function called when a transition has exited.\n */\n onTransitionExited: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The props used for each slot inside the Modal.\n * @default {}\n */\n slotProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Modal.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n backdrop: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Modal;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getModalUtilityClass(slot) {\n return generateUtilityClass('MuiModal', slot);\n}\nconst modalClasses = generateUtilityClasses('MuiModal', ['root', 'hidden', 'backdrop']);\nexport default modalClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"elevation\", \"square\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport getOverlayAlpha from '../styles/getOverlayAlpha';\nimport useThemeProps from '../styles/useThemeProps';\nimport useTheme from '../styles/useTheme';\nimport { getPaperUtilityClass } from './paperClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n square,\n elevation,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, !square && 'rounded', variant === 'elevation' && `elevation${elevation}`]\n };\n return composeClasses(slots, getPaperUtilityClass, classes);\n};\nconst PaperRoot = styled('div', {\n name: 'MuiPaper',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], !ownerState.square && styles.rounded, ownerState.variant === 'elevation' && styles[`elevation${ownerState.elevation}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$vars$overlays;\n return _extends({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n color: (theme.vars || theme).palette.text.primary,\n transition: theme.transitions.create('box-shadow')\n }, !ownerState.square && {\n borderRadius: theme.shape.borderRadius\n }, ownerState.variant === 'outlined' && {\n border: `1px solid ${(theme.vars || theme).palette.divider}`\n }, ownerState.variant === 'elevation' && _extends({\n boxShadow: (theme.vars || theme).shadows[ownerState.elevation]\n }, !theme.vars && theme.palette.mode === 'dark' && {\n backgroundImage: `linear-gradient(${alpha('#fff', getOverlayAlpha(ownerState.elevation))}, ${alpha('#fff', getOverlayAlpha(ownerState.elevation))})`\n }, theme.vars && {\n backgroundImage: (_theme$vars$overlays = theme.vars.overlays) == null ? void 0 : _theme$vars$overlays[ownerState.elevation]\n }));\n});\nconst Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPaper'\n });\n const {\n className,\n component = 'div',\n elevation = 1,\n square = false,\n variant = 'elevation'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n elevation,\n square,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const theme = useTheme();\n if (theme.shadows[elevation] === undefined) {\n console.error([`MUI: The elevation provided is not available in the theme.`, `Please make sure that \\`theme.shadows[${elevation}]\\` is defined.`].join('\\n'));\n }\n }\n return /*#__PURE__*/_jsx(PaperRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Paper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It accepts values between 0 and 24 inclusive.\n * @default 1\n */\n elevation: chainPropTypes(integerPropType, props => {\n const {\n elevation,\n variant\n } = props;\n if (elevation > 0 && variant === 'outlined') {\n return new Error(`MUI: Combining \\`elevation={${elevation}}\\` with \\`variant=\"${variant}\"\\` has no effect. Either use \\`elevation={0}\\` or use a different \\`variant\\`.`);\n }\n return null;\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'elevation'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['elevation', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Paper;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaperUtilityClass(slot) {\n return generateUtilityClass('MuiPaper', slot);\n}\nconst paperClasses = generateUtilityClasses('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);\nexport default paperClasses;","// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61\nconst getOverlayAlpha = elevation => {\n let alphaValue;\n if (elevation < 1) {\n alphaValue = 5.11916 * elevation ** 2;\n } else {\n alphaValue = 4.5 * Math.log(elevation + 1) + 2;\n }\n return (alphaValue / 100).toFixed(2);\n};\nexport default getOverlayAlpha;","// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18\nexport default function getScrollbarSize(doc) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = doc.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n}"],"names":["candidatesSelector","join","defaultGetTabbable","root","regularTabNodes","orderedTabNodes","Array","from","querySelectorAll","forEach","node","i","nodeTabIndex","tabindexAttr","parseInt","getAttribute","Number","isNaN","contentEditable","nodeName","tabIndex","getTabIndex","disabled","tagName","type","name","getRadio","selector","ownerDocument","querySelector","roving","isNonTabbableRadio","isNodeMatchingSelectorFocusable","push","documentOrder","sort","a","b","map","concat","defaultIsEnabled","FocusTrap","props","children","disableAutoFocus","disableEnforceFocus","disableRestoreFocus","getTabbable","isEnabled","open","ignoreNextEnforceFocus","sentinelStart","sentinelEnd","nodeToRestore","reactFocusEventTarget","activated","rootRef","handleRef","ref","lastKeydown","current","doc","contains","activeElement","hasAttribute","setAttribute","focus","loopFocus","nativeEvent","key","shiftKey","contain","rootElement","hasFocus","tabbable","length","_lastKeydown$current","_lastKeydown$current2","isShiftTab","Boolean","focusNext","focusPrevious","addEventListener","interval","setInterval","clearInterval","removeEventListener","handleFocusSentinel","event","relatedTarget","onFocus","target","childrenPropsHandler","ariaHidden","element","show","removeAttribute","getPaddingRight","getComputedStyle","paddingRight","ariaHiddenSiblings","container","mountElement","currentElement","elementsToExclude","blacklist","call","isNotExcludedElement","indexOf","isNotForbiddenElement","isForbiddenTagName","isInputHidden","isAriaHiddenForbiddenOnElement","findIndexOf","items","callback","idx","some","item","index","ModalManager","constructor","this","containers","modals","add","modal","modalIndex","modalRef","hiddenSiblings","getHiddenSiblings","mount","containerIndex","restore","containerInfo","restoreStyle","disableScrollLock","body","innerWidth","documentElement","clientWidth","scrollHeight","clientHeight","isOverflowing","scrollbarSize","value","style","property","el","fixedElements","scrollContainer","parentNode","DocumentFragment","parent","parentElement","containerWindow","overflowY","overflow","overflowX","setProperty","removeProperty","handleContainer","remove","ariaHiddenState","splice","nextTop","isTopModal","_excluded","BackdropRoot","slot","overridesResolver","styles","ownerState","invisible","position","display","alignItems","justifyContent","right","bottom","top","left","backgroundColor","WebkitTapHighlightColor","inProps","_slotProps$root","_ref","_slots$root","className","component","components","componentsProps","slotProps","slots","TransitionComponent","transitionDuration","other","classes","useUtilityClasses","rootSlotProps","in","timeout","as","Root","getBackdropUtilityClass","entering","opacity","entered","theme","defaultTimeout","enter","transitions","duration","enteringScreen","exit","leavingScreen","addEndListener","appear","easing","inProp","onEnter","onEntered","onEntering","onExit","onExited","onExiting","nodeRef","normalizedTransitionCallback","maybeIsAppearing","undefined","handleEntering","handleEnter","isAppearing","transitionProps","mode","webkitTransition","create","transition","handleEntered","handleExiting","handleExit","handleExited","next","state","childProps","visibility","defaultManager","ModalRoot","styled","exited","hidden","zIndex","vars","ModalBackdrop","Backdrop","backdrop","_ref2","_slots$backdrop","_slotProps$backdrop","useThemeProps","BackdropComponent","BackdropProps","closeAfterTransition","disableEscapeKeyDown","disablePortal","hideBackdrop","keepMounted","onBackdropClick","propsWithDefaults","getRootProps","getBackdropProps","getTransitionProps","portalRef","hasTransition","parameters","manager","onTransitionEnter","onTransitionExited","onClose","mountNodeRef","useForkRef","setExited","hasOwnProperty","getHasTransition","ariaHiddenProp","getModal","handleMounted","scrollTop","handleOpen","useEventCallback","resolvedContainer","getContainer","handlePortalRef","handleClose","createHandleKeyDown","otherHandlers","_otherHandlers$onKeyD","onKeyDown","which","stopPropagation","createHandleBackdropClick","_otherHandlers$onClic","onClick","currentTarget","propsEventHandlers","extractEventHandlers","externalEventHandlers","role","createChainedFunction","useModal","composeClasses","RootSlot","BackdropSlot","backdropSlotProps","rootProps","useSlotProps","elementType","externalSlotProps","externalForwardedProps","getSlotProps","additionalProps","clsx","backdropProps","e","Portal","getModalUtilityClass","PaperRoot","variant","square","rounded","elevation","_theme$vars$overlays","palette","background","paper","color","text","primary","borderRadius","shape","border","divider","boxShadow","shadows","backgroundImage","overlays","getPaperUtilityClass","alphaValue","Math","log","toFixed","getScrollbarSize","documentWidth","abs","window"],"sourceRoot":""}