You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					2572 lines
				
				97 KiB
			
		
		
			
		
	
	
					2572 lines
				
				97 KiB
			| 
											3 years ago
										 | import _extends from '@babel/runtime/helpers/esm/extends'; | ||
|  | import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; | ||
|  | import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck'; | ||
|  | import _createClass from '@babel/runtime/helpers/esm/createClass'; | ||
|  | import _inherits from '@babel/runtime/helpers/esm/inherits'; | ||
|  | import _createSuper from '@babel/runtime/helpers/esm/createSuper'; | ||
|  | import _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray'; | ||
|  | import * as React from 'react'; | ||
|  | import { useMemo, Fragment, useRef, useCallback, useEffect, Component } from 'react'; | ||
|  | import { r as removeProps, s as supportsPassiveEvents, a as clearIndicatorCSS, b as containerCSS, d as css$1, e as dropdownIndicatorCSS, g as groupCSS, f as groupHeadingCSS, i as indicatorsContainerCSS, h as indicatorSeparatorCSS, j as inputCSS, l as loadingIndicatorCSS, k as loadingMessageCSS, m as menuCSS, n as menuListCSS, o as menuPortalCSS, p as multiValueCSS, q as multiValueLabelCSS, t as multiValueRemoveCSS, u as noOptionsMessageCSS, v as optionCSS, w as placeholderCSS, x as css$2, y as valueContainerCSS, z as isTouchCapable, A as isMobileDevice, B as multiValueAsValue, C as singleValueAsValue, D as valueTernary, E as classNames, F as defaultComponents, G as notNullish, H as isDocumentElement, I as cleanValue, J as scrollIntoView, K as noop, M as MenuPlacer } from './index-a86253bb.esm.js'; | ||
|  | import { jsx, css } from '@emotion/react'; | ||
|  | import memoizeOne from 'memoize-one'; | ||
|  | import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties'; | ||
|  | 
 | ||
|  | function _EMOTION_STRINGIFIED_CSS_ERROR__$2() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } | ||
|  | 
 | ||
|  | // Assistive text to describe visual elements. Hidden for sighted users.
 | ||
|  | var _ref = process.env.NODE_ENV === "production" ? { | ||
|  |   name: "7pg0cj-a11yText", | ||
|  |   styles: "label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap" | ||
|  | } : { | ||
|  |   name: "1f43avz-a11yText-A11yText", | ||
|  |   styles: "label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;label:A11yText;", | ||
|  |   map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkExMXlUZXh0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNSSIsImZpbGUiOiJBMTF5VGV4dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLy8gQXNzaXN0aXZlIHRleHQgdG8gZGVzY3JpYmUgdmlzdWFsIGVsZW1lbnRzLiBIaWRkZW4gZm9yIHNpZ2h0ZWQgdXNlcnMuXG5jb25zdCBBMTF5VGV4dCA9IChwcm9wczogSlNYLkludHJpbnNpY0VsZW1lbnRzWydzcGFuJ10pID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGxhYmVsOiAnYTExeVRleHQnLFxuICAgICAgekluZGV4OiA5OTk5LFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgY2xpcDogJ3JlY3QoMXB4LCAxcHgsIDFweCwgMXB4KScsXG4gICAgICBoZWlnaHQ6IDEsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQTExeVRleHQ7XG4iXX0= */", | ||
|  |   toString: _EMOTION_STRINGIFIED_CSS_ERROR__$2 | ||
|  | }; | ||
|  | var A11yText = function A11yText(props) { | ||
|  |   return jsx("span", _extends({ | ||
|  |     css: _ref | ||
|  |   }, props)); | ||
|  | }; | ||
|  | 
 | ||
|  | var defaultAriaLiveMessages = { | ||
|  |   guidance: function guidance(props) { | ||
|  |     var isSearchable = props.isSearchable, | ||
|  |       isMulti = props.isMulti, | ||
|  |       isDisabled = props.isDisabled, | ||
|  |       tabSelectsValue = props.tabSelectsValue, | ||
|  |       context = props.context; | ||
|  |     switch (context) { | ||
|  |       case 'menu': | ||
|  |         return "Use Up and Down to choose options".concat(isDisabled ? '' : ', press Enter to select the currently focused option', ", press Escape to exit the menu").concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', "."); | ||
|  |       case 'input': | ||
|  |         return "".concat(props['aria-label'] || 'Select', " is focused ").concat(isSearchable ? ',type to refine list' : '', ", press Down to open the menu, ").concat(isMulti ? ' press left to focus selected values' : ''); | ||
|  |       case 'value': | ||
|  |         return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value'; | ||
|  |       default: | ||
|  |         return ''; | ||
|  |     } | ||
|  |   }, | ||
|  |   onChange: function onChange(props) { | ||
|  |     var action = props.action, | ||
|  |       _props$label = props.label, | ||
|  |       label = _props$label === void 0 ? '' : _props$label, | ||
|  |       labels = props.labels, | ||
|  |       isDisabled = props.isDisabled; | ||
|  |     switch (action) { | ||
|  |       case 'deselect-option': | ||
|  |       case 'pop-value': | ||
|  |       case 'remove-value': | ||
|  |         return "option ".concat(label, ", deselected."); | ||
|  |       case 'clear': | ||
|  |         return 'All selected options have been cleared.'; | ||
|  |       case 'initial-input-focus': | ||
|  |         return "option".concat(labels.length > 1 ? 's' : '', " ").concat(labels.join(','), ", selected."); | ||
|  |       case 'select-option': | ||
|  |         return isDisabled ? "option ".concat(label, " is disabled. Select another option.") : "option ".concat(label, ", selected."); | ||
|  |       default: | ||
|  |         return ''; | ||
|  |     } | ||
|  |   }, | ||
|  |   onFocus: function onFocus(props) { | ||
|  |     var context = props.context, | ||
|  |       focused = props.focused, | ||
|  |       options = props.options, | ||
|  |       _props$label2 = props.label, | ||
|  |       label = _props$label2 === void 0 ? '' : _props$label2, | ||
|  |       selectValue = props.selectValue, | ||
|  |       isDisabled = props.isDisabled, | ||
|  |       isSelected = props.isSelected; | ||
|  |     var getArrayIndex = function getArrayIndex(arr, item) { | ||
|  |       return arr && arr.length ? "".concat(arr.indexOf(item) + 1, " of ").concat(arr.length) : ''; | ||
|  |     }; | ||
|  |     if (context === 'value' && selectValue) { | ||
|  |       return "value ".concat(label, " focused, ").concat(getArrayIndex(selectValue, focused), "."); | ||
|  |     } | ||
|  |     if (context === 'menu') { | ||
|  |       var disabled = isDisabled ? ' disabled' : ''; | ||
|  |       var status = "".concat(isSelected ? 'selected' : 'focused').concat(disabled); | ||
|  |       return "option ".concat(label, " ").concat(status, ", ").concat(getArrayIndex(options, focused), "."); | ||
|  |     } | ||
|  |     return ''; | ||
|  |   }, | ||
|  |   onFilter: function onFilter(props) { | ||
|  |     var inputValue = props.inputValue, | ||
|  |       resultsMessage = props.resultsMessage; | ||
|  |     return "".concat(resultsMessage).concat(inputValue ? ' for search term ' + inputValue : '', "."); | ||
|  |   } | ||
|  | }; | ||
|  | 
 | ||
|  | var LiveRegion = function LiveRegion(props) { | ||
|  |   var ariaSelection = props.ariaSelection, | ||
|  |     focusedOption = props.focusedOption, | ||
|  |     focusedValue = props.focusedValue, | ||
|  |     focusableOptions = props.focusableOptions, | ||
|  |     isFocused = props.isFocused, | ||
|  |     selectValue = props.selectValue, | ||
|  |     selectProps = props.selectProps, | ||
|  |     id = props.id; | ||
|  |   var ariaLiveMessages = selectProps.ariaLiveMessages, | ||
|  |     getOptionLabel = selectProps.getOptionLabel, | ||
|  |     inputValue = selectProps.inputValue, | ||
|  |     isMulti = selectProps.isMulti, | ||
|  |     isOptionDisabled = selectProps.isOptionDisabled, | ||
|  |     isSearchable = selectProps.isSearchable, | ||
|  |     menuIsOpen = selectProps.menuIsOpen, | ||
|  |     options = selectProps.options, | ||
|  |     screenReaderStatus = selectProps.screenReaderStatus, | ||
|  |     tabSelectsValue = selectProps.tabSelectsValue; | ||
|  |   var ariaLabel = selectProps['aria-label']; | ||
|  |   var ariaLive = selectProps['aria-live']; | ||
|  | 
 | ||
|  |   // Update aria live message configuration when prop changes
 | ||
|  |   var messages = useMemo(function () { | ||
|  |     return _objectSpread(_objectSpread({}, defaultAriaLiveMessages), ariaLiveMessages || {}); | ||
|  |   }, [ariaLiveMessages]); | ||
|  | 
 | ||
|  |   // Update aria live selected option when prop changes
 | ||
|  |   var ariaSelected = useMemo(function () { | ||
|  |     var message = ''; | ||
|  |     if (ariaSelection && messages.onChange) { | ||
|  |       var option = ariaSelection.option, | ||
|  |         selectedOptions = ariaSelection.options, | ||
|  |         removedValue = ariaSelection.removedValue, | ||
|  |         removedValues = ariaSelection.removedValues, | ||
|  |         value = ariaSelection.value; | ||
|  |       // select-option when !isMulti does not return option so we assume selected option is value
 | ||
|  |       var asOption = function asOption(val) { | ||
|  |         return !Array.isArray(val) ? val : null; | ||
|  |       }; | ||
|  | 
 | ||
|  |       // If there is just one item from the action then get its label
 | ||
|  |       var selected = removedValue || option || asOption(value); | ||
|  |       var label = selected ? getOptionLabel(selected) : ''; | ||
|  | 
 | ||
|  |       // If there are multiple items from the action then return an array of labels
 | ||
|  |       var multiSelected = selectedOptions || removedValues || undefined; | ||
|  |       var labels = multiSelected ? multiSelected.map(getOptionLabel) : []; | ||
|  |       var onChangeProps = _objectSpread({ | ||
|  |         // multiSelected items are usually items that have already been selected
 | ||
|  |         // or set by the user as a default value so we assume they are not disabled
 | ||
|  |         isDisabled: selected && isOptionDisabled(selected, selectValue), | ||
|  |         label: label, | ||
|  |         labels: labels | ||
|  |       }, ariaSelection); | ||
|  |       message = messages.onChange(onChangeProps); | ||
|  |     } | ||
|  |     return message; | ||
|  |   }, [ariaSelection, messages, isOptionDisabled, selectValue, getOptionLabel]); | ||
|  |   var ariaFocused = useMemo(function () { | ||
|  |     var focusMsg = ''; | ||
|  |     var focused = focusedOption || focusedValue; | ||
|  |     var isSelected = !!(focusedOption && selectValue && selectValue.includes(focusedOption)); | ||
|  |     if (focused && messages.onFocus) { | ||
|  |       var onFocusProps = { | ||
|  |         focused: focused, | ||
|  |         label: getOptionLabel(focused), | ||
|  |         isDisabled: isOptionDisabled(focused, selectValue), | ||
|  |         isSelected: isSelected, | ||
|  |         options: focusableOptions, | ||
|  |         context: focused === focusedOption ? 'menu' : 'value', | ||
|  |         selectValue: selectValue | ||
|  |       }; | ||
|  |       focusMsg = messages.onFocus(onFocusProps); | ||
|  |     } | ||
|  |     return focusMsg; | ||
|  |   }, [focusedOption, focusedValue, getOptionLabel, isOptionDisabled, messages, focusableOptions, selectValue]); | ||
|  |   var ariaResults = useMemo(function () { | ||
|  |     var resultsMsg = ''; | ||
|  |     if (menuIsOpen && options.length && messages.onFilter) { | ||
|  |       var resultsMessage = screenReaderStatus({ | ||
|  |         count: focusableOptions.length | ||
|  |       }); | ||
|  |       resultsMsg = messages.onFilter({ | ||
|  |         inputValue: inputValue, | ||
|  |         resultsMessage: resultsMessage | ||
|  |       }); | ||
|  |     } | ||
|  |     return resultsMsg; | ||
|  |   }, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus]); | ||
|  |   var ariaGuidance = useMemo(function () { | ||
|  |     var guidanceMsg = ''; | ||
|  |     if (messages.guidance) { | ||
|  |       var context = focusedValue ? 'value' : menuIsOpen ? 'menu' : 'input'; | ||
|  |       guidanceMsg = messages.guidance({ | ||
|  |         'aria-label': ariaLabel, | ||
|  |         context: context, | ||
|  |         isDisabled: focusedOption && isOptionDisabled(focusedOption, selectValue), | ||
|  |         isMulti: isMulti, | ||
|  |         isSearchable: isSearchable, | ||
|  |         tabSelectsValue: tabSelectsValue | ||
|  |       }); | ||
|  |     } | ||
|  |     return guidanceMsg; | ||
|  |   }, [ariaLabel, focusedOption, focusedValue, isMulti, isOptionDisabled, isSearchable, menuIsOpen, messages, selectValue, tabSelectsValue]); | ||
|  |   var ariaContext = "".concat(ariaFocused, " ").concat(ariaResults, " ").concat(ariaGuidance); | ||
|  |   var ScreenReaderText = jsx(Fragment, null, jsx("span", { | ||
|  |     id: "aria-selection" | ||
|  |   }, ariaSelected), jsx("span", { | ||
|  |     id: "aria-context" | ||
|  |   }, ariaContext)); | ||
|  |   var isInitialFocus = (ariaSelection === null || ariaSelection === void 0 ? void 0 : ariaSelection.action) === 'initial-input-focus'; | ||
|  |   return jsx(Fragment, null, jsx(A11yText, { | ||
|  |     id: id | ||
|  |   }, isInitialFocus && ScreenReaderText), jsx(A11yText, { | ||
|  |     "aria-live": ariaLive, | ||
|  |     "aria-atomic": "false", | ||
|  |     "aria-relevant": "additions text" | ||
|  |   }, isFocused && !isInitialFocus && ScreenReaderText)); | ||
|  | }; | ||
|  | 
 | ||
