{"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 \r\n {\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 \r\n \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) =>
  • {c.name}
  • ,\r\n );\r\n\r\n if (item.children.length > 0) {\r\n return (\r\n
  • \r\n {item.name}\r\n
      \r\n {renderChildren}\r\n
    \r\n
  • \r\n );\r\n }\r\n\r\n return (\r\n
  • \r\n {item.name}\r\n
  • \r\n );\r\n });\r\n\r\n return (\r\n
    \r\n
      \r\n {renderLetters}\r\n
    \r\n {\r\n letterIndex > -1 && (\r\n
    \r\n
      \r\n {renderItems}\r\n {\r\n (noResultsText && noResultsUri) && (\r\n
    • {noResultsText}
    • \r\n )\r\n }\r\n
    \r\n
    \r\n )\r\n }\r\n
    \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 \r\n {\r\n (noSuggestions && noResultsText) && (\r\n

    \r\n {noResultsText}\r\n

    \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 \r\n {item.name}\r\n \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
  • \r\n {\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 \r\n
  • \r\n ));\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n {config.title}\r\n

    \r\n \r\n {\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) => }\r\n noResultsText={config.noResultsSearch}\r\n />\r\n {\r\n config.description !== '' && (\r\n

    {config.description}

    \r\n )\r\n }\r\n {\r\n config.links.length > 0 && (\r\n
      \r\n {renderLinks}\r\n
    \r\n )\r\n }\r\n
    \r\n
    \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 , 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) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \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":""}