{"version":3,"file":"static/js/792.8b8c9a47.chunk.js","mappings":"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","sources":["../node_modules/@mui/base/Portal/Portal.js","../node_modules/@mui/base/Unstable_TrapFocus/Unstable_TrapFocus.js","../node_modules/@mui/base/ModalUnstyled/ModalManager.js","../node_modules/@mui/base/ModalUnstyled/modalUnstyledClasses.js","../node_modules/@mui/base/ModalUnstyled/ModalUnstyled.js","../node_modules/@mui/material/Modal/Modal.js","../node_modules/@mui/utils/esm/createChainedFunction.js","../node_modules/@mui/utils/esm/getScrollbarSize.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js"],"sourcesContent":["import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { exactProp, HTMLElementType, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useForkRef as useForkRef, unstable_setRef as setRef } from '@mui/utils';\n\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\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\n\nconst Portal = /*#__PURE__*/React.forwardRef(function Portal(props, ref) {\n const {\n children,\n container,\n disablePortal = false\n } = props;\n const [mountNode, setMountNode] = React.useState(null);\n const handleRef = useForkRef( /*#__PURE__*/React.isValidElement(children) ? children.ref : null, ref);\n useEnhancedEffect(() => {\n if (!disablePortal) {\n setMountNode(getContainer(container) || document.body);\n }\n }, [container, disablePortal]);\n useEnhancedEffect(() => {\n if (mountNode && !disablePortal) {\n setRef(ref, mountNode);\n return () => {\n setRef(ref, null);\n };\n }\n\n return undefined;\n }, [ref, 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/* 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 children to render into the `container`.\n */\n children: PropTypes.node,\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 * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool\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;","/* eslint-disable @typescript-eslint/naming-convention, 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 Unstable_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\" ? Unstable_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 Unstable_TrapFocus['propTypes' + ''] = exactProp(Unstable_TrapFocus.propTypes);\n}\n\nexport default Unstable_TrapFocus;","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 '../Unstable_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](/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\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 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 [`BackdropUnstyled`](/api/backdrop-unstyled/) 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 */\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.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](/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\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`](/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 */\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;","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","// 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}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}"],"names":["Portal","React","props","ref","children","container","disablePortal","mountNode","setMountNode","handleRef","useForkRef","useEnhancedEffect","getContainer","document","body","setRef","ReactDOM","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","disableAutoFocus","disableEnforceFocus","disableRestoreFocus","getTabbable","isEnabled","open","ignoreNextEnforceFocus","sentinelStart","sentinelEnd","nodeToRestore","reactFocusEventTarget","activated","rootRef","lastKeydown","current","doc","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","_jsxs","_jsx","onFocus","childrenPropsHandler","ariaHidden","element","show","removeAttribute","getPaddingRight","ownerWindow","getComputedStyle","paddingRight","ariaHiddenSiblings","mountElement","currentElement","elementsToExclude","blacklist","blacklistTagNames","call","indexOf","findIndexOf","items","callback","idx","some","item","index","handleContainer","containerInfo","restoreStyle","disableScrollLock","innerWidth","documentElement","clientWidth","scrollHeight","clientHeight","isOverflowing","scrollbarSize","getScrollbarSize","value","style","property","el","fixedElements","parent","parentElement","containerWindow","scrollContainer","overflowY","overflow","overflowX","setProperty","removeProperty","ModalManager","this","containers","modals","modal","modalIndex","modalRef","hiddenSiblings","getHiddenSiblings","mount","containerIndex","restore","splice","nextTop","getModalUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","defaultManager","BackdropComponent","BackdropProps","classesProp","classes","className","closeAfterTransition","component","components","componentsProps","disableEscapeKeyDown","hideBackdrop","keepMounted","manager","onBackdropClick","onClose","onKeyDown","theme","onTransitionEnter","onTransitionExited","other","_objectWithoutPropertiesLoose","exited","setExited","mountNodeRef","hasTransition","hasOwnProperty","getHasTransition","getModal","handleMounted","scrollTop","handleOpen","useEventCallback","resolvedContainer","add","isTopModal","handlePortalRef","handleClose","remove","ownerState","_extends","slots","composeClasses","useUtilityClasses","childProps","undefined","onEnter","createChainedFunction","onExited","Root","rootProps","role","isHostComponent","as","stopPropagation","clsx","onClick","currentTarget","TrapFocus","ModalRoot","styled","overridesResolver","styles","hidden","position","zIndex","right","bottom","top","left","visibility","ModalBackdrop","Backdrop","backdrop","inProps","_componentsProps$root","useThemeProps","commonProps","extendUtilityClasses","ModalUnstyled","funcs","reduce","acc","func","args","apply","documentWidth","Math","abs","window","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","enumerable","configurable","writable","Object","defineProperty","_createClass","protoProps","staticProps","prototype"],"sourceRoot":""}