{"version":3,"file":"static/chunks/5306-b5a405e139583cb3.js","mappings":"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","sources":["webpack://_N_E/./node_modules/@mui/base/AutocompleteUnstyled/useAutocomplete.js","webpack://_N_E/./node_modules/@mui/material/Autocomplete/autocompleteClasses.js","webpack://_N_E/./node_modules/@mui/material/Autocomplete/Autocomplete.js","webpack://_N_E/./node_modules/@mui/material/ListSubheader/listSubheaderClasses.js","webpack://_N_E/./node_modules/@mui/material/ListSubheader/ListSubheader.js","webpack://_N_E/"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\n\n/* eslint-disable no-constant-condition */\nimport * as React from 'react';\nimport { unstable_setRef as setRef, unstable_useEventCallback as useEventCallback, unstable_useControlled as useControlled, unstable_useId as useId } from '@mui/utils'; // https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript\n// Give up on IE11 support for this feature\n\nfunction stripDiacritics(string) {\n return typeof string.normalize !== 'undefined' ? string.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '') : string;\n}\n\nexport function createFilterOptions(config = {}) {\n const {\n ignoreAccents = true,\n ignoreCase = true,\n limit,\n matchFrom = 'any',\n stringify,\n trim = false\n } = config;\n return (options, {\n inputValue,\n getOptionLabel\n }) => {\n let input = trim ? inputValue.trim() : inputValue;\n\n if (ignoreCase) {\n input = input.toLowerCase();\n }\n\n if (ignoreAccents) {\n input = stripDiacritics(input);\n }\n\n const filteredOptions = options.filter(option => {\n let candidate = (stringify || getOptionLabel)(option);\n\n if (ignoreCase) {\n candidate = candidate.toLowerCase();\n }\n\n if (ignoreAccents) {\n candidate = stripDiacritics(candidate);\n }\n\n return matchFrom === 'start' ? candidate.indexOf(input) === 0 : candidate.indexOf(input) > -1;\n });\n return typeof limit === 'number' ? filteredOptions.slice(0, limit) : filteredOptions;\n };\n} // To replace with .findIndex() once we stop IE11 support.\n\nfunction findIndex(array, comp) {\n for (let i = 0; i < array.length; i += 1) {\n if (comp(array[i])) {\n return i;\n }\n }\n\n return -1;\n}\n\nconst defaultFilterOptions = createFilterOptions(); // Number of options to jump in list box when pageup and pagedown keys are used.\n\nconst pageSize = 5;\nexport default function useAutocomplete(props) {\n const {\n autoComplete = false,\n autoHighlight = false,\n autoSelect = false,\n blurOnSelect = false,\n clearOnBlur = !props.freeSolo,\n clearOnEscape = false,\n componentName = 'useAutocomplete',\n defaultValue = props.multiple ? [] : null,\n disableClearable = false,\n disableCloseOnSelect = false,\n disabled: disabledProp,\n disabledItemsFocusable = false,\n disableListWrap = false,\n filterOptions = defaultFilterOptions,\n filterSelectedOptions = false,\n freeSolo = false,\n getOptionDisabled,\n getOptionLabel: getOptionLabelProp = option => {\n var _option$label;\n\n return (_option$label = option.label) != null ? _option$label : option;\n },\n groupBy,\n handleHomeEndKeys = !props.freeSolo,\n id: idProp,\n includeInputInList = false,\n inputValue: inputValueProp,\n isOptionEqualToValue = (option, value) => option === value,\n multiple = false,\n onChange,\n onClose,\n onHighlightChange,\n onInputChange,\n onOpen,\n open: openProp,\n openOnFocus = false,\n options,\n readOnly = false,\n selectOnFocus = !props.freeSolo,\n value: valueProp\n } = props;\n const id = useId(idProp);\n let getOptionLabel = getOptionLabelProp;\n\n getOptionLabel = option => {\n const optionLabel = getOptionLabelProp(option);\n\n if (typeof optionLabel !== 'string') {\n if (process.env.NODE_ENV !== 'production') {\n const erroneousReturn = optionLabel === undefined ? 'undefined' : `${typeof optionLabel} (${optionLabel})`;\n console.error(`MUI: The \\`getOptionLabel\\` method of ${componentName} returned ${erroneousReturn} instead of a string for ${JSON.stringify(option)}.`);\n }\n\n return String(optionLabel);\n }\n\n return optionLabel;\n };\n\n const ignoreFocus = React.useRef(false);\n const firstFocus = React.useRef(true);\n const inputRef = React.useRef(null);\n const listboxRef = React.useRef(null);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [focusedTag, setFocusedTag] = React.useState(-1);\n const defaultHighlighted = autoHighlight ? 0 : -1;\n const highlightedIndexRef = React.useRef(defaultHighlighted);\n const [value, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: componentName\n });\n const [inputValue, setInputValueState] = useControlled({\n controlled: inputValueProp,\n default: '',\n name: componentName,\n state: 'inputValue'\n });\n const [focused, setFocused] = React.useState(false);\n const resetInputValue = React.useCallback((event, newValue) => {\n // retain current `inputValue` if new option isn't selected and `clearOnBlur` is false\n // When `multiple` is enabled, `newValue` is an array of all selected items including the newly selected item\n const isOptionSelected = multiple ? value.length < newValue.length : newValue !== null;\n\n if (!isOptionSelected && !clearOnBlur) {\n return;\n }\n\n let newInputValue;\n\n if (multiple) {\n newInputValue = '';\n } else if (newValue == null) {\n newInputValue = '';\n } else {\n const optionLabel = getOptionLabel(newValue);\n newInputValue = typeof optionLabel === 'string' ? optionLabel : '';\n }\n\n if (inputValue === newInputValue) {\n return;\n }\n\n setInputValueState(newInputValue);\n\n if (onInputChange) {\n onInputChange(event, newInputValue, 'reset');\n }\n }, [getOptionLabel, inputValue, multiple, onInputChange, setInputValueState, clearOnBlur, value]);\n const prevValue = React.useRef();\n React.useEffect(() => {\n const valueChange = value !== prevValue.current;\n prevValue.current = value;\n\n if (focused && !valueChange) {\n return;\n } // Only reset the input's value when freeSolo if the component's value changes.\n\n\n if (freeSolo && !valueChange) {\n return;\n }\n\n resetInputValue(null, value);\n }, [value, resetInputValue, focused, prevValue, freeSolo]);\n const [open, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: componentName,\n state: 'open'\n });\n const [inputPristine, setInputPristine] = React.useState(true);\n const inputValueIsSelectedValue = !multiple && value != null && inputValue === getOptionLabel(value);\n const popupOpen = open && !readOnly;\n const filteredOptions = popupOpen ? filterOptions(options.filter(option => {\n if (filterSelectedOptions && (multiple ? value : [value]).some(value2 => value2 !== null && isOptionEqualToValue(option, value2))) {\n return false;\n }\n\n return true;\n }), // we use the empty string to manipulate `filterOptions` to not filter any options\n // i.e. the filter predicate always returns true\n {\n inputValue: inputValueIsSelectedValue && inputPristine ? '' : inputValue,\n getOptionLabel\n }) : [];\n const listboxAvailable = open && filteredOptions.length > 0 && !readOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n if (value !== null && !freeSolo && options.length > 0) {\n const missingValue = (multiple ? value : [value]).filter(value2 => !options.some(option => isOptionEqualToValue(option, value2)));\n\n if (missingValue.length > 0) {\n console.warn([`MUI: The value provided to ${componentName} is invalid.`, `None of the options match with \\`${missingValue.length > 1 ? JSON.stringify(missingValue) : JSON.stringify(missingValue[0])}\\`.`, 'You can use the `isOptionEqualToValue` prop to customize the equality test.'].join('\\n'));\n }\n }\n }\n\n const focusTag = useEventCallback(tagToFocus => {\n if (tagToFocus === -1) {\n inputRef.current.focus();\n } else {\n anchorEl.querySelector(`[data-tag-index=\"${tagToFocus}\"]`).focus();\n }\n }); // Ensure the focusedTag is never inconsistent\n\n React.useEffect(() => {\n if (multiple && focusedTag > value.length - 1) {\n setFocusedTag(-1);\n focusTag(-1);\n }\n }, [value, multiple, focusedTag, focusTag]);\n\n function validOptionIndex(index, direction) {\n if (!listboxRef.current || index === -1) {\n return -1;\n }\n\n let nextFocus = index;\n\n while (true) {\n // Out of range\n if (direction === 'next' && nextFocus === filteredOptions.length || direction === 'previous' && nextFocus === -1) {\n return -1;\n }\n\n const option = listboxRef.current.querySelector(`[data-option-index=\"${nextFocus}\"]`); // Same logic as MenuList.js\n\n const nextFocusDisabled = disabledItemsFocusable ? false : !option || option.disabled || option.getAttribute('aria-disabled') === 'true';\n\n if (option && !option.hasAttribute('tabindex') || nextFocusDisabled) {\n // Move to the next element.\n nextFocus += direction === 'next' ? 1 : -1;\n } else {\n return nextFocus;\n }\n }\n }\n\n const setHighlightedIndex = useEventCallback(({\n event,\n index,\n reason = 'auto'\n }) => {\n highlightedIndexRef.current = index; // does the index exist?\n\n if (index === -1) {\n inputRef.current.removeAttribute('aria-activedescendant');\n } else {\n inputRef.current.setAttribute('aria-activedescendant', `${id}-option-${index}`);\n }\n\n if (onHighlightChange) {\n onHighlightChange(event, index === -1 ? null : filteredOptions[index], reason);\n }\n\n if (!listboxRef.current) {\n return;\n }\n\n const prev = listboxRef.current.querySelector('[role=\"option\"].Mui-focused');\n\n if (prev) {\n prev.classList.remove('Mui-focused');\n prev.classList.remove('Mui-focusVisible');\n }\n\n const listboxNode = listboxRef.current.parentElement.querySelector('[role=\"listbox\"]'); // \"No results\"\n\n if (!listboxNode) {\n return;\n }\n\n if (index === -1) {\n listboxNode.scrollTop = 0;\n return;\n }\n\n const option = listboxRef.current.querySelector(`[data-option-index=\"${index}\"]`);\n\n if (!option) {\n return;\n }\n\n option.classList.add('Mui-focused');\n\n if (reason === 'keyboard') {\n option.classList.add('Mui-focusVisible');\n } // Scroll active descendant into view.\n // Logic copied from https://www.w3.org/WAI/ARIA/apg/example-index/combobox/js/select-only.js\n //\n // Consider this API instead once it has a better browser support:\n // .scrollIntoView({ scrollMode: 'if-needed', block: 'nearest' });\n\n\n if (listboxNode.scrollHeight > listboxNode.clientHeight && reason !== 'mouse') {\n const element = option;\n const scrollBottom = listboxNode.clientHeight + listboxNode.scrollTop;\n const elementBottom = element.offsetTop + element.offsetHeight;\n\n if (elementBottom > scrollBottom) {\n listboxNode.scrollTop = elementBottom - listboxNode.clientHeight;\n } else if (element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0) < listboxNode.scrollTop) {\n listboxNode.scrollTop = element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0);\n }\n }\n });\n const changeHighlightedIndex = useEventCallback(({\n event,\n diff,\n direction = 'next',\n reason = 'auto'\n }) => {\n if (!popupOpen) {\n return;\n }\n\n const getNextIndex = () => {\n const maxIndex = filteredOptions.length - 1;\n\n if (diff === 'reset') {\n return defaultHighlighted;\n }\n\n if (diff === 'start') {\n return 0;\n }\n\n if (diff === 'end') {\n return maxIndex;\n }\n\n const newIndex = highlightedIndexRef.current + diff;\n\n if (newIndex < 0) {\n if (newIndex === -1 && includeInputInList) {\n return -1;\n }\n\n if (disableListWrap && highlightedIndexRef.current !== -1 || Math.abs(diff) > 1) {\n return 0;\n }\n\n return maxIndex;\n }\n\n if (newIndex > maxIndex) {\n if (newIndex === maxIndex + 1 && includeInputInList) {\n return -1;\n }\n\n if (disableListWrap || Math.abs(diff) > 1) {\n return maxIndex;\n }\n\n return 0;\n }\n\n return newIndex;\n };\n\n const nextIndex = validOptionIndex(getNextIndex(), direction);\n setHighlightedIndex({\n index: nextIndex,\n reason,\n event\n }); // Sync the content of the input with the highlighted option.\n\n if (autoComplete && diff !== 'reset') {\n if (nextIndex === -1) {\n inputRef.current.value = inputValue;\n } else {\n const option = getOptionLabel(filteredOptions[nextIndex]);\n inputRef.current.value = option; // The portion of the selected suggestion that has not been typed by the user,\n // a completion string, appears inline after the input cursor in the textbox.\n\n const index = option.toLowerCase().indexOf(inputValue.toLowerCase());\n\n if (index === 0 && inputValue.length > 0) {\n inputRef.current.setSelectionRange(inputValue.length, option.length);\n }\n }\n }\n });\n const syncHighlightedIndex = React.useCallback(() => {\n if (!popupOpen) {\n return;\n }\n\n const valueItem = multiple ? value[0] : value; // The popup is empty, reset\n\n if (filteredOptions.length === 0 || valueItem == null) {\n changeHighlightedIndex({\n diff: 'reset'\n });\n return;\n }\n\n if (!listboxRef.current) {\n return;\n } // Synchronize the value with the highlighted index\n\n\n if (valueItem != null) {\n const currentOption = filteredOptions[highlightedIndexRef.current]; // Keep the current highlighted index if possible\n\n if (multiple && currentOption && findIndex(value, val => isOptionEqualToValue(currentOption, val)) !== -1) {\n return;\n }\n\n const itemIndex = findIndex(filteredOptions, optionItem => isOptionEqualToValue(optionItem, valueItem));\n\n if (itemIndex === -1) {\n changeHighlightedIndex({\n diff: 'reset'\n });\n } else {\n setHighlightedIndex({\n index: itemIndex\n });\n }\n\n return;\n } // Prevent the highlighted index to leak outside the boundaries.\n\n\n if (highlightedIndexRef.current >= filteredOptions.length - 1) {\n setHighlightedIndex({\n index: filteredOptions.length - 1\n });\n return;\n } // Restore the focus to the previous index.\n\n\n setHighlightedIndex({\n index: highlightedIndexRef.current\n }); // Ignore filteredOptions (and options, isOptionEqualToValue, getOptionLabel) not to break the scroll position\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [// Only sync the highlighted index when the option switch between empty and not\n filteredOptions.length, // Don't sync the highlighted index with the value when multiple\n // eslint-disable-next-line react-hooks/exhaustive-deps\n multiple ? false : value, filterSelectedOptions, changeHighlightedIndex, setHighlightedIndex, popupOpen, inputValue, multiple]);\n const handleListboxRef = useEventCallback(node => {\n setRef(listboxRef, node);\n\n if (!node) {\n return;\n }\n\n syncHighlightedIndex();\n });\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!inputRef.current || inputRef.current.nodeName !== 'INPUT') {\n if (inputRef.current && inputRef.current.nodeName === 'TEXTAREA') {\n console.warn([`A textarea element was provided to ${componentName} where input was expected.`, `This is not a supported scenario but it may work under certain conditions.`, `A textarea keyboard navigation may conflict with Autocomplete controls (e.g. enter and arrow keys).`, `Make sure to test keyboard navigation and add custom event handlers if necessary.`].join('\\n'));\n } else {\n console.error([`MUI: Unable to find the input element. It was resolved to ${inputRef.current} while an HTMLInputElement was expected.`, `Instead, ${componentName} expects an input element.`, '', componentName === 'useAutocomplete' ? 'Make sure you have binded getInputProps correctly and that the normal ref/effect resolutions order is guaranteed.' : 'Make sure you have customized the input component correctly.'].join('\\n'));\n }\n }\n }, [componentName]);\n }\n\n React.useEffect(() => {\n syncHighlightedIndex();\n }, [syncHighlightedIndex]);\n\n const handleOpen = event => {\n if (open) {\n return;\n }\n\n setOpenState(true);\n setInputPristine(true);\n\n if (onOpen) {\n onOpen(event);\n }\n };\n\n const handleClose = (event, reason) => {\n if (!open) {\n return;\n }\n\n setOpenState(false);\n\n if (onClose) {\n onClose(event, reason);\n }\n };\n\n const handleValue = (event, newValue, reason, details) => {\n if (multiple) {\n if (value.length === newValue.length && value.every((val, i) => val === newValue[i])) {\n return;\n }\n } else if (value === newValue) {\n return;\n }\n\n if (onChange) {\n onChange(event, newValue, reason, details);\n }\n\n setValueState(newValue);\n };\n\n const isTouch = React.useRef(false);\n\n const selectNewValue = (event, option, reasonProp = 'selectOption', origin = 'options') => {\n let reason = reasonProp;\n let newValue = option;\n\n if (multiple) {\n newValue = Array.isArray(value) ? value.slice() : [];\n\n if (process.env.NODE_ENV !== 'production') {\n const matches = newValue.filter(val => isOptionEqualToValue(option, val));\n\n if (matches.length > 1) {\n console.error([`MUI: The \\`isOptionEqualToValue\\` method of ${componentName} do not handle the arguments correctly.`, `The component expects a single value to match a given option but found ${matches.length} matches.`].join('\\n'));\n }\n }\n\n const itemIndex = findIndex(newValue, valueItem => isOptionEqualToValue(option, valueItem));\n\n if (itemIndex === -1) {\n newValue.push(option);\n } else if (origin !== 'freeSolo') {\n newValue.splice(itemIndex, 1);\n reason = 'removeOption';\n }\n }\n\n resetInputValue(event, newValue);\n handleValue(event, newValue, reason, {\n option\n });\n\n if (!disableCloseOnSelect && (!event || !event.ctrlKey && !event.metaKey)) {\n handleClose(event, reason);\n }\n\n if (blurOnSelect === true || blurOnSelect === 'touch' && isTouch.current || blurOnSelect === 'mouse' && !isTouch.current) {\n inputRef.current.blur();\n }\n };\n\n function validTagIndex(index, direction) {\n if (index === -1) {\n return -1;\n }\n\n let nextFocus = index;\n\n while (true) {\n // Out of range\n if (direction === 'next' && nextFocus === value.length || direction === 'previous' && nextFocus === -1) {\n return -1;\n }\n\n const option = anchorEl.querySelector(`[data-tag-index=\"${nextFocus}\"]`); // Same logic as MenuList.js\n\n if (!option || !option.hasAttribute('tabindex') || option.disabled || option.getAttribute('aria-disabled') === 'true') {\n nextFocus += direction === 'next' ? 1 : -1;\n } else {\n return nextFocus;\n }\n }\n }\n\n const handleFocusTag = (event, direction) => {\n if (!multiple) {\n return;\n }\n\n if (inputValue === '') {\n handleClose(event, 'toggleInput');\n }\n\n let nextTag = focusedTag;\n\n if (focusedTag === -1) {\n if (inputValue === '' && direction === 'previous') {\n nextTag = value.length - 1;\n }\n } else {\n nextTag += direction === 'next' ? 1 : -1;\n\n if (nextTag < 0) {\n nextTag = 0;\n }\n\n if (nextTag === value.length) {\n nextTag = -1;\n }\n }\n\n nextTag = validTagIndex(nextTag, direction);\n setFocusedTag(nextTag);\n focusTag(nextTag);\n };\n\n const handleClear = event => {\n ignoreFocus.current = true;\n setInputValueState('');\n\n if (onInputChange) {\n onInputChange(event, '', 'clear');\n }\n\n handleValue(event, multiple ? [] : null, 'clear');\n };\n\n const handleKeyDown = other => event => {\n if (other.onKeyDown) {\n other.onKeyDown(event);\n }\n\n if (event.defaultMuiPrevented) {\n return;\n }\n\n if (focusedTag !== -1 && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) === -1) {\n setFocusedTag(-1);\n focusTag(-1);\n } // Wait until IME is settled.\n\n\n if (event.which !== 229) {\n switch (event.key) {\n case 'Home':\n if (popupOpen && handleHomeEndKeys) {\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: 'start',\n direction: 'next',\n reason: 'keyboard',\n event\n });\n }\n\n break;\n\n case 'End':\n if (popupOpen && handleHomeEndKeys) {\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: 'end',\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n }\n\n break;\n\n case 'PageUp':\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: -pageSize,\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n\n case 'PageDown':\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: pageSize,\n direction: 'next',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n\n case 'ArrowDown':\n // Prevent cursor move\n event.preventDefault();\n changeHighlightedIndex({\n diff: 1,\n direction: 'next',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n\n case 'ArrowUp':\n // Prevent cursor move\n event.preventDefault();\n changeHighlightedIndex({\n diff: -1,\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n\n case 'ArrowLeft':\n handleFocusTag(event, 'previous');\n break;\n\n case 'ArrowRight':\n handleFocusTag(event, 'next');\n break;\n\n case 'Enter':\n if (highlightedIndexRef.current !== -1 && popupOpen) {\n const option = filteredOptions[highlightedIndexRef.current];\n const disabled = getOptionDisabled ? getOptionDisabled(option) : false; // Avoid early form validation, let the end-users continue filling the form.\n\n event.preventDefault();\n\n if (disabled) {\n return;\n }\n\n selectNewValue(event, option, 'selectOption'); // Move the selection to the end.\n\n if (autoComplete) {\n inputRef.current.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length);\n }\n } else if (freeSolo && inputValue !== '' && inputValueIsSelectedValue === false) {\n if (multiple) {\n // Allow people to add new values before they submit the form.\n event.preventDefault();\n }\n\n selectNewValue(event, inputValue, 'createOption', 'freeSolo');\n }\n\n break;\n\n case 'Escape':\n if (popupOpen) {\n // Avoid Opera to exit fullscreen mode.\n event.preventDefault(); // Avoid the Modal to handle the event.\n\n event.stopPropagation();\n handleClose(event, 'escape');\n } else if (clearOnEscape && (inputValue !== '' || multiple && value.length > 0)) {\n // Avoid Opera to exit fullscreen mode.\n event.preventDefault(); // Avoid the Modal to handle the event.\n\n event.stopPropagation();\n handleClear(event);\n }\n\n break;\n\n case 'Backspace':\n if (multiple && !readOnly && inputValue === '' && value.length > 0) {\n const index = focusedTag === -1 ? value.length - 1 : focusedTag;\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n }\n\n break;\n\n default:\n }\n }\n };\n\n const handleFocus = event => {\n setFocused(true);\n\n if (openOnFocus && !ignoreFocus.current) {\n handleOpen(event);\n }\n };\n\n const handleBlur = event => {\n // Ignore the event when using the scrollbar with IE11\n if (listboxRef.current !== null && listboxRef.current.parentElement.contains(document.activeElement)) {\n inputRef.current.focus();\n return;\n }\n\n setFocused(false);\n firstFocus.current = true;\n ignoreFocus.current = false;\n\n if (autoSelect && highlightedIndexRef.current !== -1 && popupOpen) {\n selectNewValue(event, filteredOptions[highlightedIndexRef.current], 'blur');\n } else if (autoSelect && freeSolo && inputValue !== '') {\n selectNewValue(event, inputValue, 'blur', 'freeSolo');\n } else if (clearOnBlur) {\n resetInputValue(event, value);\n }\n\n handleClose(event, 'blur');\n };\n\n const handleInputChange = event => {\n const newValue = event.target.value;\n\n if (inputValue !== newValue) {\n setInputValueState(newValue);\n setInputPristine(false);\n\n if (onInputChange) {\n onInputChange(event, newValue, 'input');\n }\n }\n\n if (newValue === '') {\n if (!disableClearable && !multiple) {\n handleValue(event, null, 'clear');\n }\n } else {\n handleOpen(event);\n }\n };\n\n const handleOptionMouseOver = event => {\n setHighlightedIndex({\n event,\n index: Number(event.currentTarget.getAttribute('data-option-index')),\n reason: 'mouse'\n });\n };\n\n const handleOptionTouchStart = () => {\n isTouch.current = true;\n };\n\n const handleOptionClick = event => {\n const index = Number(event.currentTarget.getAttribute('data-option-index'));\n selectNewValue(event, filteredOptions[index], 'selectOption');\n isTouch.current = false;\n };\n\n const handleTagDelete = index => event => {\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n };\n\n const handlePopupIndicator = event => {\n if (open) {\n handleClose(event, 'toggleInput');\n } else {\n handleOpen(event);\n }\n }; // Prevent input blur when interacting with the combobox\n\n\n const handleMouseDown = event => {\n if (event.target.getAttribute('id') !== id) {\n event.preventDefault();\n }\n }; // Focus the input when interacting with the combobox\n\n\n const handleClick = () => {\n inputRef.current.focus();\n\n if (selectOnFocus && firstFocus.current && inputRef.current.selectionEnd - inputRef.current.selectionStart === 0) {\n inputRef.current.select();\n }\n\n firstFocus.current = false;\n };\n\n const handleInputMouseDown = event => {\n if (inputValue === '' || !open) {\n handlePopupIndicator(event);\n }\n };\n\n let dirty = freeSolo && inputValue.length > 0;\n dirty = dirty || (multiple ? value.length > 0 : value !== null);\n let groupedOptions = filteredOptions;\n\n if (groupBy) {\n // used to keep track of key and indexes in the result array\n const indexBy = new Map();\n let warn = false;\n groupedOptions = filteredOptions.reduce((acc, option, index) => {\n const group = groupBy(option);\n\n if (acc.length > 0 && acc[acc.length - 1].group === group) {\n acc[acc.length - 1].options.push(option);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n if (indexBy.get(group) && !warn) {\n console.warn(`MUI: The options provided combined with the \\`groupBy\\` method of ${componentName} returns duplicated headers.`, 'You can solve the issue by sorting the options with the output of `groupBy`.');\n warn = true;\n }\n\n indexBy.set(group, true);\n }\n\n acc.push({\n key: index,\n index,\n group,\n options: [option]\n });\n }\n\n return acc;\n }, []);\n }\n\n if (disabledProp && focused) {\n handleBlur();\n }\n\n return {\n getRootProps: (other = {}) => _extends({\n 'aria-owns': listboxAvailable ? `${id}-listbox` : null\n }, other, {\n onKeyDown: handleKeyDown(other),\n onMouseDown: handleMouseDown,\n onClick: handleClick\n }),\n getInputLabelProps: () => ({\n id: `${id}-label`,\n htmlFor: id\n }),\n getInputProps: () => ({\n id,\n value: inputValue,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onChange: handleInputChange,\n onMouseDown: handleInputMouseDown,\n // if open then this is handled imperativeley so don't let react override\n // only have an opinion about this when closed\n 'aria-activedescendant': popupOpen ? '' : null,\n 'aria-autocomplete': autoComplete ? 'both' : 'list',\n 'aria-controls': listboxAvailable ? `${id}-listbox` : undefined,\n 'aria-expanded': listboxAvailable,\n // Disable browser's suggestion that might overlap with the popup.\n // Handle autocomplete but not autofill.\n autoComplete: 'off',\n ref: inputRef,\n autoCapitalize: 'none',\n spellCheck: 'false',\n role: 'combobox'\n }),\n getClearProps: () => ({\n tabIndex: -1,\n onClick: handleClear\n }),\n getPopupIndicatorProps: () => ({\n tabIndex: -1,\n onClick: handlePopupIndicator\n }),\n getTagProps: ({\n index\n }) => _extends({\n key: index,\n 'data-tag-index': index,\n tabIndex: -1\n }, !readOnly && {\n onDelete: handleTagDelete(index)\n }),\n getListboxProps: () => ({\n role: 'listbox',\n id: `${id}-listbox`,\n 'aria-labelledby': `${id}-label`,\n ref: handleListboxRef,\n onMouseDown: event => {\n // Prevent blur\n event.preventDefault();\n }\n }),\n getOptionProps: ({\n index,\n option\n }) => {\n const selected = (multiple ? value : [value]).some(value2 => value2 != null && isOptionEqualToValue(option, value2));\n const disabled = getOptionDisabled ? getOptionDisabled(option) : false;\n return {\n key: getOptionLabel(option),\n tabIndex: -1,\n role: 'option',\n id: `${id}-option-${index}`,\n onMouseOver: handleOptionMouseOver,\n onClick: handleOptionClick,\n onTouchStart: handleOptionTouchStart,\n 'data-option-index': index,\n 'aria-disabled': disabled,\n 'aria-selected': selected\n };\n },\n id,\n inputValue,\n value,\n dirty,\n popupOpen,\n focused: focused || focusedTag !== -1,\n anchorEl,\n setAnchorEl,\n focusedTag,\n groupedOptions\n };\n}","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getAutocompleteUtilityClass(slot) {\n return generateUtilityClass('MuiAutocomplete', slot);\n}\nconst autocompleteClasses = generateUtilityClasses('MuiAutocomplete', ['root', 'fullWidth', 'focused', 'focusVisible', 'tag', 'tagSizeSmall', 'tagSizeMedium', 'hasPopupIcon', 'hasClearIcon', 'inputRoot', 'input', 'inputFocused', 'endAdornment', 'clearIndicator', 'popupIndicator', 'popupIndicatorOpen', 'popper', 'popperDisablePortal', 'paper', 'listbox', 'loading', 'noOptions', 'option', 'groupLabel', 'groupUl']);\nexport default autocompleteClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _ClearIcon, _ArrowDropDownIcon;\n\nconst _excluded = [\"autoComplete\", \"autoHighlight\", \"autoSelect\", \"blurOnSelect\", \"ChipProps\", \"className\", \"clearIcon\", \"clearOnBlur\", \"clearOnEscape\", \"clearText\", \"closeText\", \"componentsProps\", \"defaultValue\", \"disableClearable\", \"disableCloseOnSelect\", \"disabled\", \"disabledItemsFocusable\", \"disableListWrap\", \"disablePortal\", \"filterOptions\", \"filterSelectedOptions\", \"forcePopupIcon\", \"freeSolo\", \"fullWidth\", \"getLimitTagsText\", \"getOptionDisabled\", \"getOptionLabel\", \"isOptionEqualToValue\", \"groupBy\", \"handleHomeEndKeys\", \"id\", \"includeInputInList\", \"inputValue\", \"limitTags\", \"ListboxComponent\", \"ListboxProps\", \"loading\", \"loadingText\", \"multiple\", \"noOptionsText\", \"onChange\", \"onClose\", \"onHighlightChange\", \"onInputChange\", \"onOpen\", \"open\", \"openOnFocus\", \"openText\", \"options\", \"PaperComponent\", \"PopperComponent\", \"popupIcon\", \"readOnly\", \"renderGroup\", \"renderInput\", \"renderOption\", \"renderTags\", \"selectOnFocus\", \"size\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes, integerPropType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses, useAutocomplete, createFilterOptions } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport Popper from '../Popper';\nimport ListSubheader from '../ListSubheader';\nimport Paper from '../Paper';\nimport IconButton from '../IconButton';\nimport Chip from '../Chip';\nimport inputClasses from '../Input/inputClasses';\nimport inputBaseClasses from '../InputBase/inputBaseClasses';\nimport outlinedInputClasses from '../OutlinedInput/outlinedInputClasses';\nimport filledInputClasses from '../FilledInput/filledInputClasses';\nimport ClearIcon from '../internal/svg-icons/Close';\nimport ArrowDropDownIcon from '../internal/svg-icons/ArrowDropDown';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport autocompleteClasses, { getAutocompleteUtilityClass } from './autocompleteClasses';\nimport capitalize from '../utils/capitalize';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePortal,\n focused,\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused,\n popupOpen,\n size\n } = ownerState;\n const slots = {\n root: ['root', focused && 'focused', fullWidth && 'fullWidth', hasClearIcon && 'hasClearIcon', hasPopupIcon && 'hasPopupIcon'],\n inputRoot: ['inputRoot'],\n input: ['input', inputFocused && 'inputFocused'],\n tag: ['tag', `tagSize${capitalize(size)}`],\n endAdornment: ['endAdornment'],\n clearIndicator: ['clearIndicator'],\n popupIndicator: ['popupIndicator', popupOpen && 'popupIndicatorOpen'],\n popper: ['popper', disablePortal && 'popperDisablePortal'],\n paper: ['paper'],\n listbox: ['listbox'],\n loading: ['loading'],\n noOptions: ['noOptions'],\n option: ['option'],\n groupLabel: ['groupLabel'],\n groupUl: ['groupUl']\n };\n return composeClasses(slots, getAutocompleteUtilityClass, classes);\n};\n\nconst AutocompleteRoot = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused,\n size\n } = ownerState;\n return [{\n [`& .${autocompleteClasses.tag}`]: styles.tag\n }, {\n [`& .${autocompleteClasses.tag}`]: styles[`tagSize${capitalize(size)}`]\n }, {\n [`& .${autocompleteClasses.inputRoot}`]: styles.inputRoot\n }, {\n [`& .${autocompleteClasses.input}`]: styles.input\n }, {\n [`& .${autocompleteClasses.input}`]: inputFocused && styles.inputFocused\n }, styles.root, fullWidth && styles.fullWidth, hasPopupIcon && styles.hasPopupIcon, hasClearIcon && styles.hasClearIcon];\n }\n})(({\n ownerState\n}) => _extends({\n [`&.${autocompleteClasses.focused} .${autocompleteClasses.clearIndicator}`]: {\n visibility: 'visible'\n },\n\n /* Avoid double tap issue on iOS */\n '@media (pointer: fine)': {\n [`&:hover .${autocompleteClasses.clearIndicator}`]: {\n visibility: 'visible'\n }\n }\n}, ownerState.fullWidth && {\n width: '100%'\n}, {\n [`& .${autocompleteClasses.tag}`]: _extends({\n margin: 3,\n maxWidth: 'calc(100% - 6px)'\n }, ownerState.size === 'small' && {\n margin: 2,\n maxWidth: 'calc(100% - 4px)'\n }),\n [`& .${autocompleteClasses.inputRoot}`]: {\n flexWrap: 'wrap',\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4\n },\n [`& .${autocompleteClasses.input}`]: {\n width: 0,\n minWidth: 30\n }\n },\n [`& .${inputClasses.root}`]: {\n paddingBottom: 1,\n '& .MuiInput-input': {\n padding: '4px 4px 4px 0px'\n }\n },\n [`& .${inputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n [`& .${inputClasses.input}`]: {\n padding: '2px 4px 3px 0'\n }\n },\n [`& .${outlinedInputClasses.root}`]: {\n padding: 9,\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4 + 9\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4 + 9\n },\n [`& .${autocompleteClasses.input}`]: {\n padding: '7.5px 4px 7.5px 6px'\n },\n [`& .${autocompleteClasses.endAdornment}`]: {\n right: 9\n }\n },\n [`& .${outlinedInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n padding: 6,\n [`& .${autocompleteClasses.input}`]: {\n padding: '2.5px 4px 2.5px 6px'\n }\n },\n [`& .${filledInputClasses.root}`]: {\n paddingTop: 19,\n paddingLeft: 8,\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4 + 9\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4 + 9\n },\n [`& .${filledInputClasses.input}`]: {\n padding: '7px 4px'\n },\n [`& .${autocompleteClasses.endAdornment}`]: {\n right: 9\n }\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n paddingBottom: 1,\n [`& .${filledInputClasses.input}`]: {\n padding: '2.5px 4px'\n }\n },\n [`& .${inputBaseClasses.hiddenLabel}`]: {\n paddingTop: 8\n },\n [`& .${autocompleteClasses.input}`]: _extends({\n flexGrow: 1,\n textOverflow: 'ellipsis',\n opacity: 0\n }, ownerState.inputFocused && {\n opacity: 1\n })\n}));\nconst AutocompleteEndAdornment = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'EndAdornment',\n overridesResolver: (props, styles) => styles.endAdornment\n})({\n // We use a position absolute to support wrapping tags.\n position: 'absolute',\n right: 0,\n top: 'calc(50% - 14px)' // Center vertically\n\n});\nconst AutocompleteClearIndicator = styled(IconButton, {\n name: 'MuiAutocomplete',\n slot: 'ClearIndicator',\n overridesResolver: (props, styles) => styles.clearIndicator\n})({\n marginRight: -2,\n padding: 4,\n visibility: 'hidden'\n});\nconst AutocompletePopupIndicator = styled(IconButton, {\n name: 'MuiAutocomplete',\n slot: 'PopupIndicator',\n overridesResolver: ({\n ownerState\n }, styles) => _extends({}, styles.popupIndicator, ownerState.popupOpen && styles.popupIndicatorOpen)\n})(({\n ownerState\n}) => _extends({\n padding: 2,\n marginRight: -2\n}, ownerState.popupOpen && {\n transform: 'rotate(180deg)'\n}));\nconst AutocompletePopper = styled(Popper, {\n name: 'MuiAutocomplete',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${autocompleteClasses.option}`]: styles.option\n }, styles.popper, ownerState.disablePortal && styles.popperDisablePortal];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n zIndex: (theme.vars || theme).zIndex.modal\n}, ownerState.disablePortal && {\n position: 'absolute'\n}));\nconst AutocompletePaper = styled(Paper, {\n name: 'MuiAutocomplete',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})(({\n theme\n}) => _extends({}, theme.typography.body1, {\n overflow: 'auto'\n}));\nconst AutocompleteLoading = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Loading',\n overridesResolver: (props, styles) => styles.loading\n})(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n padding: '14px 16px'\n}));\nconst AutocompleteNoOptions = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'NoOptions',\n overridesResolver: (props, styles) => styles.noOptions\n})(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n padding: '14px 16px'\n}));\nconst AutocompleteListbox = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Listbox',\n overridesResolver: (props, styles) => styles.listbox\n})(({\n theme\n}) => ({\n listStyle: 'none',\n margin: 0,\n padding: '8px 0',\n maxHeight: '40vh',\n overflow: 'auto',\n [`& .${autocompleteClasses.option}`]: {\n minHeight: 48,\n display: 'flex',\n overflow: 'hidden',\n justifyContent: 'flex-start',\n alignItems: 'center',\n cursor: 'pointer',\n paddingTop: 6,\n boxSizing: 'border-box',\n outline: '0',\n WebkitTapHighlightColor: 'transparent',\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n },\n [`&.${autocompleteClasses.focused}`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n '&[aria-disabled=\"true\"]': {\n opacity: (theme.vars || theme).palette.action.disabledOpacity,\n pointerEvents: 'none'\n },\n [`&.${autocompleteClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n '&[aria-selected=\"true\"]': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${autocompleteClasses.focused}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n },\n [`&.${autocompleteClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n }\n }\n}));\nconst AutocompleteGroupLabel = styled(ListSubheader, {\n name: 'MuiAutocomplete',\n slot: 'GroupLabel',\n overridesResolver: (props, styles) => styles.groupLabel\n})(({\n theme\n}) => ({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n top: -8\n}));\nconst AutocompleteGroupUl = styled('ul', {\n name: 'MuiAutocomplete',\n slot: 'GroupUl',\n overridesResolver: (props, styles) => styles.groupUl\n})({\n padding: 0,\n [`& .${autocompleteClasses.option}`]: {\n paddingLeft: 24\n }\n});\nexport { createFilterOptions };\nconst Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps, ref) {\n var _componentsProps$clea, _componentsProps$popu, _componentsProps$popp, _componentsProps$pape;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAutocomplete'\n });\n /* eslint-disable @typescript-eslint/no-unused-vars */\n\n const {\n autoComplete = false,\n autoHighlight = false,\n autoSelect = false,\n blurOnSelect = false,\n ChipProps,\n className,\n clearIcon = _ClearIcon || (_ClearIcon = /*#__PURE__*/_jsx(ClearIcon, {\n fontSize: \"small\"\n })),\n clearOnBlur = !props.freeSolo,\n clearOnEscape = false,\n clearText = 'Clear',\n closeText = 'Close',\n componentsProps = {},\n defaultValue = props.multiple ? [] : null,\n disableClearable = false,\n disableCloseOnSelect = false,\n disabled = false,\n disabledItemsFocusable = false,\n disableListWrap = false,\n disablePortal = false,\n filterSelectedOptions = false,\n forcePopupIcon = 'auto',\n freeSolo = false,\n fullWidth = false,\n getLimitTagsText = more => `+${more}`,\n getOptionLabel = option => {\n var _option$label;\n\n return (_option$label = option.label) != null ? _option$label : option;\n },\n groupBy,\n handleHomeEndKeys = !props.freeSolo,\n includeInputInList = false,\n limitTags = -1,\n ListboxComponent = 'ul',\n ListboxProps,\n loading = false,\n loadingText = 'Loading…',\n multiple = false,\n noOptionsText = 'No options',\n openOnFocus = false,\n openText = 'Open',\n PaperComponent = Paper,\n PopperComponent = Popper,\n popupIcon = _ArrowDropDownIcon || (_ArrowDropDownIcon = /*#__PURE__*/_jsx(ArrowDropDownIcon, {})),\n readOnly = false,\n renderGroup: renderGroupProp,\n renderInput,\n renderOption: renderOptionProp,\n renderTags,\n selectOnFocus = !props.freeSolo,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n /* eslint-enable @typescript-eslint/no-unused-vars */\n\n\n const {\n getRootProps,\n getInputProps,\n getInputLabelProps,\n getPopupIndicatorProps,\n getClearProps,\n getTagProps,\n getListboxProps,\n getOptionProps,\n value,\n dirty,\n id,\n popupOpen,\n focused,\n focusedTag,\n anchorEl,\n setAnchorEl,\n inputValue,\n groupedOptions\n } = useAutocomplete(_extends({}, props, {\n componentName: 'Autocomplete'\n }));\n const hasClearIcon = !disableClearable && !disabled && dirty && !readOnly;\n const hasPopupIcon = (!freeSolo || forcePopupIcon === true) && forcePopupIcon !== false; // If you modify this, make sure to keep the `AutocompleteOwnerState` type in sync.\n\n const ownerState = _extends({}, props, {\n disablePortal,\n focused,\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused: focusedTag === -1,\n popupOpen,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n let startAdornment;\n\n if (multiple && value.length > 0) {\n const getCustomizedTagProps = params => _extends({\n className: classes.tag,\n disabled\n }, getTagProps(params));\n\n if (renderTags) {\n startAdornment = renderTags(value, getCustomizedTagProps, ownerState);\n } else {\n startAdornment = value.map((option, index) => /*#__PURE__*/_jsx(Chip, _extends({\n label: getOptionLabel(option),\n size: size\n }, getCustomizedTagProps({\n index\n }), ChipProps)));\n }\n }\n\n if (limitTags > -1 && Array.isArray(startAdornment)) {\n const more = startAdornment.length - limitTags;\n\n if (!focused && more > 0) {\n startAdornment = startAdornment.splice(0, limitTags);\n startAdornment.push( /*#__PURE__*/_jsx(\"span\", {\n className: classes.tag,\n children: getLimitTagsText(more)\n }, startAdornment.length));\n }\n }\n\n const defaultRenderGroup = params => /*#__PURE__*/_jsxs(\"li\", {\n children: [/*#__PURE__*/_jsx(AutocompleteGroupLabel, {\n className: classes.groupLabel,\n ownerState: ownerState,\n component: \"div\",\n children: params.group\n }), /*#__PURE__*/_jsx(AutocompleteGroupUl, {\n className: classes.groupUl,\n ownerState: ownerState,\n children: params.children\n })]\n }, params.key);\n\n const renderGroup = renderGroupProp || defaultRenderGroup;\n\n const defaultRenderOption = (props2, option) => /*#__PURE__*/_jsx(\"li\", _extends({}, props2, {\n children: getOptionLabel(option)\n }));\n\n const renderOption = renderOptionProp || defaultRenderOption;\n\n const renderListOption = (option, index) => {\n const optionProps = getOptionProps({\n option,\n index\n });\n return renderOption(_extends({}, optionProps, {\n className: classes.option\n }), option, {\n selected: optionProps['aria-selected'],\n inputValue\n });\n };\n\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(AutocompleteRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, getRootProps(other), {\n children: renderInput({\n id,\n disabled,\n fullWidth: true,\n size: size === 'small' ? 'small' : undefined,\n InputLabelProps: getInputLabelProps(),\n InputProps: _extends({\n ref: setAnchorEl,\n className: classes.inputRoot,\n startAdornment\n }, (hasClearIcon || hasPopupIcon) && {\n endAdornment: /*#__PURE__*/_jsxs(AutocompleteEndAdornment, {\n className: classes.endAdornment,\n ownerState: ownerState,\n children: [hasClearIcon ? /*#__PURE__*/_jsx(AutocompleteClearIndicator, _extends({}, getClearProps(), {\n \"aria-label\": clearText,\n title: clearText,\n ownerState: ownerState\n }, componentsProps.clearIndicator, {\n className: clsx(classes.clearIndicator, (_componentsProps$clea = componentsProps.clearIndicator) == null ? void 0 : _componentsProps$clea.className),\n children: clearIcon\n })) : null, hasPopupIcon ? /*#__PURE__*/_jsx(AutocompletePopupIndicator, _extends({}, getPopupIndicatorProps(), {\n disabled: disabled,\n \"aria-label\": popupOpen ? closeText : openText,\n title: popupOpen ? closeText : openText,\n ownerState: ownerState\n }, componentsProps.popupIndicator, {\n className: clsx(classes.popupIndicator, (_componentsProps$popu = componentsProps.popupIndicator) == null ? void 0 : _componentsProps$popu.className),\n children: popupIcon\n })) : null]\n })\n }),\n inputProps: _extends({\n className: classes.input,\n disabled,\n readOnly\n }, getInputProps())\n })\n })), popupOpen && anchorEl ? /*#__PURE__*/_jsx(AutocompletePopper, _extends({\n as: PopperComponent,\n disablePortal: disablePortal,\n style: {\n width: anchorEl ? anchorEl.clientWidth : null\n },\n ownerState: ownerState,\n role: \"presentation\",\n anchorEl: anchorEl,\n open: true\n }, componentsProps.popper, {\n className: clsx(classes.popper, (_componentsProps$popp = componentsProps.popper) == null ? void 0 : _componentsProps$popp.className),\n children: /*#__PURE__*/_jsxs(AutocompletePaper, _extends({\n ownerState: ownerState,\n as: PaperComponent\n }, componentsProps.paper, {\n className: clsx(classes.paper, (_componentsProps$pape = componentsProps.paper) == null ? void 0 : _componentsProps$pape.className),\n children: [loading && groupedOptions.length === 0 ? /*#__PURE__*/_jsx(AutocompleteLoading, {\n className: classes.loading,\n ownerState: ownerState,\n children: loadingText\n }) : null, groupedOptions.length === 0 && !freeSolo && !loading ? /*#__PURE__*/_jsx(AutocompleteNoOptions, {\n className: classes.noOptions,\n ownerState: ownerState,\n role: \"presentation\",\n onMouseDown: event => {\n // Prevent input blur when interacting with the \"no options\" content\n event.preventDefault();\n },\n children: noOptionsText\n }) : null, groupedOptions.length > 0 ? /*#__PURE__*/_jsx(AutocompleteListbox, _extends({\n as: ListboxComponent,\n className: classes.listbox,\n ownerState: ownerState\n }, getListboxProps(), ListboxProps, {\n children: groupedOptions.map((option, index) => {\n if (groupBy) {\n return renderGroup({\n key: option.key,\n group: option.group,\n children: option.options.map((option2, index2) => renderListOption(option2, option.index + index2))\n });\n }\n\n return renderListOption(option, index);\n })\n })) : null]\n }))\n })) : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Autocomplete.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 * If `true`, the portion of the selected suggestion that has not been typed by the user,\n * known as the completion string, appears inline after the input cursor in the textbox.\n * The inline completion string is visually highlighted and has a selected state.\n * @default false\n */\n autoComplete: PropTypes.bool,\n\n /**\n * If `true`, the first option is automatically highlighted.\n * @default false\n */\n autoHighlight: PropTypes.bool,\n\n /**\n * If `true`, the selected option becomes the value of the input\n * when the Autocomplete loses focus unless the user chooses\n * a different option or changes the character string in the input.\n * @default false\n */\n autoSelect: PropTypes.bool,\n\n /**\n * Control if the input should be blurred when an option is selected:\n *\n * - `false` the input is not blurred.\n * - `true` the input is always blurred.\n * - `touch` the input is blurred after a touch event.\n * - `mouse` the input is blurred after a mouse event.\n * @default false\n */\n blurOnSelect: PropTypes.oneOfType([PropTypes.oneOf(['mouse', 'touch']), PropTypes.bool]),\n\n /**\n * Props applied to the [`Chip`](/material-ui/api/chip/) element.\n */\n ChipProps: PropTypes.object,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The icon to display in place of the default clear icon.\n * @default \n */\n clearIcon: PropTypes.node,\n\n /**\n * If `true`, the input's text is cleared on blur if no value is selected.\n *\n * Set to `true` if you want to help the user enter a new value.\n * Set to `false` if you want to help the user resume their search.\n * @default !props.freeSolo\n */\n clearOnBlur: PropTypes.bool,\n\n /**\n * If `true`, clear all values when the user presses escape and the popup is closed.\n * @default false\n */\n clearOnEscape: PropTypes.bool,\n\n /**\n * Override the default text for the *clear* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Clear'\n */\n clearText: PropTypes.string,\n\n /**\n * Override the default text for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Close'\n */\n closeText: PropTypes.string,\n\n /**\n * The props used for each slot inside.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n clearIndicator: PropTypes.object,\n paper: PropTypes.object,\n popper: PropTypes.object,\n popupIndicator: PropTypes.object\n }),\n\n /**\n * The default value. Use when the component is not controlled.\n * @default props.multiple ? [] : null\n */\n defaultValue: chainPropTypes(PropTypes.any, props => {\n if (props.multiple && props.defaultValue !== undefined && !Array.isArray(props.defaultValue)) {\n return new Error(['MUI: The Autocomplete expects the `defaultValue` prop to be an array when `multiple={true}` or undefined.', `However, ${props.defaultValue} was provided.`].join('\\n'));\n }\n\n return null;\n }),\n\n /**\n * If `true`, the input can't be cleared.\n * @default false\n */\n disableClearable: PropTypes.bool,\n\n /**\n * If `true`, the popup won't close when a value is selected.\n * @default false\n */\n disableCloseOnSelect: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n\n /**\n * If `true`, the list box in the popup will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n\n /**\n * If `true`, the `Popper` content will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n\n /**\n * A function that determines the filtered options to be rendered on search.\n *\n * @param {T[]} options The options to render.\n * @param {object} state The state of the component.\n * @returns {T[]}\n */\n filterOptions: PropTypes.func,\n\n /**\n * If `true`, hide the selected options from the list box.\n * @default false\n */\n filterSelectedOptions: PropTypes.bool,\n\n /**\n * Force the visibility display of the popup icon.\n * @default 'auto'\n */\n forcePopupIcon: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.bool]),\n\n /**\n * If `true`, the Autocomplete is free solo, meaning that the user input is not bound to provided options.\n * @default false\n */\n freeSolo: PropTypes.bool,\n\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n\n /**\n * The label to display when the tags are truncated (`limitTags`).\n *\n * @param {number} more The number of truncated tags.\n * @returns {ReactNode}\n * @default (more) => `+${more}`\n */\n getLimitTagsText: PropTypes.func,\n\n /**\n * Used to determine the disabled state for a given option.\n *\n * @param {T} option The option to test.\n * @returns {boolean}\n */\n getOptionDisabled: PropTypes.func,\n\n /**\n * Used to determine the string value for a given option.\n * It's used to fill the input (and the list box options if `renderOption` is not provided).\n *\n * If used in free solo mode, it must accept both the type of the options and a string.\n *\n * @param {T} option\n * @returns {string}\n * @default (option) => option.label ?? option\n */\n getOptionLabel: PropTypes.func,\n\n /**\n * If provided, the options will be grouped under the returned string.\n * The groupBy value is also used as the text for group headings when `renderGroup` is not provided.\n *\n * @param {T} options The options to group.\n * @returns {string}\n */\n groupBy: PropTypes.func,\n\n /**\n * If `true`, the component handles the \"Home\" and \"End\" keys when the popup is open.\n * It should move focus to the first option and last option, respectively.\n * @default !props.freeSolo\n */\n handleHomeEndKeys: PropTypes.bool,\n\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide an id it will fall back to a randomly generated one.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the highlight can move to the input.\n * @default false\n */\n includeInputInList: PropTypes.bool,\n\n /**\n * The input value.\n */\n inputValue: PropTypes.string,\n\n /**\n * Used to determine if the option represents the given value.\n * Uses strict equality by default.\n * ⚠️ Both arguments need to be handled, an option can only match with one value.\n *\n * @param {T} option The option to test.\n * @param {T} value The value to test against.\n * @returns {boolean}\n */\n isOptionEqualToValue: PropTypes.func,\n\n /**\n * The maximum number of tags that will be visible when not focused.\n * Set `-1` to disable the limit.\n * @default -1\n */\n limitTags: integerPropType,\n\n /**\n * The component used to render the listbox.\n * @default 'ul'\n */\n ListboxComponent: PropTypes.elementType,\n\n /**\n * Props applied to the Listbox element.\n */\n ListboxProps: PropTypes.object,\n\n /**\n * If `true`, the component is in a loading state.\n * This shows the `loadingText` in place of suggestions (only if there are no suggestions to show, e.g. `options` are empty).\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Text to display when in a loading state.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Loading…'\n */\n loadingText: PropTypes.node,\n\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n * @default false\n */\n multiple: PropTypes.bool,\n\n /**\n * Text to display when there are no options.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'No options'\n */\n noOptionsText: PropTypes.node,\n\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {T|T[]} value The new value of the component.\n * @param {string} reason One of \"createOption\", \"selectOption\", \"removeOption\", \"blur\" or \"clear\".\n * @param {string} [details]\n */\n onChange: PropTypes.func,\n\n /**\n * Callback fired when the popup requests to be closed.\n * Use in controlled mode (see open).\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {string} reason Can be: `\"toggleInput\"`, `\"escape\"`, `\"selectOption\"`, `\"removeOption\"`, `\"blur\"`.\n */\n onClose: PropTypes.func,\n\n /**\n * Callback fired when the highlight option changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {T} option The highlighted option.\n * @param {string} reason Can be: `\"keyboard\"`, `\"auto\"`, `\"mouse\"`.\n */\n onHighlightChange: PropTypes.func,\n\n /**\n * Callback fired when the input value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {string} value The new value of the text input.\n * @param {string} reason Can be: `\"input\"` (user input), `\"reset\"` (programmatic change), `\"clear\"`.\n */\n onInputChange: PropTypes.func,\n\n /**\n * Callback fired when the popup requests to be opened.\n * Use in controlled mode (see open).\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n\n /**\n * If `true`, the popup will open on input focus.\n * @default false\n */\n openOnFocus: PropTypes.bool,\n\n /**\n * Override the default text for the *open popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Open'\n */\n openText: PropTypes.string,\n\n /**\n * Array of options.\n */\n options: PropTypes.array.isRequired,\n\n /**\n * The component used to render the body of the popup.\n * @default Paper\n */\n PaperComponent: PropTypes.elementType,\n\n /**\n * The component used to position the popup.\n * @default Popper\n */\n PopperComponent: PropTypes.elementType,\n\n /**\n * The icon to display in place of the default popup icon.\n * @default \n */\n popupIcon: PropTypes.node,\n\n /**\n * If `true`, the component becomes readonly. It is also supported for multiple tags where the tag cannot be deleted.\n * @default false\n */\n readOnly: PropTypes.bool,\n\n /**\n * Render the group.\n *\n * @param {AutocompleteRenderGroupParams} params The group to render.\n * @returns {ReactNode}\n */\n renderGroup: PropTypes.func,\n\n /**\n * Render the input.\n *\n * @param {object} params\n * @returns {ReactNode}\n */\n renderInput: PropTypes.func.isRequired,\n\n /**\n * Render the option, use `getOptionLabel` by default.\n *\n * @param {object} props The props to apply on the li element.\n * @param {T} option The option to render.\n * @param {object} state The state of the component.\n * @returns {ReactNode}\n */\n renderOption: PropTypes.func,\n\n /**\n * Render the selected value.\n *\n * @param {T[]} value The `value` provided to the component.\n * @param {function} getTagProps A tag props getter.\n * @param {object} ownerState The state of the Autocomplete component.\n * @returns {ReactNode}\n */\n renderTags: PropTypes.func,\n\n /**\n * If `true`, the input's text is selected on focus.\n * It helps the user clear the selected value.\n * @default !props.freeSolo\n */\n selectOnFocus: PropTypes.bool,\n\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['small', 'medium']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the autocomplete.\n *\n * The value must have reference equality with the option in order to be selected.\n * You can customize the equality behavior with the `isOptionEqualToValue` prop.\n */\n value: chainPropTypes(PropTypes.any, props => {\n if (props.multiple && props.value !== undefined && !Array.isArray(props.value)) {\n return new Error(['MUI: The Autocomplete expects the `value` prop to be an array when `multiple={true}` or undefined.', `However, ${props.value} was provided.`].join('\\n'));\n }\n\n return null;\n })\n} : void 0;\nexport default Autocomplete;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getListSubheaderUtilityClass(slot) {\n return generateUtilityClass('MuiListSubheader', slot);\n}\nconst listSubheaderClasses = generateUtilityClasses('MuiListSubheader', ['root', 'colorPrimary', 'colorInherit', 'gutters', 'inset', 'sticky']);\nexport default listSubheaderClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"disableGutters\", \"disableSticky\", \"inset\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport { getListSubheaderUtilityClass } from './listSubheaderClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disableGutters,\n inset,\n disableSticky\n } = ownerState;\n const slots = {\n root: ['root', color !== 'default' && `color${capitalize(color)}`, !disableGutters && 'gutters', inset && 'inset', !disableSticky && 'sticky']\n };\n return composeClasses(slots, getListSubheaderUtilityClass, classes);\n};\n\nconst ListSubheaderRoot = styled('li', {\n name: 'MuiListSubheader',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], !ownerState.disableGutters && styles.gutters, ownerState.inset && styles.inset, !ownerState.disableSticky && styles.sticky];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n boxSizing: 'border-box',\n lineHeight: '48px',\n listStyle: 'none',\n color: (theme.vars || theme).palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(14)\n}, ownerState.color === 'primary' && {\n color: (theme.vars || theme).palette.primary.main\n}, ownerState.color === 'inherit' && {\n color: 'inherit'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.inset && {\n paddingLeft: 72\n}, !ownerState.disableSticky && {\n position: 'sticky',\n top: 0,\n zIndex: 1,\n backgroundColor: (theme.vars || theme).palette.background.paper\n}));\nconst ListSubheader = /*#__PURE__*/React.forwardRef(function ListSubheader(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListSubheader'\n });\n\n const {\n className,\n color = 'default',\n component = 'li',\n disableGutters = false,\n disableSticky = false,\n inset = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n component,\n disableGutters,\n disableSticky,\n inset\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListSubheaderRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListSubheader.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'default'\n */\n color: PropTypes.oneOf(['default', 'inherit', 'primary']),\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 * If `true`, the List Subheader will not have gutters.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, the List Subheader will not stick to the top during scroll.\n * @default false\n */\n disableSticky: PropTypes.bool,\n\n /**\n * If `true`, the List Subheader is indented.\n * @default false\n */\n inset: PropTypes.bool,\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 ListSubheader;"],"names":["stripDiacritics","string","normalize","replace","createFilterOptions","config","ignoreAccents","ignoreCase","limit","matchFrom","stringify","trim","options","inputValue","getOptionLabel","input","toLowerCase","filteredOptions","filter","option","candidate","indexOf","slice","findIndex","array","comp","i","length","defaultFilterOptions","useAutocomplete","props","autoComplete","autoHighlight","autoSelect","blurOnSelect","clearOnBlur","freeSolo","clearOnEscape","componentName","defaultValue","multiple","disableClearable","disableCloseOnSelect","disabled","disabledProp","disabledItemsFocusable","disableListWrap","filterOptions","filterSelectedOptions","getOptionDisabled","getOptionLabelProp","_option$label","label","groupBy","handleHomeEndKeys","id","idProp","includeInputInList","inputValueProp","isOptionEqualToValue","value","onChange","onClose","onHighlightChange","onInputChange","onOpen","open","openProp","openOnFocus","readOnly","selectOnFocus","valueProp","_mui_utils__WEBPACK_IMPORTED_MODULE_1__","Z","optionLabel","String","ignoreFocus","react__WEBPACK_IMPORTED_MODULE_0__","useRef","firstFocus","inputRef","listboxRef","anchorEl","setAnchorEl","useState","focusedTag","setFocusedTag","defaultHighlighted","highlightedIndexRef","setValueState","_mui_utils__WEBPACK_IMPORTED_MODULE_2__","controlled","default","name","setInputValueState","state","focused","setFocused","resetInputValue","useCallback","event","newValue","newInputValue","isOptionSelected","prevValue","useEffect","valueChange","current","setOpenState","inputPristine","setInputPristine","inputValueIsSelectedValue","popupOpen","some","value2","listboxAvailable","focusTag","_mui_utils__WEBPACK_IMPORTED_MODULE_3__","tagToFocus","focus","querySelector","setHighlightedIndex","index","reason","removeAttribute","setAttribute","prev","classList","remove","listboxNode","parentElement","scrollTop","add","scrollHeight","clientHeight","scrollBottom","elementBottom","element","offsetTop","offsetHeight","changeHighlightedIndex","diff","direction","nextIndex","validOptionIndex","nextFocus","nextFocusDisabled","getAttribute","hasAttribute","getNextIndex","maxIndex","newIndex","Math","abs","setSelectionRange","syncHighlightedIndex","valueItem","currentOption","val","itemIndex","optionItem","handleListboxRef","node","_mui_utils__WEBPACK_IMPORTED_MODULE_4__","handleOpen","handleClose","handleValue","details","every","isTouch","selectNewValue","reasonProp","origin","Array","isArray","push","splice","ctrlKey","metaKey","blur","handleFocusTag","nextTag","validTagIndex","handleClear","handleKeyDown","other","onKeyDown","defaultMuiPrevented","key","which","preventDefault","stopPropagation","handleFocus","handleBlur","contains","document","activeElement","handleInputChange","target","handleOptionMouseOver","Number","currentTarget","handleOptionTouchStart","handleOptionClick","handleTagDelete","handlePopupIndicator","handleMouseDown","handleClick","selectionEnd","selectionStart","select","handleInputMouseDown","dirty","groupedOptions","reduce","acc","group","getRootProps","_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_5__","onMouseDown","onClick","getInputLabelProps","htmlFor","getInputProps","onBlur","onFocus","undefined","ref","autoCapitalize","spellCheck","role","getClearProps","tabIndex","getPopupIndicatorProps","getTagProps","onDelete","getListboxProps","getOptionProps","selected","onMouseOver","onTouchStart","_ClearIcon","_ArrowDropDownIcon","getAutocompleteUtilityClass","slot","generateUtilityClass","ZP","autocompleteClasses","generateUtilityClasses","_excluded","useUtilityClasses","ownerState","classes","disablePortal","fullWidth","hasClearIcon","hasPopupIcon","inputFocused","size","slots","root","inputRoot","tag","capitalize","endAdornment","clearIndicator","popupIndicator","popper","paper","listbox","loading","noOptions","groupLabel","groupUl","composeClasses","AutocompleteRoot","styled","overridesResolver","styles","Autocomplete_autocompleteClasses","esm_extends","visibility","width","margin","maxWidth","flexWrap","paddingRight","minWidth","inputClasses","paddingBottom","padding","inputBaseClasses","sizeSmall","outlinedInputClasses","right","filledInputClasses","paddingTop","paddingLeft","hiddenLabel","flexGrow","textOverflow","opacity","AutocompleteEndAdornment","position","top","AutocompleteClearIndicator","IconButton","marginRight","AutocompletePopupIndicator","popupIndicatorOpen","transform","AutocompletePopper","Popper","popperDisablePortal","theme","zIndex","vars","modal","AutocompletePaper","Paper","typography","body1","overflow","AutocompleteLoading","color","palette","text","secondary","AutocompleteNoOptions","AutocompleteListbox","listStyle","maxHeight","minHeight","display","justifyContent","alignItems","cursor","boxSizing","outline","WebkitTapHighlightColor","breakpoints","up","backgroundColor","action","hover","disabledOpacity","pointerEvents","focusVisible","primary","mainChannel","selectedOpacity","colorManipulator","Fq","main","hoverOpacity","focusOpacity","AutocompleteGroupLabel","ListSubheader","background","AutocompleteGroupUl","Autocomplete","react","forwardRef","inProps","_componentsProps$clea","_componentsProps$popu","_componentsProps$popp","_componentsProps$pape","startAdornment","useThemeProps","ChipProps","className","clearIcon","jsx_runtime","jsx","Close","fontSize","clearText","closeText","componentsProps","forcePopupIcon","getLimitTagsText","more","limitTags","ListboxComponent","ListboxProps","loadingText","noOptionsText","openText","PaperComponent","PopperComponent","popupIcon","ArrowDropDown","renderGroup","renderGroupProp","renderInput","renderOption","renderOptionProp","renderTags","objectWithoutPropertiesLoose","getCustomizedTagProps","params","map","Chip","children","jsxs","component","props2","renderListOption","optionProps","Fragment","clsx_m","InputLabelProps","InputProps","title","inputProps","as","style","clientWidth","option2","index2","Autocomplete_Autocomplete","getListSubheaderUtilityClass","disableGutters","inset","disableSticky","ListSubheaderRoot","gutters","sticky","lineHeight","fontFamily","fontWeight","fontWeightMedium","pxToRem","ListSubheader_ListSubheader"],"sourceRoot":""}