{"version":3,"file":"static/js/react-components-Dropdown-4505c5a9c8c132a61114.js","mappings":"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","sources":["webpack://leadsbridge/./node_modules/semantic-ui-react/dist/es/modules/Dropdown/Dropdown.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _includes from \"lodash-es/includes\";\nimport _compact from \"lodash-es/compact\";\nimport _map from \"lodash-es/map\";\nimport _every from \"lodash-es/every\";\nimport _without from \"lodash-es/without\";\nimport _find from \"lodash-es/find\";\nimport _dropRight from \"lodash-es/dropRight\";\nimport _isEmpty from \"lodash-es/isEmpty\";\nimport _size from \"lodash-es/size\";\nimport _difference from \"lodash-es/difference\";\nimport _union from \"lodash-es/union\";\nimport _get from \"lodash-es/get\";\nimport _noop from \"lodash-es/noop\";\nimport _isUndefined from \"lodash-es/isUndefined\";\nimport _invoke from \"lodash-es/invoke\";\nimport _has from \"lodash-es/has\";\nimport _isEqual from \"lodash-es/isEqual\";\nimport _isFunction from \"lodash-es/isFunction\";\nimport _pick from \"lodash-es/pick\";\nimport _isNil from \"lodash-es/isNil\";\nimport EventStack from '@semantic-ui-react/event-stack';\nimport { Ref } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport keyboardKey from 'keyboard-key';\nimport PropTypes from 'prop-types';\nimport React, { Children, cloneElement, createRef } from 'react';\nimport shallowEqual from 'shallowequal';\nimport { ModernAutoControlledComponent as Component, childrenUtils, customPropTypes, doesNodeContainClick, getElementType, getUnhandledProps, objectDiff, useKeyOnly, useKeyOrValueAndKey } from '../../lib';\nimport Icon from '../../elements/Icon';\nimport Label from '../../elements/Label';\nimport Flag from '../../elements/Flag';\nimport Image from '../../elements/Image';\nimport DropdownDivider from './DropdownDivider';\nimport DropdownItem from './DropdownItem';\nimport DropdownHeader from './DropdownHeader';\nimport DropdownMenu from './DropdownMenu';\nimport DropdownSearchInput from './DropdownSearchInput';\nimport DropdownText from './DropdownText';\nimport getMenuOptions from './utils/getMenuOptions';\nimport getSelectedIndex from './utils/getSelectedIndex';\n\nvar getKeyOrValue = function getKeyOrValue(key, value) {\n return _isNil(key) ? value : key;\n};\n\nvar getKeyAndValues = function getKeyAndValues(options) {\n return options ? options.map(function (option) {\n return _pick(option, ['key', 'value']);\n }) : options;\n};\n\nfunction renderItemContent(item) {\n var flag = item.flag,\n image = item.image,\n text = item.text; // TODO: remove this in v3\n // This maintains compatibility with Shorthand API in v1 as this might be called in \"Label.create()\"\n\n if (_isFunction(text)) {\n return text;\n }\n\n return {\n content: /*#__PURE__*/React.createElement(React.Fragment, null, Flag.create(flag), Image.create(image), text)\n };\n}\n/**\n * A dropdown allows a user to select a value from a series of options.\n * @see Form\n * @see Select\n * @see Menu\n */\n\n\nvar Dropdown = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Dropdown, _Component);\n\n function Dropdown() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.searchRef = /*#__PURE__*/createRef();\n _this.sizerRef = /*#__PURE__*/createRef();\n _this.ref = /*#__PURE__*/createRef();\n\n _this.handleChange = function (e, value) {\n _invoke(_this.props, 'onChange', e, _extends({}, _this.props, {\n value: value\n }));\n };\n\n _this.closeOnChange = function (e) {\n var _this$props = _this.props,\n closeOnChange = _this$props.closeOnChange,\n multiple = _this$props.multiple;\n var shouldClose = _isUndefined(closeOnChange) ? !multiple : closeOnChange;\n\n if (shouldClose) {\n _this.close(e, _noop);\n }\n };\n\n _this.closeOnEscape = function (e) {\n if (!_this.props.closeOnEscape) return;\n if (keyboardKey.getCode(e) !== keyboardKey.Escape) return;\n e.preventDefault();\n\n _this.close(e);\n };\n\n _this.moveSelectionOnKeyDown = function (e) {\n var _moves;\n\n var _this$props2 = _this.props,\n multiple = _this$props2.multiple,\n selectOnNavigation = _this$props2.selectOnNavigation;\n var open = _this.state.open;\n\n if (!open) {\n return;\n }\n\n var moves = (_moves = {}, _moves[keyboardKey.ArrowDown] = 1, _moves[keyboardKey.ArrowUp] = -1, _moves);\n var move = moves[keyboardKey.getCode(e)];\n\n if (move === undefined) {\n return;\n }\n\n e.preventDefault();\n\n var nextIndex = _this.getSelectedIndexAfterMove(move);\n\n if (!multiple && selectOnNavigation) {\n _this.makeSelectedItemActive(e, nextIndex);\n }\n\n _this.setState({\n selectedIndex: nextIndex\n });\n };\n\n _this.openOnSpace = function (e) {\n var _e$target, _e$target2, _e$target3;\n\n var shouldHandleEvent = _this.state.focus && !_this.state.open && keyboardKey.getCode(e) === keyboardKey.Spacebar;\n var shouldPreventDefault = ((_e$target = e.target) == null ? void 0 : _e$target.tagName) !== 'INPUT' && ((_e$target2 = e.target) == null ? void 0 : _e$target2.tagName) !== 'TEXTAREA' && ((_e$target3 = e.target) == null ? void 0 : _e$target3.isContentEditable) !== true;\n\n if (shouldHandleEvent) {\n if (shouldPreventDefault) {\n e.preventDefault();\n }\n\n _this.open(e);\n }\n };\n\n _this.openOnArrow = function (e) {\n var _this$state = _this.state,\n focus = _this$state.focus,\n open = _this$state.open;\n\n if (focus && !open) {\n var code = keyboardKey.getCode(e);\n\n if (code === keyboardKey.ArrowDown || code === keyboardKey.ArrowUp) {\n e.preventDefault();\n\n _this.open(e);\n }\n }\n };\n\n _this.makeSelectedItemActive = function (e, selectedIndex) {\n var _this$state2 = _this.state,\n open = _this$state2.open,\n value = _this$state2.value;\n var multiple = _this.props.multiple;\n\n var item = _this.getSelectedItem(selectedIndex);\n\n var selectedValue = _get(item, 'value');\n\n var disabled = _get(item, 'disabled'); // prevent selecting null if there was no selected item value\n // prevent selecting duplicate items when the dropdown is closed\n // prevent selecting disabled items\n\n\n if (_isNil(selectedValue) || !open || disabled) {\n return value;\n } // state value may be undefined\n\n\n var newValue = multiple ? _union(value, [selectedValue]) : selectedValue;\n var valueHasChanged = multiple ? !!_difference(newValue, value).length : newValue !== value;\n\n if (valueHasChanged) {\n // notify the onChange prop that the user is trying to change value\n _this.setState({\n value: newValue\n });\n\n _this.handleChange(e, newValue); // Heads up! This event handler should be called after `onChange`\n // Notify the onAddItem prop if this is a new value\n\n\n if (item['data-additional']) {\n _invoke(_this.props, 'onAddItem', e, _extends({}, _this.props, {\n value: selectedValue\n }));\n }\n }\n\n return value;\n };\n\n _this.selectItemOnEnter = function (e) {\n var search = _this.props.search;\n var _this$state3 = _this.state,\n open = _this$state3.open,\n selectedIndex = _this$state3.selectedIndex;\n\n if (!open) {\n return;\n }\n\n var shouldSelect = keyboardKey.getCode(e) === keyboardKey.Enter || // https://github.com/Semantic-Org/Semantic-UI-React/pull/3766\n !search && keyboardKey.getCode(e) === keyboardKey.Spacebar;\n\n if (!shouldSelect) {\n return;\n }\n\n e.preventDefault();\n\n var optionSize = _size(getMenuOptions({\n value: _this.state.value,\n options: _this.props.options,\n searchQuery: _this.state.searchQuery,\n additionLabel: _this.props.additionLabel,\n additionPosition: _this.props.additionPosition,\n allowAdditions: _this.props.allowAdditions,\n deburr: _this.props.deburr,\n multiple: _this.props.multiple,\n search: _this.props.search\n }));\n\n if (search && optionSize === 0) {\n return;\n }\n\n var nextValue = _this.makeSelectedItemActive(e, selectedIndex); // This is required as selected value may be the same\n\n\n _this.setState({\n selectedIndex: getSelectedIndex({\n additionLabel: _this.props.additionLabel,\n additionPosition: _this.props.additionPosition,\n allowAdditions: _this.props.allowAdditions,\n deburr: _this.props.deburr,\n multiple: _this.props.multiple,\n search: _this.props.search,\n selectedIndex: selectedIndex,\n value: nextValue,\n options: _this.props.options,\n searchQuery: ''\n })\n });\n\n _this.closeOnChange(e);\n\n _this.clearSearchQuery();\n\n if (search) {\n _invoke(_this.searchRef.current, 'focus');\n }\n };\n\n _this.removeItemOnBackspace = function (e) {\n var _this$props3 = _this.props,\n multiple = _this$props3.multiple,\n search = _this$props3.search;\n var _this$state4 = _this.state,\n searchQuery = _this$state4.searchQuery,\n value = _this$state4.value;\n if (keyboardKey.getCode(e) !== keyboardKey.Backspace) return;\n if (searchQuery || !search || !multiple || _isEmpty(value)) return;\n e.preventDefault(); // remove most recent value\n\n var newValue = _dropRight(value);\n\n _this.setState({\n value: newValue\n });\n\n _this.handleChange(e, newValue);\n };\n\n _this.closeOnDocumentClick = function (e) {\n if (!_this.props.closeOnBlur) return; // If event happened in the dropdown, ignore it\n\n if (_this.ref.current && doesNodeContainClick(_this.ref.current, e)) return;\n\n _this.close();\n };\n\n _this.handleMouseDown = function (e) {\n _this.isMouseDown = true;\n\n _invoke(_this.props, 'onMouseDown', e, _this.props);\n\n document.addEventListener('mouseup', _this.handleDocumentMouseUp);\n };\n\n _this.handleDocumentMouseUp = function () {\n _this.isMouseDown = false;\n document.removeEventListener('mouseup', _this.handleDocumentMouseUp);\n };\n\n _this.handleClick = function (e) {\n var _this$props4 = _this.props,\n minCharacters = _this$props4.minCharacters,\n search = _this$props4.search;\n var _this$state5 = _this.state,\n open = _this$state5.open,\n searchQuery = _this$state5.searchQuery;\n\n _invoke(_this.props, 'onClick', e, _this.props); // prevent closeOnDocumentClick()\n\n\n e.stopPropagation();\n if (!search) return _this.toggle(e);\n\n if (open) {\n _invoke(_this.searchRef.current, 'focus');\n\n return;\n }\n\n if (searchQuery.length >= minCharacters || minCharacters === 1) {\n _this.open(e);\n\n return;\n }\n\n _invoke(_this.searchRef.current, 'focus');\n };\n\n _this.handleIconClick = function (e) {\n var clearable = _this.props.clearable;\n\n var hasValue = _this.hasValue();\n\n _invoke(_this.props, 'onClick', e, _this.props); // prevent handleClick()\n\n\n e.stopPropagation();\n\n if (clearable && hasValue) {\n _this.clearValue(e);\n } else {\n _this.toggle(e);\n }\n };\n\n _this.handleItemClick = function (e, item) {\n var _this$props5 = _this.props,\n multiple = _this$props5.multiple,\n search = _this$props5.search;\n var currentValue = _this.state.value;\n var value = item.value; // prevent toggle() in handleClick()\n\n e.stopPropagation(); // prevent closeOnDocumentClick() if multiple or item is disabled\n\n if (multiple || item.disabled) {\n e.nativeEvent.stopImmediatePropagation();\n }\n\n if (item.disabled) {\n return;\n }\n\n var isAdditionItem = item['data-additional'];\n var newValue = multiple ? _union(_this.state.value, [value]) : value;\n var valueHasChanged = multiple ? !!_difference(newValue, currentValue).length : newValue !== currentValue; // notify the onChange prop that the user is trying to change value\n\n if (valueHasChanged) {\n _this.setState({\n value: newValue\n });\n\n _this.handleChange(e, newValue);\n }\n\n _this.clearSearchQuery();\n\n if (search) {\n _invoke(_this.searchRef.current, 'focus');\n } else {\n _invoke(_this.ref.current, 'focus');\n }\n\n _this.closeOnChange(e); // Heads up! This event handler should be called after `onChange`\n // Notify the onAddItem prop if this is a new value\n\n\n if (isAdditionItem) {\n _invoke(_this.props, 'onAddItem', e, _extends({}, _this.props, {\n value: value\n }));\n }\n };\n\n _this.handleFocus = function (e) {\n var focus = _this.state.focus;\n if (focus) return;\n\n _invoke(_this.props, 'onFocus', e, _this.props);\n\n _this.setState({\n focus: true\n });\n };\n\n _this.handleBlur = function (e) {\n // Heads up! Don't remove this.\n // https://github.com/Semantic-Org/Semantic-UI-React/issues/1315\n var currentTarget = _get(e, 'currentTarget');\n\n if (currentTarget && currentTarget.contains(document.activeElement)) return;\n var _this$props6 = _this.props,\n closeOnBlur = _this$props6.closeOnBlur,\n multiple = _this$props6.multiple,\n selectOnBlur = _this$props6.selectOnBlur; // do not \"blur\" when the mouse is down inside of the Dropdown\n\n if (_this.isMouseDown) return;\n\n _invoke(_this.props, 'onBlur', e, _this.props);\n\n if (selectOnBlur && !multiple) {\n _this.makeSelectedItemActive(e, _this.state.selectedIndex);\n\n if (closeOnBlur) _this.close();\n }\n\n _this.setState({\n focus: false\n });\n\n _this.clearSearchQuery();\n };\n\n _this.handleSearchChange = function (e, _ref) {\n var value = _ref.value;\n // prevent propagating to this.props.onChange()\n e.stopPropagation();\n var minCharacters = _this.props.minCharacters;\n var open = _this.state.open;\n var newQuery = value;\n\n _invoke(_this.props, 'onSearchChange', e, _extends({}, _this.props, {\n searchQuery: newQuery\n }));\n\n _this.setState({\n searchQuery: newQuery,\n selectedIndex: 0\n }); // open search dropdown on search query\n\n\n if (!open && newQuery.length >= minCharacters) {\n _this.open();\n\n return;\n } // close search dropdown if search query is too small\n\n\n if (open && minCharacters !== 1 && newQuery.length < minCharacters) _this.close();\n };\n\n _this.handleKeyDown = function (e) {\n _this.moveSelectionOnKeyDown(e);\n\n _this.openOnArrow(e);\n\n _this.openOnSpace(e);\n\n _this.selectItemOnEnter(e);\n\n _invoke(_this.props, 'onKeyDown', e);\n };\n\n _this.getSelectedItem = function (selectedIndex) {\n var options = getMenuOptions({\n value: _this.state.value,\n options: _this.props.options,\n searchQuery: _this.state.searchQuery,\n additionLabel: _this.props.additionLabel,\n additionPosition: _this.props.additionPosition,\n allowAdditions: _this.props.allowAdditions,\n deburr: _this.props.deburr,\n multiple: _this.props.multiple,\n search: _this.props.search\n });\n return _get(options, \"[\" + selectedIndex + \"]\");\n };\n\n _this.getItemByValue = function (value) {\n var options = _this.props.options;\n return _find(options, {\n value: value\n });\n };\n\n _this.getDropdownAriaOptions = function () {\n var _this$props7 = _this.props,\n loading = _this$props7.loading,\n disabled = _this$props7.disabled,\n search = _this$props7.search,\n multiple = _this$props7.multiple;\n var open = _this.state.open;\n var ariaOptions = {\n role: search ? 'combobox' : 'listbox',\n 'aria-busy': loading,\n 'aria-disabled': disabled,\n 'aria-expanded': !!open\n };\n\n if (ariaOptions.role === 'listbox') {\n ariaOptions['aria-multiselectable'] = multiple;\n }\n\n return ariaOptions;\n };\n\n _this.clearSearchQuery = function () {\n var searchQuery = _this.state.searchQuery;\n if (searchQuery === undefined || searchQuery === '') return;\n\n _this.setState({\n searchQuery: ''\n });\n };\n\n _this.handleLabelClick = function (e, labelProps) {\n // prevent focusing search input on click\n e.stopPropagation();\n\n _this.setState({\n selectedLabel: labelProps.value\n });\n\n _invoke(_this.props, 'onLabelClick', e, labelProps);\n };\n\n _this.handleLabelRemove = function (e, labelProps) {\n // prevent focusing search input on click\n e.stopPropagation();\n var value = _this.state.value;\n\n var newValue = _without(value, labelProps.value);\n\n _this.setState({\n value: newValue\n });\n\n _this.handleChange(e, newValue);\n };\n\n _this.getSelectedIndexAfterMove = function (offset, startIndex) {\n if (startIndex === void 0) {\n startIndex = _this.state.selectedIndex;\n }\n\n var options = getMenuOptions({\n value: _this.state.value,\n options: _this.props.options,\n searchQuery: _this.state.searchQuery,\n additionLabel: _this.props.additionLabel,\n additionPosition: _this.props.additionPosition,\n allowAdditions: _this.props.allowAdditions,\n deburr: _this.props.deburr,\n multiple: _this.props.multiple,\n search: _this.props.search\n }); // Prevent infinite loop\n // TODO: remove left part of condition after children API will be removed\n\n if (options === undefined || _every(options, 'disabled')) return;\n var lastIndex = options.length - 1;\n var wrapSelection = _this.props.wrapSelection; // next is after last, wrap to beginning\n // next is before first, wrap to end\n\n var nextIndex = startIndex + offset; // if 'wrapSelection' is set to false and selection is after last or before first, it just does not change\n\n if (!wrapSelection && (nextIndex > lastIndex || nextIndex < 0)) {\n nextIndex = startIndex;\n } else if (nextIndex > lastIndex) {\n nextIndex = 0;\n } else if (nextIndex < 0) {\n nextIndex = lastIndex;\n }\n\n if (options[nextIndex].disabled) {\n return _this.getSelectedIndexAfterMove(offset, nextIndex);\n }\n\n return nextIndex;\n };\n\n _this.handleIconOverrides = function (predefinedProps) {\n var clearable = _this.props.clearable;\n var classes = cx(clearable && _this.hasValue() && 'clear', predefinedProps.className);\n return {\n className: classes,\n onClick: function onClick(e) {\n _invoke(predefinedProps, 'onClick', e, predefinedProps);\n\n _this.handleIconClick(e);\n }\n };\n };\n\n _this.clearValue = function (e) {\n var multiple = _this.props.multiple;\n var newValue = multiple ? [] : '';\n\n _this.setState({\n value: newValue\n });\n\n _this.handleChange(e, newValue);\n };\n\n _this.computeSearchInputTabIndex = function () {\n var _this$props8 = _this.props,\n disabled = _this$props8.disabled,\n tabIndex = _this$props8.tabIndex;\n if (!_isNil(tabIndex)) return tabIndex;\n return disabled ? -1 : 0;\n };\n\n _this.computeSearchInputWidth = function () {\n var searchQuery = _this.state.searchQuery;\n\n if (_this.sizerRef.current && searchQuery) {\n // resize the search input, temporarily show the sizer so we can measure it\n _this.sizerRef.current.style.display = 'inline';\n _this.sizerRef.current.textContent = searchQuery;\n var searchWidth = Math.ceil(_this.sizerRef.current.getBoundingClientRect().width);\n\n _this.sizerRef.current.style.removeProperty('display');\n\n return searchWidth;\n }\n };\n\n _this.computeTabIndex = function () {\n var _this$props9 = _this.props,\n disabled = _this$props9.disabled,\n search = _this$props9.search,\n tabIndex = _this$props9.tabIndex; // don't set a root node tabIndex as the search input has its own tabIndex\n\n if (search) return undefined;\n if (disabled) return -1;\n return _isNil(tabIndex) ? 0 : tabIndex;\n };\n\n _this.handleSearchInputOverrides = function (predefinedProps) {\n return {\n onChange: function onChange(e, inputProps) {\n _invoke(predefinedProps, 'onChange', e, inputProps);\n\n _this.handleSearchChange(e, inputProps);\n }\n };\n };\n\n _this.hasValue = function () {\n var multiple = _this.props.multiple;\n var value = _this.state.value;\n return multiple ? !_isEmpty(value) : !_isNil(value) && value !== '';\n };\n\n _this.scrollSelectedItemIntoView = function () {\n if (!_this.ref.current) return;\n\n var menu = _this.ref.current.querySelector('.menu.visible');\n\n if (!menu) return;\n var item = menu.querySelector('.item.selected');\n if (!item) return;\n var isOutOfUpperView = item.offsetTop < menu.scrollTop;\n var isOutOfLowerView = item.offsetTop + item.clientHeight > menu.scrollTop + menu.clientHeight;\n\n if (isOutOfUpperView) {\n menu.scrollTop = item.offsetTop;\n } else if (isOutOfLowerView) {\n // eslint-disable-next-line no-mixed-operators\n menu.scrollTop = item.offsetTop + item.clientHeight - menu.clientHeight;\n }\n };\n\n _this.setOpenDirection = function () {\n if (!_this.ref.current) return;\n\n var menu = _this.ref.current.querySelector('.menu.visible');\n\n if (!menu) return;\n\n var dropdownRect = _this.ref.current.getBoundingClientRect();\n\n var menuHeight = menu.clientHeight;\n var spaceAtTheBottom = document.documentElement.clientHeight - dropdownRect.top - dropdownRect.height - menuHeight;\n var spaceAtTheTop = dropdownRect.top - menuHeight;\n var upward = spaceAtTheBottom < 0 && spaceAtTheTop > spaceAtTheBottom; // set state only if there's a relevant difference\n\n if (!upward !== !_this.state.upward) {\n _this.setState({\n upward: upward\n });\n }\n };\n\n _this.open = function (e, triggerSetState) {\n if (e === void 0) {\n e = null;\n }\n\n if (triggerSetState === void 0) {\n triggerSetState = true;\n }\n\n var _this$props10 = _this.props,\n disabled = _this$props10.disabled,\n search = _this$props10.search;\n if (disabled) return;\n if (search) _invoke(_this.searchRef.current, 'focus');\n\n _invoke(_this.props, 'onOpen', e, _this.props);\n\n if (triggerSetState) {\n _this.setState({\n open: true\n });\n }\n\n _this.scrollSelectedItemIntoView();\n };\n\n _this.close = function (e, callback) {\n if (callback === void 0) {\n callback = _this.handleClose;\n }\n\n if (_this.state.open) {\n _invoke(_this.props, 'onClose', e, _this.props);\n\n _this.setState({\n open: false\n }, callback);\n }\n };\n\n _this.handleClose = function () {\n var hasSearchFocus = document.activeElement === _this.searchRef.current; // https://github.com/Semantic-Org/Semantic-UI-React/issues/627\n // Blur the Dropdown on close so it is blurred after selecting an item.\n // This is to prevent it from re-opening when switching tabs after selecting an item.\n\n if (!hasSearchFocus && _this.ref.current) {\n _this.ref.current.blur();\n }\n\n var hasDropdownFocus = document.activeElement === _this.ref.current;\n var hasFocus = hasSearchFocus || hasDropdownFocus; // We need to keep the virtual model in sync with the browser focus change\n // https://github.com/Semantic-Org/Semantic-UI-React/issues/692\n\n _this.setState({\n focus: hasFocus\n });\n };\n\n _this.toggle = function (e) {\n return _this.state.open ? _this.close(e) : _this.open(e);\n };\n\n _this.renderText = function () {\n var _this$props11 = _this.props,\n multiple = _this$props11.multiple,\n placeholder = _this$props11.placeholder,\n search = _this$props11.search,\n text = _this$props11.text;\n var _this$state6 = _this.state,\n searchQuery = _this$state6.searchQuery,\n selectedIndex = _this$state6.selectedIndex,\n value = _this$state6.value,\n open = _this$state6.open;\n\n var hasValue = _this.hasValue();\n\n var classes = cx(placeholder && !hasValue && 'default', 'text', search && searchQuery && 'filtered');\n var _text = placeholder;\n var selectedItem;\n\n if (text) {\n _text = text;\n } else if (open && !multiple) {\n selectedItem = _this.getSelectedItem(selectedIndex);\n } else if (hasValue) {\n selectedItem = _this.getItemByValue(value);\n }\n\n return DropdownText.create(selectedItem ? renderItemContent(selectedItem) : _text, {\n defaultProps: {\n className: classes\n }\n });\n };\n\n _this.renderSearchInput = function () {\n var _this$props12 = _this.props,\n search = _this$props12.search,\n searchInput = _this$props12.searchInput;\n var searchQuery = _this.state.searchQuery;\n return search && /*#__PURE__*/React.createElement(Ref, {\n innerRef: _this.searchRef\n }, DropdownSearchInput.create(searchInput, {\n defaultProps: {\n style: {\n width: _this.computeSearchInputWidth()\n },\n tabIndex: _this.computeSearchInputTabIndex(),\n value: searchQuery\n },\n overrideProps: _this.handleSearchInputOverrides\n }));\n };\n\n _this.renderSearchSizer = function () {\n var _this$props13 = _this.props,\n search = _this$props13.search,\n multiple = _this$props13.multiple;\n return search && multiple && /*#__PURE__*/React.createElement(\"span\", {\n className: \"sizer\",\n ref: _this.sizerRef\n });\n };\n\n _this.renderLabels = function () {\n var _this$props14 = _this.props,\n multiple = _this$props14.multiple,\n renderLabel = _this$props14.renderLabel;\n var _this$state7 = _this.state,\n selectedLabel = _this$state7.selectedLabel,\n value = _this$state7.value;\n\n if (!multiple || _isEmpty(value)) {\n return;\n }\n\n var selectedItems = _map(value, _this.getItemByValue);\n\n // if no item could be found for a given state value the selected item will be undefined\n // compact the selectedItems so we only have actual objects left\n return _map(_compact(selectedItems), function (item, index) {\n var defaultProps = {\n active: item.value === selectedLabel,\n as: 'a',\n key: getKeyOrValue(item.key, item.value),\n onClick: _this.handleLabelClick,\n onRemove: _this.handleLabelRemove,\n value: item.value\n };\n return Label.create(renderLabel(item, index, defaultProps), {\n defaultProps: defaultProps\n });\n });\n };\n\n _this.renderOptions = function () {\n var _this$props15 = _this.props,\n lazyLoad = _this$props15.lazyLoad,\n multiple = _this$props15.multiple,\n search = _this$props15.search,\n noResultsMessage = _this$props15.noResultsMessage;\n var _this$state8 = _this.state,\n open = _this$state8.open,\n selectedIndex = _this$state8.selectedIndex,\n value = _this$state8.value; // lazy load, only render options when open\n\n if (lazyLoad && !open) return null;\n var options = getMenuOptions({\n value: _this.state.value,\n options: _this.props.options,\n searchQuery: _this.state.searchQuery,\n additionLabel: _this.props.additionLabel,\n additionPosition: _this.props.additionPosition,\n allowAdditions: _this.props.allowAdditions,\n deburr: _this.props.deburr,\n multiple: _this.props.multiple,\n search: _this.props.search\n });\n\n if (noResultsMessage !== null && search && _isEmpty(options)) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"message\"\n }, noResultsMessage);\n }\n\n var isActive = multiple ? function (optValue) {\n return _includes(value, optValue);\n } : function (optValue) {\n return optValue === value;\n };\n return _map(options, function (opt, i) {\n return DropdownItem.create(_extends({\n active: isActive(opt.value),\n selected: selectedIndex === i\n }, opt, {\n key: getKeyOrValue(opt.key, opt.value),\n // Needed for handling click events on disabled items\n style: _extends({}, opt.style, {\n pointerEvents: 'all'\n })\n }), {\n generateKey: false,\n overrideProps: function overrideProps(predefinedProps) {\n return {\n onClick: function onClick(e, item) {\n predefinedProps.onClick == null ? void 0 : predefinedProps.onClick(e, item);\n\n _this.handleItemClick(e, item);\n }\n };\n }\n });\n });\n };\n\n _this.renderMenu = function () {\n var _this$props16 = _this.props,\n children = _this$props16.children,\n direction = _this$props16.direction,\n header = _this$props16.header;\n var open = _this.state.open;\n\n var ariaOptions = _this.getDropdownMenuAriaOptions(); // single menu child\n\n\n if (!childrenUtils.isNil(children)) {\n var menuChild = Children.only(children);\n var className = cx(direction, useKeyOnly(open, 'visible'), menuChild.props.className);\n return /*#__PURE__*/cloneElement(menuChild, _extends({\n className: className\n }, ariaOptions));\n }\n\n return /*#__PURE__*/React.createElement(DropdownMenu, _extends({}, ariaOptions, {\n direction: direction,\n open: open\n }), DropdownHeader.create(header, {\n autoGenerateKey: false\n }), _this.renderOptions());\n };\n\n return _this;\n }\n\n var _proto = Dropdown.prototype;\n\n _proto.getInitialAutoControlledState = function getInitialAutoControlledState() {\n return {\n focus: false,\n searchQuery: ''\n };\n };\n\n Dropdown.getAutoControlledStateFromProps = function getAutoControlledStateFromProps(nextProps, computedState, prevState) {\n // These values are stored only for a comparison on next getAutoControlledStateFromProps()\n var derivedState = {\n __options: nextProps.options,\n __value: computedState.value\n }; // The selected index is only dependent:\n\n var shouldComputeSelectedIndex = // On value change\n !shallowEqual(prevState.__value, computedState.value) || // On option keys/values, we only check those properties to avoid recursive performance impacts.\n // https://github.com/Semantic-Org/Semantic-UI-React/issues/3000\n !_isEqual(getKeyAndValues(nextProps.options), getKeyAndValues(prevState.__options));\n\n if (shouldComputeSelectedIndex) {\n derivedState.selectedIndex = getSelectedIndex({\n additionLabel: nextProps.additionLabel,\n additionPosition: nextProps.additionPosition,\n allowAdditions: nextProps.allowAdditions,\n deburr: nextProps.deburr,\n multiple: nextProps.multiple,\n search: nextProps.search,\n selectedIndex: computedState.selectedIndex,\n value: computedState.value,\n options: nextProps.options,\n searchQuery: computedState.searchQuery\n });\n }\n\n return derivedState;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var open = this.state.open;\n\n if (open) {\n this.open(null, false);\n }\n };\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n return !shallowEqual(nextProps, this.props) || !shallowEqual(nextState, this.state);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // eslint-disable-line complexity\n var _this$props17 = this.props,\n closeOnBlur = _this$props17.closeOnBlur,\n minCharacters = _this$props17.minCharacters,\n openOnFocus = _this$props17.openOnFocus,\n search = _this$props17.search;\n /* eslint-disable no-console */\n\n if (process.env.NODE_ENV !== 'production') {\n // in development, validate value type matches dropdown type\n var isNextValueArray = Array.isArray(this.props.value);\n\n var hasValue = _has(this.props, 'value');\n\n if (hasValue && this.props.multiple && !isNextValueArray) {\n console.error('Dropdown `value` must be an array when `multiple` is set.' + (\" Received type: `\" + Object.prototype.toString.call(this.props.value) + \"`.\"));\n } else if (hasValue && !this.props.multiple && isNextValueArray) {\n console.error('Dropdown `value` must not be an array when `multiple` is not set.' + ' Either set `multiple={true}` or use a string or number value.');\n }\n }\n /* eslint-enable no-console */\n // focused / blurred\n\n\n if (!prevState.focus && this.state.focus) {\n if (!this.isMouseDown) {\n var openable = !search || search && minCharacters === 1 && !this.state.open;\n if (openOnFocus && openable) this.open();\n }\n } else if (prevState.focus && !this.state.focus) {\n if (!this.isMouseDown && closeOnBlur) {\n this.close();\n }\n } // opened / closed\n\n\n if (!prevState.open && this.state.open) {\n this.setOpenDirection();\n this.scrollSelectedItemIntoView();\n } else if (prevState.open && !this.state.open) {}\n\n if (prevState.selectedIndex !== this.state.selectedIndex) {\n this.scrollSelectedItemIntoView();\n }\n } // ----------------------------------------\n // Document Event Handlers\n // ----------------------------------------\n // onChange needs to receive a value\n // can't rely on props.value if we are controlled\n ;\n\n _proto.getDropdownMenuAriaOptions = function getDropdownMenuAriaOptions() {\n var _this$props18 = this.props,\n search = _this$props18.search,\n multiple = _this$props18.multiple;\n var ariaOptions = {};\n\n if (search) {\n ariaOptions['aria-multiselectable'] = multiple;\n ariaOptions.role = 'listbox';\n }\n\n return ariaOptions;\n } // ----------------------------------------\n // Setters\n // ----------------------------------------\n ;\n\n _proto.render = function render() {\n var _this$props19 = this.props,\n basic = _this$props19.basic,\n button = _this$props19.button,\n className = _this$props19.className,\n compact = _this$props19.compact,\n disabled = _this$props19.disabled,\n error = _this$props19.error,\n fluid = _this$props19.fluid,\n floating = _this$props19.floating,\n icon = _this$props19.icon,\n inline = _this$props19.inline,\n item = _this$props19.item,\n labeled = _this$props19.labeled,\n loading = _this$props19.loading,\n multiple = _this$props19.multiple,\n pointing = _this$props19.pointing,\n search = _this$props19.search,\n selection = _this$props19.selection,\n scrolling = _this$props19.scrolling,\n simple = _this$props19.simple,\n trigger = _this$props19.trigger;\n var _this$state9 = this.state,\n focus = _this$state9.focus,\n open = _this$state9.open,\n upward = _this$state9.upward; // Classes\n\n var classes = cx('ui', useKeyOnly(open, 'active visible'), useKeyOnly(disabled, 'disabled'), useKeyOnly(error, 'error'), useKeyOnly(loading, 'loading'), useKeyOnly(basic, 'basic'), useKeyOnly(button, 'button'), useKeyOnly(compact, 'compact'), useKeyOnly(fluid, 'fluid'), useKeyOnly(floating, 'floating'), useKeyOnly(inline, 'inline'), // TODO: consider augmentation to render Dropdowns as Button/Menu, solves icon/link item issues\n // https://github.com/Semantic-Org/Semantic-UI-React/issues/401#issuecomment-240487229\n // TODO: the icon class is only required when a dropdown is a button\n // useKeyOnly(icon, 'icon'),\n useKeyOnly(labeled, 'labeled'), useKeyOnly(item, 'item'), useKeyOnly(multiple, 'multiple'), useKeyOnly(search, 'search'), useKeyOnly(selection, 'selection'), useKeyOnly(simple, 'simple'), useKeyOnly(scrolling, 'scrolling'), useKeyOnly(upward, 'upward'), useKeyOrValueAndKey(pointing, 'pointing'), 'dropdown', className);\n var rest = getUnhandledProps(Dropdown, this.props);\n var ElementType = getElementType(Dropdown, this.props);\n var ariaOptions = this.getDropdownAriaOptions(ElementType, this.props);\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.ref\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, ariaOptions, {\n className: classes,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleMouseDown,\n onFocus: this.handleFocus,\n onChange: this.handleChange,\n tabIndex: this.computeTabIndex()\n }), this.renderLabels(), this.renderSearchInput(), this.renderSearchSizer(), trigger || this.renderText(), Icon.create(icon, {\n overrideProps: this.handleIconOverrides,\n autoGenerateKey: false\n }), this.renderMenu(), open && /*#__PURE__*/React.createElement(EventStack, {\n name: \"keydown\",\n on: this.closeOnEscape\n }), open && /*#__PURE__*/React.createElement(EventStack, {\n name: \"click\",\n on: this.closeOnDocumentClick\n }), focus && /*#__PURE__*/React.createElement(EventStack, {\n name: \"keydown\",\n on: this.removeItemOnBackspace\n })));\n };\n\n return Dropdown;\n}(Component);\n\nDropdown.handledProps = [\"additionLabel\", \"additionPosition\", \"allowAdditions\", \"as\", \"basic\", \"button\", \"children\", \"className\", \"clearable\", \"closeOnBlur\", \"closeOnChange\", \"closeOnEscape\", \"compact\", \"deburr\", \"defaultOpen\", \"defaultSearchQuery\", \"defaultSelectedLabel\", \"defaultUpward\", \"defaultValue\", \"direction\", \"disabled\", \"error\", \"floating\", \"fluid\", \"header\", \"icon\", \"inline\", \"item\", \"labeled\", \"lazyLoad\", \"loading\", \"minCharacters\", \"multiple\", \"noResultsMessage\", \"onAddItem\", \"onBlur\", \"onChange\", \"onClick\", \"onClose\", \"onFocus\", \"onLabelClick\", \"onMouseDown\", \"onOpen\", \"onSearchChange\", \"open\", \"openOnFocus\", \"options\", \"placeholder\", \"pointing\", \"renderLabel\", \"scrolling\", \"search\", \"searchInput\", \"searchQuery\", \"selectOnBlur\", \"selectOnNavigation\", \"selectedLabel\", \"selection\", \"simple\", \"tabIndex\", \"text\", \"trigger\", \"upward\", \"value\", \"wrapSelection\"];\nexport { Dropdown as default };\nDropdown.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Label prefixed to an option added by a user. */\n additionLabel: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n\n /** Position of the `Add: ...` option in the dropdown list ('top' or 'bottom'). */\n additionPosition: PropTypes.oneOf(['top', 'bottom']),\n\n /**\n * Allow user additions to the list of options (boolean).\n * Requires the use of `selection`, `options` and `search`.\n */\n allowAdditions: customPropTypes.every([customPropTypes.demand(['options', 'selection', 'search']), PropTypes.bool]),\n\n /** A Dropdown can reduce its complexity. */\n basic: PropTypes.bool,\n\n /** Format the Dropdown to appear as a button. */\n button: PropTypes.bool,\n\n /** Primary content. */\n children: customPropTypes.every([customPropTypes.disallow(['options', 'selection']), customPropTypes.givenProps({\n children: PropTypes.any.isRequired\n }, PropTypes.element.isRequired)]),\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Using the clearable setting will let users remove their selection from a dropdown. */\n clearable: PropTypes.bool,\n\n /** Whether or not the menu should close when the dropdown is blurred. */\n closeOnBlur: PropTypes.bool,\n\n /** Whether or not the dropdown should close when the escape key is pressed. */\n closeOnEscape: PropTypes.bool,\n\n /**\n * Whether or not the menu should close when a value is selected from the dropdown.\n * By default, multiple selection dropdowns will remain open on change, while single\n * selection dropdowns will close on change.\n */\n closeOnChange: PropTypes.bool,\n\n /** A compact dropdown has no minimum width. */\n compact: PropTypes.bool,\n\n /** Whether or not the dropdown should strip diacritics in options and input search */\n deburr: PropTypes.bool,\n\n /** Initial value of open. */\n defaultOpen: PropTypes.bool,\n\n /** Initial value of searchQuery. */\n defaultSearchQuery: PropTypes.string,\n\n /** Currently selected label in multi-select. */\n defaultSelectedLabel: customPropTypes.every([customPropTypes.demand(['multiple']), PropTypes.oneOfType([PropTypes.number, PropTypes.string])]),\n\n /** Initial value of upward. */\n defaultUpward: PropTypes.bool,\n\n /** Initial value or value array if multiple. */\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.bool, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]))]),\n\n /** A dropdown menu can open to the left or to the right. */\n direction: PropTypes.oneOf(['left', 'right']),\n\n /** A disabled dropdown menu or item does not allow user interaction. */\n disabled: PropTypes.bool,\n\n /** An errored dropdown can alert a user to a problem. */\n error: PropTypes.bool,\n\n /** A dropdown menu can contain floated content. */\n floating: PropTypes.bool,\n\n /** A dropdown can take the full width of its parent */\n fluid: PropTypes.bool,\n\n /** A dropdown menu can contain a header. */\n header: PropTypes.node,\n\n /** Shorthand for Icon. */\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n\n /** A dropdown can be formatted to appear inline in other content. */\n inline: PropTypes.bool,\n\n /** A dropdown can be formatted as a Menu item. */\n item: PropTypes.bool,\n\n /** A dropdown can be labeled. */\n labeled: PropTypes.bool,\n\n /** A dropdown can defer rendering its options until it is open. */\n lazyLoad: PropTypes.bool,\n\n /** A dropdown can show that it is currently loading data. */\n loading: PropTypes.bool,\n\n /** The minimum characters for a search to begin showing results. */\n minCharacters: PropTypes.number,\n\n /** A selection dropdown can allow multiple selections. */\n multiple: PropTypes.bool,\n\n /** Message to display when there are no results. */\n noResultsMessage: PropTypes.node,\n\n /**\n * Called when a user adds a new item. Use this to update the options list.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and the new item's value.\n */\n onAddItem: PropTypes.func,\n\n /**\n * Called on blur.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onBlur: PropTypes.func,\n\n /**\n * Called when the user attempts to change the value.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and proposed value.\n */\n onChange: PropTypes.func,\n\n /**\n * Called on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /**\n * Called when a close event happens.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClose: PropTypes.func,\n\n /**\n * Called on focus.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onFocus: PropTypes.func,\n\n /**\n * Called when a multi-select label is clicked.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All label props.\n */\n onLabelClick: PropTypes.func,\n\n /**\n * Called on mousedown.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onMouseDown: PropTypes.func,\n\n /**\n * Called when an open event happens.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onOpen: PropTypes.func,\n\n /**\n * Called on search input change.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props, includes current value of searchQuery.\n */\n onSearchChange: PropTypes.func,\n\n /** Controls whether or not the dropdown menu is displayed. */\n open: PropTypes.bool,\n\n /** Whether or not the menu should open when the dropdown is focused. */\n openOnFocus: PropTypes.bool,\n\n /** Array of Dropdown.Item props e.g. `{ text: '', value: '' }` */\n options: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.arrayOf(PropTypes.shape(DropdownItem.propTypes))]),\n\n /** Placeholder text. */\n placeholder: PropTypes.string,\n\n /** A dropdown can be formatted so that its menu is pointing. */\n pointing: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right', 'top', 'top left', 'top right', 'bottom', 'bottom left', 'bottom right'])]),\n\n /**\n * Mapped over the active items and returns shorthand for the active item Labels.\n * Only applies to `multiple` Dropdowns.\n *\n * @param {object} item - A currently active dropdown item.\n * @param {number} index - The current index.\n * @param {object} defaultLabelProps - The default props for an active item Label.\n * @returns {*} Shorthand for a Label.\n */\n renderLabel: PropTypes.func,\n\n /** A dropdown can have its menu scroll. */\n scrolling: PropTypes.bool,\n\n /**\n * A selection dropdown can allow a user to search through a large list of choices.\n * Pass a function here to replace the default search.\n */\n search: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n\n /** A shorthand for a search input. */\n searchInput: PropTypes.oneOfType([PropTypes.array, PropTypes.node, PropTypes.object]),\n\n /** Current value of searchQuery. Creates a controlled component. */\n searchQuery: PropTypes.string,\n // TODO 'searchInMenu' or 'search='in menu' or ??? How to handle this markup and functionality?\n\n /** Define whether the highlighted item should be selected on blur. */\n selectOnBlur: PropTypes.bool,\n\n /**\n * Whether or not to change the value when navigating the menu using arrow keys.\n * Setting to false will require enter or left click to confirm a choice.\n */\n selectOnNavigation: PropTypes.bool,\n\n /** Currently selected label in multi-select. */\n selectedLabel: customPropTypes.every([customPropTypes.demand(['multiple']), PropTypes.oneOfType([PropTypes.string, PropTypes.number])]),\n\n /** A dropdown can be used to select between choices in a form. */\n selection: customPropTypes.every([customPropTypes.disallow(['children']), customPropTypes.demand(['options']), PropTypes.bool]),\n\n /** A simple dropdown can open without Javascript. */\n simple: PropTypes.bool,\n\n /** A dropdown can receive focus. */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** The text displayed in the dropdown, usually for the active item. */\n text: PropTypes.string,\n\n /** Custom element to trigger the menu to become visible. Takes place of 'text'. */\n trigger: customPropTypes.every([customPropTypes.disallow(['selection', 'text']), PropTypes.node]),\n\n /** Current value or value array if multiple. Creates a controlled component. */\n value: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number]))]),\n\n /** Controls whether the dropdown will open upward. */\n upward: PropTypes.bool,\n\n /**\n * A dropdown will go to the last element when ArrowUp is pressed on the first,\n * or go to the first when ArrowDown is pressed on the last( aka infinite selection )\n */\n wrapSelection: PropTypes.bool\n} : {};\nDropdown.defaultProps = {\n additionLabel: 'Add ',\n additionPosition: 'top',\n closeOnBlur: true,\n closeOnEscape: true,\n deburr: false,\n icon: 'dropdown',\n minCharacters: 1,\n noResultsMessage: 'No results found.',\n openOnFocus: true,\n renderLabel: renderItemContent,\n searchInput: 'text',\n selectOnBlur: true,\n selectOnNavigation: true,\n wrapSelection: true\n};\nDropdown.autoControlledProps = ['open', 'searchQuery', 'selectedLabel', 'value', 'upward'];\nDropdown.Divider = DropdownDivider;\nDropdown.Header = DropdownHeader;\nDropdown.Item = DropdownItem;\nDropdown.Menu = DropdownMenu;\nDropdown.SearchInput = DropdownSearchInput;\nDropdown.Text = DropdownText;"],"names":["getKeyOrValue","key","value","getKeyAndValues","options","map","option","renderItemContent","item","flag","image","text","content","Dropdown","_Component","_this","_len","arguments","length","args","Array","_key","call","apply","this","concat","searchRef","createRef","sizerRef","ref","handleChange","e","props","closeOnChange","_this$props","multiple","close","closeOnEscape","preventDefault","moveSelectionOnKeyDown","_moves","_this$props2","selectOnNavigation","state","open","move","undefined","nextIndex","getSelectedIndexAfterMove","makeSelectedItemActive","setState","selectedIndex","openOnSpace","_e$target","_e$target2","_e$target3","shouldHandleEvent","focus","shouldPreventDefault","target","tagName","isContentEditable","openOnArrow","_this$state","code","_this$state2","getSelectedItem","selectedValue","disabled","newValue","selectItemOnEnter","search","_this$state3","optionSize","searchQuery","additionLabel","additionPosition","allowAdditions","deburr","nextValue","clearSearchQuery","current","removeItemOnBackspace","_this$props3","_this$state4","closeOnDocumentClick","closeOnBlur","handleMouseDown","isMouseDown","document","addEventListener","handleDocumentMouseUp","removeEventListener","handleClick","_this$props4","minCharacters","_this$state5","stopPropagation","toggle","handleIconClick","clearable","hasValue","clearValue","handleItemClick","_this$props5","currentValue","nativeEvent","stopImmediatePropagation","isAdditionItem","handleFocus","handleBlur","currentTarget","contains","activeElement","_this$props6","selectOnBlur","handleSearchChange","_ref","newQuery","handleKeyDown","getItemByValue","getDropdownAriaOptions","_this$props7","ariaOptions","role","loading","handleLabelClick","labelProps","selectedLabel","handleLabelRemove","offset","startIndex","lastIndex","wrapSelection","handleIconOverrides","predefinedProps","className","onClick","computeSearchInputTabIndex","_this$props8","tabIndex","computeSearchInputWidth","style","display","textContent","searchWidth","Math","ceil","getBoundingClientRect","width","removeProperty","computeTabIndex","_this$props9","handleSearchInputOverrides","onChange","inputProps","scrollSelectedItemIntoView","menu","querySelector","isOutOfLowerView","offsetTop","clientHeight","scrollTop","setOpenDirection","dropdownRect","menuHeight","spaceAtTheBottom","documentElement","top","height","upward","triggerSetState","_this$props10","callback","handleClose","hasSearchFocus","blur","hasDropdownFocus","renderText","selectedItem","_this$props11","placeholder","_this$state6","classes","_text","defaultProps","renderSearchInput","_this$props12","R","innerRef","searchInput","overrideProps","renderSearchSizer","_this$props13","renderLabels","_this$props14","renderLabel","_this$state7","selectedItems","index","active","as","onRemove","renderOptions","_this$props15","noResultsMessage","_this$state8","lazyLoad","isActive","optValue","opt","i","selected","pointerEvents","generateKey","renderMenu","_this$props16","children","direction","header","getDropdownMenuAriaOptions","menuChild","Children","cloneElement","autoGenerateKey","_proto","prototype","getInitialAutoControlledState","getAutoControlledStateFromProps","nextProps","computedState","prevState","derivedState","__options","__value","componentDidMount","shouldComponentUpdate","nextState","componentDidUpdate","prevProps","_this$props17","openOnFocus","_this$props18","render","_this$props19","basic","button","compact","error","fluid","floating","icon","inline","labeled","pointing","selection","scrolling","simple","trigger","_this$state9","rest","ElementType","onBlur","onKeyDown","onMouseDown","onFocus","name","on","handledProps","propTypes","autoControlledProps","Divider","Header","Item","Menu","SearchInput","Text"],"sourceRoot":""}