{"version":3,"file":"static/js/6338.db409000.chunk.js","mappings":"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","sources":["../node_modules/@mui/base/AutocompleteUnstyled/useAutocomplete.js","../node_modules/@mui/material/esm/Autocomplete/autocompleteClasses.js","../node_modules/@mui/material/esm/Autocomplete/Autocomplete.js","../node_modules/@mui/material/esm/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/esm/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/esm/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/esm/Checkbox/checkboxClasses.js","../node_modules/@mui/material/esm/Checkbox/Checkbox.js","../node_modules/@mui/material/esm/Tooltip/tooltipClasses.js","../node_modules/@mui/material/esm/Tooltip/Tooltip.js"],"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 = !input ? options : 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 // Don't specify paddingRight, as it overrides the default value set when there is only\n // one of the popup or clear icon as the specificity is equal so the latter one wins\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 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 })), 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: popupOpen\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 * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium',\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.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 component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: 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.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), 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 component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTooltipUtilityClass(slot) {\n return generateUtilityClass('MuiTooltip', slot);\n}\nconst tooltipClasses = generateUtilityClasses('MuiTooltip', ['popper', 'popperInteractive', 'popperArrow', 'popperClose', 'tooltip', 'tooltipArrow', 'touch', 'tooltipPlacementLeft', 'tooltipPlacementRight', 'tooltipPlacementTop', 'tooltipPlacementBottom', 'arrow']);\nexport default tooltipClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"arrow\", \"children\", \"classes\", \"components\", \"componentsProps\", \"describeChild\", \"disableFocusListener\", \"disableHoverListener\", \"disableInteractive\", \"disableTouchListener\", \"enterDelay\", \"enterNextDelay\", \"enterTouchDelay\", \"followCursor\", \"id\", \"leaveDelay\", \"leaveTouchDelay\", \"onClose\", \"onOpen\", \"open\", \"placement\", \"PopperComponent\", \"PopperProps\", \"title\", \"TransitionComponent\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { elementAcceptingRef } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses, appendOwnerState } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled from '../styles/styled';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport Grow from '../Grow';\nimport Popper from '../Popper';\nimport useEventCallback from '../utils/useEventCallback';\nimport useForkRef from '../utils/useForkRef';\nimport useId from '../utils/useId';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useControlled from '../utils/useControlled';\nimport tooltipClasses, { getTooltipUtilityClass } from './tooltipClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableInteractive,\n arrow,\n touch,\n placement\n } = ownerState;\n const slots = {\n popper: ['popper', !disableInteractive && 'popperInteractive', arrow && 'popperArrow'],\n tooltip: ['tooltip', arrow && 'tooltipArrow', touch && 'touch', `tooltipPlacement${capitalize(placement.split('-')[0])}`],\n arrow: ['arrow']\n };\n return composeClasses(slots, getTooltipUtilityClass, classes);\n};\n\nconst TooltipPopper = styled(Popper, {\n name: 'MuiTooltip',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.popper, !ownerState.disableInteractive && styles.popperInteractive, ownerState.arrow && styles.popperArrow, !ownerState.open && styles.popperClose];\n }\n})(({\n theme,\n ownerState,\n open\n}) => _extends({\n zIndex: (theme.vars || theme).zIndex.tooltip,\n pointerEvents: 'none'\n}, !ownerState.disableInteractive && {\n pointerEvents: 'auto'\n}, !open && {\n pointerEvents: 'none'\n}, ownerState.arrow && {\n [`&[data-popper-placement*=\"bottom\"] .${tooltipClasses.arrow}`]: {\n top: 0,\n marginTop: '-0.71em',\n '&::before': {\n transformOrigin: '0 100%'\n }\n },\n [`&[data-popper-placement*=\"top\"] .${tooltipClasses.arrow}`]: {\n bottom: 0,\n marginBottom: '-0.71em',\n '&::before': {\n transformOrigin: '100% 0'\n }\n },\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: _extends({}, !ownerState.isRtl ? {\n left: 0,\n marginLeft: '-0.71em'\n } : {\n right: 0,\n marginRight: '-0.71em'\n }, {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '100% 100%'\n }\n }),\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: _extends({}, !ownerState.isRtl ? {\n right: 0,\n marginRight: '-0.71em'\n } : {\n left: 0,\n marginLeft: '-0.71em'\n }, {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '0 0'\n }\n })\n}));\nconst TooltipTooltip = styled('div', {\n name: 'MuiTooltip',\n slot: 'Tooltip',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.tooltip, ownerState.touch && styles.touch, ownerState.arrow && styles.tooltipArrow, styles[`tooltipPlacement${capitalize(ownerState.placement.split('-')[0])}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n backgroundColor: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.92),\n borderRadius: (theme.vars || theme).shape.borderRadius,\n color: (theme.vars || theme).palette.common.white,\n fontFamily: theme.typography.fontFamily,\n padding: '4px 8px',\n fontSize: theme.typography.pxToRem(11),\n maxWidth: 300,\n margin: 2,\n wordWrap: 'break-word',\n fontWeight: theme.typography.fontWeightMedium\n}, ownerState.arrow && {\n position: 'relative',\n margin: 0\n}, ownerState.touch && {\n padding: '8px 16px',\n fontSize: theme.typography.pxToRem(14),\n lineHeight: `${round(16 / 14)}em`,\n fontWeight: theme.typography.fontWeightRegular\n}, {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: _extends({\n transformOrigin: 'right center'\n }, !ownerState.isRtl ? _extends({\n marginRight: '14px'\n }, ownerState.touch && {\n marginRight: '24px'\n }) : _extends({\n marginLeft: '14px'\n }, ownerState.touch && {\n marginLeft: '24px'\n })),\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: _extends({\n transformOrigin: 'left center'\n }, !ownerState.isRtl ? _extends({\n marginLeft: '14px'\n }, ownerState.touch && {\n marginLeft: '24px'\n }) : _extends({\n marginRight: '14px'\n }, ownerState.touch && {\n marginRight: '24px'\n })),\n [`.${tooltipClasses.popper}[data-popper-placement*=\"top\"] &`]: _extends({\n transformOrigin: 'center bottom',\n marginBottom: '14px'\n }, ownerState.touch && {\n marginBottom: '24px'\n }),\n [`.${tooltipClasses.popper}[data-popper-placement*=\"bottom\"] &`]: _extends({\n transformOrigin: 'center top',\n marginTop: '14px'\n }, ownerState.touch && {\n marginTop: '24px'\n })\n}));\nconst TooltipArrow = styled('span', {\n name: 'MuiTooltip',\n slot: 'Arrow',\n overridesResolver: (props, styles) => styles.arrow\n})(({\n theme\n}) => ({\n overflow: 'hidden',\n position: 'absolute',\n width: '1em',\n height: '0.71em'\n /* = width / sqrt(2) = (length of the hypotenuse) */\n ,\n boxSizing: 'border-box',\n color: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.9),\n '&::before': {\n content: '\"\"',\n margin: 'auto',\n display: 'block',\n width: '100%',\n height: '100%',\n backgroundColor: 'currentColor',\n transform: 'rotate(45deg)'\n }\n}));\nlet hystersisOpen = false;\nlet hystersisTimer = null;\nexport function testReset() {\n hystersisOpen = false;\n clearTimeout(hystersisTimer);\n}\n\nfunction composeEventHandler(handler, eventHandler) {\n return event => {\n if (eventHandler) {\n eventHandler(event);\n }\n\n handler(event);\n };\n} // TODO v6: Remove PopperComponent, PopperProps, TransitionComponent and TransitionProps.\n\n\nconst Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {\n var _components$Popper, _ref, _components$Transitio, _components$Tooltip, _components$Arrow, _componentsProps$popp;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTooltip'\n });\n\n const {\n arrow = false,\n children,\n components = {},\n componentsProps = {},\n describeChild = false,\n disableFocusListener = false,\n disableHoverListener = false,\n disableInteractive: disableInteractiveProp = false,\n disableTouchListener = false,\n enterDelay = 100,\n enterNextDelay = 0,\n enterTouchDelay = 700,\n followCursor = false,\n id: idProp,\n leaveDelay = 0,\n leaveTouchDelay = 1500,\n onClose,\n onOpen,\n open: openProp,\n placement = 'bottom',\n PopperComponent: PopperComponentProp,\n PopperProps = {},\n title,\n TransitionComponent: TransitionComponentProp = Grow,\n TransitionProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const theme = useTheme();\n const isRtl = theme.direction === 'rtl';\n const [childNode, setChildNode] = React.useState();\n const [arrowRef, setArrowRef] = React.useState(null);\n const ignoreNonTouchEvents = React.useRef(false);\n const disableInteractive = disableInteractiveProp || followCursor;\n const closeTimer = React.useRef();\n const enterTimer = React.useRef();\n const leaveTimer = React.useRef();\n const touchTimer = React.useRef();\n const [openState, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: 'Tooltip',\n state: 'open'\n });\n let open = openState;\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const {\n current: isControlled\n } = React.useRef(openProp !== undefined); // eslint-disable-next-line react-hooks/rules-of-hooks\n\n React.useEffect(() => {\n if (childNode && childNode.disabled && !isControlled && title !== '' && childNode.tagName.toLowerCase() === 'button') {\n console.error(['MUI: You are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', \"Tooltip needs to listen to the child element's events to display the title.\", '', 'Add a simple wrapper element, such as a `span`.'].join('\\n'));\n }\n }, [title, childNode, isControlled]);\n }\n\n const id = useId(idProp);\n const prevUserSelect = React.useRef();\n const stopTouchInteraction = React.useCallback(() => {\n if (prevUserSelect.current !== undefined) {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n prevUserSelect.current = undefined;\n }\n\n clearTimeout(touchTimer.current);\n }, []);\n React.useEffect(() => {\n return () => {\n clearTimeout(closeTimer.current);\n clearTimeout(enterTimer.current);\n clearTimeout(leaveTimer.current);\n stopTouchInteraction();\n };\n }, [stopTouchInteraction]);\n\n const handleOpen = event => {\n clearTimeout(hystersisTimer);\n hystersisOpen = true; // The mouseover event will trigger for every nested element in the tooltip.\n // We can skip rerendering when the tooltip is already open.\n // We are using the mouseover event instead of the mouseenter event to fix a hide/show issue.\n\n setOpenState(true);\n\n if (onOpen && !open) {\n onOpen(event);\n }\n };\n\n const handleClose = useEventCallback(\n /**\n * @param {React.SyntheticEvent | Event} event\n */\n event => {\n clearTimeout(hystersisTimer);\n hystersisTimer = setTimeout(() => {\n hystersisOpen = false;\n }, 800 + leaveDelay);\n setOpenState(false);\n\n if (onClose && open) {\n onClose(event);\n }\n\n clearTimeout(closeTimer.current);\n closeTimer.current = setTimeout(() => {\n ignoreNonTouchEvents.current = false;\n }, theme.transitions.duration.shortest);\n });\n\n const handleEnter = event => {\n if (ignoreNonTouchEvents.current && event.type !== 'touchstart') {\n return;\n } // Remove the title ahead of time.\n // We don't want to wait for the next render commit.\n // We would risk displaying two tooltips at the same time (native + this one).\n\n\n if (childNode) {\n childNode.removeAttribute('title');\n }\n\n clearTimeout(enterTimer.current);\n clearTimeout(leaveTimer.current);\n\n if (enterDelay || hystersisOpen && enterNextDelay) {\n enterTimer.current = setTimeout(() => {\n handleOpen(event);\n }, hystersisOpen ? enterNextDelay : enterDelay);\n } else {\n handleOpen(event);\n }\n };\n\n const handleLeave = event => {\n clearTimeout(enterTimer.current);\n clearTimeout(leaveTimer.current);\n leaveTimer.current = setTimeout(() => {\n handleClose(event);\n }, leaveDelay);\n };\n\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible(); // We don't necessarily care about the focusVisible state (which is safe to access via ref anyway).\n // We just need to re-render the Tooltip if the focus-visible state changes.\n\n const [, setChildIsFocusVisible] = React.useState(false);\n\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setChildIsFocusVisible(false);\n handleLeave(event);\n }\n };\n\n const handleFocus = event => {\n // Workaround for https://github.com/facebook/react/issues/7769\n // The autoFocus of React might trigger the event before the componentDidMount.\n // We need to account for this eventuality.\n if (!childNode) {\n setChildNode(event.currentTarget);\n }\n\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setChildIsFocusVisible(true);\n handleEnter(event);\n }\n };\n\n const detectTouchStart = event => {\n ignoreNonTouchEvents.current = true;\n const childrenProps = children.props;\n\n if (childrenProps.onTouchStart) {\n childrenProps.onTouchStart(event);\n }\n };\n\n const handleMouseOver = handleEnter;\n const handleMouseLeave = handleLeave;\n\n const handleTouchStart = event => {\n detectTouchStart(event);\n clearTimeout(leaveTimer.current);\n clearTimeout(closeTimer.current);\n stopTouchInteraction();\n prevUserSelect.current = document.body.style.WebkitUserSelect; // Prevent iOS text selection on long-tap.\n\n document.body.style.WebkitUserSelect = 'none';\n touchTimer.current = setTimeout(() => {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n handleEnter(event);\n }, enterTouchDelay);\n };\n\n const handleTouchEnd = event => {\n if (children.props.onTouchEnd) {\n children.props.onTouchEnd(event);\n }\n\n stopTouchInteraction();\n clearTimeout(leaveTimer.current);\n leaveTimer.current = setTimeout(() => {\n handleClose(event);\n }, leaveTouchDelay);\n };\n\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n /**\n * @param {KeyboardEvent} nativeEvent\n */\n\n\n function handleKeyDown(nativeEvent) {\n // IE11, Edge (prior to using Bink?) use 'Esc'\n if (nativeEvent.key === 'Escape' || nativeEvent.key === 'Esc') {\n handleClose(nativeEvent);\n }\n }\n\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [handleClose, open]);\n const handleRef = useForkRef(children.ref, focusVisibleRef, setChildNode, ref); // There is no point in displaying an empty tooltip.\n\n if (typeof title !== 'number' && !title) {\n open = false;\n }\n\n const positionRef = React.useRef({\n x: 0,\n y: 0\n });\n const popperRef = React.useRef();\n\n const handleMouseMove = event => {\n const childrenProps = children.props;\n\n if (childrenProps.onMouseMove) {\n childrenProps.onMouseMove(event);\n }\n\n positionRef.current = {\n x: event.clientX,\n y: event.clientY\n };\n\n if (popperRef.current) {\n popperRef.current.update();\n }\n };\n\n const nameOrDescProps = {};\n const titleIsString = typeof title === 'string';\n\n if (describeChild) {\n nameOrDescProps.title = !open && titleIsString && !disableHoverListener ? title : null;\n nameOrDescProps['aria-describedby'] = open ? id : null;\n } else {\n nameOrDescProps['aria-label'] = titleIsString ? title : null;\n nameOrDescProps['aria-labelledby'] = open && !titleIsString ? id : null;\n }\n\n const childrenProps = _extends({}, nameOrDescProps, other, children.props, {\n className: clsx(other.className, children.props.className),\n onTouchStart: detectTouchStart,\n ref: handleRef\n }, followCursor ? {\n onMouseMove: handleMouseMove\n } : {});\n\n if (process.env.NODE_ENV !== 'production') {\n childrenProps['data-mui-internal-clone-element'] = true; // eslint-disable-next-line react-hooks/rules-of-hooks\n\n React.useEffect(() => {\n if (childNode && !childNode.getAttribute('data-mui-internal-clone-element')) {\n console.error(['MUI: The `children` component of the Tooltip is not forwarding its props correctly.', 'Please make sure that props are spread on the same element that the ref is applied to.'].join('\\n'));\n }\n }, [childNode]);\n }\n\n const interactiveWrapperListeners = {};\n\n if (!disableTouchListener) {\n childrenProps.onTouchStart = handleTouchStart;\n childrenProps.onTouchEnd = handleTouchEnd;\n }\n\n if (!disableHoverListener) {\n childrenProps.onMouseOver = composeEventHandler(handleMouseOver, childrenProps.onMouseOver);\n childrenProps.onMouseLeave = composeEventHandler(handleMouseLeave, childrenProps.onMouseLeave);\n\n if (!disableInteractive) {\n interactiveWrapperListeners.onMouseOver = handleMouseOver;\n interactiveWrapperListeners.onMouseLeave = handleMouseLeave;\n }\n }\n\n if (!disableFocusListener) {\n childrenProps.onFocus = composeEventHandler(handleFocus, childrenProps.onFocus);\n childrenProps.onBlur = composeEventHandler(handleBlur, childrenProps.onBlur);\n\n if (!disableInteractive) {\n interactiveWrapperListeners.onFocus = handleFocus;\n interactiveWrapperListeners.onBlur = handleBlur;\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (children.props.title) {\n console.error(['MUI: You have provided a `title` prop to the child of .', `Remove this title prop \\`${children.props.title}\\` or the Tooltip component.`].join('\\n'));\n }\n }\n\n const popperOptions = React.useMemo(() => {\n var _PopperProps$popperOp;\n\n let tooltipModifiers = [{\n name: 'arrow',\n enabled: Boolean(arrowRef),\n options: {\n element: arrowRef,\n padding: 4\n }\n }];\n\n if ((_PopperProps$popperOp = PopperProps.popperOptions) != null && _PopperProps$popperOp.modifiers) {\n tooltipModifiers = tooltipModifiers.concat(PopperProps.popperOptions.modifiers);\n }\n\n return _extends({}, PopperProps.popperOptions, {\n modifiers: tooltipModifiers\n });\n }, [arrowRef, PopperProps]);\n\n const ownerState = _extends({}, props, {\n isRtl,\n arrow,\n disableInteractive,\n placement,\n PopperComponentProp,\n touch: ignoreNonTouchEvents.current\n });\n\n const classes = useUtilityClasses(ownerState);\n const PopperComponent = (_components$Popper = components.Popper) != null ? _components$Popper : TooltipPopper;\n const TransitionComponent = (_ref = (_components$Transitio = components.Transition) != null ? _components$Transitio : TransitionComponentProp) != null ? _ref : Grow;\n const TooltipComponent = (_components$Tooltip = components.Tooltip) != null ? _components$Tooltip : TooltipTooltip;\n const ArrowComponent = (_components$Arrow = components.Arrow) != null ? _components$Arrow : TooltipArrow;\n const popperProps = appendOwnerState(PopperComponent, _extends({}, PopperProps, componentsProps.popper), ownerState);\n const transitionProps = appendOwnerState(TransitionComponent, _extends({}, TransitionProps, componentsProps.transition), ownerState);\n const tooltipProps = appendOwnerState(TooltipComponent, _extends({}, componentsProps.tooltip), ownerState);\n const tooltipArrowProps = appendOwnerState(ArrowComponent, _extends({}, componentsProps.arrow), ownerState);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/React.cloneElement(children, childrenProps), /*#__PURE__*/_jsx(PopperComponent, _extends({\n as: PopperComponentProp != null ? PopperComponentProp : Popper,\n placement: placement,\n anchorEl: followCursor ? {\n getBoundingClientRect: () => ({\n top: positionRef.current.y,\n left: positionRef.current.x,\n right: positionRef.current.x,\n bottom: positionRef.current.y,\n width: 0,\n height: 0\n })\n } : childNode,\n popperRef: popperRef,\n open: childNode ? open : false,\n id: id,\n transition: true\n }, interactiveWrapperListeners, popperProps, {\n className: clsx(classes.popper, PopperProps == null ? void 0 : PopperProps.className, (_componentsProps$popp = componentsProps.popper) == null ? void 0 : _componentsProps$popp.className),\n popperOptions: popperOptions,\n children: ({\n TransitionProps: TransitionPropsInner\n }) => {\n var _componentsProps$tool, _componentsProps$arro;\n\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n timeout: theme.transitions.duration.shorter\n }, TransitionPropsInner, transitionProps, {\n children: /*#__PURE__*/_jsxs(TooltipComponent, _extends({}, tooltipProps, {\n className: clsx(classes.tooltip, (_componentsProps$tool = componentsProps.tooltip) == null ? void 0 : _componentsProps$tool.className),\n children: [title, arrow ? /*#__PURE__*/_jsx(ArrowComponent, _extends({}, tooltipArrowProps, {\n className: clsx(classes.arrow, (_componentsProps$arro = componentsProps.arrow) == null ? void 0 : _componentsProps$arro.className),\n ref: setArrowRef\n })) : null]\n }))\n }));\n }\n }))]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Tooltip.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`, adds an arrow to the tooltip.\n * @default false\n */\n arrow: PropTypes.bool,\n\n /**\n * Tooltip reference element.\n */\n children: elementAcceptingRef.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The components used for each slot inside the Tooltip.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n components: PropTypes.shape({\n Arrow: PropTypes.elementType,\n Popper: PropTypes.elementType,\n Tooltip: PropTypes.elementType,\n Transition: PropTypes.elementType\n }),\n\n /**\n * The props used for each slot inside the Tooltip.\n * Note that `componentsProps.popper` prop values win over `PopperProps`\n * and `componentsProps.transition` prop values win over `TransitionProps` if both are applied.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n arrow: PropTypes.object,\n popper: PropTypes.object,\n tooltip: PropTypes.object,\n transition: PropTypes.object\n }),\n\n /**\n * Set to `true` if the `title` acts as an accessible description.\n * By default the `title` acts as an accessible label for the child.\n * @default false\n */\n describeChild: PropTypes.bool,\n\n /**\n * Do not respond to focus-visible events.\n * @default false\n */\n disableFocusListener: PropTypes.bool,\n\n /**\n * Do not respond to hover events.\n * @default false\n */\n disableHoverListener: PropTypes.bool,\n\n /**\n * Makes a tooltip not interactive, i.e. it will close when the user\n * hovers over the tooltip before the `leaveDelay` is expired.\n * @default false\n */\n disableInteractive: PropTypes.bool,\n\n /**\n * Do not respond to long press touch events.\n * @default false\n */\n disableTouchListener: PropTypes.bool,\n\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n * @default 100\n */\n enterDelay: PropTypes.number,\n\n /**\n * The number of milliseconds to wait before showing the tooltip when one was already recently opened.\n * @default 0\n */\n enterNextDelay: PropTypes.number,\n\n /**\n * The number of milliseconds a user must touch the element before showing the tooltip.\n * @default 700\n */\n enterTouchDelay: PropTypes.number,\n\n /**\n * If `true`, the tooltip follow the cursor over the wrapped element.\n * @default false\n */\n followCursor: PropTypes.bool,\n\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id: PropTypes.string,\n\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n * @default 0\n */\n leaveDelay: PropTypes.number,\n\n /**\n * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n * @default 1500\n */\n leaveTouchDelay: PropTypes.number,\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n\n /**\n * Callback fired when the component requests to be 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 * Tooltip placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n\n /**\n * The component used for the popper.\n * @default Popper\n */\n PopperComponent: PropTypes.elementType,\n\n /**\n * Props applied to the [`Popper`](/material-ui/api/popper/) element.\n * @default {}\n */\n PopperProps: PropTypes.object,\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 * Tooltip title. Zero-length titles string, undefined, null and false are never displayed.\n */\n title: PropTypes.node,\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 /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Tooltip;"],"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","disabledProp","disabled","disabledItemsFocusable","disableListWrap","filterOptions","filterSelectedOptions","getOptionDisabled","getOptionLabelProp","_option$label","label","groupBy","handleHomeEndKeys","idProp","id","includeInputInList","inputValueProp","isOptionEqualToValue","value","onChange","onClose","onHighlightChange","onInputChange","onOpen","openProp","open","openOnFocus","readOnly","selectOnFocus","valueProp","useId","optionLabel","String","ignoreFocus","React","firstFocus","inputRef","listboxRef","anchorEl","setAnchorEl","focusedTag","setFocusedTag","defaultHighlighted","highlightedIndexRef","useControlled","controlled","default","name","setValueState","state","setInputValueState","focused","setFocused","resetInputValue","event","newValue","newInputValue","prevValue","valueChange","current","setOpenState","inputPristine","setInputPristine","inputValueIsSelectedValue","popupOpen","some","value2","listboxAvailable","focusTag","useEventCallback","tagToFocus","focus","querySelector","setHighlightedIndex","index","reason","removeAttribute","setAttribute","prev","classList","remove","listboxNode","parentElement","add","scrollHeight","clientHeight","element","scrollBottom","scrollTop","elementBottom","offsetTop","offsetHeight","changeHighlightedIndex","diff","direction","nextIndex","nextFocus","nextFocusDisabled","getAttribute","hasAttribute","validOptionIndex","maxIndex","newIndex","Math","abs","getNextIndex","setSelectionRange","syncHighlightedIndex","valueItem","currentOption","val","itemIndex","optionItem","handleListboxRef","node","setRef","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","Map","reduce","acc","group","getRootProps","_extends","onMouseDown","onClick","getInputLabelProps","htmlFor","getInputProps","onBlur","onFocus","undefined","ref","autoCapitalize","spellCheck","role","getClearProps","tabIndex","getPopupIndicatorProps","getTagProps","onDelete","getListboxProps","getOptionProps","selected","onMouseOver","onTouchStart","getAutocompleteUtilityClass","slot","generateUtilityClass","_ClearIcon","_ArrowDropDownIcon","generateUtilityClasses","_excluded","AutocompleteRoot","styled","overridesResolver","styles","ownerState","fullWidth","hasClearIcon","hasPopupIcon","inputFocused","size","autocompleteClasses","tag","capitalize","inputRoot","root","visibility","width","margin","maxWidth","flexWrap","paddingRight","minWidth","inputClasses","paddingBottom","padding","inputBaseClasses","outlinedInputClasses","right","paddingTop","paddingLeft","filledInputClasses","flexGrow","textOverflow","opacity","AutocompleteEndAdornment","endAdornment","position","top","AutocompleteClearIndicator","IconButton","clearIndicator","marginRight","AutocompletePopupIndicator","popupIndicator","popupIndicatorOpen","transform","AutocompletePopper","Popper","popper","disablePortal","popperDisablePortal","theme","zIndex","vars","modal","AutocompletePaper","Paper","paper","typography","body1","overflow","AutocompleteLoading","loading","color","palette","text","secondary","AutocompleteNoOptions","noOptions","AutocompleteListbox","listbox","listStyle","maxHeight","minHeight","display","justifyContent","alignItems","cursor","boxSizing","outline","WebkitTapHighlightColor","breakpoints","up","backgroundColor","action","hover","disabledOpacity","pointerEvents","primary","mainChannel","selectedOpacity","alpha","main","hoverOpacity","focusOpacity","AutocompleteGroupLabel","ListSubheader","groupLabel","background","AutocompleteGroupUl","groupUl","inProps","_componentsProps$clea","_componentsProps$popu","_componentsProps$popp","_componentsProps$pape","startAdornment","useThemeProps","ChipProps","className","clearIcon","_jsx","ClearIcon","fontSize","clearText","closeText","componentsProps","forcePopupIcon","getLimitTagsText","more","limitTags","ListboxComponent","ListboxProps","loadingText","noOptionsText","openText","PaperComponent","PopperComponent","popupIcon","ArrowDropDownIcon","renderGroupProp","renderGroup","renderInput","renderOptionProp","renderOption","renderTags","_objectWithoutPropertiesLoose","classes","slots","composeClasses","useUtilityClasses","getCustomizedTagProps","params","map","Chip","children","_jsxs","component","props2","renderListOption","optionProps","clsx","InputLabelProps","InputProps","title","inputProps","as","style","clientWidth","option2","index2","createSvgIcon","d","getCheckboxUtilityClass","CheckboxRoot","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","indeterminate","disableRipple","activeChannel","active","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","_icon$props$fontSize","_indeterminateIcon$pr","checkedIcon","icon","iconProp","indeterminateIcon","indeterminateIconProp","composedClasses","type","getTooltipUtilityClass","TooltipPopper","disableInteractive","popperInteractive","arrow","popperArrow","popperClose","tooltip","tooltipClasses","marginTop","transformOrigin","bottom","marginBottom","isRtl","left","marginLeft","height","TooltipTooltip","touch","tooltipArrow","placement","split","Tooltip","bg","grey","borderRadius","shape","common","white","fontFamily","pxToRem","wordWrap","fontWeight","fontWeightMedium","lineHeight","round","fontWeightRegular","TooltipArrow","content","hystersisOpen","hystersisTimer","composeEventHandler","handler","eventHandler","_components$Popper","_ref","_components$Transitio","_components$Tooltip","_components$Arrow","components","describeChild","disableFocusListener","disableHoverListener","disableInteractiveProp","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","leaveDelay","leaveTouchDelay","PopperComponentProp","PopperProps","TransitionComponent","TransitionComponentProp","Grow","TransitionProps","useTheme","childNode","setChildNode","arrowRef","setArrowRef","ignoreNonTouchEvents","closeTimer","enterTimer","leaveTimer","touchTimer","openState","prevUserSelect","stopTouchInteraction","body","WebkitUserSelect","clearTimeout","setTimeout","transitions","duration","shortest","handleEnter","handleLeave","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","setChildIsFocusVisible","detectTouchStart","childrenProps","handleMouseOver","handleMouseLeave","addEventListener","removeEventListener","nativeEvent","handleRef","useForkRef","positionRef","x","y","popperRef","nameOrDescProps","titleIsString","onMouseMove","clientX","clientY","update","interactiveWrapperListeners","onTouchEnd","onMouseLeave","popperOptions","_PopperProps$popperOp","tooltipModifiers","enabled","Boolean","modifiers","concat","Transition","TooltipComponent","ArrowComponent","Arrow","popperProps","appendOwnerState","transitionProps","transition","tooltipProps","tooltipArrowProps","getBoundingClientRect","_componentsProps$tool","_componentsProps$arro","TransitionPropsInner","timeout","shorter"],"sourceRoot":""}