{"version":3,"file":"static/js/7124.6bda5c08.chunk.js","mappings":"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","sources":["../node_modules/@material-ui/core/esm/List/ListContext.js","../node_modules/@material-ui/core/esm/List/List.js","../node_modules/@material-ui/core/esm/MenuList/MenuList.js","../node_modules/@material-ui/core/esm/Menu/Menu.js","../node_modules/@material-ui/core/esm/utils/isMuiElement.js"],"sourcesContent":["import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nvar ListContext = React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ListContext.displayName = 'ListContext';\n}\n\nexport default ListContext;","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';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport ListContext from './ListContext';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative'\n },\n\n /* Styles applied to the root element if `disablePadding={false}`. */\n padding: {\n paddingTop: 8,\n paddingBottom: 8\n },\n\n /* Styles applied to the root element if dense. */\n dense: {},\n\n /* Styles applied to the root element if a `subheader` is provided. */\n subheader: {\n paddingTop: 0\n }\n};\nvar List = /*#__PURE__*/React.forwardRef(function List(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'ul' : _props$component,\n _props$dense = props.dense,\n dense = _props$dense === void 0 ? false : _props$dense,\n _props$disablePadding = props.disablePadding,\n disablePadding = _props$disablePadding === void 0 ? false : _props$disablePadding,\n subheader = props.subheader,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"component\", \"dense\", \"disablePadding\", \"subheader\"]);\n\n var context = React.useMemo(function () {\n return {\n dense: dense\n };\n }, [dense]);\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, dense && classes.dense, !disablePadding && classes.padding, subheader && classes.subheader),\n ref: ref\n }, other), subheader, children));\n});\nprocess.env.NODE_ENV !== \"production\" ? List.propTypes = {\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 * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\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\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input will be used for\n * the list and list items.\n * The prop is available to descendant components as the `dense` context.\n */\n dense: PropTypes.bool,\n\n /**\n * If `true`, vertical padding will be removed from the list.\n */\n disablePadding: PropTypes.bool,\n\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: PropTypes.node\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiList'\n})(List);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport * as ReactDOM from 'react-dom';\nimport ownerDocument from '../utils/ownerDocument';\nimport List from '../List';\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport useForkRef from '../utils/useForkRef';\n\nfunction nextItem(list, item, disableListWrap) {\n if (list === item) {\n return list.firstChild;\n }\n\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n\n return disableListWrap ? null : list.firstChild;\n}\n\nfunction previousItem(list, item, disableListWrap) {\n if (list === item) {\n return disableListWrap ? list.firstChild : list.lastChild;\n }\n\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n\n return disableListWrap ? null : list.lastChild;\n}\n\nfunction textCriteriaMatches(nextFocus, textCriteria) {\n if (textCriteria === undefined) {\n return true;\n }\n\n var text = nextFocus.innerText;\n\n if (text === undefined) {\n // jsdom doesn't support innerText\n text = nextFocus.textContent;\n }\n\n text = text.trim().toLowerCase();\n\n if (text.length === 0) {\n return false;\n }\n\n if (textCriteria.repeating) {\n return text[0] === textCriteria.keys[0];\n }\n\n return text.indexOf(textCriteria.keys.join('')) === 0;\n}\n\nfunction moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) {\n var wrappedOnce = false;\n var nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false);\n\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return;\n }\n\n wrappedOnce = true;\n } // Same logic as useAutocomplete.js\n\n\n var nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n\n if (!nextFocus.hasAttribute('tabindex') || !textCriteriaMatches(nextFocus, textCriteria) || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus, disableListWrap);\n } else {\n nextFocus.focus();\n return;\n }\n }\n}\n\nvar useEnhancedEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;\n/**\n * A permanently displayed menu following https://www.w3.org/TR/wai-aria-practices/#menubutton.\n * It's exposed to help customization of the [`Menu`](/api/menu/) component. If you\n * use it separately you need to move focus into the component manually. Once\n * the focus is placed inside the component it is fully keyboard accessible.\n */\n\nvar MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {\n var actions = props.actions,\n _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus,\n _props$autoFocusItem = props.autoFocusItem,\n autoFocusItem = _props$autoFocusItem === void 0 ? false : _props$autoFocusItem,\n children = props.children,\n className = props.className,\n _props$disabledItemsF = props.disabledItemsFocusable,\n disabledItemsFocusable = _props$disabledItemsF === void 0 ? false : _props$disabledItemsF,\n _props$disableListWra = props.disableListWrap,\n disableListWrap = _props$disableListWra === void 0 ? false : _props$disableListWra,\n onKeyDown = props.onKeyDown,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'selectedMenu' : _props$variant,\n other = _objectWithoutProperties(props, [\"actions\", \"autoFocus\", \"autoFocusItem\", \"children\", \"className\", \"disabledItemsFocusable\", \"disableListWrap\", \"onKeyDown\", \"variant\"]);\n\n var listRef = React.useRef(null);\n var textCriteriaRef = React.useRef({\n keys: [],\n repeating: true,\n previousKeyMatched: true,\n lastTime: null\n });\n useEnhancedEffect(function () {\n if (autoFocus) {\n listRef.current.focus();\n }\n }, [autoFocus]);\n React.useImperativeHandle(actions, function () {\n return {\n adjustStyleForScrollbar: function adjustStyleForScrollbar(containerElement, theme) {\n // Let's ignore that piece of logic if users are already overriding the width\n // of the menu.\n var noExplicitWidth = !listRef.current.style.width;\n\n if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {\n var scrollbarSize = \"\".concat(getScrollbarSize(true), \"px\");\n listRef.current.style[theme.direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;\n listRef.current.style.width = \"calc(100% + \".concat(scrollbarSize, \")\");\n }\n\n return listRef.current;\n }\n };\n }, []);\n\n var handleKeyDown = function handleKeyDown(event) {\n var list = listRef.current;\n var key = event.key;\n /**\n * @type {Element} - will always be defined since we are in a keydown handler\n * attached to an element. A keydown event is either dispatched to the activeElement\n * or document.body or document.documentElement. Only the first case will\n * trigger this specific handler.\n */\n\n var currentFocus = ownerDocument(list).activeElement;\n\n if (key === 'ArrowDown') {\n // Prevent scroll of the page\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'ArrowUp') {\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key === 'Home') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'End') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key.length === 1) {\n var criteria = textCriteriaRef.current;\n var lowerKey = key.toLowerCase();\n var currTime = performance.now();\n\n if (criteria.keys.length > 0) {\n // Reset\n if (currTime - criteria.lastTime > 500) {\n criteria.keys = [];\n criteria.repeating = true;\n criteria.previousKeyMatched = true;\n } else if (criteria.repeating && lowerKey !== criteria.keys[0]) {\n criteria.repeating = false;\n }\n }\n\n criteria.lastTime = currTime;\n criteria.keys.push(lowerKey);\n var keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria);\n\n if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) {\n event.preventDefault();\n } else {\n criteria.previousKeyMatched = false;\n }\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n var handleOwnRef = React.useCallback(function (instance) {\n // #StrictMode ready\n listRef.current = ReactDOM.findDOMNode(instance);\n }, []);\n var handleRef = useForkRef(handleOwnRef, ref);\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n\n var activeItemIndex = -1; // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n\n React.Children.forEach(children, function (child, index) {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"Material-UI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n });\n var items = React.Children.map(children, function (child, index) {\n if (index === activeItemIndex) {\n var newChildProps = {};\n\n if (autoFocusItem) {\n newChildProps.autoFocus = true;\n }\n\n if (child.props.tabIndex === undefined && variant === 'selectedMenu') {\n newChildProps.tabIndex = 0;\n }\n\n return /*#__PURE__*/React.cloneElement(child, newChildProps);\n }\n\n return child;\n });\n return /*#__PURE__*/React.createElement(List, _extends({\n role: \"menu\",\n ref: handleRef,\n className: className,\n onKeyDown: handleKeyDown,\n tabIndex: autoFocus ? 0 : -1\n }, other), items);\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuList.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 * If `true`, will focus the `[role=\"menu\"]` container and move into tab order.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, will focus the first menuitem if `variant=\"menu\"` or selected item\n * if `variant=\"selectedMenu\"`.\n */\n autoFocusItem: PropTypes.bool,\n\n /**\n * MenuList contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, will allow focus on disabled items.\n */\n disabledItemsFocusable: PropTypes.bool,\n\n /**\n * If `true`, the menu items will not wrap focus.\n */\n disableListWrap: PropTypes.bool,\n\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus\n * and the vertical alignment relative to the anchor element.\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default MenuList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { HTMLElementType } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nimport Popover from '../Popover';\nimport MenuList from '../MenuList';\nimport * as ReactDOM from 'react-dom';\nimport setRef from '../utils/setRef';\nimport useTheme from '../styles/useTheme';\nimport deprecatedPropType from '../utils/deprecatedPropType';\nvar RTL_ORIGIN = {\n vertical: 'top',\n horizontal: 'right'\n};\nvar LTR_ORIGIN = {\n vertical: 'top',\n horizontal: 'left'\n};\nexport var styles = {\n /* Styles applied to the `Paper` component. */\n paper: {\n // specZ: The maximum height of a simple menu should be one or more rows less than the view\n // height. This ensures a tapable area outside of the simple menu with which to dismiss\n // the menu.\n maxHeight: 'calc(100% - 96px)',\n // Add iOS momentum scrolling.\n WebkitOverflowScrolling: 'touch'\n },\n\n /* Styles applied to the `List` component via `MenuList`. */\n list: {\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n }\n};\nvar Menu = /*#__PURE__*/React.forwardRef(function Menu(props, ref) {\n var _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus,\n children = props.children,\n classes = props.classes,\n _props$disableAutoFoc = props.disableAutoFocusItem,\n disableAutoFocusItem = _props$disableAutoFoc === void 0 ? false : _props$disableAutoFoc,\n _props$MenuListProps = props.MenuListProps,\n MenuListProps = _props$MenuListProps === void 0 ? {} : _props$MenuListProps,\n onClose = props.onClose,\n onEnteringProp = props.onEntering,\n open = props.open,\n _props$PaperProps = props.PaperProps,\n PaperProps = _props$PaperProps === void 0 ? {} : _props$PaperProps,\n PopoverClasses = props.PopoverClasses,\n _props$transitionDura = props.transitionDuration,\n transitionDuration = _props$transitionDura === void 0 ? 'auto' : _props$transitionDura,\n _props$TransitionProp = props.TransitionProps;\n _props$TransitionProp = _props$TransitionProp === void 0 ? {} : _props$TransitionProp;\n\n var onEntering = _props$TransitionProp.onEntering,\n TransitionProps = _objectWithoutProperties(_props$TransitionProp, [\"onEntering\"]),\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'selectedMenu' : _props$variant,\n other = _objectWithoutProperties(props, [\"autoFocus\", \"children\", \"classes\", \"disableAutoFocusItem\", \"MenuListProps\", \"onClose\", \"onEntering\", \"open\", \"PaperProps\", \"PopoverClasses\", \"transitionDuration\", \"TransitionProps\", \"variant\"]);\n\n var theme = useTheme();\n var autoFocusItem = autoFocus && !disableAutoFocusItem && open;\n var menuListActionsRef = React.useRef(null);\n var contentAnchorRef = React.useRef(null);\n\n var getContentAnchorEl = function getContentAnchorEl() {\n return contentAnchorRef.current;\n };\n\n var handleEntering = function handleEntering(element, isAppearing) {\n if (menuListActionsRef.current) {\n menuListActionsRef.current.adjustStyleForScrollbar(element, theme);\n }\n\n if (onEnteringProp) {\n onEnteringProp(element, isAppearing);\n }\n\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n };\n\n var handleListKeyDown = function handleListKeyDown(event) {\n if (event.key === 'Tab') {\n event.preventDefault();\n\n if (onClose) {\n onClose(event, 'tabKeyDown');\n }\n }\n };\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n\n\n var activeItemIndex = -1; // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n\n React.Children.map(children, function (child, index) {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"Material-UI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n\n if (!child.props.disabled) {\n if (variant !== \"menu\" && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n });\n var items = React.Children.map(children, function (child, index) {\n if (index === activeItemIndex) {\n return /*#__PURE__*/React.cloneElement(child, {\n ref: function ref(instance) {\n // #StrictMode ready\n contentAnchorRef.current = ReactDOM.findDOMNode(instance);\n setRef(child.ref, instance);\n }\n });\n }\n\n return child;\n });\n return /*#__PURE__*/React.createElement(Popover, _extends({\n getContentAnchorEl: getContentAnchorEl,\n classes: PopoverClasses,\n onClose: onClose,\n TransitionProps: _extends({\n onEntering: handleEntering\n }, TransitionProps),\n anchorOrigin: theme.direction === 'rtl' ? RTL_ORIGIN : LTR_ORIGIN,\n transformOrigin: theme.direction === 'rtl' ? RTL_ORIGIN : LTR_ORIGIN,\n PaperProps: _extends({}, PaperProps, {\n classes: _extends({}, PaperProps.classes, {\n root: classes.paper\n })\n }),\n open: open,\n ref: ref,\n transitionDuration: transitionDuration\n }, other), /*#__PURE__*/React.createElement(MenuList, _extends({\n onKeyDown: handleListKeyDown,\n actions: menuListActionsRef,\n autoFocus: autoFocus && (activeItemIndex === -1 || disableAutoFocusItem),\n autoFocusItem: autoFocusItem,\n variant: variant\n }, MenuListProps, {\n className: clsx(classes.list, MenuListProps.className)\n }), items));\n});\nprocess.env.NODE_ENV !== \"production\" ? Menu.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 HTML element, or a function that returns it.\n * It's used to set the position of the menu.\n */\n anchorEl: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([HTMLElementType, PropTypes.func]),\n\n /**\n * If `true` (Default) will focus the `[role=\"menu\"]` if no focusable child is found. Disabled\n * children are not focusable. If you set this prop to `false` focus will be placed\n * on the parent modal container. This has severe accessibility implications\n * and should only be considered if you manage focus otherwise.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Menu contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * When opening the menu will not focus the active item but the `[role=\"menu\"]`\n * unless `autoFocus` is also set to `false`. Not using the default means not\n * following WAI-ARIA authoring practices. Please be considerate about possible\n * accessibility implications.\n */\n disableAutoFocusItem: PropTypes.bool,\n\n /**\n * Props applied to the [`MenuList`](/api/menu-list/) element.\n */\n MenuListProps: PropTypes.object,\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`, `\"tabKeyDown\"`.\n */\n onClose: PropTypes.func,\n\n /**\n * Callback fired before the Menu enters.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onEnter: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired when the Menu has entered.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onEntered: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired when the Menu is entering.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onEntering: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired before the Menu exits.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onExit: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired when the Menu has exited.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onExited: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * Callback fired when the Menu is exiting.\n * @deprecated Use the `TransitionProps` prop instead.\n */\n onExiting: deprecatedPropType(PropTypes.func, 'Use the `TransitionProps` prop instead.'),\n\n /**\n * If `true`, the menu is visible.\n */\n open: PropTypes.bool.isRequired,\n\n /**\n * @ignore\n */\n PaperProps: PropTypes.object,\n\n /**\n * `classes` prop applied to the [`Popover`](/api/popover/) element.\n */\n PopoverClasses: PropTypes.object,\n\n /**\n * The length of the transition in `ms`, or 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition) component.\n */\n TransitionProps: PropTypes.object,\n\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus\n * and the vertical alignment relative to the anchor element.\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiMenu'\n})(Menu);","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}"],"names":["ListContext","React","List","props","ref","children","classes","className","_props$component","component","Component","_props$dense","dense","_props$disablePadding","disablePadding","subheader","other","_objectWithoutProperties","context","value","_extends","clsx","root","padding","withStyles","listStyle","margin","position","paddingTop","paddingBottom","name","nextItem","list","item","disableListWrap","firstChild","nextElementSibling","previousItem","lastChild","previousElementSibling","textCriteriaMatches","nextFocus","textCriteria","undefined","text","innerText","textContent","trim","toLowerCase","length","repeating","keys","indexOf","join","moveFocus","currentFocus","disabledItemsFocusable","traversalFunction","wrappedOnce","nextFocusDisabled","disabled","getAttribute","hasAttribute","focus","useEnhancedEffect","window","actions","_props$autoFocus","autoFocus","_props$autoFocusItem","autoFocusItem","_props$disabledItemsF","_props$disableListWra","onKeyDown","_props$variant","variant","listRef","textCriteriaRef","previousKeyMatched","lastTime","current","adjustStyleForScrollbar","containerElement","theme","noExplicitWidth","style","width","clientHeight","scrollbarSize","concat","getScrollbarSize","direction","handleOwnRef","instance","ReactDOM","handleRef","useForkRef","activeItemIndex","child","index","selected","items","newChildProps","tabIndex","role","event","key","ownerDocument","activeElement","preventDefault","criteria","lowerKey","currTime","performance","now","push","keepFocusOnCurrent","RTL_ORIGIN","vertical","horizontal","LTR_ORIGIN","Menu","_props$disableAutoFoc","disableAutoFocusItem","_props$MenuListProps","MenuListProps","onClose","onEnteringProp","onEntering","open","_props$PaperProps","PaperProps","PopoverClasses","_props$transitionDura","transitionDuration","_props$TransitionProp","TransitionProps","useTheme","menuListActionsRef","contentAnchorRef","setRef","Popover","getContentAnchorEl","element","isAppearing","anchorOrigin","transformOrigin","paper","MenuList","maxHeight","WebkitOverflowScrolling","outline","isMuiElement","muiNames","type","muiName"],"sourceRoot":""}