{"version":3,"file":"js/dist/konsolenkost-494.min.js","mappings":"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","sources":["webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/debounce.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/isEqual.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/noop.js","webpack:///./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createClickedEvent.js","webpack:///./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/isModernInsightsClient.js","webpack:///./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createSearchInsightsApi.js","webpack:///./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createViewedEvents.js","webpack:///./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/isAlgoliaInsightsHit.js","webpack:///./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createAlgoliaInsightsPlugin.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/safelyRunOnBrowser.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/createStore.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/flatten.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/getAutocompleteSetters.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/getItemsCount.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/generateAutocompleteId.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/decycle.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/getNormalizedSources.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/getDefaultProps.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/reshape.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/resolve.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromise.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/getActiveItem.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/onInput.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/createConcurrentSafePromise.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/getAutocompleteElementId.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/onKeyDown.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/isSamsung.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/getNativeEvent.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/getPropGetters.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/isOrContainsNode.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/metadata.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/getCompletion.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/getNextActiveItemId.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/stateReducer.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/createAutocomplete.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromiseList.js","webpack:///./node_modules/htm/dist/htm.module.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/elements/SearchIcon.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/elements/ClearIcon.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/elements/LoadingIcon.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/utils/setProperties.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/getCreateDomElement.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/elements/Input.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/createAutocompleteDom.js","webpack:///./node_modules/preact/dist/preact.module.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAttribute.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitHighlight.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/components/Highlight.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/isPartHighlighted.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/reverseHighlightedParts.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/components/ReverseHighlight.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseHighlight.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitSnippet.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/components/ReverseSnippet.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseSnippet.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/components/Snippet.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/utils/getHTMLElement.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/utils/mergeClassNames.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/getDefaultOptions.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/getPanelPlacementStyle.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/render.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/utils/mergeDeep.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/utils/pickBy.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/autocomplete.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/createReactiveWrapper.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/createEffectWrapper.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/requester/createRequester.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/search/fetchAlgoliaResults.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/requesters/createAlgoliaRequester.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/utils/getAppIdAndApiKey.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/requesters/getAlgoliaResults.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/userAgents.js","webpack:///./node_modules/@algolia/autocomplete-plugin-query-suggestions/dist/esm/constants.js","webpack:///./node_modules/@algolia/autocomplete-plugin-query-suggestions/dist/esm/getTemplates.js","webpack:///./node_modules/@algolia/autocomplete-plugin-query-suggestions/dist/esm/createQuerySuggestionsPlugin.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/constants.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createLocalStorage.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/getTemplates.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createRecentSearchesPlugin.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/addHighlightedAttribute.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/search.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createLocalStorageRecentSearchesPlugin.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/getLocalStorage.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createStorageApi.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/constants/index.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/createRef.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/getAttributeValueByPath.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/invariant.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/userAgents.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/version.js"],"sourcesContent":["export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (timerId) {\n clearTimeout(timerId);\n }\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function isPrimitive(obj) {\n return obj !== Object(obj);\n}\nexport function isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (isPrimitive(first) || isPrimitive(second) || typeof first === 'function' || typeof second === 'function') {\n return first === second;\n }\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (var _i = 0, _Object$keys = Object.keys(first); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n if (!(key in second)) {\n return false;\n }\n if (!isEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n}","export var noop = function noop() {};","export function createClickedEvent(_ref) {\n var item = _ref.item,\n _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items;\n return {\n index: item.__autocomplete_indexName,\n items: [item],\n positions: [1 + items.findIndex(function (x) {\n return x.objectID === item.objectID;\n })],\n queryID: item.__autocomplete_queryID,\n algoliaSource: ['autocomplete']\n };\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\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; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n/**\n * Determines if a given insights `client` supports the optional call to `init`\n * and the ability to set credentials via extra parameters when sending events.\n */\nexport function isModernInsightsClient(client) {\n var _split$map = (client.version || '').split('.').map(Number),\n _split$map2 = _slicedToArray(_split$map, 2),\n major = _split$map2[0],\n minor = _split$map2[1];\n\n /* eslint-disable @typescript-eslint/camelcase */\n var v3 = major >= 3;\n var v2_4 = major === 2 && minor >= 4;\n var v1_10 = major === 1 && minor >= 10;\n return v3 || v2_4 || v1_10;\n /* eslint-enable @typescript-eslint/camelcase */\n}","var _excluded = [\"items\"],\n _excluded2 = [\"items\"];\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\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; }\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; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { isModernInsightsClient } from './isModernInsightsClient';\nfunction chunk(item) {\n var chunkSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20;\n var chunks = [];\n for (var i = 0; i < item.objectIDs.length; i += chunkSize) {\n chunks.push(_objectSpread(_objectSpread({}, item), {}, {\n objectIDs: item.objectIDs.slice(i, i + chunkSize)\n }));\n }\n return chunks;\n}\nfunction mapToInsightsParamsApi(params) {\n return params.map(function (_ref) {\n var items = _ref.items,\n param = _objectWithoutProperties(_ref, _excluded);\n return _objectSpread(_objectSpread({}, param), {}, {\n objectIDs: (items === null || items === void 0 ? void 0 : items.map(function (_ref2) {\n var objectID = _ref2.objectID;\n return objectID;\n })) || param.objectIDs\n });\n });\n}\nexport function createSearchInsightsApi(searchInsights) {\n var canSendHeaders = isModernInsightsClient(searchInsights);\n function sendToInsights(method, payloads, items) {\n if (canSendHeaders && typeof items !== 'undefined') {\n var _items$0$__autocomple = items[0].__autocomplete_algoliaCredentials,\n appId = _items$0$__autocomple.appId,\n apiKey = _items$0$__autocomple.apiKey;\n var headers = {\n 'X-Algolia-Application-Id': appId,\n 'X-Algolia-API-Key': apiKey\n };\n searchInsights.apply(void 0, [method].concat(_toConsumableArray(payloads), [{\n headers: headers\n }]));\n } else {\n searchInsights.apply(void 0, [method].concat(_toConsumableArray(payloads)));\n }\n }\n return {\n /**\n * Initializes Insights with Algolia credentials.\n */\n init: function init(appId, apiKey) {\n searchInsights('init', {\n appId: appId,\n apiKey: apiKey\n });\n },\n /**\n * Sets the authenticated user token to attach to events.\n * Unsets the authenticated token by passing `undefined`.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/set-authenticated-user-token/\n */\n setAuthenticatedUserToken: function setAuthenticatedUserToken(authenticatedUserToken) {\n searchInsights('setAuthenticatedUserToken', authenticatedUserToken);\n },\n /**\n * Sets the user token to attach to events.\n */\n setUserToken: function setUserToken(userToken) {\n searchInsights('setUserToken', userToken);\n },\n /**\n * Sends click events to capture a query and its clicked items and positions.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/\n */\n clickedObjectIDsAfterSearch: function clickedObjectIDsAfterSearch() {\n for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {\n params[_key] = arguments[_key];\n }\n if (params.length > 0) {\n sendToInsights('clickedObjectIDsAfterSearch', mapToInsightsParamsApi(params), params[0].items);\n }\n },\n /**\n * Sends click events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/\n */\n clickedObjectIDs: function clickedObjectIDs() {\n for (var _len2 = arguments.length, params = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n params[_key2] = arguments[_key2];\n }\n if (params.length > 0) {\n sendToInsights('clickedObjectIDs', mapToInsightsParamsApi(params), params[0].items);\n }\n },\n /**\n * Sends click events to capture the filters a user clicks on.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/\n */\n clickedFilters: function clickedFilters() {\n for (var _len3 = arguments.length, params = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n params[_key3] = arguments[_key3];\n }\n if (params.length > 0) {\n searchInsights.apply(void 0, ['clickedFilters'].concat(params));\n }\n },\n /**\n * Sends conversion events to capture a query and its clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/\n */\n convertedObjectIDsAfterSearch: function convertedObjectIDsAfterSearch() {\n for (var _len4 = arguments.length, params = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n params[_key4] = arguments[_key4];\n }\n if (params.length > 0) {\n sendToInsights('convertedObjectIDsAfterSearch', mapToInsightsParamsApi(params), params[0].items);\n }\n },\n /**\n * Sends conversion events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/\n */\n convertedObjectIDs: function convertedObjectIDs() {\n for (var _len5 = arguments.length, params = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n params[_key5] = arguments[_key5];\n }\n if (params.length > 0) {\n sendToInsights('convertedObjectIDs', mapToInsightsParamsApi(params), params[0].items);\n }\n },\n /**\n * Sends conversion events to capture the filters a user uses when converting.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/\n */\n convertedFilters: function convertedFilters() {\n for (var _len6 = arguments.length, params = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n params[_key6] = arguments[_key6];\n }\n if (params.length > 0) {\n searchInsights.apply(void 0, ['convertedFilters'].concat(params));\n }\n },\n /**\n * Sends view events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/\n */\n viewedObjectIDs: function viewedObjectIDs() {\n for (var _len7 = arguments.length, params = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n params[_key7] = arguments[_key7];\n }\n if (params.length > 0) {\n params.reduce(function (acc, _ref3) {\n var items = _ref3.items,\n param = _objectWithoutProperties(_ref3, _excluded2);\n return [].concat(_toConsumableArray(acc), _toConsumableArray(chunk(_objectSpread(_objectSpread({}, param), {}, {\n objectIDs: (items === null || items === void 0 ? void 0 : items.map(function (_ref4) {\n var objectID = _ref4.objectID;\n return objectID;\n })) || param.objectIDs\n })).map(function (payload) {\n return {\n items: items,\n payload: payload\n };\n })));\n }, []).forEach(function (_ref5) {\n var items = _ref5.items,\n payload = _ref5.payload;\n return sendToInsights('viewedObjectIDs', [payload], items);\n });\n }\n },\n /**\n * Sends view events to capture the filters a user uses when viewing.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/\n */\n viewedFilters: function viewedFilters() {\n for (var _len8 = arguments.length, params = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n params[_key8] = arguments[_key8];\n }\n if (params.length > 0) {\n searchInsights.apply(void 0, ['viewedFilters'].concat(params));\n }\n }\n };\n}","export function createViewedEvents(_ref) {\n var items = _ref.items;\n var itemsByIndexName = items.reduce(function (acc, current) {\n var _acc$current$__autoco;\n acc[current.__autocomplete_indexName] = ((_acc$current$__autoco = acc[current.__autocomplete_indexName]) !== null && _acc$current$__autoco !== void 0 ? _acc$current$__autoco : []).concat(current);\n return acc;\n }, {});\n return Object.keys(itemsByIndexName).map(function (indexName) {\n var items = itemsByIndexName[indexName];\n return {\n index: indexName,\n items: items,\n algoliaSource: ['autocomplete']\n };\n });\n}","export function isAlgoliaInsightsHit(hit) {\n return hit.objectID && hit.__autocomplete_indexName && hit.__autocomplete_queryID;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { createRef, debounce, isEqual, noop, safelyRunOnBrowser } from '@algolia/autocomplete-shared';\nimport { createClickedEvent } from './createClickedEvent';\nimport { createSearchInsightsApi } from './createSearchInsightsApi';\nimport { createViewedEvents } from './createViewedEvents';\nimport { isAlgoliaInsightsHit } from './isAlgoliaInsightsHit';\nvar VIEW_EVENT_DELAY = 400;\nvar ALGOLIA_INSIGHTS_VERSION = '2.15.0';\nvar ALGOLIA_INSIGHTS_SRC = \"https://cdn.jsdelivr.net/npm/search-insights@\".concat(ALGOLIA_INSIGHTS_VERSION, \"/dist/search-insights.min.js\");\nvar sendViewedObjectIDs = debounce(function (_ref) {\n var onItemsChange = _ref.onItemsChange,\n items = _ref.items,\n insights = _ref.insights,\n state = _ref.state;\n onItemsChange({\n insights: insights,\n insightsEvents: createViewedEvents({\n items: items\n }).map(function (event) {\n return _objectSpread({\n eventName: 'Items Viewed'\n }, event);\n }),\n state: state\n });\n}, VIEW_EVENT_DELAY);\nexport function createAlgoliaInsightsPlugin(options) {\n var _getOptions = getOptions(options),\n providedInsightsClient = _getOptions.insightsClient,\n insightsInitParams = _getOptions.insightsInitParams,\n onItemsChange = _getOptions.onItemsChange,\n onSelectEvent = _getOptions.onSelect,\n onActiveEvent = _getOptions.onActive,\n __autocomplete_clickAnalytics = _getOptions.__autocomplete_clickAnalytics;\n var insightsClient = providedInsightsClient;\n if (!providedInsightsClient) {\n safelyRunOnBrowser(function (_ref2) {\n var window = _ref2.window;\n var pointer = window.AlgoliaAnalyticsObject || 'aa';\n if (typeof pointer === 'string') {\n insightsClient = window[pointer];\n }\n if (!insightsClient) {\n window.AlgoliaAnalyticsObject = pointer;\n if (!window[pointer]) {\n window[pointer] = function () {\n if (!window[pointer].queue) {\n window[pointer].queue = [];\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n window[pointer].queue.push(args);\n };\n }\n window[pointer].version = ALGOLIA_INSIGHTS_VERSION;\n insightsClient = window[pointer];\n loadInsights(window);\n }\n });\n }\n\n // We return an empty plugin if `insightsClient` is still undefined at\n // this stage, which can happen in server environments.\n if (!insightsClient) {\n return {};\n }\n if (insightsInitParams) {\n insightsClient('init', _objectSpread({\n partial: true\n }, insightsInitParams));\n }\n var insights = createSearchInsightsApi(insightsClient);\n var previousItems = createRef([]);\n var debouncedOnStateChange = debounce(function (_ref3) {\n var state = _ref3.state;\n if (!state.isOpen) {\n return;\n }\n var items = state.collections.reduce(function (acc, current) {\n return [].concat(_toConsumableArray(acc), _toConsumableArray(current.items));\n }, []).filter(isAlgoliaInsightsHit);\n if (!isEqual(previousItems.current.map(function (x) {\n return x.objectID;\n }), items.map(function (x) {\n return x.objectID;\n }))) {\n previousItems.current = items;\n if (items.length > 0) {\n sendViewedObjectIDs({\n onItemsChange: onItemsChange,\n items: items,\n insights: insights,\n state: state\n });\n }\n }\n }, 0);\n return {\n name: 'aa.algoliaInsightsPlugin',\n subscribe: function subscribe(_ref4) {\n var setContext = _ref4.setContext,\n onSelect = _ref4.onSelect,\n onActive = _ref4.onActive;\n function setInsightsContext(userToken) {\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: _objectSpread(_objectSpread({}, __autocomplete_clickAnalytics ? {\n clickAnalytics: true\n } : {}), userToken ? {\n userToken: normalizeUserToken(userToken)\n } : {}),\n insights: insights\n }\n });\n }\n insightsClient('addAlgoliaAgent', 'insights-plugin');\n setInsightsContext();\n\n // Handles user token changes\n insightsClient('onUserTokenChange', function (userToken) {\n setInsightsContext(userToken);\n });\n insightsClient('getUserToken', null, function (_error, userToken) {\n setInsightsContext(userToken);\n });\n onSelect(function (_ref5) {\n var item = _ref5.item,\n state = _ref5.state,\n event = _ref5.event,\n source = _ref5.source;\n if (!isAlgoliaInsightsHit(item)) {\n return;\n }\n onSelectEvent({\n state: state,\n event: event,\n insights: insights,\n item: item,\n insightsEvents: [_objectSpread({\n eventName: 'Item Selected'\n }, createClickedEvent({\n item: item,\n items: source.getItems().filter(isAlgoliaInsightsHit)\n }))]\n });\n });\n onActive(function (_ref6) {\n var item = _ref6.item,\n source = _ref6.source,\n state = _ref6.state,\n event = _ref6.event;\n if (!isAlgoliaInsightsHit(item)) {\n return;\n }\n onActiveEvent({\n state: state,\n event: event,\n insights: insights,\n item: item,\n insightsEvents: [_objectSpread({\n eventName: 'Item Active'\n }, createClickedEvent({\n item: item,\n items: source.getItems().filter(isAlgoliaInsightsHit)\n }))]\n });\n });\n },\n onStateChange: function onStateChange(_ref7) {\n var state = _ref7.state;\n debouncedOnStateChange({\n state: state\n });\n },\n __autocomplete_pluginOptions: options\n };\n}\nfunction getAlgoliaSources() {\n var _context$algoliaInsig;\n var algoliaSourceBase = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var context = arguments.length > 1 ? arguments[1] : undefined;\n return [].concat(_toConsumableArray(algoliaSourceBase), ['autocomplete-internal'], _toConsumableArray((_context$algoliaInsig = context.algoliaInsightsPlugin) !== null && _context$algoliaInsig !== void 0 && _context$algoliaInsig.__automaticInsights ? ['autocomplete-automatic'] : []));\n}\nfunction getOptions(options) {\n return _objectSpread({\n onItemsChange: function onItemsChange(_ref8) {\n var insights = _ref8.insights,\n insightsEvents = _ref8.insightsEvents,\n state = _ref8.state;\n insights.viewedObjectIDs.apply(insights, _toConsumableArray(insightsEvents.map(function (event) {\n return _objectSpread(_objectSpread({}, event), {}, {\n algoliaSource: getAlgoliaSources(event.algoliaSource, state.context)\n });\n })));\n },\n onSelect: function onSelect(_ref9) {\n var insights = _ref9.insights,\n insightsEvents = _ref9.insightsEvents,\n state = _ref9.state;\n insights.clickedObjectIDsAfterSearch.apply(insights, _toConsumableArray(insightsEvents.map(function (event) {\n return _objectSpread(_objectSpread({}, event), {}, {\n algoliaSource: getAlgoliaSources(event.algoliaSource, state.context)\n });\n })));\n },\n onActive: noop,\n __autocomplete_clickAnalytics: true\n }, options);\n}\nfunction loadInsights(environment) {\n var errorMessage = \"[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete\";\n try {\n var script = environment.document.createElement('script');\n script.async = true;\n script.src = ALGOLIA_INSIGHTS_SRC;\n script.onerror = function () {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n };\n document.body.appendChild(script);\n } catch (cause) {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n }\n}\n\n/**\n * While `search-insights` supports both string and number user tokens,\n * the Search API only accepts strings. This function normalizes the user token.\n */\nfunction normalizeUserToken(userToken) {\n return typeof userToken === 'number' ? userToken.toString() : userToken;\n}","/**\n * Safely runs code meant for browser environments only.\n */\nexport function safelyRunOnBrowser(callback) {\n if (typeof window !== 'undefined') {\n return callback({\n window: window\n });\n }\n return undefined;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { createCancelablePromiseList } from './utils';\nexport function createStore(reducer, props, onStoreStateChange) {\n var state = props.initialState;\n return {\n getState: function getState() {\n return state;\n },\n dispatch: function dispatch(action, payload) {\n var prevState = _objectSpread({}, state);\n state = reducer(state, {\n type: action,\n props: props,\n payload: payload\n });\n onStoreStateChange({\n state: state,\n prevState: prevState\n });\n },\n pendingRequests: createCancelablePromiseList()\n };\n}","export function flatten(values) {\n return values.reduce(function (a, b) {\n return a.concat(b);\n }, []);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function getAutocompleteSetters(_ref) {\n var store = _ref.store;\n var setActiveItemId = function setActiveItemId(value) {\n store.dispatch('setActiveItemId', value);\n };\n var setQuery = function setQuery(value) {\n store.dispatch('setQuery', value);\n };\n var setCollections = function setCollections(rawValue) {\n var baseItemId = 0;\n var value = rawValue.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n // We flatten the stored items to support calling `getAlgoliaResults`\n // from the source itself.\n items: flatten(collection.items).map(function (item) {\n return _objectSpread(_objectSpread({}, item), {}, {\n __autocomplete_id: baseItemId++\n });\n })\n });\n });\n store.dispatch('setCollections', value);\n };\n var setIsOpen = function setIsOpen(value) {\n store.dispatch('setIsOpen', value);\n };\n var setStatus = function setStatus(value) {\n store.dispatch('setStatus', value);\n };\n var setContext = function setContext(value) {\n store.dispatch('setContext', value);\n };\n return {\n setActiveItemId: setActiveItemId,\n setQuery: setQuery,\n setCollections: setCollections,\n setIsOpen: setIsOpen,\n setStatus: setStatus,\n setContext: setContext\n };\n}","export function getItemsCount(state) {\n if (state.collections.length === 0) {\n return 0;\n }\n return state.collections.reduce(function (sum, collection) {\n return sum + collection.items.length;\n }, 0);\n}","var autocompleteId = 0;\nexport function generateAutocompleteId() {\n return \"autocomplete-\".concat(autocompleteId++);\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\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; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n/**\n * Decycles objects with circular references.\n * This is used to print cyclic structures in development environment only.\n */\nexport function decycle(obj) {\n var seen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Set();\n if (!(process.env.NODE_ENV !== 'production') || !obj || _typeof(obj) !== 'object') {\n return obj;\n }\n if (seen.has(obj)) {\n return '[Circular]';\n }\n var newSeen = seen.add(obj);\n if (Array.isArray(obj)) {\n return obj.map(function (x) {\n return decycle(x, newSeen);\n });\n }\n return Object.fromEntries(Object.entries(obj).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n return [key, decycle(value, newSeen)];\n }));\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nimport { invariant, decycle, noop } from '@algolia/autocomplete-shared';\nexport function getNormalizedSources(getSources, params) {\n var seenSourceIds = [];\n return Promise.resolve(getSources(params)).then(function (sources) {\n invariant(Array.isArray(sources), function () {\n return \"The `getSources` function must return an array of sources but returned type \".concat(JSON.stringify(_typeof(sources)), \":\\n\\n\").concat(JSON.stringify(decycle(sources), null, 2));\n });\n return Promise.all(sources\n // We allow `undefined` and `false` sources to allow users to use\n // `Boolean(query) && source` (=> `false`).\n // We need to remove these values at this point.\n .filter(function (maybeSource) {\n return Boolean(maybeSource);\n }).map(function (source) {\n invariant(typeof source.sourceId === 'string', 'A source must provide a `sourceId` string.');\n if (seenSourceIds.includes(source.sourceId)) {\n throw new Error(\"[Autocomplete] The `sourceId` \".concat(JSON.stringify(source.sourceId), \" is not unique.\"));\n }\n seenSourceIds.push(source.sourceId);\n var defaultSource = {\n getItemInputValue: function getItemInputValue(_ref) {\n var state = _ref.state;\n return state.query;\n },\n getItemUrl: function getItemUrl() {\n return undefined;\n },\n onSelect: function onSelect(_ref2) {\n var setIsOpen = _ref2.setIsOpen;\n setIsOpen(false);\n },\n onActive: noop,\n onResolve: noop\n };\n Object.keys(defaultSource).forEach(function (key) {\n defaultSource[key].__default = true;\n });\n var normalizedSource = _objectSpread(_objectSpread({}, defaultSource), source);\n return Promise.resolve(normalizedSource);\n }));\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { getItemsCount, generateAutocompleteId, flatten } from '@algolia/autocomplete-shared';\nimport { getNormalizedSources } from './utils';\nexport function getDefaultProps(props, pluginSubscribers) {\n var _props$id;\n /* eslint-disable no-restricted-globals */\n var environment = typeof window !== 'undefined' ? window : {};\n /* eslint-enable no-restricted-globals */\n var plugins = props.plugins || [];\n return _objectSpread(_objectSpread({\n debug: false,\n openOnFocus: false,\n enterKeyHint: undefined,\n ignoreCompositionEvents: false,\n placeholder: '',\n autoFocus: false,\n defaultActiveItemId: null,\n stallThreshold: 300,\n insights: undefined,\n environment: environment,\n shouldPanelOpen: function shouldPanelOpen(_ref) {\n var state = _ref.state;\n return getItemsCount(state) > 0;\n },\n reshape: function reshape(_ref2) {\n var sources = _ref2.sources;\n return sources;\n }\n }, props), {}, {\n // Since `generateAutocompleteId` triggers a side effect (it increments\n // an internal counter), we don't want to execute it if unnecessary.\n id: (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : generateAutocompleteId(),\n plugins: plugins,\n // The following props need to be deeply defaulted.\n initialState: _objectSpread({\n activeItemId: null,\n query: '',\n completion: null,\n collections: [],\n isOpen: false,\n status: 'idle',\n context: {}\n }, props.initialState),\n onStateChange: function onStateChange(params) {\n var _props$onStateChange;\n (_props$onStateChange = props.onStateChange) === null || _props$onStateChange === void 0 ? void 0 : _props$onStateChange.call(props, params);\n plugins.forEach(function (x) {\n var _x$onStateChange;\n return (_x$onStateChange = x.onStateChange) === null || _x$onStateChange === void 0 ? void 0 : _x$onStateChange.call(x, params);\n });\n },\n onSubmit: function onSubmit(params) {\n var _props$onSubmit;\n (_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 ? void 0 : _props$onSubmit.call(props, params);\n plugins.forEach(function (x) {\n var _x$onSubmit;\n return (_x$onSubmit = x.onSubmit) === null || _x$onSubmit === void 0 ? void 0 : _x$onSubmit.call(x, params);\n });\n },\n onReset: function onReset(params) {\n var _props$onReset;\n (_props$onReset = props.onReset) === null || _props$onReset === void 0 ? void 0 : _props$onReset.call(props, params);\n plugins.forEach(function (x) {\n var _x$onReset;\n return (_x$onReset = x.onReset) === null || _x$onReset === void 0 ? void 0 : _x$onReset.call(x, params);\n });\n },\n getSources: function getSources(params) {\n return Promise.all([].concat(_toConsumableArray(plugins.map(function (plugin) {\n return plugin.getSources;\n })), [props.getSources]).filter(Boolean).map(function (getSources) {\n return getNormalizedSources(getSources, params);\n })).then(function (nested) {\n return flatten(nested);\n }).then(function (sources) {\n return sources.map(function (source) {\n return _objectSpread(_objectSpread({}, source), {}, {\n onSelect: function onSelect(params) {\n source.onSelect(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onSelect;\n return (_x$onSelect = x.onSelect) === null || _x$onSelect === void 0 ? void 0 : _x$onSelect.call(x, params);\n });\n },\n onActive: function onActive(params) {\n source.onActive(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onActive;\n return (_x$onActive = x.onActive) === null || _x$onActive === void 0 ? void 0 : _x$onActive.call(x, params);\n });\n },\n onResolve: function onResolve(params) {\n source.onResolve(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onResolve;\n return (_x$onResolve = x.onResolve) === null || _x$onResolve === void 0 ? void 0 : _x$onResolve.call(x, params);\n });\n }\n });\n });\n });\n },\n navigator: _objectSpread({\n navigate: function navigate(_ref3) {\n var itemUrl = _ref3.itemUrl;\n environment.location.assign(itemUrl);\n },\n navigateNewTab: function navigateNewTab(_ref4) {\n var itemUrl = _ref4.itemUrl;\n var windowReference = environment.open(itemUrl, '_blank', 'noopener');\n windowReference === null || windowReference === void 0 ? void 0 : windowReference.focus();\n },\n navigateNewWindow: function navigateNewWindow(_ref5) {\n var itemUrl = _ref5.itemUrl;\n environment.open(itemUrl, '_blank', 'noopener');\n }\n }, props.navigator)\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function reshape(_ref) {\n var collections = _ref.collections,\n props = _ref.props,\n state = _ref.state;\n // Sources are grouped by `sourceId` to conveniently pick them via destructuring.\n // Example: `const { recentSearchesPlugin } = sourcesBySourceId`\n var originalSourcesBySourceId = collections.reduce(function (acc, collection) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, collection.source.sourceId, _objectSpread(_objectSpread({}, collection.source), {}, {\n getItems: function getItems() {\n // We provide the resolved items from the collection to the `reshape` prop.\n return flatten(collection.items);\n }\n })));\n }, {});\n var _props$plugins$reduce = props.plugins.reduce(function (acc, plugin) {\n if (plugin.reshape) {\n return plugin.reshape(acc);\n }\n return acc;\n }, {\n sourcesBySourceId: originalSourcesBySourceId,\n state: state\n }),\n sourcesBySourceId = _props$plugins$reduce.sourcesBySourceId;\n var reshapeSources = props.reshape({\n sourcesBySourceId: sourcesBySourceId,\n sources: Object.values(sourcesBySourceId),\n state: state\n });\n\n // We reconstruct the collections with the items modified by the `reshape` prop.\n return flatten(reshapeSources).filter(Boolean).map(function (source) {\n return {\n source: source,\n items: source.getItems()\n };\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nimport { decycle, flatten, invariant } from '@algolia/autocomplete-shared';\nimport { mapToAlgoliaResponse } from './utils';\nfunction isDescription(item) {\n return Boolean(item.execute);\n}\nfunction isRequesterDescription(description) {\n return Boolean(description === null || description === void 0 ? void 0 : description.execute);\n}\nexport function preResolve(itemsOrDescription, sourceId, state) {\n if (isRequesterDescription(itemsOrDescription)) {\n var contextParameters = itemsOrDescription.requesterId === 'algolia' ? Object.assign.apply(Object, [{}].concat(_toConsumableArray(Object.keys(state.context).map(function (key) {\n var _state$context$key;\n return (_state$context$key = state.context[key]) === null || _state$context$key === void 0 ? void 0 : _state$context$key.__algoliaSearchParameters;\n })))) : {};\n return _objectSpread(_objectSpread({}, itemsOrDescription), {}, {\n requests: itemsOrDescription.queries.map(function (query) {\n return {\n query: itemsOrDescription.requesterId === 'algolia' ? _objectSpread(_objectSpread({}, query), {}, {\n params: _objectSpread(_objectSpread({}, contextParameters), query.params)\n }) : query,\n sourceId: sourceId,\n transformResponse: itemsOrDescription.transformResponse\n };\n })\n });\n }\n return {\n items: itemsOrDescription,\n sourceId: sourceId\n };\n}\nexport function resolve(items) {\n var packed = items.reduce(function (acc, current) {\n if (!isDescription(current)) {\n acc.push(current);\n return acc;\n }\n var searchClient = current.searchClient,\n execute = current.execute,\n requesterId = current.requesterId,\n requests = current.requests;\n var container = acc.find(function (item) {\n return isDescription(current) && isDescription(item) && item.searchClient === searchClient && Boolean(requesterId) && item.requesterId === requesterId;\n });\n if (container) {\n var _container$items;\n (_container$items = container.items).push.apply(_container$items, _toConsumableArray(requests));\n } else {\n var request = {\n execute: execute,\n requesterId: requesterId,\n items: requests,\n searchClient: searchClient\n };\n acc.push(request);\n }\n return acc;\n }, []);\n var values = packed.map(function (maybeDescription) {\n if (!isDescription(maybeDescription)) {\n return Promise.resolve(maybeDescription);\n }\n var _ref = maybeDescription,\n execute = _ref.execute,\n items = _ref.items,\n searchClient = _ref.searchClient;\n return execute({\n searchClient: searchClient,\n requests: items\n });\n });\n return Promise.all(values).then(function (responses) {\n return flatten(responses);\n });\n}\nexport function postResolve(responses, sources, store) {\n return sources.map(function (source) {\n var matches = responses.filter(function (response) {\n return response.sourceId === source.sourceId;\n });\n var results = matches.map(function (_ref2) {\n var items = _ref2.items;\n return items;\n });\n var transform = matches[0].transformResponse;\n var items = transform ? transform(mapToAlgoliaResponse(results)) : results;\n source.onResolve({\n source: source,\n results: results,\n items: items,\n state: store.getState()\n });\n invariant(Array.isArray(items), function () {\n return \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned type \").concat(JSON.stringify(_typeof(items)), \":\\n\\n\").concat(JSON.stringify(decycle(items), null, 2), \".\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\");\n });\n invariant(items.every(Boolean), \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned \").concat(JSON.stringify(undefined), \".\\n\\nDid you forget to return items?\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\"));\n return {\n source: source,\n items: items\n };\n });\n}","function createInternalCancelablePromise(promise, initialState) {\n var state = initialState;\n return {\n then: function then(onfulfilled, onrejected) {\n return createInternalCancelablePromise(promise.then(createCallback(onfulfilled, state, promise), createCallback(onrejected, state, promise)), state);\n },\n catch: function _catch(onrejected) {\n return createInternalCancelablePromise(promise.catch(createCallback(onrejected, state, promise)), state);\n },\n finally: function _finally(onfinally) {\n if (onfinally) {\n state.onCancelList.push(onfinally);\n }\n return createInternalCancelablePromise(promise.finally(createCallback(onfinally && function () {\n state.onCancelList = [];\n return onfinally();\n }, state, promise)), state);\n },\n cancel: function cancel() {\n state.isCanceled = true;\n var callbacks = state.onCancelList;\n state.onCancelList = [];\n callbacks.forEach(function (callback) {\n callback();\n });\n },\n isCanceled: function isCanceled() {\n return state.isCanceled === true;\n }\n };\n}\nexport function createCancelablePromise(executor) {\n return createInternalCancelablePromise(new Promise(function (resolve, reject) {\n return executor(resolve, reject);\n }), {\n isCanceled: false,\n onCancelList: []\n });\n}\ncreateCancelablePromise.resolve = function (value) {\n return cancelable(Promise.resolve(value));\n};\ncreateCancelablePromise.reject = function (reason) {\n return cancelable(Promise.reject(reason));\n};\nexport function cancelable(promise) {\n return createInternalCancelablePromise(promise, {\n isCanceled: false,\n onCancelList: []\n });\n}\nfunction createCallback(onResult, state, fallback) {\n if (!onResult) {\n return fallback;\n }\n return function callback(arg) {\n if (state.isCanceled) {\n return arg;\n }\n return onResult(arg);\n };\n}","// We don't have access to the autocomplete source when we call `onKeyDown`\n// or `onClick` because those are native browser events.\n// However, we can get the source from the suggestion index.\nfunction getCollectionFromActiveItemId(state) {\n // Given 3 sources with respectively 1, 2 and 3 suggestions: [1, 2, 3]\n // We want to get the accumulated counts:\n // [1, 1 + 2, 1 + 2 + 3] = [1, 3, 3 + 3] = [1, 3, 6]\n var accumulatedCollectionsCount = state.collections.map(function (collections) {\n return collections.items.length;\n }).reduce(function (acc, collectionsCount, index) {\n var previousValue = acc[index - 1] || 0;\n var nextValue = previousValue + collectionsCount;\n acc.push(nextValue);\n return acc;\n }, []);\n\n // Based on the accumulated counts, we can infer the index of the suggestion.\n var collectionIndex = accumulatedCollectionsCount.reduce(function (acc, current) {\n if (current <= state.activeItemId) {\n return acc + 1;\n }\n return acc;\n }, 0);\n return state.collections[collectionIndex];\n}\n\n/**\n * Gets the highlighted index relative to a suggestion object (not the absolute\n * highlighted index).\n *\n * Example:\n * [['a', 'b'], ['c', 'd', 'e'], ['f']]\n * ↑\n * (absolute: 3, relative: 1)\n */\nfunction getRelativeActiveItemId(_ref) {\n var state = _ref.state,\n collection = _ref.collection;\n var isOffsetFound = false;\n var counter = 0;\n var previousItemsOffset = 0;\n while (isOffsetFound === false) {\n var currentCollection = state.collections[counter];\n if (currentCollection === collection) {\n isOffsetFound = true;\n break;\n }\n previousItemsOffset += currentCollection.items.length;\n counter++;\n }\n return state.activeItemId - previousItemsOffset;\n}\nexport function getActiveItem(state) {\n var collection = getCollectionFromActiveItemId(state);\n if (!collection) {\n return null;\n }\n var item = collection.items[getRelativeActiveItemId({\n state: state,\n collection: collection\n })];\n var source = collection.source;\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: state\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: state\n });\n return {\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n source: source\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"event\", \"nextState\", \"props\", \"query\", \"refresh\", \"store\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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; }\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; }\nimport { reshape } from './reshape';\nimport { preResolve, resolve, postResolve } from './resolve';\nimport { cancelable, createConcurrentSafePromise, getActiveItem } from './utils';\nvar lastStalledId = null;\nvar runConcurrentSafePromise = createConcurrentSafePromise();\nexport function onInput(_ref) {\n var event = _ref.event,\n _ref$nextState = _ref.nextState,\n nextState = _ref$nextState === void 0 ? {} : _ref$nextState,\n props = _ref.props,\n query = _ref.query,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n var setCollections = setters.setCollections,\n setIsOpen = setters.setIsOpen,\n setQuery = setters.setQuery,\n setActiveItemId = setters.setActiveItemId,\n setStatus = setters.setStatus,\n setContext = setters.setContext;\n setQuery(query);\n setActiveItemId(props.defaultActiveItemId);\n if (!query && props.openOnFocus === false) {\n var _nextState$isOpen;\n var collections = store.getState().collections.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n items: []\n });\n });\n setStatus('idle');\n setCollections(collections);\n setIsOpen((_nextState$isOpen = nextState.isOpen) !== null && _nextState$isOpen !== void 0 ? _nextState$isOpen : props.shouldPanelOpen({\n state: store.getState()\n }));\n\n // We make sure to update the latest resolved value of the tracked\n // promises to keep late resolving promises from \"cancelling\" the state\n // updates performed in this code path.\n // We chain with a void promise to respect `onInput`'s expected return type.\n var _request = cancelable(runConcurrentSafePromise(collections).then(function () {\n return Promise.resolve();\n }));\n return store.pendingRequests.add(_request);\n }\n setStatus('loading');\n lastStalledId = props.environment.setTimeout(function () {\n setStatus('stalled');\n }, props.stallThreshold);\n\n // We track the entire promise chain triggered by `onInput` before mutating\n // the Autocomplete state to make sure that any state manipulation is based on\n // fresh data regardless of when promises individually resolve.\n // We don't track nested promises and only rely on the full chain resolution,\n // meaning we should only ever manipulate the state once this concurrent-safe\n // promise is resolved.\n var request = cancelable(runConcurrentSafePromise(props.getSources(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters)).then(function (sources) {\n return Promise.all(sources.map(function (source) {\n return Promise.resolve(source.getItems(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters))).then(function (itemsOrDescription) {\n return preResolve(itemsOrDescription, source.sourceId, store.getState());\n });\n })).then(resolve).then(function (responses) {\n var __automaticInsights = responses.some(function (_ref2) {\n var items = _ref2.items;\n return isSearchResponseWithAutomaticInsightsFlag(items);\n });\n\n // No need to pollute the context if `__automaticInsights=false`\n if (__automaticInsights) {\n var _store$getState$conte;\n setContext({\n algoliaInsightsPlugin: _objectSpread(_objectSpread({}, ((_store$getState$conte = store.getState().context) === null || _store$getState$conte === void 0 ? void 0 : _store$getState$conte.algoliaInsightsPlugin) || {}), {}, {\n __automaticInsights: __automaticInsights\n })\n });\n }\n return postResolve(responses, sources, store);\n }).then(function (collections) {\n return reshape({\n collections: collections,\n props: props,\n state: store.getState()\n });\n });\n }))).then(function (collections) {\n var _nextState$isOpen2;\n // Parameters passed to `onInput` could be stale when the following code\n // executes, because `onInput` calls may not resolve in order.\n // If it becomes a problem we'll need to save the last passed parameters.\n // See: https://codesandbox.io/s/agitated-cookies-y290z\n\n setStatus('idle');\n setCollections(collections);\n var isPanelOpen = props.shouldPanelOpen({\n state: store.getState()\n });\n setIsOpen((_nextState$isOpen2 = nextState.isOpen) !== null && _nextState$isOpen2 !== void 0 ? _nextState$isOpen2 : props.openOnFocus && !query && isPanelOpen || isPanelOpen);\n var highlightedItem = getActiveItem(store.getState());\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }).finally(function () {\n setStatus('idle');\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n });\n return store.pendingRequests.add(request);\n}\nfunction isSearchResponseWithAutomaticInsightsFlag(items) {\n return !Array.isArray(items) && Boolean(items === null || items === void 0 ? void 0 : items._automaticInsights);\n}","/**\n * Creates a runner that executes promises in a concurrent-safe way.\n *\n * This is useful to prevent older promises to resolve after a newer promise,\n * otherwise resulting in stale resolved values.\n */\nexport function createConcurrentSafePromise() {\n var basePromiseId = -1;\n var latestResolvedId = -1;\n var latestResolvedValue = undefined;\n return function runConcurrentSafePromise(promise) {\n basePromiseId++;\n var currentPromiseId = basePromiseId;\n return Promise.resolve(promise).then(function (x) {\n // The promise might take too long to resolve and get outdated. This would\n // result in resolving stale values.\n // When this happens, we ignore the promise value and return the one\n // coming from the latest resolved value.\n //\n // +----------------------------------+\n // | 100ms |\n // | run(1) +---> R1 |\n // | 300ms |\n // | run(2) +-------------> R2 (SKIP) |\n // | 200ms |\n // | run(3) +--------> R3 |\n // +----------------------------------+\n if (latestResolvedValue && currentPromiseId < latestResolvedId) {\n return latestResolvedValue;\n }\n latestResolvedId = currentPromiseId;\n latestResolvedValue = x;\n return x;\n });\n };\n}","export function mapToAlgoliaResponse(rawResults) {\n return {\n results: rawResults,\n hits: rawResults.map(function (result) {\n return result.hits;\n }).filter(Boolean),\n facetHits: rawResults.map(function (result) {\n var _facetHits;\n return (_facetHits = result.facetHits) === null || _facetHits === void 0 ? void 0 : _facetHits.map(function (facetHit) {\n // Bring support for the highlighting components.\n return {\n label: facetHit.value,\n count: facetHit.count,\n _highlightResult: {\n label: {\n value: facetHit.highlighted\n }\n }\n };\n });\n }).filter(Boolean)\n };\n}","/**\n * Returns a full element id for an autocomplete element.\n *\n * @param autocompleteInstanceId The id of the autocomplete instance\n * @param elementId The specific element id\n * @param source The source of the element, when it needs to be scoped\n */\nexport function getAutocompleteElementId(autocompleteInstanceId, elementId, source) {\n return [autocompleteInstanceId, source === null || source === void 0 ? void 0 : source.sourceId, elementId].filter(Boolean).join('-').replace(/\\s/g, '');\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"event\", \"props\", \"refresh\", \"store\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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; }\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; }\nimport { onInput } from './onInput';\nimport { getActiveItem, getAutocompleteElementId } from './utils';\nexport function onKeyDown(_ref) {\n var event = _ref.event,\n props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n // eslint-disable-next-line no-inner-declarations\n var triggerScrollIntoView = function triggerScrollIntoView() {\n var highlightedItem = getActiveItem(store.getState());\n var nodeItem = props.environment.document.getElementById(getAutocompleteElementId(props.id, \"item-\".concat(store.getState().activeItemId), highlightedItem === null || highlightedItem === void 0 ? void 0 : highlightedItem.source));\n if (nodeItem) {\n if (nodeItem.scrollIntoViewIfNeeded) {\n nodeItem.scrollIntoViewIfNeeded(false);\n } else {\n nodeItem.scrollIntoView(false);\n }\n }\n }; // eslint-disable-next-line no-inner-declarations\n var triggerOnActive = function triggerOnActive() {\n var highlightedItem = getActiveItem(store.getState());\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }; // Default browser behavior changes the caret placement on ArrowUp and\n // ArrowDown.\n event.preventDefault();\n\n // When re-opening the panel, we need to split the logic to keep the actions\n // synchronized as `onInput` returns a promise.\n if (store.getState().isOpen === false && (props.openOnFocus || Boolean(store.getState().query))) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n store.dispatch(event.key, {\n nextActiveItemId: props.defaultActiveItemId\n });\n triggerOnActive();\n // Since we rely on the DOM, we need to wait for all the micro tasks to\n // finish (which include re-opening the panel) to make sure all the\n // elements are available.\n setTimeout(triggerScrollIntoView, 0);\n });\n } else {\n store.dispatch(event.key, {});\n triggerOnActive();\n triggerScrollIntoView();\n }\n } else if (event.key === 'Escape') {\n // This prevents the default browser behavior on `input[type=\"search\"]`\n // from removing the query right away because we first want to close the\n // panel.\n event.preventDefault();\n store.dispatch(event.key, null);\n\n // Hitting the `Escape` key signals the end of a user interaction with the\n // autocomplete. At this point, we should ignore any requests that are still\n // pending and could reopen the panel once they resolve, because that would\n // result in an unsolicited UI behavior.\n store.pendingRequests.cancelAll();\n } else if (event.key === 'Tab') {\n store.dispatch('blur', null);\n\n // Hitting the `Tab` key signals the end of a user interaction with the\n // autocomplete. At this point, we should ignore any requests that are still\n // pending and could reopen the panel once they resolve, because that would\n // result in an unsolicited UI behavior.\n store.pendingRequests.cancelAll();\n } else if (event.key === 'Enter') {\n // No active item, so we let the browser handle the native `onSubmit` form\n // event.\n if (store.getState().activeItemId === null || store.getState().collections.every(function (collection) {\n return collection.items.length === 0;\n })) {\n // If requests are still pending when the panel closes, they could reopen\n // the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n if (!props.debug) {\n store.pendingRequests.cancelAll();\n }\n return;\n }\n\n // This prevents the `onSubmit` event to be sent because an item is\n // highlighted.\n event.preventDefault();\n var _ref2 = getActiveItem(store.getState()),\n item = _ref2.item,\n itemInputValue = _ref2.itemInputValue,\n itemUrl = _ref2.itemUrl,\n source = _ref2.source;\n if (event.metaKey || event.ctrlKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewTab({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.shiftKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewWindow({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.altKey) {\n // Keep native browser behavior\n } else {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigate({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n return;\n }\n onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }\n}","var regex = /((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;\nexport function isSamsung(userAgent) {\n return Boolean(userAgent && userAgent.match(regex));\n}","export function getNativeEvent(event) {\n return event.nativeEvent || event;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"props\", \"refresh\", \"store\"],\n _excluded2 = [\"inputElement\", \"formElement\", \"panelElement\"],\n _excluded3 = [\"inputElement\"],\n _excluded4 = [\"inputElement\", \"maxLength\"],\n _excluded5 = [\"source\"],\n _excluded6 = [\"item\", \"source\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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; }\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; }\nimport { noop } from '@algolia/autocomplete-shared';\nimport { onInput } from './onInput';\nimport { onKeyDown as _onKeyDown } from './onKeyDown';\nimport { getActiveItem, getAutocompleteElementId, isOrContainsNode, isSamsung, getNativeEvent } from './utils';\nexport function getPropGetters(_ref) {\n var props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n var getEnvironmentProps = function getEnvironmentProps(providedProps) {\n var inputElement = providedProps.inputElement,\n formElement = providedProps.formElement,\n panelElement = providedProps.panelElement,\n rest = _objectWithoutProperties(providedProps, _excluded2);\n function onMouseDownOrTouchStart(event) {\n // The `onTouchStart`/`onMouseDown` events shouldn't trigger the `blur`\n // handler when it's not an interaction with Autocomplete.\n // We detect it with the following heuristics:\n // - the panel is closed AND there are no pending requests\n // (no interaction with the autocomplete, no future state updates)\n // - OR the touched target is the input element (should open the panel)\n var isAutocompleteInteraction = store.getState().isOpen || !store.pendingRequests.isEmpty();\n if (!isAutocompleteInteraction || event.target === inputElement) {\n return;\n }\n\n // @TODO: support cases where there are multiple Autocomplete instances.\n // Right now, a second instance makes this computation return false.\n var isTargetWithinAutocomplete = [formElement, panelElement].some(function (contextNode) {\n return isOrContainsNode(contextNode, event.target);\n });\n if (isTargetWithinAutocomplete === false) {\n store.dispatch('blur', null);\n\n // If requests are still pending when the user closes the panel, they\n // could reopen the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n if (!props.debug) {\n store.pendingRequests.cancelAll();\n }\n }\n }\n return _objectSpread({\n // We do not rely on the native `blur` event of the input to close the\n // panel, but rather on a custom `touchstart`/`mousedown` event outside\n // of the autocomplete elements.\n // This ensures we don't mistakenly interpret interactions within the\n // autocomplete (but outside of the input) as a signal to close the panel.\n // For example, clicking reset button causes an input blur, but if\n // `openOnFocus=true`, it shouldn't close the panel.\n // On touch devices, scrolling results (`touchmove`) causes an input blur\n // but shouldn't close the panel.\n onTouchStart: onMouseDownOrTouchStart,\n onMouseDown: onMouseDownOrTouchStart,\n // When scrolling on touch devices (mobiles, tablets, etc.), we want to\n // mimic the native platform behavior where the input is blurred to\n // hide the virtual keyboard. This gives more vertical space to\n // discover all the suggestions showing up in the panel.\n onTouchMove: function onTouchMove(event) {\n if (store.getState().isOpen === false || inputElement !== props.environment.document.activeElement || event.target === inputElement) {\n return;\n }\n inputElement.blur();\n }\n }, rest);\n };\n var getRootProps = function getRootProps(rest) {\n return _objectSpread({\n role: 'combobox',\n 'aria-expanded': store.getState().isOpen,\n 'aria-haspopup': 'listbox',\n 'aria-controls': store.getState().isOpen ? store.getState().collections.map(function (_ref2) {\n var source = _ref2.source;\n return getAutocompleteElementId(props.id, 'list', source);\n }).join(' ') : undefined,\n 'aria-labelledby': getAutocompleteElementId(props.id, 'label')\n }, rest);\n };\n var getFormProps = function getFormProps(providedProps) {\n var inputElement = providedProps.inputElement,\n rest = _objectWithoutProperties(providedProps, _excluded3);\n return _objectSpread({\n action: '',\n noValidate: true,\n role: 'search',\n onSubmit: function onSubmit(event) {\n var _providedProps$inputE;\n event.preventDefault();\n props.onSubmit(_objectSpread({\n event: event,\n refresh: refresh,\n state: store.getState()\n }, setters));\n store.dispatch('submit', null);\n (_providedProps$inputE = providedProps.inputElement) === null || _providedProps$inputE === void 0 ? void 0 : _providedProps$inputE.blur();\n },\n onReset: function onReset(event) {\n var _providedProps$inputE2;\n event.preventDefault();\n props.onReset(_objectSpread({\n event: event,\n refresh: refresh,\n state: store.getState()\n }, setters));\n store.dispatch('reset', null);\n (_providedProps$inputE2 = providedProps.inputElement) === null || _providedProps$inputE2 === void 0 ? void 0 : _providedProps$inputE2.focus();\n }\n }, rest);\n };\n var getInputProps = function getInputProps(providedProps) {\n var _props$environment$na;\n function onFocus(event) {\n // We want to trigger a query when `openOnFocus` is true\n // because the panel should open with the current query.\n if (props.openOnFocus || Boolean(store.getState().query)) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().completion || store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n store.dispatch('focus', null);\n }\n var _ref3 = providedProps || {},\n inputElement = _ref3.inputElement,\n _ref3$maxLength = _ref3.maxLength,\n maxLength = _ref3$maxLength === void 0 ? 512 : _ref3$maxLength,\n rest = _objectWithoutProperties(_ref3, _excluded4);\n var activeItem = getActiveItem(store.getState());\n var userAgent = ((_props$environment$na = props.environment.navigator) === null || _props$environment$na === void 0 ? void 0 : _props$environment$na.userAgent) || '';\n var shouldFallbackKeyHint = isSamsung(userAgent);\n var enterKeyHint = props.enterKeyHint || (activeItem !== null && activeItem !== void 0 && activeItem.itemUrl && !shouldFallbackKeyHint ? 'go' : 'search');\n return _objectSpread({\n 'aria-autocomplete': 'both',\n 'aria-activedescendant': store.getState().isOpen && store.getState().activeItemId !== null ? getAutocompleteElementId(props.id, \"item-\".concat(store.getState().activeItemId), activeItem === null || activeItem === void 0 ? void 0 : activeItem.source) : undefined,\n 'aria-controls': store.getState().isOpen ? store.getState().collections.map(function (_ref4) {\n var source = _ref4.source;\n return getAutocompleteElementId(props.id, 'list', source);\n }).join(' ') : undefined,\n 'aria-labelledby': getAutocompleteElementId(props.id, 'label'),\n value: store.getState().completion || store.getState().query,\n id: getAutocompleteElementId(props.id, 'input'),\n autoComplete: 'off',\n autoCorrect: 'off',\n autoCapitalize: 'off',\n enterKeyHint: enterKeyHint,\n spellCheck: 'false',\n autoFocus: props.autoFocus,\n placeholder: props.placeholder,\n maxLength: maxLength,\n type: 'search',\n onChange: function onChange(event) {\n var value = event.currentTarget.value;\n if (props.ignoreCompositionEvents && getNativeEvent(event).isComposing) {\n setters.setQuery(value);\n return;\n }\n onInput(_objectSpread({\n event: event,\n props: props,\n query: value.slice(0, maxLength),\n refresh: refresh,\n store: store\n }, setters));\n },\n onCompositionEnd: function onCompositionEnd(event) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: event.currentTarget.value.slice(0, maxLength),\n refresh: refresh,\n store: store\n }, setters));\n },\n onKeyDown: function onKeyDown(event) {\n if (getNativeEvent(event).isComposing) {\n return;\n }\n _onKeyDown(_objectSpread({\n event: event,\n props: props,\n refresh: refresh,\n store: store\n }, setters));\n },\n onFocus: onFocus,\n // We don't rely on the `blur` event.\n // See explanation in `onTouchStart`/`onMouseDown`.\n // @MAJOR See if we need to keep this handler.\n onBlur: noop,\n onClick: function onClick(event) {\n // When the panel is closed and you click on the input while\n // the input is focused, the `onFocus` event is not triggered\n // (default browser behavior).\n // In an autocomplete context, it makes sense to open the panel in this\n // case.\n // We mimic this event by catching the `onClick` event which\n // triggers the `onFocus` for the panel to open.\n if (providedProps.inputElement === props.environment.document.activeElement && !store.getState().isOpen) {\n onFocus(event);\n }\n }\n }, rest);\n };\n var getLabelProps = function getLabelProps(rest) {\n return _objectSpread({\n htmlFor: getAutocompleteElementId(props.id, 'input'),\n id: getAutocompleteElementId(props.id, 'label')\n }, rest);\n };\n var getListProps = function getListProps(providedProps) {\n var _ref5 = providedProps || {},\n source = _ref5.source,\n rest = _objectWithoutProperties(_ref5, _excluded5);\n return _objectSpread({\n role: 'listbox',\n 'aria-labelledby': getAutocompleteElementId(props.id, 'label'),\n id: getAutocompleteElementId(props.id, 'list', source)\n }, rest);\n };\n var getPanelProps = function getPanelProps(rest) {\n return _objectSpread({\n onMouseDown: function onMouseDown(event) {\n // Prevents the `activeElement` from being changed to the panel so\n // that the blur event is not triggered, otherwise it closes the\n // panel.\n event.preventDefault();\n },\n onMouseLeave: function onMouseLeave() {\n store.dispatch('mouseleave', null);\n }\n }, rest);\n };\n var getItemProps = function getItemProps(providedProps) {\n var item = providedProps.item,\n source = providedProps.source,\n rest = _objectWithoutProperties(providedProps, _excluded6);\n return _objectSpread({\n id: getAutocompleteElementId(props.id, \"item-\".concat(item.__autocomplete_id), source),\n role: 'option',\n 'aria-selected': store.getState().activeItemId === item.__autocomplete_id,\n onMouseMove: function onMouseMove(event) {\n if (item.__autocomplete_id === store.getState().activeItemId) {\n return;\n }\n store.dispatch('mousemove', item.__autocomplete_id);\n var activeItem = getActiveItem(store.getState());\n if (store.getState().activeItemId !== null && activeItem) {\n var _item = activeItem.item,\n itemInputValue = activeItem.itemInputValue,\n itemUrl = activeItem.itemUrl,\n _source = activeItem.source;\n _source.onActive(_objectSpread({\n event: event,\n item: _item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: _source,\n state: store.getState()\n }, setters));\n }\n },\n onMouseDown: function onMouseDown(event) {\n // Prevents the `activeElement` from being changed to the item so it\n // can remain with the current `activeElement`.\n event.preventDefault();\n },\n onClick: function onClick(event) {\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: store.getState()\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: store.getState()\n });\n\n // If `getItemUrl` is provided, it means that the suggestion\n // is a link, not plain text that aims at updating the query.\n // We can therefore skip the state change because it will update\n // the `activeItemId`, resulting in a UI flash, especially\n // noticeable on mobile.\n var runPreCommand = itemUrl ? Promise.resolve() : onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters));\n runPreCommand.then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }, rest);\n };\n return {\n getEnvironmentProps: getEnvironmentProps,\n getRootProps: getRootProps,\n getFormProps: getFormProps,\n getLabelProps: getLabelProps,\n getInputProps: getInputProps,\n getPanelProps: getPanelProps,\n getListProps: getListProps,\n getItemProps: getItemProps\n };\n}","export function isOrContainsNode(parent, child) {\n return parent === child || parent.contains(child);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { userAgents } from '@algolia/autocomplete-shared';\nexport function getMetadata(_ref) {\n var _, _options$__autocomple, _options$__autocomple2, _options$__autocomple3;\n var plugins = _ref.plugins,\n options = _ref.options;\n var optionsKey = (_ = (((_options$__autocomple = options.__autocomplete_metadata) === null || _options$__autocomple === void 0 ? void 0 : _options$__autocomple.userAgents) || [])[0]) === null || _ === void 0 ? void 0 : _.segment;\n var extraOptions = optionsKey ? _defineProperty({}, optionsKey, Object.keys(((_options$__autocomple2 = options.__autocomplete_metadata) === null || _options$__autocomple2 === void 0 ? void 0 : _options$__autocomple2.options) || {})) : {};\n return {\n plugins: plugins.map(function (plugin) {\n return {\n name: plugin.name,\n options: Object.keys(plugin.__autocomplete_pluginOptions || [])\n };\n }),\n options: _objectSpread({\n 'autocomplete-core': Object.keys(options)\n }, extraOptions),\n ua: userAgents.concat(((_options$__autocomple3 = options.__autocomplete_metadata) === null || _options$__autocomple3 === void 0 ? void 0 : _options$__autocomple3.userAgents) || [])\n };\n}\nexport function injectMetadata(_ref3) {\n var _environment$navigato, _environment$navigato2;\n var metadata = _ref3.metadata,\n environment = _ref3.environment;\n var isMetadataEnabled = (_environment$navigato = environment.navigator) === null || _environment$navigato === void 0 ? void 0 : (_environment$navigato2 = _environment$navigato.userAgent) === null || _environment$navigato2 === void 0 ? void 0 : _environment$navigato2.includes('Algolia Crawler');\n if (isMetadataEnabled) {\n var metadataContainer = environment.document.createElement('meta');\n var headRef = environment.document.querySelector('head');\n metadataContainer.name = 'algolia:metadata';\n setTimeout(function () {\n metadataContainer.content = JSON.stringify(metadata);\n headRef.appendChild(metadataContainer);\n }, 0);\n }\n}","import { getActiveItem } from './utils';\nexport function getCompletion(_ref) {\n var _getActiveItem;\n var state = _ref.state;\n if (state.isOpen === false || state.activeItemId === null) {\n return null;\n }\n return ((_getActiveItem = getActiveItem(state)) === null || _getActiveItem === void 0 ? void 0 : _getActiveItem.itemInputValue) || null;\n}","/**\n * Returns the next active item ID from the current state.\n *\n * We allow circular keyboard navigation from the base index.\n * The base index can either be `null` (nothing is highlighted) or `0`\n * (the first item is highlighted).\n * The base index is allowed to get assigned `null` only if\n * `props.defaultActiveItemId` is `null`. This pattern allows to \"stop\"\n * by the actual query before navigating to other suggestions as seen on\n * Google or Amazon.\n *\n * @param moveAmount The offset to increment (or decrement) the last index\n * @param baseIndex The current index to compute the next index from\n * @param itemCount The number of items\n * @param defaultActiveItemId The default active index to fallback to\n */\nexport function getNextActiveItemId(moveAmount, baseIndex, itemCount, defaultActiveItemId) {\n if (!itemCount) {\n return null;\n }\n if (moveAmount < 0 && (baseIndex === null || defaultActiveItemId !== null && baseIndex === 0)) {\n return itemCount + moveAmount;\n }\n var numericIndex = (baseIndex === null ? -1 : baseIndex) + moveAmount;\n if (numericIndex <= -1 || numericIndex >= itemCount) {\n return defaultActiveItemId === null ? null : 0;\n }\n return numericIndex;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { getItemsCount, invariant } from '@algolia/autocomplete-shared';\nimport { getCompletion } from './getCompletion';\nimport { getNextActiveItemId } from './utils';\nexport var stateReducer = function stateReducer(state, action) {\n switch (action.type) {\n case 'setActiveItemId':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n case 'setQuery':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n query: action.payload,\n completion: null\n });\n }\n case 'setCollections':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n collections: action.payload\n });\n }\n case 'setIsOpen':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: action.payload\n });\n }\n case 'setStatus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n status: action.payload\n });\n }\n case 'setContext':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n context: _objectSpread(_objectSpread({}, state.context), action.payload)\n });\n }\n case 'ArrowDown':\n {\n var nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload.hasOwnProperty('nextActiveItemId') ? action.payload.nextActiveItemId : getNextActiveItemId(1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n return _objectSpread(_objectSpread({}, nextState), {}, {\n completion: getCompletion({\n state: nextState\n })\n });\n }\n case 'ArrowUp':\n {\n var _nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: getNextActiveItemId(-1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n return _objectSpread(_objectSpread({}, _nextState), {}, {\n completion: getCompletion({\n state: _nextState\n })\n });\n }\n case 'Escape':\n {\n if (state.isOpen) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n completion: null\n });\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n query: '',\n status: 'idle',\n collections: []\n });\n }\n case 'submit':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n status: 'idle'\n });\n }\n case 'reset':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId:\n // Since we open the panel on reset when openOnFocus=true\n // we need to restore the highlighted index to the defaultActiveItemId. (DocSearch use-case)\n\n // Since we close the panel when openOnFocus=false\n // we lose track of the highlighted index. (Query-suggestions use-case)\n action.props.openOnFocus === true ? action.props.defaultActiveItemId : null,\n status: 'idle',\n completion: null,\n query: ''\n });\n }\n case 'focus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId,\n isOpen: (action.props.openOnFocus || Boolean(state.query)) && action.props.shouldPanelOpen({\n state: state\n })\n });\n }\n case 'blur':\n {\n if (action.props.debug) {\n return state;\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: false,\n activeItemId: null\n });\n }\n case 'mousemove':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n case 'mouseleave':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId\n });\n }\n default:\n invariant(false, \"The reducer action \".concat(JSON.stringify(action.type), \" is not supported.\"));\n return state;\n }\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { createAlgoliaInsightsPlugin } from '@algolia/autocomplete-plugin-algolia-insights';\nimport { checkOptions } from './checkOptions';\nimport { createStore } from './createStore';\nimport { getAutocompleteSetters } from './getAutocompleteSetters';\nimport { getDefaultProps } from './getDefaultProps';\nimport { getPropGetters } from './getPropGetters';\nimport { getMetadata, injectMetadata } from './metadata';\nimport { onInput } from './onInput';\nimport { stateReducer } from './stateReducer';\nexport function createAutocomplete(options) {\n checkOptions(options);\n var subscribers = [];\n var props = getDefaultProps(options, subscribers);\n var store = createStore(stateReducer, props, onStoreStateChange);\n var setters = getAutocompleteSetters({\n store: store\n });\n var propGetters = getPropGetters(_objectSpread({\n props: props,\n refresh: refresh,\n store: store,\n navigator: props.navigator\n }, setters));\n function onStoreStateChange(_ref) {\n var _state$context, _state$context$algoli;\n var prevState = _ref.prevState,\n state = _ref.state;\n props.onStateChange(_objectSpread({\n prevState: prevState,\n state: state,\n refresh: refresh,\n navigator: props.navigator\n }, setters));\n if (!isAlgoliaInsightsPluginEnabled() && (_state$context = state.context) !== null && _state$context !== void 0 && (_state$context$algoli = _state$context.algoliaInsightsPlugin) !== null && _state$context$algoli !== void 0 && _state$context$algoli.__automaticInsights && props.insights !== false) {\n var plugin = createAlgoliaInsightsPlugin({\n __autocomplete_clickAnalytics: false\n });\n props.plugins.push(plugin);\n subscribePlugins([plugin]);\n }\n }\n function refresh() {\n return onInput(_objectSpread({\n event: new Event('input'),\n nextState: {\n isOpen: store.getState().isOpen\n },\n props: props,\n navigator: props.navigator,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n function subscribePlugins(plugins) {\n plugins.forEach(function (plugin) {\n var _plugin$subscribe;\n return (_plugin$subscribe = plugin.subscribe) === null || _plugin$subscribe === void 0 ? void 0 : _plugin$subscribe.call(plugin, _objectSpread(_objectSpread({}, setters), {}, {\n navigator: props.navigator,\n refresh: refresh,\n onSelect: function onSelect(fn) {\n subscribers.push({\n onSelect: fn\n });\n },\n onActive: function onActive(fn) {\n subscribers.push({\n onActive: fn\n });\n },\n onResolve: function onResolve(fn) {\n subscribers.push({\n onResolve: fn\n });\n }\n }));\n });\n }\n function isAlgoliaInsightsPluginEnabled() {\n return props.plugins.some(function (plugin) {\n return plugin.name === 'aa.algoliaInsightsPlugin';\n });\n }\n if (props.insights && !isAlgoliaInsightsPluginEnabled()) {\n var insightsParams = typeof props.insights === 'boolean' ? {} : props.insights;\n props.plugins.push(createAlgoliaInsightsPlugin(insightsParams));\n }\n subscribePlugins(props.plugins);\n injectMetadata({\n metadata: getMetadata({\n plugins: props.plugins,\n options: options\n }),\n environment: props.environment\n });\n return _objectSpread(_objectSpread({\n refresh: refresh,\n navigator: props.navigator\n }, propGetters), setters);\n}","export function createCancelablePromiseList() {\n var list = [];\n return {\n add: function add(cancelablePromise) {\n list.push(cancelablePromise);\n return cancelablePromise.finally(function () {\n list = list.filter(function (item) {\n return item !== cancelablePromise;\n });\n });\n },\n cancelAll: function cancelAll() {\n list.forEach(function (promise) {\n return promise.cancel();\n });\n },\n isEmpty: function isEmpty() {\n return list.length === 0;\n }\n };\n}","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","export var SearchIcon = function SearchIcon(_ref) {\n var environment = _ref.environment;\n var element = environment.document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n element.setAttribute('class', 'aa-SubmitIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n element.setAttribute('fill', 'currentColor');\n var path = environment.document.createElementNS('http://www.w3.org/2000/svg', 'path');\n path.setAttribute('d', 'M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z');\n element.appendChild(path);\n return element;\n};","export var ClearIcon = function ClearIcon(_ref) {\n var environment = _ref.environment;\n var element = environment.document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n element.setAttribute('class', 'aa-ClearIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '18');\n element.setAttribute('height', '18');\n element.setAttribute('fill', 'currentColor');\n var path = environment.document.createElementNS('http://www.w3.org/2000/svg', 'path');\n path.setAttribute('d', 'M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z');\n element.appendChild(path);\n return element;\n};","export var LoadingIcon = function LoadingIcon(_ref) {\n var environment = _ref.environment;\n var element = environment.document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n element.setAttribute('class', 'aa-LoadingIcon');\n element.setAttribute('viewBox', '0 0 100 100');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n element.innerHTML = \"\\n \\n\";\n return element;\n};","/* eslint-disable */\n\n/**\n * Touch-specific event aliases\n *\n * See https://w3c.github.io/touch-events/#extensions-to-the-globaleventhandlers-mixin\n */\nvar TOUCH_EVENTS_ALIASES = ['ontouchstart', 'ontouchend', 'ontouchmove', 'ontouchcancel'];\n\n/*\n * Taken from Preact\n *\n * See https://github.com/preactjs/preact/blob/6ab49d9020740127577bf4af66bf63f4af7f9fee/src/diff/props.js#L58-L151\n */\n\nfunction setStyle(style, key, value) {\n if (value === null) {\n style[key] = '';\n } else if (typeof value !== 'number') {\n style[key] = value;\n } else {\n style[key] = value + 'px';\n }\n}\n\n/**\n * Proxy an event to hooked event handlers\n */\nfunction eventProxy(event) {\n this._listeners[event.type](event);\n}\n\n/**\n * Set a property value on a DOM node\n */\nexport function setProperty(dom, name, value) {\n var useCapture;\n var nameLower;\n var oldValue = dom[name];\n if (name === 'style') {\n if (typeof value == 'string') {\n dom.style = value;\n } else {\n if (value === null) {\n dom.style = '';\n } else {\n for (name in value) {\n if (!oldValue || value[name] !== oldValue[name]) {\n setStyle(dom.style, name, value[name]);\n }\n }\n }\n }\n }\n // Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n else if (name[0] === 'o' && name[1] === 'n') {\n useCapture = name !== (name = name.replace(/Capture$/, ''));\n nameLower = name.toLowerCase();\n if (nameLower in dom || TOUCH_EVENTS_ALIASES.includes(nameLower)) name = nameLower;\n name = name.slice(2);\n if (!dom._listeners) dom._listeners = {};\n dom._listeners[name] = value;\n if (value) {\n if (!oldValue) dom.addEventListener(name, eventProxy, useCapture);\n } else {\n dom.removeEventListener(name, eventProxy, useCapture);\n }\n } else if (name !== 'list' && name !== 'tagName' &&\n // HTMLButtonElement.form and HTMLInputElement.form are read-only but can be set using\n // setAttribute\n name !== 'form' && name !== 'type' && name !== 'size' && name !== 'download' && name !== 'href' && name in dom) {\n dom[name] = value == null ? '' : value;\n } else if (typeof value != 'function' && name !== 'dangerouslySetInnerHTML') {\n if (value == null || value === false &&\n // ARIA-attributes have a different notion of boolean values.\n // The value `false` is different from the attribute not\n // existing on the DOM, so we can't remove it. For non-boolean\n // ARIA-attributes we could treat false as a removal, but the\n // amount of exceptions would cost us too many bytes. On top of\n // that other VDOM frameworks also always stringify `false`.\n !/^ar/.test(name)) {\n dom.removeAttribute(name);\n } else {\n dom.setAttribute(name, value);\n }\n }\n}\nfunction getNormalizedName(name) {\n switch (name) {\n case 'onChange':\n return 'onInput';\n // see: https://github.com/preactjs/preact/issues/1978\n case 'onCompositionEnd':\n return 'oncompositionend';\n default:\n return name;\n }\n}\nexport function setProperties(dom, props) {\n for (var name in props) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n}\nexport function setPropertiesWithoutEvents(dom, props) {\n for (var name in props) {\n if (!(name[0] === 'o' && name[1] === 'n')) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n }\n}","var _excluded = [\"children\"];\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\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; }\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; }\nimport { setProperties } from './utils';\nexport function getCreateDomElement(environment) {\n return function createDomElement(tagName, _ref) {\n var _ref$children = _ref.children,\n children = _ref$children === void 0 ? [] : _ref$children,\n props = _objectWithoutProperties(_ref, _excluded);\n var element = environment.document.createElement(tagName);\n setProperties(element, props);\n element.append.apply(element, _toConsumableArray(children));\n return element;\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"autocompleteScopeApi\", \"environment\", \"classNames\", \"getInputProps\", \"getInputPropsCore\", \"isDetached\", \"state\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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; }\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; }\nimport { getCreateDomElement } from '../getCreateDomElement';\nimport { setProperties } from '../utils';\nexport var Input = function Input(_ref) {\n var autocompleteScopeApi = _ref.autocompleteScopeApi,\n environment = _ref.environment,\n classNames = _ref.classNames,\n getInputProps = _ref.getInputProps,\n getInputPropsCore = _ref.getInputPropsCore,\n isDetached = _ref.isDetached,\n state = _ref.state,\n props = _objectWithoutProperties(_ref, _excluded);\n var createDomElement = getCreateDomElement(environment);\n var element = createDomElement('input', props);\n var inputProps = getInputProps(_objectSpread({\n state: state,\n props: getInputPropsCore({\n inputElement: element\n }),\n inputElement: element\n }, autocompleteScopeApi));\n setProperties(element, _objectSpread(_objectSpread({}, inputProps), {}, {\n onKeyDown: function onKeyDown(event) {\n // In detached mode we don't want to close the panel when hitting `Tab`.\n if (isDetached && event.key === 'Tab') {\n return;\n }\n inputProps.onKeyDown(event);\n }\n }));\n return element;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { ClearIcon, Input, LoadingIcon, SearchIcon } from './elements';\nimport { getCreateDomElement } from './getCreateDomElement';\nimport { setProperties } from './utils';\nexport function createAutocompleteDom(_ref) {\n var autocomplete = _ref.autocomplete,\n autocompleteScopeApi = _ref.autocompleteScopeApi,\n classNames = _ref.classNames,\n environment = _ref.environment,\n isDetached = _ref.isDetached,\n _ref$placeholder = _ref.placeholder,\n placeholder = _ref$placeholder === void 0 ? 'Search' : _ref$placeholder,\n propGetters = _ref.propGetters,\n setIsModalOpen = _ref.setIsModalOpen,\n state = _ref.state,\n translations = _ref.translations;\n var createDomElement = getCreateDomElement(environment);\n var rootProps = propGetters.getRootProps(_objectSpread({\n state: state,\n props: autocomplete.getRootProps({})\n }, autocompleteScopeApi));\n var root = createDomElement('div', _objectSpread({\n class: classNames.root\n }, rootProps));\n var detachedContainer = createDomElement('div', {\n class: classNames.detachedContainer,\n onMouseDown: function onMouseDown(event) {\n event.stopPropagation();\n }\n });\n var detachedOverlay = createDomElement('div', {\n class: classNames.detachedOverlay,\n children: [detachedContainer],\n onMouseDown: function onMouseDown() {\n setIsModalOpen(false);\n autocomplete.setIsOpen(false);\n }\n });\n var labelProps = propGetters.getLabelProps(_objectSpread({\n state: state,\n props: autocomplete.getLabelProps({})\n }, autocompleteScopeApi));\n var submitButton = createDomElement('button', {\n class: classNames.submitButton,\n type: 'submit',\n title: translations.submitButtonTitle,\n children: [SearchIcon({\n environment: environment\n })]\n });\n // @MAJOR Remove the label wrapper for the submit button.\n // The submit button is sufficient for accessibility purposes, and\n // wrapping it with the label actually makes it less accessible (see CR-6077).\n var label = createDomElement('label', _objectSpread({\n class: classNames.label,\n children: [submitButton],\n ariaLabel: translations.submitButtonTitle\n }, labelProps));\n var clearButton = createDomElement('button', {\n class: classNames.clearButton,\n type: 'reset',\n title: translations.clearButtonTitle,\n children: [ClearIcon({\n environment: environment\n })]\n });\n var loadingIndicator = createDomElement('div', {\n class: classNames.loadingIndicator,\n children: [LoadingIcon({\n environment: environment\n })]\n });\n var input = Input({\n class: classNames.input,\n environment: environment,\n state: state,\n getInputProps: propGetters.getInputProps,\n getInputPropsCore: autocomplete.getInputProps,\n autocompleteScopeApi: autocompleteScopeApi,\n isDetached: isDetached\n });\n var inputWrapperPrefix = createDomElement('div', {\n class: classNames.inputWrapperPrefix,\n children: [label, loadingIndicator]\n });\n var inputWrapperSuffix = createDomElement('div', {\n class: classNames.inputWrapperSuffix,\n children: [clearButton]\n });\n var inputWrapper = createDomElement('div', {\n class: classNames.inputWrapper,\n children: [input]\n });\n var formProps = propGetters.getFormProps(_objectSpread({\n state: state,\n props: autocomplete.getFormProps({\n inputElement: input\n })\n }, autocompleteScopeApi));\n var form = createDomElement('form', _objectSpread({\n class: classNames.form,\n children: [inputWrapperPrefix, inputWrapper, inputWrapperSuffix]\n }, formProps));\n var panelProps = propGetters.getPanelProps(_objectSpread({\n state: state,\n props: autocomplete.getPanelProps({})\n }, autocompleteScopeApi));\n var panel = createDomElement('div', _objectSpread({\n class: classNames.panel\n }, panelProps));\n var detachedSearchButtonQuery = createDomElement('div', {\n class: classNames.detachedSearchButtonQuery,\n textContent: state.query\n });\n var detachedSearchButtonPlaceholder = createDomElement('div', {\n class: classNames.detachedSearchButtonPlaceholder,\n hidden: Boolean(state.query),\n textContent: placeholder\n });\n if (process.env.NODE_ENV === 'test') {\n setProperties(panel, {\n 'data-testid': 'panel'\n });\n }\n if (isDetached) {\n var detachedSearchButtonIcon = createDomElement('div', {\n class: classNames.detachedSearchButtonIcon,\n children: [SearchIcon({\n environment: environment\n })]\n });\n var detachedSearchButton = createDomElement('button', {\n type: 'button',\n class: classNames.detachedSearchButton,\n title: translations.detachedSearchButtonTitle,\n id: labelProps.id,\n onClick: function onClick() {\n setIsModalOpen(true);\n },\n children: [detachedSearchButtonIcon, detachedSearchButtonPlaceholder, detachedSearchButtonQuery]\n });\n var detachedCancelButton = createDomElement('button', {\n type: 'button',\n class: classNames.detachedCancelButton,\n textContent: translations.detachedCancelButtonText,\n // Prevent `onTouchStart` from closing the panel\n // since it should be initiated by `onClick` only\n onTouchStart: function onTouchStart(event) {\n event.stopPropagation();\n },\n onClick: function onClick() {\n autocomplete.setIsOpen(false);\n setIsModalOpen(false);\n }\n });\n var detachedFormContainer = createDomElement('div', {\n class: classNames.detachedFormContainer,\n children: [form, detachedCancelButton]\n });\n detachedContainer.appendChild(detachedFormContainer);\n root.appendChild(detachedSearchButton);\n } else {\n root.appendChild(form);\n }\n return {\n detachedContainer: detachedContainer,\n detachedOverlay: detachedOverlay,\n detachedSearchButtonQuery: detachedSearchButtonQuery,\n detachedSearchButtonPlaceholder: detachedSearchButtonPlaceholder,\n inputWrapper: inputWrapper,\n input: input,\n root: root,\n form: form,\n label: label,\n submitButton: submitButton,\n clearButton: clearButton,\n loadingIndicator: loadingIndicator,\n panel: panel\n };\n}","var n,l,u,t,i,r,o,e,f,c,s,a,h,p={},v=[],y=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,d=Array.isArray;function w(n,l){for(var u in l)n[u]=l[u];return n}function _(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function g(l,u,t){var i,r,o,e={};for(o in u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return m(l,e,i,r,null)}function m(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function b(){return{current:null}}function k(n){return n.children}function x(n,l){this.props=n,this.context=l}function C(n,l){if(null==l)return n.__?C(n.__,n.__i+1):null;for(var u;lu&&i.sort(e));P.__r=0}function $(n,l,u,t,i,r,o,e,f,c,s){var a,h,y,d,w,_,g=t&&t.__k||v,m=l.length;for(f=I(u,l,g,f,m),a=0;a0?m(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o).__=n,o.__b=n.__b+1,e=null,-1!==(c=o.__i=L(o,u,f,a))&&(a--,(e=u[c])&&(e.__u|=2)),null==e||null===e.__v?(-1==c&&h--,\"function\"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(a)for(r=0;r(null!=f&&0==(2&f.__u)?1:0))for(i=u-1,r=u+1;i>=0||r=0){if((f=l[i])&&0==(2&f.__u)&&o==f.key&&e===f.type)return i;i--}if(r2&&(f.children=arguments.length>3?n.call(arguments,2):t),m(l.type,f,i||l.key,r||l.ref,null)}function J(n,l){var u={__c:l=\"__cC\"+h++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.forEach(function(n){n.__e=!0,M(n)})},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=v.slice,l={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},x.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=w({},this.state),\"function\"==typeof n&&(n=n(w({},u),this.props)),n&&w(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},x.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},x.prototype.render=k,i=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},P.__r=0,f=/(PointerCapture)$|Capture$/i,c=0,s=O(!1),a=O(!0),h=0;export{x as Component,k as Fragment,G as cloneElement,J as createContext,g as createElement,b as createRef,g as h,E as hydrate,t as isValidElement,l as options,D as render,H as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n/**\n * Creates a data structure that allows to concatenate similar highlighting\n * parts in a single value.\n */\nfunction createAttributeSet() {\n var initialValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var value = initialValue;\n return {\n get: function get() {\n return value;\n },\n add: function add(part) {\n var lastPart = value[value.length - 1];\n if ((lastPart === null || lastPart === void 0 ? void 0 : lastPart.isHighlighted) === part.isHighlighted) {\n value[value.length - 1] = {\n value: lastPart.value + part.value,\n isHighlighted: lastPart.isHighlighted\n };\n } else {\n value.push(part);\n }\n }\n };\n}\nexport function parseAttribute(_ref) {\n var highlightedValue = _ref.highlightedValue;\n var preTagParts = highlightedValue.split(HIGHLIGHT_PRE_TAG);\n var firstValue = preTagParts.shift();\n var parts = createAttributeSet(firstValue ? [{\n value: firstValue,\n isHighlighted: false\n }] : []);\n preTagParts.forEach(function (part) {\n var postTagParts = part.split(HIGHLIGHT_POST_TAG);\n parts.add({\n value: postTagParts[0],\n isHighlighted: true\n });\n if (postTagParts[1] !== '') {\n parts.add({\n value: postTagParts[1],\n isHighlighted: false\n });\n }\n });\n return parts.get();\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nimport { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\nimport { parseAttribute } from './parseAttribute';\nexport function parseAlgoliaHitHighlight(_ref) {\n var hit = _ref.hit,\n attribute = _ref.attribute;\n var path = Array.isArray(attribute) ? attribute : [attribute];\n var highlightedValue = getAttributeValueByPath(hit, ['_highlightResult'].concat(_toConsumableArray(path), ['value']));\n if (typeof highlightedValue !== 'string') {\n process.env.NODE_ENV !== 'production' ? warn(false, \"The attribute \\\"\".concat(path.join('.'), \"\\\" described by the path \").concat(JSON.stringify(path), \" does not exist on the hit. Did you set it in `attributesToHighlight`?\") + '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/') : void 0;\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n return parseAttribute({\n highlightedValue: highlightedValue\n });\n}","import { parseAlgoliaHitHighlight } from '@algolia/autocomplete-preset-algolia';\nexport function createHighlightComponent(_ref) {\n var createElement = _ref.createElement,\n Fragment = _ref.Fragment;\n function Highlight(_ref2) {\n var hit = _ref2.hit,\n attribute = _ref2.attribute,\n _ref2$tagName = _ref2.tagName,\n tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;\n return createElement(Fragment, {}, parseAlgoliaHitHighlight({\n hit: hit,\n attribute: attribute\n }).map(function (x, index) {\n return x.isHighlighted ? createElement(tagName, {\n key: index\n }, x.value) : x.value;\n }));\n }\n Highlight.__autocomplete_componentName = 'Highlight';\n return Highlight;\n}","var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n};\nvar hasAlphanumeric = new RegExp(/\\w/i);\nvar regexEscapedHtml = /&(amp|quot|lt|gt|#39);/g;\nvar regexHasEscapedHtml = RegExp(regexEscapedHtml.source);\nfunction unescape(value) {\n return value && regexHasEscapedHtml.test(value) ? value.replace(regexEscapedHtml, function (character) {\n return htmlEscapes[character];\n }) : value;\n}\nexport function isPartHighlighted(parts, i) {\n var _parts, _parts2;\n var current = parts[i];\n var isNextHighlighted = ((_parts = parts[i + 1]) === null || _parts === void 0 ? void 0 : _parts.isHighlighted) || true;\n var isPreviousHighlighted = ((_parts2 = parts[i - 1]) === null || _parts2 === void 0 ? void 0 : _parts2.isHighlighted) || true;\n if (!hasAlphanumeric.test(unescape(current.value)) && isPreviousHighlighted === isNextHighlighted) {\n return isPreviousHighlighted;\n }\n return current.isHighlighted;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { isPartHighlighted } from './isPartHighlighted';\nexport function reverseHighlightedParts(parts) {\n // We don't want to highlight the whole word when no parts match.\n if (!parts.some(function (part) {\n return part.isHighlighted;\n })) {\n return parts.map(function (part) {\n return _objectSpread(_objectSpread({}, part), {}, {\n isHighlighted: false\n });\n });\n }\n return parts.map(function (part, i) {\n return _objectSpread(_objectSpread({}, part), {}, {\n isHighlighted: !isPartHighlighted(parts, i)\n });\n });\n}","import { parseAlgoliaHitReverseHighlight } from '@algolia/autocomplete-preset-algolia';\nexport function createReverseHighlightComponent(_ref) {\n var createElement = _ref.createElement,\n Fragment = _ref.Fragment;\n function ReverseHighlight(_ref2) {\n var hit = _ref2.hit,\n attribute = _ref2.attribute,\n _ref2$tagName = _ref2.tagName,\n tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;\n return createElement(Fragment, {}, parseAlgoliaHitReverseHighlight({\n hit: hit,\n attribute: attribute\n }).map(function (x, index) {\n return x.isHighlighted ? createElement(tagName, {\n key: index\n }, x.value) : x.value;\n }));\n }\n ReverseHighlight.__autocomplete_componentName = 'ReverseHighlight';\n return ReverseHighlight;\n}","import { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nexport function parseAlgoliaHitReverseHighlight(props) {\n return reverseHighlightedParts(parseAlgoliaHitHighlight(props));\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nimport { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\nimport { parseAttribute } from './parseAttribute';\nexport function parseAlgoliaHitSnippet(_ref) {\n var hit = _ref.hit,\n attribute = _ref.attribute;\n var path = Array.isArray(attribute) ? attribute : [attribute];\n var highlightedValue = getAttributeValueByPath(hit, ['_snippetResult'].concat(_toConsumableArray(path), ['value']));\n if (typeof highlightedValue !== 'string') {\n process.env.NODE_ENV !== 'production' ? warn(false, \"The attribute \\\"\".concat(path.join('.'), \"\\\" described by the path \").concat(JSON.stringify(path), \" does not exist on the hit. Did you set it in `attributesToSnippet`?\") + '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/') : void 0;\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n return parseAttribute({\n highlightedValue: highlightedValue\n });\n}","import { parseAlgoliaHitReverseSnippet } from '@algolia/autocomplete-preset-algolia';\nexport function createReverseSnippetComponent(_ref) {\n var createElement = _ref.createElement,\n Fragment = _ref.Fragment;\n function ReverseSnippet(_ref2) {\n var hit = _ref2.hit,\n attribute = _ref2.attribute,\n _ref2$tagName = _ref2.tagName,\n tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;\n return createElement(Fragment, {}, parseAlgoliaHitReverseSnippet({\n hit: hit,\n attribute: attribute\n }).map(function (x, index) {\n return x.isHighlighted ? createElement(tagName, {\n key: index\n }, x.value) : x.value;\n }));\n }\n ReverseSnippet.__autocomplete_componentName = 'ReverseSnippet';\n return ReverseSnippet;\n}","import { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nexport function parseAlgoliaHitReverseSnippet(props) {\n return reverseHighlightedParts(parseAlgoliaHitSnippet(props));\n}","import { parseAlgoliaHitSnippet } from '@algolia/autocomplete-preset-algolia';\nexport function createSnippetComponent(_ref) {\n var createElement = _ref.createElement,\n Fragment = _ref.Fragment;\n function Snippet(_ref2) {\n var hit = _ref2.hit,\n attribute = _ref2.attribute,\n _ref2$tagName = _ref2.tagName,\n tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;\n return createElement(Fragment, {}, parseAlgoliaHitSnippet({\n hit: hit,\n attribute: attribute\n }).map(function (x, index) {\n return x.isHighlighted ? createElement(tagName, {\n key: index\n }, x.value) : x.value;\n }));\n }\n Snippet.__autocomplete_componentName = 'Snippet';\n return Snippet;\n}","import { invariant } from '@algolia/autocomplete-shared';\nexport function getHTMLElement(environment, value) {\n if (typeof value === 'string') {\n var element = environment.document.querySelector(value);\n invariant(element !== null, \"The element \".concat(JSON.stringify(value), \" is not in the document.\"));\n return element;\n }\n return value;\n}","export function mergeClassNames() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n return values.reduce(function (acc, current) {\n Object.keys(current).forEach(function (key) {\n var accValue = acc[key];\n var currentValue = current[key];\n if (accValue !== currentValue) {\n acc[key] = [accValue, currentValue].filter(Boolean).join(' ');\n }\n });\n return acc;\n }, {});\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"classNames\", \"container\", \"getEnvironmentProps\", \"getFormProps\", \"getInputProps\", \"getItemProps\", \"getLabelProps\", \"getListProps\", \"getPanelProps\", \"getRootProps\", \"panelContainer\", \"panelPlacement\", \"render\", \"renderNoResults\", \"renderer\", \"detachedMediaQuery\", \"components\", \"translations\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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; }\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; }\nimport { generateAutocompleteId, invariant, warn } from '@algolia/autocomplete-shared';\nimport { createElement as preactCreateElement, Fragment as PreactFragment, render } from 'preact';\nimport { createHighlightComponent, createReverseHighlightComponent, createReverseSnippetComponent, createSnippetComponent } from './components';\nimport { getHTMLElement, mergeClassNames } from './utils';\nvar defaultClassNames = {\n clearButton: 'aa-ClearButton',\n detachedCancelButton: 'aa-DetachedCancelButton',\n detachedContainer: 'aa-DetachedContainer',\n detachedFormContainer: 'aa-DetachedFormContainer',\n detachedOverlay: 'aa-DetachedOverlay',\n detachedSearchButton: 'aa-DetachedSearchButton',\n detachedSearchButtonIcon: 'aa-DetachedSearchButtonIcon',\n detachedSearchButtonPlaceholder: 'aa-DetachedSearchButtonPlaceholder',\n detachedSearchButtonQuery: 'aa-DetachedSearchButtonQuery',\n form: 'aa-Form',\n input: 'aa-Input',\n inputWrapper: 'aa-InputWrapper',\n inputWrapperPrefix: 'aa-InputWrapperPrefix',\n inputWrapperSuffix: 'aa-InputWrapperSuffix',\n item: 'aa-Item',\n label: 'aa-Label',\n list: 'aa-List',\n loadingIndicator: 'aa-LoadingIndicator',\n panel: 'aa-Panel',\n panelLayout: 'aa-PanelLayout aa-Panel--scrollable',\n root: 'aa-Autocomplete',\n source: 'aa-Source',\n sourceFooter: 'aa-SourceFooter',\n sourceHeader: 'aa-SourceHeader',\n sourceNoResults: 'aa-SourceNoResults',\n submitButton: 'aa-SubmitButton'\n};\nvar defaultRender = function defaultRender(_ref, root) {\n var children = _ref.children,\n render = _ref.render;\n render(children, root);\n};\nvar defaultRenderer = {\n createElement: preactCreateElement,\n Fragment: PreactFragment,\n render: render\n};\nexport function getDefaultOptions(options) {\n var _core$id;\n var classNames = options.classNames,\n container = options.container,\n getEnvironmentProps = options.getEnvironmentProps,\n getFormProps = options.getFormProps,\n getInputProps = options.getInputProps,\n getItemProps = options.getItemProps,\n getLabelProps = options.getLabelProps,\n getListProps = options.getListProps,\n getPanelProps = options.getPanelProps,\n getRootProps = options.getRootProps,\n panelContainer = options.panelContainer,\n panelPlacement = options.panelPlacement,\n render = options.render,\n renderNoResults = options.renderNoResults,\n renderer = options.renderer,\n detachedMediaQuery = options.detachedMediaQuery,\n components = options.components,\n translations = options.translations,\n core = _objectWithoutProperties(options, _excluded);\n\n /* eslint-disable no-restricted-globals */\n var environment = typeof window !== 'undefined' ? window : {};\n /* eslint-enable no-restricted-globals */\n var containerElement = getHTMLElement(environment, container);\n invariant(containerElement.tagName !== 'INPUT', 'The `container` option does not support `input` elements. You need to change the container to a `div`.');\n process.env.NODE_ENV !== 'production' ? warn(!(render && renderer && !(renderer !== null && renderer !== void 0 && renderer.render)), \"You provided the `render` option but did not provide a `renderer.render`. Since v1.6.0, you can provide a `render` function directly in `renderer`.\" + \"\\nTo get rid of this warning, do any of the following depending on your use case.\" + \"\\n- If you are using the `render` option only to override Autocomplete's default `render` function, pass the `render` function into `renderer` and remove the `render` option.\" + '\\n- If you are using the `render` option to customize the layout, pass your `render` function into `renderer` and use it from the provided parameters of the `render` option.' + '\\n- If you are using the `render` option to work with React 18, pass an empty `render` function into `renderer`.' + '\\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-render') : void 0;\n process.env.NODE_ENV !== 'production' ? warn(!renderer || render || renderer.Fragment && renderer.createElement && renderer.render, \"You provided an incomplete `renderer` (missing: \".concat([!(renderer !== null && renderer !== void 0 && renderer.createElement) && '`renderer.createElement`', !(renderer !== null && renderer !== void 0 && renderer.Fragment) && '`renderer.Fragment`', !(renderer !== null && renderer !== void 0 && renderer.render) && '`renderer.render`'].filter(Boolean).join(', '), \"). This can cause rendering issues.\") + '\\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-renderer') : void 0;\n var defaultedRenderer = _objectSpread(_objectSpread({}, defaultRenderer), renderer);\n var defaultComponents = {\n Highlight: createHighlightComponent(defaultedRenderer),\n ReverseHighlight: createReverseHighlightComponent(defaultedRenderer),\n ReverseSnippet: createReverseSnippetComponent(defaultedRenderer),\n Snippet: createSnippetComponent(defaultedRenderer)\n };\n var defaultTranslations = {\n clearButtonTitle: 'Clear',\n detachedCancelButtonText: 'Cancel',\n detachedSearchButtonTitle: 'Search',\n submitButtonTitle: 'Submit'\n };\n return {\n renderer: {\n classNames: mergeClassNames(defaultClassNames, classNames !== null && classNames !== void 0 ? classNames : {}),\n container: containerElement,\n getEnvironmentProps: getEnvironmentProps !== null && getEnvironmentProps !== void 0 ? getEnvironmentProps : function (_ref2) {\n var props = _ref2.props;\n return props;\n },\n getFormProps: getFormProps !== null && getFormProps !== void 0 ? getFormProps : function (_ref3) {\n var props = _ref3.props;\n return props;\n },\n getInputProps: getInputProps !== null && getInputProps !== void 0 ? getInputProps : function (_ref4) {\n var props = _ref4.props;\n return props;\n },\n getItemProps: getItemProps !== null && getItemProps !== void 0 ? getItemProps : function (_ref5) {\n var props = _ref5.props;\n return props;\n },\n getLabelProps: getLabelProps !== null && getLabelProps !== void 0 ? getLabelProps : function (_ref6) {\n var props = _ref6.props;\n return props;\n },\n getListProps: getListProps !== null && getListProps !== void 0 ? getListProps : function (_ref7) {\n var props = _ref7.props;\n return props;\n },\n getPanelProps: getPanelProps !== null && getPanelProps !== void 0 ? getPanelProps : function (_ref8) {\n var props = _ref8.props;\n return props;\n },\n getRootProps: getRootProps !== null && getRootProps !== void 0 ? getRootProps : function (_ref9) {\n var props = _ref9.props;\n return props;\n },\n panelContainer: panelContainer ? getHTMLElement(environment, panelContainer) : environment.document.body,\n panelPlacement: panelPlacement !== null && panelPlacement !== void 0 ? panelPlacement : 'input-wrapper-width',\n render: render !== null && render !== void 0 ? render : defaultRender,\n renderNoResults: renderNoResults,\n renderer: defaultedRenderer,\n detachedMediaQuery: detachedMediaQuery !== null && detachedMediaQuery !== void 0 ? detachedMediaQuery : getComputedStyle(environment.document.documentElement).getPropertyValue('--aa-detached-media-query'),\n components: _objectSpread(_objectSpread({}, defaultComponents), components),\n translations: _objectSpread(_objectSpread({}, defaultTranslations), translations)\n },\n core: _objectSpread(_objectSpread({}, core), {}, {\n id: (_core$id = core.id) !== null && _core$id !== void 0 ? _core$id : generateAutocompleteId(),\n environment: environment\n })\n };\n}","export function getPanelPlacementStyle(_ref) {\n var panelPlacement = _ref.panelPlacement,\n container = _ref.container,\n form = _ref.form,\n environment = _ref.environment;\n var containerRect = container.getBoundingClientRect();\n // Some browsers have specificities to retrieve the document scroll position.\n // See https://stackoverflow.com/a/28633515/9940315\n var scrollTop = environment.pageYOffset || environment.document.documentElement.scrollTop || environment.document.body.scrollTop || 0;\n var top = scrollTop + containerRect.top + containerRect.height;\n switch (panelPlacement) {\n case 'start':\n {\n return {\n top: top,\n left: containerRect.left\n };\n }\n case 'end':\n {\n return {\n top: top,\n right: environment.document.documentElement.clientWidth - (containerRect.left + containerRect.width)\n };\n }\n case 'full-width':\n {\n return {\n top: top,\n left: 0,\n right: 0,\n width: 'unset',\n maxWidth: 'unset'\n };\n }\n case 'input-wrapper-width':\n {\n var formRect = form.getBoundingClientRect();\n return {\n top: top,\n left: formRect.left,\n right: environment.document.documentElement.clientWidth - (formRect.left + formRect.width),\n width: 'unset',\n maxWidth: 'unset'\n };\n }\n default:\n {\n throw new Error(\"[Autocomplete] The `panelPlacement` value \".concat(JSON.stringify(panelPlacement), \" is not valid.\"));\n }\n }\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/** @jsxRuntime classic */\n/** @jsx renderer.createElement */\n\nimport { setProperties, setPropertiesWithoutEvents } from './utils';\nexport function renderSearchBox(_ref) {\n var autocomplete = _ref.autocomplete,\n autocompleteScopeApi = _ref.autocompleteScopeApi,\n dom = _ref.dom,\n propGetters = _ref.propGetters,\n state = _ref.state;\n setPropertiesWithoutEvents(dom.root, propGetters.getRootProps(_objectSpread({\n state: state,\n props: autocomplete.getRootProps({})\n }, autocompleteScopeApi)));\n setPropertiesWithoutEvents(dom.input, propGetters.getInputProps(_objectSpread({\n state: state,\n props: autocomplete.getInputProps({\n inputElement: dom.input\n }),\n inputElement: dom.input\n }, autocompleteScopeApi)));\n setProperties(dom.label, {\n hidden: state.status === 'stalled'\n });\n setProperties(dom.loadingIndicator, {\n hidden: state.status !== 'stalled'\n });\n setProperties(dom.clearButton, {\n hidden: !state.query\n });\n setProperties(dom.detachedSearchButtonQuery, {\n textContent: state.query\n });\n setProperties(dom.detachedSearchButtonPlaceholder, {\n hidden: Boolean(state.query)\n });\n}\nexport function renderPanel(render, _ref2) {\n var autocomplete = _ref2.autocomplete,\n autocompleteScopeApi = _ref2.autocompleteScopeApi,\n classNames = _ref2.classNames,\n html = _ref2.html,\n dom = _ref2.dom,\n panelContainer = _ref2.panelContainer,\n propGetters = _ref2.propGetters,\n state = _ref2.state,\n components = _ref2.components,\n renderer = _ref2.renderer;\n if (!state.isOpen) {\n if (panelContainer.contains(dom.panel)) {\n panelContainer.removeChild(dom.panel);\n }\n return;\n }\n\n // We add the panel element to the DOM when it's not yet appended and that the\n // items are fetched.\n if (!panelContainer.contains(dom.panel) && state.status !== 'loading') {\n panelContainer.appendChild(dom.panel);\n }\n dom.panel.classList.toggle('aa-Panel--stalled', state.status === 'stalled');\n var sections = state.collections.filter(function (_ref3) {\n var source = _ref3.source,\n items = _ref3.items;\n return source.templates.noResults || items.length > 0;\n }).map(function (_ref4, sourceIndex) {\n var source = _ref4.source,\n items = _ref4.items;\n return renderer.createElement(\"section\", {\n key: sourceIndex,\n className: classNames.source,\n \"data-autocomplete-source-id\": source.sourceId\n }, source.templates.header && renderer.createElement(\"div\", {\n className: classNames.sourceHeader\n }, source.templates.header({\n components: components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n items: items,\n source: source,\n state: state,\n html: html\n })), source.templates.noResults && items.length === 0 ? renderer.createElement(\"div\", {\n className: classNames.sourceNoResults\n }, source.templates.noResults({\n components: components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n source: source,\n state: state,\n html: html\n })) : renderer.createElement(\"ul\", _extends({\n className: classNames.list\n }, propGetters.getListProps(_objectSpread({\n state: state,\n props: autocomplete.getListProps({\n source: source\n })\n }, autocompleteScopeApi))), items.map(function (item) {\n var itemProps = autocomplete.getItemProps({\n item: item,\n source: source\n });\n return renderer.createElement(\"li\", _extends({\n key: itemProps.id,\n className: classNames.item\n }, propGetters.getItemProps(_objectSpread({\n state: state,\n props: itemProps\n }, autocompleteScopeApi))), source.templates.item({\n components: components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n item: item,\n state: state,\n html: html\n }));\n })), source.templates.footer && renderer.createElement(\"div\", {\n className: classNames.sourceFooter\n }, source.templates.footer({\n components: components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n items: items,\n source: source,\n state: state,\n html: html\n })));\n });\n var children = renderer.createElement(renderer.Fragment, null, renderer.createElement(\"div\", {\n className: classNames.panelLayout\n }, sections), renderer.createElement(\"div\", {\n className: \"aa-GradientBottom\"\n }));\n var elements = sections.reduce(function (acc, current) {\n acc[current.props['data-autocomplete-source-id']] = current;\n return acc;\n }, {});\n render(_objectSpread(_objectSpread({\n children: children,\n state: state,\n sections: sections,\n elements: elements\n }, renderer), {}, {\n components: components,\n html: html\n }, autocompleteScopeApi), dom.panel);\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar isPlainObject = function isPlainObject(value) {\n return value && _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Object]';\n};\nexport function mergeDeep() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n return values.reduce(function (acc, current) {\n Object.keys(current).forEach(function (key) {\n var accValue = acc[key];\n var currentValue = current[key];\n if (Array.isArray(accValue) && Array.isArray(currentValue)) {\n acc[key] = accValue.concat.apply(accValue, _toConsumableArray(currentValue));\n } else if (isPlainObject(accValue) && isPlainObject(currentValue)) {\n acc[key] = mergeDeep(accValue, currentValue);\n } else {\n acc[key] = currentValue;\n }\n });\n return acc;\n }, {});\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\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; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nexport function pickBy(obj, predicate) {\n return Object.entries(obj).reduce(function (acc, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n if (predicate({\n key: key,\n value: value\n })) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, value));\n }\n return acc;\n }, {});\n}","var _excluded = [\"components\"];\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\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; }\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; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { createAutocomplete } from '@algolia/autocomplete-core';\nimport { createRef, debounce, getItemsCount, warn } from '@algolia/autocomplete-shared';\nimport htm from 'htm';\nimport { createAutocompleteDom } from './createAutocompleteDom';\nimport { createEffectWrapper } from './createEffectWrapper';\nimport { createReactiveWrapper } from './createReactiveWrapper';\nimport { getDefaultOptions } from './getDefaultOptions';\nimport { getPanelPlacementStyle } from './getPanelPlacementStyle';\nimport { renderPanel, renderSearchBox } from './render';\nimport { userAgents } from './userAgents';\nimport { mergeDeep, pickBy, setProperties } from './utils';\nvar instancesCount = 0;\nexport function autocomplete(options) {\n var _createEffectWrapper = createEffectWrapper(),\n runEffect = _createEffectWrapper.runEffect,\n cleanupEffects = _createEffectWrapper.cleanupEffects,\n runEffects = _createEffectWrapper.runEffects;\n var _createReactiveWrappe = createReactiveWrapper(),\n reactive = _createReactiveWrappe.reactive,\n runReactives = _createReactiveWrappe.runReactives;\n var hasNoResultsSourceTemplateRef = createRef(false);\n var optionsRef = createRef(options);\n var onStateChangeRef = createRef(undefined);\n var props = reactive(function () {\n return getDefaultOptions(optionsRef.current);\n });\n var isDetached = reactive(function () {\n return props.value.core.environment.matchMedia(props.value.renderer.detachedMediaQuery).matches;\n });\n var autocomplete = reactive(function () {\n return createAutocomplete(_objectSpread(_objectSpread({}, props.value.core), {}, {\n onStateChange: function onStateChange(params) {\n var _onStateChangeRef$cur, _props$value$core$onS, _props$value$core;\n hasNoResultsSourceTemplateRef.current = params.state.collections.some(function (collection) {\n return collection.source.templates.noResults;\n });\n (_onStateChangeRef$cur = onStateChangeRef.current) === null || _onStateChangeRef$cur === void 0 ? void 0 : _onStateChangeRef$cur.call(onStateChangeRef, params);\n (_props$value$core$onS = (_props$value$core = props.value.core).onStateChange) === null || _props$value$core$onS === void 0 ? void 0 : _props$value$core$onS.call(_props$value$core, params);\n },\n shouldPanelOpen: optionsRef.current.shouldPanelOpen || function (_ref) {\n var state = _ref.state;\n if (isDetached.value) {\n return true;\n }\n var hasItems = getItemsCount(state) > 0;\n if (!props.value.core.openOnFocus && !state.query) {\n return hasItems;\n }\n var hasNoResultsTemplate = Boolean(hasNoResultsSourceTemplateRef.current || props.value.renderer.renderNoResults);\n return !hasItems && hasNoResultsTemplate || hasItems;\n },\n __autocomplete_metadata: {\n userAgents: userAgents,\n options: options\n }\n }));\n });\n var lastStateRef = createRef(_objectSpread({\n collections: [],\n completion: null,\n context: {},\n isOpen: false,\n query: '',\n activeItemId: null,\n status: 'idle'\n }, props.value.core.initialState));\n var propGetters = {\n getEnvironmentProps: props.value.renderer.getEnvironmentProps,\n getFormProps: props.value.renderer.getFormProps,\n getInputProps: props.value.renderer.getInputProps,\n getItemProps: props.value.renderer.getItemProps,\n getLabelProps: props.value.renderer.getLabelProps,\n getListProps: props.value.renderer.getListProps,\n getPanelProps: props.value.renderer.getPanelProps,\n getRootProps: props.value.renderer.getRootProps\n };\n var autocompleteScopeApi = {\n setActiveItemId: autocomplete.value.setActiveItemId,\n setQuery: autocomplete.value.setQuery,\n setCollections: autocomplete.value.setCollections,\n setIsOpen: autocomplete.value.setIsOpen,\n setStatus: autocomplete.value.setStatus,\n setContext: autocomplete.value.setContext,\n refresh: autocomplete.value.refresh,\n navigator: autocomplete.value.navigator\n };\n var html = reactive(function () {\n return htm.bind(props.value.renderer.renderer.createElement);\n });\n var dom = reactive(function () {\n return createAutocompleteDom({\n autocomplete: autocomplete.value,\n autocompleteScopeApi: autocompleteScopeApi,\n classNames: props.value.renderer.classNames,\n environment: props.value.core.environment,\n isDetached: isDetached.value,\n placeholder: props.value.core.placeholder,\n propGetters: propGetters,\n setIsModalOpen: setIsModalOpen,\n state: lastStateRef.current,\n translations: props.value.renderer.translations\n });\n });\n function setPanelPosition() {\n setProperties(dom.value.panel, {\n style: isDetached.value ? {} : getPanelPlacementStyle({\n panelPlacement: props.value.renderer.panelPlacement,\n container: dom.value.root,\n form: dom.value.form,\n environment: props.value.core.environment\n })\n });\n }\n function scheduleRender(state) {\n lastStateRef.current = state;\n var renderProps = {\n autocomplete: autocomplete.value,\n autocompleteScopeApi: autocompleteScopeApi,\n classNames: props.value.renderer.classNames,\n components: props.value.renderer.components,\n container: props.value.renderer.container,\n html: html.value,\n dom: dom.value,\n panelContainer: isDetached.value ? dom.value.detachedContainer : props.value.renderer.panelContainer,\n propGetters: propGetters,\n state: lastStateRef.current,\n renderer: props.value.renderer.renderer\n };\n var render = !getItemsCount(state) && !hasNoResultsSourceTemplateRef.current && props.value.renderer.renderNoResults || props.value.renderer.render;\n renderSearchBox(renderProps);\n renderPanel(render, renderProps);\n }\n runEffect(function () {\n var environmentProps = autocomplete.value.getEnvironmentProps({\n formElement: dom.value.form,\n panelElement: dom.value.panel,\n inputElement: dom.value.input\n });\n setProperties(props.value.core.environment, environmentProps);\n return function () {\n setProperties(props.value.core.environment, Object.keys(environmentProps).reduce(function (acc, key) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, undefined));\n }, {}));\n };\n });\n runEffect(function () {\n var panelContainerElement = isDetached.value ? props.value.core.environment.document.body : props.value.renderer.panelContainer;\n var panelElement = isDetached.value ? dom.value.detachedOverlay : dom.value.panel;\n if (isDetached.value && lastStateRef.current.isOpen) {\n setIsModalOpen(true);\n }\n scheduleRender(lastStateRef.current);\n return function () {\n if (panelContainerElement.contains(panelElement)) {\n panelContainerElement.removeChild(panelElement);\n panelContainerElement.classList.remove('aa-Detached');\n }\n };\n });\n runEffect(function () {\n var containerElement = props.value.renderer.container;\n containerElement.appendChild(dom.value.root);\n return function () {\n containerElement.removeChild(dom.value.root);\n };\n });\n runEffect(function () {\n var debouncedRender = debounce(function (_ref2) {\n var state = _ref2.state;\n scheduleRender(state);\n }, 0);\n onStateChangeRef.current = function (_ref3) {\n var state = _ref3.state,\n prevState = _ref3.prevState;\n if (isDetached.value && prevState.isOpen !== state.isOpen) {\n setIsModalOpen(state.isOpen);\n }\n\n // The outer DOM might have changed since the last time the panel was\n // positioned. The layout might have shifted vertically for instance.\n // It's therefore safer to re-calculate the panel position before opening\n // it again.\n if (!isDetached.value && state.isOpen && !prevState.isOpen) {\n setPanelPosition();\n }\n\n // We scroll to the top of the panel whenever the query changes (i.e. new\n // results come in) so that users don't have to.\n if (state.query !== prevState.query) {\n var scrollablePanels = props.value.core.environment.document.querySelectorAll('.aa-Panel--scrollable');\n scrollablePanels.forEach(function (scrollablePanel) {\n if (scrollablePanel.scrollTop !== 0) {\n scrollablePanel.scrollTop = 0;\n }\n });\n }\n debouncedRender({\n state: state\n });\n };\n return function () {\n onStateChangeRef.current = undefined;\n };\n });\n runEffect(function () {\n var onResize = debounce(function () {\n var previousIsDetached = isDetached.value;\n isDetached.value = props.value.core.environment.matchMedia(props.value.renderer.detachedMediaQuery).matches;\n if (previousIsDetached !== isDetached.value) {\n update({});\n } else {\n requestAnimationFrame(setPanelPosition);\n }\n }, 20);\n props.value.core.environment.addEventListener('resize', onResize);\n return function () {\n props.value.core.environment.removeEventListener('resize', onResize);\n };\n });\n runEffect(function () {\n if (!isDetached.value) {\n return function () {};\n }\n function toggleModalClassname(isActive) {\n dom.value.detachedContainer.classList.toggle('aa-DetachedContainer--modal', isActive);\n }\n function onChange(event) {\n toggleModalClassname(event.matches);\n }\n var isModalDetachedMql = props.value.core.environment.matchMedia(getComputedStyle(props.value.core.environment.document.documentElement).getPropertyValue('--aa-detached-modal-media-query'));\n toggleModalClassname(isModalDetachedMql.matches);\n\n // Prior to Safari 14, `MediaQueryList` isn't based on `EventTarget`,\n // so we must use `addListener` and `removeListener` to observe media query lists.\n // See https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener\n var hasModernEventListener = Boolean(isModalDetachedMql.addEventListener);\n hasModernEventListener ? isModalDetachedMql.addEventListener('change', onChange) : isModalDetachedMql.addListener(onChange);\n return function () {\n hasModernEventListener ? isModalDetachedMql.removeEventListener('change', onChange) : isModalDetachedMql.removeListener(onChange);\n };\n });\n runEffect(function () {\n requestAnimationFrame(setPanelPosition);\n return function () {};\n });\n function destroy() {\n instancesCount--;\n cleanupEffects();\n }\n function update() {\n var updatedOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n cleanupEffects();\n var _props$value$renderer = props.value.renderer,\n components = _props$value$renderer.components,\n rendererProps = _objectWithoutProperties(_props$value$renderer, _excluded);\n optionsRef.current = mergeDeep(rendererProps, props.value.core, {\n // We need to filter out default components so they can be replaced with\n // a new `renderer`, without getting rid of user components.\n // @MAJOR Deal with registering components with the same name as the\n // default ones. If we disallow overriding default components, we'd just\n // need to pass all `components` here.\n components: pickBy(components, function (_ref4) {\n var value = _ref4.value;\n return !value.hasOwnProperty('__autocomplete_componentName');\n }),\n initialState: lastStateRef.current\n }, updatedOptions);\n runReactives();\n runEffects();\n autocomplete.value.refresh().then(function () {\n scheduleRender(lastStateRef.current);\n });\n }\n function setIsModalOpen(value) {\n var prevValue = props.value.core.environment.document.body.contains(dom.value.detachedOverlay);\n if (value === prevValue) {\n return;\n }\n if (value) {\n props.value.core.environment.document.body.appendChild(dom.value.detachedOverlay);\n props.value.core.environment.document.body.classList.add('aa-Detached');\n dom.value.input.focus();\n } else {\n props.value.core.environment.document.body.removeChild(dom.value.detachedOverlay);\n props.value.core.environment.document.body.classList.remove('aa-Detached');\n }\n }\n process.env.NODE_ENV !== 'production' ? warn(instancesCount === 0, \"Autocomplete doesn't support multiple instances running at the same time. Make sure to destroy the previous instance before creating a new one.\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-destroy\") : void 0;\n instancesCount++;\n return _objectSpread(_objectSpread({}, autocompleteScopeApi), {}, {\n update: update,\n destroy: destroy\n });\n}","export function createReactiveWrapper() {\n var reactives = [];\n return {\n reactive: function reactive(value) {\n var current = value();\n var reactive = {\n _fn: value,\n _ref: {\n current: current\n },\n get value() {\n return this._ref.current;\n },\n set value(value) {\n this._ref.current = value;\n }\n };\n reactives.push(reactive);\n return reactive;\n },\n runReactives: function runReactives() {\n reactives.forEach(function (value) {\n value._ref.current = value._fn();\n });\n }\n };\n}","export function createEffectWrapper() {\n var effects = [];\n var cleanups = [];\n function runEffect(fn) {\n effects.push(fn);\n var effectCleanup = fn();\n cleanups.push(effectCleanup);\n }\n return {\n runEffect: runEffect,\n cleanupEffects: function cleanupEffects() {\n var currentCleanups = cleanups;\n cleanups = [];\n currentCleanups.forEach(function (cleanup) {\n cleanup();\n });\n },\n runEffects: function runEffects() {\n var currentEffects = effects;\n effects = [];\n currentEffects.forEach(function (effect) {\n runEffect(effect);\n });\n }\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nexport function createRequester(fetcher, requesterId) {\n function execute(fetcherParams) {\n return fetcher({\n searchClient: fetcherParams.searchClient,\n queries: fetcherParams.requests.map(function (x) {\n return x.query;\n })\n }).then(function (responses) {\n return responses.map(function (response, index) {\n var _fetcherParams$reques = fetcherParams.requests[index],\n sourceId = _fetcherParams$reques.sourceId,\n transformResponse = _fetcherParams$reques.transformResponse;\n return {\n items: response,\n sourceId: sourceId,\n transformResponse: transformResponse\n };\n });\n });\n }\n return function createSpecifiedRequester(requesterParams) {\n return function requester(requestParams) {\n return _objectSpread(_objectSpread({\n requesterId: requesterId,\n execute: execute\n }, requesterParams), requestParams);\n };\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"params\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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; }\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; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nimport { userAgents as coreUserAgents, invariant } from '@algolia/autocomplete-shared';\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\nimport { getAppIdAndApiKey } from '../utils';\nexport function fetchAlgoliaResults(_ref) {\n var searchClient = _ref.searchClient,\n queries = _ref.queries,\n _ref$userAgents = _ref.userAgents,\n userAgents = _ref$userAgents === void 0 ? [] : _ref$userAgents;\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n var algoliaAgents = [].concat(_toConsumableArray(coreUserAgents), _toConsumableArray(userAgents));\n algoliaAgents.forEach(function (_ref2) {\n var segment = _ref2.segment,\n version = _ref2.version;\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n var _getAppIdAndApiKey = getAppIdAndApiKey(searchClient),\n appId = _getAppIdAndApiKey.appId,\n apiKey = _getAppIdAndApiKey.apiKey;\n invariant(Boolean(appId), 'The Algolia `appId` was not accessible from the searchClient passed.');\n invariant(Boolean(apiKey), 'The Algolia `apiKey` was not accessible from the searchClient passed.');\n return searchClient.search(queries.map(function (searchParameters) {\n var params = searchParameters.params,\n headers = _objectWithoutProperties(searchParameters, _excluded);\n return _objectSpread(_objectSpread({}, headers), {}, {\n params: _objectSpread({\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG\n }, params)\n });\n })).then(function (response) {\n return response.results.map(function (result, resultIndex) {\n var _result$hits;\n return _objectSpread(_objectSpread({}, result), {}, {\n hits: (_result$hits = result.hits) === null || _result$hits === void 0 ? void 0 : _result$hits.map(function (hit) {\n return _objectSpread(_objectSpread({}, hit), {}, {\n // Bring support for the Insights plugin.\n __autocomplete_indexName: result.index || queries[resultIndex].indexName,\n __autocomplete_queryID: result.queryID,\n __autocomplete_algoliaCredentials: {\n appId: appId,\n apiKey: apiKey\n }\n });\n })\n });\n });\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { createRequester, fetchAlgoliaResults } from '@algolia/autocomplete-preset-algolia';\nimport { userAgents } from '../userAgents';\nexport var createAlgoliaRequester = createRequester(function (params) {\n return fetchAlgoliaResults(_objectSpread(_objectSpread({}, params), {}, {\n userAgents: userAgents\n }));\n}, 'algolia');","// typed as any, since it accepts the _real_ js clients, not the interface we otherwise expect\nexport function getAppIdAndApiKey(searchClient) {\n var transporter = searchClient.transporter || {};\n var headers = transporter.headers || transporter.baseHeaders || {};\n var queryParameters = transporter.queryParameters || transporter.baseQueryParameters || {};\n var APP_ID = 'x-algolia-application-id';\n var API_KEY = 'x-algolia-api-key';\n var appId = headers[APP_ID] || queryParameters[APP_ID];\n var apiKey = headers[API_KEY] || queryParameters[API_KEY];\n return {\n appId: appId,\n apiKey: apiKey\n };\n}","import { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia results from multiple indices.\n */\nexport var getAlgoliaResults = createAlgoliaRequester({\n transformResponse: function transformResponse(response) {\n return response.hits;\n }\n});","import { version } from '@algolia/autocomplete-shared';\nexport var userAgents = [{\n segment: 'autocomplete-js',\n version: version\n}];","export var defaultTranslations = {\n fillQueryTitle: function fillQueryTitle(text) {\n return \"Fill query with \\\"\".concat(text, \"\\\"\");\n }\n};","/** @jsxRuntime classic */\n/** @jsx createElement */\n\nexport function getTemplates(_ref) {\n var onTapAhead = _ref.onTapAhead,\n translations = _ref.translations;\n return {\n item: function item(_ref2) {\n var item = _ref2.item,\n createElement = _ref2.createElement,\n components = _ref2.components;\n if (item.__autocomplete_qsCategory) {\n return createElement(\"div\", {\n className: \"aa-ItemWrapper\"\n }, createElement(\"div\", {\n className: \"aa-ItemContent aa-ItemContent--indented\"\n }, createElement(\"div\", {\n className: \"aa-ItemContentSubtitle aa-ItemContentSubtitle--standalone\"\n }, createElement(\"span\", {\n className: \"aa-ItemContentSubtitleIcon\"\n }), createElement(\"span\", null, \"in\", ' ', createElement(\"span\", {\n className: \"aa-ItemContentSubtitleCategory\"\n }, item.__autocomplete_qsCategory)))));\n }\n return createElement(\"div\", {\n className: \"aa-ItemWrapper\"\n }, createElement(\"div\", {\n className: \"aa-ItemContent\"\n }, createElement(\"div\", {\n className: \"aa-ItemIcon aa-ItemIcon--noBorder\"\n }, createElement(\"svg\", {\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\"\n }, createElement(\"path\", {\n d: \"M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z\"\n }))), createElement(\"div\", {\n className: \"aa-ItemContentBody\"\n }, createElement(\"div\", {\n className: \"aa-ItemContentTitle\"\n }, createElement(components.ReverseHighlight, {\n hit: item,\n attribute: \"query\"\n })))), createElement(\"div\", {\n className: \"aa-ItemActions\"\n }, createElement(\"button\", {\n type: \"button\",\n className: \"aa-ItemActionButton\",\n title: translations.fillQueryTitle(item.query),\n onClick: function onClick(event) {\n event.preventDefault();\n event.stopPropagation();\n onTapAhead(item);\n }\n }, createElement(\"svg\", {\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\"\n }, createElement(\"path\", {\n d: \"M8 17v-7.586l8.293 8.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-8.293-8.293h7.586c0.552 0 1-0.448 1-1s-0.448-1-1-1h-10c-0.552 0-1 0.448-1 1v10c0 0.552 0.448 1 1 1s1-0.448 1-1z\"\n })))));\n }\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\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; }\nimport { getAlgoliaResults } from '@algolia/autocomplete-js';\nimport { getAttributeValueByPath } from '@algolia/autocomplete-shared';\nimport { defaultTranslations } from './constants';\nimport { getTemplates } from './getTemplates';\nexport function createQuerySuggestionsPlugin(options) {\n var _getOptions = getOptions(options),\n searchClient = _getOptions.searchClient,\n indexName = _getOptions.indexName,\n getSearchParams = _getOptions.getSearchParams,\n transformSource = _getOptions.transformSource,\n categoryAttribute = _getOptions.categoryAttribute,\n itemsWithCategories = _getOptions.itemsWithCategories,\n categoriesPerItem = _getOptions.categoriesPerItem,\n translations = _getOptions.translations;\n return {\n name: 'aa.querySuggestionsPlugin',\n getSources: function getSources(_ref) {\n var query = _ref.query,\n setQuery = _ref.setQuery,\n refresh = _ref.refresh,\n state = _ref.state;\n function onTapAhead(item) {\n setQuery(\"\".concat(item.query, \" \"));\n refresh();\n }\n return [transformSource({\n source: {\n sourceId: 'querySuggestionsPlugin',\n getItemInputValue: function getItemInputValue(_ref2) {\n var item = _ref2.item;\n return item.query;\n },\n getItems: function getItems() {\n return getAlgoliaResults({\n searchClient: searchClient,\n queries: [{\n indexName: indexName,\n query: query,\n params: getSearchParams({\n state: state\n })\n }],\n transformResponse: function transformResponse(_ref3) {\n var hits = _ref3.hits;\n var querySuggestionsHits = hits[0];\n if (!query || !categoryAttribute) {\n return querySuggestionsHits;\n }\n var itemsWithCategoriesAdded = 0;\n return querySuggestionsHits.reduce(function (acc, current) {\n var items = [current];\n if (itemsWithCategoriesAdded < itemsWithCategories) {\n var categories = (getAttributeValueByPath(current, Array.isArray(categoryAttribute) ? categoryAttribute : [categoryAttribute]) || []).map(function (x) {\n return x.value;\n }).slice(0, categoriesPerItem);\n if (categories.length > 0) {\n itemsWithCategoriesAdded++;\n }\n var _iterator = _createForOfIteratorHelper(categories),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var category = _step.value;\n items.push(_objectSpread({\n __autocomplete_qsCategory: category\n }, current));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n acc.push.apply(acc, items);\n return acc;\n }, []);\n }\n });\n },\n templates: getTemplates({\n onTapAhead: onTapAhead,\n translations: translations\n })\n },\n onTapAhead: onTapAhead,\n state: state\n })];\n },\n __autocomplete_pluginOptions: options\n };\n}\nfunction getOptions(options) {\n return _objectSpread(_objectSpread({\n getSearchParams: function getSearchParams() {\n return {};\n },\n transformSource: function transformSource(_ref4) {\n var source = _ref4.source;\n return source;\n },\n itemsWithCategories: 1,\n categoriesPerItem: 1\n }, options), {}, {\n translations: _objectSpread(_objectSpread({}, defaultTranslations), options.translations)\n });\n}","export var LOCAL_STORAGE_KEY = 'AUTOCOMPLETE_RECENT_SEARCHES';\nexport var LOCAL_STORAGE_KEY_TEST = '__AUTOCOMPLETE_RECENT_SEARCHES_PLUGIN_TEST_KEY__';\nexport var defaultTranslations = {\n removeSearchTitle: 'Remove this search',\n fillQueryTitle: function fillQueryTitle(text) {\n return \"Fill query with \\\"\".concat(text, \"\\\"\");\n }\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nimport { getLocalStorage } from './getLocalStorage';\nexport function createLocalStorage(_ref) {\n var key = _ref.key,\n limit = _ref.limit,\n search = _ref.search;\n var storage = getLocalStorage({\n key: key\n });\n return {\n onAdd: function onAdd(item) {\n storage.setItem([item].concat(_toConsumableArray(storage.getItem())));\n },\n onRemove: function onRemove(id) {\n storage.setItem(storage.getItem().filter(function (x) {\n return x.id !== id;\n }));\n },\n getAll: function getAll() {\n var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return search({\n query: query,\n items: storage.getItem(),\n limit: limit\n }).slice(0, limit);\n }\n };\n}","/** @jsxRuntime classic */\n/** @jsx createElement */\n\nexport function getTemplates(_ref) {\n var onRemove = _ref.onRemove,\n onTapAhead = _ref.onTapAhead,\n translations = _ref.translations;\n return {\n item: function item(_ref2) {\n var item = _ref2.item,\n createElement = _ref2.createElement,\n components = _ref2.components;\n return createElement(\"div\", {\n className: \"aa-ItemWrapper\"\n }, createElement(\"div\", {\n className: \"aa-ItemContent\"\n }, createElement(\"div\", {\n className: \"aa-ItemIcon aa-ItemIcon--noBorder\"\n }, createElement(\"svg\", {\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\"\n }, createElement(\"path\", {\n d: \"M12.516 6.984v5.25l4.5 2.672-0.75 1.266-5.25-3.188v-6h1.5zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z\"\n }))), createElement(\"div\", {\n className: \"aa-ItemContentBody\"\n }, createElement(\"div\", {\n className: \"aa-ItemContentTitle\"\n }, createElement(components.ReverseHighlight, {\n hit: item,\n attribute: \"label\"\n }), item.category && createElement(\"span\", {\n className: \"aa-ItemContentSubtitle aa-ItemContentSubtitle--inline\"\n }, createElement(\"span\", {\n className: \"aa-ItemContentSubtitleIcon\"\n }), \" in\", ' ', createElement(\"span\", {\n className: \"aa-ItemContentSubtitleCategory\"\n }, item.category))))), createElement(\"div\", {\n className: \"aa-ItemActions\"\n }, createElement(\"button\", {\n type: \"button\",\n className: \"aa-ItemActionButton\",\n title: translations.removeSearchTitle,\n onClick: function onClick(event) {\n event.preventDefault();\n event.stopPropagation();\n onRemove(item.id);\n }\n }, createElement(\"svg\", {\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\"\n }, createElement(\"path\", {\n d: \"M18 7v13c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293h-10c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707v-13zM17 5v-1c0-0.828-0.337-1.58-0.879-2.121s-1.293-0.879-2.121-0.879h-4c-0.828 0-1.58 0.337-2.121 0.879s-0.879 1.293-0.879 2.121v1h-4c-0.552 0-1 0.448-1 1s0.448 1 1 1h1v13c0 0.828 0.337 1.58 0.879 2.121s1.293 0.879 2.121 0.879h10c0.828 0 1.58-0.337 2.121-0.879s0.879-1.293 0.879-2.121v-13h1c0.552 0 1-0.448 1-1s-0.448-1-1-1zM9 5v-1c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293h4c0.276 0 0.525 0.111 0.707 0.293s0.293 0.431 0.293 0.707v1zM9 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1zM13 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1z\"\n }))), createElement(\"button\", {\n type: \"button\",\n className: \"aa-ItemActionButton\",\n title: translations.fillQueryTitle(item.label),\n onClick: function onClick(event) {\n event.preventDefault();\n event.stopPropagation();\n onTapAhead(item);\n }\n }, createElement(\"svg\", {\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\"\n }, createElement(\"path\", {\n d: \"M8 17v-7.586l8.293 8.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-8.293-8.293h7.586c0.552 0 1-0.448 1-1s-0.448-1-1-1h-10c-0.552 0-1 0.448-1 1v10c0 0.552 0.448 1 1 1s1-0.448 1-1z\"\n })))));\n }\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { createRef, warn } from '@algolia/autocomplete-shared';\nimport { defaultTranslations } from './constants';\nimport { createStorageApi } from './createStorageApi';\nimport { getTemplates } from './getTemplates';\nfunction getDefaultSubscribe(store) {\n return function subscribe(_ref) {\n var onSelect = _ref.onSelect;\n onSelect(function (_ref2) {\n var item = _ref2.item,\n state = _ref2.state,\n source = _ref2.source;\n var inputValue = source.getItemInputValue({\n item: item,\n state: state\n });\n if (source.sourceId === 'querySuggestionsPlugin' && inputValue) {\n var recentItem = {\n id: inputValue,\n label: inputValue,\n category: item.__autocomplete_qsCategory\n };\n store.addItem(recentItem);\n }\n });\n };\n}\nexport function createRecentSearchesPlugin(options) {\n var _getOptions = getOptions(options),\n storage = _getOptions.storage,\n transformSource = _getOptions.transformSource,\n subscribe = _getOptions.subscribe,\n translations = _getOptions.translations;\n var store = createStorageApi(storage);\n var lastItemsRef = createRef([]);\n return {\n name: 'aa.recentSearchesPlugin',\n subscribe: subscribe !== null && subscribe !== void 0 ? subscribe : getDefaultSubscribe(store),\n onSubmit: function onSubmit(_ref3) {\n var state = _ref3.state;\n var query = state.query;\n if (query) {\n var recentItem = {\n id: query,\n label: query\n };\n store.addItem(recentItem);\n }\n },\n getSources: function getSources(_ref4) {\n var query = _ref4.query,\n setQuery = _ref4.setQuery,\n refresh = _ref4.refresh,\n state = _ref4.state;\n lastItemsRef.current = store.getAll(query);\n function onRemove(id) {\n store.removeItem(id);\n refresh();\n }\n function onTapAhead(item) {\n setQuery(item.label);\n refresh();\n }\n return Promise.resolve(lastItemsRef.current).then(function (items) {\n if (items.length === 0) {\n return [];\n }\n return [transformSource({\n source: {\n sourceId: 'recentSearchesPlugin',\n getItemInputValue: function getItemInputValue(_ref5) {\n var item = _ref5.item;\n return item.label;\n },\n getItems: function getItems() {\n return items;\n },\n templates: getTemplates({\n onRemove: onRemove,\n onTapAhead: onTapAhead,\n translations: translations\n })\n },\n onRemove: onRemove,\n onTapAhead: onTapAhead,\n state: state\n })];\n });\n },\n data: _objectSpread(_objectSpread({}, store), {}, {\n // @ts-ignore SearchOptions `facetFilters` is ReadonlyArray\n getAlgoliaSearchParams: function getAlgoliaSearchParams() {\n var _params$facetFilters, _params$hitsPerPage;\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // If the items returned by `store.getAll` are contained in a Promise,\n // we cannot provide the search params in time when this function is called\n // because we need to resolve the promise before getting the value.\n if (!Array.isArray(lastItemsRef.current)) {\n process.env.NODE_ENV !== 'production' ? warn(false, 'The `getAlgoliaSearchParams` function is not supported with storages that return promises in `getAll`.') : void 0;\n return params;\n }\n return _objectSpread(_objectSpread({}, params), {}, {\n facetFilters: [].concat(_toConsumableArray((_params$facetFilters = params.facetFilters) !== null && _params$facetFilters !== void 0 ? _params$facetFilters : []), _toConsumableArray(lastItemsRef.current.map(function (item) {\n return [\"objectID:-\".concat(item.label)];\n }))),\n hitsPerPage: Math.max(1, ((_params$hitsPerPage = params.hitsPerPage) !== null && _params$hitsPerPage !== void 0 ? _params$hitsPerPage : 10) - lastItemsRef.current.length)\n });\n }\n }),\n __autocomplete_pluginOptions: options\n };\n}\nfunction getOptions(options) {\n return _objectSpread(_objectSpread({\n transformSource: function transformSource(_ref6) {\n var source = _ref6.source;\n return source;\n }\n }, options), {}, {\n translations: _objectSpread(_objectSpread({}, defaultTranslations), options.translations)\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nexport function addHighlightedAttribute(_ref) {\n var item = _ref.item,\n query = _ref.query;\n return _objectSpread(_objectSpread({}, item), {}, {\n _highlightResult: {\n label: {\n value: query ? item.label.replace(new RegExp(query.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'gi'), function (match) {\n return \"__aa-highlight__\".concat(match, \"__/aa-highlight__\");\n }) : item.label\n }\n }\n });\n}","import { addHighlightedAttribute } from './addHighlightedAttribute';\nexport function search(_ref) {\n var query = _ref.query,\n items = _ref.items,\n limit = _ref.limit;\n if (!query) {\n return items.slice(0, limit).map(function (item) {\n return addHighlightedAttribute({\n item: item,\n query: query\n });\n });\n }\n return items.filter(function (item) {\n return item.label.toLowerCase().includes(query.toLowerCase());\n }).slice(0, limit).map(function (item) {\n return addHighlightedAttribute({\n item: item,\n query: query\n });\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { defaultTranslations, LOCAL_STORAGE_KEY } from './constants';\nimport { createLocalStorage } from './createLocalStorage';\nimport { createRecentSearchesPlugin } from './createRecentSearchesPlugin';\nimport { search as defaultSearch } from './search';\nexport function createLocalStorageRecentSearchesPlugin(options) {\n var _getOptions = getOptions(options),\n key = _getOptions.key,\n limit = _getOptions.limit,\n transformSource = _getOptions.transformSource,\n search = _getOptions.search,\n subscribe = _getOptions.subscribe,\n translations = _getOptions.translations;\n var storage = createLocalStorage({\n key: [LOCAL_STORAGE_KEY, key].join(':'),\n limit: limit,\n search: search\n });\n var recentSearchesPlugin = createRecentSearchesPlugin({\n transformSource: transformSource,\n storage: storage,\n subscribe: subscribe,\n translations: translations\n });\n return _objectSpread(_objectSpread({}, recentSearchesPlugin), {}, {\n name: 'aa.localStorageRecentSearchesPlugin',\n __autocomplete_pluginOptions: options\n });\n}\nfunction getOptions(options) {\n return _objectSpread(_objectSpread({\n limit: 5,\n search: defaultSearch,\n transformSource: function transformSource(_ref) {\n var source = _ref.source;\n return source;\n }\n }, options), {}, {\n translations: _objectSpread(_objectSpread({}, defaultTranslations), options.translations)\n });\n}","import { LOCAL_STORAGE_KEY_TEST } from './constants';\nfunction isLocalStorageSupported() {\n try {\n localStorage.setItem(LOCAL_STORAGE_KEY_TEST, '');\n localStorage.removeItem(LOCAL_STORAGE_KEY_TEST);\n return true;\n } catch (error) {\n return false;\n }\n}\nexport function getLocalStorage(_ref) {\n var key = _ref.key;\n if (!isLocalStorageSupported()) {\n return {\n setItem: function setItem() {},\n getItem: function getItem() {\n return [];\n }\n };\n }\n return {\n setItem: function setItem(items) {\n return window.localStorage.setItem(key, JSON.stringify(items));\n },\n getItem: function getItem() {\n var items = window.localStorage.getItem(key);\n return items ? JSON.parse(items) : [];\n }\n };\n}","export function createStorageApi(storage) {\n return {\n addItem: function addItem(item) {\n storage.onRemove(item.id);\n storage.onAdd(item);\n },\n removeItem: function removeItem(id) {\n storage.onRemove(id);\n },\n getAll: function getAll(query) {\n return storage.getAll(query);\n }\n };\n}","export var HIGHLIGHT_PRE_TAG = '__aa-highlight__';\nexport var HIGHLIGHT_POST_TAG = '__/aa-highlight__';","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export function getAttributeValueByPath(record, path) {\n return path.reduce(function (current, key) {\n return current && current[key];\n }, record);\n}","/**\n * Throws an error if the condition is not met in development mode.\n * This is used to make development a better experience to provide guidance as\n * to where the error comes from.\n */\nexport function invariant(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n if (!condition) {\n throw new Error(\"[Autocomplete] \".concat(typeof message === 'function' ? message() : message));\n }\n}","import { version } from './version';\nexport var userAgents = [{\n segment: 'autocomplete-core',\n version: version\n}];","export var version = '1.17.9';"],"names":["debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","isPrimitive","obj","Object","isEqual","first","second","keys","_i","_Object$keys","key","noop","createClickedEvent","_ref","item","_ref$items","items","index","__autocomplete_indexName","positions","findIndex","x","objectID","queryID","__autocomplete_queryID","algoliaSource","_arrayLikeToArray","arr","len","i","arr2","_excluded","_excluded2","_typeof","Symbol","iterator","constructor","prototype","_toConsumableArray","isArray","_arrayWithoutHoles","iter","from","_iterableToArray","o","minLen","n","toString","call","slice","name","test","TypeError","_nonIterableSpread","_objectWithoutProperties","source","excluded","target","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","arg","input","prim","toPrimitive","res","hint","String","_toPrimitive","_toPropertyKey","configurable","writable","mapToInsightsParamsApi","params","map","param","objectIDs","_ref2","createSearchInsightsApi","searchInsights","_split$map2","major","minor","canSendHeaders","_arrayWithHoles","_s","_e","_x","_r","_arr","_n","_d","next","done","err","return","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_slicedToArray","version","split","Number","sendToInsights","method","payloads","_items$0$__autocomple","__autocomplete_algoliaCredentials","headers","appId","apiKey","concat","init","setAuthenticatedUserToken","authenticatedUserToken","setUserToken","userToken","clickedObjectIDsAfterSearch","clickedObjectIDs","_len2","_key2","clickedFilters","_len3","_key3","convertedObjectIDsAfterSearch","_len4","_key4","convertedObjectIDs","_len5","_key5","convertedFilters","_len6","_key6","viewedObjectIDs","_len7","_key7","reduce","acc","_ref3","chunkSize","chunks","chunk","_ref4","payload","_ref5","viewedFilters","_len8","_key8","createViewedEvents","itemsByIndexName","current","_acc$current$__autoco","indexName","isAlgoliaInsightsHit","hit","ALGOLIA_INSIGHTS_VERSION","ALGOLIA_INSIGHTS_SRC","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","eventName","createAlgoliaInsightsPlugin","options","_getOptions","_ref8","getAlgoliaSources","context","onSelect","_ref9","onActive","__autocomplete_clickAnalytics","getOptions","providedInsightsClient","insightsClient","insightsInitParams","onSelectEvent","onActiveEvent","window","pointer","AlgoliaAnalyticsObject","queue","environment","errorMessage","script","document","createElement","async","src","onerror","console","error","body","appendChild","cause","loadInsights","callback","partial","previousItems","createRef","debouncedOnStateChange","isOpen","collections","subscribe","setContext","setInsightsContext","algoliaInsightsPlugin","__algoliaSearchParameters","clickAnalytics","normalizeUserToken","_error","getItems","_ref6","onStateChange","_ref7","__autocomplete_pluginOptions","_context$algoliaInsig","__automaticInsights","flatten","values","a","b","getItemsCount","sum","collection","autocompleteId","generateAutocompleteId","decycle","Set","getDefaultProps","props","pluginSubscribers","_props$id","plugins","debug","openOnFocus","enterKeyHint","ignoreCompositionEvents","placeholder","autoFocus","defaultActiveItemId","stallThreshold","shouldPanelOpen","reshape","sources","id","initialState","activeItemId","query","completion","status","_props$onStateChange","_x$onStateChange","onSubmit","_props$onSubmit","_x$onSubmit","onReset","_props$onReset","_x$onReset","getSources","Promise","all","plugin","Boolean","seenSourceIds","resolve","then","invariant","JSON","stringify","maybeSource","sourceId","includes","Error","defaultSource","getItemInputValue","getItemUrl","setIsOpen","onResolve","__default","normalizedSource","getNormalizedSources","nested","_x$onSelect","_x$onActive","_x$onResolve","navigator","navigate","itemUrl","location","assign","navigateNewTab","windowReference","open","focus","navigateNewWindow","isDescription","execute","searchClient","requesterId","requests","container","find","_container$items","request","maybeDescription","responses","createInternalCancelablePromise","promise","onfulfilled","onrejected","createCallback","catch","finally","onfinally","onCancelList","cancel","isCanceled","callbacks","createCancelablePromise","executor","reject","cancelable","onResult","fallback","getActiveItem","collectionIndex","collectionsCount","nextValue","getCollectionFromActiveItemId","isOffsetFound","counter","previousItemsOffset","currentCollection","getRelativeActiveItemId","itemInputValue","reason","basePromiseId","latestResolvedId","latestResolvedValue","lastStalledId","runConcurrentSafePromise","currentPromiseId","onInput","_ref$nextState","nextState","refresh","store","setters","setCollections","setQuery","setActiveItemId","setStatus","_nextState$isOpen","getState","_request","pendingRequests","add","itemsOrDescription","description","contextParameters","_state$context$key","queries","transformResponse","preResolve","_store$getState$conte","some","_automaticInsights","rawResults","matches","response","results","transform","hits","result","facetHits","_facetHits","facetHit","label","count","_highlightResult","highlighted","every","postResolve","originalSourcesBySourceId","sourcesBySourceId","_nextState$isOpen2","isPanelOpen","highlightedItem","getAutocompleteElementId","autocompleteInstanceId","elementId","join","replace","regex","getNativeEvent","nativeEvent","_excluded3","_excluded4","_excluded5","_excluded6","getPropGetters","getEnvironmentProps","providedProps","inputElement","formElement","panelElement","onMouseDownOrTouchStart","isEmpty","contextNode","parent","child","contains","dispatch","cancelAll","onTouchStart","onMouseDown","onTouchMove","activeElement","blur","getRootProps","rest","role","getFormProps","action","noValidate","_providedProps$inputE","preventDefault","_providedProps$inputE2","getLabelProps","htmlFor","getInputProps","_props$environment$na","onFocus","userAgent","_ref3$maxLength","maxLength","activeItem","shouldFallbackKeyHint","match","autoComplete","autoCorrect","autoCapitalize","spellCheck","type","onChange","currentTarget","isComposing","onCompositionEnd","onKeyDown","triggerScrollIntoView","nodeItem","getElementById","scrollIntoViewIfNeeded","scrollIntoView","triggerOnActive","nextActiveItemId","metaKey","ctrlKey","shiftKey","altKey","onBlur","onClick","getPanelProps","onMouseLeave","getListProps","getItemProps","__autocomplete_id","onMouseMove","_item","_source","getMetadata","_","_options$__autocomple","_options$__autocomple2","_options$__autocomple3","optionsKey","__autocomplete_metadata","userAgents","segment","extraOptions","ua","getCompletion","_getActiveItem","getNextActiveItemId","moveAmount","baseIndex","itemCount","numericIndex","stateReducer","hasOwnProperty","_nextState","createAutocomplete","subscribers","reducer","onStoreStateChange","list","prevState","cancelablePromise","createStore","_state$context","_state$context$algoli","isAlgoliaInsightsPluginEnabled","subscribePlugins","rawValue","baseItemId","getAutocompleteSetters","propGetters","Event","_plugin$subscribe","insightsParams","_environment$navigato","_environment$navigato2","metadata","metadataContainer","headRef","querySelector","content","injectMetadata","t","s","r","e","u","h","p","Map","get","this","set","l","SearchIcon","element","createElementNS","setAttribute","path","ClearIcon","LoadingIcon","innerHTML","TOUCH_EVENTS_ALIASES","setStyle","style","eventProxy","_listeners","setProperty","dom","useCapture","nameLower","oldValue","toLowerCase","addEventListener","removeEventListener","removeAttribute","getNormalizedName","setProperties","setPropertiesWithoutEvents","getCreateDomElement","tagName","_ref$children","children","append","Input","autocompleteScopeApi","classNames","getInputPropsCore","isDetached","createDomElement","inputProps","f","c","v","y","d","w","parentNode","removeChild","g","defaultProps","m","ref","__k","__","__b","__e","__c","__v","__i","__u","vnode","k","C","S","base","M","__d","P","__r","debounceRendering","sort","shift","__P","j","__n","namespaceURI","z","$","I","V","A","nextSibling","L","q","insertBefore","nodeType","T","F","cssText","O","H","render","contextType","__E","B","sub","__h","_sb","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","N","diffed","localName","createTextNode","is","__m","data","childNodes","attributes","__html","unmount","componentWillUnmount","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","bind","parseAttribute","preTagParts","highlightedValue","firstValue","parts","part","lastPart","isHighlighted","createAttributeSet","postTagParts","parseAlgoliaHitHighlight","attribute","getAttributeValueByPath","createHighlightComponent","Fragment","Highlight","_ref2$tagName","__autocomplete_componentName","htmlEscapes","hasAlphanumeric","RegExp","regexEscapedHtml","regexHasEscapedHtml","isPartHighlighted","_parts","_parts2","isNextHighlighted","isPreviousHighlighted","character","reverseHighlightedParts","createReverseHighlightComponent","ReverseHighlight","parseAlgoliaHitSnippet","createReverseSnippetComponent","ReverseSnippet","createSnippetComponent","Snippet","getHTMLElement","mergeClassNames","accValue","currentValue","defaultClassNames","clearButton","detachedCancelButton","detachedContainer","detachedFormContainer","detachedOverlay","detachedSearchButton","detachedSearchButtonIcon","detachedSearchButtonPlaceholder","detachedSearchButtonQuery","form","inputWrapper","inputWrapperPrefix","inputWrapperSuffix","loadingIndicator","panel","panelLayout","root","sourceFooter","sourceHeader","sourceNoResults","submitButton","defaultRender","defaultRenderer","documentElement","firstChild","getPanelPlacementStyle","panelPlacement","containerRect","getBoundingClientRect","top","pageYOffset","scrollTop","height","left","right","clientWidth","width","maxWidth","formRect","_extends","isPlainObject","mergeDeep","autocomplete","reactives","_createEffectWrapper","effects","cleanups","runEffect","effectCleanup","cleanupEffects","currentCleanups","cleanup","runEffects","currentEffects","effect","createEffectWrapper","_createReactiveWrappe","reactive","_fn","runReactives","hasNoResultsSourceTemplateRef","optionsRef","onStateChangeRef","_core$id","panelContainer","renderNoResults","renderer","detachedMediaQuery","components","translations","core","containerElement","defaultedRenderer","defaultComponents","getComputedStyle","getPropertyValue","clearButtonTitle","detachedCancelButtonText","detachedSearchButtonTitle","submitButtonTitle","getDefaultOptions","matchMedia","_onStateChangeRef$cur","_props$value$core$onS","_props$value$core","templates","noResults","hasItems","hasNoResultsTemplate","lastStateRef","html","_ref$placeholder","setIsModalOpen","rootProps","class","stopPropagation","labelProps","title","ariaLabel","formProps","panelProps","textContent","hidden","createAutocompleteDom","setPanelPosition","scheduleRender","renderProps","renderSearchBox","classList","toggle","sections","sourceIndex","className","header","itemProps","footer","elements","renderPanel","update","updatedOptions","predicate","_props$value$renderer","rendererProps","entries","remove","environmentProps","panelContainerElement","debouncedRender","querySelectorAll","scrollablePanel","onResize","previousIsDetached","requestAnimationFrame","toggleModalClassname","isActive","isModalDetachedMql","hasModernEventListener","addListener","removeListener","destroy","createAlgoliaRequester","fetcherParams","_ref$userAgents","addAlgoliaAgent","_getAppIdAndApiKey","transporter","baseHeaders","queryParameters","baseQueryParameters","APP_ID","API_KEY","getAppIdAndApiKey","search","searchParameters","hitsPerPage","highlightPreTag","highlightPostTag","resultIndex","_result$hits","fetchAlgoliaResults","_fetcherParams$reques","requesterParams","requestParams","createRequester","getAlgoliaResults","defaultTranslations","fillQueryTitle","text","getTemplates","onTapAhead","__autocomplete_qsCategory","viewBox","fill","createQuerySuggestionsPlugin","getSearchParams","transformSource","itemsWithCategories","categoriesPerItem","categoryAttribute","querySuggestionsHits","itemsWithCategoriesAdded","categories","_step","_iterator","allowArrayLike","it","normalCompletion","didErr","step","_e2","_createForOfIteratorHelper","category","LOCAL_STORAGE_KEY","LOCAL_STORAGE_KEY_TEST","removeSearchTitle","onRemove","getDefaultSubscribe","inputValue","recentItem","addItem","addHighlightedAttribute","limit","createLocalStorageRecentSearchesPlugin","storage","localStorage","setItem","removeItem","isLocalStorageSupported","getItem","parse","getLocalStorage","onAdd","getAll","createLocalStorage","createStorageApi","lastItemsRef","getAlgoliaSearchParams","_params$facetFilters","_params$hitsPerPage","facetFilters","Math","max","createRecentSearchesPlugin","HIGHLIGHT_PRE_TAG","HIGHLIGHT_POST_TAG","initialValue","record","condition","message"],"sourceRoot":""}