|  | var diacritics = [{ | ||
|  |   base: 'A', | ||
|  |   letters: "A\u24B6\uFF21\xC0\xC1\xC2\u1EA6\u1EA4\u1EAA\u1EA8\xC3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\xC4\u01DE\u1EA2\xC5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F" | ||
|  | }, { | ||
|  |   base: 'AA', | ||
|  |   letters: "\uA732" | ||
|  | }, { | ||
|  |   base: 'AE', | ||
|  |   letters: "\xC6\u01FC\u01E2" | ||
|  | }, { | ||
|  |   base: 'AO', | ||
|  |   letters: "\uA734" | ||
|  | }, { | ||
|  |   base: 'AU', | ||
|  |   letters: "\uA736" | ||
|  | }, { | ||
|  |   base: 'AV', | ||
|  |   letters: "\uA738\uA73A" | ||
|  | }, { | ||
|  |   base: 'AY', | ||
|  |   letters: "\uA73C" | ||
|  | }, { | ||
|  |   base: 'B', | ||
|  |   letters: "B\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181" | ||
|  | }, { | ||
|  |   base: 'C', | ||
|  |   letters: "C\u24B8\uFF23\u0106\u0108\u010A\u010C\xC7\u1E08\u0187\u023B\uA73E" | ||
|  | }, { | ||
|  |   base: 'D', | ||
|  |   letters: "D\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779" | ||
|  | }, { | ||
|  |   base: 'DZ', | ||
|  |   letters: "\u01F1\u01C4" | ||
|  | }, { | ||
|  |   base: 'Dz', | ||
|  |   letters: "\u01F2\u01C5" | ||
|  | }, { | ||
|  |   base: 'E', | ||
|  |   letters: "E\u24BA\uFF25\xC8\xC9\xCA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\xCB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E" | ||
|  | }, { | ||
|  |   base: 'F', | ||
|  |   letters: "F\u24BB\uFF26\u1E1E\u0191\uA77B" | ||
|  | }, { | ||
|  |   base: 'G', | ||
|  |   letters: "G\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E" | ||
|  | }, { | ||
|  |   base: 'H', | ||
|  |   letters: "H\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D" | ||
|  | }, { | ||
|  |   base: 'I', | ||
|  |   letters: "I\u24BE\uFF29\xCC\xCD\xCE\u0128\u012A\u012C\u0130\xCF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197" | ||
|  | }, { | ||
|  |   base: 'J', | ||
|  |   letters: "J\u24BF\uFF2A\u0134\u0248" | ||
|  | }, { | ||
|  |   base: 'K', | ||
|  |   letters: "K\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2" | ||
|  | }, { | ||
|  |   base: 'L', | ||
|  |   letters: "L\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780" | ||
|  | }, { | ||
|  |   base: 'LJ', | ||
|  |   letters: "\u01C7" | ||
|  | }, { | ||
|  |   base: 'Lj', | ||
|  |   letters: "\u01C8" | ||
|  | }, { | ||
|  |   base: 'M', | ||
|  |   letters: "M\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C" | ||
|  | }, { | ||
|  |   base: 'N', | ||
|  |   letters: "N\u24C3\uFF2E\u01F8\u0143\xD1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4" | ||
|  | }, { | ||
|  |   base: 'NJ', | ||
|  |   letters: "\u01CA" | ||
|  | }, { | ||
|  |   base: 'Nj', | ||
|  |   letters: "\u01CB" | ||
|  | }, { | ||
|  |   base: 'O', | ||
|  |   letters: "O\u24C4\uFF2F\xD2\xD3\xD4\u1ED2\u1ED0\u1ED6\u1ED4\xD5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\xD6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\xD8\u01FE\u0186\u019F\uA74A\uA74C" | ||
|  | }, { | ||
|  |   base: 'OI', | ||
|  |   letters: "\u01A2" | ||
|  | }, { | ||
|  |   base: 'OO', | ||
|  |   letters: "\uA74E" | ||
|  | }, { | ||
|  |   base: 'OU', | ||
|  |   letters: "\u0222" | ||
|  | }, { | ||
|  |   base: 'P', | ||
|  |   letters: "P\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754" | ||
|  | }, { | ||
|  |   base: 'Q', | ||
|  |   letters: "Q\u24C6\uFF31\uA756\uA758\u024A" | ||
|  | }, { | ||
|  |   base: 'R', | ||
|  |   letters: "R\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782" | ||
|  | }, { | ||
|  |   base: 'S', | ||
|  |   letters: "S\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784" | ||
|  | }, { | ||
|  |   base: 'T', | ||
|  |   letters: "T\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786" | ||
|  | }, { | ||
|  |   base: 'TZ', | ||
|  |   letters: "\uA728" | ||
|  | }, { | ||
|  |   base: 'U', | ||
|  |   letters: "U\u24CA\uFF35\xD9\xDA\xDB\u0168\u1E78\u016A\u1E7A\u016C\xDC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244" | ||
|  | }, { | ||
|  |   base: 'V', | ||
|  |   letters: "V\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245" | ||
|  | }, { | ||
|  |   base: 'VY', | ||
|  |   letters: "\uA760" | ||
|  | }, { | ||
|  |   base: 'W', | ||
|  |   letters: "W\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72" | ||
|  | }, { | ||
|  |   base: 'X', | ||
|  |   letters: "X\u24CD\uFF38\u1E8A\u1E8C" | ||
|  | }, { | ||
|  |   base: 'Y', | ||
|  |   letters: "Y\u24CE\uFF39\u1EF2\xDD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE" | ||
|  | }, { | ||
|  |   base: 'Z', | ||
|  |   letters: "Z\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762" | ||
|  | }, { | ||
|  |   base: 'a', | ||
|  |   letters: "a\u24D0\uFF41\u1E9A\xE0\xE1\xE2\u1EA7\u1EA5\u1EAB\u1EA9\xE3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\xE4\u01DF\u1EA3\xE5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250" | ||
|  | }, { | ||
|  |   base: 'aa', | ||
|  |   letters: "\uA733" | ||
|  | }, { | ||
|  |   base: 'ae', | ||
|  |   letters: "\xE6\u01FD\u01E3" | ||
|  | }, { | ||
|  |   base: 'ao', | ||
|  |   letters: "\uA735" | ||
|  | }, { | ||
|  |   base: 'au', | ||
|  |   letters: "\uA737" | ||
|  | }, { | ||
|  |   base: 'av', | ||
|  |   letters: "\uA739\uA73B" | ||
|  | }, { | ||
|  |   base: 'ay', | ||
|  |   letters: "\uA73D" | ||
|  | }, { | ||
|  |   base: 'b', | ||
|  |   letters: "b\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253" | ||
|  | }, { | ||
|  |   base: 'c', | ||
|  |   letters: "c\u24D2\uFF43\u0107\u0109\u010B\u010D\xE7\u1E09\u0188\u023C\uA73F\u2184" | ||
|  | }, { | ||
|  |   base: 'd', | ||
|  |   letters: "d\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A" | ||
|  | }, { | ||
|  |   base: 'dz', | ||
|  |   letters: "\u01F3\u01C6" | ||
|  | }, { | ||
|  |   base: 'e', | ||
|  |   letters: "e\u24D4\uFF45\xE8\xE9\xEA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\xEB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD" | ||
|  | }, { | ||
|  |   base: 'f', | ||
|  |   letters: "f\u24D5\uFF46\u1E1F\u0192\uA77C" | ||
|  | }, { | ||
|  |   base: 'g', | ||
|  |   letters: "g\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F" | ||
|  | }, { | ||
|  |   base: 'h', | ||
|  |   letters: "h\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265" | ||
|  | }, { | ||
|  |   base: 'hv', | ||
|  |   letters: "\u0195" | ||
|  | }, { | ||
|  |   base: 'i', | ||
|  |   letters: "i\u24D8\uFF49\xEC\xED\xEE\u0129\u012B\u012D\xEF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131" | ||
|  | }, { | ||
|  |   base: 'j', | ||
|  |   letters: "j\u24D9\uFF4A\u0135\u01F0\u0249" | ||
|  | }, { | ||
|  |   base: 'k', | ||
|  |   letters: "k\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3" | ||
|  | }, { | ||
|  |   base: 'l', | ||
|  |   letters: "l\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747" | ||
|  | }, { | ||
|  |   base: 'lj', | ||
|  |   letters: "\u01C9" | ||
|  | }, { | ||
|  |   base: 'm', | ||
|  |   letters: "m\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F" | ||
|  | }, { | ||
|  |   base: 'n', | ||
|  |   letters: "n\u24DD\uFF4E\u01F9\u0144\xF1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5" | ||
|  | }, { | ||
|  |   base: 'nj', | ||
|  |   letters: "\u01CC" | ||
|  | }, { | ||
|  |   base: 'o', | ||
|  |   letters: "o\u24DE\uFF4F\xF2\xF3\xF4\u1ED3\u1ED1\u1ED7\u1ED5\xF5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\xF6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\xF8\u01FF\u0254\uA74B\uA74D\u0275" | ||
|  | }, { | ||
|  |   base: 'oi', | ||
|  |   letters: "\u01A3" | ||
|  | }, { | ||
|  |   base: 'ou', | ||
|  |   letters: "\u0223" | ||
|  | }, { | ||
|  |   base: 'oo', | ||
|  |   letters: "\uA74F" | ||
|  | }, { | ||
|  |   base: 'p', | ||
|  |   letters: "p\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755" | ||
|  | }, { | ||
|  |   base: 'q', | ||
|  |   letters: "q\u24E0\uFF51\u024B\uA757\uA759" | ||
|  | }, { | ||
|  |   base: 'r', | ||
|  |   letters: "r\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783" | ||
|  | }, { | ||
|  |   base: 's', | ||
|  |   letters: "s\u24E2\uFF53\xDF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B" | ||
|  | }, { | ||
|  |   base: 't', | ||
|  |   letters: "t\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787" | ||
|  | }, { | ||
|  |   base: 'tz', | ||
|  |   letters: "\uA729" | ||
|  | }, { | ||
|  |   base: 'u', | ||
|  |   letters: "u\u24E4\uFF55\xF9\xFA\xFB\u0169\u1E79\u016B\u1E7B\u016D\xFC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289" | ||
|  | }, { | ||
|  |   base: 'v', | ||
|  |   letters: "v\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C" | ||
|  | }, { | ||
|  |   base: 'vy', | ||
|  |   letters: "\uA761" | ||
|  | }, { | ||
|  |   base: 'w', | ||
|  |   letters: "w\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73" | ||
|  | }, { | ||
|  |   base: 'x', | ||
|  |   letters: "x\u24E7\uFF58\u1E8B\u1E8D" | ||
|  | }, { | ||
|  |   base: 'y', | ||
|  |   letters: "y\u24E8\uFF59\u1EF3\xFD\u0177\u1EF9\u0233\u1E8F\xFF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF" | ||
|  | }, { | ||
|  |   base: 'z', | ||
|  |   letters: "z\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763" | ||
|  | }]; | ||
|  | var anyDiacritic = new RegExp('[' + diacritics.map(function (d) { | ||
|  |   return d.letters; | ||
|  | }).join('') + ']', 'g'); | ||
|  | var diacriticToBase = {}; | ||
|  | for (var i = 0; i < diacritics.length; i++) { | ||
|  |   var diacritic = diacritics[i]; | ||
|  |   for (var j = 0; j < diacritic.letters.length; j++) { | ||
|  |     diacriticToBase[diacritic.letters[j]] = diacritic.base; | ||
|  |   } | ||
|  | } | ||
|  | var stripDiacritics = function stripDiacritics(str) { | ||
|  |   return str.replace(anyDiacritic, function (match) { | ||
|  |     return diacriticToBase[match]; | ||
|  |   }); | ||
|  | }; | ||
|  | 
 | ||
|  | var memoizedStripDiacriticsForInput = memoizeOne(stripDiacritics); | ||
|  | var trimString = function trimString(str) { | ||
|  |   return str.replace(/^\s+|\s+$/g, ''); | ||
|  | }; | ||
|  | var defaultStringify = function defaultStringify(option) { | ||
|  |   return "".concat(option.label, " ").concat(option.value); | ||
|  | }; | ||
|  | var createFilter = function createFilter(config) { | ||
|  |   return function (option, rawInput) { | ||
|  |     // eslint-disable-next-line no-underscore-dangle
 | ||
|  |     if (option.data.__isNew__) return true; | ||
|  |     var _ignoreCase$ignoreAcc = _objectSpread({ | ||
|  |         ignoreCase: true, | ||
|  |         ignoreAccents: true, | ||
|  |         stringify: defaultStringify, | ||
|  |         trim: true, | ||
|  |         matchFrom: 'any' | ||
|  |       }, config), | ||
|  |       ignoreCase = _ignoreCase$ignoreAcc.ignoreCase, | ||
|  |       ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents, | ||
|  |       stringify = _ignoreCase$ignoreAcc.stringify, | ||
|  |       trim = _ignoreCase$ignoreAcc.trim, | ||
|  |       matchFrom = _ignoreCase$ignoreAcc.matchFrom; | ||
|  |     var input = trim ? trimString(rawInput) : rawInput; | ||
|  |     var candidate = trim ? trimString(stringify(option)) : stringify(option); | ||
|  |     if (ignoreCase) { | ||
|  |       input = input.toLowerCase(); | ||
|  |       candidate = candidate.toLowerCase(); | ||
|  |     } | ||
|  |     if (ignoreAccents) { | ||
|  |       input = memoizedStripDiacriticsForInput(input); | ||
|  |       candidate = stripDiacritics(candidate); | ||
|  |     } | ||
|  |     return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1; | ||
|  |   }; | ||
|  | }; | ||
|  | 
 | ||
|  | var _excluded = ["innerRef"]; | ||
|  | function DummyInput(_ref) { | ||
|  |   var innerRef = _ref.innerRef, | ||
|  |     props = _objectWithoutProperties(_ref, _excluded); | ||
|  |   // Remove animation props not meant for HTML elements
 | ||
|  |   var filteredProps = removeProps(props, 'onExited', 'in', 'enter', 'exit', 'appear'); | ||
|  |   return jsx("input", _extends({ | ||
|  |     ref: innerRef | ||
|  |   }, filteredProps, { | ||
|  |     css: /*#__PURE__*/css({ | ||
|  |       label: 'dummyInput', | ||
|  |       // get rid of any default styles
 | ||
|  |       background: 0, | ||
|  |       border: 0, | ||
|  |       // important! this hides the flashing cursor
 | ||
|  |       caretColor: 'transparent', | ||
|  |       fontSize: 'inherit', | ||
|  |       gridArea: '1 / 1 / 2 / 3', | ||
|  |       outline: 0, | ||
|  |       padding: 0, | ||
|  |       // important! without `width` browsers won't allow focus
 | ||
|  |       width: 1, | ||
|  |       // remove cursor on desktop
 | ||
|  |       color: 'transparent', | ||
|  |       // remove cursor on mobile whilst maintaining "scroll into view" behaviour
 | ||
|  |       left: -100, | ||
|  |       opacity: 0, | ||
|  |       position: 'relative', | ||
|  |       transform: 'scale(.01)' | ||
|  |     }, process.env.NODE_ENV === "production" ? "" : ";label:DummyInput;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bW15SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCTSIsImZpbGUiOiJEdW1teUlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgcmVtb3ZlUHJvcHMgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIER1bW15SW5wdXQoe1xuICBpbm5lclJlZixcbiAgLi4ucHJvcHNcbn06IEpTWC5JbnRyaW5zaWNFbGVtZW50c1snaW5wdXQnXSAmIHtcbiAgcmVhZG9ubHkgaW5uZXJSZWY6IFJlZjxIVE1MSW5wdXRFbGVtZW50Pjtcbn0pIHtcbiAgLy8gUmVtb3ZlIGFuaW1hdGlvbiBwcm9wcyBub3QgbWVhbnQgZm9yIEhUTUwgZWxlbWVudHNcbiAgY29uc3QgZmlsdGVyZWRQcm9wcyA9IHJlbW92ZVByb3BzKFxuICAgIHByb3BzLFxuICAgICdvbkV4aXRlZCcsXG4gICAgJ2luJyxcbiAgICAnZW50ZXInLFxuICAgICdleGl0JyxcbiAgICAnYXBwZWFyJ1xuICApO1xuXG4gIHJldHVybiAoXG4gICAgPGlucHV0XG4gICAgICByZWY9e2lubmVyUmVmfVxuICAgICAgey4uLmZpbHRlcmVkUHJvcHN9XG4gICAgICBjc3M9e3tcbiAgICAgICAgbGFiZWw6ICdkdW1teUlucHV0JyxcbiAgICAgICAgLy8gZ2V0IHJpZCBvZiBhbnkgZGVmYXVsdCBzdHlsZXNcbiAgICAgICAgYmFja2dyb3VuZDogMCxcbiAgICAgICAgYm9yZGVyOiAwLFxuICAgICAgICAvLyBpbXBvcnRhbnQhIHRoaXMgaGlkZXMgdGhlIGZsYXNoaW5nIGN1cnNvclxuICAgICAgICBjYXJldENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICBmb250U2l6ZTogJ2luaGVyaXQnLFxuICAgICAgICBncmlkQXJlYTogJzEgLyAxIC8gMiAvIDMnLFxuICAgICAgICBvdXRsaW5lOiAwLFxuICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAvLyBpbXBvcnRhbnQhIHdpdGhvdXQgYHdpZHRoYCBicm93c2VycyB3b24ndCBhbGxvdyBmb2N1c1xuICAgICAgICB3aWR0aDogMSxcblxuICAgICAgICAvLyByZW1vdmUgY3Vyc29yIG9uIGRlc2t0b3BcbiAgICAgICAgY29sb3I6ICd0cmFuc3BhcmVudCcsXG5cbiAgICAgICAgLy8gcmVtb3ZlIGN1cnNvciBvbiBtb2JpbGUgd2hpbHN0IG1haW50YWluaW5nIFwic2Nyb2xsIGludG8gdmlld1wiIGJlaGF2aW91clxuICAgICAgICBsZWZ0OiAtMTAwLFxuICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoLjAxKScsXG4gICAgICB9fVxuICAgIC8+XG4gICk7XG59XG4iXX0= */") | ||
|  |   })); | ||
|  | } | ||
|  | 
 | ||
