{"version":3,"file":"3763.js?v=b29494165600f8642ff5","mappings":"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","sources":["webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/debounce.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/isEqual.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/noop.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createClickedEvent.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/isModernInsightsClient.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createSearchInsightsApi.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createViewedEvents.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/isAlgoliaInsightsHit.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createAlgoliaInsightsPlugin.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/safelyRunOnBrowser.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/createStore.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromiseList.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/flatten.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/getAutocompleteSetters.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/getItemsCount.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/generateAutocompleteId.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/decycle.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/utils/getNormalizedSources.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/getDefaultProps.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/reshape.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/resolve.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromise.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/utils/getActiveItem.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/onInput.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/utils/createConcurrentSafePromise.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/utils/getAutocompleteElementId.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/onKeyDown.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/utils/isSamsung.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/utils/getNativeEvent.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/getPropGetters.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/utils/isOrContainsNode.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/metadata.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/getCompletion.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/utils/getNextActiveItemId.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/stateReducer.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-core/dist/esm/createAutocomplete.js","webpack://RdoWeb/./node_modules/htm/dist/htm.module.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/elements/SearchIcon.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/elements/ClearIcon.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/elements/LoadingIcon.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/utils/setProperties.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/getCreateDomElement.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/elements/Input.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/createAutocompleteDom.js","webpack://RdoWeb/./node_modules/preact/dist/preact.module.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAttribute.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitHighlight.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/components/Highlight.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/isPartHighlighted.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/reverseHighlightedParts.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/components/ReverseHighlight.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseHighlight.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitSnippet.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/components/ReverseSnippet.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseSnippet.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/components/Snippet.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/utils/getHTMLElement.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/utils/mergeClassNames.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/getDefaultOptions.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/getPanelPlacementStyle.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/render.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/utils/mergeDeep.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/utils/pickBy.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/autocomplete.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/createReactiveWrapper.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/createEffectWrapper.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/userAgents.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/requester/createRequester.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/search/fetchAlgoliaResults.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/requesters/createAlgoliaRequester.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/utils/getAppIdAndApiKey.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-js/dist/esm/requesters/getAlgoliaResults.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-query-suggestions/dist/esm/getTemplates.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-query-suggestions/dist/esm/createQuerySuggestionsPlugin.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/constants.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/getLocalStorage.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createLocalStorage.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/getTemplates.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createRecentSearchesPlugin.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createStorageApi.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/addHighlightedAttribute.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/search.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createLocalStorageRecentSearchesPlugin.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/constants/index.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/createRef.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/getAttributeValueByPath.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/invariant.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/userAgents.js","webpack://RdoWeb/./node_modules/@algolia/autocomplete-shared/dist/esm/version.js","webpack://RdoWeb/./node_modules/vue-click-outside/index.js","webpack://RdoWeb/./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.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 var isAuthenticatedToken = false;\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 if (!isAuthenticatedToken) {\n setInsightsContext(userToken);\n }\n });\n insightsClient('getUserToken', null, function (_error, userToken) {\n if (!isAuthenticatedToken) {\n setInsightsContext(userToken);\n }\n });\n\n // Handles authenticated user token changes\n insightsClient('onAuthenticatedUserTokenChange', function (authenticatedUserToken) {\n if (authenticatedUserToken) {\n isAuthenticatedToken = true;\n setInsightsContext(authenticatedUserToken);\n } else {\n isAuthenticatedToken = false;\n insightsClient('getUserToken', null, function (_error, userToken) {\n return setInsightsContext(userToken);\n });\n }\n });\n insightsClient('getAuthenticatedUserToken', null, function (_error, authenticatedUserToken) {\n if (authenticatedUserToken) {\n isAuthenticatedToken = true;\n setInsightsContext(authenticatedUserToken);\n }\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 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}","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}","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}","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}","/**\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-owns': 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}","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,o,r,f,e,c,s,a,h={},p=[],v=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function w(n){var l=n.parentNode;l&&l.removeChild(n)}function _(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return g(l,f,i,o,null)}function g(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u:r,__i:-1,__u:0};return null==r&&null!=l.vnode&&l.vnode(f),f}function m(){return{current:null}}function k(n){return n.children}function b(n,l){this.props=n,this.context=l}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;lu&&i.sort(f));P.__r=0}function S(n,l,u,t,i,o,r,f,e,c,s){var a,v,y,d,w,_=t&&t.__k||p,g=l.length;for(u.__d=e,$(u,l,_),e=u.__d,a=0;a0?g(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=L(i,u,r,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,\"function\"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f==r-1?a--:f==r+1?a++:f>r?s>e-r?a+=f-r:a--:f(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--}if(f2&&(e.children=arguments.length>3?n.call(arguments,2):t),g(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+a++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,M(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=p.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},b.prototype.render=k,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},P.__r=0,e=0,c=F(!1),s=F(!0),a=0;export{b as Component,k as Fragment,E as cloneElement,G as createContext,_ as createElement,m as createRef,_ as h,D as hydrate,t as isValidElement,l as options,B 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}","import { version } from '@algolia/autocomplete-shared';\nexport var userAgents = [{\n segment: 'autocomplete-js',\n version: version\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});","/** @jsxRuntime classic */\n/** @jsx createElement */\n\nexport function getTemplates(_ref) {\n var onTapAhead = _ref.onTapAhead;\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 className: \"aa-ItemActionButton\",\n title: \"Fill query with \\\"\".concat(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 { 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 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 })\n },\n onTapAhead: onTapAhead,\n state: state\n })];\n },\n __autocomplete_pluginOptions: options\n };\n}\nfunction getOptions(options) {\n return _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}","export var LOCAL_STORAGE_KEY = 'AUTOCOMPLETE_RECENT_SEARCHES';\nexport var LOCAL_STORAGE_KEY_TEST = '__AUTOCOMPLETE_RECENT_SEARCHES_PLUGIN_TEST_KEY__';","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}","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 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 className: \"aa-ItemActionButton\",\n title: \"Remove this search\",\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 className: \"aa-ItemActionButton\",\n title: \"Fill query with \\\"\".concat(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 { 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 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 })\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({\n transformSource: function transformSource(_ref6) {\n var source = _ref6.source;\n return source;\n }\n }, options);\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}","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 { 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 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 });\n return _objectSpread(_objectSpread({}, recentSearchesPlugin), {}, {\n name: 'aa.localStorageRecentSearchesPlugin',\n __autocomplete_pluginOptions: options\n });\n}\nfunction getOptions(options) {\n return _objectSpread({\n limit: 5,\n search: defaultSearch,\n transformSource: function transformSource(_ref) {\n var source = _ref.source;\n return source;\n }\n }, options);\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.4';","function validate(binding) {\n if (typeof binding.value !== 'function') {\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\n return false\n }\n\n return true\n}\n\nfunction isPopup(popupItem, elements) {\n if (!popupItem || !elements)\n return false\n\n for (var i = 0, len = elements.length; i < len; i++) {\n try {\n if (popupItem.contains(elements[i])) {\n return true\n }\n if (elements[i].contains(popupItem)) {\n return false\n }\n } catch(e) {\n return false\n }\n }\n\n return false\n}\n\nfunction isServer(vNode) {\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\n}\n\nexports = module.exports = {\n bind: function (el, binding, vNode) {\n if (!validate(binding)) return\n\n // Define Handler and cache it on the element\n function handler(e) {\n if (!vNode.context) return\n\n // some components may have related popup item, on which we shall prevent the click outside event handler.\n var elements = e.path || (e.composedPath && e.composedPath())\n elements && elements.length > 0 && elements.unshift(e.target)\n\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\n\n el.__vueClickOutside__.callback(e)\n }\n\n // add Event Listeners\n el.__vueClickOutside__ = {\n handler: handler,\n callback: binding.value\n }\n const clickHandler = 'ontouchstart' in document.documentElement ? 'touchstart' : 'click';\n !isServer(vNode) && document.addEventListener(clickHandler, handler)\n },\n\n update: function (el, binding) {\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\n },\n\n unbind: function (el, binding, vNode) {\n // Remove Event Listeners\n const clickHandler = 'ontouchstart' in document.documentElement ? 'touchstart' : 'click';\n !isServer(vNode) && el.__vueClickOutside__ && document.removeEventListener(clickHandler, el.__vueClickOutside__.handler)\n delete el.__vueClickOutside__\n }\n}\n","function _taggedTemplateLiteral(e, t) {\n return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {\n raw: {\n value: Object.freeze(t)\n }\n }));\n}\nexport { _taggedTemplateLiteral as default };"],"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","_slicedToArray","arr","i","isArray","_arrayWithHoles","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","call","next","done","push","value","err","return","_iterableToArrayLimit","o","minLen","_arrayLikeToArray","n","prototype","toString","slice","constructor","name","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","_excluded","_excluded2","_typeof","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","_objectWithoutProperties","source","excluded","target","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","arg","input","hint","prim","toPrimitive","res","String","Number","_toPrimitive","_toPropertyKey","configurable","writable","mapToInsightsParamsApi","params","map","param","objectIDs","_ref2","createSearchInsightsApi","searchInsights","_split$map2","major","minor","canSendHeaders","version","split","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","callback","window","safelyRunOnBrowser","pointer","AlgoliaAnalyticsObject","queue","environment","errorMessage","script","document","createElement","async","src","onerror","console","error","body","appendChild","cause","loadInsights","partial","previousItems","createRef","debouncedOnStateChange","isOpen","collections","subscribe","setContext","isAuthenticatedToken","setInsightsContext","algoliaInsightsPlugin","__algoliaSearchParameters","clickAnalytics","normalizeUserToken","_error","getItems","_ref6","onStateChange","_ref7","__autocomplete_pluginOptions","_context$algoliaInsig","__automaticInsights","createStore","reducer","props","onStoreStateChange","list","initialState","getState","dispatch","action","prevState","type","pendingRequests","add","cancelablePromise","finally","cancelAll","promise","cancel","isEmpty","flatten","values","a","b","getItemsCount","sum","collection","autocompleteId","generateAutocompleteId","decycle","Set","getDefaultProps","pluginSubscribers","_props$id","plugins","debug","openOnFocus","enterKeyHint","ignoreCompositionEvents","placeholder","autoFocus","defaultActiveItemId","stallThreshold","shouldPanelOpen","reshape","sources","id","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","preResolve","itemsOrDescription","description","contextParameters","requesterId","_state$context$key","requests","queries","transformResponse","searchClient","container","find","_container$items","request","maybeDescription","responses","postResolve","store","rawResults","matches","response","results","transform","hits","result","facetHits","_facetHits","facetHit","label","count","_highlightResult","highlighted","every","createInternalCancelablePromise","onfulfilled","onrejected","createCallback","catch","onfinally","onCancelList","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","setters","setCollections","setQuery","setActiveItemId","setStatus","_nextState$isOpen","_request","_store$getState$conte","some","_automaticInsights","isSearchResponseWithAutomaticInsightsFlag","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","contextNode","parent","child","contains","onTouchStart","onMouseDown","onTouchMove","activeElement","blur","getRootProps","rest","role","getFormProps","noValidate","_providedProps$inputE","preventDefault","_providedProps$inputE2","getLabelProps","htmlFor","getInputProps","_props$environment$na","onFocus","_ref3$maxLength","maxLength","activeItem","shouldFallbackKeyHint","userAgent","match","isSamsung","autoComplete","autoCorrect","autoCapitalize","spellCheck","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","_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","defaultProps","g","ref","__k","__","__b","__e","__d","__c","__v","__i","__u","vnode","k","C","base","M","P","__r","debounceRendering","sort","shift","__P","O","__n","namespaceURI","j","S","$","N","I","nextSibling","L","V","insertBefore","nodeType","T","A","cssText","F","m","H","render","contextType","__E","q","sub","__h","_sb","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","z","diffed","localName","createTextNode","is","data","childNodes","attributes","__html","unmount","componentWillUnmount","B","firstChild","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","getPanelPlacementStyle","panelPlacement","containerRect","getBoundingClientRect","top","pageYOffset","documentElement","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","fetcher","fetcherParams","_fetcherParams$reques","requesterParams","requestParams","createRequester","_ref$userAgents","addAlgoliaAgent","_getAppIdAndApiKey","transporter","baseHeaders","queryParameters","baseQueryParameters","APP_ID","getAppIdAndApiKey","search","searchParameters","hitsPerPage","highlightPreTag","highlightPostTag","resultIndex","_result$hits","fetchAlgoliaResults","getAlgoliaResults","getTemplates","onTapAhead","__autocomplete_qsCategory","viewBox","fill","_createForOfIteratorHelper","allowArrayLike","it","normalCompletion","didErr","step","_e2","createQuerySuggestionsPlugin","getSearchParams","transformSource","itemsWithCategories","categoriesPerItem","categoryAttribute","querySuggestionsHits","itemsWithCategoriesAdded","categories","_step","_iterator","category","LOCAL_STORAGE_KEY","LOCAL_STORAGE_KEY_TEST","getLocalStorage","localStorage","setItem","removeItem","isLocalStorageSupported","getItem","parse","onRemove","getDefaultSubscribe","inputValue","recentItem","addItem","createRecentSearchesPlugin","storage","onAdd","getAll","createStorageApi","lastItemsRef","getAlgoliaSearchParams","_params$facetFilters","_params$hitsPerPage","facetFilters","Math","max","addHighlightedAttribute","limit","createLocalStorageRecentSearchesPlugin","createLocalStorage","HIGHLIGHT_PRE_TAG","HIGHLIGHT_POST_TAG","initialValue","record","condition","message","validate","binding","warn","expression","isServer","vNode","componentInstance","$isServer","module","exports","el","handler","composedPath","unshift","popupItem","isPopup","__vueClickOutside__","clickHandler","unbind","_taggedTemplateLiteral","freeze","raw"],"sourceRoot":""}