{"version":3,"file":"static/chunks/57222-36a386075b58fc12.js","mappings":"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","sources":["webpack://_N_E/./node_modules/@mui/material/Grow/Grow.js","webpack://_N_E/./node_modules/@mui/material/Menu/menuClasses.js","webpack://_N_E/./node_modules/@mui/material/Menu/Menu.js","webpack://_N_E/./node_modules/@mui/material/utils/getScrollbarSize.js","webpack://_N_E/./node_modules/@mui/material/MenuList/MenuList.js","webpack://_N_E/./node_modules/@mui/material/Popover/popoverClasses.js","webpack://_N_E/./node_modules/@mui/material/Popover/Popover.js"],"sourcesContent":["'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport useTimeout from '@mui/utils/useTimeout';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport { Transition } from 'react-transition-group';\nimport useTheme from '../styles/useTheme';\nimport { getTransitionProps, reflow } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getScale(value) {\n return `scale(${value}, ${value ** 2})`;\n}\nconst styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: 'none'\n }\n};\n\n/*\n TODO v6: remove\n Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers.\n */\nconst isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\\/)15(.|_)4/i.test(navigator.userAgent);\n\n/**\n * The Grow transition is used by the [Tooltip](/material-ui/react-tooltip/) and\n * [Popover](/material-ui/react-popover/) components.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = 'auto',\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const timer = useTimeout();\n const autoTimeout = React.useRef();\n const theme = useTheme();\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, children.ref, ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay,\n easing: transitionTimingFunction\n })].join(',');\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay: isWebKit154 ? delay : delay || duration * 0.333,\n easing: transitionTimingFunction\n })].join(',');\n node.style.opacity = 0;\n node.style.transform = getScale(0.75);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (timeout === 'auto') {\n timer.start(autoTimeout.current || 0, next);\n }\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: appear,\n in: inProp,\n nodeRef: nodeRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n transform: getScale(0.75),\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Grow.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n timeout: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nGrow.muiSupportAuto = true;\nexport default Grow;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getMenuUtilityClass(slot) {\n return generateUtilityClass('MuiMenu', slot);\n}\nconst menuClasses = generateUtilityClasses('MuiMenu', ['root', 'paper', 'list']);\nexport default menuClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"autoFocus\", \"children\", \"className\", \"disableAutoFocusItem\", \"MenuListProps\", \"onClose\", \"open\", \"PaperProps\", \"PopoverClasses\", \"transitionDuration\", \"TransitionProps\", \"variant\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useSlotProps } from '@mui/base/utils';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport MenuList from '../MenuList';\nimport Popover, { PopoverPaper } from '../Popover';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getMenuUtilityClass } from './menuClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RTL_ORIGIN = {\n vertical: 'top',\n horizontal: 'right'\n};\nconst LTR_ORIGIN = {\n vertical: 'top',\n horizontal: 'left'\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper'],\n list: ['list']\n };\n return composeClasses(slots, getMenuUtilityClass, classes);\n};\nconst MenuRoot = styled(Popover, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenu',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nexport const MenuPaper = styled(PopoverPaper, {\n name: 'MuiMenu',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n // specZ: The maximum height of a simple menu should be one or more rows less than the view\n // height. This ensures a tappable area outside of the simple menu with which to dismiss\n // the menu.\n maxHeight: 'calc(100% - 96px)',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch'\n});\nconst MenuMenuList = styled(MenuList, {\n name: 'MuiMenu',\n slot: 'List',\n overridesResolver: (props, styles) => styles.list\n})({\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {\n var _slots$paper, _slotProps$paper;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenu'\n });\n const {\n autoFocus = true,\n children,\n className,\n disableAutoFocusItem = false,\n MenuListProps = {},\n onClose,\n open,\n PaperProps = {},\n PopoverClasses,\n transitionDuration = 'auto',\n TransitionProps: {\n onEntering\n } = {},\n variant = 'selectedMenu',\n slots = {},\n slotProps = {}\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const isRtl = useRtl();\n const ownerState = _extends({}, props, {\n autoFocus,\n disableAutoFocusItem,\n MenuListProps,\n onEntering,\n PaperProps,\n transitionDuration,\n TransitionProps,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const autoFocusItem = autoFocus && !disableAutoFocusItem && open;\n const menuListActionsRef = React.useRef(null);\n const handleEntering = (element, isAppearing) => {\n if (menuListActionsRef.current) {\n menuListActionsRef.current.adjustStyleForScrollbar(element, {\n direction: isRtl ? 'rtl' : 'ltr'\n });\n }\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n };\n const handleListKeyDown = event => {\n if (event.key === 'Tab') {\n event.preventDefault();\n if (onClose) {\n onClose(event, 'tabKeyDown');\n }\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 let activeItemIndex = -1;\n // 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 React.Children.map(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\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 const PaperSlot = (_slots$paper = slots.paper) != null ? _slots$paper : MenuPaper;\n const paperExternalSlotProps = (_slotProps$paper = slotProps.paper) != null ? _slotProps$paper : PaperProps;\n const rootSlotProps = useSlotProps({\n elementType: slots.root,\n externalSlotProps: slotProps.root,\n ownerState,\n className: [classes.root, className]\n });\n const paperSlotProps = useSlotProps({\n elementType: PaperSlot,\n externalSlotProps: paperExternalSlotProps,\n ownerState,\n className: classes.paper\n });\n return /*#__PURE__*/_jsx(MenuRoot, _extends({\n onClose: onClose,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: isRtl ? 'right' : 'left'\n },\n transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,\n slots: {\n paper: PaperSlot,\n root: slots.root\n },\n slotProps: {\n root: rootSlotProps,\n paper: paperSlotProps\n },\n open: open,\n ref: ref,\n transitionDuration: transitionDuration,\n TransitionProps: _extends({\n onEntering: handleEntering\n }, TransitionProps),\n ownerState: ownerState\n }, other, {\n classes: PopoverClasses,\n children: /*#__PURE__*/_jsx(MenuMenuList, _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 children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Menu.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the position of the menu.\n */\n anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\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 * @default true\n */\n autoFocus: PropTypes.bool,\n /**\n * Menu contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * 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 * @default false\n */\n disableAutoFocusItem: PropTypes.bool,\n /**\n * Props applied to the [`MenuList`](/material-ui/api/menu-list/) element.\n * @default {}\n */\n MenuListProps: PropTypes.object,\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 * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * @ignore\n */\n PaperProps: PropTypes.object,\n /**\n * `classes` prop applied to the [`Popover`](/material-ui/api/popover/) element.\n */\n PopoverClasses: PropTypes.object,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n paper: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The length of the transition in `ms`, or 'auto'\n * @default '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 * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default Menu;","import getScrollbarSize from '@mui/utils/getScrollbarSize';\nexport default getScrollbarSize;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"actions\", \"autoFocus\", \"autoFocusItem\", \"children\", \"className\", \"disabledItemsFocusable\", \"disableListWrap\", \"onKeyDown\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport ownerDocument from '../utils/ownerDocument';\nimport List from '../List';\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport useForkRef from '../utils/useForkRef';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction nextItem(list, item, disableListWrap) {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return disableListWrap ? null : list.firstChild;\n}\nfunction previousItem(list, item, disableListWrap) {\n if (list === item) {\n return disableListWrap ? list.firstChild : list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return disableListWrap ? null : list.lastChild;\n}\nfunction textCriteriaMatches(nextFocus, textCriteria) {\n if (textCriteria === undefined) {\n return true;\n }\n let text = nextFocus.innerText;\n if (text === undefined) {\n // jsdom doesn't support innerText\n text = nextFocus.textContent;\n }\n text = text.trim().toLowerCase();\n if (text.length === 0) {\n return false;\n }\n if (textCriteria.repeating) {\n return text[0] === textCriteria.keys[0];\n }\n return text.indexOf(textCriteria.keys.join('')) === 0;\n}\nfunction moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return false;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\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 true;\n }\n }\n return false;\n}\n\n/**\n * A permanently displayed menu following https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/.\n * It's exposed to help customization of the [`Menu`](/material-ui/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 */\nconst MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {\n const {\n // private\n // eslint-disable-next-line react/prop-types\n actions,\n autoFocus = false,\n autoFocusItem = false,\n children,\n className,\n disabledItemsFocusable = false,\n disableListWrap = false,\n onKeyDown,\n variant = 'selectedMenu'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const listRef = React.useRef(null);\n const textCriteriaRef = React.useRef({\n keys: [],\n repeating: true,\n previousKeyMatched: true,\n lastTime: null\n });\n useEnhancedEffect(() => {\n if (autoFocus) {\n listRef.current.focus();\n }\n }, [autoFocus]);\n React.useImperativeHandle(actions, () => ({\n adjustStyleForScrollbar: (containerElement, {\n direction\n }) => {\n // Let's ignore that piece of logic if users are already overriding the width\n // of the menu.\n const noExplicitWidth = !listRef.current.style.width;\n if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {\n const scrollbarSize = `${getScrollbarSize(ownerDocument(containerElement))}px`;\n listRef.current.style[direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;\n listRef.current.style.width = `calc(100% + ${scrollbarSize})`;\n }\n return listRef.current;\n }\n }), []);\n const handleKeyDown = event => {\n const list = listRef.current;\n const 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 const currentFocus = ownerDocument(list).activeElement;\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 const criteria = textCriteriaRef.current;\n const lowerKey = key.toLowerCase();\n const currTime = performance.now();\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 criteria.lastTime = currTime;\n criteria.keys.push(lowerKey);\n const keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria);\n if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) {\n event.preventDefault();\n } else {\n criteria.previousKeyMatched = false;\n }\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleRef = useForkRef(listRef, ref);\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 let activeItemIndex = -1;\n // 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 React.Children.forEach(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n if (activeItemIndex === index) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\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 if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n });\n const items = React.Children.map(children, (child, index) => {\n if (index === activeItemIndex) {\n const newChildProps = {};\n if (autoFocusItem) {\n newChildProps.autoFocus = true;\n }\n if (child.props.tabIndex === undefined && variant === 'selectedMenu') {\n newChildProps.tabIndex = 0;\n }\n return /*#__PURE__*/React.cloneElement(child, newChildProps);\n }\n return child;\n });\n return /*#__PURE__*/_jsx(List, _extends({\n role: \"menu\",\n ref: handleRef,\n className: className,\n onKeyDown: handleKeyDown,\n tabIndex: autoFocus ? 0 : -1\n }, other, {\n children: items\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuList.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, will focus the `[role=\"menu\"]` container and move into tab order.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, will focus the first menuitem if `variant=\"menu\"` or selected item\n * if `variant=\"selectedMenu\"`.\n * @default false\n */\n autoFocusItem: PropTypes.bool,\n /**\n * MenuList contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the menu items will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\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 * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default MenuList;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPopoverUtilityClass(slot) {\n return generateUtilityClass('MuiPopover', slot);\n}\nconst popoverClasses = generateUtilityClasses('MuiPopover', ['root', 'paper']);\nexport default popoverClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"action\", \"anchorEl\", \"anchorOrigin\", \"anchorPosition\", \"anchorReference\", \"children\", \"className\", \"container\", \"elevation\", \"marginThreshold\", \"open\", \"PaperProps\", \"slots\", \"slotProps\", \"transformOrigin\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\", \"disableScrollLock\"],\n _excluded3 = [\"slotProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { useSlotProps, isHostComponent } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport debounce from '../utils/debounce';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport useForkRef from '../utils/useForkRef';\nimport Grow from '../Grow';\nimport Modal from '../Modal';\nimport PaperBase from '../Paper';\nimport { getPopoverUtilityClass } from './popoverClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getOffsetTop(rect, vertical) {\n let offset = 0;\n if (typeof vertical === 'number') {\n offset = vertical;\n } else if (vertical === 'center') {\n offset = rect.height / 2;\n } else if (vertical === 'bottom') {\n offset = rect.height;\n }\n return offset;\n}\nexport function getOffsetLeft(rect, horizontal) {\n let offset = 0;\n if (typeof horizontal === 'number') {\n offset = horizontal;\n } else if (horizontal === 'center') {\n offset = rect.width / 2;\n } else if (horizontal === 'right') {\n offset = rect.width;\n }\n return offset;\n}\nfunction getTransformOriginValue(transformOrigin) {\n return [transformOrigin.horizontal, transformOrigin.vertical].map(n => typeof n === 'number' ? `${n}px` : n).join(' ');\n}\nfunction resolveAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper']\n };\n return composeClasses(slots, getPopoverUtilityClass, classes);\n};\nexport const PopoverRoot = styled(Modal, {\n name: 'MuiPopover',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nexport const PopoverPaper = styled(PaperBase, {\n name: 'MuiPopover',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n position: 'absolute',\n overflowY: 'auto',\n overflowX: 'hidden',\n // So we see the popover when it's empty.\n // It's most likely on issue on userland.\n minWidth: 16,\n minHeight: 16,\n maxWidth: 'calc(100% - 32px)',\n maxHeight: 'calc(100% - 32px)',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {\n var _slotProps$paper, _slots$root, _slots$paper;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPopover'\n });\n const {\n action,\n anchorEl,\n anchorOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n anchorPosition,\n anchorReference = 'anchorEl',\n children,\n className,\n container: containerProp,\n elevation = 8,\n marginThreshold = 16,\n open,\n PaperProps: PaperPropsProp = {},\n slots,\n slotProps,\n transformOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n TransitionComponent = Grow,\n transitionDuration: transitionDurationProp = 'auto',\n TransitionProps: {\n onEntering\n } = {},\n disableScrollLock = false\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const externalPaperSlotProps = (_slotProps$paper = slotProps == null ? void 0 : slotProps.paper) != null ? _slotProps$paper : PaperPropsProp;\n const paperRef = React.useRef();\n const handlePaperRef = useForkRef(paperRef, externalPaperSlotProps.ref);\n const ownerState = _extends({}, props, {\n anchorOrigin,\n anchorReference,\n elevation,\n marginThreshold,\n externalPaperSlotProps,\n transformOrigin,\n TransitionComponent,\n transitionDuration: transitionDurationProp,\n TransitionProps\n });\n const classes = useUtilityClasses(ownerState);\n\n // Returns the top/left offset of the position\n // to attach to on the anchor element (or body if none is provided)\n const getAnchorOffset = React.useCallback(() => {\n if (anchorReference === 'anchorPosition') {\n if (process.env.NODE_ENV !== 'production') {\n if (!anchorPosition) {\n console.error('MUI: You need to provide a `anchorPosition` prop when using ' + '.');\n }\n }\n return anchorPosition;\n }\n const resolvedAnchorEl = resolveAnchorEl(anchorEl);\n\n // If an anchor element wasn't provided, just use the parent body element of this Popover\n const anchorElement = resolvedAnchorEl && resolvedAnchorEl.nodeType === 1 ? resolvedAnchorEl : ownerDocument(paperRef.current).body;\n const anchorRect = anchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'production') {\n const box = anchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n return {\n top: anchorRect.top + getOffsetTop(anchorRect, anchorOrigin.vertical),\n left: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin.horizontal)\n };\n }, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical, anchorPosition, anchorReference]);\n\n // Returns the base transform origin using the element\n const getTransformOrigin = React.useCallback(elemRect => {\n return {\n vertical: getOffsetTop(elemRect, transformOrigin.vertical),\n horizontal: getOffsetLeft(elemRect, transformOrigin.horizontal)\n };\n }, [transformOrigin.horizontal, transformOrigin.vertical]);\n const getPositioningStyle = React.useCallback(element => {\n const elemRect = {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n\n // Get the transform origin point on the element itself\n const elemTransformOrigin = getTransformOrigin(elemRect);\n if (anchorReference === 'none') {\n return {\n top: null,\n left: null,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }\n\n // Get the offset of the anchoring element\n const anchorOffset = getAnchorOffset();\n\n // Calculate element positioning\n let top = anchorOffset.top - elemTransformOrigin.vertical;\n let left = anchorOffset.left - elemTransformOrigin.horizontal;\n const bottom = top + elemRect.height;\n const right = left + elemRect.width;\n\n // Use the parent window of the anchorEl if provided\n const containerWindow = ownerWindow(resolveAnchorEl(anchorEl));\n\n // Window thresholds taking required margin into account\n const heightThreshold = containerWindow.innerHeight - marginThreshold;\n const widthThreshold = containerWindow.innerWidth - marginThreshold;\n\n // Check if the vertical axis needs shifting\n if (marginThreshold !== null && top < marginThreshold) {\n const diff = top - marginThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n } else if (marginThreshold !== null && bottom > heightThreshold) {\n const diff = bottom - heightThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (elemRect.height > heightThreshold && elemRect.height && heightThreshold) {\n console.error(['MUI: The popover component is too tall.', `Some part of it can not be seen on the screen (${elemRect.height - heightThreshold}px).`, 'Please consider adding a `max-height` to improve the user-experience.'].join('\\n'));\n }\n }\n\n // Check if the horizontal axis needs shifting\n if (marginThreshold !== null && left < marginThreshold) {\n const diff = left - marginThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n } else if (right > widthThreshold) {\n const diff = right - widthThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n }\n return {\n top: `${Math.round(top)}px`,\n left: `${Math.round(left)}px`,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }, [anchorEl, anchorReference, getAnchorOffset, getTransformOrigin, marginThreshold]);\n const [isPositioned, setIsPositioned] = React.useState(open);\n const setPositioningStyles = React.useCallback(() => {\n const element = paperRef.current;\n if (!element) {\n return;\n }\n const positioning = getPositioningStyle(element);\n if (positioning.top !== null) {\n element.style.top = positioning.top;\n }\n if (positioning.left !== null) {\n element.style.left = positioning.left;\n }\n element.style.transformOrigin = positioning.transformOrigin;\n setIsPositioned(true);\n }, [getPositioningStyle]);\n React.useEffect(() => {\n if (disableScrollLock) {\n window.addEventListener('scroll', setPositioningStyles);\n }\n return () => window.removeEventListener('scroll', setPositioningStyles);\n }, [anchorEl, disableScrollLock, setPositioningStyles]);\n const handleEntering = (element, isAppearing) => {\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n setPositioningStyles();\n };\n const handleExited = () => {\n setIsPositioned(false);\n };\n React.useEffect(() => {\n if (open) {\n setPositioningStyles();\n }\n });\n React.useImperativeHandle(action, () => open ? {\n updatePosition: () => {\n setPositioningStyles();\n }\n } : null, [open, setPositioningStyles]);\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n const handleResize = debounce(() => {\n setPositioningStyles();\n });\n const containerWindow = ownerWindow(anchorEl);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [anchorEl, open, setPositioningStyles]);\n let transitionDuration = transitionDurationProp;\n if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {\n transitionDuration = undefined;\n }\n\n // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n const container = containerProp || (anchorEl ? ownerDocument(resolveAnchorEl(anchorEl)).body : undefined);\n const RootSlot = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : PopoverRoot;\n const PaperSlot = (_slots$paper = slots == null ? void 0 : slots.paper) != null ? _slots$paper : PopoverPaper;\n const paperProps = useSlotProps({\n elementType: PaperSlot,\n externalSlotProps: _extends({}, externalPaperSlotProps, {\n style: isPositioned ? externalPaperSlotProps.style : _extends({}, externalPaperSlotProps.style, {\n opacity: 0\n })\n }),\n additionalProps: {\n elevation,\n ref: handlePaperRef\n },\n ownerState,\n className: clsx(classes.paper, externalPaperSlotProps == null ? void 0 : externalPaperSlotProps.className)\n });\n const _useSlotProps = useSlotProps({\n elementType: RootSlot,\n externalSlotProps: (slotProps == null ? void 0 : slotProps.root) || {},\n externalForwardedProps: other,\n additionalProps: {\n ref,\n slotProps: {\n backdrop: {\n invisible: true\n }\n },\n container,\n open\n },\n ownerState,\n className: clsx(classes.root, className)\n }),\n {\n slotProps: rootSlotPropsProp\n } = _useSlotProps,\n rootProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded3);\n return /*#__PURE__*/_jsx(RootSlot, _extends({}, rootProps, !isHostComponent(RootSlot) && {\n slotProps: rootSlotPropsProp,\n disableScrollLock\n }, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n onEntering: handleEntering,\n onExited: handleExited,\n timeout: transitionDuration\n }, TransitionProps, {\n children: /*#__PURE__*/_jsx(PaperSlot, _extends({}, paperProps, {\n children: children\n }))\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Popover.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A ref for imperative actions.\n * It currently only supports updatePosition() action.\n */\n action: refType,\n /**\n * An HTML element, [PopoverVirtualElement](/material-ui/react-popover/#virtual-element),\n * or a function that returns either.\n * It's used to set the position of the popover.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open && (!props.anchorReference || props.anchorReference === 'anchorEl')) {\n const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);\n if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {\n const box = resolvedAnchorEl.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', `It should be an Element or PopoverVirtualElement instance but it's \\`${resolvedAnchorEl}\\` instead.`].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * This is the point on the anchor where the popover's\n * `anchorEl` will attach to. This is not used when the\n * anchorReference is 'anchorPosition'.\n *\n * Options:\n * vertical: [top, center, bottom];\n * horizontal: [left, center, right].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n /**\n * This is the position that may be used to set the position of the popover.\n * The coordinates are relative to the application's client area.\n */\n anchorPosition: PropTypes.shape({\n left: PropTypes.number.isRequired,\n top: PropTypes.number.isRequired\n }),\n /**\n * This determines which anchor prop to refer to when setting\n * the position of the popover.\n * @default 'anchorEl'\n */\n anchorReference: PropTypes.oneOf(['anchorEl', 'anchorPosition', 'none']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * An HTML element, component instance, or function that returns either.\n * The `container` will passed to the Modal component.\n *\n * By default, it uses the body of the anchorEl's top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n /**\n * The elevation of the popover.\n * @default 8\n */\n elevation: integerPropType,\n /**\n * Specifies how close to the edge of the window the popover can appear.\n * If null, the popover will not be constrained by the window.\n * @default 16\n */\n marginThreshold: PropTypes.number,\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 onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n *\n * This prop is an alias for `slotProps.paper` and will be overriden by it if both are used.\n * @deprecated Use `slotProps.paper` instead.\n *\n * @default {}\n */\n PaperProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({\n component: elementTypeAcceptingRef\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n paper: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * This is the point on the popover which\n * will attach to the anchor's origin.\n *\n * Options:\n * vertical: [top, center, bottom, x(px)];\n * horizontal: [left, center, right, x(px)].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n transformOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default '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 * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Popover;"],"names":["_excluded","getScale","value","concat","styles","entering","opacity","transform","entered","isWebKit154","navigator","test","userAgent","Grow","React","props","ref","addEndListener","appear","children","easing","in","inProp","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent","Transition","other","_objectWithoutPropertiesLoose","timer","useTimeout","autoTimeout","theme","useTheme","nodeRef","handleRef","useForkRef","normalizedTransitionCallback","callback","maybeIsAppearing","node","current","undefined","handleEntering","handleEnter","isAppearing","duration","reflow","transitionDuration","delay","transitionTimingFunction","getTransitionProps","mode","transitions","getAutoHeightDuration","clientHeight","transition","create","join","handleEntered","handleExiting","handleExit","handleExited","_jsx","_extends","next","start","state","childProps","visibility","muiSupportAuto","__webpack_exports__","Z","getMenuUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded2","RTL_ORIGIN","vertical","horizontal","LTR_ORIGIN","useUtilityClasses","ownerState","classes","composeClasses","root","paper","list","MenuRoot","styled","Popover","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","MenuPaper","PopoverPaper","maxHeight","WebkitOverflowScrolling","MenuMenuList","MenuList","outline","Menu_Menu","inProps","_slots$paper","_slotProps$paper","useThemeProps","autoFocus","className","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","TransitionProps","variant","slots","slotProps","isRtl","useRtl","autoFocusItem","menuListActionsRef","activeItemIndex","map","child","index","disabled","selected","PaperSlot","paperExternalSlotProps","rootSlotProps","useSlotProps","elementType","externalSlotProps","paperSlotProps","anchorOrigin","transformOrigin","element","adjustStyleForScrollbar","direction","onKeyDown","event","key","preventDefault","actions","clsx","utils_getScrollbarSize","getScrollbarSize","nextItem","item","disableListWrap","firstChild","nextElementSibling","previousItem","lastChild","previousElementSibling","textCriteriaMatches","nextFocus","textCriteria","text","innerText","textContent","trim","toLowerCase","length","repeating","keys","indexOf","moveFocus","currentFocus","disabledItemsFocusable","traversalFunction","wrappedOnce","nextFocusDisabled","getAttribute","hasAttribute","focus","MenuList_MenuList","listRef","textCriteriaRef","previousKeyMatched","lastTime","useEnhancedEffect","containerElement","param","noExplicitWidth","width","scrollbarSize","ownerDocument","forEach","muiSkipListHighlight","type","items","newChildProps","tabIndex","List","role","activeElement","criteria","lowerKey","currTime","performance","now","push","keepFocusOnCurrent","getPopoverUtilityClass","_excluded3","getOffsetTop","rect","offset","height","getOffsetLeft","getTransformOriginValue","n","resolveAnchorEl","anchorEl","PopoverRoot","Modal","PaperBase","position","overflowY","overflowX","minWidth","minHeight","maxWidth","Popover_Popover","_slots$root","action","anchorPosition","anchorReference","container","containerProp","elevation","marginThreshold","PaperPropsProp","transitionDurationProp","disableScrollLock","externalPaperSlotProps","paperRef","handlePaperRef","getAnchorOffset","resolvedAnchorEl","anchorRect","anchorElement","nodeType","body","getBoundingClientRect","top","left","getTransformOrigin","elemRect","getPositioningStyle","offsetWidth","offsetHeight","elemTransformOrigin","anchorOffset","bottom","right","containerWindow","ownerWindow","heightThreshold","innerHeight","widthThreshold","innerWidth","diff","Math","round","isPositioned","setIsPositioned","setPositioningStyles","positioning","window","addEventListener","removeEventListener","updatePosition","handleResize","debounce","clear","RootSlot","paperProps","additionalProps","_useSlotProps","externalForwardedProps","backdrop","invisible","rootSlotPropsProp","rootProps","isHostComponent"],"sourceRoot":""}