|  | var cancelScroll = function cancelScroll(event) { | ||
|  |   event.preventDefault(); | ||
|  |   event.stopPropagation(); | ||
|  | }; | ||
|  | function useScrollCapture(_ref) { | ||
|  |   var isEnabled = _ref.isEnabled, | ||
|  |     onBottomArrive = _ref.onBottomArrive, | ||
|  |     onBottomLeave = _ref.onBottomLeave, | ||
|  |     onTopArrive = _ref.onTopArrive, | ||
|  |     onTopLeave = _ref.onTopLeave; | ||
|  |   var isBottom = useRef(false); | ||
|  |   var isTop = useRef(false); | ||
|  |   var touchStart = useRef(0); | ||
|  |   var scrollTarget = useRef(null); | ||
|  |   var handleEventDelta = useCallback(function (event, delta) { | ||
|  |     if (scrollTarget.current === null) return; | ||
|  |     var _scrollTarget$current = scrollTarget.current, | ||
|  |       scrollTop = _scrollTarget$current.scrollTop, | ||
|  |       scrollHeight = _scrollTarget$current.scrollHeight, | ||
|  |       clientHeight = _scrollTarget$current.clientHeight; | ||
|  |     var target = scrollTarget.current; | ||
|  |     var isDeltaPositive = delta > 0; | ||
|  |     var availableScroll = scrollHeight - clientHeight - scrollTop; | ||
|  |     var shouldCancelScroll = false; | ||
|  | 
 | ||
|  |     // reset bottom/top flags
 | ||
|  |     if (availableScroll > delta && isBottom.current) { | ||
|  |       if (onBottomLeave) onBottomLeave(event); | ||
|  |       isBottom.current = false; | ||
|  |     } | ||
|  |     if (isDeltaPositive && isTop.current) { | ||
|  |       if (onTopLeave) onTopLeave(event); | ||
|  |       isTop.current = false; | ||
|  |     } | ||
|  | 
 | ||
|  |     // bottom limit
 | ||
|  |     if (isDeltaPositive && delta > availableScroll) { | ||
|  |       if (onBottomArrive && !isBottom.current) { | ||
|  |         onBottomArrive(event); | ||
|  |       } | ||
|  |       target.scrollTop = scrollHeight; | ||
|  |       shouldCancelScroll = true; | ||
|  |       isBottom.current = true; | ||
|  | 
 | ||
|  |       // top limit
 | ||
|  |     } else if (!isDeltaPositive && -delta > scrollTop) { | ||
|  |       if (onTopArrive && !isTop.current) { | ||
|  |         onTopArrive(event); | ||
|  |       } | ||
|  |       target.scrollTop = 0; | ||
|  |       shouldCancelScroll = true; | ||
|  |       isTop.current = true; | ||
|  |     } | ||
|  | 
 | ||
|  |     // cancel scroll
 | ||
|  |     if (shouldCancelScroll) { | ||
|  |       cancelScroll(event); | ||
|  |     } | ||
|  |   }, [onBottomArrive, onBottomLeave, onTopArrive, onTopLeave]); | ||
|  |   var onWheel = useCallback(function (event) { | ||
|  |     handleEventDelta(event, event.deltaY); | ||
|  |   }, [handleEventDelta]); | ||
|  |   var onTouchStart = useCallback(function (event) { | ||
|  |     // set touch start so we can calculate touchmove delta
 | ||
|  |     touchStart.current = event.changedTouches[0].clientY; | ||
|  |   }, []); | ||
|  |   var onTouchMove = useCallback(function (event) { | ||
|  |     var deltaY = touchStart.current - event.changedTouches[0].clientY; | ||
|  |     handleEventDelta(event, deltaY); | ||
|  |   }, [handleEventDelta]); | ||
|  |   var startListening = useCallback(function (el) { | ||
|  |     // bail early if no element is available to attach to
 | ||
|  |     if (!el) return; | ||
|  |     var notPassive = supportsPassiveEvents ? { | ||
|  |       passive: false | ||
|  |     } : false; | ||
|  |     el.addEventListener('wheel', onWheel, notPassive); | ||
|  |     el.addEventListener('touchstart', onTouchStart, notPassive); | ||
|  |     el.addEventListener('touchmove', onTouchMove, notPassive); | ||
|  |   }, [onTouchMove, onTouchStart, onWheel]); | ||
|  |   var stopListening = useCallback(function (el) { | ||
|  |     // bail early if no element is available to detach from
 | ||
|  |     if (!el) return; | ||
|  |     el.removeEventListener('wheel', onWheel, false); | ||
|  |     el.removeEventListener('touchstart', onTouchStart, false); | ||
|  |     el.removeEventListener('touchmove', onTouchMove, false); | ||
|  |   }, [onTouchMove, onTouchStart, onWheel]); | ||
|  |   useEffect(function () { | ||
|  |     if (!isEnabled) return; | ||
|  |     var element = scrollTarget.current; | ||
|  |     startListening(element); | ||
|  |     return function () { | ||
|  |       stopListening(element); | ||
|  |     }; | ||
|  |   }, [isEnabled, startListening, stopListening]); | ||
|  |   return function (element) { | ||
|  |     scrollTarget.current = element; | ||
|  |   }; | ||
|  | } | ||
|  | 
 | ||
|  | var STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position']; | ||
|  | var LOCK_STYLES = { | ||
|  |   boxSizing: 'border-box', | ||
|  |   // account for possible declaration `width: 100%;` on body
 | ||
|  |   overflow: 'hidden', | ||
|  |   position: 'relative', | ||
|  |   height: '100%' | ||
|  | }; | ||
|  | function preventTouchMove(e) { | ||
|  |   e.preventDefault(); | ||
|  | } | ||
|  | function allowTouchMove(e) { | ||
|  |   e.stopPropagation(); | ||
|  | } | ||
|  | function preventInertiaScroll() { | ||
|  |   var top = this.scrollTop; | ||
|  |   var totalScroll = this.scrollHeight; | ||
|  |   var currentScroll = top + this.offsetHeight; | ||
|  |   if (top === 0) { | ||
|  |     this.scrollTop = 1; | ||
|  |   } else if (currentScroll === totalScroll) { | ||
|  |     this.scrollTop = top - 1; | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | // `ontouchstart` check works on most browsers
 | ||
|  | // `maxTouchPoints` works on IE10/11 and Surface
 | ||
|  | function isTouchDevice() { | ||
|  |   return 'ontouchstart' in window || navigator.maxTouchPoints; | ||
|  | } | ||
|  | var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); | ||
|  | var activeScrollLocks = 0; | ||
|  | var listenerOptions = { | ||
|  |   capture: false, | ||
|  |   passive: false | ||
|  | }; | ||
|  | function useScrollLock(_ref) { | ||
|  |   var isEnabled = _ref.isEnabled, | ||
|  |     _ref$accountForScroll = _ref.accountForScrollbars, | ||
|  |     accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll; | ||
|  |   var originalStyles = useRef({}); | ||
|  |   var scrollTarget = useRef(null); | ||
|  |   var addScrollLock = useCallback(function (touchScrollTarget) { | ||
|  |     if (!canUseDOM) return; | ||
|  |     var target = document.body; | ||
|  |     var targetStyle = target && target.style; | ||
|  |     if (accountForScrollbars) { | ||
|  |       // store any styles already applied to the body
 | ||
|  |       STYLE_KEYS.forEach(function (key) { | ||
|  |         var val = targetStyle && targetStyle[key]; | ||
|  |         originalStyles.current[key] = val; | ||
|  |       }); | ||
|  |     } | ||
|  | 
 | ||
|  |     // apply the lock styles and padding if this is the first scroll lock
 | ||
|  |     if (accountForScrollbars && activeScrollLocks < 1) { | ||
|  |       var currentPadding = parseInt(originalStyles.current.paddingRight, 10) || 0; | ||
|  |       var clientWidth = document.body ? document.body.clientWidth : 0; | ||
|  |       var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0; | ||
|  |       Object.keys(LOCK_STYLES).forEach(function (key) { | ||
|  |         var val = LOCK_STYLES[key]; | ||
|  |         if (targetStyle) { | ||
|  |           targetStyle[key] = val; | ||
|  |         } | ||
|  |       }); | ||
|  |       if (targetStyle) { | ||
|  |         targetStyle.paddingRight = "".concat(adjustedPadding, "px"); | ||
|  |       } | ||
|  |     } | ||
|  | 
 | ||
|  |     // account for touch devices
 | ||
|  |     if (target && isTouchDevice()) { | ||
|  |       // Mobile Safari ignores { overflow: hidden } declaration on the body.
 | ||
|  |       target.addEventListener('touchmove', preventTouchMove, listenerOptions); | ||
|  | 
 | ||
|  |       // Allow scroll on provided target
 | ||
|  |       if (touchScrollTarget) { | ||
|  |         touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, listenerOptions); | ||
|  |         touchScrollTarget.addEventListener('touchmove', allowTouchMove, listenerOptions); | ||
|  |       } | ||
|  |     } | ||
|  | 
 | ||
|  |     // increment active scroll locks
 | ||
|  |     activeScrollLocks += 1; | ||
|  |   }, [accountForScrollbars]); | ||
|  |   var removeScrollLock = useCallback(function (touchScrollTarget) { | ||
|  |     if (!canUseDOM) return; | ||
|  |     var target = document.body; | ||
|  |     var targetStyle = target && target.style; | ||
|  | 
 | ||
|  |     // safely decrement active scroll locks
 | ||
|  |     activeScrollLocks = Math.max(activeScrollLocks - 1, 0); | ||
|  | 
 | ||
|  |     // reapply original body styles, if any
 | ||
|  |     if (accountForScrollbars && activeScrollLocks < 1) { | ||
|  |       STYLE_KEYS.forEach(function (key) { | ||
|  |         var val = originalStyles.current[key]; | ||
|  |         if (targetStyle) { | ||
|  |           targetStyle[key] = val; | ||
|  |         } | ||
|  |       }); | ||
|  |     } | ||
|  | 
 | ||
|  |     // remove touch listeners
 | ||
|  |     if (target && isTouchDevice()) { | ||
|  |       target.removeEventListener('touchmove', preventTouchMove, listenerOptions); | ||
|  |       if (touchScrollTarget) { | ||
|  |         touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, listenerOptions); | ||
|  |         touchScrollTarget.removeEventListener('touchmove', allowTouchMove, listenerOptions); | ||
|  |       } | ||
|  |     } | ||
|  |   }, [accountForScrollbars]); | ||
|  |   useEffect(function () { | ||
|  |     if (!isEnabled) return; | ||
|  |     var element = scrollTarget.current; | ||
|  |     addScrollLock(element); | ||
|  |     return function () { | ||
|  |       removeScrollLock(element); | ||
|  |     }; | ||
|  |   }, [isEnabled, addScrollLock, removeScrollLock]); | ||
|  |   return function (element) { | ||
|  |     scrollTarget.current = element; | ||
|  |   }; | ||
|  | } | ||
|  | 
 | ||
|  | function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } | ||
|  | var blurSelectInput = function blurSelectInput() { | ||
|  |   return document.activeElement && document.activeElement.blur(); | ||
|  | }; | ||
|  | var _ref2$1 = process.env.NODE_ENV === "production" ? { | ||
|  |   name: "1kfdb0e", | ||
|  |   styles: "position:fixed;left:0;bottom:0;right:0;top:0" | ||
|  | } : { | ||
|  |   name: "bp8cua-ScrollManager", | ||
|  |   styles: "position:fixed;left:0;bottom:0;right:0;top:0;label:ScrollManager;", | ||
|  |   map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcm9sbE1hbmFnZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStDVSIsImZpbGUiOiJTY3JvbGxNYW5hZ2VyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgRnJhZ21lbnQsIFJlYWN0RWxlbWVudCwgUmVmQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlU2Nyb2xsQ2FwdHVyZSBmcm9tICcuL3VzZVNjcm9sbENhcHR1cmUnO1xuaW1wb3J0IHVzZVNjcm9sbExvY2sgZnJvbSAnLi91c2VTY3JvbGxMb2NrJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgcmVhZG9ubHkgY2hpbGRyZW46IChyZWY6IFJlZkNhbGxiYWNrPEhUTUxFbGVtZW50PikgPT4gUmVhY3RFbGVtZW50O1xuICByZWFkb25seSBsb2NrRW5hYmxlZDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY2FwdHVyZUVuYWJsZWQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IG9uQm90dG9tQXJyaXZlPzogKGV2ZW50OiBXaGVlbEV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZDtcbiAgcmVhZG9ubHkgb25Cb3R0b21MZWF2ZT86IChldmVudDogV2hlZWxFdmVudCB8IFRvdWNoRXZlbnQpID0+IHZvaWQ7XG4gIHJlYWRvbmx5IG9uVG9wQXJyaXZlPzogKGV2ZW50OiBXaGVlbEV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZDtcbiAgcmVhZG9ubHkgb25Ub3BMZWF2ZT86IChldmVudDogV2hlZWxFdmVudCB8IFRvdWNoRXZlbnQpID0+IHZvaWQ7XG59XG5cbmNvbnN0IGJsdXJTZWxlY3RJbnB1dCA9ICgpID0+XG4gIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmJsdXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU2Nyb2xsTWFuYWdlcih7XG4gIGNoaWxkcmVuLFxuICBsb2NrRW5hYmxlZCxcbiAgY2FwdHVyZUVuYWJsZWQgPSB0cnVlLFxuICBvbkJvdHRvbUFycml2ZSxcbiAgb25Cb3R0b21MZWF2ZSxcbiAgb25Ub3BBcnJpdmUsXG4gIG9uVG9wTGVhdmUsXG59OiBQcm9wcykge1xuICBjb25zdCBzZXRTY3JvbGxDYXB0dXJlVGFyZ2V0ID0gdXNlU2Nyb2xsQ2FwdHVyZSh7XG4gICAgaXNFbmFibGVkOiBjYXB0dXJlRW5hYmxlZCxcbiAgICBvbkJvdHRvbUFycml2ZSxcbiAgICBvbkJvdHRvbUxlYXZlLFxuICAgIG9uVG9wQXJyaXZlLFxuICAgIG9uVG9wTGVhdmUsXG4gIH0pO1xuICBjb25zdCBzZXRTY3JvbGxMb2NrVGFyZ2V0ID0gdXNlU2Nyb2xsTG9jayh7IGlzRW5hYmxlZDogbG9ja0VuYWJsZWQgfSk7XG5cbiAgY29uc3QgdGFyZ2V0UmVmOiBSZWZDYWxsYmFjazxIVE1MRWxlbWVudD4gPSAoZWxlbWVudCkgPT4ge1xuICAgIHNldFNjcm9sbENhcHR1cmVUYXJnZXQoZWxlbWVudCk7XG4gICAgc2V0U2Nyb2xsTG9ja1RhcmdldChlbGVtZW50KTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGcmFnbWVudD5cbiAgICAgIHtsb2NrRW5hYmxlZCAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBvbkNsaWNrPXtibHVyU2VsZWN0SW5wdXR9XG4gICAgICAgICAgY3NzPXt7IHBvc2l0aW9uOiAnZml4ZWQnLCBsZWZ0OiAwLCBib3R0b206IDAsIHJpZ2h0OiAwLCB0b3A6IDAgfX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7Y2hpbGRyZW4odGFyZ2V0UmVmKX1cbiAgICA8L0ZyYWdtZW50PlxuICApO1xufVxuIl19 */", | ||
|  |   toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1 | ||
|  | }; | ||
|  | function ScrollManager(_ref) { | ||
|  |   var children = _ref.children, | ||
|  |     lockEnabled = _ref.lockEnabled, | ||
|  |     _ref$captureEnabled = _ref.captureEnabled, | ||
|  |     captureEnabled = _ref$captureEnabled === void 0 ? true : _ref$captureEnabled, | ||
|  |     onBottomArrive = _ref.onBottomArrive, | ||
|  |     onBottomLeave = _ref.onBottomLeave, | ||
|  |     onTopArrive = _ref.onTopArrive, | ||
|  |     onTopLeave = _ref.onTopLeave; | ||
|  |   var setScrollCaptureTarget = useScrollCapture({ | ||
|  |     isEnabled: captureEnabled, | ||
|  |     onBottomArrive: onBottomArrive, | ||
|  |     onBottomLeave: onBottomLeave, | ||
|  |     onTopArrive: onTopArrive, | ||
|  |     onTopLeave: onTopLeave | ||
|  |   }); | ||
|  |   var setScrollLockTarget = useScrollLock({ | ||
|  |     isEnabled: lockEnabled | ||
|  |   }); | ||
|  |   var targetRef = function targetRef(element) { | ||
|  |     setScrollCaptureTarget(element); | ||
|  |     setScrollLockTarget(element); | ||
|  |   }; | ||
|  |   return jsx(Fragment, null, lockEnabled && jsx("div", { | ||
|  |     onClick: blurSelectInput, | ||
|  |     css: _ref2$1 | ||
|  |   }), children(targetRef)); | ||
|  | } | ||
|  | 
 | ||
