{"version":3,"file":"static/js/1762.3aa53c5a.chunk.js","mappings":"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","sources":["../node_modules/@material-ui/core/esm/Modal/ModalManager.js","../node_modules/@material-ui/core/esm/Unstable_TrapFocus/Unstable_TrapFocus.js","../node_modules/@material-ui/core/esm/Modal/SimpleBackdrop.js","../node_modules/@material-ui/core/esm/Modal/Modal.js","../node_modules/@material-ui/core/esm/Portal/Portal.js","../node_modules/@material-ui/core/esm/utils/debounce.js","../node_modules/@material-ui/core/esm/utils/getScrollbarSize.js","../node_modules/@material-ui/core/esm/utils/ownerWindow.js"],"sourcesContent":["import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow'; // Is a vertical scrollbar displayed?\n\nfunction isOverflowing(container) {\n var doc = ownerDocument(container);\n\n if (doc.body === container) {\n return ownerWindow(doc).innerWidth > doc.documentElement.clientWidth;\n }\n\n return container.scrollHeight > container.clientHeight;\n}\n\nexport function ariaHidden(node, show) {\n if (show) {\n node.setAttribute('aria-hidden', 'true');\n } else {\n node.removeAttribute('aria-hidden');\n }\n}\n\nfunction getPaddingRight(node) {\n return parseInt(window.getComputedStyle(node)['padding-right'], 10) || 0;\n}\n\nfunction ariaHiddenSiblings(container, mountNode, currentNode) {\n var nodesToExclude = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var show = arguments.length > 4 ? arguments[4] : undefined;\n var blacklist = [mountNode, currentNode].concat(_toConsumableArray(nodesToExclude));\n var blacklistTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE'];\n [].forEach.call(container.children, function (node) {\n if (node.nodeType === 1 && blacklist.indexOf(node) === -1 && blacklistTagNames.indexOf(node.tagName) === -1) {\n ariaHidden(node, show);\n }\n });\n}\n\nfunction findIndexOf(containerInfo, callback) {\n var idx = -1;\n containerInfo.some(function (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 var restoreStyle = [];\n var restorePaddings = [];\n var container = containerInfo.container;\n var fixedNodes;\n\n if (!props.disableScrollLock) {\n if (isOverflowing(container)) {\n // Compute the size before applying overflow hidden to avoid any scroll jumps.\n var scrollbarSize = getScrollbarSize();\n restoreStyle.push({\n value: container.style.paddingRight,\n key: 'padding-right',\n el: container\n }); // Use computed style, here to get the real padding to add our scrollbar width.\n\n container.style['padding-right'] = \"\".concat(getPaddingRight(container) + scrollbarSize, \"px\"); // .mui-fixed is a global helper.\n\n fixedNodes = ownerDocument(container).querySelectorAll('.mui-fixed');\n [].forEach.call(fixedNodes, function (node) {\n restorePaddings.push(node.style.paddingRight);\n node.style.paddingRight = \"\".concat(getPaddingRight(node) + scrollbarSize, \"px\");\n });\n } // Improve Gatsby support\n // https://css-tricks.com/snippets/css/force-vertical-scrollbar/\n\n\n var parent = container.parentElement;\n var scrollContainer = parent.nodeName === 'HTML' && window.getComputedStyle(parent)['overflow-y'] === '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 key: 'overflow',\n el: scrollContainer\n });\n scrollContainer.style.overflow = 'hidden';\n }\n\n var restore = function restore() {\n if (fixedNodes) {\n [].forEach.call(fixedNodes, function (node, i) {\n if (restorePaddings[i]) {\n node.style.paddingRight = restorePaddings[i];\n } else {\n node.style.removeProperty('padding-right');\n }\n });\n }\n\n restoreStyle.forEach(function (_ref) {\n var value = _ref.value,\n el = _ref.el,\n key = _ref.key;\n\n if (value) {\n el.style.setProperty(key, value);\n } else {\n el.style.removeProperty(key);\n }\n });\n };\n\n return restore;\n}\n\nfunction getHiddenSiblings(container) {\n var hiddenSiblings = [];\n [].forEach.call(container.children, function (node) {\n if (node.getAttribute && node.getAttribute('aria-hidden') === 'true') {\n hiddenSiblings.push(node);\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 */\n\n\nvar ModalManager = /*#__PURE__*/function () {\n function ModalManager() {\n _classCallCheck(this, ModalManager);\n\n // this.modals[modalIndex] = modal\n this.modals = []; // this.containers[containerIndex] = {\n // modals: [],\n // container,\n // restore: null,\n // }\n\n this.containers = [];\n }\n\n _createClass(ModalManager, [{\n key: \"add\",\n value: function add(modal, container) {\n var 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 var hiddenSiblingNodes = getHiddenSiblings(container);\n ariaHiddenSiblings(container, modal.mountNode, modal.modalRef, hiddenSiblingNodes, true);\n var containerIndex = findIndexOf(this.containers, function (item) {\n return item.container === container;\n });\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: container,\n restore: null,\n hiddenSiblingNodes: hiddenSiblingNodes\n });\n return modalIndex;\n }\n }, {\n key: \"mount\",\n value: function mount(modal, props) {\n var containerIndex = findIndexOf(this.containers, function (item) {\n return item.modals.indexOf(modal) !== -1;\n });\n var containerInfo = this.containers[containerIndex];\n\n if (!containerInfo.restore) {\n containerInfo.restore = handleContainer(containerInfo, props);\n }\n }\n }, {\n key: \"remove\",\n value: function remove(modal) {\n var modalIndex = this.modals.indexOf(modal);\n\n if (modalIndex === -1) {\n return modalIndex;\n }\n\n var containerIndex = findIndexOf(this.containers, function (item) {\n return item.modals.indexOf(modal) !== -1;\n });\n var 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.mountNode, modal.modalRef, containerInfo.hiddenSiblingNodes, false);\n this.containers.splice(containerIndex, 1);\n } else {\n // Otherwise make sure the next top modal is visible to a screen reader.\n var 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 key: \"isTopModal\",\n value: function isTopModal(modal) {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n }]);\n\n return ModalManager;\n}();\n\nexport { ModalManager as default };","/* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex, camelcase */\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport ownerDocument from '../utils/ownerDocument';\nimport useForkRef from '../utils/useForkRef';\nimport { exactProp } from '@material-ui/utils';\n/**\n * Utility component that locks focus inside the component.\n */\n\nfunction Unstable_TrapFocus(props) {\n var children = props.children,\n _props$disableAutoFoc = props.disableAutoFocus,\n disableAutoFocus = _props$disableAutoFoc === void 0 ? false : _props$disableAutoFoc,\n _props$disableEnforce = props.disableEnforceFocus,\n disableEnforceFocus = _props$disableEnforce === void 0 ? false : _props$disableEnforce,\n _props$disableRestore = props.disableRestoreFocus,\n disableRestoreFocus = _props$disableRestore === void 0 ? false : _props$disableRestore,\n getDoc = props.getDoc,\n isEnabled = props.isEnabled,\n open = props.open;\n var ignoreNextEnforceFocus = React.useRef();\n var sentinelStart = React.useRef(null);\n var sentinelEnd = React.useRef(null);\n var nodeToRestore = React.useRef();\n var rootRef = React.useRef(null); // can be removed once we drop support for non ref forwarding class components\n\n var handleOwnRef = React.useCallback(function (instance) {\n // #StrictMode ready\n rootRef.current = ReactDOM.findDOMNode(instance);\n }, []);\n var handleRef = useForkRef(children.ref, handleOwnRef);\n var prevOpenRef = React.useRef();\n React.useEffect(function () {\n prevOpenRef.current = open;\n }, [open]);\n\n if (!prevOpenRef.current && open && typeof window !== 'undefined') {\n // WARNING: Potentially unsafe in concurrent mode.\n // The way the read on `nodeToRestore` is setup could make this actually safe.\n // Say we render `open={false}` -> `open={true}` but never commit.\n // We have now written a state that wasn't committed. But no committed effect\n // will read this wrong value. We only read from `nodeToRestore` in effects\n // that were committed on `open={true}`\n // WARNING: Prevents the instance from being garbage collected. Should only\n // hold a weak ref.\n nodeToRestore.current = getDoc().activeElement;\n }\n\n React.useEffect(function () {\n if (!open) {\n return;\n }\n\n var doc = ownerDocument(rootRef.current); // We might render an empty child.\n\n if (!disableAutoFocus && rootRef.current && !rootRef.current.contains(doc.activeElement)) {\n if (!rootRef.current.hasAttribute('tabIndex')) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(['Material-UI: 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 rootRef.current.focus();\n }\n\n var contain = function contain() {\n var rootElement = rootRef.current; // 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 (rootRef.current && !rootRef.current.contains(doc.activeElement)) {\n rootRef.current.focus();\n }\n };\n\n var loopFocus = function loopFocus(event) {\n // 9 = Tab\n if (disableEnforceFocus || !isEnabled() || event.keyCode !== 9) {\n return;\n } // Make sure the next tab starts from the right place.\n\n\n if (doc.activeElement === rootRef.current) {\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\n if (event.shiftKey) {\n sentinelEnd.current.focus();\n } else {\n sentinelStart.current.focus();\n }\n }\n };\n\n doc.addEventListener('focus', contain, true);\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 //\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 var interval = setInterval(function () {\n contain();\n }, 50);\n return function () {\n clearInterval(interval);\n doc.removeEventListener('focus', contain, true);\n doc.removeEventListener('keydown', loopFocus, true); // restoreLastFocus()\n\n if (!disableRestoreFocus) {\n // In IE 11 it is possible for document.activeElement to be null resulting\n // in nodeToRestore.current being null.\n // Not all elements in IE 11 have a focus method.\n // Once IE 11 support is dropped the focus() call can be unconditional.\n if (nodeToRestore.current && nodeToRestore.current.focus) {\n nodeToRestore.current.focus();\n }\n\n nodeToRestore.current = null;\n }\n };\n }, [disableAutoFocus, disableEnforceFocus, disableRestoreFocus, isEnabled, open]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelStart,\n \"data-test\": \"sentinelStart\"\n }), /*#__PURE__*/React.cloneElement(children, {\n ref: handleRef\n }), /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelEnd,\n \"data-test\": \"sentinelEnd\"\n }));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? Unstable_TrapFocus.propTypes = {\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: PropTypes.node,\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 */\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 */\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.\n */\n disableRestoreFocus: PropTypes.bool,\n\n /**\n * Return the document to consider.\n * We use it to implement the restore focus between different browser documents.\n */\n getDoc: PropTypes.func.isRequired,\n\n /**\n * Do we still want to enforce the focus?\n * This prop helps nesting TrapFocus elements.\n */\n isEnabled: PropTypes.func.isRequired,\n\n /**\n * If `true`, focus will be locked.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n Unstable_TrapFocus['propTypes' + ''] = exactProp(Unstable_TrapFocus.propTypes);\n}\n\nexport default Unstable_TrapFocus;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n zIndex: -1,\n position: 'fixed',\n right: 0,\n bottom: 0,\n top: 0,\n left: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n WebkitTapHighlightColor: 'transparent'\n },\n\n /* Styles applied to the root element if `invisible={true}`. */\n invisible: {\n backgroundColor: 'transparent'\n }\n};\n/**\n * @ignore - internal component.\n */\n\nvar SimpleBackdrop = /*#__PURE__*/React.forwardRef(function SimpleBackdrop(props, ref) {\n var _props$invisible = props.invisible,\n invisible = _props$invisible === void 0 ? false : _props$invisible,\n open = props.open,\n other = _objectWithoutProperties(props, [\"invisible\", \"open\"]);\n\n return open ? /*#__PURE__*/React.createElement(\"div\", _extends({\n \"aria-hidden\": true,\n ref: ref\n }, other, {\n style: _extends({}, styles.root, invisible ? styles.invisible : {}, other.style)\n })) : null;\n});\nprocess.env.NODE_ENV !== \"production\" ? SimpleBackdrop.propTypes = {\n /**\n * If `true`, the backdrop is invisible.\n * It can be used when rendering a popover or a custom select component.\n */\n invisible: PropTypes.bool,\n\n /**\n * If `true`, the backdrop is open.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\nexport default SimpleBackdrop;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { getThemeProps, useTheme } from '@material-ui/styles';\nimport { elementAcceptingRef, HTMLElementType } from '@material-ui/utils';\nimport deprecatedPropType from '../utils/deprecatedPropType';\nimport ownerDocument from '../utils/ownerDocument';\nimport Portal from '../Portal';\nimport createChainedFunction from '../utils/createChainedFunction';\nimport useForkRef from '../utils/useForkRef';\nimport useEventCallback from '../utils/useEventCallback';\nimport zIndex from '../styles/zIndex';\nimport ModalManager, { ariaHidden } from './ModalManager';\nimport TrapFocus from '../Unstable_TrapFocus';\nimport SimpleBackdrop from './SimpleBackdrop';\n\nfunction getContainer(container) {\n container = typeof container === 'function' ? container() : container;\n return ReactDOM.findDOMNode(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\nvar defaultManager = new ModalManager();\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n position: 'fixed',\n zIndex: theme.zIndex.modal,\n right: 0,\n bottom: 0,\n top: 0,\n left: 0\n },\n\n /* Styles applied to the root element if the `Modal` has exited. */\n hidden: {\n visibility: 'hidden'\n }\n };\n};\n/**\n * Modal is a lower-level construct that is leveraged by the following components:\n *\n * - [Dialog](/api/dialog/)\n * - [Drawer](/api/drawer/)\n * - [Menu](/api/menu/)\n * - [Popover](/api/popover/)\n *\n * If you are creating a modal dialog, you probably want to use the [Dialog](/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\nvar Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {\n var theme = useTheme();\n var props = getThemeProps({\n name: 'MuiModal',\n props: _extends({}, inProps),\n theme: theme\n });\n\n var _props$BackdropCompon = props.BackdropComponent,\n BackdropComponent = _props$BackdropCompon === void 0 ? SimpleBackdrop : _props$BackdropCompon,\n BackdropProps = props.BackdropProps,\n children = props.children,\n _props$closeAfterTran = props.closeAfterTransition,\n closeAfterTransition = _props$closeAfterTran === void 0 ? false : _props$closeAfterTran,\n container = props.container,\n _props$disableAutoFoc = props.disableAutoFocus,\n disableAutoFocus = _props$disableAutoFoc === void 0 ? false : _props$disableAutoFoc,\n _props$disableBackdro = props.disableBackdropClick,\n disableBackdropClick = _props$disableBackdro === void 0 ? false : _props$disableBackdro,\n _props$disableEnforce = props.disableEnforceFocus,\n disableEnforceFocus = _props$disableEnforce === void 0 ? false : _props$disableEnforce,\n _props$disableEscapeK = props.disableEscapeKeyDown,\n disableEscapeKeyDown = _props$disableEscapeK === void 0 ? false : _props$disableEscapeK,\n _props$disablePortal = props.disablePortal,\n disablePortal = _props$disablePortal === void 0 ? false : _props$disablePortal,\n _props$disableRestore = props.disableRestoreFocus,\n disableRestoreFocus = _props$disableRestore === void 0 ? false : _props$disableRestore,\n _props$disableScrollL = props.disableScrollLock,\n disableScrollLock = _props$disableScrollL === void 0 ? false : _props$disableScrollL,\n _props$hideBackdrop = props.hideBackdrop,\n hideBackdrop = _props$hideBackdrop === void 0 ? false : _props$hideBackdrop,\n _props$keepMounted = props.keepMounted,\n keepMounted = _props$keepMounted === void 0 ? false : _props$keepMounted,\n _props$manager = props.manager,\n manager = _props$manager === void 0 ? defaultManager : _props$manager,\n onBackdropClick = props.onBackdropClick,\n onClose = props.onClose,\n onEscapeKeyDown = props.onEscapeKeyDown,\n onRendered = props.onRendered,\n open = props.open,\n other = _objectWithoutProperties(props, [\"BackdropComponent\", \"BackdropProps\", \"children\", \"closeAfterTransition\", \"container\", \"disableAutoFocus\", \"disableBackdropClick\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disablePortal\", \"disableRestoreFocus\", \"disableScrollLock\", \"hideBackdrop\", \"keepMounted\", \"manager\", \"onBackdropClick\", \"onClose\", \"onEscapeKeyDown\", \"onRendered\", \"open\"]);\n\n var _React$useState = React.useState(true),\n exited = _React$useState[0],\n setExited = _React$useState[1];\n\n var modal = React.useRef({});\n var mountNodeRef = React.useRef(null);\n var modalRef = React.useRef(null);\n var handleRef = useForkRef(modalRef, ref);\n var hasTransition = getHasTransition(props);\n\n var getDoc = function getDoc() {\n return ownerDocument(mountNodeRef.current);\n };\n\n var getModal = function getModal() {\n modal.current.modalRef = modalRef.current;\n modal.current.mountNode = mountNodeRef.current;\n return modal.current;\n };\n\n var handleMounted = function handleMounted() {\n manager.mount(getModal(), {\n disableScrollLock: disableScrollLock\n }); // Fix a bug on Chrome where the scroll isn't initially 0.\n\n modalRef.current.scrollTop = 0;\n };\n\n var handleOpen = useEventCallback(function () {\n var 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 var isTopModal = React.useCallback(function () {\n return manager.isTopModal(getModal());\n }, [manager]);\n var handlePortalRef = useEventCallback(function (node) {\n mountNodeRef.current = node;\n\n if (!node) {\n return;\n }\n\n if (onRendered) {\n onRendered();\n }\n\n if (open && isTopModal()) {\n handleMounted();\n } else {\n ariaHidden(modalRef.current, true);\n }\n });\n var handleClose = React.useCallback(function () {\n manager.remove(getModal());\n }, [manager]);\n React.useEffect(function () {\n return function () {\n handleClose();\n };\n }, [handleClose]);\n React.useEffect(function () {\n if (open) {\n handleOpen();\n } else if (!hasTransition || !closeAfterTransition) {\n handleClose();\n }\n }, [open, handleClose, hasTransition, closeAfterTransition, handleOpen]);\n\n if (!keepMounted && !open && (!hasTransition || exited)) {\n return null;\n }\n\n var handleEnter = function handleEnter() {\n setExited(false);\n };\n\n var handleExited = function handleExited() {\n setExited(true);\n\n if (closeAfterTransition) {\n handleClose();\n }\n };\n\n var handleBackdropClick = function handleBackdropClick(event) {\n if (event.target !== event.currentTarget) {\n return;\n }\n\n if (onBackdropClick) {\n onBackdropClick(event);\n }\n\n if (!disableBackdropClick && onClose) {\n onClose(event, 'backdropClick');\n }\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n // The handler doesn't take event.defaultPrevented into account:\n //\n // event.preventDefault() is meant to stop default behaviours 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' || !isTopModal()) {\n return;\n }\n\n if (onEscapeKeyDown) {\n onEscapeKeyDown(event);\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 var inlineStyle = styles(theme || {\n zIndex: zIndex\n });\n var childProps = {};\n\n if (children.props.tabIndex === undefined) {\n childProps.tabIndex = children.props.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 return /*#__PURE__*/React.createElement(Portal, {\n ref: handlePortalRef,\n container: container,\n disablePortal: disablePortal\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: handleRef,\n onKeyDown: handleKeyDown,\n role: \"presentation\"\n }, other, {\n style: _extends({}, inlineStyle.root, !open && exited ? inlineStyle.hidden : {}, other.style)\n }), hideBackdrop ? null : /*#__PURE__*/React.createElement(BackdropComponent, _extends({\n open: open,\n onClick: handleBackdropClick\n }, BackdropProps)), /*#__PURE__*/React.createElement(TrapFocus, {\n disableEnforceFocus: disableEnforceFocus,\n disableAutoFocus: disableAutoFocus,\n disableRestoreFocus: disableRestoreFocus,\n getDoc: getDoc,\n isEnabled: isTopModal,\n open: open\n }, /*#__PURE__*/React.cloneElement(children, childProps))));\n});\nprocess.env.NODE_ENV !== \"production\" ? Modal.propTypes = {\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n */\n BackdropComponent: PropTypes.elementType,\n\n /**\n * Props applied to the [`Backdrop`](/api/backdrop/) element.\n */\n BackdropProps: PropTypes.object,\n\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n\n /**\n * When set to true the Modal waits until a nested Transition is completed before closing.\n */\n closeAfterTransition: PropTypes.bool,\n\n /**\n * A HTML element, component instance, or function that returns either.\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.instanceOf(React.Component), 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 */\n disableAutoFocus: PropTypes.bool,\n\n /**\n * If `true`, clicking the backdrop will not fire `onClose`.\n */\n disableBackdropClick: deprecatedPropType(PropTypes.bool, 'Use the onClose prop with the `reason` argument to filter the `backdropClick` events.'),\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 */\n disableEnforceFocus: PropTypes.bool,\n\n /**\n * If `true`, hitting escape will not fire `onClose`.\n */\n disableEscapeKeyDown: PropTypes.bool,\n\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\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.\n */\n disableRestoreFocus: PropTypes.bool,\n\n /**\n * Disable the scroll lock behavior.\n */\n disableScrollLock: PropTypes.bool,\n\n /**\n * If `true`, the backdrop is not rendered.\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 */\n keepMounted: PropTypes.bool,\n\n /**\n * @ignore\n */\n manager: PropTypes.object,\n\n /**\n * Callback fired when the backdrop is clicked.\n */\n onBackdropClick: deprecatedPropType(PropTypes.func, 'Use the onClose prop with the `reason` argument to handle the `backdropClick` events.'),\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 * Callback fired when the escape key is pressed,\n * `disableEscapeKeyDown` is false and the modal is in focus.\n */\n onEscapeKeyDown: deprecatedPropType(PropTypes.func, 'Use the onClose prop with the `reason` argument to handle the `escapeKeyDown` events.'),\n\n /**\n * Callback fired once the children has been mounted into the `container`.\n * It signals that the `open={true}` prop took effect.\n *\n * This prop will be removed in v5, the ref can be used instead.\n */\n onRendered: deprecatedPropType(PropTypes.func, 'Use the ref instead.'),\n\n /**\n * If `true`, the modal is open.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\nexport default Modal;","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { exactProp, HTMLElementType } from '@material-ui/utils';\nimport deprecatedPropType from '../utils/deprecatedPropType';\nimport setRef from '../utils/setRef';\nimport useForkRef from '../utils/useForkRef';\n\nfunction getContainer(container) {\n container = typeof container === 'function' ? container() : container; // #StrictMode ready\n\n return ReactDOM.findDOMNode(container);\n}\n\nvar useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n/**\n * Portals provide a first-class way to render children into a DOM node\n * that exists outside the DOM hierarchy of the parent component.\n */\n\nvar Portal = /*#__PURE__*/React.forwardRef(function Portal(props, ref) {\n var children = props.children,\n container = props.container,\n _props$disablePortal = props.disablePortal,\n disablePortal = _props$disablePortal === void 0 ? false : _props$disablePortal,\n onRendered = props.onRendered;\n\n var _React$useState = React.useState(null),\n mountNode = _React$useState[0],\n setMountNode = _React$useState[1];\n\n var handleRef = useForkRef( /*#__PURE__*/React.isValidElement(children) ? children.ref : null, ref);\n useEnhancedEffect(function () {\n if (!disablePortal) {\n setMountNode(getContainer(container) || document.body);\n }\n }, [container, disablePortal]);\n useEnhancedEffect(function () {\n if (mountNode && !disablePortal) {\n setRef(ref, mountNode);\n return function () {\n setRef(ref, null);\n };\n }\n\n return undefined;\n }, [ref, mountNode, disablePortal]);\n useEnhancedEffect(function () {\n if (onRendered && (mountNode || disablePortal)) {\n onRendered();\n }\n }, [onRendered, mountNode, disablePortal]);\n\n if (disablePortal) {\n if ( /*#__PURE__*/React.isValidElement(children)) {\n return /*#__PURE__*/React.cloneElement(children, {\n ref: handleRef\n });\n }\n\n return children;\n }\n\n return mountNode ? /*#__PURE__*/ReactDOM.createPortal(children, mountNode) : mountNode;\n});\nprocess.env.NODE_ENV !== \"production\" ? Portal.propTypes = {\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 children to render into the `container`.\n */\n children: PropTypes.node,\n\n /**\n * A HTML element, component instance, or function that returns either.\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.instanceOf(React.Component), PropTypes.func]),\n\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n\n /**\n * Callback fired once the children has been mounted into the `container`.\n *\n * This prop will be removed in v5, the ref can be used instead.\n * @deprecated Use the ref instead.\n */\n onRendered: deprecatedPropType(PropTypes.func, 'Use the ref instead.')\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n Portal['propTypes' + ''] = exactProp(Portal.propTypes);\n}\n\nexport default Portal;","// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func) {\n var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 166;\n var timeout;\n\n function debounced() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // eslint-disable-next-line consistent-this\n var that = this;\n\n var later = function later() {\n func.apply(that, args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n\n debounced.clear = function () {\n clearTimeout(timeout);\n };\n\n return debounced;\n}","// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/3ffe3a5d82f6f561b82ff78d82b32a7d14aed558/js/src/modal.js#L512-L519\nexport default function getScrollbarSize() {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.width = '99px';\n scrollDiv.style.height = '99px';\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n var scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarSize;\n}","import ownerDocument from './ownerDocument';\nexport default function ownerWindow(node) {\n var doc = ownerDocument(node);\n return doc.defaultView || window;\n}"],"names":["ariaHidden","node","show","setAttribute","removeAttribute","getPaddingRight","parseInt","window","getComputedStyle","ariaHiddenSiblings","container","mountNode","currentNode","nodesToExclude","arguments","length","undefined","blacklist","concat","_toConsumableArray","blacklistTagNames","forEach","call","children","nodeType","indexOf","tagName","findIndexOf","containerInfo","callback","idx","some","item","index","handleContainer","props","fixedNodes","restoreStyle","restorePaddings","disableScrollLock","doc","ownerDocument","body","ownerWindow","innerWidth","documentElement","clientWidth","scrollHeight","clientHeight","isOverflowing","scrollbarSize","getScrollbarSize","push","value","style","paddingRight","key","el","querySelectorAll","parent","parentElement","scrollContainer","nodeName","overflow","i","removeProperty","_ref","setProperty","ModalManager","_classCallCheck","this","modals","containers","_createClass","modal","modalIndex","modalRef","hiddenSiblingNodes","hiddenSiblings","getAttribute","getHiddenSiblings","containerIndex","restore","splice","nextTop","_props$disableAutoFoc","disableAutoFocus","_props$disableEnforce","disableEnforceFocus","_props$disableRestore","disableRestoreFocus","getDoc","isEnabled","open","ignoreNextEnforceFocus","React","sentinelStart","sentinelEnd","nodeToRestore","rootRef","handleOwnRef","instance","current","ReactDOM","handleRef","useForkRef","ref","prevOpenRef","activeElement","contains","hasAttribute","focus","contain","hasFocus","loopFocus","event","keyCode","shiftKey","addEventListener","interval","setInterval","clearInterval","removeEventListener","tabIndex","styles","root","zIndex","position","right","bottom","top","left","backgroundColor","WebkitTapHighlightColor","invisible","_props$invisible","other","_objectWithoutProperties","_extends","defaultManager","inProps","theme","useTheme","getThemeProps","name","_props$BackdropCompon","BackdropComponent","SimpleBackdrop","BackdropProps","_props$closeAfterTran","closeAfterTransition","_props$disableBackdro","disableBackdropClick","_props$disableEscapeK","disableEscapeKeyDown","_props$disablePortal","disablePortal","_props$disableScrollL","_props$hideBackdrop","hideBackdrop","_props$keepMounted","keepMounted","_props$manager","manager","onBackdropClick","onClose","onEscapeKeyDown","onRendered","_React$useState","exited","setExited","mountNodeRef","hasTransition","hasOwnProperty","getHasTransition","getModal","handleMounted","mount","scrollTop","handleOpen","useEventCallback","resolvedContainer","getContainer","add","isTopModal","handlePortalRef","handleClose","remove","inlineStyle","hidden","visibility","childProps","onEnter","createChainedFunction","onExited","Portal","onKeyDown","stopPropagation","role","onClick","target","currentTarget","TrapFocus","useEnhancedEffect","setMountNode","document","setRef","debounce","func","timeout","wait","debounced","_len","args","Array","_key","that","clearTimeout","setTimeout","apply","clear","scrollDiv","createElement","width","height","appendChild","offsetWidth","removeChild","defaultView"],"sourceRoot":""}