{"version":3,"file":"js/8497-11dcdb19b7a22f14c736.js","mappings":"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","sources":["webpack://app/./node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/base/TrapFocus/TrapFocus.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/material/Backdrop/backdropClasses.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/material/Backdrop/Backdrop.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/material/Fade/Fade.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/base/ModalUnstyled/ModalManager.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/base/ModalUnstyled/modalUnstyledClasses.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/base/ModalUnstyled/ModalUnstyled.js","webpack://app/./node_modules/@platform-ui/design-system/node_modules/@mui/material/Modal/Modal.js"],"sourcesContent":["// 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}","/* 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'; // Inspired by https://github.com/focus-trap/tabbable\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'].join(',');\n\nfunction getTabIndex(node) {\n const tabindexAttr = parseInt(node.getAttribute('tabindex'), 10);\n\n if (!Number.isNaN(tabindexAttr)) {\n return tabindexAttr;\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\n\n if (node.contentEditable === 'true' || (node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) {\n return 0;\n }\n\n return node.tabIndex;\n}\n\nfunction isNonTabbableRadio(node) {\n if (node.tagName !== 'INPUT' || node.type !== 'radio') {\n return false;\n }\n\n if (!node.name) {\n return false;\n }\n\n const getRadio = selector => node.ownerDocument.querySelector(`input[type=\"radio\"]${selector}`);\n\n let roving = getRadio(`[name=\"${node.name}\"]:checked`);\n\n if (!roving) {\n roving = getRadio(`[name=\"${node.name}\"]`);\n }\n\n return roving !== node;\n}\n\nfunction isNodeMatchingSelectorFocusable(node) {\n if (node.disabled || node.tagName === 'INPUT' && node.type === 'hidden' || isNonTabbableRadio(node)) {\n return false;\n }\n\n return true;\n}\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\n if (nodeTabIndex === -1 || !isNodeMatchingSelectorFocusable(node)) {\n return;\n }\n\n if (nodeTabIndex === 0) {\n regularTabNodes.push(node);\n } else {\n orderedTabNodes.push({\n documentOrder: i,\n tabIndex: nodeTabIndex,\n 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}\n\nfunction defaultIsEnabled() {\n return true;\n}\n/**\n * Utility component that locks focus inside the component.\n */\n\n\nfunction TrapFocus(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();\n const sentinelStart = React.useRef(null);\n const sentinelEnd = React.useRef(null);\n const nodeToRestore = React.useRef(null);\n const reactFocusEventTarget = React.useRef(null); // This variable is useful when disableAutoFocus is true.\n // It waits for the active element to move into the component to activate.\n\n const activated = React.useRef(false);\n const rootRef = React.useRef(null);\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\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\n const doc = ownerDocument(rootRef.current);\n\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\n rootRef.current.setAttribute('tabIndex', -1);\n }\n\n if (activated.current) {\n rootRef.current.focus();\n }\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\n nodeToRestore.current = null;\n }\n }; // Missing `disableRestoreFocus` which is fine.\n // We don't support changing that prop on an open TrapFocus\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\n const doc = ownerDocument(rootRef.current);\n\n const contain = nativeEvent => {\n const {\n current: rootElement\n } = rootRef; // 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\n if (rootElement === null) {\n return;\n }\n\n if (!doc.hasFocus() || disableEnforceFocus || !isEnabled() || ignoreNextEnforceFocus.current) {\n ignoreNextEnforceFocus.current = false;\n return;\n }\n\n if (!rootElement.contains(doc.activeElement)) {\n // if the focus event is not coming from inside the children's react tree, reset the refs\n if (nativeEvent && reactFocusEventTarget.current !== nativeEvent.target || doc.activeElement !== reactFocusEventTarget.current) {\n reactFocusEventTarget.current = null;\n } else if (reactFocusEventTarget.current !== null) {\n return;\n }\n\n if (!activated.current) {\n return;\n }\n\n let tabbable = [];\n\n if (doc.activeElement === sentinelStart.current || doc.activeElement === sentinelEnd.current) {\n tabbable = getTabbable(rootRef.current);\n }\n\n if (tabbable.length > 0) {\n var _lastKeydown$current, _lastKeydown$current2;\n\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\n if (isShiftTab) {\n focusPrevious.focus();\n } else {\n focusNext.focus();\n }\n } else {\n rootElement.focus();\n }\n }\n };\n\n const loopFocus = nativeEvent => {\n lastKeydown.current = nativeEvent;\n\n if (disableEnforceFocus || !isEnabled() || nativeEvent.key !== 'Tab') {\n return;\n } // Make sure the next tab starts from the right place.\n // doc.activeElement referes to the origin.\n\n\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 sentinelEnd.current.focus();\n }\n };\n\n doc.addEventListener('focusin', contain);\n doc.addEventListener('keydown', loopFocus, true); // With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area.\n // e.g. 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\n const interval = setInterval(() => {\n if (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\n const onFocus = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n\n activated.current = true;\n reactFocusEventTarget.current = event.target;\n const childrenPropsHandler = children.props.onFocus;\n\n if (childrenPropsHandler) {\n childrenPropsHandler(event);\n }\n };\n\n const handleFocusSentinel = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n\n activated.current = true;\n };\n\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n tabIndex: 0,\n onFocus: handleFocusSentinel,\n ref: sentinelStart,\n \"data-test\": \"sentinelStart\"\n }), /*#__PURE__*/React.cloneElement(children, {\n ref: handleRef,\n onFocus\n }), /*#__PURE__*/_jsx(\"div\", {\n tabIndex: 0,\n onFocus: handleFocusSentinel,\n ref: sentinelEnd,\n \"data-test\": \"sentinelEnd\"\n })]\n });\n}\n\nprocess.env.NODE_ENV !== \"production\" ? TrapFocus.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A single child content element.\n */\n children: elementAcceptingRef,\n\n /**\n * If `true`, the trap focus 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 trap focus children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the trap focus less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n\n /**\n * If `true`, the trap focus will not prevent focus from leaving the trap focus while open.\n *\n * Generally this should never be set to `true` as it makes the trap focus less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n\n /**\n * If `true`, the trap focus will not restore focus to previously focused element once\n * trap focus is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n\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 /**\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 trap focus mounted at the same time.\n * @default function defaultIsEnabled() {\n * return true;\n * }\n */\n isEnabled: PropTypes.func,\n\n /**\n * If `true`, focus is locked.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n TrapFocus['propTypes' + ''] = exactProp(TrapFocus.propTypes);\n}\n\nexport default TrapFocus;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getBackdropUtilityClass(slot) {\n return generateUtilityClass('MuiBackdrop', slot);\n}\nconst backdropClasses = generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);\nexport default backdropClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"component\", \"components\", \"componentsProps\", \"className\", \"invisible\", \"open\", \"transitionDuration\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\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\";\n\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};\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 _components$Root, _componentsProps$root;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiBackdrop'\n });\n\n const {\n children,\n component = 'div',\n components = {},\n componentsProps = {},\n className,\n invisible = false,\n open,\n transitionDuration,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Fade\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n component,\n invisible\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n timeout: transitionDuration\n }, other, {\n children: /*#__PURE__*/_jsx(BackdropRoot, {\n \"aria-hidden\": true,\n as: (_components$Root = components.Root) != null ? _components$Root : component,\n className: clsx(classes.root, className),\n ownerState: _extends({}, ownerState, (_componentsProps$root = componentsProps.root) == null ? void 0 : _componentsProps$root.ownerState),\n classes: classes,\n ref: ref,\n children: children\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Backdrop.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\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 /**\n * The components used for each slot inside the Backdrop.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n\n /**\n * The props used for each slot inside the Backdrop.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\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 /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\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 /**\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 _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';\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 * 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 */\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\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\n const enableStrictModeCompat = true;\n const nodeRef = React.useRef(null);\n const foreignRef = useForkRef(children.ref, ref);\n const handleRef = useForkRef(nodeRef, foreignRef);\n\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current; // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\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\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\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n\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\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\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\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 /**\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 /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n\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 /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n\n /**\n * @ignore\n */\n style: PropTypes.object,\n\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;","import { unstable_ownerWindow as ownerWindow, unstable_ownerDocument as ownerDocument, unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';\n\n// Is a vertical scrollbar displayed?\nfunction isOverflowing(container) {\n const doc = ownerDocument(container);\n\n if (doc.body === container) {\n return ownerWindow(container).innerWidth > doc.documentElement.clientWidth;\n }\n\n return container.scrollHeight > container.clientHeight;\n}\n\nexport function ariaHidden(element, show) {\n if (show) {\n element.setAttribute('aria-hidden', 'true');\n } else {\n element.removeAttribute('aria-hidden');\n }\n}\n\nfunction getPaddingRight(element) {\n return parseInt(ownerWindow(element).getComputedStyle(element).paddingRight, 10) || 0;\n}\n\nfunction ariaHiddenSiblings(container, mountElement, currentElement, elementsToExclude = [], show) {\n const blacklist = [mountElement, currentElement, ...elementsToExclude];\n const blacklistTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE'];\n [].forEach.call(container.children, element => {\n if (blacklist.indexOf(element) === -1 && blacklistTagNames.indexOf(element.tagName) === -1) {\n ariaHidden(element, show);\n }\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\n return false;\n });\n return idx;\n}\n\nfunction handleContainer(containerInfo, props) {\n const restoreStyle = [];\n const container = containerInfo.container;\n\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 }); // Use computed style, here to get the real padding to add our scrollbar width.\n\n container.style.paddingRight = `${getPaddingRight(container) + scrollbarSize}px`; // .mui-fixed is a global helper.\n\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 } // Improve Gatsby support\n // https://css-tricks.com/snippets/css/force-vertical-scrollbar/\n\n\n const parent = container.parentElement;\n const containerWindow = ownerWindow(container);\n const scrollContainer = (parent == null ? void 0 : parent.nodeName) === 'HTML' && containerWindow.getComputedStyle(parent).overflowY === 'scroll' ? parent : container; // Block the scroll even if no scrollbar is visible to account for mobile keyboard\n // screensize shrink.\n\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\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\n return restore;\n}\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/**\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 default class ModalManager {\n constructor() {\n this.containers = void 0;\n this.modals = void 0;\n this.modals = [];\n this.containers = [];\n }\n\n add(modal, container) {\n let modalIndex = this.modals.indexOf(modal);\n\n if (modalIndex !== -1) {\n return modalIndex;\n }\n\n modalIndex = this.modals.length;\n this.modals.push(modal); // If the modal we are adding is already in the DOM.\n\n if (modal.modalRef) {\n ariaHidden(modal.modalRef, false);\n }\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\n if (containerIndex !== -1) {\n this.containers[containerIndex].modals.push(modal);\n return modalIndex;\n }\n\n this.containers.push({\n modals: [modal],\n container,\n restore: null,\n hiddenSiblings\n });\n return modalIndex;\n }\n\n mount(modal, props) {\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n\n if (!containerInfo.restore) {\n containerInfo.restore = handleContainer(containerInfo, props);\n }\n }\n\n remove(modal) {\n const modalIndex = this.modals.indexOf(modal);\n\n if (modalIndex === -1) {\n return modalIndex;\n }\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); // If that was the last modal in a container, clean up the container.\n\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\n if (modal.modalRef) {\n // In case the modal wasn't in the DOM yet.\n ariaHidden(modal.modalRef, true);\n }\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]; // 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\n if (nextTop.modalRef) {\n ariaHidden(nextTop.modalRef, false);\n }\n }\n\n return modalIndex;\n }\n\n isTopModal(modal) {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n\n}","import generateUtilityClasses from '../generateUtilityClasses';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getModalUtilityClass(slot) {\n return generateUtilityClass('MuiModal', slot);\n}\nconst modalUnstyledClasses = generateUtilityClasses('MuiModal', ['root', 'hidden']);\nexport default modalUnstyledClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"BackdropComponent\", \"BackdropProps\", \"children\", \"classes\", \"className\", \"closeAfterTransition\", \"component\", \"components\", \"componentsProps\", \"container\", \"disableAutoFocus\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disablePortal\", \"disableRestoreFocus\", \"disableScrollLock\", \"hideBackdrop\", \"keepMounted\", \"manager\", \"onBackdropClick\", \"onClose\", \"onKeyDown\", \"open\", \"theme\", \"onTransitionEnter\", \"onTransitionExited\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { elementAcceptingRef, HTMLElementType, unstable_ownerDocument as ownerDocument, unstable_useForkRef as useForkRef, unstable_createChainedFunction as createChainedFunction, unstable_useEventCallback as useEventCallback } from '@mui/utils';\nimport composeClasses from '../composeClasses';\nimport isHostComponent from '../utils/isHostComponent';\nimport Portal from '../Portal';\nimport ModalManager, { ariaHidden } from './ModalManager';\nimport TrapFocus from '../TrapFocus';\nimport { getModalUtilityClass } from './modalUnstyledClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n open,\n exited,\n classes\n } = ownerState;\n const slots = {\n root: ['root', !open && exited && 'hidden']\n };\n return composeClasses(slots, getModalUtilityClass, classes);\n};\n\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\n\nfunction getHasTransition(props) {\n return props.children ? props.children.props.hasOwnProperty('in') : false;\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.\n\n\nconst defaultManager = new ModalManager();\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 */\n\nconst ModalUnstyled = /*#__PURE__*/React.forwardRef(function ModalUnstyled(props, ref) {\n const {\n BackdropComponent,\n BackdropProps,\n children,\n classes: classesProp,\n className,\n closeAfterTransition = false,\n component = 'div',\n components = {},\n componentsProps = {},\n container,\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 // private\n // eslint-disable-next-line react/prop-types\n manager = defaultManager,\n onBackdropClick,\n onClose,\n onKeyDown,\n open,\n\n /* eslint-disable react/prop-types */\n theme,\n onTransitionEnter,\n onTransitionExited\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [exited, setExited] = React.useState(true);\n const modal = React.useRef({});\n const mountNodeRef = React.useRef(null);\n const modalRef = React.useRef(null);\n const handleRef = useForkRef(modalRef, ref);\n const hasTransition = getHasTransition(props);\n\n const getDoc = () => ownerDocument(mountNodeRef.current);\n\n const getModal = () => {\n modal.current.modalRef = modalRef.current;\n modal.current.mountNode = mountNodeRef.current;\n return modal.current;\n };\n\n const handleMounted = () => {\n manager.mount(getModal(), {\n disableScrollLock\n }); // Fix a bug on Chrome where the scroll isn't initially 0.\n\n modalRef.current.scrollTop = 0;\n };\n\n const handleOpen = useEventCallback(() => {\n const resolvedContainer = getContainer(container) || getDoc().body;\n manager.add(getModal(), resolvedContainer); // The element was already mounted.\n\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\n if (!node) {\n return;\n }\n\n if (open && isTopModal()) {\n handleMounted();\n } else {\n ariaHidden(modalRef.current, true);\n }\n });\n const handleClose = React.useCallback(() => {\n manager.remove(getModal());\n }, [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\n const ownerState = _extends({}, props, {\n classes: classesProp,\n closeAfterTransition,\n disableAutoFocus,\n disableEnforceFocus,\n disableEscapeKeyDown,\n disablePortal,\n disableRestoreFocus,\n disableScrollLock,\n exited,\n hideBackdrop,\n keepMounted\n });\n\n const classes = useUtilityClasses(ownerState);\n\n if (!keepMounted && !open && (!hasTransition || exited)) {\n return null;\n }\n\n const handleEnter = () => {\n setExited(false);\n\n if (onTransitionEnter) {\n onTransitionEnter();\n }\n };\n\n const handleExited = () => {\n setExited(true);\n\n if (onTransitionExited) {\n onTransitionExited();\n }\n\n if (closeAfterTransition) {\n handleClose();\n }\n };\n\n const handleBackdropClick = event => {\n if (event.target !== event.currentTarget) {\n return;\n }\n\n if (onBackdropClick) {\n onBackdropClick(event);\n }\n\n if (onClose) {\n onClose(event, 'backdropClick');\n }\n };\n\n const handleKeyDown = event => {\n if (onKeyDown) {\n onKeyDown(event);\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\n\n if (event.key !== 'Escape' || !isTopModal()) {\n return;\n }\n\n if (!disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n\n if (onClose) {\n onClose(event, 'escapeKeyDown');\n }\n }\n };\n\n const childProps = {};\n\n if (children.props.tabIndex === undefined) {\n childProps.tabIndex = '-1';\n } // It's a Transition like component\n\n\n if (hasTransition) {\n childProps.onEnter = createChainedFunction(handleEnter, children.props.onEnter);\n childProps.onExited = createChainedFunction(handleExited, children.props.onExited);\n }\n\n const Root = components.Root || component;\n const rootProps = componentsProps.root || {};\n return /*#__PURE__*/_jsx(Portal, {\n ref: handlePortalRef,\n container: container,\n disablePortal: disablePortal,\n children: /*#__PURE__*/_jsxs(Root, _extends({\n role: \"presentation\"\n }, rootProps, !isHostComponent(Root) && {\n as: component,\n ownerState: _extends({}, ownerState, rootProps.ownerState),\n theme\n }, other, {\n ref: handleRef,\n onKeyDown: handleKeyDown,\n className: clsx(classes.root, rootProps.className, className),\n children: [!hideBackdrop && BackdropComponent ? /*#__PURE__*/_jsx(BackdropComponent, _extends({\n \"aria-hidden\": true,\n open: open,\n onClick: handleBackdropClick\n }, BackdropProps)) : null, /*#__PURE__*/_jsx(TrapFocus, {\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\" ? ModalUnstyled.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n */\n BackdropComponent: PropTypes.elementType,\n\n /**\n * Props applied to the backdrop element.\n */\n BackdropProps: PropTypes.object,\n\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\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 /**\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 /**\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 components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n\n /**\n * The props used for each slot inside the Modal.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\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\n /* @typescript-to-proptypes-ignore */\n .oneOfType([HTMLElementType, PropTypes.func]),\n\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 /**\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 /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n\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 /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n\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 /**\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 /**\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 /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\nexport default ModalUnstyled;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropComponent\", \"closeAfterTransition\", \"children\", \"components\", \"componentsProps\", \"disableAutoFocus\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disablePortal\", \"disableRestoreFocus\", \"disableScrollLock\", \"hideBackdrop\", \"keepMounted\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { isHostComponent } from '@mui/base';\nimport { elementAcceptingRef, HTMLElementType } from '@mui/utils';\nimport ModalUnstyled, { modalUnstyledClasses } from '@mui/base/ModalUnstyled';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Backdrop from '../Backdrop';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const modalClasses = modalUnstyledClasses;\n\nconst extendUtilityClasses = ownerState => {\n return ownerState.classes;\n};\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 * 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 */\n\nconst Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {\n var _componentsProps$root;\n\n const props = useThemeProps({\n name: 'MuiModal',\n props: inProps\n });\n\n const {\n BackdropComponent = ModalBackdrop,\n closeAfterTransition = false,\n children,\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 } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [exited, setExited] = React.useState(true);\n const commonProps = {\n closeAfterTransition,\n disableAutoFocus,\n disableEnforceFocus,\n disableEscapeKeyDown,\n disablePortal,\n disableRestoreFocus,\n disableScrollLock,\n hideBackdrop,\n keepMounted\n };\n\n const ownerState = _extends({}, props, commonProps, {\n exited\n });\n\n const classes = extendUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ModalUnstyled, _extends({\n components: _extends({\n Root: ModalRoot\n }, components),\n componentsProps: {\n root: _extends({}, componentsProps.root, (!components.Root || !isHostComponent(components.Root)) && {\n ownerState: _extends({}, (_componentsProps$root = componentsProps.root) == null ? void 0 : _componentsProps$root.ownerState)\n })\n },\n BackdropComponent: BackdropComponent,\n onTransitionEnter: () => setExited(false),\n onTransitionExited: () => setExited(true),\n ref: ref\n }, other, {\n classes: classes\n }, commonProps, {\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Modal.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\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 /**\n * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.\n */\n BackdropProps: PropTypes.object,\n\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\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 /**\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 components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n\n /**\n * The props used for each slot inside the Modal.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\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\n /* @typescript-to-proptypes-ignore */\n .oneOfType([HTMLElementType, PropTypes.func]),\n\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 /**\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 /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n\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 /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n\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 /**\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 /**\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 /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\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;"],"names":["getScrollbarSize","doc","documentWidth","documentElement","clientWidth","Math","abs","window","innerWidth","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","props","children","disableAutoFocus","disableEnforceFocus","disableRestoreFocus","getTabbable","isEnabled","open","ignoreNextEnforceFocus","sentinelStart","sentinelEnd","nodeToRestore","reactFocusEventTarget","activated","rootRef","handleRef","ref","lastKeydown","current","contains","activeElement","hasAttribute","setAttribute","focus","contain","nativeEvent","rootElement","hasFocus","target","tabbable","length","_lastKeydown$current","_lastKeydown$current2","isShiftTab","Boolean","shiftKey","key","focusNext","focusPrevious","loopFocus","addEventListener","interval","setInterval","clearInterval","removeEventListener","handleFocusSentinel","event","relatedTarget","onFocus","childrenPropsHandler","getBackdropUtilityClass","slot","generateUtilityClass","_excluded","BackdropRoot","styled","overridesResolver","styles","ownerState","invisible","position","display","alignItems","justifyContent","right","bottom","top","left","backgroundColor","WebkitTapHighlightColor","inProps","_components$Root","_componentsProps$root","useThemeProps","component","components","componentsProps","className","transitionDuration","TransitionComponent","Fade","other","classes","slots","composeClasses","useUtilityClasses","in","timeout","as","Root","entering","opacity","entered","theme","defaultTimeout","enter","transitions","duration","enteringScreen","exit","leavingScreen","addEndListener","appear","easing","inProp","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","nodeRef","foreignRef","normalizedTransitionCallback","callback","maybeIsAppearing","undefined","handleEntering","handleEnter","isAppearing","transitionProps","mode","webkitTransition","create","transition","handleEntered","handleExiting","handleExit","handleExited","next","state","childProps","visibility","ariaHidden","element","show","removeAttribute","getPaddingRight","ownerWindow","getComputedStyle","paddingRight","ariaHiddenSiblings","container","mountElement","currentElement","elementsToExclude","blacklist","blacklistTagNames","call","indexOf","findIndexOf","items","idx","some","item","index","handleContainer","containerInfo","restoreStyle","disableScrollLock","body","scrollHeight","clientHeight","isOverflowing","scrollbarSize","value","property","el","fixedElements","parent","parentElement","containerWindow","scrollContainer","overflowY","overflow","overflowX","setProperty","removeProperty","getModalUtilityClass","generateUtilityClasses","defaultManager","constructor","this","containers","modals","add","modal","modalIndex","modalRef","hiddenSiblings","getHiddenSiblings","mount","containerIndex","restore","remove","splice","nextTop","isTopModal","BackdropComponent","BackdropProps","classesProp","closeAfterTransition","disableEscapeKeyDown","disablePortal","hideBackdrop","keepMounted","manager","onBackdropClick","onClose","onKeyDown","onTransitionEnter","onTransitionExited","exited","setExited","mountNodeRef","useForkRef","hasTransition","hasOwnProperty","getHasTransition","getModal","mountNode","handleMounted","scrollTop","handleOpen","useEventCallback","resolvedContainer","getContainer","handlePortalRef","handleClose","createChainedFunction","rootProps","Portal","role","isHostComponent","stopPropagation","onClick","currentTarget","TrapFocus","ModalRoot","hidden","zIndex","vars","ModalBackdrop","Backdrop","backdrop","commonProps","extendUtilityClasses"],"sourceRoot":""}