|  | function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } | ||
|  | var _ref2 = process.env.NODE_ENV === "production" ? { | ||
|  |   name: "1a0ro4n-requiredInput", | ||
|  |   styles: "label:requiredInput;opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;right:0;width:100%" | ||
|  | } : { | ||
|  |   name: "5kkxb2-requiredInput-RequiredInput", | ||
|  |   styles: "label:requiredInput;opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;right:0;width:100%;label:RequiredInput;", | ||
|  |   map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJlcXVpcmVkSW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFJIiwiZmlsZSI6IlJlcXVpcmVkSW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBGb2N1c0V2ZW50SGFuZGxlciwgRnVuY3Rpb25Db21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmNvbnN0IFJlcXVpcmVkSW5wdXQ6IEZ1bmN0aW9uQ29tcG9uZW50PHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBvbkZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50Pjtcbn0+ID0gKHsgbmFtZSwgb25Gb2N1cyB9KSA9PiAoXG4gIDxpbnB1dFxuICAgIHJlcXVpcmVkXG4gICAgbmFtZT17bmFtZX1cbiAgICB0YWJJbmRleD17LTF9XG4gICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICBjc3M9e3tcbiAgICAgIGxhYmVsOiAncmVxdWlyZWRJbnB1dCcsXG4gICAgICBvcGFjaXR5OiAwLFxuICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICBib3R0b206IDAsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgIH19XG4gICAgLy8gUHJldmVudCBgU3dpdGNoaW5nIGZyb20gdW5jb250cm9sbGVkIHRvIGNvbnRyb2xsZWRgIGVycm9yXG4gICAgdmFsdWU9XCJcIlxuICAgIG9uQ2hhbmdlPXsoKSA9PiB7fX1cbiAgLz5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IFJlcXVpcmVkSW5wdXQ7XG4iXX0= */", | ||
|  |   toString: _EMOTION_STRINGIFIED_CSS_ERROR__ | ||
|  | }; | ||
|  | var RequiredInput = function RequiredInput(_ref) { | ||
|  |   var name = _ref.name, | ||
|  |     onFocus = _ref.onFocus; | ||
|  |   return jsx("input", { | ||
|  |     required: true, | ||
|  |     name: name, | ||
|  |     tabIndex: -1, | ||
|  |     onFocus: onFocus, | ||
|  |     css: _ref2 | ||
|  |     // Prevent `Switching from uncontrolled to controlled` error
 | ||
|  |     , | ||
|  |     value: "", | ||
|  |     onChange: function onChange() {} | ||
|  |   }); | ||
|  | }; | ||
|  | 
 | ||
|  | var formatGroupLabel = function formatGroupLabel(group) { | ||
|  |   return group.label; | ||
|  | }; | ||
|  | var getOptionLabel$1 = function getOptionLabel(option) { | ||
|  |   return option.label; | ||
|  | }; | ||
|  | var getOptionValue$1 = function getOptionValue(option) { | ||
|  |   return option.value; | ||
|  | }; | ||
|  | var isOptionDisabled = function isOptionDisabled(option) { | ||
|  |   return !!option.isDisabled; | ||
|  | }; | ||
|  | 
 | ||
|  | var defaultStyles = { | ||
|  |   clearIndicator: clearIndicatorCSS, | ||
|  |   container: containerCSS, | ||
|  |   control: css$1, | ||
|  |   dropdownIndicator: dropdownIndicatorCSS, | ||
|  |   group: groupCSS, | ||
|  |   groupHeading: groupHeadingCSS, | ||
|  |   indicatorsContainer: indicatorsContainerCSS, | ||
|  |   indicatorSeparator: indicatorSeparatorCSS, | ||
|  |   input: inputCSS, | ||
|  |   loadingIndicator: loadingIndicatorCSS, | ||
|  |   loadingMessage: loadingMessageCSS, | ||
|  |   menu: menuCSS, | ||
|  |   menuList: menuListCSS, | ||
|  |   menuPortal: menuPortalCSS, | ||
|  |   multiValue: multiValueCSS, | ||
|  |   multiValueLabel: multiValueLabelCSS, | ||
|  |   multiValueRemove: multiValueRemoveCSS, | ||
|  |   noOptionsMessage: noOptionsMessageCSS, | ||
|  |   option: optionCSS, | ||
|  |   placeholder: placeholderCSS, | ||
|  |   singleValue: css$2, | ||
|  |   valueContainer: valueContainerCSS | ||
|  | }; | ||
|  | // Merge Utility
 | ||
|  | // Allows consumers to extend a base Select with additional styles
 | ||
|  | 
 | ||
|  | function mergeStyles(source) { | ||
|  |   var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
|  |   // initialize with source styles
 | ||
|  |   var styles = _objectSpread({}, source); | ||
|  | 
 | ||
|  |   // massage in target styles
 | ||
|  |   Object.keys(target).forEach(function (keyAsString) { | ||
|  |     var key = keyAsString; | ||
|  |     if (source[key]) { | ||
|  |       styles[key] = function (rsCss, props) { | ||
|  |         return target[key](source[key](rsCss, props), props); | ||
|  |       }; | ||
|  |     } else { | ||
|  |       styles[key] = target[key]; | ||
|  |     } | ||
|  |   }); | ||
|  |   return styles; | ||
|  | } | ||
|  | 
 | ||
|  | var colors = { | ||
|  |   primary: '#2684FF', | ||
|  |   primary75: '#4C9AFF', | ||
|  |   primary50: '#B2D4FF', | ||
|  |   primary25: '#DEEBFF', | ||
|  |   danger: '#DE350B', | ||
|  |   dangerLight: '#FFBDAD', | ||
|  |   neutral0: 'hsl(0, 0%, 100%)', | ||
|  |   neutral5: 'hsl(0, 0%, 95%)', | ||
|  |   neutral10: 'hsl(0, 0%, 90%)', | ||
|  |   neutral20: 'hsl(0, 0%, 80%)', | ||
|  |   neutral30: 'hsl(0, 0%, 70%)', | ||
|  |   neutral40: 'hsl(0, 0%, 60%)', | ||
|  |   neutral50: 'hsl(0, 0%, 50%)', | ||
|  |   neutral60: 'hsl(0, 0%, 40%)', | ||
|  |   neutral70: 'hsl(0, 0%, 30%)', | ||
|  |   neutral80: 'hsl(0, 0%, 20%)', | ||
|  |   neutral90: 'hsl(0, 0%, 10%)' | ||
|  | }; | ||
|  | var borderRadius = 4; | ||
|  | // Used to calculate consistent margin/padding on elements
 | ||
|  | var baseUnit = 4; | ||
|  | // The minimum height of the control
 | ||
|  | var controlHeight = 38; | ||
|  | // The amount of space between the control and menu */
 | ||
|  | var menuGutter = baseUnit * 2; | ||
|  | var spacing = { | ||
|  |   baseUnit: baseUnit, | ||
|  |   controlHeight: controlHeight, | ||
|  |   menuGutter: menuGutter | ||
|  | }; | ||
|  | var defaultTheme = { | ||
|  |   borderRadius: borderRadius, | ||
|  |   colors: colors, | ||
|  |   spacing: spacing | ||
|  | }; | ||
|  | 
 | ||
