{"version":3,"sources":["webpack://@aarhus-university/au-lib-react-components/webpack/universalModuleDefinition","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/databox/DataBoxButtonComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/lib/helpers.js","webpack://@aarhus-university/au-lib-react-components/./src/components/databox/DataBoxStackedAssociationComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/AUCollapsibleComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/databox/DataBoxAssociationComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/databox/DataBoxGroupingComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/databox/DataBoxSearchResultComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/databox/DataBoxAlphabetComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/AUSpinnerComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/databox/DataBoxComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/lib/au-databox.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/decode-uri-component/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/lodash.debounce/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/object-assign/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/query-string/index.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/./node_modules/strict-uri-encode/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__","AutoSuggestComponent","React","constructor","props","super","this","state","value","suggestions","noSuggestions","onChange","bind","onEnter","onSuggestionsFetchRequested","debounce","onSuggestionsClearRequested","onSuggestionSelected","_","newValue","setQuery","setState","event","setResults","key","getSuggestions","collection","length","trim","suggestion","clearInput","render","placeholder","getSuggestionValue","renderSuggestion","id","theme","type","initialValue","disabled","noResultsText","inputProps","onKeyDown","className","displayName","defaultProps","container","containerOpen","input","inputOpen","inputFocused","suggestionsContainer","suggestionsContainerOpen","suggestionsList","suggestionFirst","suggestionHighlighted","sectionContainer","sectionContainerFirst","sectionTitle","propTypes","PropTypes","isRequired","DataBoxSuggestionComponent","item","nextProps","prevState","name","DataBoxButtonComponent","handleClick","handleChange","setActive","active","index","e","target","setSearchValue","newHistory","window","location","protocol","host","pathname","join","history","replaceState","initVal","document","title","button","b","box","searchValue","bg","background","classNames","search","overlay","autocomplete","dangerouslySetInnerHTML","__html","text","placeHolder","items","url","href","link","role","tabIndex","onClick","onKeyUp","color","linkColor","src","height","serviceScopeProfile","sortAlphaObj","toLowerCase","localeCompare","ignorePunctuation","DataBoxStackedAssociationComponent","assoc","renderItems","sort","map","children","renderChildren","c","AUCollapsibleComponent","collapsed","componentDidMount","attributes","forEach","selector","el","node","querySelector","setAttribute","attr","header","level","content","dataID","headerElement","data-id","ref","newCollapsed","DataBoxAssociationComponent","open","rememberState","boxID","grouping","sessionStorage","removeItem","setItem","DataBoxGroupingComponent","stacked","expand","renderAssociations","associations","getItem","DataBoxSearchResultComponent","filter","x","indexOf","DataBoxAlphabetComponent","letters","letterIndex","initLetter","renderLetters","l","available","style","backgroundColor","parent","AUSpinnerComponent","loading","visible","lazyLoad","addEventListener","componentDidUpdate","loadingCondition","loaded","domID","onLoad","element","getElementById","rect","getBoundingClientRect","bottom","right","left","innerWidth","documentElement","clientWidth","top","innerHeight","clientHeight","isElementInViewport","columns","DataBoxComponent","qs","qsParse","conf","config","parseInt","trigger","rawData","groupings","initval","decodeURIComponent","parse","data","source","d","callback","inputValue","renderContent","searchIndex","alphaIndex","alphabet","searchSubtract","alphaSubtract","renderButtons","buttons","firstline","backgroundImage","innerContent","mode","defaultOptions","tracking","minLength","AUDataboxParser","sourceArr","Array","isArray","push","promises","s","Promise","resolve","axios","then","promise","all","values","xmlFunc","assocXML","count","$","find","itemsXML","each","extraXML","extra","param","obj","objAssoc","j","pid","p","AU","helpers","getXML","table","list","cells","eq","skip","assocCellSplit","split","k","aid","label","AUDatabox","boxes","_box","hasOwnProperty","sch","containerChildren","init","parser","json","xml","mergeOptions","legacyCleanUp","mountNode","getComputedStyle","visibility","responsive","NAME","ReactDOM","dataElement","parentNode","removeChild","token","singleMatcher","RegExp","multiMatcher","decodeComponents","components","err","slice","prototype","concat","call","decode","tokens","match","encodedURI","TypeError","replace","replaceMap","exec","result","entries","Object","keys","customDecodeURIComponent","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","freeGlobal","g","freeSelf","Function","objectToString","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","toNumber","isObjectLike","isSymbol","other","valueOf","isBinary","test","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","undefined","apply","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","arguments","cancel","clearTimeout","flush","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","val","assign","test1","String","getOwnPropertyNames","test2","fromCharCode","n","test3","letter","shouldUseNative","from","symbols","to","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","Error","getShim","ReactPropTypes","array","bool","number","object","string","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","objectAssign","decodeComponent","keysSorter","Number","str","opts","formatter","arrayFormat","accumulator","parserForArrayFormat","ret","create","parts","shift","reduce","Boolean","_react","__esModule","_typeof","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","defineProperty","getOwnPropertyDescriptor","desc","set","_interopRequireWildcard","_propTypes","_interopRequireDefault","_arrays","_Autowhatever","_theme","WeakMap","Symbol","iterator","ownKeys","enumerableOnly","sym","enumerable","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","configurable","writable","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","alwaysTrue","Autosuggest","_Component","subClass","superClass","_inherits","Derived","Constructor","protoProps","_super","Super","NewTarget","_ref2","_this","_alwaysRenderSuggestions","alwaysRenderSuggestions","instance","_classCallCheck","justClickedOnSuggestionsContainer","detail","getAttribute","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","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","storeAutowhateverRef","Component","_ref","defaultTheme","_sectionIterator","_reactThemeable","_SectionTitle","_ItemList","_arrayLikeToArray","arr","len","arr2","emptyObject","Autowhatever","userRef","current","highlightedItem","section","isInputFocused","nextPrev","_this$sectionIterator2","sectionIterator","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","next","done","_iterableToArrayLimit","minLen","_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","inputComponent","autoComplete","storeInputReference","storeItemsContainerReference","itemsContainerOpen","itemsList","itemFirst","itemHighlighted","_compareObjects","_extends","Item","_len","_key","isHighlighted","restProps","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_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","ToObject","ownEnumerableKeys","position","_position","nextNonEmptySectionIndex","prev","_position2","prevNonEmptySectionIndex","isLast","arrA","arrB","encodeURIComponent","charCodeAt","toUpperCase","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","getter","definition","globalThis","prop","r","toStringTag"],"mappings":"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","file":"databox.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 ","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Autosuggest from 'react-autosuggest';\nimport debounce from 'lodash.debounce';\n\nclass AutoSuggestComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n value: '',\n suggestions: [],\n noSuggestions: false,\n };\n\n this.onChange = this.onChange.bind(this);\n this.onEnter = this.onEnter.bind(this);\n this.onSuggestionsFetchRequested = debounce(this.onSuggestionsFetchRequested.bind(this), 400);\n this.onSuggestionsClearRequested = this.onSuggestionsClearRequested.bind(this);\n this.onSuggestionSelected = this.onSuggestionSelected.bind(this);\n }\n\n onChange(_, { newValue }) {\n const { setQuery } = this.props;\n this.setState({\n value: newValue,\n }, () => {\n setQuery(newValue);\n });\n }\n\n onEnter(event) {\n const { suggestions } = this.state;\n const { setResults } = this.props;\n if (event.key === 'Enter') {\n setResults(suggestions);\n }\n }\n\n onSuggestionsFetchRequested({ value }) {\n const { getSuggestions, collection } = this.props;\n getSuggestions(value, collection, (suggestions) => {\n this.setState({\n suggestions,\n noSuggestions: suggestions.length === 0 && value.trim() !== '' && value.trim().length > 1,\n });\n });\n }\n\n onSuggestionsClearRequested() {\n this.setState({\n suggestions: [],\n });\n }\n\n onSuggestionSelected(event, { suggestion }) {\n const { setResults, clearInput } = this.props;\n setResults([suggestion]);\n if (clearInput) {\n this.setState({\n value: '',\n });\n }\n }\n\n render() {\n const { value, suggestions, noSuggestions } = this.state;\n const {\n placeholder,\n getSuggestionValue,\n renderSuggestion,\n id,\n theme,\n type,\n initialValue,\n disabled,\n noResultsText,\n } = this.props;\n const inputProps = {\n placeholder,\n value: initialValue || value,\n id,\n type,\n disabled,\n 'aria-label': placeholder,\n onChange: this.onChange,\n onKeyDown: this.onEnter,\n };\n\n return (\n <>\n \n {\n (noSuggestions && noResultsText) && (\n

\n {noResultsText}\n

\n )\n }\n \n );\n }\n}\n\nAutoSuggestComponent.displayName = 'AutoSuggestComponent';\n\nAutoSuggestComponent.defaultProps = {\n id: 'autosuggest1',\n theme: {\n container: 'react-autosuggest__container',\n containerOpen: 'react-autosuggest__container--open',\n input: 'react-autosuggest__input',\n inputOpen: 'react-autosuggest__input--open',\n inputFocused: 'react-autosuggest__input--focused',\n suggestionsContainer: 'react-autosuggest__suggestions-container',\n suggestionsContainerOpen: 'react-autosuggest__suggestions-container--open',\n suggestionsList: 'react-autosuggest__suggestions-list',\n suggestion: 'react-autosuggest__suggestion',\n suggestionFirst: 'react-autosuggest__suggestion--first',\n suggestionHighlighted: 'react-autosuggest__suggestion--highlighted',\n sectionContainer: 'react-autosuggest__section-container',\n sectionContainerFirst: 'react-autosuggest__section-container--first',\n sectionTitle: 'react-autosuggest__section-title',\n },\n clearInput: false,\n type: 'text',\n initialValue: '',\n disabled: false,\n setQuery: () => { },\n noResultsText: '',\n};\n\nAutoSuggestComponent.propTypes = {\n setQuery: PropTypes.func,\n getSuggestions: PropTypes.func.isRequired,\n getSuggestionValue: PropTypes.func.isRequired,\n renderSuggestion: PropTypes.func.isRequired,\n setResults: PropTypes.func.isRequired,\n collection: PropTypes.arrayOf(PropTypes.any).isRequired,\n placeholder: PropTypes.string.isRequired,\n id: PropTypes.string,\n theme: PropTypes.shape({}),\n clearInput: PropTypes.bool,\n type: PropTypes.string,\n initialValue: PropTypes.string,\n disabled: PropTypes.bool,\n noResultsText: PropTypes.string,\n};\nexport default AutoSuggestComponent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nclass DataBoxSuggestionComponent extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n item: props.item,\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.item.id !== prevState.item.id) {\n return {\n item: nextProps.item,\n };\n }\n\n return null;\n }\n\n render() {\n const { item } = this.state;\n return (\n \n {item.name}\n \n );\n }\n}\n\nDataBoxSuggestionComponent.propTypes = {\n item: PropTypes.shape({\n id: PropTypes.number.isRequired,\n }).isRequired,\n};\nDataBoxSuggestionComponent.displayName = 'DataBoxSuggestionComponent';\nexport default DataBoxSuggestionComponent;\n","/* eslint-env browser */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport AutoSuggestComponent from '../AutoSuggestComponent';\r\nimport DataBoxSuggestionComponent from './DataBoxSuggestionComponent';\r\n\r\nclass DataBoxButtonComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleClick = this.handleClick.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n\r\n handleClick() {\r\n const { setActive, active, index } = this.props;\r\n setActive(active ? 0 : index + 1);\r\n }\r\n\r\n handleChange(e) {\r\n const { value } = e.target;\r\n const { setSearchValue } = this.props;\r\n const newHistory = `${[window.location.protocol, '//', window.location.host, window.location.pathname].join('')}?initval=${value}`;\r\n window.history.replaceState({\r\n initVal: value,\r\n }, document.title, newHistory);\r\n setSearchValue(value);\r\n }\r\n\r\n render() {\r\n const {\r\n button: b,\r\n index, box,\r\n active,\r\n getSuggestions,\r\n searchValue,\r\n } = this.props;\r\n const i = index + 1;\r\n const bg = box.background;\r\n\r\n let classNames = `db-button button-${i}`;\r\n const search = box.search.index === i;\r\n\r\n if (bg.overlay) {\r\n classNames += ' overlay';\r\n }\r\n\r\n if (search) {\r\n classNames += ' db-search';\r\n }\r\n\r\n if (active && !search) {\r\n classNames += ' active';\r\n }\r\n\r\n if (search) {\r\n if (box.search.autocomplete) {\r\n return (\r\n
\r\n \r\n { }}\r\n setResults={(items) => {\r\n if (items.length === 1 && items[0].url) {\r\n window.location.href = items[0].url;\r\n }\r\n }}\r\n collection={[]}\r\n getSuggestions={getSuggestions}\r\n getSuggestionValue={(suggestion) => suggestion.name}\r\n renderSuggestion={(suggestion) => }\r\n />\r\n
\r\n );\r\n }\r\n return (\r\n
\r\n \r\n {b.text}\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n if (b.link !== '') {\r\n return (\r\n { }}\r\n className={classNames}\r\n >\r\n \r\n \r\n {b.text}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n { }}\r\n className={classNames}\r\n >\r\n \r\n {b.text}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nDataBoxButtonComponent.defaultProps = {\r\n searchValue: '',\r\n};\r\n\r\nDataBoxButtonComponent.propTypes = {\r\n active: PropTypes.bool.isRequired,\r\n index: PropTypes.number.isRequired,\r\n searchValue: PropTypes.string,\r\n setActive: PropTypes.func.isRequired,\r\n setSearchValue: PropTypes.func.isRequired,\r\n button: PropTypes.shape({}).isRequired,\r\n box: PropTypes.shape({\r\n background: PropTypes.shape({\r\n color: PropTypes.string.isRequired,\r\n linkColor: PropTypes.string.isRequired,\r\n src: PropTypes.string.isRequired,\r\n height: PropTypes.number.isRequired,\r\n text: PropTypes.string.isRequired,\r\n overlay: PropTypes.bool.isRequired,\r\n }).isRequired,\r\n search: PropTypes.shape({\r\n index: PropTypes.number.isRequired,\r\n autocomplete: PropTypes.bool.isRequired,\r\n placeHolder: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n getSuggestions: PropTypes.func.isRequired,\r\n};\r\n\r\nDataBoxButtonComponent.displayName = 'DataBoxButtonComponent';\r\nexport default DataBoxButtonComponent;\r\n","/* 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\nconst DataBoxStackedAssociationComponent = (props) => {\r\n const { assoc } = props;\r\n const renderItems = assoc.items.sort(sortAlphaObj).map((item) => {\r\n if (item.children.length > 0) {\r\n const renderChildren = item.children.sort(sortAlphaObj).map((c) => (\r\n
  • \r\n \r\n {c.name}\r\n \r\n
  • \r\n ));\r\n\r\n return (\r\n
  • \r\n \r\n {item.name}\r\n \r\n
      \r\n {renderChildren}\r\n
    \r\n
  • \r\n );\r\n }\r\n\r\n return (\r\n
  • \r\n \r\n {item.name}\r\n \r\n
  • \r\n );\r\n });\r\n\r\n return (\r\n
    \r\n
      \r\n {renderItems}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nDataBoxStackedAssociationComponent.defaultProps = {\r\n\r\n};\r\n\r\nDataBoxStackedAssociationComponent.propTypes = {\r\n assoc: PropTypes.shape({\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n }).isRequired,\r\n};\r\n\r\nDataBoxStackedAssociationComponent.displayName = 'DataBoxStackedAssociationComponent';\r\nexport default DataBoxStackedAssociationComponent;\r\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * AU Kollapserbart Komponent\n *\n * Eksempel:\n * ```jsx\n * {\n this.setState({\n spinnerVisible: !collapsed,\n });\n }}\n >\n

    Test

    \n \n * ```\n */\n\nclass AUCollapsibleComponent extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n collapsed: props.collapsed,\n };\n }\n\n componentDidMount() {\n const { attributes } = this.props;\n attributes.forEach((a) => {\n if (a.selector) {\n const el = this.node.querySelector(a.selector);\n if (el) {\n el.setAttribute(a.attr, a.value);\n }\n } else {\n this.node.setAttribute(a.attr, a.value);\n }\n });\n }\n\n render() {\n const {\n header,\n level,\n content,\n classNames,\n onClick,\n children,\n dataID,\n headerElement,\n } = this.props;\n const { collapsed } = this.state;\n let className = 'csc-frame au_collapsible';\n if (collapsed) {\n className += ' au_collapsed';\n }\n\n if (classNames) {\n className += ` ${classNames}`;\n }\n\n return (\n
    { this.node = node; }} className={className}>\n {(() => {\n if (level > -1) {\n return (\n {\n this.setState((prevState) => ({\n collapsed: !prevState.collapsed,\n }), () => {\n const { collapsed: newCollapsed } = this.state;\n onClick(newCollapsed, this.node);\n });\n }}\n onKeyUp={() => {\n\n }}\n role=\"button\"\n tabIndex={0}\n >\n {(() => {\n switch (level) {\n case 0 && headerElement != null:\n return headerElement;\n case 1:\n return (\n

    \n {header}\n

    \n );\n case 2:\n return (\n

    \n {header}\n

    \n );\n case 3:\n return (\n

    \n {header}\n

    \n );\n case 4:\n return (\n

    \n {header}\n

    \n );\n case 5:\n return (\n
    \n {header}\n
    \n );\n default:\n return (\n
    \n {header}\n
    \n );\n }\n })()}\n
    \n );\n }\n return null;\n })()}\n {children || content}\n \n );\n }\n}\n\nAUCollapsibleComponent.defaultProps = {\n dataID: null,\n children: null,\n content: null,\n header: '',\n headerElement: null,\n level: 1,\n classNames: '',\n onClick: () => { },\n attributes: [],\n};\n\nAUCollapsibleComponent.propTypes = {\n dataID: PropTypes.string,\n children: PropTypes.element,\n collapsed: PropTypes.bool.isRequired,\n header: PropTypes.string,\n headerElement: PropTypes.element,\n level: PropTypes.number,\n content: PropTypes.element,\n classNames: PropTypes.string,\n onClick: PropTypes.func,\n attributes: PropTypes.arrayOf(PropTypes.shape({\n attr: PropTypes.string,\n value: PropTypes.string,\n selector: PropTypes.string,\n })),\n};\nAUCollapsibleComponent.displayName = 'AUCollapsibleComponent';\nexport default AUCollapsibleComponent;\n","/* eslint-env browser */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { sortAlphaObj } from '../../lib/helpers';\r\nimport AUCollapsibleComponent from '../AUCollapsibleComponent';\r\n\r\nclass DataBoxAssociationComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n open: props.open,\r\n };\r\n\r\n this.handleClick = this.handleClick.bind(this);\r\n }\r\n\r\n handleClick() {\r\n const {\r\n rememberState,\r\n boxID,\r\n grouping,\r\n index,\r\n } = this.props;\r\n const { open } = this.state;\r\n if (rememberState) {\r\n if (open) {\r\n sessionStorage.removeItem(`box-${boxID}-group-${grouping}-index-${index}`);\r\n } else {\r\n sessionStorage.setItem(`box-${boxID}-group-${grouping}-index-${index}`, true);\r\n }\r\n }\r\n this.setState((prevState) => ({\r\n open: !prevState.open,\r\n }));\r\n }\r\n\r\n render() {\r\n const { open } = this.state;\r\n const { assoc } = this.props;\r\n const { items } = assoc;\r\n const renderItems = items.sort(sortAlphaObj).map((item) => {\r\n if (item.children.length > 0) {\r\n const renderChildren = item.children.sort(sortAlphaObj).map((c) => (\r\n
  • \r\n \r\n {c.name}\r\n \r\n
  • \r\n ));\r\n\r\n return (\r\n
  • \r\n {(() => {\r\n if (!item.url) {\r\n return (\r\n \r\n {item.name}\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 {renderChildren}\r\n
    \r\n
  • \r\n );\r\n }\r\n\r\n return (\r\n
  • \r\n \r\n {item.name}\r\n \r\n
  • \r\n );\r\n });\r\n\r\n const content = (\r\n
      \r\n {renderItems}\r\n
    \r\n );\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nDataBoxAssociationComponent.defaultProps = {\r\n\r\n};\r\n\r\nDataBoxAssociationComponent.propTypes = {\r\n boxID: PropTypes.number.isRequired,\r\n grouping: PropTypes.number.isRequired,\r\n assoc: PropTypes.shape({\r\n name: PropTypes.string.isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({\r\n\r\n })).isRequired,\r\n }).isRequired,\r\n index: PropTypes.number.isRequired,\r\n open: PropTypes.bool.isRequired,\r\n rememberState: PropTypes.bool.isRequired,\r\n};\r\n\r\nDataBoxAssociationComponent.displayName = 'DataBoxAssociationComponent';\r\nexport default DataBoxAssociationComponent;\r\n","/* eslint-env browser */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport DataBoxStackedAssociationComponent from './DataBoxStackedAssociationComponent';\r\nimport DataBoxAssociationComponent from './DataBoxAssociationComponent';\r\n\r\nconst DataBoxGroupingComponent = (props) => {\r\n const {\r\n stacked,\r\n grouping,\r\n expand,\r\n rememberState,\r\n boxID,\r\n } = props;\r\n let renderAssociations;\r\n if (stacked && grouping.associations.length === 1) {\r\n renderAssociations = props.grouping.associations.map(\r\n (a) => ,\r\n );\r\n } else {\r\n renderAssociations = props.grouping.associations.map((a, i) => {\r\n const open = expand\r\n || grouping.associations.length === 1\r\n || (rememberState && sessionStorage.getItem(`box-${boxID}-group-${grouping.id}-index-${i}`));\r\n return (\r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n {renderAssociations}\r\n
    \r\n );\r\n};\r\n\r\nDataBoxGroupingComponent.defaultProps = {\r\n\r\n};\r\n\r\nDataBoxGroupingComponent.propTypes = {\r\n boxID: PropTypes.number.isRequired,\r\n stacked: PropTypes.bool.isRequired,\r\n expand: PropTypes.bool.isRequired,\r\n rememberState: PropTypes.bool.isRequired,\r\n grouping: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n associations: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n }).isRequired,\r\n};\r\n\r\nDataBoxGroupingComponent.displayName = 'DataBoxGroupingComponent';\r\nexport default DataBoxGroupingComponent;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { sortAlphaObj } from '../../lib/helpers';\r\n\r\nconst DataBoxSearchResultComponent = (props) => {\r\n const { items, searchValue } = props;\r\n const renderItems = items.sort(sortAlphaObj).filter(\r\n (x) => x.name.toLowerCase().indexOf(searchValue.toLowerCase()) > -1,\r\n ).map((item) => (\r\n
  • \r\n \r\n {item.name}\r\n \r\n
  • \r\n ));\r\n\r\n return (\r\n
    \r\n
      \r\n {renderItems}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nDataBoxSearchResultComponent.defaultProps = {\r\n\r\n};\r\n\r\nDataBoxSearchResultComponent.propTypes = {\r\n items: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n url: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n })).isRequired,\r\n searchValue: PropTypes.string.isRequired,\r\n};\r\n\r\nDataBoxSearchResultComponent.displayName = 'DataBoxSearchResultComponent';\r\nexport default DataBoxSearchResultComponent;\r\n","/* eslint-env browser */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { sortAlphaObj } from '../../lib/helpers';\r\n\r\nclass DataBoxAlphabetComponent 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: this.letters.indexOf(props.initLetter.toLowerCase()),\r\n };\r\n }\r\n\r\n render() {\r\n const { letterIndex } = this.state;\r\n const { linkColor, rememberState, boxID } = this.props;\r\n const renderLetters = this.letters.map((l, i) => {\r\n const { items } = this.props;\r\n const available = i === 0\r\n || items.filter((x) => x.name.toLowerCase().indexOf(l) === 0).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 if (rememberState) {\r\n sessionStorage.setItem(`box-alphabet-${boxID}`, this.letters[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 { items } = this.props;\r\n if (letterIndex !== 0) {\r\n items = items.filter((x) => x.name.toLowerCase().indexOf(this.letters[letterIndex]) === 0);\r\n }\r\n\r\n const renderItems = items.sort(sortAlphaObj).map((item) => {\r\n const renderChildren = item.children.map((c) => (\r\n
  • \r\n \r\n {c.name}\r\n \r\n
  • \r\n ));\r\n\r\n if (item.children.length > 0) {\r\n return (\r\n
  • \r\n {(() => {\r\n if (!item.url) {\r\n return (\r\n \r\n {item.name}\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 {renderChildren}\r\n
    \r\n
  • \r\n );\r\n }\r\n\r\n if (!item.parent) {\r\n return (\r\n
  • \r\n \r\n {item.name}\r\n \r\n
  • \r\n );\r\n }\r\n\r\n return null;\r\n });\r\n\r\n return (\r\n
    \r\n
      \r\n {renderLetters}\r\n
    \r\n
      \r\n {renderItems}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nDataBoxAlphabetComponent.defaultProps = {\r\n\r\n};\r\n\r\nDataBoxAlphabetComponent.propTypes = {\r\n initLetter: PropTypes.string.isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n linkColor: PropTypes.string.isRequired,\r\n rememberState: PropTypes.bool.isRequired,\r\n boxID: PropTypes.number.isRequired,\r\n};\r\n\r\nDataBoxAlphabetComponent.displayName = 'DataBoxAlphabetComponent';\r\nexport default DataBoxAlphabetComponent;\r\n","/* eslint-env browser */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { isElementInViewport } from '../lib/helpers';\r\n/**\r\n * AU Spinner Komponent\r\n * Bliver brugt til lazy-loading af elementer, der først skal indlæses når de er synlige.\r\n *\r\n * Eksempel:\r\n * ```jsx\r\n * Hej}\r\n loaded={this.state.spinnerLoaded}\r\n loadingCondition\r\n onLoad={() => {\r\n setTimeout(() => {\r\n this.setState({\r\n spinnerLoaded: true,\r\n });\r\n }, 2000);\r\n }}\r\n />\r\n * ```\r\n */\r\n\r\nclass AUSpinnerComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: true,\r\n visible: props.visible,\r\n };\r\n\r\n this.lazyLoad = this.lazyLoad.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.lazyLoad();\r\n window.addEventListener('scroll', () => {\r\n this.lazyLoad();\r\n });\r\n }\r\n\r\n componentDidUpdate() {\r\n this.lazyLoad();\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.visible !== prevState.visible) {\r\n return {\r\n visible: nextProps.visible,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n lazyLoad() {\r\n const {\r\n loadingCondition,\r\n loaded,\r\n domID,\r\n onLoad,\r\n } = this.props;\r\n const { loading, visible } = this.state;\r\n\r\n const element = document.getElementById(domID);\r\n if (!loaded && loading && loadingCondition && (visible || isElementInViewport(element))) {\r\n this.setState({\r\n loading: false,\r\n }, () => {\r\n onLoad();\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n columns, content, loaded, domID, children,\r\n } = this.props;\r\n\r\n if (!loaded) {\r\n return (\r\n
    \r\n

    \r\n

    \r\n );\r\n }\r\n\r\n return children || content;\r\n }\r\n}\r\n\r\nAUSpinnerComponent.defaultProps = {\r\n domID: 'au-spinner-component',\r\n visible: false,\r\n columns: 'large-12 medium-12 small-12',\r\n content: null,\r\n children: null,\r\n onLoad: () => {},\r\n};\r\n\r\nAUSpinnerComponent.propTypes = {\r\n /**\r\n * Relevant ved mere end en spinner per side\r\n */\r\n domID: PropTypes.string,\r\n /**\r\n * Om den er synlig på skærmen ved indlæsning\r\n */\r\n visible: PropTypes.bool,\r\n columns: PropTypes.string,\r\n content: PropTypes.element,\r\n children: PropTypes.element,\r\n loaded: PropTypes.bool.isRequired,\r\n loadingCondition: PropTypes.bool.isRequired,\r\n onLoad: PropTypes.func,\r\n};\r\n\r\nAUSpinnerComponent.displayName = 'AUSpinnerComponent';\r\nexport default AUSpinnerComponent;\r\n","/* eslint-env browser */\r\n/* eslint react/no-danger: 0 */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { parse as qsParse } from 'query-string';\r\nimport DataBoxButtonComponent from './DataBoxButtonComponent';\r\nimport DataBoxGroupingComponent from './DataBoxGroupingComponent';\r\nimport DataBoxSearchResultComponent from './DataBoxSearchResultComponent';\r\nimport DataBoxAlphabetComponent from './DataBoxAlphabetComponent';\r\nimport AUSpinnerComponent from '../AUSpinnerComponent';\r\nimport { sortAlphaObj } from '../../lib/helpers';\r\n\r\nclass DataBoxComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n const qs = qsParse(window.location.search);\r\n\r\n const conf = props.box.config;\r\n const { stacked } = conf;\r\n const active = conf.rememberState && sessionStorage.getItem(`box-header-${props.box.id}`) ? parseInt(sessionStorage.getItem(`box-header-${props.box.id}`), 10) : props.box.config.trigger;\r\n this.state = {\r\n active,\r\n rawData: null,\r\n items: [],\r\n groupings: [],\r\n stacked,\r\n searchValue: typeof qs.initval === 'undefined' ? '' : decodeURIComponent(qs.initval),\r\n };\r\n\r\n this.setActive = this.setActive.bind(this);\r\n this.setSearchValue = this.setSearchValue.bind(this);\r\n this.getSuggestions = this.getSuggestions.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const { parse, box } = this.props;\r\n const { searchValue } = this.state;\r\n parse(box.data.source, (data) => {\r\n const { items, groupings, rawData } = data;\r\n this.setState({\r\n items,\r\n groupings: groupings || [],\r\n rawData,\r\n });\r\n // this.setSearch(items);\r\n });\r\n\r\n if (searchValue !== '') {\r\n this.setSearchValue(searchValue);\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n const { box } = this.props;\r\n const { rawData, items, groupings } = this.state;\r\n const d = box.data;\r\n if (typeof d.callback === 'function') {\r\n d.callback(rawData || {\r\n items,\r\n groupings,\r\n });\r\n }\r\n }\r\n\r\n setActive(active) {\r\n const { box } = this.props;\r\n this.setState({ active });\r\n if (box.config.rememberState) {\r\n sessionStorage.setItem(`box-header-${box.id}`, active);\r\n }\r\n }\r\n\r\n setSearchValue(searchValue) {\r\n const { box } = this.props;\r\n if (!box.search.autocomplete) {\r\n this.setState({ searchValue, active: searchValue === '' ? 0 : box.search.index });\r\n }\r\n }\r\n\r\n getSuggestions(value, collection, 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((x) => x.name.toLowerCase().indexOf(inputValue) > -1)\r\n .sort(sortAlphaObj));\r\n }\r\n\r\n render() {\r\n const { box } = this.props;\r\n const {\r\n active,\r\n items,\r\n searchValue,\r\n groupings,\r\n stacked,\r\n } = this.state;\r\n const conf = box.config;\r\n const bg = box.background;\r\n\r\n const renderContent = (\r\n
    \r\n {(() => {\r\n const searchIndex = box.search.index;\r\n const alphaIndex = box.config.alphabet;\r\n const initLetter = box.config.rememberState && sessionStorage.getItem(`box-alphabet-${box.id}`)\r\n ? sessionStorage.getItem(`box-alphabet-${box.id}`) : box.config.initLetter;\r\n if (active === alphaIndex) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (searchValue !== '' && !box.search.autocomplete) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n let searchSubtract = 0;\r\n if (searchIndex > 0) {\r\n searchSubtract = searchIndex > active ? 0 : 1;\r\n }\r\n\r\n let alphaSubtract = 0;\r\n if (alphaIndex > 0) {\r\n alphaSubtract = alphaIndex > active ? 0 : 1;\r\n }\r\n\r\n const grouping = groupings[active - searchSubtract - alphaSubtract - 1];\r\n if (grouping) {\r\n return (\r\n \r\n );\r\n }\r\n // For callback purposes\r\n return
    ;\r\n })()}\r\n
    \r\n );\r\n\r\n const renderButtons = conf.buttons.map((b, i) => {\r\n const key = i;\r\n if (stacked) {\r\n return (\r\n
    \r\n \r\n {(() => {\r\n if (active > 0 && i + 1 === active) {\r\n return renderContent;\r\n }\r\n return null;\r\n })()}\r\n
    \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n });\r\n\r\n let classNames = `au_databox collapse buttons-${conf.buttons.length}`;\r\n\r\n if (conf.firstline) {\r\n classNames += ' first-line-full';\r\n }\r\n\r\n if (stacked) {\r\n classNames += ' stacked';\r\n }\r\n\r\n const style = {\r\n backgroundColor: bg.color,\r\n };\r\n\r\n if (bg.src !== '') {\r\n style.backgroundImage = `url('${bg.src}')`;\r\n }\r\n\r\n if (bg.height > 0) {\r\n style.height = bg.height;\r\n }\r\n\r\n const innerContent = (\r\n
    \r\n
    \r\n {(() => {\r\n if (bg.text !== '') {\r\n return
    ;\r\n }\r\n return null;\r\n })()}\r\n
    \r\n {renderButtons}\r\n
    \r\n
    \r\n {(() => {\r\n if (active > 0 && !stacked) {\r\n return renderContent;\r\n }\r\n return null;\r\n })()}\r\n
    \r\n );\r\n\r\n return (\r\n 0}\r\n onLoad={() => {\r\n box.loaded = true;\r\n }}\r\n >\r\n {innerContent}\r\n \r\n );\r\n }\r\n}\r\n\r\nDataBoxComponent.defaultProps = {\r\n\r\n};\r\n\r\nDataBoxComponent.propTypes = {\r\n box: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n data: PropTypes.shape({\r\n source: PropTypes.string.isRequired,\r\n mode: PropTypes.string.isRequired,\r\n callback: PropTypes.func.isRequired,\r\n }),\r\n config: PropTypes.shape({\r\n expand: PropTypes.bool.isRequired,\r\n initLetter: PropTypes.string.isRequired,\r\n alphabet: PropTypes.number.isRequired,\r\n rememberState: PropTypes.bool.isRequired,\r\n trigger: PropTypes.number.isRequired,\r\n stacked: PropTypes.bool.isRequired,\r\n buttons: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n firstline: PropTypes.bool.isRequired,\r\n container: 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 src: PropTypes.string.isRequired,\r\n height: PropTypes.string.isRequired,\r\n text: PropTypes.string.isRequired,\r\n }).isRequired,\r\n search: PropTypes.shape({\r\n autocomplete: PropTypes.bool.isRequired,\r\n index: PropTypes.number.isRequired,\r\n }).isRequired,\r\n loaded: PropTypes.bool.isRequired,\r\n }).isRequired,\r\n parse: PropTypes.func.isRequired,\r\n};\r\n\r\nDataBoxComponent.displayName = 'DataBoxComponent';\r\nexport default DataBoxComponent;\r\n","/* eslint func-names: [\"error\", \"never\"] */\r\n/* eslint no-prototype-builtins: 0 */\r\n/* eslint no-restricted-syntax: 0 */\r\n/* eslint max-classes-per-file: 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 axios from 'axios';\r\nimport DataBoxComponent from '../components/databox/DataBoxComponent';\r\n\r\nconst defaultOptions = {\r\n config: {\r\n container: '.au_databox', // DOM-element\r\n firstline: true, // skal søgefeltet stå på en række for sig selv?\r\n alphabet: 2, // hvilken knap er alfabetet?\r\n initLetter: 'a', // Startbogstavet for alfabetet\r\n trigger: 0,\r\n tracking: '/virtual/databox/', // GA-tracking\r\n buttons: [ // Teksten på knapperne - nyt!\r\n { text: 'Dummy knap 1', link: '' },\r\n { text: 'Dummy knap 2', link: '' },\r\n ],\r\n stacked: false,\r\n rememberState: false,\r\n expand: false,\r\n },\r\n background: {\r\n color: '#003d73',\r\n linkColor: '#003d73',\r\n src: '',\r\n height: 0,\r\n text: '',\r\n overlay: true,\r\n },\r\n search: {\r\n autocomplete: true,\r\n index: 1,\r\n minLength: 1,\r\n placeHolder: '',\r\n },\r\n data: {\r\n mode: 'json',\r\n source: '',\r\n callback: null,\r\n },\r\n};\r\n\r\nclass AUDataboxParser {\r\n static json(source, callback) {\r\n if (source) {\r\n let sourceArr = [];\r\n if (!Array.isArray(source)) {\r\n sourceArr.push(source);\r\n } else {\r\n sourceArr = source;\r\n }\r\n const promises = [];\r\n sourceArr.forEach((s) => {\r\n promises.push(new Promise((resolve) => {\r\n axios.get(s).then((promise) => {\r\n resolve(promise.data);\r\n });\r\n }));\r\n });\r\n\r\n Promise.all(promises).then((values) => {\r\n callback({\r\n items: values.map((x) => x.items)[0],\r\n groupings: values.map((x) => x.groupings)[0] || [],\r\n });\r\n });\r\n }\r\n }\r\n\r\n static xml(source, callback) {\r\n const xmlFunc = (data) => {\r\n const items = [];\r\n const children = [];\r\n const associations = [];\r\n\r\n let assocXML = [];\r\n let count = 1;\r\n\r\n do {\r\n assocXML = $(data).find(`associations${count} > item`);\r\n\r\n const assoc = [];\r\n for (let i = 0; i < assocXML.length; i += 1) {\r\n assoc.push({\r\n id: $(assocXML[i]).attr('id'),\r\n name: $(assocXML[i]).attr('name'),\r\n items: [],\r\n });\r\n }\r\n\r\n if (assoc.length > 0) {\r\n associations.push(assoc);\r\n }\r\n\r\n count += 1;\r\n } while (assocXML.length > 0);\r\n\r\n const itemsXML = $(data).find('items > item');\r\n $.each(itemsXML, function () {\r\n const extraXML = $(this).find('extra');\r\n const extra = [];\r\n $.each(extraXML.find('param'), () => {\r\n extra.push({\r\n param: $(this).text(),\r\n });\r\n });\r\n const obj = {\r\n id: $(this).attr('id'),\r\n name: $(this).attr('name'),\r\n url: $(this).attr('url'),\r\n parent: $(this).attr('parent'),\r\n extra,\r\n children: [],\r\n associations: [],\r\n };\r\n\r\n for (let i = 0; i < associations.length; i += 1) {\r\n const objAssoc = $(this).find(`association${parseInt(i + 1, 10)}`);\r\n\r\n obj.associations.push([]);\r\n\r\n for (let j = 0; j < objAssoc.length; j += 1) {\r\n const id = parseInt($(objAssoc[j]).attr('id'), 10) - 1;\r\n obj.associations[i].push({\r\n id: associations[i][id].id,\r\n name: associations[i][id].name,\r\n });\r\n associations[i][id].items.push(obj);\r\n }\r\n }\r\n\r\n items.push(obj);\r\n if (typeof obj.parent !== 'undefined' && obj.parent !== '') {\r\n children.push(obj);\r\n }\r\n });\r\n\r\n for (let c = 0; c < children.length; c += 1) {\r\n const pid = children[c].parent;\r\n for (let p = 0; p < items.length; p += 1) {\r\n if (items[p].id === pid) {\r\n items[p].children.push(children[c]);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const groupings = [];\r\n for (let i = 0; i < associations.length; i += 1) {\r\n groupings.push({\r\n id: i,\r\n associations: associations[i],\r\n });\r\n }\r\n\r\n callback({\r\n rawData: data,\r\n items,\r\n groupings,\r\n });\r\n };\r\n\r\n AU.helpers.getXML(source, (data) => {\r\n xmlFunc(data);\r\n });\r\n }\r\n\r\n static table(source, callback) {\r\n const table = $(`${source} > table`);\r\n const list = $(`${source} > ul`);\r\n\r\n const items = [];\r\n const children = [];\r\n const associations = [];\r\n\r\n $('li', list).each(function () {\r\n const assoc = [];\r\n $('> ul > li', this).each(function (i) {\r\n assoc.push({\r\n id: i,\r\n name: $(this).text(),\r\n items: [],\r\n });\r\n });\r\n\r\n if (assoc.length > 0) {\r\n associations.push(assoc);\r\n }\r\n });\r\n\r\n $('tr', table).each(function (i) {\r\n if (i > 0) {\r\n const cells = $('td', this);\r\n\r\n const id = parseInt(cells.eq(0).text(), 10);\r\n const parent = parseInt(cells.eq(1).text(), 10);\r\n let name = cells.eq(2).text();\r\n name = name.trim();\r\n const url = $('a', cells.eq(2)).attr('href');\r\n const skip = 3; // Antallet af celler, som ikke angiver associations!\r\n\r\n const obj = {\r\n id,\r\n name,\r\n url,\r\n parent,\r\n extra: [],\r\n children: [],\r\n associations: [],\r\n };\r\n\r\n for (let j = 0; j < associations.length; j += 1) {\r\n const assocCell = cells.eq(j + skip).text();\r\n const assocCellSplit = assocCell.split(',');\r\n\r\n obj.associations.push([]);\r\n\r\n for (let k = 0; k < assocCellSplit.length; k += 1) {\r\n const aid = parseInt(assocCellSplit[k], 10) - 1;\r\n\r\n if (typeof associations[j][aid] !== 'undefined') {\r\n obj.associations[j].push({\r\n id: associations[j][aid].id,\r\n name: associations[j][aid].name,\r\n });\r\n\r\n associations[j][aid].items.push(obj);\r\n }\r\n }\r\n }\r\n\r\n if (obj.parent === 0 || obj.parent === '') {\r\n items.push(obj);\r\n } else {\r\n children.push(obj);\r\n }\r\n }\r\n });\r\n\r\n for (let c = 0; c < children.length; c += 1) {\r\n const pid = children[c].parent;\r\n for (let p = 0; p < items.length; p += 1) {\r\n if (items[p].id === pid) {\r\n items[p].children.push(children[c]);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const groupings = [];\r\n for (let i = 0; i < associations.length; i += 1) {\r\n groupings.push({\r\n id: i,\r\n associations: associations[i],\r\n });\r\n }\r\n\r\n callback({\r\n items,\r\n groupings,\r\n });\r\n }\r\n\r\n static list(source, callback) {\r\n const list = $(source);\r\n const items = [];\r\n $('li', list).each(function (i) {\r\n items.push({\r\n id: i,\r\n label: $(this).text(),\r\n value: $(this).text(),\r\n name: $(this).text(),\r\n url: $('a', this).attr('href'),\r\n children: [],\r\n associations: [],\r\n });\r\n });\r\n\r\n callback({\r\n items,\r\n groupings: [],\r\n });\r\n }\r\n}\r\nclass AUDatabox {\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 return box;\r\n }\r\n\r\n static legacyCleanUp(_box) {\r\n const box = _box;\r\n const container = $(box.config.container);\r\n if (container !== null) {\r\n const containerChildren = $('> *:not(.no-header)', container); // Kan både være div og h2 elementer\r\n if (containerChildren.length > 0) {\r\n box.config.buttons = [];\r\n containerChildren.each(function () {\r\n box.config.buttons.push({\r\n text: $(this).text(),\r\n link: '',\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n init() {\r\n const parser = {\r\n json: AUDataboxParser.json,\r\n xml: AUDataboxParser.xml,\r\n table: AUDataboxParser.table,\r\n list: AUDataboxParser.list,\r\n };\r\n\r\n for (let i = 0; i < this.boxes.length; i += 1) {\r\n let box = this.boxes[i];\r\n if (!box.loaded) {\r\n box = AUDatabox.mergeOptions(box);\r\n box.id = i;\r\n AUDatabox.legacyCleanUp(box);\r\n // I stedet for at skulle rette alle gamle søgebokse,\r\n // hvor knappernes tekst er sat direkte i HTML'en,\r\n // finder vi knapperne her og indsætter dem som 'buttons' i config'en\r\n const mountNode = document.querySelector(box.config.container);\r\n const visible = mountNode && getComputedStyle(mountNode).visibility !== 'hidden';\r\n if (!box.config.stacked\r\n && AU.responsive.state\r\n && AU.responsive.state.NAME === 'PHONE') {\r\n box.config.stacked = true;\r\n }\r\n if (visible) {\r\n ReactDOM.render(\r\n , mountNode,\r\n );\r\n box.loaded = true;\r\n }\r\n\r\n if (box.data.mode === 'table' || box.data.mode === 'list') {\r\n const dataElement = document.querySelector(box.data.source);\r\n if (dataElement) {\r\n dataElement.parentNode.removeChild(dataElement);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nwindow.AUDatabox = AUDatabox;\r\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn decodeURIComponent(components.join(''));\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher);\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher);\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\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","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\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 = 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';\nvar strictUriEncode = require('strict-uri-encode');\nvar objectAssign = require('object-assign');\nvar decodeComponent = require('decode-uri-component');\n\nfunction encoderForArrayFormat(opts) {\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, index) {\n\t\t\t\treturn value === null ? [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tindex,\n\t\t\t\t\t']'\n\t\t\t\t].join('') : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[',\n\t\t\t\t\tencode(index, opts),\n\t\t\t\t\t']=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'[]=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value) {\n\t\t\t\treturn value === null ? encode(key, opts) : [\n\t\t\t\t\tencode(key, opts),\n\t\t\t\t\t'=',\n\t\t\t\t\tencode(value, opts)\n\t\t\t\t].join('');\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(opts) {\n\tvar result;\n\n\tswitch (opts.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t} else if (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn function (key, value, accumulator) {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction encode(value, opts) {\n\tif (opts.encode) {\n\t\treturn opts.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t} else if (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input)).sort(function (a, b) {\n\t\t\treturn Number(a) - Number(b);\n\t\t}).map(function (key) {\n\t\t\treturn input[key];\n\t\t});\n\t}\n\n\treturn input;\n}\n\nfunction extract(str) {\n\tvar queryStart = str.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\treturn str.slice(queryStart + 1);\n}\n\nfunction parse(str, opts) {\n\topts = objectAssign({arrayFormat: 'none'}, opts);\n\n\tvar formatter = parserForArrayFormat(opts);\n\n\t// Create an object with no prototype\n\t// https://github.com/sindresorhus/query-string/issues/47\n\tvar ret = Object.create(null);\n\n\tif (typeof str !== 'string') {\n\t\treturn ret;\n\t}\n\n\tstr = str.trim().replace(/^[?#&]/, '');\n\n\tif (!str) {\n\t\treturn ret;\n\t}\n\n\tstr.split('&').forEach(function (param) {\n\t\tvar parts = param.replace(/\\+/g, ' ').split('=');\n\t\t// Firefox (pre 40) decodes `%3D` to `=`\n\t\t// https://github.com/sindresorhus/query-string/pull/37\n\t\tvar key = parts.shift();\n\t\tvar val = parts.length > 0 ? parts.join('=') : undefined;\n\n\t\t// missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tval = val === undefined ? null : decodeComponent(val);\n\n\t\tformatter(decodeComponent(key), val, ret);\n\t});\n\n\treturn Object.keys(ret).sort().reduce(function (result, key) {\n\t\tvar val = ret[key];\n\t\tif (Boolean(val) && typeof val === 'object' && !Array.isArray(val)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(val);\n\t\t} else {\n\t\t\tresult[key] = val;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = function (obj, opts) {\n\tvar defaults = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none'\n\t};\n\n\topts = objectAssign(defaults, opts);\n\n\tif (opts.sort === false) {\n\t\topts.sort = function () {};\n\t}\n\n\tvar formatter = encoderForArrayFormat(opts);\n\n\treturn obj ? Object.keys(obj).sort(opts.sort).map(function (key) {\n\t\tvar val = obj[key];\n\n\t\tif (val === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (val === null) {\n\t\t\treturn encode(key, opts);\n\t\t}\n\n\t\tif (Array.isArray(val)) {\n\t\t\tvar result = [];\n\n\t\t\tval.slice().forEach(function (val2) {\n\t\t\t\tif (val2 === undefined) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresult.push(formatter(key, val2, result.length));\n\t\t\t});\n\n\t\t\treturn result.join('&');\n\t\t}\n\n\t\treturn encode(key, opts) + '=' + encode(val, opts);\n\t}).filter(function (x) {\n\t\treturn x.length > 0;\n\t}).join('&') : '';\n};\n\nexports.parseUrl = function (str, opts) {\n\treturn {\n\t\turl: str.split('?')[0] || '',\n\t\tquery: parse(extract(str), opts)\n\t};\n};\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","'use strict';\nmodule.exports = function (str) {\n\treturn encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n\t\treturn '%' + c.charCodeAt(0).toString(16).toUpperCase();\n\t});\n};\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__(160);\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":""}