@aarhus-university/au-lib-react-components 9.18.3 → 9.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://@aarhus-university/au-lib-react-components/webpack/universalModuleDefinition","webpack://@aarhus-university/au-lib-react-components/./src/lib/helpers.js","webpack://@aarhus-university/au-lib-react-components/./src/components/alphabox/AlphaBoxContentComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/AutoSuggestComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/databox/DataBoxSuggestionComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/alphabox/AlphaBoxComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/lib/au-alphabox.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/lodash.debounce/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/prop-types/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/Autosuggest.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/Autowhatever.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/Item.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/ItemList.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/SectionTitle.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/compareObjects.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/theme.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-themeable/dist/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-themeable/node_modules/object-assign/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/section-iterator/dist/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/shallow-equal/arrays/index.js","webpack://@aarhus-university/au-lib-react-components/external \"axios\"","webpack://@aarhus-university/au-lib-react-components/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\",\"umd\":\"react\"}","webpack://@aarhus-university/au-lib-react-components/external {\"root\":\"ReactDOM\",\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\",\"umd\":\"react-dom\"}","webpack://@aarhus-university/au-lib-react-components/webpack/bootstrap","webpack://@aarhus-university/au-lib-react-components/webpack/startup","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/compat get default export","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/define property getters","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/global","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/hasOwnProperty shorthand","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/make namespace object"],"names":["root","factory","exports","module","require","define","amd","a","i","self","__WEBPACK_EXTERNAL_MODULE__376__","__WEBPACK_EXTERNAL_MODULE__383__","__WEBPACK_EXTERNAL_MODULE__949__","serviceScopeProfile","window","sortAlphaObj","b","name","toLowerCase","localeCompare","ignorePunctuation","AlphaBoxContentComponent","React","constructor","props","super","this","letters","state","letterIndex","render","items","linkColor","noResultsText","noResultsUri","renderLetters","map","l","available","filter","x","indexOf","length","classNames","style","backgroundColor","color","key","className","type","onClick","setState","filtered","renderItems","sort","item","renderChildren","children","c","href","url","defaultProps","propTypes","PropTypes","isRequired","displayName","AutoSuggestComponent","value","suggestions","noSuggestions","onChange","bind","onEnter","onSuggestionsFetchRequested","debounce","onSuggestionsClearRequested","onSuggestionSelected","_","newValue","setQuery","event","setResults","getSuggestions","collection","trim","suggestion","clearInput","placeholder","getSuggestionValue","renderSuggestion","id","theme","initialValue","disabled","inputProps","onKeyDown","container","containerOpen","input","inputOpen","inputFocused","suggestionsContainer","suggestionsContainerOpen","suggestionsList","suggestionFirst","suggestionHighlighted","sectionContainer","sectionContainerFirst","sectionTitle","DataBoxSuggestionComponent","nextProps","prevState","AlphaBoxComponent","componentDidMount","box","data","mode","source","itemsOnly","axios","then","promise","pData","callback","inputValue","replace","config","renderLinks","links","title","background","noResultsAlphabet","search","placeHolder","_items","location","noResultsSearch","description","tracking","minLength","defaultOptions","AUAlphabox","boxes","_box","hasOwnProperty","conf","bg","sch","init","loaded","mergeOptions","mountNode","document","querySelector","getComputedStyle","visibility","ReactDOM","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","g","Object","freeSelf","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","toNumber","isObjectLike","call","isSymbol","other","valueOf","isBinary","test","slice","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","arguments","cancel","clearTimeout","flush","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","err","Error","getShim","ReactPropTypes","array","bool","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","_react","obj","__esModule","_typeof","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","defineProperty","getOwnPropertyDescriptor","desc","set","_interopRequireWildcard","_propTypes","_interopRequireDefault","_arrays","_Autowhatever","_theme","WeakMap","Symbol","iterator","ownKeys","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","enumerable","push","_objectSpread","target","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","configurable","writable","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","e","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","alwaysTrue","Autosuggest","_Component","subClass","superClass","create","_inherits","Derived","Constructor","protoProps","_super","Super","NewTarget","_ref2","_this","_alwaysRenderSuggestions","alwaysRenderSuggestions","instance","_classCallCheck","justClickedOnSuggestionsContainer","detail","getAttribute","parentNode","autowhatever","_ref3","sectionIndex","itemIndex","updateHighlightedSuggestion","pressedSuggestion","justSelectedSuggestion","justMouseEntered","multiSection","focus","_this$props","suggestionValue","reason","resetHighlightedSuggestion","_this$props2","focusInputOnSuggestionClick","_this$getSuggestionIn","getSuggestionIndices","findSuggestionElement","suggestionIndex","clickedSuggestion","getSuggestion","clickedSuggestionValue","maybeCallOnChange","method","closeSuggestions","onBlur","_this$props3","shouldRenderSuggestions","highlightedSuggestion","getHighlightedSuggestion","shouldRender","isFocused","highlightedSectionIndex","highlightedSuggestionIndex","valueBeforeUpDown","isCollapsed","blurEvent","_ref4","onMouseEnter","onSuggestionMouseEnter","onMouseLeave","onSuggestionMouseLeave","onMouseDown","onSuggestionMouseDown","onTouchStart","onSuggestionTouchStart","onTouchMove","onSuggestionTouchMove","onSuggestionClick","_ref5","containerProps","renderSuggestionsContainer","query","getQuery","justPressedUpDown","addEventListener","onDocumentMouseDown","onDocumentMouseUp","itemsContainer","highlightFirstSuggestion","willRenderSuggestions","revealSuggestions","prevProps","_this$props4","onSuggestionHighlighted","removeEventListener","prevValue","_this2","shouldResetValueBeforeUpDown","_this$props5","getSectionSuggestions","_this$state","suggestionElement","startNode","console","error","_this$props$inputProp","_this3","_this$props6","renderInputComponent","renderSectionTitle","_this$state2","_onFocus","onFocus","_onKeyDown","isOpen","autowhateverInputProps","scrollTop","keyCode","newHighlightedSectionIndex","newHighlightedItemIndex","getSuggestionValueByIndex","preventDefault","_newValue","willCloseSuggestions","renderSuggestionData","createElement","renderItemsContainer","renderItem","renderItemData","getSectionItems","highlightedItemIndex","itemProps","mapToAutowhateverTheme","ref","storeAutowhateverRef","Component","_ref","defaultTheme","_sectionIterator","_reactThemeable","_SectionTitle","_ItemList","_arrayLikeToArray","arr","len","arr2","Array","emptyObject","Autowhatever","userRef","current","highlightedItem","section","concat","isInputFocused","nextPrev","_this$sectionIterator2","sectionIterator","isArray","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","next","done","_iterableToArrayLimit","minLen","n","from","_unsupportedIterableToArray","_nonIterableRest","setSectionsItems","setSectionIterator","setTheme","ensureHighlightedItemIsVisible","sectionsItems","sectionsLengths","allSectionsAreEmpty","every","itemsCount","keyPrefix","sectionKeyPrefix","isFirstSection","onHighlightedItemChange","getItemId","storeItemsListReference","itemOffsetRelativeToContainer","offsetParent","offsetTop","offsetHeight","renderedItems","renderSections","ariaActivedescendant","itemsContainerId","role","inputComponent","autoComplete","storeInputReference","storeItemsContainerReference","itemsContainerOpen","itemsList","itemFirst","itemHighlighted","_compareObjects","_extends","assign","Item","_len","_key","isHighlighted","restProps","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutProperties","storeItemReference","_Item","ItemsList","sectionPrefix","isItemPropsFunction","isFirst","itemKey","itemPropsObj","allItemProps","storeHighlightedItemReference","SectionTitle","objA","objB","aKeys","bKeys","keysMap","aValue","bValue","aValueKeys","bValueKeys","aValueKey","_toConsumableArray","_objectAssign2","truthy","sliceIterator","_slicedToArray","classNameDecorator","names","styles","join","propIsEnumerable","ToObject","val","ownEnumerableKeys","getOwnPropertyNames","to","s","position","_position","nextNonEmptySectionIndex","prev","_position2","prevNonEmptySectionIndex","isLast","arrA","arrB","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","getter","d","definition","globalThis","prop","r","toStringTag"],"mappings":"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","file":"alphabox.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"axios\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"axios\", \"react\", \"react-dom\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"axios\"), require(\"react\"), require(\"react-dom\")) : factory(root[\"axios\"], root[\"React\"], root[\"ReactDOM\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, function(__WEBPACK_EXTERNAL_MODULE__376__, __WEBPACK_EXTERNAL_MODULE__383__, __WEBPACK_EXTERNAL_MODULE__949__) {\nreturn ","/* eslint-env browser */\n/* NO IMPORTS! */\n\nconst { serviceScopeProfile } = window; // Sættes pr. webapp\n\nconst sortAlphaObj = (a, b) => {\n if (typeof a.name !== 'undefined' && typeof b.name !== 'undefined') {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase(), 'da', { ignorePunctuation: true });\n }\n return 0;\n};\n\nconst isElementInViewport = (element) => {\n if (element === null) {\n return false;\n }\n\n const rect = element.getBoundingClientRect();\n\n return rect.bottom > 0\n && rect.right > 0\n && rect.left < (window.innerWidth || document.documentElement.clientWidth)\n && rect.top < (window.innerHeight || document.documentElement.clientHeight);\n};\n\nconst isElementPartlyInViewport = (element) => {\n let top = element.offsetTop;\n let left = element.offsetLeft;\n const width = element.offsetWidth;\n const height = element.offsetHeight;\n\n let offsetElement = element;\n while (offsetElement.offsetParent) {\n offsetElement = element.offsetParent;\n top += element.offsetTop;\n left += element.offsetLeft;\n }\n\n return (\n top < (window.pageYOffset + window.innerHeight)\n && left < (window.pageXOffset + window.innerWidth)\n && (top + height) > window.pageYOffset\n && (left + width) > window.pageXOffset\n );\n};\n\nconst setCookie = (cookieName, value, maxAge = null, exdays = null, path = ';path=/;domain=au.dk') => {\n let cookieValue = encodeURI(value);\n if (exdays != null) {\n const exdate = new Date();\n exdate.setDate(exdate.getDate() + exdays);\n cookieValue = `${cookieValue}; expires=${exdate.toUTCString()}`;\n } else if (maxAge != null) {\n cookieValue = `${cookieValue}; max-age=${maxAge}`;\n }\n\n document.cookie = `${cookieName}=${cookieValue}${path}`;\n};\n\nconst getCookie = (cookieName) => {\n let cookieValue = document.cookie;\n let cookieStart = cookieValue.indexOf(` ${cookieName}=`);\n if (cookieStart === -1) {\n cookieStart = cookieValue.indexOf(`${cookieName}=`);\n }\n if (cookieStart === -1) {\n cookieValue = null;\n } else {\n cookieStart = cookieValue.indexOf('=', cookieStart) + 1;\n let cookieEnd = cookieValue.indexOf(';', cookieStart);\n if (cookieEnd === -1) {\n cookieEnd = cookieValue.length;\n }\n cookieValue = decodeURI(cookieValue.substring(cookieStart, cookieEnd));\n }\n return cookieValue;\n};\n\nconst addToSessionStorage = (key, data) => {\n if (window.sessionStorage) {\n sessionStorage.setItem(key, JSON.stringify(data));\n }\n\n return data;\n};\n\nconst getFromSessionStorage = (key) => {\n if (window.sessionStorage) {\n const data = sessionStorage.getItem(key);\n if (data) {\n return JSON.parse(data);\n }\n }\n\n return null;\n};\n\nconst addToLocalStorage = (key, data) => {\n if (window.localStorage) {\n localStorage.setItem(key, JSON.stringify(data));\n }\n\n return data;\n};\n\nconst getFromLocalStorage = (key) => {\n if (window.localStorage) {\n const data = localStorage.getItem(key);\n if (data) {\n return JSON.parse(data);\n }\n }\n\n return null;\n};\n\nconst setContextInSession = (key, data, clearPrevious = true) => {\n if (clearPrevious) {\n Object.entries(window.sessionStorage).forEach((entry) => {\n const entryKey = entry[0];\n if (entryKey.includes('user-context')) {\n window.sessionStorage.removeItem(entryKey);\n }\n });\n }\n window.sessionStorage.setItem(`user-context-${key}`, data);\n};\n\nconst getContextFromSession = (key = '', any = false) => {\n if (any) {\n let foundContext = null;\n Object.entries(window.sessionStorage).forEach((entry) => {\n const entryKey = entry[0];\n if (entryKey.includes('user-context')) {\n foundContext = window.sessionStorage.getItem(entryKey);\n }\n });\n return foundContext;\n }\n\n return window.sessionStorage.getItem(`user-context-${key}`);\n};\n\n// Credits: http://blog.vishalon.net/index.php/javascript-getting-and-setting-caret-position-in-textarea/\nconst setCaretPosition = (element, pos) => {\n // Modern browsers\n if (element && element.setSelectionRange) {\n element.focus();\n element.setSelectionRange(pos, pos);\n }\n};\n\nconst splitPhoneNumber = (countryCodes, phoneNumber) => {\n const countryCodeFound = (code) => countryCodes.filter(\n (x) => x.code === parseInt(code, 10),\n ).length > 0;\n\n const findPrefix = () => {\n if (countryCodes.length > 0) {\n const skip = '';\n let count = 1;\n let prefix = countryCodes.find((x) => x.important).code;\n while (count < phoneNumber.length) {\n const split = phoneNumber.substring(skip.length, skip.length + count);\n if (countryCodeFound(split)) {\n prefix = split;\n }\n count += 1;\n }\n return skip + prefix;\n }\n return '';\n };\n\n const prefix = findPrefix();\n return {\n prefix,\n number: phoneNumber.replace(prefix, ''),\n };\n};\n\nconst prettyPrintPhone = (countryCodes, phone) => {\n if (phone) {\n const { prefix, number } = splitPhoneNumber(countryCodes, phone);\n if (prefix) {\n return `${prefix} ${number.match(/\\d{1,2}/g).join(' ')}`;\n }\n return number.match(/\\d{1,2}/g).join(' ');\n }\n return '';\n};\n\nconst getAccessToken = (auAuth, serviceScope, callback) => {\n auAuth.getAccessToken([serviceScope]).then((accessToken) => {\n callback(accessToken.accessToken);\n });\n};\n\nconst parseError = (errorArray) => errorArray.map((e) => e.errorMessage).join(', ');\n\nconst scrollTo = (x = 0, y = 0) => window.scrollTo(x, y);\n\nexport {\n sortAlphaObj,\n isElementInViewport,\n isElementPartlyInViewport,\n setCookie,\n getCookie,\n addToLocalStorage,\n getFromLocalStorage,\n addToSessionStorage,\n getFromSessionStorage,\n setCaretPosition,\n getAccessToken,\n serviceScopeProfile,\n splitPhoneNumber,\n prettyPrintPhone,\n parseError,\n scrollTo,\n setContextInSession,\n getContextFromSession,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { sortAlphaObj } from '../../lib/helpers';\n\nclass AlphaBoxContentComponent extends React.Component {\n constructor(props) {\n super(props);\n this.letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'æ', 'ø', 'å'];\n this.state = {\n letterIndex: -1,\n };\n }\n\n render() {\n const { letterIndex } = this.state;\n const {\n items, linkColor, noResultsText, noResultsUri,\n } = this.props;\n\n const renderLetters = this.letters.map((l, i) => {\n const available = items.filter(\n (x) => x.name.toLowerCase().indexOf(l) === 0,\n ).length > 0;\n\n let classNames = '';\n if (available) {\n classNames += 'available';\n }\n\n if (i === letterIndex) {\n classNames += ' active';\n }\n\n let style = {};\n if (available) {\n if (letterIndex === i) {\n style = { backgroundColor: '#fff', color: linkColor };\n } else {\n style = { backgroundColor: linkColor };\n }\n }\n\n return (\n <li\n key={l}\n className={classNames}\n >\n <button\n type=\"button\"\n style={style}\n onClick={() => {\n if (available) {\n this.setState({\n letterIndex: i,\n });\n }\n }}\n >\n {l}\n </button>\n </li>\n );\n });\n\n let filtered = [];\n if (letterIndex > -1) {\n filtered = items.filter(\n (x) => x.name.toLowerCase().indexOf(this.letters[letterIndex]) === 0,\n );\n }\n\n const renderItems = filtered.sort(sortAlphaObj).map((item, i) => {\n const key = i;\n const renderChildren = item.children.map(\n (c) => <li key={c.name}><a href={c.url}>{c.name}</a></li>,\n );\n\n if (item.children.length > 0) {\n return (\n <li key={key}>\n <a href={item.url}>{item.name}</a>\n <ul>\n {renderChildren}\n </ul>\n </li>\n );\n }\n\n return (\n <li key={key}>\n <a href={item.url}>{item.name}</a>\n </li>\n );\n });\n\n return (\n <div className=\"au_alphabox_content\">\n <ul className=\"letters\">\n {renderLetters}\n </ul>\n {\n letterIndex > -1 && (\n <div>\n <ul className=\"items\">\n {renderItems}\n {\n (noResultsText && noResultsUri) && (\n <li className=\"no-results\"><a href={noResultsUri}>{noResultsText}</a></li>\n )\n }\n </ul>\n </div>\n )\n }\n </div>\n );\n }\n}\n\nAlphaBoxContentComponent.defaultProps = {\n noResultsText: '',\n noResultsUri: '',\n};\n\nAlphaBoxContentComponent.propTypes = {\n linkColor: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n })).isRequired,\n noResultsText: PropTypes.string,\n noResultsUri: PropTypes.string,\n};\n\nAlphaBoxContentComponent.displayName = 'AlphaBoxContentComponent';\nexport default AlphaBoxContentComponent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Autosuggest from 'react-autosuggest';\nimport debounce from 'lodash.debounce';\n\nclass AutoSuggestComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n value: '',\n suggestions: [],\n noSuggestions: false,\n };\n\n this.onChange = this.onChange.bind(this);\n this.onEnter = this.onEnter.bind(this);\n this.onSuggestionsFetchRequested = debounce(this.onSuggestionsFetchRequested.bind(this), 400);\n this.onSuggestionsClearRequested = this.onSuggestionsClearRequested.bind(this);\n this.onSuggestionSelected = this.onSuggestionSelected.bind(this);\n }\n\n onChange(_, { newValue }) {\n const { setQuery } = this.props;\n this.setState({\n value: newValue,\n }, () => {\n setQuery(newValue);\n });\n }\n\n onEnter(event) {\n const { suggestions } = this.state;\n const { setResults } = this.props;\n if (event.key === 'Enter') {\n setResults(suggestions);\n }\n }\n\n onSuggestionsFetchRequested({ value }) {\n const { getSuggestions, collection } = this.props;\n getSuggestions(value, collection, (suggestions) => {\n this.setState({\n suggestions,\n noSuggestions: suggestions.length === 0 && value.trim() !== '' && value.trim().length > 1,\n });\n });\n }\n\n onSuggestionsClearRequested() {\n this.setState({\n suggestions: [],\n });\n }\n\n onSuggestionSelected(event, { suggestion }) {\n const { setResults, clearInput } = this.props;\n setResults([suggestion]);\n if (clearInput) {\n this.setState({\n value: '',\n });\n }\n }\n\n render() {\n const { value, suggestions, noSuggestions } = this.state;\n const {\n placeholder,\n getSuggestionValue,\n renderSuggestion,\n id,\n theme,\n type,\n initialValue,\n disabled,\n noResultsText,\n } = this.props;\n const inputProps = {\n placeholder,\n value: initialValue || value,\n id,\n type,\n disabled,\n 'aria-label': placeholder,\n onChange: this.onChange,\n onKeyDown: this.onEnter,\n };\n\n return (\n <>\n <Autosuggest\n suggestions={suggestions}\n onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}\n onSuggestionsClearRequested={this.onSuggestionsClearRequested}\n onSuggestionSelected={this.onSuggestionSelected}\n getSuggestionValue={getSuggestionValue}\n renderSuggestion={renderSuggestion}\n inputProps={inputProps}\n theme={theme}\n />\n {\n (noSuggestions && noResultsText) && (\n <p className=\"no-results\">\n <em>{noResultsText}</em>\n </p>\n )\n }\n </>\n );\n }\n}\n\nAutoSuggestComponent.displayName = 'AutoSuggestComponent';\n\nAutoSuggestComponent.defaultProps = {\n id: 'autosuggest1',\n theme: {\n container: 'react-autosuggest__container',\n containerOpen: 'react-autosuggest__container--open',\n input: 'react-autosuggest__input',\n inputOpen: 'react-autosuggest__input--open',\n inputFocused: 'react-autosuggest__input--focused',\n suggestionsContainer: 'react-autosuggest__suggestions-container',\n suggestionsContainerOpen: 'react-autosuggest__suggestions-container--open',\n suggestionsList: 'react-autosuggest__suggestions-list',\n suggestion: 'react-autosuggest__suggestion',\n suggestionFirst: 'react-autosuggest__suggestion--first',\n suggestionHighlighted: 'react-autosuggest__suggestion--highlighted',\n sectionContainer: 'react-autosuggest__section-container',\n sectionContainerFirst: 'react-autosuggest__section-container--first',\n sectionTitle: 'react-autosuggest__section-title',\n },\n clearInput: false,\n type: 'text',\n initialValue: '',\n disabled: false,\n setQuery: () => { },\n noResultsText: '',\n};\n\nAutoSuggestComponent.propTypes = {\n setQuery: PropTypes.func,\n getSuggestions: PropTypes.func.isRequired,\n getSuggestionValue: PropTypes.func.isRequired,\n renderSuggestion: PropTypes.func.isRequired,\n setResults: PropTypes.func.isRequired,\n collection: PropTypes.arrayOf(PropTypes.any).isRequired,\n placeholder: PropTypes.string.isRequired,\n id: PropTypes.string,\n theme: PropTypes.shape({}),\n clearInput: PropTypes.bool,\n type: PropTypes.string,\n initialValue: PropTypes.string,\n disabled: PropTypes.bool,\n noResultsText: PropTypes.string,\n};\nexport default AutoSuggestComponent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nclass DataBoxSuggestionComponent extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n item: props.item,\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.item.id !== prevState.item.id) {\n return {\n item: nextProps.item,\n };\n }\n\n return null;\n }\n\n render() {\n const { item } = this.state;\n return (\n <span>\n {item.name}\n </span>\n );\n }\n}\n\nDataBoxSuggestionComponent.propTypes = {\n item: PropTypes.shape({\n id: PropTypes.number.isRequired,\n }).isRequired,\n};\nDataBoxSuggestionComponent.displayName = 'DataBoxSuggestionComponent';\nexport default DataBoxSuggestionComponent;\n","/* eslint-env browser */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport axios from 'axios';\nimport AlphaBoxContentComponent from './AlphaBoxContentComponent';\nimport AutoSuggestComponent from '../AutoSuggestComponent';\nimport DataBoxSuggestionComponent from '../databox/DataBoxSuggestionComponent';\n\nclass AlphaBoxComponent extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n items: [],\n };\n\n this.getSuggestions = this.getSuggestions.bind(this);\n }\n\n componentDidMount() {\n const { box } = this.props;\n const { data } = box;\n if (data.mode === 'json' && data.source !== '') {\n if (data.itemsOnly) {\n data.source += '?itemsOnly=true';\n }\n axios.get(data.source).then((promise) => {\n const { data: pData } = promise;\n this.setState({ items: pData.items });\n });\n }\n }\n\n getSuggestions(value, _, callback) {\n const { items } = this.state;\n const inputValue = value.trim().toLowerCase();\n const inputLength = inputValue.length;\n callback(inputLength < 2 ? []\n : items.filter(\n (x) => x.name.toLowerCase().indexOf(inputValue) > -1\n || x.name.replace(/-/ig, ' ').toLowerCase().indexOf(inputValue) > -1\n || x.name.replace(/ /ig, '-').toLowerCase().indexOf(inputValue) > -1,\n )\n .sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase(), 'da', { ignorePunctuation: true })));\n }\n\n render() {\n const { box } = this.props;\n const { items } = this.state;\n const { config } = box;\n const renderLinks = config.links.map((l) => (\n <li key={l.title}>\n <a\n href={l.url}\n onClick={() => {\n if (typeof l.onClick === 'function') {\n l.onClick();\n }\n }}\n style={{ backgroundColor: box.background.linkColor }}\n >\n {l.title}\n </a>\n </li>\n ));\n\n return (\n <div className=\"au_alphabox\" style={{ backgroundColor: box.background.color }}>\n <div>\n <h2>\n <a href={config.url}>{config.title}</a>\n </h2>\n <AlphaBoxContentComponent\n items={items}\n linkColor={box.background.linkColor}\n noResultsText={config.noResultsAlphabet}\n noResultsUri={config.noResultsUri}\n />\n <AutoSuggestComponent\n placeholder={box.search.placeHolder}\n setResults={(_items) => {\n if (_items.length >= 1 && _items[0].url) {\n window.location.href = _items[0].url;\n }\n }}\n collection={[]}\n getSuggestions={this.getSuggestions}\n getSuggestionValue={(suggestion) => suggestion.name}\n renderSuggestion={(suggestion) => <DataBoxSuggestionComponent item={suggestion} />}\n noResultsText={config.noResultsSearch}\n />\n {\n config.description !== '' && (\n <h3>{config.description}</h3>\n )\n }\n {\n config.links.length > 0 && (\n <ul className=\"quicklinks resetlist\">\n {renderLinks}\n </ul>\n )\n }\n </div>\n </div>\n );\n }\n}\n\nAlphaBoxComponent.propTypes = {\n box: PropTypes.shape({\n id: PropTypes.number.isRequired,\n data: PropTypes.shape({\n itemsOnly: PropTypes.bool.isRequired,\n mode: PropTypes.string.isRequired,\n source: PropTypes.string.isRequired,\n }),\n config: PropTypes.shape({\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n container: PropTypes.string.isRequired,\n tracking: PropTypes.string.isRequired,\n links: PropTypes.arrayOf(PropTypes.shape({\n title: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n })).isRequired,\n title: PropTypes.string.isRequired,\n noResultsAlphabet: PropTypes.string.isRequired,\n noResultsSearch: PropTypes.string.isRequired,\n noResultsUri: PropTypes.string.isRequired,\n }).isRequired,\n background: PropTypes.shape({\n color: PropTypes.string.isRequired,\n linkColor: PropTypes.string.isRequired,\n }).isRequired,\n search: PropTypes.shape({\n placeHolder: PropTypes.string.isRequired,\n minLength: PropTypes.number.isRequired,\n }).isRequired,\n }).isRequired,\n};\n\nAlphaBoxComponent.displayName = 'AlphaBoxComponent';\nexport default AlphaBoxComponent;\n","/* eslint no-prototype-builtins: 0 */\n/* eslint no-restricted-syntax: 0 */\n/* eslint no-unused-vars: 0 */\n/* eslint-env browser */\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport AlphaBoxComponent from '../components/alphabox/AlphaBoxComponent';\n\nconst defaultOptions = {\n config: {\n title: '',\n url: '',\n description: '',\n container: '.au_alphabox',\n tracking: '/virtual/alphabox/',\n links: [\n { title: 'Link 1', url: 'http://www.au.dk' },\n { title: 'Link 2', url: 'http://www.au.dk' },\n ],\n },\n search: {\n minLength: 1,\n placeHolder: '',\n },\n background: {\n color: '#003e5c',\n linkColor: '#379fcb',\n },\n data: {\n mode: 'json',\n itemsOnly: false,\n },\n};\n\nclass AUAlphabox {\n constructor(boxes) {\n this.boxes = boxes;\n }\n\n static mergeOptions(_box) {\n const box = _box;\n if (!box.hasOwnProperty('config')) {\n box.config = {};\n }\n\n for (const conf in defaultOptions.config) {\n if (!box.config.hasOwnProperty(conf)) {\n box.config[conf] = defaultOptions.config[conf];\n }\n }\n\n if (!box.hasOwnProperty('background')) {\n box.background = {};\n }\n\n for (const bg in defaultOptions.background) {\n if (!box.background.hasOwnProperty(bg)) {\n box.background[bg] = defaultOptions.background[bg];\n }\n }\n\n if (!box.hasOwnProperty('search')) {\n box.search = {};\n }\n\n for (const sch in defaultOptions.search) {\n if (!box.search.hasOwnProperty(sch)) {\n box.search[sch] = defaultOptions.search[sch];\n }\n }\n\n if (!box.hasOwnProperty('data')) {\n box.data = {};\n }\n\n for (const data in defaultOptions.data) {\n if (!box.data.hasOwnProperty(data)) {\n box.data[data] = defaultOptions.data[data];\n }\n }\n }\n\n init() {\n for (let i = 0; i < this.boxes.length; i += 1) {\n const box = this.boxes[i];\n if (!box.loaded) {\n box.id = i;\n AUAlphabox.mergeOptions(box);\n const mountNode = document.querySelector(box.config.container);\n const visible = mountNode && getComputedStyle(mountNode).visibility !== 'hidden';\n if (visible) {\n ReactDOM.render(\n <AlphaBoxComponent box={box} />, mountNode,\n );\n box.loaded = true;\n }\n }\n }\n }\n}\n\nwindow.AUAlphabox = AUAlphabox;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _arrays = _interopRequireDefault(require(\"shallow-equal/arrays\"));\n\nvar _Autowhatever = _interopRequireDefault(require(\"./Autowhatever\"));\n\nvar _theme = require(\"./theme\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar alwaysTrue = function alwaysTrue() {\n return true;\n};\n\nvar defaultShouldRenderSuggestions = function defaultShouldRenderSuggestions(value) {\n return value.trim().length > 0;\n};\n\nvar defaultRenderSuggestionsContainer = function defaultRenderSuggestionsContainer(_ref) {\n var containerProps = _ref.containerProps,\n children = _ref.children;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", containerProps, children);\n};\n\nvar Autosuggest = /*#__PURE__*/function (_Component) {\n _inherits(Autosuggest, _Component);\n\n var _super = _createSuper(Autosuggest);\n\n function Autosuggest(_ref2) {\n var _this;\n\n var _alwaysRenderSuggestions = _ref2.alwaysRenderSuggestions;\n\n _classCallCheck(this, Autosuggest);\n\n _this = _super.call(this);\n\n _defineProperty(_assertThisInitialized(_this), \"onDocumentMouseDown\", function (event) {\n _this.justClickedOnSuggestionsContainer = false;\n var node = event.detail && event.detail.target || // This is for testing only. Please show me a better way to emulate this.\n event.target;\n\n while (node !== null && node !== document) {\n if (node.getAttribute && node.getAttribute('data-suggestion-index') !== null) {\n // Suggestion was clicked\n return;\n }\n\n if (node === _this.suggestionsContainer) {\n // Something else inside suggestions container was clicked\n _this.justClickedOnSuggestionsContainer = true;\n return;\n }\n\n node = node.parentNode;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"storeAutowhateverRef\", function (autowhatever) {\n if (autowhatever !== null) {\n _this.autowhatever = autowhatever;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionMouseEnter\", function (event, _ref3) {\n var sectionIndex = _ref3.sectionIndex,\n itemIndex = _ref3.itemIndex;\n\n _this.updateHighlightedSuggestion(sectionIndex, itemIndex);\n\n if (event.target === _this.pressedSuggestion) {\n _this.justSelectedSuggestion = true;\n }\n\n _this.justMouseEntered = true;\n setTimeout(function () {\n _this.justMouseEntered = false;\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"highlightFirstSuggestion\", function () {\n _this.updateHighlightedSuggestion(_this.props.multiSection ? 0 : null, 0);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDocumentMouseUp\", function () {\n if (_this.pressedSuggestion && !_this.justSelectedSuggestion) {\n _this.input.focus();\n }\n\n _this.pressedSuggestion = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionMouseDown\", function (event) {\n // Checking if this.justSelectedSuggestion is already true to not duplicate touch events in chrome\n // See: https://github.com/facebook/react/issues/9809#issuecomment-413978405\n if (!_this.justSelectedSuggestion) {\n _this.justSelectedSuggestion = true;\n _this.pressedSuggestion = event.target;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionsClearRequested\", function () {\n var onSuggestionsClearRequested = _this.props.onSuggestionsClearRequested;\n onSuggestionsClearRequested && onSuggestionsClearRequested();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionSelected\", function (event, data) {\n var _this$props = _this.props,\n alwaysRenderSuggestions = _this$props.alwaysRenderSuggestions,\n onSuggestionSelected = _this$props.onSuggestionSelected,\n onSuggestionsFetchRequested = _this$props.onSuggestionsFetchRequested;\n onSuggestionSelected && onSuggestionSelected(event, data);\n\n if (alwaysRenderSuggestions) {\n onSuggestionsFetchRequested({\n value: data.suggestionValue,\n reason: 'suggestion-selected'\n });\n } else {\n _this.onSuggestionsClearRequested();\n }\n\n _this.resetHighlightedSuggestion();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionClick\", function (event) {\n var _this$props2 = _this.props,\n alwaysRenderSuggestions = _this$props2.alwaysRenderSuggestions,\n focusInputOnSuggestionClick = _this$props2.focusInputOnSuggestionClick;\n\n var _this$getSuggestionIn = _this.getSuggestionIndices(_this.findSuggestionElement(event.target)),\n sectionIndex = _this$getSuggestionIn.sectionIndex,\n suggestionIndex = _this$getSuggestionIn.suggestionIndex;\n\n var clickedSuggestion = _this.getSuggestion(sectionIndex, suggestionIndex);\n\n var clickedSuggestionValue = _this.props.getSuggestionValue(clickedSuggestion);\n\n _this.maybeCallOnChange(event, clickedSuggestionValue, 'click');\n\n _this.onSuggestionSelected(event, {\n suggestion: clickedSuggestion,\n suggestionValue: clickedSuggestionValue,\n suggestionIndex: suggestionIndex,\n sectionIndex: sectionIndex,\n method: 'click'\n });\n\n if (!alwaysRenderSuggestions) {\n _this.closeSuggestions();\n }\n\n if (focusInputOnSuggestionClick === true) {\n _this.input.focus();\n } else {\n _this.onBlur();\n }\n\n setTimeout(function () {\n _this.justSelectedSuggestion = false;\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onBlur\", function () {\n var _this$props3 = _this.props,\n inputProps = _this$props3.inputProps,\n shouldRenderSuggestions = _this$props3.shouldRenderSuggestions;\n var value = inputProps.value,\n onBlur = inputProps.onBlur;\n\n var highlightedSuggestion = _this.getHighlightedSuggestion();\n\n var shouldRender = shouldRenderSuggestions(value);\n\n _this.setState({\n isFocused: false,\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null,\n valueBeforeUpDown: null,\n isCollapsed: !shouldRender\n });\n\n onBlur && onBlur(_this.blurEvent, {\n highlightedSuggestion: highlightedSuggestion\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionMouseLeave\", function (event) {\n _this.resetHighlightedSuggestion(false); // shouldResetValueBeforeUpDown\n\n\n if (_this.justSelectedSuggestion && event.target === _this.pressedSuggestion) {\n _this.justSelectedSuggestion = false;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionTouchStart\", function () {\n _this.justSelectedSuggestion = true; // todo: event.preventDefault when https://github.com/facebook/react/issues/2043\n // todo: gets released so onSuggestionMouseDown won't fire in chrome\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionTouchMove\", function () {\n _this.justSelectedSuggestion = false;\n _this.pressedSuggestion = null;\n\n _this.input.focus();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"itemProps\", function (_ref4) {\n var sectionIndex = _ref4.sectionIndex,\n itemIndex = _ref4.itemIndex;\n return {\n 'data-section-index': sectionIndex,\n 'data-suggestion-index': itemIndex,\n onMouseEnter: _this.onSuggestionMouseEnter,\n onMouseLeave: _this.onSuggestionMouseLeave,\n onMouseDown: _this.onSuggestionMouseDown,\n onTouchStart: _this.onSuggestionTouchStart,\n onTouchMove: _this.onSuggestionTouchMove,\n onClick: _this.onSuggestionClick\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderSuggestionsContainer\", function (_ref5) {\n var containerProps = _ref5.containerProps,\n children = _ref5.children;\n var renderSuggestionsContainer = _this.props.renderSuggestionsContainer;\n return renderSuggestionsContainer({\n containerProps: containerProps,\n children: children,\n query: _this.getQuery()\n });\n });\n\n _this.state = {\n isFocused: false,\n isCollapsed: !_alwaysRenderSuggestions,\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null,\n valueBeforeUpDown: null\n };\n _this.justPressedUpDown = false;\n _this.justMouseEntered = false;\n _this.pressedSuggestion = null;\n return _this;\n }\n\n _createClass(Autosuggest, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n document.addEventListener('mousedown', this.onDocumentMouseDown);\n document.addEventListener('mouseup', this.onDocumentMouseUp);\n this.input = this.autowhatever.input;\n this.suggestionsContainer = this.autowhatever.itemsContainer;\n } // eslint-disable-next-line camelcase, react/sort-comp\n\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n if ((0, _arrays[\"default\"])(nextProps.suggestions, this.props.suggestions)) {\n if (nextProps.highlightFirstSuggestion && nextProps.suggestions.length > 0 && this.justPressedUpDown === false && this.justMouseEntered === false) {\n this.highlightFirstSuggestion();\n }\n } else {\n if (this.willRenderSuggestions(nextProps)) {\n if (this.state.isCollapsed && !this.justSelectedSuggestion) {\n this.revealSuggestions();\n }\n } else {\n this.resetHighlightedSuggestion();\n }\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var _this$props4 = this.props,\n suggestions = _this$props4.suggestions,\n onSuggestionHighlighted = _this$props4.onSuggestionHighlighted,\n highlightFirstSuggestion = _this$props4.highlightFirstSuggestion;\n\n if (!(0, _arrays[\"default\"])(suggestions, prevProps.suggestions) && suggestions.length > 0 && highlightFirstSuggestion) {\n this.highlightFirstSuggestion();\n return;\n }\n\n if (onSuggestionHighlighted) {\n var highlightedSuggestion = this.getHighlightedSuggestion();\n var prevHighlightedSuggestion = prevState.highlightedSuggestion;\n\n if (highlightedSuggestion != prevHighlightedSuggestion) {\n onSuggestionHighlighted({\n suggestion: highlightedSuggestion\n });\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('mousedown', this.onDocumentMouseDown);\n document.removeEventListener('mouseup', this.onDocumentMouseUp);\n }\n }, {\n key: \"updateHighlightedSuggestion\",\n value: function updateHighlightedSuggestion(sectionIndex, suggestionIndex, prevValue) {\n var _this2 = this;\n\n this.setState(function (state) {\n var valueBeforeUpDown = state.valueBeforeUpDown;\n\n if (suggestionIndex === null) {\n valueBeforeUpDown = null;\n } else if (valueBeforeUpDown === null && typeof prevValue !== 'undefined') {\n valueBeforeUpDown = prevValue;\n }\n\n return {\n highlightedSectionIndex: sectionIndex,\n highlightedSuggestionIndex: suggestionIndex,\n highlightedSuggestion: suggestionIndex === null ? null : _this2.getSuggestion(sectionIndex, suggestionIndex),\n valueBeforeUpDown: valueBeforeUpDown\n };\n });\n }\n }, {\n key: \"resetHighlightedSuggestion\",\n value: function resetHighlightedSuggestion() {\n var shouldResetValueBeforeUpDown = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.setState(function (state) {\n var valueBeforeUpDown = state.valueBeforeUpDown;\n return {\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null,\n valueBeforeUpDown: shouldResetValueBeforeUpDown ? null : valueBeforeUpDown\n };\n });\n }\n }, {\n key: \"revealSuggestions\",\n value: function revealSuggestions() {\n this.setState({\n isCollapsed: false\n });\n }\n }, {\n key: \"closeSuggestions\",\n value: function closeSuggestions() {\n this.setState({\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null,\n valueBeforeUpDown: null,\n isCollapsed: true\n });\n }\n }, {\n key: \"getSuggestion\",\n value: function getSuggestion(sectionIndex, suggestionIndex) {\n var _this$props5 = this.props,\n suggestions = _this$props5.suggestions,\n multiSection = _this$props5.multiSection,\n getSectionSuggestions = _this$props5.getSectionSuggestions;\n\n if (multiSection) {\n return getSectionSuggestions(suggestions[sectionIndex])[suggestionIndex];\n }\n\n return suggestions[suggestionIndex];\n }\n }, {\n key: \"getHighlightedSuggestion\",\n value: function getHighlightedSuggestion() {\n var _this$state = this.state,\n highlightedSectionIndex = _this$state.highlightedSectionIndex,\n highlightedSuggestionIndex = _this$state.highlightedSuggestionIndex;\n\n if (highlightedSuggestionIndex === null) {\n return null;\n }\n\n return this.getSuggestion(highlightedSectionIndex, highlightedSuggestionIndex);\n }\n }, {\n key: \"getSuggestionValueByIndex\",\n value: function getSuggestionValueByIndex(sectionIndex, suggestionIndex) {\n var getSuggestionValue = this.props.getSuggestionValue;\n return getSuggestionValue(this.getSuggestion(sectionIndex, suggestionIndex));\n }\n }, {\n key: \"getSuggestionIndices\",\n value: function getSuggestionIndices(suggestionElement) {\n var sectionIndex = suggestionElement.getAttribute('data-section-index');\n var suggestionIndex = suggestionElement.getAttribute('data-suggestion-index');\n return {\n sectionIndex: typeof sectionIndex === 'string' ? parseInt(sectionIndex, 10) : null,\n suggestionIndex: parseInt(suggestionIndex, 10)\n };\n }\n }, {\n key: \"findSuggestionElement\",\n value: function findSuggestionElement(startNode) {\n var node = startNode;\n\n do {\n if (node.getAttribute && node.getAttribute('data-suggestion-index') !== null) {\n return node;\n }\n\n node = node.parentNode;\n } while (node !== null);\n\n console.error('Clicked element:', startNode); // eslint-disable-line no-console\n\n throw new Error(\"Couldn't find suggestion element\");\n }\n }, {\n key: \"maybeCallOnChange\",\n value: function maybeCallOnChange(event, newValue, method) {\n var _this$props$inputProp = this.props.inputProps,\n value = _this$props$inputProp.value,\n onChange = _this$props$inputProp.onChange;\n\n if (newValue !== value) {\n onChange(event, {\n newValue: newValue,\n method: method\n });\n }\n }\n }, {\n key: \"willRenderSuggestions\",\n value: function willRenderSuggestions(props) {\n var suggestions = props.suggestions,\n inputProps = props.inputProps,\n shouldRenderSuggestions = props.shouldRenderSuggestions;\n var value = inputProps.value;\n return suggestions.length > 0 && shouldRenderSuggestions(value);\n }\n }, {\n key: \"getQuery\",\n value: function getQuery() {\n var inputProps = this.props.inputProps;\n var value = inputProps.value;\n var valueBeforeUpDown = this.state.valueBeforeUpDown;\n return (valueBeforeUpDown === null ? value : valueBeforeUpDown).trim();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var _this$props6 = this.props,\n suggestions = _this$props6.suggestions,\n renderInputComponent = _this$props6.renderInputComponent,\n onSuggestionsFetchRequested = _this$props6.onSuggestionsFetchRequested,\n renderSuggestion = _this$props6.renderSuggestion,\n inputProps = _this$props6.inputProps,\n multiSection = _this$props6.multiSection,\n renderSectionTitle = _this$props6.renderSectionTitle,\n id = _this$props6.id,\n getSectionSuggestions = _this$props6.getSectionSuggestions,\n theme = _this$props6.theme,\n getSuggestionValue = _this$props6.getSuggestionValue,\n alwaysRenderSuggestions = _this$props6.alwaysRenderSuggestions,\n highlightFirstSuggestion = _this$props6.highlightFirstSuggestion;\n var _this$state2 = this.state,\n isFocused = _this$state2.isFocused,\n isCollapsed = _this$state2.isCollapsed,\n highlightedSectionIndex = _this$state2.highlightedSectionIndex,\n highlightedSuggestionIndex = _this$state2.highlightedSuggestionIndex,\n valueBeforeUpDown = _this$state2.valueBeforeUpDown;\n var shouldRenderSuggestions = alwaysRenderSuggestions ? alwaysTrue : this.props.shouldRenderSuggestions;\n var value = inputProps.value,\n _onFocus = inputProps.onFocus,\n _onKeyDown = inputProps.onKeyDown;\n var willRenderSuggestions = this.willRenderSuggestions(this.props);\n var isOpen = alwaysRenderSuggestions || isFocused && !isCollapsed && willRenderSuggestions;\n var items = isOpen ? suggestions : [];\n\n var autowhateverInputProps = _objectSpread({}, inputProps, {\n onFocus: function onFocus(event) {\n if (!_this3.justSelectedSuggestion && !_this3.justClickedOnSuggestionsContainer) {\n var shouldRender = shouldRenderSuggestions(value);\n\n _this3.setState({\n isFocused: true,\n isCollapsed: !shouldRender\n });\n\n _onFocus && _onFocus(event);\n\n if (shouldRender) {\n onSuggestionsFetchRequested({\n value: value,\n reason: 'input-focused'\n });\n }\n }\n },\n onBlur: function onBlur(event) {\n if (_this3.justClickedOnSuggestionsContainer) {\n _this3.input.focus();\n\n return;\n }\n\n _this3.blurEvent = event;\n\n if (!_this3.justSelectedSuggestion) {\n _this3.onBlur();\n\n _this3.onSuggestionsClearRequested();\n }\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var shouldRender = shouldRenderSuggestions(value);\n\n _this3.maybeCallOnChange(event, value, 'type');\n\n if (_this3.suggestionsContainer) {\n _this3.suggestionsContainer.scrollTop = 0;\n }\n\n _this3.setState(_objectSpread({}, highlightFirstSuggestion ? {} : {\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null\n }, {\n valueBeforeUpDown: null,\n isCollapsed: !shouldRender\n }));\n\n if (shouldRender) {\n onSuggestionsFetchRequested({\n value: value,\n reason: 'input-changed'\n });\n } else {\n _this3.onSuggestionsClearRequested();\n }\n },\n onKeyDown: function onKeyDown(event, data) {\n var keyCode = event.keyCode;\n\n switch (keyCode) {\n case 40: // ArrowDown\n\n case 38:\n // ArrowUp\n if (isCollapsed) {\n if (shouldRenderSuggestions(value)) {\n onSuggestionsFetchRequested({\n value: value,\n reason: 'suggestions-revealed'\n });\n\n _this3.revealSuggestions();\n }\n } else if (suggestions.length > 0) {\n var newHighlightedSectionIndex = data.newHighlightedSectionIndex,\n newHighlightedItemIndex = data.newHighlightedItemIndex;\n var newValue;\n\n if (newHighlightedItemIndex === null) {\n // valueBeforeUpDown can be null if, for example, user\n // hovers on the first suggestion and then pressed Up.\n // If that happens, use the original input value.\n newValue = valueBeforeUpDown === null ? value : valueBeforeUpDown;\n } else {\n newValue = _this3.getSuggestionValueByIndex(newHighlightedSectionIndex, newHighlightedItemIndex);\n }\n\n _this3.updateHighlightedSuggestion(newHighlightedSectionIndex, newHighlightedItemIndex, value);\n\n _this3.maybeCallOnChange(event, newValue, keyCode === 40 ? 'down' : 'up');\n }\n\n event.preventDefault(); // Prevents the cursor from moving\n\n _this3.justPressedUpDown = true;\n setTimeout(function () {\n _this3.justPressedUpDown = false;\n });\n break;\n // Enter\n\n case 13:\n {\n // See #388\n if (event.keyCode === 229) {\n break;\n }\n\n var highlightedSuggestion = _this3.getHighlightedSuggestion();\n\n if (isOpen && !alwaysRenderSuggestions) {\n _this3.closeSuggestions();\n }\n\n if (highlightedSuggestion != null) {\n var _newValue = getSuggestionValue(highlightedSuggestion);\n\n _this3.maybeCallOnChange(event, _newValue, 'enter');\n\n _this3.onSuggestionSelected(event, {\n suggestion: highlightedSuggestion,\n suggestionValue: _newValue,\n suggestionIndex: highlightedSuggestionIndex,\n sectionIndex: highlightedSectionIndex,\n method: 'enter'\n });\n\n _this3.justSelectedSuggestion = true;\n setTimeout(function () {\n _this3.justSelectedSuggestion = false;\n });\n }\n\n break;\n }\n // Escape\n\n case 27:\n {\n if (isOpen) {\n // If input.type === 'search', the browser clears the input\n // when Escape is pressed. We want to disable this default\n // behaviour so that, when suggestions are shown, we just hide\n // them, without clearing the input.\n event.preventDefault();\n }\n\n var willCloseSuggestions = isOpen && !alwaysRenderSuggestions;\n\n if (valueBeforeUpDown === null) {\n // Didn't interact with Up/Down\n if (!willCloseSuggestions) {\n var _newValue2 = '';\n\n _this3.maybeCallOnChange(event, _newValue2, 'escape');\n\n if (shouldRenderSuggestions(_newValue2)) {\n onSuggestionsFetchRequested({\n value: _newValue2,\n reason: 'escape-pressed'\n });\n } else {\n _this3.onSuggestionsClearRequested();\n }\n }\n } else {\n // Interacted with Up/Down\n _this3.maybeCallOnChange(event, valueBeforeUpDown, 'escape');\n }\n\n if (willCloseSuggestions) {\n _this3.onSuggestionsClearRequested();\n\n _this3.closeSuggestions();\n } else {\n _this3.resetHighlightedSuggestion();\n }\n\n break;\n }\n }\n\n _onKeyDown && _onKeyDown(event);\n }\n });\n\n var renderSuggestionData = {\n query: this.getQuery()\n };\n return /*#__PURE__*/_react[\"default\"].createElement(_Autowhatever[\"default\"], {\n multiSection: multiSection,\n items: items,\n renderInputComponent: renderInputComponent,\n renderItemsContainer: this.renderSuggestionsContainer,\n renderItem: renderSuggestion,\n renderItemData: renderSuggestionData,\n renderSectionTitle: renderSectionTitle,\n getSectionItems: getSectionSuggestions,\n highlightedSectionIndex: highlightedSectionIndex,\n highlightedItemIndex: highlightedSuggestionIndex,\n inputProps: autowhateverInputProps,\n itemProps: this.itemProps,\n theme: (0, _theme.mapToAutowhateverTheme)(theme),\n id: id,\n ref: this.storeAutowhateverRef\n });\n }\n }]);\n\n return Autosuggest;\n}(_react.Component);\n\nexports[\"default\"] = Autosuggest;\n\n_defineProperty(Autosuggest, \"propTypes\", {\n suggestions: _propTypes[\"default\"].array.isRequired,\n onSuggestionsFetchRequested: function onSuggestionsFetchRequested(props, propName) {\n var onSuggestionsFetchRequested = props[propName];\n\n if (typeof onSuggestionsFetchRequested !== 'function') {\n throw new Error(\"'onSuggestionsFetchRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsFetchRequestedProp\");\n }\n },\n onSuggestionsClearRequested: function onSuggestionsClearRequested(props, propName) {\n var onSuggestionsClearRequested = props[propName];\n\n if (props.alwaysRenderSuggestions === false && typeof onSuggestionsClearRequested !== 'function') {\n throw new Error(\"'onSuggestionsClearRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsClearRequestedProp\");\n }\n },\n onSuggestionSelected: _propTypes[\"default\"].func,\n onSuggestionHighlighted: _propTypes[\"default\"].func,\n renderInputComponent: _propTypes[\"default\"].func,\n renderSuggestionsContainer: _propTypes[\"default\"].func,\n getSuggestionValue: _propTypes[\"default\"].func.isRequired,\n renderSuggestion: _propTypes[\"default\"].func.isRequired,\n inputProps: function inputProps(props, propName) {\n var inputProps = props[propName];\n\n if (!Object.prototype.hasOwnProperty.call(inputProps, 'value')) {\n throw new Error(\"'inputProps' must have 'value'.\");\n }\n\n if (!Object.prototype.hasOwnProperty.call(inputProps, 'onChange')) {\n throw new Error(\"'inputProps' must have 'onChange'.\");\n }\n },\n shouldRenderSuggestions: _propTypes[\"default\"].func,\n alwaysRenderSuggestions: _propTypes[\"default\"].bool,\n multiSection: _propTypes[\"default\"].bool,\n renderSectionTitle: function renderSectionTitle(props, propName) {\n var renderSectionTitle = props[propName];\n\n if (props.multiSection === true && typeof renderSectionTitle !== 'function') {\n throw new Error(\"'renderSectionTitle' must be implemented. See: https://github.com/moroshko/react-autosuggest#renderSectionTitleProp\");\n }\n },\n getSectionSuggestions: function getSectionSuggestions(props, propName) {\n var getSectionSuggestions = props[propName];\n\n if (props.multiSection === true && typeof getSectionSuggestions !== 'function') {\n throw new Error(\"'getSectionSuggestions' must be implemented. See: https://github.com/moroshko/react-autosuggest#getSectionSuggestionsProp\");\n }\n },\n focusInputOnSuggestionClick: _propTypes[\"default\"].bool,\n highlightFirstSuggestion: _propTypes[\"default\"].bool,\n theme: _propTypes[\"default\"].object,\n id: _propTypes[\"default\"].string\n});\n\n_defineProperty(Autosuggest, \"defaultProps\", {\n renderSuggestionsContainer: defaultRenderSuggestionsContainer,\n shouldRenderSuggestions: defaultShouldRenderSuggestions,\n alwaysRenderSuggestions: false,\n multiSection: false,\n focusInputOnSuggestionClick: true,\n highlightFirstSuggestion: false,\n theme: _theme.defaultTheme,\n id: '1'\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sectionIterator = _interopRequireDefault(require(\"section-iterator\"));\n\nvar _reactThemeable = _interopRequireDefault(require(\"react-themeable\"));\n\nvar _SectionTitle = _interopRequireDefault(require(\"./SectionTitle\"));\n\nvar _ItemList = _interopRequireDefault(require(\"./ItemList\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar emptyObject = {};\n\nvar defaultRenderInputComponent = function defaultRenderInputComponent(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"input\", props);\n};\n\nvar defaultRenderItemsContainer = function defaultRenderItemsContainer(_ref) {\n var containerProps = _ref.containerProps,\n children = _ref.children;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", containerProps, children);\n};\n\nvar defaultTheme = {\n container: 'react-autowhatever__container',\n containerOpen: 'react-autowhatever__container--open',\n input: 'react-autowhatever__input',\n inputOpen: 'react-autowhatever__input--open',\n inputFocused: 'react-autowhatever__input--focused',\n itemsContainer: 'react-autowhatever__items-container',\n itemsContainerOpen: 'react-autowhatever__items-container--open',\n itemsList: 'react-autowhatever__items-list',\n item: 'react-autowhatever__item',\n itemFirst: 'react-autowhatever__item--first',\n itemHighlighted: 'react-autowhatever__item--highlighted',\n sectionContainer: 'react-autowhatever__section-container',\n sectionContainerFirst: 'react-autowhatever__section-container--first',\n sectionTitle: 'react-autowhatever__section-title'\n};\n\nvar Autowhatever = /*#__PURE__*/function (_Component) {\n _inherits(Autowhatever, _Component);\n\n var _super = _createSuper(Autowhatever);\n\n function Autowhatever(props) {\n var _this;\n\n _classCallCheck(this, Autowhatever);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"storeInputReference\", function (input) {\n if (input !== null) {\n _this.input = input;\n }\n\n var userRef = _this.props.inputProps.ref;\n\n if (userRef) {\n if (typeof userRef === 'function') {\n userRef(input);\n } else if (_typeof(userRef) === 'object' && Object.prototype.hasOwnProperty.call(userRef, 'current')) {\n userRef.current = input;\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"storeItemsContainerReference\", function (itemsContainer) {\n if (itemsContainer !== null) {\n _this.itemsContainer = itemsContainer;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onHighlightedItemChange\", function (highlightedItem) {\n _this.highlightedItem = highlightedItem;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getItemId\", function (sectionIndex, itemIndex) {\n if (itemIndex === null) {\n return null;\n }\n\n var id = _this.props.id;\n var section = sectionIndex === null ? '' : \"section-\".concat(sectionIndex);\n return \"react-autowhatever-\".concat(id, \"-\").concat(section, \"-item-\").concat(itemIndex);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onFocus\", function (event) {\n var inputProps = _this.props.inputProps;\n\n _this.setState({\n isInputFocused: true\n });\n\n inputProps.onFocus && inputProps.onFocus(event);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onBlur\", function (event) {\n var inputProps = _this.props.inputProps;\n\n _this.setState({\n isInputFocused: false\n });\n\n inputProps.onBlur && inputProps.onBlur(event);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onKeyDown\", function (event) {\n var _this$props = _this.props,\n inputProps = _this$props.inputProps,\n highlightedSectionIndex = _this$props.highlightedSectionIndex,\n highlightedItemIndex = _this$props.highlightedItemIndex;\n\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n {\n var nextPrev = event.key === 'ArrowDown' ? 'next' : 'prev';\n\n var _this$sectionIterator = _this.sectionIterator[nextPrev]([highlightedSectionIndex, highlightedItemIndex]),\n _this$sectionIterator2 = _slicedToArray(_this$sectionIterator, 2),\n newHighlightedSectionIndex = _this$sectionIterator2[0],\n newHighlightedItemIndex = _this$sectionIterator2[1];\n\n inputProps.onKeyDown(event, {\n newHighlightedSectionIndex: newHighlightedSectionIndex,\n newHighlightedItemIndex: newHighlightedItemIndex\n });\n break;\n }\n\n default:\n inputProps.onKeyDown(event, {\n highlightedSectionIndex: highlightedSectionIndex,\n highlightedItemIndex: highlightedItemIndex\n });\n }\n });\n\n _this.highlightedItem = null;\n _this.state = {\n isInputFocused: false\n };\n\n _this.setSectionsItems(props);\n\n _this.setSectionIterator(props);\n\n _this.setTheme(props);\n\n return _this;\n }\n\n _createClass(Autowhatever, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.ensureHighlightedItemIsVisible();\n } // eslint-disable-next-line camelcase, react/sort-comp\n\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.items !== this.props.items) {\n this.setSectionsItems(nextProps);\n }\n\n if (nextProps.items !== this.props.items || nextProps.multiSection !== this.props.multiSection) {\n this.setSectionIterator(nextProps);\n }\n\n if (nextProps.theme !== this.props.theme) {\n this.setTheme(nextProps);\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.ensureHighlightedItemIsVisible();\n }\n }, {\n key: \"setSectionsItems\",\n value: function setSectionsItems(props) {\n if (props.multiSection) {\n this.sectionsItems = props.items.map(function (section) {\n return props.getSectionItems(section);\n });\n this.sectionsLengths = this.sectionsItems.map(function (items) {\n return items.length;\n });\n this.allSectionsAreEmpty = this.sectionsLengths.every(function (itemsCount) {\n return itemsCount === 0;\n });\n }\n }\n }, {\n key: \"setSectionIterator\",\n value: function setSectionIterator(props) {\n this.sectionIterator = (0, _sectionIterator[\"default\"])({\n multiSection: props.multiSection,\n data: props.multiSection ? this.sectionsLengths : props.items.length\n });\n }\n }, {\n key: \"setTheme\",\n value: function setTheme(props) {\n this.theme = (0, _reactThemeable[\"default\"])(props.theme);\n }\n }, {\n key: \"renderSections\",\n value: function renderSections() {\n var _this2 = this;\n\n if (this.allSectionsAreEmpty) {\n return null;\n }\n\n var theme = this.theme;\n var _this$props2 = this.props,\n id = _this$props2.id,\n items = _this$props2.items,\n renderItem = _this$props2.renderItem,\n renderItemData = _this$props2.renderItemData,\n renderSectionTitle = _this$props2.renderSectionTitle,\n highlightedSectionIndex = _this$props2.highlightedSectionIndex,\n highlightedItemIndex = _this$props2.highlightedItemIndex,\n itemProps = _this$props2.itemProps;\n return items.map(function (section, sectionIndex) {\n var keyPrefix = \"react-autowhatever-\".concat(id, \"-\");\n var sectionKeyPrefix = \"\".concat(keyPrefix, \"section-\").concat(sectionIndex, \"-\");\n var isFirstSection = sectionIndex === 0; // `key` is provided by theme()\n\n /* eslint-disable react/jsx-key */\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", theme(\"\".concat(sectionKeyPrefix, \"container\"), 'sectionContainer', isFirstSection && 'sectionContainerFirst'), /*#__PURE__*/_react[\"default\"].createElement(_SectionTitle[\"default\"], {\n section: section,\n renderSectionTitle: renderSectionTitle,\n theme: theme,\n sectionKeyPrefix: sectionKeyPrefix\n }), /*#__PURE__*/_react[\"default\"].createElement(_ItemList[\"default\"], {\n items: _this2.sectionsItems[sectionIndex],\n itemProps: itemProps,\n renderItem: renderItem,\n renderItemData: renderItemData,\n sectionIndex: sectionIndex,\n highlightedItemIndex: highlightedSectionIndex === sectionIndex ? highlightedItemIndex : null,\n onHighlightedItemChange: _this2.onHighlightedItemChange,\n getItemId: _this2.getItemId,\n theme: theme,\n keyPrefix: keyPrefix,\n ref: _this2.storeItemsListReference\n }));\n /* eslint-enable react/jsx-key */\n });\n }\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var items = this.props.items;\n\n if (items.length === 0) {\n return null;\n }\n\n var theme = this.theme;\n var _this$props3 = this.props,\n id = _this$props3.id,\n renderItem = _this$props3.renderItem,\n renderItemData = _this$props3.renderItemData,\n highlightedSectionIndex = _this$props3.highlightedSectionIndex,\n highlightedItemIndex = _this$props3.highlightedItemIndex,\n itemProps = _this$props3.itemProps;\n return /*#__PURE__*/_react[\"default\"].createElement(_ItemList[\"default\"], {\n items: items,\n itemProps: itemProps,\n renderItem: renderItem,\n renderItemData: renderItemData,\n highlightedItemIndex: highlightedSectionIndex === null ? highlightedItemIndex : null,\n onHighlightedItemChange: this.onHighlightedItemChange,\n getItemId: this.getItemId,\n theme: theme,\n keyPrefix: \"react-autowhatever-\".concat(id, \"-\")\n });\n }\n }, {\n key: \"ensureHighlightedItemIsVisible\",\n value: function ensureHighlightedItemIsVisible() {\n var highlightedItem = this.highlightedItem;\n\n if (!highlightedItem) {\n return;\n }\n\n var itemsContainer = this.itemsContainer;\n var itemOffsetRelativeToContainer = highlightedItem.offsetParent === itemsContainer ? highlightedItem.offsetTop : highlightedItem.offsetTop - itemsContainer.offsetTop;\n var scrollTop = itemsContainer.scrollTop; // Top of the visible area\n\n if (itemOffsetRelativeToContainer < scrollTop) {\n // Item is off the top of the visible area\n scrollTop = itemOffsetRelativeToContainer;\n } else if (itemOffsetRelativeToContainer + highlightedItem.offsetHeight > scrollTop + itemsContainer.offsetHeight) {\n // Item is off the bottom of the visible area\n scrollTop = itemOffsetRelativeToContainer + highlightedItem.offsetHeight - itemsContainer.offsetHeight;\n }\n\n if (scrollTop !== itemsContainer.scrollTop) {\n itemsContainer.scrollTop = scrollTop;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var theme = this.theme;\n var _this$props4 = this.props,\n id = _this$props4.id,\n multiSection = _this$props4.multiSection,\n renderInputComponent = _this$props4.renderInputComponent,\n renderItemsContainer = _this$props4.renderItemsContainer,\n highlightedSectionIndex = _this$props4.highlightedSectionIndex,\n highlightedItemIndex = _this$props4.highlightedItemIndex;\n var isInputFocused = this.state.isInputFocused;\n var renderedItems = multiSection ? this.renderSections() : this.renderItems();\n var isOpen = renderedItems !== null;\n var ariaActivedescendant = this.getItemId(highlightedSectionIndex, highlightedItemIndex);\n var itemsContainerId = \"react-autowhatever-\".concat(id);\n\n var containerProps = _objectSpread({\n role: 'combobox',\n 'aria-haspopup': 'listbox',\n 'aria-owns': itemsContainerId,\n 'aria-expanded': isOpen\n }, theme(\"react-autowhatever-\".concat(id, \"-container\"), 'container', isOpen && 'containerOpen'), {}, this.props.containerProps);\n\n var inputComponent = renderInputComponent(_objectSpread({\n type: 'text',\n value: '',\n autoComplete: 'off',\n 'aria-autocomplete': 'list',\n 'aria-controls': itemsContainerId,\n 'aria-activedescendant': ariaActivedescendant\n }, theme(\"react-autowhatever-\".concat(id, \"-input\"), 'input', isOpen && 'inputOpen', isInputFocused && 'inputFocused'), {}, this.props.inputProps, {\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onKeyDown: this.props.inputProps.onKeyDown && this.onKeyDown,\n ref: this.storeInputReference\n }));\n var itemsContainer = renderItemsContainer({\n containerProps: _objectSpread({\n id: itemsContainerId,\n role: 'listbox'\n }, theme(\"react-autowhatever-\".concat(id, \"-items-container\"), 'itemsContainer', isOpen && 'itemsContainerOpen'), {\n ref: this.storeItemsContainerReference\n }),\n children: renderedItems\n });\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", containerProps, inputComponent, itemsContainer);\n }\n }]);\n\n return Autowhatever;\n}(_react.Component);\n\nexports[\"default\"] = Autowhatever;\n\n_defineProperty(Autowhatever, \"propTypes\", {\n id: _propTypes[\"default\"].string,\n // Used in aria-* attributes. If multiple Autowhatever's are rendered on a page, they must have unique ids.\n multiSection: _propTypes[\"default\"].bool,\n // Indicates whether a multi section layout should be rendered.\n renderInputComponent: _propTypes[\"default\"].func,\n // When specified, it is used to render the input element.\n renderItemsContainer: _propTypes[\"default\"].func,\n // Renders the items container.\n items: _propTypes[\"default\"].array.isRequired,\n // Array of items or sections to render.\n renderItem: _propTypes[\"default\"].func,\n // This function renders a single item.\n renderItemData: _propTypes[\"default\"].object,\n // Arbitrary data that will be passed to renderItem()\n renderSectionTitle: _propTypes[\"default\"].func,\n // This function gets a section and renders its title.\n getSectionItems: _propTypes[\"default\"].func,\n // This function gets a section and returns its items, which will be passed into `renderItem` for rendering.\n containerProps: _propTypes[\"default\"].object,\n // Arbitrary container props\n inputProps: _propTypes[\"default\"].object,\n // Arbitrary input props\n itemProps: _propTypes[\"default\"].oneOfType([// Arbitrary item props\n _propTypes[\"default\"].object, _propTypes[\"default\"].func]),\n highlightedSectionIndex: _propTypes[\"default\"].number,\n // Section index of the highlighted item\n highlightedItemIndex: _propTypes[\"default\"].number,\n // Highlighted item index (within a section)\n theme: _propTypes[\"default\"].oneOfType([// Styles. See: https://github.com/markdalgleish/react-themeable\n _propTypes[\"default\"].object, _propTypes[\"default\"].array])\n});\n\n_defineProperty(Autowhatever, \"defaultProps\", {\n id: '1',\n multiSection: false,\n renderInputComponent: defaultRenderInputComponent,\n renderItemsContainer: defaultRenderItemsContainer,\n renderItem: function renderItem() {\n throw new Error('`renderItem` must be provided');\n },\n renderItemData: emptyObject,\n renderSectionTitle: function renderSectionTitle() {\n throw new Error('`renderSectionTitle` must be provided');\n },\n getSectionItems: function getSectionItems() {\n throw new Error('`getSectionItems` must be provided');\n },\n containerProps: emptyObject,\n inputProps: emptyObject,\n itemProps: emptyObject,\n highlightedSectionIndex: null,\n highlightedItemIndex: null,\n theme: defaultTheme\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _compareObjects = _interopRequireDefault(require(\"./compareObjects\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar Item = /*#__PURE__*/function (_Component) {\n _inherits(Item, _Component);\n\n var _super = _createSuper(Item);\n\n function Item() {\n var _this;\n\n _classCallCheck(this, Item);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"storeItemReference\", function (item) {\n if (item !== null) {\n _this.item = item;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseEnter\", function (event) {\n var _this$props = _this.props,\n sectionIndex = _this$props.sectionIndex,\n itemIndex = _this$props.itemIndex;\n\n _this.props.onMouseEnter(event, {\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseLeave\", function (event) {\n var _this$props2 = _this.props,\n sectionIndex = _this$props2.sectionIndex,\n itemIndex = _this$props2.itemIndex;\n\n _this.props.onMouseLeave(event, {\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseDown\", function (event) {\n var _this$props3 = _this.props,\n sectionIndex = _this$props3.sectionIndex,\n itemIndex = _this$props3.itemIndex;\n\n _this.props.onMouseDown(event, {\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props4 = _this.props,\n sectionIndex = _this$props4.sectionIndex,\n itemIndex = _this$props4.itemIndex;\n\n _this.props.onClick(event, {\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n });\n });\n\n return _this;\n }\n\n _createClass(Item, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return (0, _compareObjects[\"default\"])(nextProps, this.props, ['renderItemData']);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props5 = this.props,\n isHighlighted = _this$props5.isHighlighted,\n item = _this$props5.item,\n renderItem = _this$props5.renderItem,\n renderItemData = _this$props5.renderItemData,\n restProps = _objectWithoutProperties(_this$props5, [\"isHighlighted\", \"item\", \"renderItem\", \"renderItemData\"]);\n\n delete restProps.sectionIndex;\n delete restProps.itemIndex;\n\n if (typeof restProps.onMouseEnter === 'function') {\n restProps.onMouseEnter = this.onMouseEnter;\n }\n\n if (typeof restProps.onMouseLeave === 'function') {\n restProps.onMouseLeave = this.onMouseLeave;\n }\n\n if (typeof restProps.onMouseDown === 'function') {\n restProps.onMouseDown = this.onMouseDown;\n }\n\n if (typeof restProps.onClick === 'function') {\n restProps.onClick = this.onClick;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"li\", _extends({\n role: \"option\"\n }, restProps, {\n ref: this.storeItemReference\n }), renderItem(item, _objectSpread({\n isHighlighted: isHighlighted\n }, renderItemData)));\n }\n }]);\n\n return Item;\n}(_react.Component);\n\nexports[\"default\"] = Item;\n\n_defineProperty(Item, \"propTypes\", {\n sectionIndex: _propTypes[\"default\"].number,\n isHighlighted: _propTypes[\"default\"].bool.isRequired,\n itemIndex: _propTypes[\"default\"].number.isRequired,\n item: _propTypes[\"default\"].any.isRequired,\n renderItem: _propTypes[\"default\"].func.isRequired,\n renderItemData: _propTypes[\"default\"].object.isRequired,\n onMouseEnter: _propTypes[\"default\"].func,\n onMouseLeave: _propTypes[\"default\"].func,\n onMouseDown: _propTypes[\"default\"].func,\n onClick: _propTypes[\"default\"].func\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _Item = _interopRequireDefault(require(\"./Item\"));\n\nvar _compareObjects = _interopRequireDefault(require(\"./compareObjects\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ItemsList = /*#__PURE__*/function (_Component) {\n _inherits(ItemsList, _Component);\n\n var _super = _createSuper(ItemsList);\n\n function ItemsList() {\n var _this;\n\n _classCallCheck(this, ItemsList);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"storeHighlightedItemReference\", function (highlightedItem) {\n _this.props.onHighlightedItemChange(highlightedItem === null ? null : highlightedItem.item);\n });\n\n return _this;\n }\n\n _createClass(ItemsList, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return (0, _compareObjects[\"default\"])(nextProps, this.props, ['itemProps']);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n items = _this$props.items,\n itemProps = _this$props.itemProps,\n renderItem = _this$props.renderItem,\n renderItemData = _this$props.renderItemData,\n sectionIndex = _this$props.sectionIndex,\n highlightedItemIndex = _this$props.highlightedItemIndex,\n getItemId = _this$props.getItemId,\n theme = _this$props.theme,\n keyPrefix = _this$props.keyPrefix;\n var sectionPrefix = sectionIndex === null ? keyPrefix : \"\".concat(keyPrefix, \"section-\").concat(sectionIndex, \"-\");\n var isItemPropsFunction = typeof itemProps === 'function';\n return /*#__PURE__*/_react[\"default\"].createElement(\"ul\", _extends({\n role: \"listbox\"\n }, theme(\"\".concat(sectionPrefix, \"items-list\"), 'itemsList')), items.map(function (item, itemIndex) {\n var isFirst = itemIndex === 0;\n var isHighlighted = itemIndex === highlightedItemIndex;\n var itemKey = \"\".concat(sectionPrefix, \"item-\").concat(itemIndex);\n var itemPropsObj = isItemPropsFunction ? itemProps({\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n }) : itemProps;\n\n var allItemProps = _objectSpread({\n id: getItemId(sectionIndex, itemIndex),\n 'aria-selected': isHighlighted\n }, theme(itemKey, 'item', isFirst && 'itemFirst', isHighlighted && 'itemHighlighted'), {}, itemPropsObj);\n\n if (isHighlighted) {\n allItemProps.ref = _this2.storeHighlightedItemReference;\n } // `key` is provided by theme()\n\n /* eslint-disable react/jsx-key */\n\n\n return /*#__PURE__*/_react[\"default\"].createElement(_Item[\"default\"], _extends({}, allItemProps, {\n sectionIndex: sectionIndex,\n isHighlighted: isHighlighted,\n itemIndex: itemIndex,\n item: item,\n renderItem: renderItem,\n renderItemData: renderItemData\n }));\n /* eslint-enable react/jsx-key */\n }));\n }\n }]);\n\n return ItemsList;\n}(_react.Component);\n\nexports[\"default\"] = ItemsList;\n\n_defineProperty(ItemsList, \"propTypes\", {\n items: _propTypes[\"default\"].array.isRequired,\n itemProps: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].func]),\n renderItem: _propTypes[\"default\"].func.isRequired,\n renderItemData: _propTypes[\"default\"].object.isRequired,\n sectionIndex: _propTypes[\"default\"].number,\n highlightedItemIndex: _propTypes[\"default\"].number,\n onHighlightedItemChange: _propTypes[\"default\"].func.isRequired,\n getItemId: _propTypes[\"default\"].func.isRequired,\n theme: _propTypes[\"default\"].func.isRequired,\n keyPrefix: _propTypes[\"default\"].string.isRequired\n});\n\n_defineProperty(ItemsList, \"defaultProps\", {\n sectionIndex: null\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _compareObjects = _interopRequireDefault(require(\"./compareObjects\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SectionTitle = /*#__PURE__*/function (_Component) {\n _inherits(SectionTitle, _Component);\n\n var _super = _createSuper(SectionTitle);\n\n function SectionTitle() {\n _classCallCheck(this, SectionTitle);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(SectionTitle, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return (0, _compareObjects[\"default\"])(nextProps, this.props);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n section = _this$props.section,\n renderSectionTitle = _this$props.renderSectionTitle,\n theme = _this$props.theme,\n sectionKeyPrefix = _this$props.sectionKeyPrefix;\n var sectionTitle = renderSectionTitle(section);\n\n if (!sectionTitle) {\n return null;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", theme(\"\".concat(sectionKeyPrefix, \"title\"), 'sectionTitle'), sectionTitle);\n }\n }]);\n\n return SectionTitle;\n}(_react.Component);\n\nexports[\"default\"] = SectionTitle;\n\n_defineProperty(SectionTitle, \"propTypes\", {\n section: _propTypes[\"default\"].any.isRequired,\n renderSectionTitle: _propTypes[\"default\"].func.isRequired,\n theme: _propTypes[\"default\"].func.isRequired,\n sectionKeyPrefix: _propTypes[\"default\"].string.isRequired\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = compareObjects;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction compareObjects(objA, objB) {\n var keys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n if (objA === objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n\n if (aKeys.length !== bKeys.length) {\n return true;\n }\n\n var keysMap = {};\n var i, len;\n\n for (i = 0, len = keys.length; i < len; i++) {\n keysMap[keys[i]] = true;\n }\n\n for (i = 0, len = aKeys.length; i < len; i++) {\n var key = aKeys[i];\n var aValue = objA[key];\n var bValue = objB[key];\n\n if (aValue === bValue) {\n continue;\n }\n\n if (!keysMap[key] || aValue === null || bValue === null || _typeof(aValue) !== 'object' || _typeof(bValue) !== 'object') {\n return true;\n }\n\n var aValueKeys = Object.keys(aValue);\n var bValueKeys = Object.keys(bValue);\n\n if (aValueKeys.length !== bValueKeys.length) {\n return true;\n }\n\n for (var n = 0, length = aValueKeys.length; n < length; n++) {\n var aValueKey = aValueKeys[n];\n\n if (aValue[aValueKey] !== bValue[aValueKey]) {\n return true;\n }\n }\n }\n\n return false;\n}","\"use strict\";\n\nmodule.exports = require('./Autosuggest')[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mapToAutowhateverTheme = exports.defaultTheme = void 0;\nvar defaultTheme = {\n container: 'react-autosuggest__container',\n containerOpen: 'react-autosuggest__container--open',\n input: 'react-autosuggest__input',\n inputOpen: 'react-autosuggest__input--open',\n inputFocused: 'react-autosuggest__input--focused',\n suggestionsContainer: 'react-autosuggest__suggestions-container',\n suggestionsContainerOpen: 'react-autosuggest__suggestions-container--open',\n suggestionsList: 'react-autosuggest__suggestions-list',\n suggestion: 'react-autosuggest__suggestion',\n suggestionFirst: 'react-autosuggest__suggestion--first',\n suggestionHighlighted: 'react-autosuggest__suggestion--highlighted',\n sectionContainer: 'react-autosuggest__section-container',\n sectionContainerFirst: 'react-autosuggest__section-container--first',\n sectionTitle: 'react-autosuggest__section-title'\n};\nexports.defaultTheme = defaultTheme;\n\nvar mapToAutowhateverTheme = function mapToAutowhateverTheme(theme) {\n var result = {};\n\n for (var key in theme) {\n switch (key) {\n case 'suggestionsContainer':\n result['itemsContainer'] = theme[key];\n break;\n\n case 'suggestionsContainerOpen':\n result['itemsContainerOpen'] = theme[key];\n break;\n\n case 'suggestion':\n result['item'] = theme[key];\n break;\n\n case 'suggestionFirst':\n result['itemFirst'] = theme[key];\n break;\n\n case 'suggestionHighlighted':\n result['itemHighlighted'] = theme[key];\n break;\n\n case 'suggestionsList':\n result['itemsList'] = theme[key];\n break;\n\n default:\n result[key] = theme[key];\n }\n }\n\n return result;\n};\n\nexports.mapToAutowhateverTheme = mapToAutowhateverTheme;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar truthy = function truthy(x) {\n return x;\n};\n\nexports['default'] = function (input) {\n var _ref = Array.isArray(input) && input.length === 2 ? input : [input, null];\n\n var _ref2 = _slicedToArray(_ref, 2);\n\n var theme = _ref2[0];\n var classNameDecorator = _ref2[1];\n\n return function (key) {\n for (var _len = arguments.length, names = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n names[_key - 1] = arguments[_key];\n }\n\n var styles = names.map(function (name) {\n return theme[name];\n }).filter(truthy);\n\n return typeof styles[0] === 'string' || typeof classNameDecorator === 'function' ? { key: key, className: classNameDecorator ? classNameDecorator.apply(undefined, _toConsumableArray(styles)) : styles.join(' ') } : { key: key, style: _objectAssign2['default'].apply(undefined, [{}].concat(_toConsumableArray(styles))) };\n };\n};\n\nmodule.exports = exports['default'];","'use strict';\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction ToObject(val) {\n\tif (val == null) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction ownEnumerableKeys(obj) {\n\tvar keys = Object.getOwnPropertyNames(obj);\n\n\tif (Object.getOwnPropertySymbols) {\n\t\tkeys = keys.concat(Object.getOwnPropertySymbols(obj));\n\t}\n\n\treturn keys.filter(function (key) {\n\t\treturn propIsEnumerable.call(obj, key);\n\t});\n}\n\nmodule.exports = Object.assign || function (target, source) {\n\tvar from;\n\tvar keys;\n\tvar to = ToObject(target);\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = arguments[s];\n\t\tkeys = ownEnumerableKeys(Object(from));\n\n\t\tfor (var i = 0; i < keys.length; i++) {\n\t\t\tto[keys[i]] = from[keys[i]];\n\t\t}\n\t}\n\n\treturn to;\n};\n","\"use strict\";\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nmodule.exports = function (_ref) {\n var data = _ref.data;\n var multiSection = _ref.multiSection;\n\n function nextNonEmptySectionIndex(sectionIndex) {\n if (sectionIndex === null) {\n sectionIndex = 0;\n } else {\n sectionIndex++;\n }\n\n while (sectionIndex < data.length && data[sectionIndex] === 0) {\n sectionIndex++;\n }\n\n return sectionIndex === data.length ? null : sectionIndex;\n }\n\n function prevNonEmptySectionIndex(sectionIndex) {\n if (sectionIndex === null) {\n sectionIndex = data.length - 1;\n } else {\n sectionIndex--;\n }\n\n while (sectionIndex >= 0 && data[sectionIndex] === 0) {\n sectionIndex--;\n }\n\n return sectionIndex === -1 ? null : sectionIndex;\n }\n\n function next(position) {\n var _position = _slicedToArray(position, 2);\n\n var sectionIndex = _position[0];\n var itemIndex = _position[1];\n\n\n if (multiSection) {\n if (itemIndex === null || itemIndex === data[sectionIndex] - 1) {\n sectionIndex = nextNonEmptySectionIndex(sectionIndex);\n\n if (sectionIndex === null) {\n return [null, null];\n }\n\n return [sectionIndex, 0];\n }\n\n return [sectionIndex, itemIndex + 1];\n }\n\n if (data === 0 || itemIndex === data - 1) {\n return [null, null];\n }\n\n if (itemIndex === null) {\n return [null, 0];\n }\n\n return [null, itemIndex + 1];\n }\n\n function prev(position) {\n var _position2 = _slicedToArray(position, 2);\n\n var sectionIndex = _position2[0];\n var itemIndex = _position2[1];\n\n\n if (multiSection) {\n if (itemIndex === null || itemIndex === 0) {\n sectionIndex = prevNonEmptySectionIndex(sectionIndex);\n\n if (sectionIndex === null) {\n return [null, null];\n }\n\n return [sectionIndex, data[sectionIndex] - 1];\n }\n\n return [sectionIndex, itemIndex - 1];\n }\n\n if (data === 0 || itemIndex === 0) {\n return [null, null];\n }\n\n if (itemIndex === null) {\n return [null, data - 1];\n }\n\n return [null, itemIndex - 1];\n }\n\n function isLast(position) {\n return next(position)[1] === null;\n }\n\n return {\n next: next,\n prev: prev,\n isLast: isLast\n };\n};\n","'use strict';\n\nfunction shallowEqualArrays(arrA, arrB) {\n if (arrA === arrB) {\n return true;\n }\n\n if (!arrA || !arrB) {\n return false;\n }\n\n var len = arrA.length;\n\n if (arrB.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualArrays;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__376__;","module.exports = __WEBPACK_EXTERNAL_MODULE__383__;","module.exports = __WEBPACK_EXTERNAL_MODULE__949__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(44);\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://@aarhus-university/au-lib-react-components/webpack/universalModuleDefinition","webpack://@aarhus-university/au-lib-react-components/./src/lib/helpers.js","webpack://@aarhus-university/au-lib-react-components/./src/components/alphabox/AlphaBoxContentComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/AutoSuggestComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/databox/DataBoxSuggestionComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/alphabox/AlphaBoxComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/lib/au-alphabox.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/lodash.debounce/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/prop-types/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/Autosuggest.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/Autowhatever.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/Item.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/ItemList.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/SectionTitle.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/compareObjects.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-autosuggest/dist/theme.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-themeable/dist/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/react-themeable/node_modules/object-assign/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/section-iterator/dist/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/shallow-equal/arrays/index.js","webpack://@aarhus-university/au-lib-react-components/external \"axios\"","webpack://@aarhus-university/au-lib-react-components/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\",\"umd\":\"react\"}","webpack://@aarhus-university/au-lib-react-components/external {\"root\":\"ReactDOM\",\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\",\"umd\":\"react-dom\"}","webpack://@aarhus-university/au-lib-react-components/webpack/bootstrap","webpack://@aarhus-university/au-lib-react-components/webpack/startup","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/compat get default export","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/define property getters","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/global","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/hasOwnProperty shorthand","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/make namespace object"],"names":["root","factory","exports","module","require","define","amd","a","i","self","__WEBPACK_EXTERNAL_MODULE__376__","__WEBPACK_EXTERNAL_MODULE__383__","__WEBPACK_EXTERNAL_MODULE__949__","serviceScopeProfile","window","sortAlphaObj","b","name","toLowerCase","localeCompare","ignorePunctuation","AlphaBoxContentComponent","React","constructor","props","super","this","letters","state","letterIndex","render","items","linkColor","noResultsText","noResultsUri","renderLetters","map","l","available","filter","x","indexOf","length","classNames","style","backgroundColor","color","key","className","type","onClick","setState","filtered","renderItems","sort","item","renderChildren","children","c","href","url","defaultProps","propTypes","PropTypes","isRequired","displayName","AutoSuggestComponent","value","suggestions","noSuggestions","onChange","bind","onEnter","onSuggestionsFetchRequested","debounce","onSuggestionsClearRequested","onSuggestionSelected","_","newValue","setQuery","event","setResults","getSuggestions","collection","trim","suggestion","clearInput","placeholder","getSuggestionValue","renderSuggestion","id","theme","initialValue","disabled","inputProps","onKeyDown","container","containerOpen","input","inputOpen","inputFocused","suggestionsContainer","suggestionsContainerOpen","suggestionsList","suggestionFirst","suggestionHighlighted","sectionContainer","sectionContainerFirst","sectionTitle","DataBoxSuggestionComponent","nextProps","prevState","AlphaBoxComponent","componentDidMount","box","data","mode","source","itemsOnly","axios","then","promise","pData","callback","inputValue","replace","config","renderLinks","links","title","background","noResultsAlphabet","search","placeHolder","_items","location","noResultsSearch","description","tracking","minLength","defaultOptions","AUAlphabox","boxes","_box","hasOwnProperty","conf","bg","sch","init","loaded","mergeOptions","mountNode","document","querySelector","getComputedStyle","visibility","ReactDOM","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","g","Object","freeSelf","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","toNumber","isObjectLike","call","isSymbol","other","valueOf","isBinary","test","slice","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","arguments","cancel","clearTimeout","flush","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","err","Error","getShim","ReactPropTypes","array","bool","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","_react","obj","__esModule","_typeof","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","defineProperty","getOwnPropertyDescriptor","desc","set","_interopRequireWildcard","_propTypes","_interopRequireDefault","_arrays","_Autowhatever","_theme","WeakMap","Symbol","iterator","ownKeys","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","enumerable","push","_objectSpread","target","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","configurable","writable","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","e","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","alwaysTrue","Autosuggest","_Component","subClass","superClass","create","_inherits","Derived","Constructor","protoProps","_super","Super","NewTarget","_ref2","_this","_alwaysRenderSuggestions","alwaysRenderSuggestions","instance","_classCallCheck","justClickedOnSuggestionsContainer","detail","getAttribute","parentNode","autowhatever","_ref3","sectionIndex","itemIndex","updateHighlightedSuggestion","pressedSuggestion","justSelectedSuggestion","justMouseEntered","multiSection","focus","_this$props","suggestionValue","reason","resetHighlightedSuggestion","_this$props2","focusInputOnSuggestionClick","_this$getSuggestionIn","getSuggestionIndices","findSuggestionElement","suggestionIndex","clickedSuggestion","getSuggestion","clickedSuggestionValue","maybeCallOnChange","method","closeSuggestions","onBlur","_this$props3","shouldRenderSuggestions","highlightedSuggestion","getHighlightedSuggestion","shouldRender","isFocused","highlightedSectionIndex","highlightedSuggestionIndex","valueBeforeUpDown","isCollapsed","blurEvent","_ref4","onMouseEnter","onSuggestionMouseEnter","onMouseLeave","onSuggestionMouseLeave","onMouseDown","onSuggestionMouseDown","onTouchStart","onSuggestionTouchStart","onTouchMove","onSuggestionTouchMove","onSuggestionClick","_ref5","containerProps","renderSuggestionsContainer","query","getQuery","justPressedUpDown","addEventListener","onDocumentMouseDown","onDocumentMouseUp","itemsContainer","highlightFirstSuggestion","willRenderSuggestions","revealSuggestions","prevProps","_this$props4","onSuggestionHighlighted","removeEventListener","prevValue","_this2","shouldResetValueBeforeUpDown","_this$props5","getSectionSuggestions","_this$state","suggestionElement","startNode","console","error","_this$props$inputProp","_this3","_this$props6","renderInputComponent","renderSectionTitle","_this$state2","_onFocus","onFocus","_onKeyDown","isOpen","autowhateverInputProps","scrollTop","keyCode","newHighlightedSectionIndex","newHighlightedItemIndex","getSuggestionValueByIndex","preventDefault","_newValue","willCloseSuggestions","renderSuggestionData","createElement","renderItemsContainer","renderItem","renderItemData","getSectionItems","highlightedItemIndex","itemProps","mapToAutowhateverTheme","ref","storeAutowhateverRef","Component","_ref","defaultTheme","_sectionIterator","_reactThemeable","_SectionTitle","_ItemList","_arrayLikeToArray","arr","len","arr2","Array","emptyObject","Autowhatever","userRef","current","highlightedItem","section","concat","isInputFocused","nextPrev","_this$sectionIterator2","sectionIterator","isArray","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","next","done","_iterableToArrayLimit","minLen","n","from","_unsupportedIterableToArray","_nonIterableRest","setSectionsItems","setSectionIterator","setTheme","ensureHighlightedItemIsVisible","sectionsItems","sectionsLengths","allSectionsAreEmpty","every","itemsCount","keyPrefix","sectionKeyPrefix","isFirstSection","onHighlightedItemChange","getItemId","storeItemsListReference","itemOffsetRelativeToContainer","offsetParent","offsetTop","offsetHeight","renderedItems","renderSections","ariaActivedescendant","itemsContainerId","role","inputComponent","autoComplete","storeInputReference","storeItemsContainerReference","itemsContainerOpen","itemsList","itemFirst","itemHighlighted","_compareObjects","_extends","assign","Item","_len","_key","isHighlighted","restProps","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutProperties","storeItemReference","_Item","ItemsList","sectionPrefix","isItemPropsFunction","isFirst","itemKey","itemPropsObj","allItemProps","storeHighlightedItemReference","SectionTitle","objA","objB","aKeys","bKeys","keysMap","aValue","bValue","aValueKeys","bValueKeys","aValueKey","_toConsumableArray","_objectAssign2","truthy","sliceIterator","_slicedToArray","classNameDecorator","names","styles","join","propIsEnumerable","ToObject","val","ownEnumerableKeys","getOwnPropertyNames","to","s","position","_position","nextNonEmptySectionIndex","prev","_position2","prevNonEmptySectionIndex","isLast","arrA","arrB","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","getter","d","definition","globalThis","prop","r","toStringTag"],"mappings":"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","file":"alphabox.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"axios\"), require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"axios\", \"react\", \"react-dom\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"axios\"), require(\"react\"), require(\"react-dom\")) : factory(root[\"axios\"], root[\"React\"], root[\"ReactDOM\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, function(__WEBPACK_EXTERNAL_MODULE__376__, __WEBPACK_EXTERNAL_MODULE__383__, __WEBPACK_EXTERNAL_MODULE__949__) {\nreturn ","/* eslint-env browser */\n/* NO IMPORTS! */\n\nconst { serviceScopeProfile } = window; // Sættes pr. webapp\n\nconst sortAlphaObj = (a, b) => {\n if (typeof a.name !== 'undefined' && typeof b.name !== 'undefined') {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase(), 'da', { ignorePunctuation: true });\n }\n return 0;\n};\n\nconst isElementInViewport = (element) => {\n if (element === null) {\n return false;\n }\n\n const rect = element.getBoundingClientRect();\n\n return rect.bottom > 0\n && rect.right > 0\n && rect.left < (window.innerWidth || document.documentElement.clientWidth)\n && rect.top < (window.innerHeight || document.documentElement.clientHeight);\n};\n\nconst isElementPartlyInViewport = (element) => {\n let top = element.offsetTop;\n let left = element.offsetLeft;\n const width = element.offsetWidth;\n const height = element.offsetHeight;\n\n let offsetElement = element;\n while (offsetElement.offsetParent) {\n offsetElement = element.offsetParent;\n top += element.offsetTop;\n left += element.offsetLeft;\n }\n\n return (\n top < (window.pageYOffset + window.innerHeight)\n && left < (window.pageXOffset + window.innerWidth)\n && (top + height) > window.pageYOffset\n && (left + width) > window.pageXOffset\n );\n};\n\nconst setCookie = (cookieName, value, maxAge = null, exdays = null, path = ';path=/;domain=au.dk') => {\n let cookieValue = encodeURI(value);\n if (exdays != null) {\n const exdate = new Date();\n exdate.setDate(exdate.getDate() + exdays);\n cookieValue = `${cookieValue}; expires=${exdate.toUTCString()}`;\n } else if (maxAge != null) {\n cookieValue = `${cookieValue}; max-age=${maxAge}`;\n }\n\n document.cookie = `${cookieName}=${cookieValue}${path}`;\n};\n\nconst getCookie = (cookieName) => {\n let cookieValue = document.cookie;\n let cookieStart = cookieValue.indexOf(` ${cookieName}=`);\n if (cookieStart === -1) {\n cookieStart = cookieValue.indexOf(`${cookieName}=`);\n }\n if (cookieStart === -1) {\n cookieValue = null;\n } else {\n cookieStart = cookieValue.indexOf('=', cookieStart) + 1;\n let cookieEnd = cookieValue.indexOf(';', cookieStart);\n if (cookieEnd === -1) {\n cookieEnd = cookieValue.length;\n }\n cookieValue = decodeURI(cookieValue.substring(cookieStart, cookieEnd));\n }\n return cookieValue;\n};\n\nconst addToSessionStorage = (key, data) => {\n if (window.sessionStorage) {\n sessionStorage.setItem(key, JSON.stringify(data));\n }\n\n return data;\n};\n\nconst getFromSessionStorage = (key) => {\n if (window.sessionStorage) {\n const data = sessionStorage.getItem(key);\n if (data) {\n return JSON.parse(data);\n }\n }\n\n return null;\n};\n\nconst addToLocalStorage = (key, data) => {\n if (window.localStorage) {\n localStorage.setItem(key, JSON.stringify(data));\n }\n\n return data;\n};\n\nconst getFromLocalStorage = (key) => {\n if (window.localStorage) {\n const data = localStorage.getItem(key);\n if (data) {\n return JSON.parse(data);\n }\n }\n\n return null;\n};\n\nconst setContextInSession = (key, data, clearPrevious = true) => {\n if (clearPrevious) {\n Object.entries(window.sessionStorage).forEach((entry) => {\n const entryKey = entry[0];\n if (entryKey.includes('user-context')) {\n window.sessionStorage.removeItem(entryKey);\n }\n });\n }\n window.sessionStorage.setItem(`user-context-${key}`, data);\n};\n\nconst getContextFromSession = (key = '', any = false) => {\n if (any) {\n let foundContext = null;\n Object.entries(window.sessionStorage).forEach((entry) => {\n const entryKey = entry[0];\n if (entryKey.includes('user-context')) {\n foundContext = window.sessionStorage.getItem(entryKey);\n }\n });\n return foundContext;\n }\n\n return window.sessionStorage.getItem(`user-context-${key}`);\n};\n\n// Credits: http://blog.vishalon.net/index.php/javascript-getting-and-setting-caret-position-in-textarea/\nconst setCaretPosition = (element, pos) => {\n // Modern browsers\n if (element && element.setSelectionRange) {\n element.focus();\n element.setSelectionRange(pos, pos);\n }\n};\n\nconst splitPhoneNumber = (countryCodes, phoneNumber) => {\n const countryCodeFound = (code) => countryCodes.filter(\n (x) => x.code === parseInt(code, 10),\n ).length > 0;\n\n const findPrefix = () => {\n if (countryCodes.length > 0) {\n const skip = phoneNumber.length > 0 ? '' : '+'; // Hackish...\n let count = 1;\n let prefix = countryCodes.find((x) => x.important).code;\n while (count < phoneNumber.length) {\n const split = phoneNumber.substring(skip.length, skip.length + count);\n if (countryCodeFound(split)) {\n prefix = split;\n }\n count += 1;\n }\n return skip + prefix;\n }\n return '';\n };\n\n const prefix = findPrefix();\n return {\n prefix,\n number: phoneNumber.replace(prefix, ''),\n };\n};\n\nconst prettyPrintPhone = (countryCodes, phone) => {\n if (phone) {\n const { prefix, number } = splitPhoneNumber(countryCodes, phone);\n if (prefix) {\n return `${prefix} ${number.match(/\\d{1,2}/g).join(' ')}`;\n }\n return number.match(/\\d{1,2}/g).join(' ');\n }\n return '';\n};\n\nconst getAccessToken = (auAuth, serviceScope, callback) => {\n auAuth.getAccessToken([serviceScope]).then((accessToken) => {\n callback(accessToken.accessToken);\n });\n};\n\nconst parseError = (errorArray) => errorArray.map((e) => e.errorMessage).join(', ');\n\nconst scrollTo = (x = 0, y = 0) => window.scrollTo(x, y);\n\nexport {\n sortAlphaObj,\n isElementInViewport,\n isElementPartlyInViewport,\n setCookie,\n getCookie,\n addToLocalStorage,\n getFromLocalStorage,\n addToSessionStorage,\n getFromSessionStorage,\n setCaretPosition,\n getAccessToken,\n serviceScopeProfile,\n splitPhoneNumber,\n prettyPrintPhone,\n parseError,\n scrollTo,\n setContextInSession,\n getContextFromSession,\n};\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { sortAlphaObj } from '../../lib/helpers';\r\n\r\nclass AlphaBoxContentComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'æ', 'ø', 'å'];\r\n this.state = {\r\n letterIndex: -1,\r\n };\r\n }\r\n\r\n render() {\r\n const { letterIndex } = this.state;\r\n const {\r\n items, linkColor, noResultsText, noResultsUri,\r\n } = this.props;\r\n\r\n const renderLetters = this.letters.map((l, i) => {\r\n const available = items.filter(\r\n (x) => x.name.toLowerCase().indexOf(l) === 0,\r\n ).length > 0;\r\n\r\n let classNames = '';\r\n if (available) {\r\n classNames += 'available';\r\n }\r\n\r\n if (i === letterIndex) {\r\n classNames += ' active';\r\n }\r\n\r\n let style = {};\r\n if (available) {\r\n if (letterIndex === i) {\r\n style = { backgroundColor: '#fff', color: linkColor };\r\n } else {\r\n style = { backgroundColor: linkColor };\r\n }\r\n }\r\n\r\n return (\r\n <li\r\n key={l}\r\n className={classNames}\r\n >\r\n <button\r\n type=\"button\"\r\n style={style}\r\n onClick={() => {\r\n if (available) {\r\n this.setState({\r\n letterIndex: i,\r\n });\r\n }\r\n }}\r\n >\r\n {l}\r\n </button>\r\n </li>\r\n );\r\n });\r\n\r\n let filtered = [];\r\n if (letterIndex > -1) {\r\n filtered = items.filter(\r\n (x) => x.name.toLowerCase().indexOf(this.letters[letterIndex]) === 0,\r\n );\r\n }\r\n\r\n const renderItems = filtered.sort(sortAlphaObj).map((item, i) => {\r\n const key = i;\r\n const renderChildren = item.children.map(\r\n (c) => <li key={c.name}><a href={c.url}>{c.name}</a></li>,\r\n );\r\n\r\n if (item.children.length > 0) {\r\n return (\r\n <li key={key}>\r\n <a href={item.url}>{item.name}</a>\r\n <ul>\r\n {renderChildren}\r\n </ul>\r\n </li>\r\n );\r\n }\r\n\r\n return (\r\n <li key={key}>\r\n <a href={item.url}>{item.name}</a>\r\n </li>\r\n );\r\n });\r\n\r\n return (\r\n <div className=\"au_alphabox_content\">\r\n <ul className=\"letters\">\r\n {renderLetters}\r\n </ul>\r\n {\r\n letterIndex > -1 && (\r\n <div>\r\n <ul className=\"items\">\r\n {renderItems}\r\n {\r\n (noResultsText && noResultsUri) && (\r\n <li className=\"no-results\"><a href={noResultsUri}>{noResultsText}</a></li>\r\n )\r\n }\r\n </ul>\r\n </div>\r\n )\r\n }\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nAlphaBoxContentComponent.defaultProps = {\r\n noResultsText: '',\r\n noResultsUri: '',\r\n};\r\n\r\nAlphaBoxContentComponent.propTypes = {\r\n linkColor: PropTypes.string.isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({\r\n name: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n })).isRequired,\r\n noResultsText: PropTypes.string,\r\n noResultsUri: PropTypes.string,\r\n};\r\n\r\nAlphaBoxContentComponent.displayName = 'AlphaBoxContentComponent';\r\nexport default AlphaBoxContentComponent;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Autosuggest from 'react-autosuggest';\r\nimport debounce from 'lodash.debounce';\r\n\r\nclass AutoSuggestComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: '',\r\n suggestions: [],\r\n noSuggestions: false,\r\n };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n this.onEnter = this.onEnter.bind(this);\r\n this.onSuggestionsFetchRequested = debounce(this.onSuggestionsFetchRequested.bind(this), 400);\r\n this.onSuggestionsClearRequested = this.onSuggestionsClearRequested.bind(this);\r\n this.onSuggestionSelected = this.onSuggestionSelected.bind(this);\r\n }\r\n\r\n onChange(_, { newValue }) {\r\n const { setQuery } = this.props;\r\n this.setState({\r\n value: newValue,\r\n }, () => {\r\n setQuery(newValue);\r\n });\r\n }\r\n\r\n onEnter(event) {\r\n const { suggestions } = this.state;\r\n const { setResults } = this.props;\r\n if (event.key === 'Enter') {\r\n setResults(suggestions);\r\n }\r\n }\r\n\r\n onSuggestionsFetchRequested({ value }) {\r\n const { getSuggestions, collection } = this.props;\r\n getSuggestions(value, collection, (suggestions) => {\r\n this.setState({\r\n suggestions,\r\n noSuggestions: suggestions.length === 0 && value.trim() !== '' && value.trim().length > 1,\r\n });\r\n });\r\n }\r\n\r\n onSuggestionsClearRequested() {\r\n this.setState({\r\n suggestions: [],\r\n });\r\n }\r\n\r\n onSuggestionSelected(event, { suggestion }) {\r\n const { setResults, clearInput } = this.props;\r\n setResults([suggestion]);\r\n if (clearInput) {\r\n this.setState({\r\n value: '',\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const { value, suggestions, noSuggestions } = this.state;\r\n const {\r\n placeholder,\r\n getSuggestionValue,\r\n renderSuggestion,\r\n id,\r\n theme,\r\n type,\r\n initialValue,\r\n disabled,\r\n noResultsText,\r\n } = this.props;\r\n const inputProps = {\r\n placeholder,\r\n value: initialValue || value,\r\n id,\r\n type,\r\n disabled,\r\n 'aria-label': placeholder,\r\n onChange: this.onChange,\r\n onKeyDown: this.onEnter,\r\n };\r\n\r\n return (\r\n <>\r\n <Autosuggest\r\n suggestions={suggestions}\r\n onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}\r\n onSuggestionsClearRequested={this.onSuggestionsClearRequested}\r\n onSuggestionSelected={this.onSuggestionSelected}\r\n getSuggestionValue={getSuggestionValue}\r\n renderSuggestion={renderSuggestion}\r\n inputProps={inputProps}\r\n theme={theme}\r\n />\r\n {\r\n (noSuggestions && noResultsText) && (\r\n <p className=\"no-results\">\r\n <em>{noResultsText}</em>\r\n </p>\r\n )\r\n }\r\n </>\r\n );\r\n }\r\n}\r\n\r\nAutoSuggestComponent.displayName = 'AutoSuggestComponent';\r\n\r\nAutoSuggestComponent.defaultProps = {\r\n id: 'autosuggest1',\r\n theme: {\r\n container: 'react-autosuggest__container',\r\n containerOpen: 'react-autosuggest__container--open',\r\n input: 'react-autosuggest__input',\r\n inputOpen: 'react-autosuggest__input--open',\r\n inputFocused: 'react-autosuggest__input--focused',\r\n suggestionsContainer: 'react-autosuggest__suggestions-container',\r\n suggestionsContainerOpen: 'react-autosuggest__suggestions-container--open',\r\n suggestionsList: 'react-autosuggest__suggestions-list',\r\n suggestion: 'react-autosuggest__suggestion',\r\n suggestionFirst: 'react-autosuggest__suggestion--first',\r\n suggestionHighlighted: 'react-autosuggest__suggestion--highlighted',\r\n sectionContainer: 'react-autosuggest__section-container',\r\n sectionContainerFirst: 'react-autosuggest__section-container--first',\r\n sectionTitle: 'react-autosuggest__section-title',\r\n },\r\n clearInput: false,\r\n type: 'text',\r\n initialValue: '',\r\n disabled: false,\r\n setQuery: () => { },\r\n noResultsText: '',\r\n};\r\n\r\nAutoSuggestComponent.propTypes = {\r\n setQuery: PropTypes.func,\r\n getSuggestions: PropTypes.func.isRequired,\r\n getSuggestionValue: PropTypes.func.isRequired,\r\n renderSuggestion: PropTypes.func.isRequired,\r\n setResults: PropTypes.func.isRequired,\r\n collection: PropTypes.arrayOf(PropTypes.any).isRequired,\r\n placeholder: PropTypes.string.isRequired,\r\n id: PropTypes.string,\r\n theme: PropTypes.shape({}),\r\n clearInput: PropTypes.bool,\r\n type: PropTypes.string,\r\n initialValue: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n noResultsText: PropTypes.string,\r\n};\r\nexport default AutoSuggestComponent;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass DataBoxSuggestionComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n item: props.item,\r\n };\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.item.id !== prevState.item.id) {\r\n return {\r\n item: nextProps.item,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n render() {\r\n const { item } = this.state;\r\n return (\r\n <span>\r\n {item.name}\r\n </span>\r\n );\r\n }\r\n}\r\n\r\nDataBoxSuggestionComponent.propTypes = {\r\n item: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n }).isRequired,\r\n};\r\nDataBoxSuggestionComponent.displayName = 'DataBoxSuggestionComponent';\r\nexport default DataBoxSuggestionComponent;\r\n","/* eslint-env browser */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport axios from 'axios';\r\nimport AlphaBoxContentComponent from './AlphaBoxContentComponent';\r\nimport AutoSuggestComponent from '../AutoSuggestComponent';\r\nimport DataBoxSuggestionComponent from '../databox/DataBoxSuggestionComponent';\r\n\r\nclass AlphaBoxComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n items: [],\r\n };\r\n\r\n this.getSuggestions = this.getSuggestions.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const { box } = this.props;\r\n const { data } = box;\r\n if (data.mode === 'json' && data.source !== '') {\r\n if (data.itemsOnly) {\r\n data.source += '?itemsOnly=true';\r\n }\r\n axios.get(data.source).then((promise) => {\r\n const { data: pData } = promise;\r\n this.setState({ items: pData.items });\r\n });\r\n }\r\n }\r\n\r\n getSuggestions(value, _, callback) {\r\n const { items } = this.state;\r\n const inputValue = value.trim().toLowerCase();\r\n const inputLength = inputValue.length;\r\n callback(inputLength < 2 ? []\r\n : items.filter(\r\n (x) => x.name.toLowerCase().indexOf(inputValue) > -1\r\n || x.name.replace(/-/ig, ' ').toLowerCase().indexOf(inputValue) > -1\r\n || x.name.replace(/ /ig, '-').toLowerCase().indexOf(inputValue) > -1,\r\n )\r\n .sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase(), 'da', { ignorePunctuation: true })));\r\n }\r\n\r\n render() {\r\n const { box } = this.props;\r\n const { items } = this.state;\r\n const { config } = box;\r\n const renderLinks = config.links.map((l) => (\r\n <li key={l.title}>\r\n <a\r\n href={l.url}\r\n onClick={() => {\r\n if (typeof l.onClick === 'function') {\r\n l.onClick();\r\n }\r\n }}\r\n style={{ backgroundColor: box.background.linkColor }}\r\n >\r\n {l.title}\r\n </a>\r\n </li>\r\n ));\r\n\r\n return (\r\n <div className=\"au_alphabox\" style={{ backgroundColor: box.background.color }}>\r\n <div>\r\n <h2>\r\n <a href={config.url}>{config.title}</a>\r\n </h2>\r\n <AlphaBoxContentComponent\r\n items={items}\r\n linkColor={box.background.linkColor}\r\n noResultsText={config.noResultsAlphabet}\r\n noResultsUri={config.noResultsUri}\r\n />\r\n <AutoSuggestComponent\r\n placeholder={box.search.placeHolder}\r\n setResults={(_items) => {\r\n if (_items.length >= 1 && _items[0].url) {\r\n window.location.href = _items[0].url;\r\n }\r\n }}\r\n collection={[]}\r\n getSuggestions={this.getSuggestions}\r\n getSuggestionValue={(suggestion) => suggestion.name}\r\n renderSuggestion={(suggestion) => <DataBoxSuggestionComponent item={suggestion} />}\r\n noResultsText={config.noResultsSearch}\r\n />\r\n {\r\n config.description !== '' && (\r\n <h3>{config.description}</h3>\r\n )\r\n }\r\n {\r\n config.links.length > 0 && (\r\n <ul className=\"quicklinks resetlist\">\r\n {renderLinks}\r\n </ul>\r\n )\r\n }\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nAlphaBoxComponent.propTypes = {\r\n box: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n data: PropTypes.shape({\r\n itemsOnly: PropTypes.bool.isRequired,\r\n mode: PropTypes.string.isRequired,\r\n source: PropTypes.string.isRequired,\r\n }),\r\n config: PropTypes.shape({\r\n name: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n description: PropTypes.string.isRequired,\r\n container: PropTypes.string.isRequired,\r\n tracking: PropTypes.string.isRequired,\r\n links: PropTypes.arrayOf(PropTypes.shape({\r\n title: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n })).isRequired,\r\n title: PropTypes.string.isRequired,\r\n noResultsAlphabet: PropTypes.string.isRequired,\r\n noResultsSearch: PropTypes.string.isRequired,\r\n noResultsUri: PropTypes.string.isRequired,\r\n }).isRequired,\r\n background: PropTypes.shape({\r\n color: PropTypes.string.isRequired,\r\n linkColor: PropTypes.string.isRequired,\r\n }).isRequired,\r\n search: PropTypes.shape({\r\n placeHolder: PropTypes.string.isRequired,\r\n minLength: PropTypes.number.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n};\r\n\r\nAlphaBoxComponent.displayName = 'AlphaBoxComponent';\r\nexport default AlphaBoxComponent;\r\n","/* eslint no-prototype-builtins: 0 */\r\n/* eslint no-restricted-syntax: 0 */\r\n/* eslint no-unused-vars: 0 */\r\n/* eslint-env browser */\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport AlphaBoxComponent from '../components/alphabox/AlphaBoxComponent';\r\n\r\nconst defaultOptions = {\r\n config: {\r\n title: '',\r\n url: '',\r\n description: '',\r\n container: '.au_alphabox',\r\n tracking: '/virtual/alphabox/',\r\n links: [\r\n { title: 'Link 1', url: 'http://www.au.dk' },\r\n { title: 'Link 2', url: 'http://www.au.dk' },\r\n ],\r\n },\r\n search: {\r\n minLength: 1,\r\n placeHolder: '',\r\n },\r\n background: {\r\n color: '#003e5c',\r\n linkColor: '#379fcb',\r\n },\r\n data: {\r\n mode: 'json',\r\n itemsOnly: false,\r\n },\r\n};\r\n\r\nclass AUAlphabox {\r\n constructor(boxes) {\r\n this.boxes = boxes;\r\n }\r\n\r\n static mergeOptions(_box) {\r\n const box = _box;\r\n if (!box.hasOwnProperty('config')) {\r\n box.config = {};\r\n }\r\n\r\n for (const conf in defaultOptions.config) {\r\n if (!box.config.hasOwnProperty(conf)) {\r\n box.config[conf] = defaultOptions.config[conf];\r\n }\r\n }\r\n\r\n if (!box.hasOwnProperty('background')) {\r\n box.background = {};\r\n }\r\n\r\n for (const bg in defaultOptions.background) {\r\n if (!box.background.hasOwnProperty(bg)) {\r\n box.background[bg] = defaultOptions.background[bg];\r\n }\r\n }\r\n\r\n if (!box.hasOwnProperty('search')) {\r\n box.search = {};\r\n }\r\n\r\n for (const sch in defaultOptions.search) {\r\n if (!box.search.hasOwnProperty(sch)) {\r\n box.search[sch] = defaultOptions.search[sch];\r\n }\r\n }\r\n\r\n if (!box.hasOwnProperty('data')) {\r\n box.data = {};\r\n }\r\n\r\n for (const data in defaultOptions.data) {\r\n if (!box.data.hasOwnProperty(data)) {\r\n box.data[data] = defaultOptions.data[data];\r\n }\r\n }\r\n }\r\n\r\n init() {\r\n for (let i = 0; i < this.boxes.length; i += 1) {\r\n const box = this.boxes[i];\r\n if (!box.loaded) {\r\n box.id = i;\r\n AUAlphabox.mergeOptions(box);\r\n const mountNode = document.querySelector(box.config.container);\r\n const visible = mountNode && getComputedStyle(mountNode).visibility !== 'hidden';\r\n if (visible) {\r\n ReactDOM.render(\r\n <AlphaBoxComponent box={box} />, mountNode,\r\n );\r\n box.loaded = true;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nwindow.AUAlphabox = AUAlphabox;\r\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _arrays = _interopRequireDefault(require(\"shallow-equal/arrays\"));\n\nvar _Autowhatever = _interopRequireDefault(require(\"./Autowhatever\"));\n\nvar _theme = require(\"./theme\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar alwaysTrue = function alwaysTrue() {\n return true;\n};\n\nvar defaultShouldRenderSuggestions = function defaultShouldRenderSuggestions(value) {\n return value.trim().length > 0;\n};\n\nvar defaultRenderSuggestionsContainer = function defaultRenderSuggestionsContainer(_ref) {\n var containerProps = _ref.containerProps,\n children = _ref.children;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", containerProps, children);\n};\n\nvar Autosuggest = /*#__PURE__*/function (_Component) {\n _inherits(Autosuggest, _Component);\n\n var _super = _createSuper(Autosuggest);\n\n function Autosuggest(_ref2) {\n var _this;\n\n var _alwaysRenderSuggestions = _ref2.alwaysRenderSuggestions;\n\n _classCallCheck(this, Autosuggest);\n\n _this = _super.call(this);\n\n _defineProperty(_assertThisInitialized(_this), \"onDocumentMouseDown\", function (event) {\n _this.justClickedOnSuggestionsContainer = false;\n var node = event.detail && event.detail.target || // This is for testing only. Please show me a better way to emulate this.\n event.target;\n\n while (node !== null && node !== document) {\n if (node.getAttribute && node.getAttribute('data-suggestion-index') !== null) {\n // Suggestion was clicked\n return;\n }\n\n if (node === _this.suggestionsContainer) {\n // Something else inside suggestions container was clicked\n _this.justClickedOnSuggestionsContainer = true;\n return;\n }\n\n node = node.parentNode;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"storeAutowhateverRef\", function (autowhatever) {\n if (autowhatever !== null) {\n _this.autowhatever = autowhatever;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionMouseEnter\", function (event, _ref3) {\n var sectionIndex = _ref3.sectionIndex,\n itemIndex = _ref3.itemIndex;\n\n _this.updateHighlightedSuggestion(sectionIndex, itemIndex);\n\n if (event.target === _this.pressedSuggestion) {\n _this.justSelectedSuggestion = true;\n }\n\n _this.justMouseEntered = true;\n setTimeout(function () {\n _this.justMouseEntered = false;\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"highlightFirstSuggestion\", function () {\n _this.updateHighlightedSuggestion(_this.props.multiSection ? 0 : null, 0);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDocumentMouseUp\", function () {\n if (_this.pressedSuggestion && !_this.justSelectedSuggestion) {\n _this.input.focus();\n }\n\n _this.pressedSuggestion = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionMouseDown\", function (event) {\n // Checking if this.justSelectedSuggestion is already true to not duplicate touch events in chrome\n // See: https://github.com/facebook/react/issues/9809#issuecomment-413978405\n if (!_this.justSelectedSuggestion) {\n _this.justSelectedSuggestion = true;\n _this.pressedSuggestion = event.target;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionsClearRequested\", function () {\n var onSuggestionsClearRequested = _this.props.onSuggestionsClearRequested;\n onSuggestionsClearRequested && onSuggestionsClearRequested();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionSelected\", function (event, data) {\n var _this$props = _this.props,\n alwaysRenderSuggestions = _this$props.alwaysRenderSuggestions,\n onSuggestionSelected = _this$props.onSuggestionSelected,\n onSuggestionsFetchRequested = _this$props.onSuggestionsFetchRequested;\n onSuggestionSelected && onSuggestionSelected(event, data);\n\n if (alwaysRenderSuggestions) {\n onSuggestionsFetchRequested({\n value: data.suggestionValue,\n reason: 'suggestion-selected'\n });\n } else {\n _this.onSuggestionsClearRequested();\n }\n\n _this.resetHighlightedSuggestion();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionClick\", function (event) {\n var _this$props2 = _this.props,\n alwaysRenderSuggestions = _this$props2.alwaysRenderSuggestions,\n focusInputOnSuggestionClick = _this$props2.focusInputOnSuggestionClick;\n\n var _this$getSuggestionIn = _this.getSuggestionIndices(_this.findSuggestionElement(event.target)),\n sectionIndex = _this$getSuggestionIn.sectionIndex,\n suggestionIndex = _this$getSuggestionIn.suggestionIndex;\n\n var clickedSuggestion = _this.getSuggestion(sectionIndex, suggestionIndex);\n\n var clickedSuggestionValue = _this.props.getSuggestionValue(clickedSuggestion);\n\n _this.maybeCallOnChange(event, clickedSuggestionValue, 'click');\n\n _this.onSuggestionSelected(event, {\n suggestion: clickedSuggestion,\n suggestionValue: clickedSuggestionValue,\n suggestionIndex: suggestionIndex,\n sectionIndex: sectionIndex,\n method: 'click'\n });\n\n if (!alwaysRenderSuggestions) {\n _this.closeSuggestions();\n }\n\n if (focusInputOnSuggestionClick === true) {\n _this.input.focus();\n } else {\n _this.onBlur();\n }\n\n setTimeout(function () {\n _this.justSelectedSuggestion = false;\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onBlur\", function () {\n var _this$props3 = _this.props,\n inputProps = _this$props3.inputProps,\n shouldRenderSuggestions = _this$props3.shouldRenderSuggestions;\n var value = inputProps.value,\n onBlur = inputProps.onBlur;\n\n var highlightedSuggestion = _this.getHighlightedSuggestion();\n\n var shouldRender = shouldRenderSuggestions(value);\n\n _this.setState({\n isFocused: false,\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null,\n valueBeforeUpDown: null,\n isCollapsed: !shouldRender\n });\n\n onBlur && onBlur(_this.blurEvent, {\n highlightedSuggestion: highlightedSuggestion\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionMouseLeave\", function (event) {\n _this.resetHighlightedSuggestion(false); // shouldResetValueBeforeUpDown\n\n\n if (_this.justSelectedSuggestion && event.target === _this.pressedSuggestion) {\n _this.justSelectedSuggestion = false;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionTouchStart\", function () {\n _this.justSelectedSuggestion = true; // todo: event.preventDefault when https://github.com/facebook/react/issues/2043\n // todo: gets released so onSuggestionMouseDown won't fire in chrome\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSuggestionTouchMove\", function () {\n _this.justSelectedSuggestion = false;\n _this.pressedSuggestion = null;\n\n _this.input.focus();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"itemProps\", function (_ref4) {\n var sectionIndex = _ref4.sectionIndex,\n itemIndex = _ref4.itemIndex;\n return {\n 'data-section-index': sectionIndex,\n 'data-suggestion-index': itemIndex,\n onMouseEnter: _this.onSuggestionMouseEnter,\n onMouseLeave: _this.onSuggestionMouseLeave,\n onMouseDown: _this.onSuggestionMouseDown,\n onTouchStart: _this.onSuggestionTouchStart,\n onTouchMove: _this.onSuggestionTouchMove,\n onClick: _this.onSuggestionClick\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderSuggestionsContainer\", function (_ref5) {\n var containerProps = _ref5.containerProps,\n children = _ref5.children;\n var renderSuggestionsContainer = _this.props.renderSuggestionsContainer;\n return renderSuggestionsContainer({\n containerProps: containerProps,\n children: children,\n query: _this.getQuery()\n });\n });\n\n _this.state = {\n isFocused: false,\n isCollapsed: !_alwaysRenderSuggestions,\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null,\n valueBeforeUpDown: null\n };\n _this.justPressedUpDown = false;\n _this.justMouseEntered = false;\n _this.pressedSuggestion = null;\n return _this;\n }\n\n _createClass(Autosuggest, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n document.addEventListener('mousedown', this.onDocumentMouseDown);\n document.addEventListener('mouseup', this.onDocumentMouseUp);\n this.input = this.autowhatever.input;\n this.suggestionsContainer = this.autowhatever.itemsContainer;\n } // eslint-disable-next-line camelcase, react/sort-comp\n\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n if ((0, _arrays[\"default\"])(nextProps.suggestions, this.props.suggestions)) {\n if (nextProps.highlightFirstSuggestion && nextProps.suggestions.length > 0 && this.justPressedUpDown === false && this.justMouseEntered === false) {\n this.highlightFirstSuggestion();\n }\n } else {\n if (this.willRenderSuggestions(nextProps)) {\n if (this.state.isCollapsed && !this.justSelectedSuggestion) {\n this.revealSuggestions();\n }\n } else {\n this.resetHighlightedSuggestion();\n }\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var _this$props4 = this.props,\n suggestions = _this$props4.suggestions,\n onSuggestionHighlighted = _this$props4.onSuggestionHighlighted,\n highlightFirstSuggestion = _this$props4.highlightFirstSuggestion;\n\n if (!(0, _arrays[\"default\"])(suggestions, prevProps.suggestions) && suggestions.length > 0 && highlightFirstSuggestion) {\n this.highlightFirstSuggestion();\n return;\n }\n\n if (onSuggestionHighlighted) {\n var highlightedSuggestion = this.getHighlightedSuggestion();\n var prevHighlightedSuggestion = prevState.highlightedSuggestion;\n\n if (highlightedSuggestion != prevHighlightedSuggestion) {\n onSuggestionHighlighted({\n suggestion: highlightedSuggestion\n });\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('mousedown', this.onDocumentMouseDown);\n document.removeEventListener('mouseup', this.onDocumentMouseUp);\n }\n }, {\n key: \"updateHighlightedSuggestion\",\n value: function updateHighlightedSuggestion(sectionIndex, suggestionIndex, prevValue) {\n var _this2 = this;\n\n this.setState(function (state) {\n var valueBeforeUpDown = state.valueBeforeUpDown;\n\n if (suggestionIndex === null) {\n valueBeforeUpDown = null;\n } else if (valueBeforeUpDown === null && typeof prevValue !== 'undefined') {\n valueBeforeUpDown = prevValue;\n }\n\n return {\n highlightedSectionIndex: sectionIndex,\n highlightedSuggestionIndex: suggestionIndex,\n highlightedSuggestion: suggestionIndex === null ? null : _this2.getSuggestion(sectionIndex, suggestionIndex),\n valueBeforeUpDown: valueBeforeUpDown\n };\n });\n }\n }, {\n key: \"resetHighlightedSuggestion\",\n value: function resetHighlightedSuggestion() {\n var shouldResetValueBeforeUpDown = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.setState(function (state) {\n var valueBeforeUpDown = state.valueBeforeUpDown;\n return {\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null,\n valueBeforeUpDown: shouldResetValueBeforeUpDown ? null : valueBeforeUpDown\n };\n });\n }\n }, {\n key: \"revealSuggestions\",\n value: function revealSuggestions() {\n this.setState({\n isCollapsed: false\n });\n }\n }, {\n key: \"closeSuggestions\",\n value: function closeSuggestions() {\n this.setState({\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null,\n valueBeforeUpDown: null,\n isCollapsed: true\n });\n }\n }, {\n key: \"getSuggestion\",\n value: function getSuggestion(sectionIndex, suggestionIndex) {\n var _this$props5 = this.props,\n suggestions = _this$props5.suggestions,\n multiSection = _this$props5.multiSection,\n getSectionSuggestions = _this$props5.getSectionSuggestions;\n\n if (multiSection) {\n return getSectionSuggestions(suggestions[sectionIndex])[suggestionIndex];\n }\n\n return suggestions[suggestionIndex];\n }\n }, {\n key: \"getHighlightedSuggestion\",\n value: function getHighlightedSuggestion() {\n var _this$state = this.state,\n highlightedSectionIndex = _this$state.highlightedSectionIndex,\n highlightedSuggestionIndex = _this$state.highlightedSuggestionIndex;\n\n if (highlightedSuggestionIndex === null) {\n return null;\n }\n\n return this.getSuggestion(highlightedSectionIndex, highlightedSuggestionIndex);\n }\n }, {\n key: \"getSuggestionValueByIndex\",\n value: function getSuggestionValueByIndex(sectionIndex, suggestionIndex) {\n var getSuggestionValue = this.props.getSuggestionValue;\n return getSuggestionValue(this.getSuggestion(sectionIndex, suggestionIndex));\n }\n }, {\n key: \"getSuggestionIndices\",\n value: function getSuggestionIndices(suggestionElement) {\n var sectionIndex = suggestionElement.getAttribute('data-section-index');\n var suggestionIndex = suggestionElement.getAttribute('data-suggestion-index');\n return {\n sectionIndex: typeof sectionIndex === 'string' ? parseInt(sectionIndex, 10) : null,\n suggestionIndex: parseInt(suggestionIndex, 10)\n };\n }\n }, {\n key: \"findSuggestionElement\",\n value: function findSuggestionElement(startNode) {\n var node = startNode;\n\n do {\n if (node.getAttribute && node.getAttribute('data-suggestion-index') !== null) {\n return node;\n }\n\n node = node.parentNode;\n } while (node !== null);\n\n console.error('Clicked element:', startNode); // eslint-disable-line no-console\n\n throw new Error(\"Couldn't find suggestion element\");\n }\n }, {\n key: \"maybeCallOnChange\",\n value: function maybeCallOnChange(event, newValue, method) {\n var _this$props$inputProp = this.props.inputProps,\n value = _this$props$inputProp.value,\n onChange = _this$props$inputProp.onChange;\n\n if (newValue !== value) {\n onChange(event, {\n newValue: newValue,\n method: method\n });\n }\n }\n }, {\n key: \"willRenderSuggestions\",\n value: function willRenderSuggestions(props) {\n var suggestions = props.suggestions,\n inputProps = props.inputProps,\n shouldRenderSuggestions = props.shouldRenderSuggestions;\n var value = inputProps.value;\n return suggestions.length > 0 && shouldRenderSuggestions(value);\n }\n }, {\n key: \"getQuery\",\n value: function getQuery() {\n var inputProps = this.props.inputProps;\n var value = inputProps.value;\n var valueBeforeUpDown = this.state.valueBeforeUpDown;\n return (valueBeforeUpDown === null ? value : valueBeforeUpDown).trim();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var _this$props6 = this.props,\n suggestions = _this$props6.suggestions,\n renderInputComponent = _this$props6.renderInputComponent,\n onSuggestionsFetchRequested = _this$props6.onSuggestionsFetchRequested,\n renderSuggestion = _this$props6.renderSuggestion,\n inputProps = _this$props6.inputProps,\n multiSection = _this$props6.multiSection,\n renderSectionTitle = _this$props6.renderSectionTitle,\n id = _this$props6.id,\n getSectionSuggestions = _this$props6.getSectionSuggestions,\n theme = _this$props6.theme,\n getSuggestionValue = _this$props6.getSuggestionValue,\n alwaysRenderSuggestions = _this$props6.alwaysRenderSuggestions,\n highlightFirstSuggestion = _this$props6.highlightFirstSuggestion;\n var _this$state2 = this.state,\n isFocused = _this$state2.isFocused,\n isCollapsed = _this$state2.isCollapsed,\n highlightedSectionIndex = _this$state2.highlightedSectionIndex,\n highlightedSuggestionIndex = _this$state2.highlightedSuggestionIndex,\n valueBeforeUpDown = _this$state2.valueBeforeUpDown;\n var shouldRenderSuggestions = alwaysRenderSuggestions ? alwaysTrue : this.props.shouldRenderSuggestions;\n var value = inputProps.value,\n _onFocus = inputProps.onFocus,\n _onKeyDown = inputProps.onKeyDown;\n var willRenderSuggestions = this.willRenderSuggestions(this.props);\n var isOpen = alwaysRenderSuggestions || isFocused && !isCollapsed && willRenderSuggestions;\n var items = isOpen ? suggestions : [];\n\n var autowhateverInputProps = _objectSpread({}, inputProps, {\n onFocus: function onFocus(event) {\n if (!_this3.justSelectedSuggestion && !_this3.justClickedOnSuggestionsContainer) {\n var shouldRender = shouldRenderSuggestions(value);\n\n _this3.setState({\n isFocused: true,\n isCollapsed: !shouldRender\n });\n\n _onFocus && _onFocus(event);\n\n if (shouldRender) {\n onSuggestionsFetchRequested({\n value: value,\n reason: 'input-focused'\n });\n }\n }\n },\n onBlur: function onBlur(event) {\n if (_this3.justClickedOnSuggestionsContainer) {\n _this3.input.focus();\n\n return;\n }\n\n _this3.blurEvent = event;\n\n if (!_this3.justSelectedSuggestion) {\n _this3.onBlur();\n\n _this3.onSuggestionsClearRequested();\n }\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var shouldRender = shouldRenderSuggestions(value);\n\n _this3.maybeCallOnChange(event, value, 'type');\n\n if (_this3.suggestionsContainer) {\n _this3.suggestionsContainer.scrollTop = 0;\n }\n\n _this3.setState(_objectSpread({}, highlightFirstSuggestion ? {} : {\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null\n }, {\n valueBeforeUpDown: null,\n isCollapsed: !shouldRender\n }));\n\n if (shouldRender) {\n onSuggestionsFetchRequested({\n value: value,\n reason: 'input-changed'\n });\n } else {\n _this3.onSuggestionsClearRequested();\n }\n },\n onKeyDown: function onKeyDown(event, data) {\n var keyCode = event.keyCode;\n\n switch (keyCode) {\n case 40: // ArrowDown\n\n case 38:\n // ArrowUp\n if (isCollapsed) {\n if (shouldRenderSuggestions(value)) {\n onSuggestionsFetchRequested({\n value: value,\n reason: 'suggestions-revealed'\n });\n\n _this3.revealSuggestions();\n }\n } else if (suggestions.length > 0) {\n var newHighlightedSectionIndex = data.newHighlightedSectionIndex,\n newHighlightedItemIndex = data.newHighlightedItemIndex;\n var newValue;\n\n if (newHighlightedItemIndex === null) {\n // valueBeforeUpDown can be null if, for example, user\n // hovers on the first suggestion and then pressed Up.\n // If that happens, use the original input value.\n newValue = valueBeforeUpDown === null ? value : valueBeforeUpDown;\n } else {\n newValue = _this3.getSuggestionValueByIndex(newHighlightedSectionIndex, newHighlightedItemIndex);\n }\n\n _this3.updateHighlightedSuggestion(newHighlightedSectionIndex, newHighlightedItemIndex, value);\n\n _this3.maybeCallOnChange(event, newValue, keyCode === 40 ? 'down' : 'up');\n }\n\n event.preventDefault(); // Prevents the cursor from moving\n\n _this3.justPressedUpDown = true;\n setTimeout(function () {\n _this3.justPressedUpDown = false;\n });\n break;\n // Enter\n\n case 13:\n {\n // See #388\n if (event.keyCode === 229) {\n break;\n }\n\n var highlightedSuggestion = _this3.getHighlightedSuggestion();\n\n if (isOpen && !alwaysRenderSuggestions) {\n _this3.closeSuggestions();\n }\n\n if (highlightedSuggestion != null) {\n var _newValue = getSuggestionValue(highlightedSuggestion);\n\n _this3.maybeCallOnChange(event, _newValue, 'enter');\n\n _this3.onSuggestionSelected(event, {\n suggestion: highlightedSuggestion,\n suggestionValue: _newValue,\n suggestionIndex: highlightedSuggestionIndex,\n sectionIndex: highlightedSectionIndex,\n method: 'enter'\n });\n\n _this3.justSelectedSuggestion = true;\n setTimeout(function () {\n _this3.justSelectedSuggestion = false;\n });\n }\n\n break;\n }\n // Escape\n\n case 27:\n {\n if (isOpen) {\n // If input.type === 'search', the browser clears the input\n // when Escape is pressed. We want to disable this default\n // behaviour so that, when suggestions are shown, we just hide\n // them, without clearing the input.\n event.preventDefault();\n }\n\n var willCloseSuggestions = isOpen && !alwaysRenderSuggestions;\n\n if (valueBeforeUpDown === null) {\n // Didn't interact with Up/Down\n if (!willCloseSuggestions) {\n var _newValue2 = '';\n\n _this3.maybeCallOnChange(event, _newValue2, 'escape');\n\n if (shouldRenderSuggestions(_newValue2)) {\n onSuggestionsFetchRequested({\n value: _newValue2,\n reason: 'escape-pressed'\n });\n } else {\n _this3.onSuggestionsClearRequested();\n }\n }\n } else {\n // Interacted with Up/Down\n _this3.maybeCallOnChange(event, valueBeforeUpDown, 'escape');\n }\n\n if (willCloseSuggestions) {\n _this3.onSuggestionsClearRequested();\n\n _this3.closeSuggestions();\n } else {\n _this3.resetHighlightedSuggestion();\n }\n\n break;\n }\n }\n\n _onKeyDown && _onKeyDown(event);\n }\n });\n\n var renderSuggestionData = {\n query: this.getQuery()\n };\n return /*#__PURE__*/_react[\"default\"].createElement(_Autowhatever[\"default\"], {\n multiSection: multiSection,\n items: items,\n renderInputComponent: renderInputComponent,\n renderItemsContainer: this.renderSuggestionsContainer,\n renderItem: renderSuggestion,\n renderItemData: renderSuggestionData,\n renderSectionTitle: renderSectionTitle,\n getSectionItems: getSectionSuggestions,\n highlightedSectionIndex: highlightedSectionIndex,\n highlightedItemIndex: highlightedSuggestionIndex,\n inputProps: autowhateverInputProps,\n itemProps: this.itemProps,\n theme: (0, _theme.mapToAutowhateverTheme)(theme),\n id: id,\n ref: this.storeAutowhateverRef\n });\n }\n }]);\n\n return Autosuggest;\n}(_react.Component);\n\nexports[\"default\"] = Autosuggest;\n\n_defineProperty(Autosuggest, \"propTypes\", {\n suggestions: _propTypes[\"default\"].array.isRequired,\n onSuggestionsFetchRequested: function onSuggestionsFetchRequested(props, propName) {\n var onSuggestionsFetchRequested = props[propName];\n\n if (typeof onSuggestionsFetchRequested !== 'function') {\n throw new Error(\"'onSuggestionsFetchRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsFetchRequestedProp\");\n }\n },\n onSuggestionsClearRequested: function onSuggestionsClearRequested(props, propName) {\n var onSuggestionsClearRequested = props[propName];\n\n if (props.alwaysRenderSuggestions === false && typeof onSuggestionsClearRequested !== 'function') {\n throw new Error(\"'onSuggestionsClearRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsClearRequestedProp\");\n }\n },\n onSuggestionSelected: _propTypes[\"default\"].func,\n onSuggestionHighlighted: _propTypes[\"default\"].func,\n renderInputComponent: _propTypes[\"default\"].func,\n renderSuggestionsContainer: _propTypes[\"default\"].func,\n getSuggestionValue: _propTypes[\"default\"].func.isRequired,\n renderSuggestion: _propTypes[\"default\"].func.isRequired,\n inputProps: function inputProps(props, propName) {\n var inputProps = props[propName];\n\n if (!Object.prototype.hasOwnProperty.call(inputProps, 'value')) {\n throw new Error(\"'inputProps' must have 'value'.\");\n }\n\n if (!Object.prototype.hasOwnProperty.call(inputProps, 'onChange')) {\n throw new Error(\"'inputProps' must have 'onChange'.\");\n }\n },\n shouldRenderSuggestions: _propTypes[\"default\"].func,\n alwaysRenderSuggestions: _propTypes[\"default\"].bool,\n multiSection: _propTypes[\"default\"].bool,\n renderSectionTitle: function renderSectionTitle(props, propName) {\n var renderSectionTitle = props[propName];\n\n if (props.multiSection === true && typeof renderSectionTitle !== 'function') {\n throw new Error(\"'renderSectionTitle' must be implemented. See: https://github.com/moroshko/react-autosuggest#renderSectionTitleProp\");\n }\n },\n getSectionSuggestions: function getSectionSuggestions(props, propName) {\n var getSectionSuggestions = props[propName];\n\n if (props.multiSection === true && typeof getSectionSuggestions !== 'function') {\n throw new Error(\"'getSectionSuggestions' must be implemented. See: https://github.com/moroshko/react-autosuggest#getSectionSuggestionsProp\");\n }\n },\n focusInputOnSuggestionClick: _propTypes[\"default\"].bool,\n highlightFirstSuggestion: _propTypes[\"default\"].bool,\n theme: _propTypes[\"default\"].object,\n id: _propTypes[\"default\"].string\n});\n\n_defineProperty(Autosuggest, \"defaultProps\", {\n renderSuggestionsContainer: defaultRenderSuggestionsContainer,\n shouldRenderSuggestions: defaultShouldRenderSuggestions,\n alwaysRenderSuggestions: false,\n multiSection: false,\n focusInputOnSuggestionClick: true,\n highlightFirstSuggestion: false,\n theme: _theme.defaultTheme,\n id: '1'\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sectionIterator = _interopRequireDefault(require(\"section-iterator\"));\n\nvar _reactThemeable = _interopRequireDefault(require(\"react-themeable\"));\n\nvar _SectionTitle = _interopRequireDefault(require(\"./SectionTitle\"));\n\nvar _ItemList = _interopRequireDefault(require(\"./ItemList\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar emptyObject = {};\n\nvar defaultRenderInputComponent = function defaultRenderInputComponent(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"input\", props);\n};\n\nvar defaultRenderItemsContainer = function defaultRenderItemsContainer(_ref) {\n var containerProps = _ref.containerProps,\n children = _ref.children;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", containerProps, children);\n};\n\nvar defaultTheme = {\n container: 'react-autowhatever__container',\n containerOpen: 'react-autowhatever__container--open',\n input: 'react-autowhatever__input',\n inputOpen: 'react-autowhatever__input--open',\n inputFocused: 'react-autowhatever__input--focused',\n itemsContainer: 'react-autowhatever__items-container',\n itemsContainerOpen: 'react-autowhatever__items-container--open',\n itemsList: 'react-autowhatever__items-list',\n item: 'react-autowhatever__item',\n itemFirst: 'react-autowhatever__item--first',\n itemHighlighted: 'react-autowhatever__item--highlighted',\n sectionContainer: 'react-autowhatever__section-container',\n sectionContainerFirst: 'react-autowhatever__section-container--first',\n sectionTitle: 'react-autowhatever__section-title'\n};\n\nvar Autowhatever = /*#__PURE__*/function (_Component) {\n _inherits(Autowhatever, _Component);\n\n var _super = _createSuper(Autowhatever);\n\n function Autowhatever(props) {\n var _this;\n\n _classCallCheck(this, Autowhatever);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"storeInputReference\", function (input) {\n if (input !== null) {\n _this.input = input;\n }\n\n var userRef = _this.props.inputProps.ref;\n\n if (userRef) {\n if (typeof userRef === 'function') {\n userRef(input);\n } else if (_typeof(userRef) === 'object' && Object.prototype.hasOwnProperty.call(userRef, 'current')) {\n userRef.current = input;\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"storeItemsContainerReference\", function (itemsContainer) {\n if (itemsContainer !== null) {\n _this.itemsContainer = itemsContainer;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onHighlightedItemChange\", function (highlightedItem) {\n _this.highlightedItem = highlightedItem;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getItemId\", function (sectionIndex, itemIndex) {\n if (itemIndex === null) {\n return null;\n }\n\n var id = _this.props.id;\n var section = sectionIndex === null ? '' : \"section-\".concat(sectionIndex);\n return \"react-autowhatever-\".concat(id, \"-\").concat(section, \"-item-\").concat(itemIndex);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onFocus\", function (event) {\n var inputProps = _this.props.inputProps;\n\n _this.setState({\n isInputFocused: true\n });\n\n inputProps.onFocus && inputProps.onFocus(event);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onBlur\", function (event) {\n var inputProps = _this.props.inputProps;\n\n _this.setState({\n isInputFocused: false\n });\n\n inputProps.onBlur && inputProps.onBlur(event);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onKeyDown\", function (event) {\n var _this$props = _this.props,\n inputProps = _this$props.inputProps,\n highlightedSectionIndex = _this$props.highlightedSectionIndex,\n highlightedItemIndex = _this$props.highlightedItemIndex;\n\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n {\n var nextPrev = event.key === 'ArrowDown' ? 'next' : 'prev';\n\n var _this$sectionIterator = _this.sectionIterator[nextPrev]([highlightedSectionIndex, highlightedItemIndex]),\n _this$sectionIterator2 = _slicedToArray(_this$sectionIterator, 2),\n newHighlightedSectionIndex = _this$sectionIterator2[0],\n newHighlightedItemIndex = _this$sectionIterator2[1];\n\n inputProps.onKeyDown(event, {\n newHighlightedSectionIndex: newHighlightedSectionIndex,\n newHighlightedItemIndex: newHighlightedItemIndex\n });\n break;\n }\n\n default:\n inputProps.onKeyDown(event, {\n highlightedSectionIndex: highlightedSectionIndex,\n highlightedItemIndex: highlightedItemIndex\n });\n }\n });\n\n _this.highlightedItem = null;\n _this.state = {\n isInputFocused: false\n };\n\n _this.setSectionsItems(props);\n\n _this.setSectionIterator(props);\n\n _this.setTheme(props);\n\n return _this;\n }\n\n _createClass(Autowhatever, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.ensureHighlightedItemIsVisible();\n } // eslint-disable-next-line camelcase, react/sort-comp\n\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.items !== this.props.items) {\n this.setSectionsItems(nextProps);\n }\n\n if (nextProps.items !== this.props.items || nextProps.multiSection !== this.props.multiSection) {\n this.setSectionIterator(nextProps);\n }\n\n if (nextProps.theme !== this.props.theme) {\n this.setTheme(nextProps);\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.ensureHighlightedItemIsVisible();\n }\n }, {\n key: \"setSectionsItems\",\n value: function setSectionsItems(props) {\n if (props.multiSection) {\n this.sectionsItems = props.items.map(function (section) {\n return props.getSectionItems(section);\n });\n this.sectionsLengths = this.sectionsItems.map(function (items) {\n return items.length;\n });\n this.allSectionsAreEmpty = this.sectionsLengths.every(function (itemsCount) {\n return itemsCount === 0;\n });\n }\n }\n }, {\n key: \"setSectionIterator\",\n value: function setSectionIterator(props) {\n this.sectionIterator = (0, _sectionIterator[\"default\"])({\n multiSection: props.multiSection,\n data: props.multiSection ? this.sectionsLengths : props.items.length\n });\n }\n }, {\n key: \"setTheme\",\n value: function setTheme(props) {\n this.theme = (0, _reactThemeable[\"default\"])(props.theme);\n }\n }, {\n key: \"renderSections\",\n value: function renderSections() {\n var _this2 = this;\n\n if (this.allSectionsAreEmpty) {\n return null;\n }\n\n var theme = this.theme;\n var _this$props2 = this.props,\n id = _this$props2.id,\n items = _this$props2.items,\n renderItem = _this$props2.renderItem,\n renderItemData = _this$props2.renderItemData,\n renderSectionTitle = _this$props2.renderSectionTitle,\n highlightedSectionIndex = _this$props2.highlightedSectionIndex,\n highlightedItemIndex = _this$props2.highlightedItemIndex,\n itemProps = _this$props2.itemProps;\n return items.map(function (section, sectionIndex) {\n var keyPrefix = \"react-autowhatever-\".concat(id, \"-\");\n var sectionKeyPrefix = \"\".concat(keyPrefix, \"section-\").concat(sectionIndex, \"-\");\n var isFirstSection = sectionIndex === 0; // `key` is provided by theme()\n\n /* eslint-disable react/jsx-key */\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", theme(\"\".concat(sectionKeyPrefix, \"container\"), 'sectionContainer', isFirstSection && 'sectionContainerFirst'), /*#__PURE__*/_react[\"default\"].createElement(_SectionTitle[\"default\"], {\n section: section,\n renderSectionTitle: renderSectionTitle,\n theme: theme,\n sectionKeyPrefix: sectionKeyPrefix\n }), /*#__PURE__*/_react[\"default\"].createElement(_ItemList[\"default\"], {\n items: _this2.sectionsItems[sectionIndex],\n itemProps: itemProps,\n renderItem: renderItem,\n renderItemData: renderItemData,\n sectionIndex: sectionIndex,\n highlightedItemIndex: highlightedSectionIndex === sectionIndex ? highlightedItemIndex : null,\n onHighlightedItemChange: _this2.onHighlightedItemChange,\n getItemId: _this2.getItemId,\n theme: theme,\n keyPrefix: keyPrefix,\n ref: _this2.storeItemsListReference\n }));\n /* eslint-enable react/jsx-key */\n });\n }\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var items = this.props.items;\n\n if (items.length === 0) {\n return null;\n }\n\n var theme = this.theme;\n var _this$props3 = this.props,\n id = _this$props3.id,\n renderItem = _this$props3.renderItem,\n renderItemData = _this$props3.renderItemData,\n highlightedSectionIndex = _this$props3.highlightedSectionIndex,\n highlightedItemIndex = _this$props3.highlightedItemIndex,\n itemProps = _this$props3.itemProps;\n return /*#__PURE__*/_react[\"default\"].createElement(_ItemList[\"default\"], {\n items: items,\n itemProps: itemProps,\n renderItem: renderItem,\n renderItemData: renderItemData,\n highlightedItemIndex: highlightedSectionIndex === null ? highlightedItemIndex : null,\n onHighlightedItemChange: this.onHighlightedItemChange,\n getItemId: this.getItemId,\n theme: theme,\n keyPrefix: \"react-autowhatever-\".concat(id, \"-\")\n });\n }\n }, {\n key: \"ensureHighlightedItemIsVisible\",\n value: function ensureHighlightedItemIsVisible() {\n var highlightedItem = this.highlightedItem;\n\n if (!highlightedItem) {\n return;\n }\n\n var itemsContainer = this.itemsContainer;\n var itemOffsetRelativeToContainer = highlightedItem.offsetParent === itemsContainer ? highlightedItem.offsetTop : highlightedItem.offsetTop - itemsContainer.offsetTop;\n var scrollTop = itemsContainer.scrollTop; // Top of the visible area\n\n if (itemOffsetRelativeToContainer < scrollTop) {\n // Item is off the top of the visible area\n scrollTop = itemOffsetRelativeToContainer;\n } else if (itemOffsetRelativeToContainer + highlightedItem.offsetHeight > scrollTop + itemsContainer.offsetHeight) {\n // Item is off the bottom of the visible area\n scrollTop = itemOffsetRelativeToContainer + highlightedItem.offsetHeight - itemsContainer.offsetHeight;\n }\n\n if (scrollTop !== itemsContainer.scrollTop) {\n itemsContainer.scrollTop = scrollTop;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var theme = this.theme;\n var _this$props4 = this.props,\n id = _this$props4.id,\n multiSection = _this$props4.multiSection,\n renderInputComponent = _this$props4.renderInputComponent,\n renderItemsContainer = _this$props4.renderItemsContainer,\n highlightedSectionIndex = _this$props4.highlightedSectionIndex,\n highlightedItemIndex = _this$props4.highlightedItemIndex;\n var isInputFocused = this.state.isInputFocused;\n var renderedItems = multiSection ? this.renderSections() : this.renderItems();\n var isOpen = renderedItems !== null;\n var ariaActivedescendant = this.getItemId(highlightedSectionIndex, highlightedItemIndex);\n var itemsContainerId = \"react-autowhatever-\".concat(id);\n\n var containerProps = _objectSpread({\n role: 'combobox',\n 'aria-haspopup': 'listbox',\n 'aria-owns': itemsContainerId,\n 'aria-expanded': isOpen\n }, theme(\"react-autowhatever-\".concat(id, \"-container\"), 'container', isOpen && 'containerOpen'), {}, this.props.containerProps);\n\n var inputComponent = renderInputComponent(_objectSpread({\n type: 'text',\n value: '',\n autoComplete: 'off',\n 'aria-autocomplete': 'list',\n 'aria-controls': itemsContainerId,\n 'aria-activedescendant': ariaActivedescendant\n }, theme(\"react-autowhatever-\".concat(id, \"-input\"), 'input', isOpen && 'inputOpen', isInputFocused && 'inputFocused'), {}, this.props.inputProps, {\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onKeyDown: this.props.inputProps.onKeyDown && this.onKeyDown,\n ref: this.storeInputReference\n }));\n var itemsContainer = renderItemsContainer({\n containerProps: _objectSpread({\n id: itemsContainerId,\n role: 'listbox'\n }, theme(\"react-autowhatever-\".concat(id, \"-items-container\"), 'itemsContainer', isOpen && 'itemsContainerOpen'), {\n ref: this.storeItemsContainerReference\n }),\n children: renderedItems\n });\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", containerProps, inputComponent, itemsContainer);\n }\n }]);\n\n return Autowhatever;\n}(_react.Component);\n\nexports[\"default\"] = Autowhatever;\n\n_defineProperty(Autowhatever, \"propTypes\", {\n id: _propTypes[\"default\"].string,\n // Used in aria-* attributes. If multiple Autowhatever's are rendered on a page, they must have unique ids.\n multiSection: _propTypes[\"default\"].bool,\n // Indicates whether a multi section layout should be rendered.\n renderInputComponent: _propTypes[\"default\"].func,\n // When specified, it is used to render the input element.\n renderItemsContainer: _propTypes[\"default\"].func,\n // Renders the items container.\n items: _propTypes[\"default\"].array.isRequired,\n // Array of items or sections to render.\n renderItem: _propTypes[\"default\"].func,\n // This function renders a single item.\n renderItemData: _propTypes[\"default\"].object,\n // Arbitrary data that will be passed to renderItem()\n renderSectionTitle: _propTypes[\"default\"].func,\n // This function gets a section and renders its title.\n getSectionItems: _propTypes[\"default\"].func,\n // This function gets a section and returns its items, which will be passed into `renderItem` for rendering.\n containerProps: _propTypes[\"default\"].object,\n // Arbitrary container props\n inputProps: _propTypes[\"default\"].object,\n // Arbitrary input props\n itemProps: _propTypes[\"default\"].oneOfType([// Arbitrary item props\n _propTypes[\"default\"].object, _propTypes[\"default\"].func]),\n highlightedSectionIndex: _propTypes[\"default\"].number,\n // Section index of the highlighted item\n highlightedItemIndex: _propTypes[\"default\"].number,\n // Highlighted item index (within a section)\n theme: _propTypes[\"default\"].oneOfType([// Styles. See: https://github.com/markdalgleish/react-themeable\n _propTypes[\"default\"].object, _propTypes[\"default\"].array])\n});\n\n_defineProperty(Autowhatever, \"defaultProps\", {\n id: '1',\n multiSection: false,\n renderInputComponent: defaultRenderInputComponent,\n renderItemsContainer: defaultRenderItemsContainer,\n renderItem: function renderItem() {\n throw new Error('`renderItem` must be provided');\n },\n renderItemData: emptyObject,\n renderSectionTitle: function renderSectionTitle() {\n throw new Error('`renderSectionTitle` must be provided');\n },\n getSectionItems: function getSectionItems() {\n throw new Error('`getSectionItems` must be provided');\n },\n containerProps: emptyObject,\n inputProps: emptyObject,\n itemProps: emptyObject,\n highlightedSectionIndex: null,\n highlightedItemIndex: null,\n theme: defaultTheme\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _compareObjects = _interopRequireDefault(require(\"./compareObjects\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar Item = /*#__PURE__*/function (_Component) {\n _inherits(Item, _Component);\n\n var _super = _createSuper(Item);\n\n function Item() {\n var _this;\n\n _classCallCheck(this, Item);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"storeItemReference\", function (item) {\n if (item !== null) {\n _this.item = item;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseEnter\", function (event) {\n var _this$props = _this.props,\n sectionIndex = _this$props.sectionIndex,\n itemIndex = _this$props.itemIndex;\n\n _this.props.onMouseEnter(event, {\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseLeave\", function (event) {\n var _this$props2 = _this.props,\n sectionIndex = _this$props2.sectionIndex,\n itemIndex = _this$props2.itemIndex;\n\n _this.props.onMouseLeave(event, {\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseDown\", function (event) {\n var _this$props3 = _this.props,\n sectionIndex = _this$props3.sectionIndex,\n itemIndex = _this$props3.itemIndex;\n\n _this.props.onMouseDown(event, {\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props4 = _this.props,\n sectionIndex = _this$props4.sectionIndex,\n itemIndex = _this$props4.itemIndex;\n\n _this.props.onClick(event, {\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n });\n });\n\n return _this;\n }\n\n _createClass(Item, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return (0, _compareObjects[\"default\"])(nextProps, this.props, ['renderItemData']);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props5 = this.props,\n isHighlighted = _this$props5.isHighlighted,\n item = _this$props5.item,\n renderItem = _this$props5.renderItem,\n renderItemData = _this$props5.renderItemData,\n restProps = _objectWithoutProperties(_this$props5, [\"isHighlighted\", \"item\", \"renderItem\", \"renderItemData\"]);\n\n delete restProps.sectionIndex;\n delete restProps.itemIndex;\n\n if (typeof restProps.onMouseEnter === 'function') {\n restProps.onMouseEnter = this.onMouseEnter;\n }\n\n if (typeof restProps.onMouseLeave === 'function') {\n restProps.onMouseLeave = this.onMouseLeave;\n }\n\n if (typeof restProps.onMouseDown === 'function') {\n restProps.onMouseDown = this.onMouseDown;\n }\n\n if (typeof restProps.onClick === 'function') {\n restProps.onClick = this.onClick;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"li\", _extends({\n role: \"option\"\n }, restProps, {\n ref: this.storeItemReference\n }), renderItem(item, _objectSpread({\n isHighlighted: isHighlighted\n }, renderItemData)));\n }\n }]);\n\n return Item;\n}(_react.Component);\n\nexports[\"default\"] = Item;\n\n_defineProperty(Item, \"propTypes\", {\n sectionIndex: _propTypes[\"default\"].number,\n isHighlighted: _propTypes[\"default\"].bool.isRequired,\n itemIndex: _propTypes[\"default\"].number.isRequired,\n item: _propTypes[\"default\"].any.isRequired,\n renderItem: _propTypes[\"default\"].func.isRequired,\n renderItemData: _propTypes[\"default\"].object.isRequired,\n onMouseEnter: _propTypes[\"default\"].func,\n onMouseLeave: _propTypes[\"default\"].func,\n onMouseDown: _propTypes[\"default\"].func,\n onClick: _propTypes[\"default\"].func\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _Item = _interopRequireDefault(require(\"./Item\"));\n\nvar _compareObjects = _interopRequireDefault(require(\"./compareObjects\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ItemsList = /*#__PURE__*/function (_Component) {\n _inherits(ItemsList, _Component);\n\n var _super = _createSuper(ItemsList);\n\n function ItemsList() {\n var _this;\n\n _classCallCheck(this, ItemsList);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"storeHighlightedItemReference\", function (highlightedItem) {\n _this.props.onHighlightedItemChange(highlightedItem === null ? null : highlightedItem.item);\n });\n\n return _this;\n }\n\n _createClass(ItemsList, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return (0, _compareObjects[\"default\"])(nextProps, this.props, ['itemProps']);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n items = _this$props.items,\n itemProps = _this$props.itemProps,\n renderItem = _this$props.renderItem,\n renderItemData = _this$props.renderItemData,\n sectionIndex = _this$props.sectionIndex,\n highlightedItemIndex = _this$props.highlightedItemIndex,\n getItemId = _this$props.getItemId,\n theme = _this$props.theme,\n keyPrefix = _this$props.keyPrefix;\n var sectionPrefix = sectionIndex === null ? keyPrefix : \"\".concat(keyPrefix, \"section-\").concat(sectionIndex, \"-\");\n var isItemPropsFunction = typeof itemProps === 'function';\n return /*#__PURE__*/_react[\"default\"].createElement(\"ul\", _extends({\n role: \"listbox\"\n }, theme(\"\".concat(sectionPrefix, \"items-list\"), 'itemsList')), items.map(function (item, itemIndex) {\n var isFirst = itemIndex === 0;\n var isHighlighted = itemIndex === highlightedItemIndex;\n var itemKey = \"\".concat(sectionPrefix, \"item-\").concat(itemIndex);\n var itemPropsObj = isItemPropsFunction ? itemProps({\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n }) : itemProps;\n\n var allItemProps = _objectSpread({\n id: getItemId(sectionIndex, itemIndex),\n 'aria-selected': isHighlighted\n }, theme(itemKey, 'item', isFirst && 'itemFirst', isHighlighted && 'itemHighlighted'), {}, itemPropsObj);\n\n if (isHighlighted) {\n allItemProps.ref = _this2.storeHighlightedItemReference;\n } // `key` is provided by theme()\n\n /* eslint-disable react/jsx-key */\n\n\n return /*#__PURE__*/_react[\"default\"].createElement(_Item[\"default\"], _extends({}, allItemProps, {\n sectionIndex: sectionIndex,\n isHighlighted: isHighlighted,\n itemIndex: itemIndex,\n item: item,\n renderItem: renderItem,\n renderItemData: renderItemData\n }));\n /* eslint-enable react/jsx-key */\n }));\n }\n }]);\n\n return ItemsList;\n}(_react.Component);\n\nexports[\"default\"] = ItemsList;\n\n_defineProperty(ItemsList, \"propTypes\", {\n items: _propTypes[\"default\"].array.isRequired,\n itemProps: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].func]),\n renderItem: _propTypes[\"default\"].func.isRequired,\n renderItemData: _propTypes[\"default\"].object.isRequired,\n sectionIndex: _propTypes[\"default\"].number,\n highlightedItemIndex: _propTypes[\"default\"].number,\n onHighlightedItemChange: _propTypes[\"default\"].func.isRequired,\n getItemId: _propTypes[\"default\"].func.isRequired,\n theme: _propTypes[\"default\"].func.isRequired,\n keyPrefix: _propTypes[\"default\"].string.isRequired\n});\n\n_defineProperty(ItemsList, \"defaultProps\", {\n sectionIndex: null\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _compareObjects = _interopRequireDefault(require(\"./compareObjects\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SectionTitle = /*#__PURE__*/function (_Component) {\n _inherits(SectionTitle, _Component);\n\n var _super = _createSuper(SectionTitle);\n\n function SectionTitle() {\n _classCallCheck(this, SectionTitle);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(SectionTitle, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return (0, _compareObjects[\"default\"])(nextProps, this.props);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n section = _this$props.section,\n renderSectionTitle = _this$props.renderSectionTitle,\n theme = _this$props.theme,\n sectionKeyPrefix = _this$props.sectionKeyPrefix;\n var sectionTitle = renderSectionTitle(section);\n\n if (!sectionTitle) {\n return null;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", theme(\"\".concat(sectionKeyPrefix, \"title\"), 'sectionTitle'), sectionTitle);\n }\n }]);\n\n return SectionTitle;\n}(_react.Component);\n\nexports[\"default\"] = SectionTitle;\n\n_defineProperty(SectionTitle, \"propTypes\", {\n section: _propTypes[\"default\"].any.isRequired,\n renderSectionTitle: _propTypes[\"default\"].func.isRequired,\n theme: _propTypes[\"default\"].func.isRequired,\n sectionKeyPrefix: _propTypes[\"default\"].string.isRequired\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = compareObjects;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction compareObjects(objA, objB) {\n var keys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n if (objA === objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n\n if (aKeys.length !== bKeys.length) {\n return true;\n }\n\n var keysMap = {};\n var i, len;\n\n for (i = 0, len = keys.length; i < len; i++) {\n keysMap[keys[i]] = true;\n }\n\n for (i = 0, len = aKeys.length; i < len; i++) {\n var key = aKeys[i];\n var aValue = objA[key];\n var bValue = objB[key];\n\n if (aValue === bValue) {\n continue;\n }\n\n if (!keysMap[key] || aValue === null || bValue === null || _typeof(aValue) !== 'object' || _typeof(bValue) !== 'object') {\n return true;\n }\n\n var aValueKeys = Object.keys(aValue);\n var bValueKeys = Object.keys(bValue);\n\n if (aValueKeys.length !== bValueKeys.length) {\n return true;\n }\n\n for (var n = 0, length = aValueKeys.length; n < length; n++) {\n var aValueKey = aValueKeys[n];\n\n if (aValue[aValueKey] !== bValue[aValueKey]) {\n return true;\n }\n }\n }\n\n return false;\n}","\"use strict\";\n\nmodule.exports = require('./Autosuggest')[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mapToAutowhateverTheme = exports.defaultTheme = void 0;\nvar defaultTheme = {\n container: 'react-autosuggest__container',\n containerOpen: 'react-autosuggest__container--open',\n input: 'react-autosuggest__input',\n inputOpen: 'react-autosuggest__input--open',\n inputFocused: 'react-autosuggest__input--focused',\n suggestionsContainer: 'react-autosuggest__suggestions-container',\n suggestionsContainerOpen: 'react-autosuggest__suggestions-container--open',\n suggestionsList: 'react-autosuggest__suggestions-list',\n suggestion: 'react-autosuggest__suggestion',\n suggestionFirst: 'react-autosuggest__suggestion--first',\n suggestionHighlighted: 'react-autosuggest__suggestion--highlighted',\n sectionContainer: 'react-autosuggest__section-container',\n sectionContainerFirst: 'react-autosuggest__section-container--first',\n sectionTitle: 'react-autosuggest__section-title'\n};\nexports.defaultTheme = defaultTheme;\n\nvar mapToAutowhateverTheme = function mapToAutowhateverTheme(theme) {\n var result = {};\n\n for (var key in theme) {\n switch (key) {\n case 'suggestionsContainer':\n result['itemsContainer'] = theme[key];\n break;\n\n case 'suggestionsContainerOpen':\n result['itemsContainerOpen'] = theme[key];\n break;\n\n case 'suggestion':\n result['item'] = theme[key];\n break;\n\n case 'suggestionFirst':\n result['itemFirst'] = theme[key];\n break;\n\n case 'suggestionHighlighted':\n result['itemHighlighted'] = theme[key];\n break;\n\n case 'suggestionsList':\n result['itemsList'] = theme[key];\n break;\n\n default:\n result[key] = theme[key];\n }\n }\n\n return result;\n};\n\nexports.mapToAutowhateverTheme = mapToAutowhateverTheme;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar truthy = function truthy(x) {\n return x;\n};\n\nexports['default'] = function (input) {\n var _ref = Array.isArray(input) && input.length === 2 ? input : [input, null];\n\n var _ref2 = _slicedToArray(_ref, 2);\n\n var theme = _ref2[0];\n var classNameDecorator = _ref2[1];\n\n return function (key) {\n for (var _len = arguments.length, names = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n names[_key - 1] = arguments[_key];\n }\n\n var styles = names.map(function (name) {\n return theme[name];\n }).filter(truthy);\n\n return typeof styles[0] === 'string' || typeof classNameDecorator === 'function' ? { key: key, className: classNameDecorator ? classNameDecorator.apply(undefined, _toConsumableArray(styles)) : styles.join(' ') } : { key: key, style: _objectAssign2['default'].apply(undefined, [{}].concat(_toConsumableArray(styles))) };\n };\n};\n\nmodule.exports = exports['default'];","'use strict';\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction ToObject(val) {\n\tif (val == null) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction ownEnumerableKeys(obj) {\n\tvar keys = Object.getOwnPropertyNames(obj);\n\n\tif (Object.getOwnPropertySymbols) {\n\t\tkeys = keys.concat(Object.getOwnPropertySymbols(obj));\n\t}\n\n\treturn keys.filter(function (key) {\n\t\treturn propIsEnumerable.call(obj, key);\n\t});\n}\n\nmodule.exports = Object.assign || function (target, source) {\n\tvar from;\n\tvar keys;\n\tvar to = ToObject(target);\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = arguments[s];\n\t\tkeys = ownEnumerableKeys(Object(from));\n\n\t\tfor (var i = 0; i < keys.length; i++) {\n\t\t\tto[keys[i]] = from[keys[i]];\n\t\t}\n\t}\n\n\treturn to;\n};\n","\"use strict\";\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nmodule.exports = function (_ref) {\n var data = _ref.data;\n var multiSection = _ref.multiSection;\n\n function nextNonEmptySectionIndex(sectionIndex) {\n if (sectionIndex === null) {\n sectionIndex = 0;\n } else {\n sectionIndex++;\n }\n\n while (sectionIndex < data.length && data[sectionIndex] === 0) {\n sectionIndex++;\n }\n\n return sectionIndex === data.length ? null : sectionIndex;\n }\n\n function prevNonEmptySectionIndex(sectionIndex) {\n if (sectionIndex === null) {\n sectionIndex = data.length - 1;\n } else {\n sectionIndex--;\n }\n\n while (sectionIndex >= 0 && data[sectionIndex] === 0) {\n sectionIndex--;\n }\n\n return sectionIndex === -1 ? null : sectionIndex;\n }\n\n function next(position) {\n var _position = _slicedToArray(position, 2);\n\n var sectionIndex = _position[0];\n var itemIndex = _position[1];\n\n\n if (multiSection) {\n if (itemIndex === null || itemIndex === data[sectionIndex] - 1) {\n sectionIndex = nextNonEmptySectionIndex(sectionIndex);\n\n if (sectionIndex === null) {\n return [null, null];\n }\n\n return [sectionIndex, 0];\n }\n\n return [sectionIndex, itemIndex + 1];\n }\n\n if (data === 0 || itemIndex === data - 1) {\n return [null, null];\n }\n\n if (itemIndex === null) {\n return [null, 0];\n }\n\n return [null, itemIndex + 1];\n }\n\n function prev(position) {\n var _position2 = _slicedToArray(position, 2);\n\n var sectionIndex = _position2[0];\n var itemIndex = _position2[1];\n\n\n if (multiSection) {\n if (itemIndex === null || itemIndex === 0) {\n sectionIndex = prevNonEmptySectionIndex(sectionIndex);\n\n if (sectionIndex === null) {\n return [null, null];\n }\n\n return [sectionIndex, data[sectionIndex] - 1];\n }\n\n return [sectionIndex, itemIndex - 1];\n }\n\n if (data === 0 || itemIndex === 0) {\n return [null, null];\n }\n\n if (itemIndex === null) {\n return [null, data - 1];\n }\n\n return [null, itemIndex - 1];\n }\n\n function isLast(position) {\n return next(position)[1] === null;\n }\n\n return {\n next: next,\n prev: prev,\n isLast: isLast\n };\n};\n","'use strict';\n\nfunction shallowEqualArrays(arrA, arrB) {\n if (arrA === arrB) {\n return true;\n }\n\n if (!arrA || !arrB) {\n return false;\n }\n\n var len = arrA.length;\n\n if (arrB.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualArrays;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__376__;","module.exports = __WEBPACK_EXTERNAL_MODULE__383__;","module.exports = __WEBPACK_EXTERNAL_MODULE__949__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(44);\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""}