|  | var defaultProps = { | ||
|  |   'aria-live': 'polite', | ||
|  |   backspaceRemovesValue: true, | ||
|  |   blurInputOnSelect: isTouchCapable(), | ||
|  |   captureMenuScroll: !isTouchCapable(), | ||
|  |   classNames: {}, | ||
|  |   closeMenuOnSelect: true, | ||
|  |   closeMenuOnScroll: false, | ||
|  |   components: {}, | ||
|  |   controlShouldRenderValue: true, | ||
|  |   escapeClearsValue: false, | ||
|  |   filterOption: createFilter(), | ||
|  |   formatGroupLabel: formatGroupLabel, | ||
|  |   getOptionLabel: getOptionLabel$1, | ||
|  |   getOptionValue: getOptionValue$1, | ||
|  |   isDisabled: false, | ||
|  |   isLoading: false, | ||
|  |   isMulti: false, | ||
|  |   isRtl: false, | ||
|  |   isSearchable: true, | ||
|  |   isOptionDisabled: isOptionDisabled, | ||
|  |   loadingMessage: function loadingMessage() { | ||
|  |     return 'Loading...'; | ||
|  |   }, | ||
|  |   maxMenuHeight: 300, | ||
|  |   minMenuHeight: 140, | ||
|  |   menuIsOpen: false, | ||
|  |   menuPlacement: 'bottom', | ||
|  |   menuPosition: 'absolute', | ||
|  |   menuShouldBlockScroll: false, | ||
|  |   menuShouldScrollIntoView: !isMobileDevice(), | ||
|  |   noOptionsMessage: function noOptionsMessage() { | ||
|  |     return 'No options'; | ||
|  |   }, | ||
|  |   openMenuOnFocus: false, | ||
|  |   openMenuOnClick: true, | ||
|  |   options: [], | ||
|  |   pageSize: 5, | ||
|  |   placeholder: 'Select...', | ||
|  |   screenReaderStatus: function screenReaderStatus(_ref) { | ||
|  |     var count = _ref.count; | ||
|  |     return "".concat(count, " result").concat(count !== 1 ? 's' : '', " available"); | ||
|  |   }, | ||
|  |   styles: {}, | ||
|  |   tabIndex: 0, | ||
|  |   tabSelectsValue: true, | ||
|  |   unstyled: false | ||
|  | }; | ||
|  | function toCategorizedOption(props, option, selectValue, index) { | ||
|  |   var isDisabled = _isOptionDisabled(props, option, selectValue); | ||
|  |   var isSelected = _isOptionSelected(props, option, selectValue); | ||
|  |   var label = getOptionLabel(props, option); | ||
|  |   var value = getOptionValue(props, option); | ||
|  |   return { | ||
|  |     type: 'option', | ||
|  |     data: option, | ||
|  |     isDisabled: isDisabled, | ||
|  |     isSelected: isSelected, | ||
|  |     label: label, | ||
|  |     value: value, | ||
|  |     index: index | ||
|  |   }; | ||
|  | } | ||
|  | function buildCategorizedOptions(props, selectValue) { | ||
|  |   return props.options.map(function (groupOrOption, groupOrOptionIndex) { | ||
|  |     if ('options' in groupOrOption) { | ||
|  |       var categorizedOptions = groupOrOption.options.map(function (option, optionIndex) { | ||
|  |         return toCategorizedOption(props, option, selectValue, optionIndex); | ||
|  |       }).filter(function (categorizedOption) { | ||
|  |         return isFocusable(props, categorizedOption); | ||
|  |       }); | ||
|  |       return categorizedOptions.length > 0 ? { | ||
|  |         type: 'group', | ||
|  |         data: groupOrOption, | ||
|  |         options: categorizedOptions, | ||
|  |         index: groupOrOptionIndex | ||
|  |       } : undefined; | ||
|  |     } | ||
|  |     var categorizedOption = toCategorizedOption(props, groupOrOption, selectValue, groupOrOptionIndex); | ||
|  |     return isFocusable(props, categorizedOption) ? categorizedOption : undefined; | ||
|  |   }).filter(notNullish); | ||
|  | } | ||
|  | function buildFocusableOptionsFromCategorizedOptions(categorizedOptions) { | ||
|  |   return categorizedOptions.reduce(function (optionsAccumulator, categorizedOption) { | ||
|  |     if (categorizedOption.type === 'group') { | ||
|  |       optionsAccumulator.push.apply(optionsAccumulator, _toConsumableArray(categorizedOption.options.map(function (option) { | ||
|  |         return option.data; | ||
|  |       }))); | ||
|  |     } else { | ||
|  |       optionsAccumulator.push(categorizedOption.data); | ||
|  |     } | ||
|  |     return optionsAccumulator; | ||
|  |   }, []); | ||
|  | } | ||
|  | function buildFocusableOptions(props, selectValue) { | ||
|  |   return buildFocusableOptionsFromCategorizedOptions(buildCategorizedOptions(props, selectValue)); | ||
|  | } | ||
|  | function isFocusable(props, categorizedOption) { | ||
|  |   var _props$inputValue = props.inputValue, | ||
|  |     inputValue = _props$inputValue === void 0 ? '' : _props$inputValue; | ||
|  |   var data = categorizedOption.data, | ||
|  |     isSelected = categorizedOption.isSelected, | ||
|  |     label = categorizedOption.label, | ||
|  |     value = categorizedOption.value; | ||
|  |   return (!shouldHideSelectedOptions(props) || !isSelected) && _filterOption(props, { | ||
|  |     label: label, | ||
|  |     value: value, | ||
|  |     data: data | ||
|  |   }, inputValue); | ||
|  | } | ||
|  | function getNextFocusedValue(state, nextSelectValue) { | ||
|  |   var focusedValue = state.focusedValue, | ||
|  |     lastSelectValue = state.selectValue; | ||
|  |   var lastFocusedIndex = lastSelectValue.indexOf(focusedValue); | ||
|  |   if (lastFocusedIndex > -1) { | ||
|  |     var nextFocusedIndex = nextSelectValue.indexOf(focusedValue); | ||
|  |     if (nextFocusedIndex > -1) { | ||
|  |       // the focused value is still in the selectValue, return it
 | ||
|  |       return focusedValue; | ||
|  |     } else if (lastFocusedIndex < nextSelectValue.length) { | ||
|  |       // the focusedValue is not present in the next selectValue array by
 | ||
|  |       // reference, so return the new value at the same index
 | ||
|  |       return nextSelectValue[lastFocusedIndex]; | ||
|  |     } | ||
|  |   } | ||
|  |   return null; | ||
|  | } | ||
|  | function getNextFocusedOption(state, options) { | ||
|  |   var lastFocusedOption = state.focusedOption; | ||
|  |   return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0]; | ||
|  | } | ||
|  | var getOptionLabel = function getOptionLabel(props, data) { | ||
|  |   return props.getOptionLabel(data); | ||
|  | }; | ||
|  | var getOptionValue = function getOptionValue(props, data) { | ||
|  |   return props.getOptionValue(data); | ||
|  | }; | ||
|  | function _isOptionDisabled(props, option, selectValue) { | ||
|  |   return typeof props.isOptionDisabled === 'function' ? props.isOptionDisabled(option, selectValue) : false; | ||
|  | } | ||
|  | function _isOptionSelected(props, option, selectValue) { | ||
|  |   if (selectValue.indexOf(option) > -1) return true; | ||
|  |   if (typeof props.isOptionSelected === 'function') { | ||
|  |     return props.isOptionSelected(option, selectValue); | ||
|  |   } | ||
|  |   var candidate = getOptionValue(props, option); | ||
|  |   return selectValue.some(function (i) { | ||
|  |     return getOptionValue(props, i) === candidate; | ||
|  |   }); | ||
|  | } | ||
|  | function _filterOption(props, option, inputValue) { | ||
|  |   return props.filterOption ? props.filterOption(option, inputValue) : true; | ||
|  | } | ||
|  | var shouldHideSelectedOptions = function shouldHideSelectedOptions(props) { | ||
|  |   var hideSelectedOptions = props.hideSelectedOptions, | ||
|  |     isMulti = props.isMulti; | ||
|  |   if (hideSelectedOptions === undefined) return isMulti; | ||
|  |   return hideSelectedOptions; | ||
|  | }; | ||
|  | var instanceId = 1; | ||
|  | var Select = /*#__PURE__*/function (_Component) { | ||
|  |   _inherits(Select, _Component); | ||
|  |   var _super = _createSuper(Select); | ||
|  |   // Misc. Instance Properties
 | ||
|  |   // ------------------------------
 | ||
|  | 
 | ||
|  |   // TODO
 | ||
|  | 
 | ||
|  |   // Refs
 | ||
|  |   // ------------------------------
 | ||
|  | 
 | ||
|  |   // Lifecycle
 | ||
|  |   // ------------------------------
 | ||
|  | 
 | ||
|  |   function Select(_props) { | ||
|  |     var _this; | ||
|  |     _classCallCheck(this, Select); | ||
|  |     _this = _super.call(this, _props); | ||
|  |     _this.state = { | ||
|  |       ariaSelection: null, | ||
|  |       focusedOption: null, | ||
|  |       focusedValue: null, | ||
|  |       inputIsHidden: false, | ||
|  |       isFocused: false, | ||
|  |       selectValue: [], | ||
|  |       clearFocusValueOnUpdate: false, | ||
|  |       prevWasFocused: false, | ||
|  |       inputIsHiddenAfterUpdate: undefined, | ||
|  |       prevProps: undefined | ||
|  |     }; | ||
|  |     _this.blockOptionHover = false; | ||
|  |     _this.isComposing = false; | ||
|  |     _this.commonProps = void 0; | ||
|  |     _this.initialTouchX = 0; | ||
|  |     _this.initialTouchY = 0; | ||
|  |     _this.instancePrefix = ''; | ||
|  |     _this.openAfterFocus = false; | ||
|  |     _this.scrollToFocusedOptionOnUpdate = false; | ||
|  |     _this.userIsDragging = void 0; | ||
|  |     _this.controlRef = null; | ||
|  |     _this.getControlRef = function (ref) { | ||
|  |       _this.controlRef = ref; | ||
|  |     }; | ||
|  |     _this.focusedOptionRef = null; | ||
|  |     _this.getFocusedOptionRef = function (ref) { | ||
|  |       _this.focusedOptionRef = ref; | ||
|  |     }; | ||
|  |     _this.menuListRef = null; | ||
|  |     _this.getMenuListRef = function (ref) { | ||
|  |       _this.menuListRef = ref; | ||
|  |     }; | ||
|  |     _this.inputRef = null; | ||
|  |     _this.getInputRef = function (ref) { | ||
|  |       _this.inputRef = ref; | ||
|  |     }; | ||
|  |     _this.focus = _this.focusInput; | ||
|  |     _this.blur = _this.blurInput; | ||
|  |     _this.onChange = function (newValue, actionMeta) { | ||
|  |       var _this$props = _this.props, | ||
|  |         onChange = _this$props.onChange, | ||
|  |         name = _this$props.name; | ||
|  |       actionMeta.name = name; | ||
|  |       _this.ariaOnChange(newValue, actionMeta); | ||
|  |       onChange(newValue, actionMeta); | ||
|  |     }; | ||
|  |     _this.setValue = function (newValue, action, option) { | ||
|  |       var _this$props2 = _this.props, | ||
|  |         closeMenuOnSelect = _this$props2.closeMenuOnSelect, | ||
|  |         isMulti = _this$props2.isMulti, | ||
|  |         inputValue = _this$props2.inputValue; | ||
|  |       _this.onInputChange('', { | ||
|  |         action: 'set-value', | ||
|  |         prevInputValue: inputValue | ||
|  |       }); | ||
|  |       if (closeMenuOnSelect) { | ||
|  |         _this.setState({ | ||
|  |           inputIsHiddenAfterUpdate: !isMulti | ||
|  |         }); | ||
|  |         _this.onMenuClose(); | ||
|  |       } | ||
|  |       // when the select value should change, we should reset focusedValue
 | ||
|  |       _this.setState({ | ||
|  |         clearFocusValueOnUpdate: true | ||
|  |       }); | ||
|  |       _this.onChange(newValue, { | ||
|  |         action: action, | ||
|  |         option: option | ||
|  |       }); | ||
|  |     }; | ||
|  |     _this.selectOption = function (newValue) { | ||
|  |       var _this$props3 = _this.props, | ||
|  |         blurInputOnSelect = _this$props3.blurInputOnSelect, | ||
|  |         isMulti = _this$props3.isMulti, | ||
|  |         name = _this$props3.name; | ||
|  |       var selectValue = _this.state.selectValue; | ||
|  |       var deselected = isMulti && _this.isOptionSelected(newValue, selectValue); | ||
|  |       var isDisabled = _this.isOptionDisabled(newValue, selectValue); | ||
|  |       if (deselected) { | ||
|  |         var candidate = _this.getOptionValue(newValue); | ||
|  |         _this.setValue(multiValueAsValue(selectValue.filter(function (i) { | ||
|  |           return _this.getOptionValue(i) !== candidate; | ||
|  |         })), 'deselect-option', newValue); | ||
|  |       } else if (!isDisabled) { | ||
|  |         // Select option if option is not disabled
 | ||
|  |         if (isMulti) { | ||
|  |           _this.setValue(multiValueAsValue([].concat(_toConsumableArray(selectValue), [newValue])), 'select-option', newValue); | ||
|  |         } else { | ||
|  |           _this.setValue(singleValueAsValue(newValue), 'select-option'); | ||
|  |         } | ||
|  |       } else { | ||
|  |         _this.ariaOnChange(singleValueAsValue(newValue), { | ||
|  |           action: 'select-option', | ||
|  |           option: newValue, | ||
|  |           name: name | ||
|  |         }); | ||
|  |         return; | ||
|  |       } | ||
|  |       if (blurInputOnSelect) { | ||
|  |         _this.blurInput(); | ||
|  |       } | ||
|  |     }; | ||
|  |     _this.removeValue = function (removedValue) { | ||
|  |       var isMulti = _this.props.isMulti; | ||
|  |       var selectValue = _this.state.selectValue; | ||
|  |       var candidate = _this.getOptionValue(removedValue); | ||
|  |       var newValueArray = selectValue.filter(function (i) { | ||
|  |         return _this.getOptionValue(i) !== candidate; | ||
|  |       }); | ||
|  |       var newValue = valueTernary(isMulti, newValueArray, newValueArray[0] || null); | ||
|  |       _this.onChange(newValue, { | ||
|  |         action: 'remove-value', | ||
|  |         removedValue: removedValue | ||
|  |       }); | ||
|  |       _this.focusInput(); | ||
|  |     }; | ||
|  |     _this.clearValue = function () { | ||
|  |       var selectValue = _this.state.selectValue; | ||
|  |       _this.onChange(valueTernary(_this.props.isMulti, [], null), { | ||
|  |         action: 'clear', | ||
|  |         removedValues: selectValue | ||
|  |       }); | ||
|  |     }; | ||
|  |     _this.popValue = function () { | ||
|  |       var isMulti = _this.props.isMulti; | ||
|  |       var selectValue = _this.state.selectValue; | ||
|  |       var lastSelectedValue = selectValue[selectValue.length - 1]; | ||
|  |       var newValueArray = selectValue.slice(0, selectValue.length - 1); | ||
|  |       var newValue = valueTernary(isMulti, newValueArray, newValueArray[0] || null); | ||
|  |       _this.onChange(newValue, { | ||
|  |         action: 'pop-value', | ||
|  |         removedValue: lastSelectedValue | ||
|  |       }); | ||
|  |     }; | ||
|  |     _this.getValue = function () { | ||
|  |       return _this.state.selectValue; | ||
|  |     }; | ||
|  |     _this.cx = function () { | ||
|  |       for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
|  |         args[_key] = arguments[_key]; | ||
|  |       } | ||
|  |       return classNames.apply(void 0, [_this.props.classNamePrefix].concat(args)); | ||
|  |     }; | ||
|  |     _this.getOptionLabel = function (data) { | ||
|  |       return getOptionLabel(_this.props, data); | ||
|  |     }; | ||
|  |     _this.getOptionValue = function (data) { | ||
|  |       return getOptionValue(_this.props, data); | ||
|  |     }; | ||
|  |     _this.getStyles = function (key, props) { | ||
|  |       var unstyled = _this.props.unstyled; | ||
|  |       var base = defaultStyles[key](props, unstyled); | ||
|  |       base.boxSizing = 'border-box'; | ||
|  |       var custom = _this.props.styles[key]; | ||
|  |       return custom ? custom(base, props) : base; | ||
|  |     }; | ||
|  |     _this.getClassNames = function (key, props) { | ||
|  |       var _this$props$className, _this$props$className2; | ||
|  |       return (_this$props$className = (_this$props$className2 = _this.props.classNames)[key]) === null || _this$props$className === void 0 ? void 0 : _this$props$className.call(_this$props$className2, props); | ||
|  |     }; | ||
|  |     _this.getElementId = function (element) { | ||
|  |       return "".concat(_this.instancePrefix, "-").concat(element); | ||
|  |     }; | ||
|  |     _this.getComponents = function () { | ||
|  |       return defaultComponents(_this.props); | ||
|  |     }; | ||
|  |     _this.buildCategorizedOptions = function () { | ||
|  |       return buildCategorizedOptions(_this.props, _this.state.selectValue); | ||
|  |     }; | ||
|  |     _this.getCategorizedOptions = function () { | ||
|  |       return _this.props.menuIsOpen ? _this.buildCategorizedOptions() : []; | ||
|  |     }; | ||
|  |     _this.buildFocusableOptions = function () { | ||
|  |       return buildFocusableOptionsFromCategorizedOptions(_this.buildCategorizedOptions()); | ||
|  |     }; | ||
|  |     _this.getFocusableOptions = function () { | ||
|  |       return _this.props.menuIsOpen ? _this.buildFocusableOptions() : []; | ||
|  |     }; | ||
|  |     _this.ariaOnChange = function (value, actionMeta) { | ||
|  |       _this.setState({ | ||
|  |         ariaSelection: _objectSpread({ | ||
|  |           value: value | ||
|  |         }, actionMeta) | ||
|  |       }); | ||
|  |     }; | ||
|  |     _this.onMenuMouseDown = function (event) { | ||
|  |       if (event.button !== 0) { | ||
|  |         return; | ||
|  |       } | ||
|  |       event.stopPropagation(); | ||
|  |       event.preventDefault(); | ||
|  |       _this.focusInput(); | ||
|  |     }; | ||
|  |     _this.onMenuMouseMove = function (event) { | ||
|  |       _this.blockOptionHover = false; | ||
|  |     }; | ||
|  |     _this.onControlMouseDown = function (event) { | ||
|  |       // Event captured by dropdown indicator
 | ||
|  |       if (event.defaultPrevented) { | ||
|  |         return; | ||
|  |       } | ||
|  |       var openMenuOnClick = _this.props.openMenuOnClick; | ||
|  |       if (!_this.state.isFocused) { | ||
|  |         if (openMenuOnClick) { | ||
|  |           _this.openAfterFocus = true; | ||
|  |         } | ||
|  |         _this.focusInput(); | ||
|  |       } else if (!_this.props.menuIsOpen) { | ||
|  |         if (openMenuOnClick) { | ||
|  |           _this.openMenu('first'); | ||
|  |         } | ||
|  |       } else { | ||
|  |         if (event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') { | ||
|  |           _this.onMenuClose(); | ||
|  |         } | ||
|  |       } | ||
|  |       if (event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') { | ||
|  |         event.preventDefault(); | ||
|  |       } | ||
|  |     }; | ||
|  |     _this.onDropdownIndicatorMouseDown = function (event) { | ||
|  |       // ignore mouse events that weren't triggered by the primary button
 | ||
|  |       if (event && event.type === 'mousedown' && event.button !== 0) { | ||
|  |         return; | ||
|  |       } | ||
|  |       if (_this.props.isDisabled) return; | ||
|  |       var _this$props4 = _this.props, | ||
|  |         isMulti = _this$props4.isMulti, | ||
|  |         menuIsOpen = _this$props4.menuIsOpen; | ||
|  |       _this.focusInput(); | ||
|  |       if (menuIsOpen) { | ||
|  |         _this.setState({ | ||
|  |           inputIsHiddenAfterUpdate: !isMulti | ||
|  |         }); | ||
|  |         _this.onMenuClose(); | ||
|  |       } else { | ||
|  |         _this.openMenu('first'); | ||
|  |       } | ||
|  |       event.preventDefault(); | ||
|  |     }; | ||
|  |     _this.onClearIndicatorMouseDown = function (event) { | ||
|  |       // ignore mouse events that weren't triggered by the primary button
 | ||
|  |       if (event && event.type === 'mousedown' && event.button !== 0) { | ||
|  |         return; | ||
|  |       } | ||
|  |       _this.clearValue(); | ||
|  |       event.preventDefault(); | ||
|  |       _this.openAfterFocus = false; | ||
|  |       if (event.type === 'touchend') { | ||
|  |         _this.focusInput(); | ||
|  |       } else { | ||
|  |         setTimeout(function () { | ||
|  |           return _this.focusInput(); | ||
|  |         }); | ||
|  |       } | ||
|  |     }; | ||
|  |     _this.onScroll = function (event) { | ||
|  |       if (typeof _this.props.closeMenuOnScroll === 'boolean') { | ||
|  |         if (event.target instanceof HTMLElement && isDocumentElement(event.target)) { | ||
|  |           _this.props.onMenuClose(); | ||
|  |         } | ||
|  |       } else if (typeof _this.props.closeMenuOnScroll === 'function') { | ||
|  |         if (_this.props.closeMenuOnScroll(event)) { | ||
|  |           _this.props.onMenuClose(); | ||
|  |         } | ||
|  |       } | ||
|  |     }; | ||
|  |     _this.onCompositionStart = function () { | ||
|  |       _this.isComposing = true; | ||
|  |     }; | ||
|  |     _this.onCompositionEnd = function () { | ||
|  |       _this.isComposing = false; | ||
|  |     }; | ||
|  |     _this.onTouchStart = function (_ref2) { | ||
|  |       var touches = _ref2.touches; | ||
|  |       var touch = touches && touches.item(0); | ||
|  |       if (!touch) { | ||
|  |         return; | ||
|  |       } | ||
|  |       _this.initialTouchX = touch.clientX; | ||
|  |       _this.initialTouchY = touch.clientY; | ||
|  |       _this.userIsDragging = false; | ||
|  |     }; | ||
|  |     _this.onTouchMove = function (_ref3) { | ||
|  |       var touches = _ref3.touches; | ||
|  |       var touch = touches && touches.item(0); | ||
|  |       if (!touch) { | ||
|  |         return; | ||
|  |       } | ||
|  |       var deltaX = Math.abs(touch.clientX - _this.initialTouchX); | ||
|  |       var deltaY = Math.abs(touch.clientY - _this.initialTouchY); | ||
|  |       var moveThreshold = 5; | ||
|  |       _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold; | ||
|  |     }; | ||
|  |     _this.onTouchEnd = function (event) { | ||
|  |       if (_this.userIsDragging) return; | ||
|  | 
 | ||
|  |       // close the menu if the user taps outside
 | ||
|  |       // we're checking on event.target here instead of event.currentTarget, because we want to assert information
 | ||
|  |       // on events on child elements, not the document (which we've attached this handler to).
 | ||
|  |       if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) { | ||
|  |         _this.blurInput(); | ||
|  |       } | ||
|  | 
 | ||
|  |       // reset move vars
 | ||
|  |       _this.initialTouchX = 0; | ||
|  |       _this.initialTouchY = 0; | ||
|  |     }; | ||
|  |     _this.onControlTouchEnd = function (event) { | ||
|  |       if (_this.userIsDragging) return; | ||
|  |       _this.onControlMouseDown(event); | ||
|  |     }; | ||
|  |     _this.onClearIndicatorTouchEnd = function (event) { | ||
|  |       if (_this.userIsDragging) return; | ||
|  |       _this.onClearIndicatorMouseDown(event); | ||
|  |     }; | ||
|  |     _this.onDropdownIndicatorTouchEnd = function (event) { | ||
|  |       if (_this.userIsDragging) return; | ||
|  |       _this.onDropdownIndicatorMouseDown(event); | ||
|  |     }; | ||
|  |     _this.handleInputChange = function (event) { | ||
|  |       var prevInputValue = _this.props.inputValue; | ||
|  |       var inputValue = event.currentTarget.value; | ||
|  |       _this.setState({ | ||
|  |         inputIsHiddenAfterUpdate: false | ||
|  |       }); | ||
|  |       _this.onInputChange(inputValue, { | ||
|  |         action: 'input-change', | ||
|  |         prevInputValue: prevInputValue | ||
|  |       }); | ||
|  |       if (!_this.props.menuIsOpen) { | ||
|  |         _this.onMenuOpen(); | ||
|  |       } | ||
|  |     }; | ||
|  |     _this.onInputFocus = function (event) { | ||
|  |       if (_this.props.onFocus) { | ||
|  |         _this.props.onFocus(event); | ||
|  |       } | ||
|  |       _this.setState({ | ||
|  |         inputIsHiddenAfterUpdate: false, | ||
|  |         isFocused: true | ||
|  |       }); | ||
|  |       if (_this.openAfterFocus || _this.props.openMenuOnFocus) { | ||
|  |         _this.openMenu('first'); | ||
|  |       } | ||
|  |       _this.openAfterFocus = false; | ||
|  |     }; | ||
|  |     _this.onInputBlur = function (event) { | ||
|  |       var prevInputValue = _this.props.inputValue; | ||
|  |       if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) { | ||
|  |         _this.inputRef.focus(); | ||
|  |         return; | ||
|  |       } | ||
|  |       if (_this.props.onBlur) { | ||
|  |         _this.props.onBlur(event); | ||
|  |       } | ||
|  |       _this.onInputChange('', { | ||
|  |         action: 'input-blur', | ||
|  |         prevInputValue: prevInputValue | ||
|  |       }); | ||
|  |       _this.onMenuClose(); | ||
|  |       _this.setState({ | ||
|  |         focusedValue: null, | ||
|  |         isFocused: false | ||
|  |       }); | ||
|  |     }; | ||
|  |     _this.onOptionHover = function (focusedOption) { | ||
|  |       if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) { | ||
|  |         return; | ||
|  |       } | ||
|  |       _this.setState({ | ||
|  |         focusedOption: focusedOption | ||
|  |       }); | ||
|  |     }; | ||
|  |     _this.shouldHideSelectedOptions = function () { | ||
|  |       return shouldHideSelectedOptions(_this.props); | ||
|  |     }; | ||
|  |     _this.onValueInputFocus = function (e) { | ||
|  |       e.preventDefault(); | ||
|  |       e.stopPropagation(); | ||
|  |       _this.focus(); | ||
|  |     }; | ||
|  |     _this.onKeyDown = function (event) { | ||
|  |       var _this$props5 = _this.props, | ||
|  |         isMulti = _this$props5.isMulti, | ||
|  |         backspaceRemovesValue = _this$props5.backspaceRemovesValue, | ||
|  |         escapeClearsValue = _this$props5.escapeClearsValue, | ||
|  |         inputValue = _this$props5.inputValue, | ||
|  |         isClearable = _this$props5.isClearable, | ||
|  |         isDisabled = _this$props5.isDisabled, | ||
|  |         menuIsOpen = _this$props5.menuIsOpen, | ||
|  |         onKeyDown = _this$props5.onKeyDown, | ||
|  |         tabSelectsValue = _this$props5.tabSelectsValue, | ||
|  |         openMenuOnFocus = _this$props5.openMenuOnFocus; | ||
|  |       var _this$state = _this.state, | ||
|  |         focusedOption = _this$state.focusedOption, | ||
|  |         focusedValue = _this$state.focusedValue, | ||
|  |         selectValue = _this$state.selectValue; | ||
|  |       if (isDisabled) return; | ||
|  |       if (typeof onKeyDown === 'function') { | ||
|  |         onKeyDown(event); | ||
|  |         if (event.defaultPrevented) { | ||
|  |           return; | ||
|  |         } | ||
|  |       } | ||
|  | 
 | ||
|  |       // Block option hover events when the user has just pressed a key
 | ||
|  |       _this.blockOptionHover = true; | ||
|  |       switch (event.key) { | ||
|  |         case 'ArrowLeft': | ||
|  |           if (!isMulti || inputValue) return; | ||
|  |           _this.focusValue('previous'); | ||
|  |           break; | ||
|  |         case 'ArrowRight': | ||
|  |           if (!isMulti || inputValue) return; | ||
|  |           _this.focusValue('next'); | ||
|  |           break; | ||
|  |         case 'Delete': | ||
|  |         case 'Backspace': | ||
|  |           if (inputValue) return; | ||
|  |           if (focusedValue) { | ||
|  |             _this.removeValue(focusedValue); | ||
|  |           } else { | ||
|  |             if (!backspaceRemovesValue) return; | ||
|  |             if (isMulti) { | ||
|  |               _this.popValue(); | ||
|  |             } else if (isClearable) { | ||
|  |               _this.clearValue(); | ||
|  |             } | ||
|  |           } | ||
|  |           break; | ||
|  |         case 'Tab': | ||
|  |           if (_this.isComposing) return; | ||
|  |           if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || | ||
|  |           // don't capture the event if the menu opens on focus and the focused
 | ||
|  |           // option is already selected; it breaks the flow of navigation
 | ||
|  |           openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) { | ||
|  |             return; | ||
|  |           } | ||
|  |           _this.selectOption(focusedOption); | ||
|  |           break; | ||
|  |         case 'Enter': | ||
|  |           if (event.keyCode === 229) { | ||
|  |             // ignore the keydown event from an Input Method Editor(IME)
 | ||
|  |             // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode
 | ||
|  |             break; | ||
|  |           } | ||
|  |           if (menuIsOpen) { | ||
|  |             if (!focusedOption) return; | ||
|  |             if (_this.isComposing) return; | ||
|  |             _this.selectOption(focusedOption); | ||
|  |             break; | ||
|  |           } | ||
|  |           return; | ||
|  |         case 'Escape': | ||
|  |           if (menuIsOpen) { | ||
|  |             _this.setState({ | ||
|  |               inputIsHiddenAfterUpdate: false | ||
|  |             }); | ||
|  |             _this.onInputChange('', { | ||
|  |               action: 'menu-close', | ||
|  |               prevInputValue: inputValue | ||
|  |             }); | ||
|  |             _this.onMenuClose(); | ||
|  |           } else if (isClearable && escapeClearsValue) { | ||
|  |             _this.clearValue(); | ||
|  |           } | ||
|  |           break; | ||
|  |         case ' ': | ||
|  |           // space
 | ||
|  |           if (inputValue) { | ||
|  |             return; | ||
|  |           } | ||
|  |           if (!menuIsOpen) { | ||
|  |             _this.openMenu('first'); | ||
|  |             break; | ||
|  |           } | ||
|  |           if (!focusedOption) return; | ||
|  |           _this.selectOption(focusedOption); | ||
|  |           break; | ||
|  |         case 'ArrowUp': | ||
|  |           if (menuIsOpen) { | ||
|  |             _this.focusOption('up'); | ||
|  |           } else { | ||
|  |             _this.openMenu('last'); | ||
|  |           } | ||
|  |           break; | ||
|  |         case 'ArrowDown': | ||
|  |           if (menuIsOpen) { | ||
|  |             _this.focusOption('down'); | ||
|  |           } else { | ||
|  |             _this.openMenu('first'); | ||
|  |           } | ||
|  |           break; | ||
|  |         case 'PageUp': | ||
|  |           if (!menuIsOpen) return; | ||
|  |           _this.focusOption('pageup'); | ||
|  |           break; | ||
|  |         case 'PageDown': | ||
|  |           if (!menuIsOpen) return; | ||
|  |           _this.focusOption('pagedown'); | ||
|  |           break; | ||
|  |         case 'Home': | ||
|  |           if (!menuIsOpen) return; | ||
|  |           _this.focusOption('first'); | ||
|  |           break; | ||
|  |         case 'End': | ||
|  |           if (!menuIsOpen) return; | ||
|  |           _this.focusOption('last'); | ||
|  |           break; | ||
|  |         default: | ||
|  |           return; | ||
|  |       } | ||
|  |       event.preventDefault(); | ||
|  |     }; | ||
|  |     _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId); | ||
|  |     _this.state.selectValue = cleanValue(_props.value); | ||
|  | 
 | ||
|  |     // Set focusedOption if menuIsOpen is set on init (e.g. defaultMenuIsOpen)
 | ||
|  |     if (_props.menuIsOpen && _this.state.selectValue.length) { | ||
|  |       var focusableOptions = _this.buildFocusableOptions(); | ||
|  |       var optionIndex = focusableOptions.indexOf(_this.state.selectValue[0]); | ||
|  |       _this.state.focusedOption = focusableOptions[optionIndex]; | ||
|  |     } | ||
|  |     return _this; | ||
|  |   } | ||
|  |   _createClass(Select, [{ | ||
|  |     key: "componentDidMount", | ||
|  |     value: function componentDidMount() { | ||
|  |       this.startListeningComposition(); | ||
|  |       this.startListeningToTouch(); | ||
|  |       if (this.props.closeMenuOnScroll && document && document.addEventListener) { | ||
|  |         // Listen to all scroll events, and filter them out inside of 'onScroll'
 | ||
|  |         document.addEventListener('scroll', this.onScroll, true); | ||
|  |       } | ||
|  |       if (this.props.autoFocus) { | ||
|  |         this.focusInput(); | ||
|  |       } | ||
|  | 
 | ||
|  |       // Scroll focusedOption into view if menuIsOpen is set on mount (e.g. defaultMenuIsOpen)
 | ||
|  |       if (this.props.menuIsOpen && this.state.focusedOption && this.menuListRef && this.focusedOptionRef) { | ||
|  |         scrollIntoView(this.menuListRef, this.focusedOptionRef); | ||
|  |       } | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "componentDidUpdate", | ||
|  |     value: function componentDidUpdate(prevProps) { | ||
|  |       var _this$props6 = this.props, | ||
|  |         isDisabled = _this$props6.isDisabled, | ||
|  |         menuIsOpen = _this$props6.menuIsOpen; | ||
|  |       var isFocused = this.state.isFocused; | ||
|  |       if ( | ||
|  |       // ensure focus is restored correctly when the control becomes enabled
 | ||
|  |       isFocused && !isDisabled && prevProps.isDisabled || | ||
|  |       // ensure focus is on the Input when the menu opens
 | ||
|  |       isFocused && menuIsOpen && !prevProps.menuIsOpen) { | ||
|  |         this.focusInput(); | ||
|  |       } | ||
|  |       if (isFocused && isDisabled && !prevProps.isDisabled) { | ||
|  |         // ensure select state gets blurred in case Select is programmatically disabled while focused
 | ||
|  |         // eslint-disable-next-line react/no-did-update-set-state
 | ||
|  |         this.setState({ | ||
|  |           isFocused: false | ||
|  |         }, this.onMenuClose); | ||
|  |       } else if (!isFocused && !isDisabled && prevProps.isDisabled && this.inputRef === document.activeElement) { | ||
|  |         // ensure select state gets focused in case Select is programatically re-enabled while focused (Firefox)
 | ||
|  |         // eslint-disable-next-line react/no-did-update-set-state
 | ||
|  |         this.setState({ | ||
|  |           isFocused: true | ||
|  |         }); | ||
|  |       } | ||
|  | 
 | ||
|  |       // scroll the focused option into view if necessary
 | ||
|  |       if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) { | ||
|  |         scrollIntoView(this.menuListRef, this.focusedOptionRef); | ||
|  |         this.scrollToFocusedOptionOnUpdate = false; | ||
|  |       } | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "componentWillUnmount", | ||
|  |     value: function componentWillUnmount() { | ||
|  |       this.stopListeningComposition(); | ||
|  |       this.stopListeningToTouch(); | ||
|  |       document.removeEventListener('scroll', this.onScroll, true); | ||
|  |     } | ||
|  | 
 | ||
|  |     // ==============================
 | ||
|  |     // Consumer Handlers
 | ||
|  |     // ==============================
 | ||
|  |   }, { | ||
|  |     key: "onMenuOpen", | ||
|  |     value: function onMenuOpen() { | ||
|  |       this.props.onMenuOpen(); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "onMenuClose", | ||
|  |     value: function onMenuClose() { | ||
|  |       this.onInputChange('', { | ||
|  |         action: 'menu-close', | ||
|  |         prevInputValue: this.props.inputValue | ||
|  |       }); | ||
|  |       this.props.onMenuClose(); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "onInputChange", | ||
|  |     value: function onInputChange(newValue, actionMeta) { | ||
|  |       this.props.onInputChange(newValue, actionMeta); | ||
|  |     } | ||
|  | 
 | ||
|  |     // ==============================
 | ||
|  |     // Methods
 | ||
|  |     // ==============================
 | ||
|  |   }, { | ||
|  |     key: "focusInput", | ||
|  |     value: function focusInput() { | ||
|  |       if (!this.inputRef) return; | ||
|  |       this.inputRef.focus(); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "blurInput", | ||
|  |     value: function blurInput() { | ||
|  |       if (!this.inputRef) return; | ||
|  |       this.inputRef.blur(); | ||
|  |     } | ||
|  | 
 | ||
|  |     // aliased for consumers
 | ||
|  |   }, { | ||
|  |     key: "openMenu", | ||
|  |     value: function openMenu(focusOption) { | ||
|  |       var _this2 = this; | ||
|  |       var _this$state2 = this.state, | ||
|  |         selectValue = _this$state2.selectValue, | ||
|  |         isFocused = _this$state2.isFocused; | ||
|  |       var focusableOptions = this.buildFocusableOptions(); | ||
|  |       var openAtIndex = focusOption === 'first' ? 0 : focusableOptions.length - 1; | ||
|  |       if (!this.props.isMulti) { | ||
|  |         var selectedIndex = focusableOptions.indexOf(selectValue[0]); | ||
|  |         if (selectedIndex > -1) { | ||
|  |           openAtIndex = selectedIndex; | ||
|  |         } | ||
|  |       } | ||
|  | 
 | ||
|  |       // only scroll if the menu isn't already open
 | ||
|  |       this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef); | ||
|  |       this.setState({ | ||
|  |         inputIsHiddenAfterUpdate: false, | ||
|  |         focusedValue: null, | ||
|  |         focusedOption: focusableOptions[openAtIndex] | ||
|  |       }, function () { | ||
|  |         return _this2.onMenuOpen(); | ||
|  |       }); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "focusValue", | ||
|  |     value: function focusValue(direction) { | ||
|  |       var _this$state3 = this.state, | ||
|  |         selectValue = _this$state3.selectValue, | ||
|  |         focusedValue = _this$state3.focusedValue; | ||
|  | 
 | ||
|  |       // Only multiselects support value focusing
 | ||
|  |       if (!this.props.isMulti) return; | ||
|  |       this.setState({ | ||
|  |         focusedOption: null | ||
|  |       }); | ||
|  |       var focusedIndex = selectValue.indexOf(focusedValue); | ||
|  |       if (!focusedValue) { | ||
|  |         focusedIndex = -1; | ||
|  |       } | ||
|  |       var lastIndex = selectValue.length - 1; | ||
|  |       var nextFocus = -1; | ||
|  |       if (!selectValue.length) return; | ||
|  |       switch (direction) { | ||
|  |         case 'previous': | ||
|  |           if (focusedIndex === 0) { | ||
|  |             // don't cycle from the start to the end
 | ||
|  |             nextFocus = 0; | ||
|  |           } else if (focusedIndex === -1) { | ||
|  |             // if nothing is focused, focus the last value first
 | ||
|  |             nextFocus = lastIndex; | ||
|  |           } else { | ||
|  |             nextFocus = focusedIndex - 1; | ||
|  |           } | ||
|  |           break; | ||
|  |         case 'next': | ||
|  |           if (focusedIndex > -1 && focusedIndex < lastIndex) { | ||
|  |             nextFocus = focusedIndex + 1; | ||
|  |           } | ||
|  |           break; | ||
|  |       } | ||
|  |       this.setState({ | ||
|  |         inputIsHidden: nextFocus !== -1, | ||
|  |         focusedValue: selectValue[nextFocus] | ||
|  |       }); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "focusOption", | ||
|  |     value: function focusOption() { | ||
|  |       var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first'; | ||
|  |       var pageSize = this.props.pageSize; | ||
|  |       var focusedOption = this.state.focusedOption; | ||
|  |       var options = this.getFocusableOptions(); | ||
|  |       if (!options.length) return; | ||
|  |       var nextFocus = 0; // handles 'first'
 | ||
|  |       var focusedIndex = options.indexOf(focusedOption); | ||
|  |       if (!focusedOption) { | ||
|  |         focusedIndex = -1; | ||
|  |       } | ||
|  |       if (direction === 'up') { | ||
|  |         nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1; | ||
|  |       } else if (direction === 'down') { | ||
|  |         nextFocus = (focusedIndex + 1) % options.length; | ||
|  |       } else if (direction === 'pageup') { | ||
|  |         nextFocus = focusedIndex - pageSize; | ||
|  |         if (nextFocus < 0) nextFocus = 0; | ||
|  |       } else if (direction === 'pagedown') { | ||
|  |         nextFocus = focusedIndex + pageSize; | ||
|  |         if (nextFocus > options.length - 1) nextFocus = options.length - 1; | ||
|  |       } else if (direction === 'last') { | ||
|  |         nextFocus = options.length - 1; | ||
|  |       } | ||
|  |       this.scrollToFocusedOptionOnUpdate = true; | ||
|  |       this.setState({ | ||
|  |         focusedOption: options[nextFocus], | ||
|  |         focusedValue: null | ||
|  |       }); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "getTheme", | ||
|  |     value: | ||
|  |     // ==============================
 | ||
|  |     // Getters
 | ||
|  |     // ==============================
 | ||
|  | 
 | ||
|  |     function getTheme() { | ||
|  |       // Use the default theme if there are no customisations.
 | ||
|  |       if (!this.props.theme) { | ||
|  |         return defaultTheme; | ||
|  |       } | ||
|  |       // If the theme prop is a function, assume the function
 | ||
|  |       // knows how to merge the passed-in default theme with
 | ||
|  |       // its own modifications.
 | ||
|  |       if (typeof this.props.theme === 'function') { | ||
|  |         return this.props.theme(defaultTheme); | ||
|  |       } | ||
|  |       // Otherwise, if a plain theme object was passed in,
 | ||
|  |       // overlay it with the default theme.
 | ||
|  |       return _objectSpread(_objectSpread({}, defaultTheme), this.props.theme); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "getCommonProps", | ||
|  |     value: function getCommonProps() { | ||
|  |       var clearValue = this.clearValue, | ||
|  |         cx = this.cx, | ||
|  |         getStyles = this.getStyles, | ||
|  |         getClassNames = this.getClassNames, | ||
|  |         getValue = this.getValue, | ||
|  |         selectOption = this.selectOption, | ||
|  |         setValue = this.setValue, | ||
|  |         props = this.props; | ||
|  |       var isMulti = props.isMulti, | ||
|  |         isRtl = props.isRtl, | ||
|  |         options = props.options; | ||
|  |       var hasValue = this.hasValue(); | ||
|  |       return { | ||
|  |         clearValue: clearValue, | ||
|  |         cx: cx, | ||
|  |         getStyles: getStyles, | ||
|  |         getClassNames: getClassNames, | ||
|  |         getValue: getValue, | ||
|  |         hasValue: hasValue, | ||
|  |         isMulti: isMulti, | ||
|  |         isRtl: isRtl, | ||
|  |         options: options, | ||
|  |         selectOption: selectOption, | ||
|  |         selectProps: props, | ||
|  |         setValue: setValue, | ||
|  |         theme: this.getTheme() | ||
|  |       }; | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "hasValue", | ||
|  |     value: function hasValue() { | ||
|  |       var selectValue = this.state.selectValue; | ||
|  |       return selectValue.length > 0; | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "hasOptions", | ||
|  |     value: function hasOptions() { | ||
|  |       return !!this.getFocusableOptions().length; | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "isClearable", | ||
|  |     value: function isClearable() { | ||
|  |       var _this$props7 = this.props, | ||
|  |         isClearable = _this$props7.isClearable, | ||
|  |         isMulti = _this$props7.isMulti; | ||
|  | 
 | ||
|  |       // single select, by default, IS NOT clearable
 | ||
|  |       // multi select, by default, IS clearable
 | ||
|  |       if (isClearable === undefined) return isMulti; | ||
|  |       return isClearable; | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "isOptionDisabled", | ||
|  |     value: function isOptionDisabled(option, selectValue) { | ||
|  |       return _isOptionDisabled(this.props, option, selectValue); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "isOptionSelected", | ||
|  |     value: function isOptionSelected(option, selectValue) { | ||
|  |       return _isOptionSelected(this.props, option, selectValue); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "filterOption", | ||
|  |     value: function filterOption(option, inputValue) { | ||
|  |       return _filterOption(this.props, option, inputValue); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "formatOptionLabel", | ||
|  |     value: function formatOptionLabel(data, context) { | ||
|  |       if (typeof this.props.formatOptionLabel === 'function') { | ||
|  |         var _inputValue = this.props.inputValue; | ||
|  |         var _selectValue = this.state.selectValue; | ||
|  |         return this.props.formatOptionLabel(data, { | ||
|  |           context: context, | ||
|  |           inputValue: _inputValue, | ||
|  |           selectValue: _selectValue | ||
|  |         }); | ||
|  |       } else { | ||
|  |         return this.getOptionLabel(data); | ||
|  |       } | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "formatGroupLabel", | ||
|  |     value: function formatGroupLabel(data) { | ||
|  |       return this.props.formatGroupLabel(data); | ||
|  |     } | ||
|  | 
 | ||
|  |     // ==============================
 | ||
|  |     // Mouse Handlers
 | ||
|  |     // ==============================
 | ||
|  |   }, { | ||
|  |     key: "startListeningComposition", | ||
|  |     value: | ||
|  |     // ==============================
 | ||
|  |     // Composition Handlers
 | ||
|  |     // ==============================
 | ||
|  | 
 | ||
|  |     function startListeningComposition() { | ||
|  |       if (document && document.addEventListener) { | ||
|  |         document.addEventListener('compositionstart', this.onCompositionStart, false); | ||
|  |         document.addEventListener('compositionend', this.onCompositionEnd, false); | ||
|  |       } | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "stopListeningComposition", | ||
|  |     value: function stopListeningComposition() { | ||
|  |       if (document && document.removeEventListener) { | ||
|  |         document.removeEventListener('compositionstart', this.onCompositionStart); | ||
|  |         document.removeEventListener('compositionend', this.onCompositionEnd); | ||
|  |       } | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "startListeningToTouch", | ||
|  |     value: | ||
|  |     // ==============================
 | ||
|  |     // Touch Handlers
 | ||
|  |     // ==============================
 | ||
|  | 
 | ||
|  |     function startListeningToTouch() { | ||
|  |       if (document && document.addEventListener) { | ||
|  |         document.addEventListener('touchstart', this.onTouchStart, false); | ||
|  |         document.addEventListener('touchmove', this.onTouchMove, false); | ||
|  |         document.addEventListener('touchend', this.onTouchEnd, false); | ||
|  |       } | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "stopListeningToTouch", | ||
|  |     value: function stopListeningToTouch() { | ||
|  |       if (document && document.removeEventListener) { | ||
|  |         document.removeEventListener('touchstart', this.onTouchStart); | ||
|  |         document.removeEventListener('touchmove', this.onTouchMove); | ||
|  |         document.removeEventListener('touchend', this.onTouchEnd); | ||
|  |       } | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "renderInput", | ||
|  |     value: | ||
|  |     // ==============================
 | ||
|  |     // Renderers
 | ||
|  |     // ==============================
 | ||
|  |     function renderInput() { | ||
|  |       var _this$props8 = this.props, | ||
|  |         isDisabled = _this$props8.isDisabled, | ||
|  |         isSearchable = _this$props8.isSearchable, | ||
|  |         inputId = _this$props8.inputId, | ||
|  |         inputValue = _this$props8.inputValue, | ||
|  |         tabIndex = _this$props8.tabIndex, | ||
|  |         form = _this$props8.form, | ||
|  |         menuIsOpen = _this$props8.menuIsOpen, | ||
|  |         required = _this$props8.required; | ||
|  |       var _this$getComponents = this.getComponents(), | ||
|  |         Input = _this$getComponents.Input; | ||
|  |       var _this$state4 = this.state, | ||
|  |         inputIsHidden = _this$state4.inputIsHidden, | ||
|  |         ariaSelection = _this$state4.ariaSelection; | ||
|  |       var commonProps = this.commonProps; | ||
|  |       var id = inputId || this.getElementId('input'); | ||
|  | 
 | ||
|  |       // aria attributes makes the JSX "noisy", separated for clarity
 | ||
|  |       var ariaAttributes = _objectSpread(_objectSpread(_objectSpread({ | ||
|  |         'aria-autocomplete': 'list', | ||
|  |         'aria-expanded': menuIsOpen, | ||
|  |         'aria-haspopup': true, | ||
|  |         'aria-errormessage': this.props['aria-errormessage'], | ||
|  |         'aria-invalid': this.props['aria-invalid'], | ||
|  |         'aria-label': this.props['aria-label'], | ||
|  |         'aria-labelledby': this.props['aria-labelledby'], | ||
|  |         'aria-required': required, | ||
|  |         role: 'combobox' | ||
|  |       }, menuIsOpen && { | ||
|  |         'aria-controls': this.getElementId('listbox'), | ||
|  |         'aria-owns': this.getElementId('listbox') | ||
|  |       }), !isSearchable && { | ||
|  |         'aria-readonly': true | ||
|  |       }), this.hasValue() ? (ariaSelection === null || ariaSelection === void 0 ? void 0 : ariaSelection.action) === 'initial-input-focus' && { | ||
|  |         'aria-describedby': this.getElementId('live-region') | ||
|  |       } : { | ||
|  |         'aria-describedby': this.getElementId('placeholder') | ||
|  |       }); | ||
|  |       if (!isSearchable) { | ||
|  |         // use a dummy input to maintain focus/blur functionality
 | ||
|  |         return /*#__PURE__*/React.createElement(DummyInput, _extends({ | ||
|  |           id: id, | ||
|  |           innerRef: this.getInputRef, | ||
|  |           onBlur: this.onInputBlur, | ||
|  |           onChange: noop, | ||
|  |           onFocus: this.onInputFocus, | ||
|  |           disabled: isDisabled, | ||
|  |           tabIndex: tabIndex, | ||
|  |           inputMode: "none", | ||
|  |           form: form, | ||
|  |           value: "" | ||
|  |         }, ariaAttributes)); | ||
|  |       } | ||
|  |       return /*#__PURE__*/React.createElement(Input, _extends({}, commonProps, { | ||
|  |         autoCapitalize: "none", | ||
|  |         autoComplete: "off", | ||
|  |         autoCorrect: "off", | ||
|  |         id: id, | ||
|  |         innerRef: this.getInputRef, | ||
|  |         isDisabled: isDisabled, | ||
|  |         isHidden: inputIsHidden, | ||
|  |         onBlur: this.onInputBlur, | ||
|  |         onChange: this.handleInputChange, | ||
|  |         onFocus: this.onInputFocus, | ||
|  |         spellCheck: "false", | ||
|  |         tabIndex: tabIndex, | ||
|  |         form: form, | ||
|  |         type: "text", | ||
|  |         value: inputValue | ||
|  |       }, ariaAttributes)); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "renderPlaceholderOrValue", | ||
|  |     value: function renderPlaceholderOrValue() { | ||
|  |       var _this3 = this; | ||
|  |       var _this$getComponents2 = this.getComponents(), | ||
|  |         MultiValue = _this$getComponents2.MultiValue, | ||
|  |         MultiValueContainer = _this$getComponents2.MultiValueContainer, | ||
|  |         MultiValueLabel = _this$getComponents2.MultiValueLabel, | ||
|  |         MultiValueRemove = _this$getComponents2.MultiValueRemove, | ||
|  |         SingleValue = _this$getComponents2.SingleValue, | ||
|  |         Placeholder = _this$getComponents2.Placeholder; | ||
|  |       var commonProps = this.commonProps; | ||
|  |       var _this$props9 = this.props, | ||
|  |         controlShouldRenderValue = _this$props9.controlShouldRenderValue, | ||
|  |         isDisabled = _this$props9.isDisabled, | ||
|  |         isMulti = _this$props9.isMulti, | ||
|  |         inputValue = _this$props9.inputValue, | ||
|  |         placeholder = _this$props9.placeholder; | ||
|  |       var _this$state5 = this.state, | ||
|  |         selectValue = _this$state5.selectValue, | ||
|  |         focusedValue = _this$state5.focusedValue, | ||
|  |         isFocused = _this$state5.isFocused; | ||
|  |       if (!this.hasValue() || !controlShouldRenderValue) { | ||
|  |         return inputValue ? null : /*#__PURE__*/React.createElement(Placeholder, _extends({}, commonProps, { | ||
|  |           key: "placeholder", | ||
|  |           isDisabled: isDisabled, | ||
|  |           isFocused: isFocused, | ||
|  |           innerProps: { | ||
|  |             id: this.getElementId('placeholder') | ||
|  |           } | ||
|  |         }), placeholder); | ||
|  |       } | ||
|  |       if (isMulti) { | ||
|  |         return selectValue.map(function (opt, index) { | ||
|  |           var isOptionFocused = opt === focusedValue; | ||
|  |           var key = "".concat(_this3.getOptionLabel(opt), "-").concat(_this3.getOptionValue(opt)); | ||
|  |           return /*#__PURE__*/React.createElement(MultiValue, _extends({}, commonProps, { | ||
|  |             components: { | ||
|  |               Container: MultiValueContainer, | ||
|  |               Label: MultiValueLabel, | ||
|  |               Remove: MultiValueRemove | ||
|  |             }, | ||
|  |             isFocused: isOptionFocused, | ||
|  |             isDisabled: isDisabled, | ||
|  |             key: key, | ||
|  |             index: index, | ||
|  |             removeProps: { | ||
|  |               onClick: function onClick() { | ||
|  |                 return _this3.removeValue(opt); | ||
|  |               }, | ||
|  |               onTouchEnd: function onTouchEnd() { | ||
|  |                 return _this3.removeValue(opt); | ||
|  |               }, | ||
|  |               onMouseDown: function onMouseDown(e) { | ||
|  |                 e.preventDefault(); | ||
|  |               } | ||
|  |             }, | ||
|  |             data: opt | ||
|  |           }), _this3.formatOptionLabel(opt, 'value')); | ||
|  |         }); | ||
|  |       } | ||
|  |       if (inputValue) { | ||
|  |         return null; | ||
|  |       } | ||
|  |       var singleValue = selectValue[0]; | ||
|  |       return /*#__PURE__*/React.createElement(SingleValue, _extends({}, commonProps, { | ||
|  |         data: singleValue, | ||
|  |         isDisabled: isDisabled | ||
|  |       }), this.formatOptionLabel(singleValue, 'value')); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "renderClearIndicator", | ||
|  |     value: function renderClearIndicator() { | ||
|  |       var _this$getComponents3 = this.getComponents(), | ||
|  |         ClearIndicator = _this$getComponents3.ClearIndicator; | ||
|  |       var commonProps = this.commonProps; | ||
|  |       var _this$props10 = this.props, | ||
|  |         isDisabled = _this$props10.isDisabled, | ||
|  |         isLoading = _this$props10.isLoading; | ||
|  |       var isFocused = this.state.isFocused; | ||
|  |       if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) { | ||
|  |         return null; | ||
|  |       } | ||
|  |       var innerProps = { | ||
|  |         onMouseDown: this.onClearIndicatorMouseDown, | ||
|  |         onTouchEnd: this.onClearIndicatorTouchEnd, | ||
|  |         'aria-hidden': 'true' | ||
|  |       }; | ||
|  |       return /*#__PURE__*/React.createElement(ClearIndicator, _extends({}, commonProps, { | ||
|  |         innerProps: innerProps, | ||
|  |         isFocused: isFocused | ||
|  |       })); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "renderLoadingIndicator", | ||
|  |     value: function renderLoadingIndicator() { | ||
|  |       var _this$getComponents4 = this.getComponents(), | ||
|  |         LoadingIndicator = _this$getComponents4.LoadingIndicator; | ||
|  |       var commonProps = this.commonProps; | ||
|  |       var _this$props11 = this.props, | ||
|  |         isDisabled = _this$props11.isDisabled, | ||
|  |         isLoading = _this$props11.isLoading; | ||
|  |       var isFocused = this.state.isFocused; | ||
|  |       if (!LoadingIndicator || !isLoading) return null; | ||
|  |       var innerProps = { | ||
|  |         'aria-hidden': 'true' | ||
|  |       }; | ||
|  |       return /*#__PURE__*/React.createElement(LoadingIndicator, _extends({}, commonProps, { | ||
|  |         innerProps: innerProps, | ||
|  |         isDisabled: isDisabled, | ||
|  |         isFocused: isFocused | ||
|  |       })); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "renderIndicatorSeparator", | ||
|  |     value: function renderIndicatorSeparator() { | ||
|  |       var _this$getComponents5 = this.getComponents(), | ||
|  |         DropdownIndicator = _this$getComponents5.DropdownIndicator, | ||
|  |         IndicatorSeparator = _this$getComponents5.IndicatorSeparator; | ||
|  | 
 | ||
|  |       // separator doesn't make sense without the dropdown indicator
 | ||
|  |       if (!DropdownIndicator || !IndicatorSeparator) return null; | ||
|  |       var commonProps = this.commonProps; | ||
|  |       var isDisabled = this.props.isDisabled; | ||
|  |       var isFocused = this.state.isFocused; | ||
|  |       return /*#__PURE__*/React.createElement(IndicatorSeparator, _extends({}, commonProps, { | ||
|  |         isDisabled: isDisabled, | ||
|  |         isFocused: isFocused | ||
|  |       })); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "renderDropdownIndicator", | ||
|  |     value: function renderDropdownIndicator() { | ||
|  |       var _this$getComponents6 = this.getComponents(), | ||
|  |         DropdownIndicator = _this$getComponents6.DropdownIndicator; | ||
|  |       if (!DropdownIndicator) return null; | ||
|  |       var commonProps = this.commonProps; | ||
|  |       var isDisabled = this.props.isDisabled; | ||
|  |       var isFocused = this.state.isFocused; | ||
|  |       var innerProps = { | ||
|  |         onMouseDown: this.onDropdownIndicatorMouseDown, | ||
|  |         onTouchEnd: this.onDropdownIndicatorTouchEnd, | ||
|  |         'aria-hidden': 'true' | ||
|  |       }; | ||
|  |       return /*#__PURE__*/React.createElement(DropdownIndicator, _extends({}, commonProps, { | ||
|  |         innerProps: innerProps, | ||
|  |         isDisabled: isDisabled, | ||
|  |         isFocused: isFocused | ||
|  |       })); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "renderMenu", | ||
|  |     value: function renderMenu() { | ||
|  |       var _this4 = this; | ||
|  |       var _this$getComponents7 = this.getComponents(), | ||
|  |         Group = _this$getComponents7.Group, | ||
|  |         GroupHeading = _this$getComponents7.GroupHeading, | ||
|  |         Menu = _this$getComponents7.Menu, | ||
|  |         MenuList = _this$getComponents7.MenuList, | ||
|  |         MenuPortal = _this$getComponents7.MenuPortal, | ||
|  |         LoadingMessage = _this$getComponents7.LoadingMessage, | ||
|  |         NoOptionsMessage = _this$getComponents7.NoOptionsMessage, | ||
|  |         Option = _this$getComponents7.Option; | ||
|  |       var commonProps = this.commonProps; | ||
|  |       var focusedOption = this.state.focusedOption; | ||
|  |       var _this$props12 = this.props, | ||
|  |         captureMenuScroll = _this$props12.captureMenuScroll, | ||
|  |         inputValue = _this$props12.inputValue, | ||
|  |         isLoading = _this$props12.isLoading, | ||
|  |         loadingMessage = _this$props12.loadingMessage, | ||
|  |         minMenuHeight = _this$props12.minMenuHeight, | ||
|  |         maxMenuHeight = _this$props12.maxMenuHeight, | ||
|  |         menuIsOpen = _this$props12.menuIsOpen, | ||
|  |         menuPlacement = _this$props12.menuPlacement, | ||
|  |         menuPosition = _this$props12.menuPosition, | ||
|  |         menuPortalTarget = _this$props12.menuPortalTarget, | ||
|  |         menuShouldBlockScroll = _this$props12.menuShouldBlockScroll, | ||
|  |         menuShouldScrollIntoView = _this$props12.menuShouldScrollIntoView, | ||
|  |         noOptionsMessage = _this$props12.noOptionsMessage, | ||
|  |         onMenuScrollToTop = _this$props12.onMenuScrollToTop, | ||
|  |         onMenuScrollToBottom = _this$props12.onMenuScrollToBottom; | ||
|  |       if (!menuIsOpen) return null; | ||
|  | 
 | ||
|  |       // TODO: Internal Option Type here
 | ||
|  |       var render = function render(props, id) { | ||
|  |         var type = props.type, | ||
|  |           data = props.data, | ||
|  |           isDisabled = props.isDisabled, | ||
|  |           isSelected = props.isSelected, | ||
|  |           label = props.label, | ||
|  |           value = props.value; | ||
|  |         var isFocused = focusedOption === data; | ||
|  |         var onHover = isDisabled ? undefined : function () { | ||
|  |           return _this4.onOptionHover(data); | ||
|  |         }; | ||
|  |         var onSelect = isDisabled ? undefined : function () { | ||
|  |           return _this4.selectOption(data); | ||
|  |         }; | ||
|  |         var optionId = "".concat(_this4.getElementId('option'), "-").concat(id); | ||
|  |         var innerProps = { | ||
|  |           id: optionId, | ||
|  |           onClick: onSelect, | ||
|  |           onMouseMove: onHover, | ||
|  |           onMouseOver: onHover, | ||
|  |           tabIndex: -1 | ||
|  |         }; | ||
|  |         return /*#__PURE__*/React.createElement(Option, _extends({}, commonProps, { | ||
|  |           innerProps: innerProps, | ||
|  |           data: data, | ||
|  |           isDisabled: isDisabled, | ||
|  |           isSelected: isSelected, | ||
|  |           key: optionId, | ||
|  |           label: label, | ||
|  |           type: type, | ||
|  |           value: value, | ||
|  |           isFocused: isFocused, | ||
|  |           innerRef: isFocused ? _this4.getFocusedOptionRef : undefined | ||
|  |         }), _this4.formatOptionLabel(props.data, 'menu')); | ||
|  |       }; | ||
|  |       var menuUI; | ||
|  |       if (this.hasOptions()) { | ||
|  |         menuUI = this.getCategorizedOptions().map(function (item) { | ||
|  |           if (item.type === 'group') { | ||
|  |             var _data = item.data, | ||
|  |               options = item.options, | ||
|  |               groupIndex = item.index; | ||
|  |             var groupId = "".concat(_this4.getElementId('group'), "-").concat(groupIndex); | ||
|  |             var headingId = "".concat(groupId, "-heading"); | ||
|  |             return /*#__PURE__*/React.createElement(Group, _extends({}, commonProps, { | ||
|  |               key: groupId, | ||
|  |               data: _data, | ||
|  |               options: options, | ||
|  |               Heading: GroupHeading, | ||
|  |               headingProps: { | ||
|  |                 id: headingId, | ||
|  |                 data: item.data | ||
|  |               }, | ||
|  |               label: _this4.formatGroupLabel(item.data) | ||
|  |             }), item.options.map(function (option) { | ||
|  |               return render(option, "".concat(groupIndex, "-").concat(option.index)); | ||
|  |             })); | ||
|  |           } else if (item.type === 'option') { | ||
|  |             return render(item, "".concat(item.index)); | ||
|  |           } | ||
|  |         }); | ||
|  |       } else if (isLoading) { | ||
|  |         var message = loadingMessage({ | ||
|  |           inputValue: inputValue | ||
|  |         }); | ||
|  |         if (message === null) return null; | ||
|  |         menuUI = /*#__PURE__*/React.createElement(LoadingMessage, commonProps, message); | ||
|  |       } else { | ||
|  |         var _message = noOptionsMessage({ | ||
|  |           inputValue: inputValue | ||
|  |         }); | ||
|  |         if (_message === null) return null; | ||
|  |         menuUI = /*#__PURE__*/React.createElement(NoOptionsMessage, commonProps, _message); | ||
|  |       } | ||
|  |       var menuPlacementProps = { | ||
|  |         minMenuHeight: minMenuHeight, | ||
|  |         maxMenuHeight: maxMenuHeight, | ||
|  |         menuPlacement: menuPlacement, | ||
|  |         menuPosition: menuPosition, | ||
|  |         menuShouldScrollIntoView: menuShouldScrollIntoView | ||
|  |       }; | ||
|  |       var menuElement = /*#__PURE__*/React.createElement(MenuPlacer, _extends({}, commonProps, menuPlacementProps), function (_ref4) { | ||
|  |         var ref = _ref4.ref, | ||
|  |           _ref4$placerProps = _ref4.placerProps, | ||
|  |           placement = _ref4$placerProps.placement, | ||
|  |           maxHeight = _ref4$placerProps.maxHeight; | ||
|  |         return /*#__PURE__*/React.createElement(Menu, _extends({}, commonProps, menuPlacementProps, { | ||
|  |           innerRef: ref, | ||
|  |           innerProps: { | ||
|  |             onMouseDown: _this4.onMenuMouseDown, | ||
|  |             onMouseMove: _this4.onMenuMouseMove, | ||
|  |             id: _this4.getElementId('listbox') | ||
|  |           }, | ||
|  |           isLoading: isLoading, | ||
|  |           placement: placement | ||
|  |         }), /*#__PURE__*/React.createElement(ScrollManager, { | ||
|  |           captureEnabled: captureMenuScroll, | ||
|  |           onTopArrive: onMenuScrollToTop, | ||
|  |           onBottomArrive: onMenuScrollToBottom, | ||
|  |           lockEnabled: menuShouldBlockScroll | ||
|  |         }, function (scrollTargetRef) { | ||
|  |           return /*#__PURE__*/React.createElement(MenuList, _extends({}, commonProps, { | ||
|  |             innerRef: function innerRef(instance) { | ||
|  |               _this4.getMenuListRef(instance); | ||
|  |               scrollTargetRef(instance); | ||
|  |             }, | ||
|  |             isLoading: isLoading, | ||
|  |             maxHeight: maxHeight, | ||
|  |             focusedOption: focusedOption | ||
|  |           }), menuUI); | ||
|  |         })); | ||
|  |       }); | ||
|  | 
 | ||
|  |       // positioning behaviour is almost identical for portalled and fixed,
 | ||
|  |       // so we use the same component. the actual portalling logic is forked
 | ||
|  |       // within the component based on `menuPosition`
 | ||
|  |       return menuPortalTarget || menuPosition === 'fixed' ? /*#__PURE__*/React.createElement(MenuPortal, _extends({}, commonProps, { | ||
|  |         appendTo: menuPortalTarget, | ||
|  |         controlElement: this.controlRef, | ||
|  |         menuPlacement: menuPlacement, | ||
|  |         menuPosition: menuPosition | ||
|  |       }), menuElement) : menuElement; | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "renderFormField", | ||
|  |     value: function renderFormField() { | ||
|  |       var _this5 = this; | ||
|  |       var _this$props13 = this.props, | ||
|  |         delimiter = _this$props13.delimiter, | ||
|  |         isDisabled = _this$props13.isDisabled, | ||
|  |         isMulti = _this$props13.isMulti, | ||
|  |         name = _this$props13.name, | ||
|  |         required = _this$props13.required; | ||
|  |       var selectValue = this.state.selectValue; | ||
|  |       if (!name || isDisabled) return; | ||
|  |       if (required && !this.hasValue()) { | ||
|  |         return /*#__PURE__*/React.createElement(RequiredInput, { | ||
|  |           name: name, | ||
|  |           onFocus: this.onValueInputFocus | ||
|  |         }); | ||
|  |       } | ||
|  |       if (isMulti) { | ||
|  |         if (delimiter) { | ||
|  |           var value = selectValue.map(function (opt) { | ||
|  |             return _this5.getOptionValue(opt); | ||
|  |           }).join(delimiter); | ||
|  |           return /*#__PURE__*/React.createElement("input", { | ||
|  |             name: name, | ||
|  |             type: "hidden", | ||
|  |             value: value | ||
|  |           }); | ||
|  |         } else { | ||
|  |           var input = selectValue.length > 0 ? selectValue.map(function (opt, i) { | ||
|  |             return /*#__PURE__*/React.createElement("input", { | ||
|  |               key: "i-".concat(i), | ||
|  |               name: name, | ||
|  |               type: "hidden", | ||
|  |               value: _this5.getOptionValue(opt) | ||
|  |             }); | ||
|  |           }) : /*#__PURE__*/React.createElement("input", { | ||
|  |             name: name, | ||
|  |             type: "hidden", | ||
|  |             value: "" | ||
|  |           }); | ||
|  |           return /*#__PURE__*/React.createElement("div", null, input); | ||
|  |         } | ||
|  |       } else { | ||
|  |         var _value = selectValue[0] ? this.getOptionValue(selectValue[0]) : ''; | ||
|  |         return /*#__PURE__*/React.createElement("input", { | ||
|  |           name: name, | ||
|  |           type: "hidden", | ||
|  |           value: _value | ||
|  |         }); | ||
|  |       } | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "renderLiveRegion", | ||
|  |     value: function renderLiveRegion() { | ||
|  |       var commonProps = this.commonProps; | ||
|  |       var _this$state6 = this.state, | ||
|  |         ariaSelection = _this$state6.ariaSelection, | ||
|  |         focusedOption = _this$state6.focusedOption, | ||
|  |         focusedValue = _this$state6.focusedValue, | ||
|  |         isFocused = _this$state6.isFocused, | ||
|  |         selectValue = _this$state6.selectValue; | ||
|  |       var focusableOptions = this.getFocusableOptions(); | ||
|  |       return /*#__PURE__*/React.createElement(LiveRegion, _extends({}, commonProps, { | ||
|  |         id: this.getElementId('live-region'), | ||
|  |         ariaSelection: ariaSelection, | ||
|  |         focusedOption: focusedOption, | ||
|  |         focusedValue: focusedValue, | ||
|  |         isFocused: isFocused, | ||
|  |         selectValue: selectValue, | ||
|  |         focusableOptions: focusableOptions | ||
|  |       })); | ||
|  |     } | ||
|  |   }, { | ||
|  |     key: "render", | ||
|  |     value: function render() { | ||
|  |       var _this$getComponents8 = this.getComponents(), | ||
|  |         Control = _this$getComponents8.Control, | ||
|  |         IndicatorsContainer = _this$getComponents8.IndicatorsContainer, | ||
|  |         SelectContainer = _this$getComponents8.SelectContainer, | ||
|  |         ValueContainer = _this$getComponents8.ValueContainer; | ||
|  |       var _this$props14 = this.props, | ||
|  |         className = _this$props14.className, | ||
|  |         id = _this$props14.id, | ||
|  |         isDisabled = _this$props14.isDisabled, | ||
|  |         menuIsOpen = _this$props14.menuIsOpen; | ||
|  |       var isFocused = this.state.isFocused; | ||
|  |       var commonProps = this.commonProps = this.getCommonProps(); | ||
|  |       return /*#__PURE__*/React.createElement(SelectContainer, _extends({}, commonProps, { | ||
|  |         className: className, | ||
|  |         innerProps: { | ||
|  |           id: id, | ||
|  |           onKeyDown: this.onKeyDown | ||
|  |         }, | ||
|  |         isDisabled: isDisabled, | ||
|  |         isFocused: isFocused | ||
|  |       }), this.renderLiveRegion(), /*#__PURE__*/React.createElement(Control, _extends({}, commonProps, { | ||
|  |         innerRef: this.getControlRef, | ||
|  |         innerProps: { | ||
|  |           onMouseDown: this.onControlMouseDown, | ||
|  |           onTouchEnd: this.onControlTouchEnd | ||
|  |         }, | ||
|  |         isDisabled: isDisabled, | ||
|  |         isFocused: isFocused, | ||
|  |         menuIsOpen: menuIsOpen | ||
|  |       }), /*#__PURE__*/React.createElement(ValueContainer, _extends({}, commonProps, { | ||
|  |         isDisabled: isDisabled | ||
|  |       }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/React.createElement(IndicatorsContainer, _extends({}, commonProps, { | ||
|  |         isDisabled: isDisabled | ||
|  |       }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField()); | ||
|  |     } | ||
|  |   }], [{ | ||
|  |     key: "getDerivedStateFromProps", | ||
|  |     value: function getDerivedStateFromProps(props, state) { | ||
|  |       var prevProps = state.prevProps, | ||
|  |         clearFocusValueOnUpdate = state.clearFocusValueOnUpdate, | ||
|  |         inputIsHiddenAfterUpdate = state.inputIsHiddenAfterUpdate, | ||
|  |         ariaSelection = state.ariaSelection, | ||
|  |         isFocused = state.isFocused, | ||
|  |         prevWasFocused = state.prevWasFocused; | ||
|  |       var options = props.options, | ||
|  |         value = props.value, | ||
|  |         menuIsOpen = props.menuIsOpen, | ||
|  |         inputValue = props.inputValue, | ||
|  |         isMulti = props.isMulti; | ||
|  |       var selectValue = cleanValue(value); | ||
|  |       var newMenuOptionsState = {}; | ||
|  |       if (prevProps && (value !== prevProps.value || options !== prevProps.options || menuIsOpen !== prevProps.menuIsOpen || inputValue !== prevProps.inputValue)) { | ||
|  |         var focusableOptions = menuIsOpen ? buildFocusableOptions(props, selectValue) : []; | ||
|  |         var focusedValue = clearFocusValueOnUpdate ? getNextFocusedValue(state, selectValue) : null; | ||
|  |         var focusedOption = getNextFocusedOption(state, focusableOptions); | ||
|  |         newMenuOptionsState = { | ||
|  |           selectValue: selectValue, | ||
|  |           focusedOption: focusedOption, | ||
|  |           focusedValue: focusedValue, | ||
|  |           clearFocusValueOnUpdate: false | ||
|  |         }; | ||
|  |       } | ||
|  |       // some updates should toggle the state of the input visibility
 | ||
|  |       var newInputIsHiddenState = inputIsHiddenAfterUpdate != null && props !== prevProps ? { | ||
|  |         inputIsHidden: inputIsHiddenAfterUpdate, | ||
|  |         inputIsHiddenAfterUpdate: undefined | ||
|  |       } : {}; | ||
|  |       var newAriaSelection = ariaSelection; | ||
|  |       var hasKeptFocus = isFocused && prevWasFocused; | ||
|  |       if (isFocused && !hasKeptFocus) { | ||
|  |         // If `value` or `defaultValue` props are not empty then announce them
 | ||
|  |         // when the Select is initially focused
 | ||
|  |         newAriaSelection = { | ||
|  |           value: valueTernary(isMulti, selectValue, selectValue[0] || null), | ||
|  |           options: selectValue, | ||
|  |           action: 'initial-input-focus' | ||
|  |         }; | ||
|  |         hasKeptFocus = !prevWasFocused; | ||
|  |       } | ||
|  | 
 | ||
|  |       // If the 'initial-input-focus' action has been set already
 | ||
|  |       // then reset the ariaSelection to null
 | ||
|  |       if ((ariaSelection === null || ariaSelection === void 0 ? void 0 : ariaSelection.action) === 'initial-input-focus') { | ||
|  |         newAriaSelection = null; | ||
|  |       } | ||
|  |       return _objectSpread(_objectSpread(_objectSpread({}, newMenuOptionsState), newInputIsHiddenState), {}, { | ||
|  |         prevProps: props, | ||
|  |         ariaSelection: newAriaSelection, | ||
|  |         prevWasFocused: hasKeptFocus | ||
|  |       }); | ||
|  |     } | ||
|  |   }]); | ||
|  |   return Select; | ||
|  | }(Component); | ||
|  | Select.defaultProps = defaultProps; | ||
|  | 
 | ||
|  | export { Select as S, defaultProps as a, getOptionLabel$1 as b, createFilter as c, defaultTheme as d, getOptionValue$1 as g, mergeStyles as m }; |