{"version":3,"file":"autocompletemain.build.js","mappings":"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","sources":["webpack:///./node_modules/algoliasearch/dist/algoliasearch-lite.umd.js","webpack:///./node_modules/@algolia/autocomplete-theme-classic/dist/theme.min.css","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/nonce","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/debounce.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/createRef.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/isEqual.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/noop.js","webpack:///./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createClickedEvent.js","webpack:///./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/isModernInsightsClient.js","webpack:///./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createSearchInsightsApi.js","webpack:///./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createViewedEvents.js","webpack:///./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/isAlgoliaInsightsHit.js","webpack:///./node_modules/@algolia/autocomplete-plugin-algolia-insights/dist/esm/createAlgoliaInsightsPlugin.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/safelyRunOnBrowser.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/createStore.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/flatten.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/getAutocompleteSetters.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/getItemsCount.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/generateAutocompleteId.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/getNormalizedSources.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/getDefaultProps.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/reshape.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/resolve.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromise.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/getActiveItem.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/onInput.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/createConcurrentSafePromise.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/getAutocompleteElementId.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/onKeyDown.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/isSamsung.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/getNativeEvent.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/getPropGetters.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/isOrContainsNode.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/version.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/userAgents.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/metadata.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/getCompletion.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/getNextActiveItemId.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/stateReducer.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/createAutocomplete.js","webpack:///./node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromiseList.js","webpack:///./node_modules/htm/dist/htm.module.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/elements/SearchIcon.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/elements/ClearIcon.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/elements/LoadingIcon.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/utils/setProperties.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/getCreateDomElement.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/elements/Input.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/createAutocompleteDom.js","webpack:///./node_modules/preact/dist/preact.module.js","webpack:///./node_modules/@algolia/autocomplete-shared/dist/esm/getAttributeValueByPath.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/constants/index.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAttribute.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitHighlight.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/components/Highlight.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/isPartHighlighted.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/reverseHighlightedParts.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/components/ReverseHighlight.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseHighlight.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitSnippet.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/components/ReverseSnippet.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseSnippet.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/components/Snippet.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/utils/getHTMLElement.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/utils/mergeClassNames.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/getDefaultOptions.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/getPanelPlacementStyle.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/render.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/userAgents.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/utils/mergeDeep.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/utils/pickBy.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/autocomplete.js","webpack:///./node_modules/ramda/es/internal/_arity.js","webpack:///./node_modules/ramda/es/internal/_pipe.js","webpack:///./node_modules/ramda/es/internal/_isPlaceholder.js","webpack:///./node_modules/ramda/es/internal/_curry1.js","webpack:///./node_modules/ramda/es/internal/_curry2.js","webpack:///./node_modules/ramda/es/internal/_curry3.js","webpack:///./node_modules/ramda/es/internal/_isArray.js","webpack:///./node_modules/ramda/es/internal/_isArrayLike.js","webpack:///./node_modules/ramda/es/internal/_isString.js","webpack:///./node_modules/ramda/es/internal/_createReduce.js","webpack:///./node_modules/ramda/es/internal/_xArrayReduce.js","webpack:///./node_modules/ramda/es/bind.js","webpack:///./node_modules/ramda/es/internal/_xReduce.js","webpack:///./node_modules/ramda/es/internal/_xwrap.js","webpack:///./node_modules/ramda/es/reduce.js","webpack:///./node_modules/ramda/es/internal/_checkForMethod.js","webpack:///./node_modules/ramda/es/tail.js","webpack:///./node_modules/ramda/es/slice.js","webpack:///./res/agolia/functions/normalizeReshapeSources.ts","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/requester/createRequester.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/search/fetchAlgoliaResults.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/requesters/createAlgoliaRequester.js","webpack:///./node_modules/@algolia/autocomplete-preset-algolia/dist/esm/utils/getAppIdAndApiKey.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/requesters/getAlgoliaResults.js","webpack:///./res/agolia/constants.ts","webpack:///./res/agolia/searchClient.ts","webpack:///./res/agolia/plugins/articlesPlugin.tsx","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/requesters/getAlgoliaFacets.js","webpack:///./res/agolia/components/Icons.tsx","webpack:///./node_modules/preact/hooks/dist/hooks.module.js","webpack:///./res/agolia/utils/cx.ts","webpack:///./res/agolia/utils/intersperse.ts","webpack:///./res/agolia/utils/hasSourceActiveItem.ts","webpack:///./res/agolia/components/Breadcrumb.tsx","webpack:///./res/agolia/plugins/brandsPlugin.tsx","webpack:///./res/agolia/plugins/categoriesPlugin.tsx","webpack:///./res/agolia/plugins/faqPlugin.tsx","webpack:///./res/agolia/plugins/popularCategoriesPlugin.tsx","webpack:///./node_modules/@algolia/autocomplete-plugin-query-suggestions/dist/esm/getTemplates.js","webpack:///./node_modules/@algolia/autocomplete-plugin-query-suggestions/dist/esm/createQuerySuggestionsPlugin.js","webpack:///./res/agolia/plugins/popularPlugin.tsx","webpack:///./res/agolia/plugins/productsPlugin.tsx","webpack:///./res/agolia/plugins/querySuggestionsPlugin.tsx","webpack:///./res/agolia/plugins/quickAccessPlugin.tsx","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/constants.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createLocalStorage.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/getTemplates.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createRecentSearchesPlugin.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/addHighlightedAttribute.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/search.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createLocalStorageRecentSearchesPlugin.js","webpack:///./res/agolia/plugins/recentSearchesPlugin.tsx","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/getLocalStorage.js","webpack:///./node_modules/@algolia/autocomplete-plugin-recent-searches/dist/esm/createStorageApi.js","webpack:///./node_modules/@algolia/autocomplete-theme-classic/dist/theme.min.css?9e3f","webpack:///./res/agolia/functions/uniqBy.ts","webpack:///./res/agolia/functions/createFillWith.ts","webpack:///./res/agolia/app.tsx","webpack:///./res/agolia/utils/isDetached.ts","webpack:///./node_modules/ramda/es/pipe.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/createReactiveWrapper.js","webpack:///./node_modules/@algolia/autocomplete-js/dist/esm/createEffectWrapper.js"],"sourcesContent":["/*! algoliasearch-lite.umd.js | 4.24.0 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self).algoliasearch=t()}(this,(function(){\"use strict\";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,a=void 0;try{for(var u,i=e[Symbol.iterator]();!(n=(u=i.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw a}}return r}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}function a(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){i();var t=JSON.stringify(e);return a()[t]})).then((function(e){return Promise.all([e?e.value:t(),void 0!==e])})).then((function(e){var t=o(e,2),n=t[0],a=t[1];return Promise.all([n,a||r.miss(n)])})).then((function(e){return o(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var o=a();return o[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},n().setItem(r,JSON.stringify(o)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=a();delete t[JSON.stringify(e)],n().setItem(r,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function i(e){var t=a(e.caches),r=t.shift();return void 0===r?{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},n=t();return n.then((function(e){return Promise.all([e,r.miss(e)])})).then((function(e){return o(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(e,n,o).catch((function(){return i({caches:t}).get(e,n,o)}))},set:function(e,n){return r.set(e,n).catch((function(){return i({caches:t}).set(e,n)}))},delete:function(e){return r.delete(e).catch((function(){return i({caches:t}).delete(e)}))},clear:function(){return r.clear().catch((function(){return i({caches:t}).clear()}))}}}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(r,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},a=JSON.stringify(r);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);var u=n(),i=o&&o.miss||function(){return Promise.resolve()};return u.then((function(e){return i(e)})).then((function(){return u}))},set:function(r,n){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function c(e){for(var t=e.length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function l(e,t){return t?(Object.keys(t).forEach((function(r){e[r]=t[r](e)})),e):e}function f(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var d={Read:1,Write:2,Any:3},p=1,v=2,g=3;function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;return r(r({},e),{},{status:t,lastUpdate:Date.now()})}function b(e){return\"string\"==typeof e?{protocol:\"https\",url:e,accept:d.Any}:{protocol:e.protocol||\"https\",url:e.url,accept:e.accept||d.Any}}var O=\"GET\",P=\"POST\";function q(e,t){return Promise.all(t.map((function(t){return e.get(t,(function(){return Promise.resolve(y(t))}))}))).then((function(e){var r=e.filter((function(e){return function(e){return e.status===p||Date.now()-e.lastUpdate>12e4}(e)})),n=e.filter((function(e){return function(e){return e.status===g&&Date.now()-e.lastUpdate<=12e4}(e)})),o=[].concat(a(r),a(n));return{getTimeout:function(e,t){return(0===n.length&&0===e?1:n.length+3+e)*t},statelessHosts:o.length>0?o.map((function(e){return b(e)})):t}}))}function j(e,t,n,o){var u=[],i=function(e,t){if(e.method===O||void 0===e.data&&void 0===t.data)return;var n=Array.isArray(e.data)?e.data:r(r({},e.data),t.data);return JSON.stringify(n)}(n,o),s=function(e,t){var n=r(r({},e.headers),t.headers),o={};return Object.keys(n).forEach((function(e){var t=n[e];o[e.toLowerCase()]=t})),o}(e,o),c=n.method,l=n.method!==O?{}:r(r({},n.data),o.data),f=r(r(r({\"x-algolia-agent\":e.userAgent.value},e.queryParameters),l),o.queryParameters),h=0,m=function t(r,a){var l=r.pop();if(void 0===l)throw{name:\"RetryError\",message:\"Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support .\",transporterStackTrace:A(u)};var m={data:i,headers:s,method:c,url:S(l,n.path,f),connectTimeout:a(h,e.timeouts.connect),responseTimeout:a(h,o.timeout)},d=function(e){var t={request:m,response:e,host:l,triesLeft:r.length};return u.push(t),t},p={onSuccess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:\"DeserializationError\",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(n){var o=d(n);return n.isTimedOut&&h++,Promise.all([e.logger.info(\"Retryable failure\",x(o)),e.hostsCache.set(l,y(l,n.isTimedOut?g:v))]).then((function(){return t(r,a)}))},onFail:function(e){throw d(e),function(e,t){var r=e.content,n=e.status,o=r;try{o=JSON.parse(r).message}catch(e){}return function(e,t,r){return{name:\"ApiError\",message:e,status:t,transporterStackTrace:r}}(o,n,t)}(e,A(u))}};return e.requester.send(m).then((function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,r=e.status;return!t&&0==~~r}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSuccess(e):t.onFail(e)}(e,p)}))};return q(e.hostsCache,t).then((function(e){return m(a(e.statelessHosts).reverse(),e.getTimeout)}))}function w(e){var t={value:\"Algolia for JavaScript (\".concat(e,\")\"),add:function(e){var r=\"; \".concat(e.segment).concat(void 0!==e.version?\" (\".concat(e.version,\")\"):\"\");return-1===t.value.indexOf(r)&&(t.value=\"\".concat(t.value).concat(r)),t}};return t}function S(e,t,r){var n=T(r),o=\"\".concat(e.protocol,\"://\").concat(e.url,\"/\").concat(\"/\"===t.charAt(0)?t.substr(1):t);return n.length&&(o+=\"?\".concat(n)),o}function T(e){return Object.keys(e).map((function(t){return f(\"%s=%s\",t,(r=e[t],\"[object Object]\"===Object.prototype.toString.call(r)||\"[object Array]\"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join(\"&\")}function A(e){return e.map((function(e){return x(e)}))}function x(e){var t=e.request.headers[\"x-algolia-api-key\"]?{\"x-algolia-api-key\":\"*****\"}:{};return r(r({},e),{},{request:r(r({},e.request),{},{headers:r(r({},e.request.headers),t)})})}var N=function(e){var t=e.appId,n=function(e,t,r){var n={\"x-algolia-api-key\":r,\"x-algolia-application-id\":t};return{headers:function(){return e===h.WithinHeaders?n:{}},queryParameters:function(){return e===h.WithinQueryParameters?n:{}}}}(void 0!==e.authMode?e.authMode:h.WithinHeaders,t,e.apiKey),a=function(e){var t=e.hostsCache,r=e.logger,n=e.requester,a=e.requestsCache,u=e.responsesCache,i=e.timeouts,s=e.userAgent,c=e.hosts,l=e.queryParameters,f={hostsCache:t,logger:r,requester:n,requestsCache:a,responsesCache:u,timeouts:i,userAgent:s,headers:e.headers,queryParameters:l,hosts:c.map((function(e){return b(e)})),read:function(e,t){var r=m(t,f.timeouts.read),n=function(){return j(f,f.hosts.filter((function(e){return 0!=(e.accept&d.Read)})),e,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();var a={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(a,(function(){return f.requestsCache.get(a,(function(){return f.requestsCache.set(a,n()).then((function(e){return Promise.all([f.requestsCache.delete(a),e])}),(function(e){return Promise.all([f.requestsCache.delete(a),Promise.reject(e)])})).then((function(e){var t=o(e,2);t[0];return t[1]}))}))}),{miss:function(e){return f.responsesCache.set(a,e)}})},write:function(e,t){return j(f,f.hosts.filter((function(e){return 0!=(e.accept&d.Write)})),e,m(t,f.timeouts.write))}};return f}(r(r({hosts:[{url:\"\".concat(t,\"-dsn.algolia.net\"),accept:d.Read},{url:\"\".concat(t,\".algolia.net\"),accept:d.Write}].concat(c([{url:\"\".concat(t,\"-1.algolianet.com\")},{url:\"\".concat(t,\"-2.algolianet.com\")},{url:\"\".concat(t,\"-3.algolianet.com\")}]))},e),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/x-www-form-urlencoded\"}),e.headers),queryParameters:r(r({},n.queryParameters()),e.queryParameters)}));return l({transporter:a,appId:t,addAlgoliaAgent:function(e,t){a.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((function(){}))}},e.methods)},C=function(e){return function(t,r){return t.method===O?e.transporter.read(t,r):e.transporter.write(t,r)}},E=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={transporter:e.transporter,appId:e.appId,indexName:t};return l(n,r.methods)}},J=function(e){return function(t,n){var o=t.map((function(e){return r(r({},e),{},{params:T(e.params||{})})}));return e.transporter.read({method:P,path:\"1/indexes/*/queries\",data:{requests:o},cacheable:!0},n)}},k=function(e){return function(t,o){return Promise.all(t.map((function(t){var a=t.params,u=a.facetName,i=a.facetQuery,s=n(a,[\"facetName\",\"facetQuery\"]);return E(e)(t.indexName,{methods:{searchForFacetValues:F}}).searchForFacetValues(u,i,r(r({},o),s))})))}},I=function(e){return function(t,r,n){return e.transporter.read({method:P,path:f(\"1/answers/%s/prediction\",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n)}},R=function(e){return function(t,r){return e.transporter.read({method:P,path:f(\"1/indexes/%s/query\",e.indexName),data:{query:t},cacheable:!0},r)}},F=function(e){return function(t,r,n){return e.transporter.read({method:P,path:f(\"1/indexes/%s/facets/%s/query\",e.indexName,t),data:{facetQuery:r},cacheable:!0},n)}},D=1,W=2,H=3;var Q=function(e){return function(t,n){var o=t.map((function(e){return r(r({},e),{},{threshold:e.threshold||0})}));return e.transporter.read({method:P,path:\"1/indexes/*/recommendations\",data:{requests:o},cacheable:!0},n)}};function L(e,t,n){var o,a={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise((function(t){var r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return r.setRequestHeader(t,e.headers[t])}));var n,o=function(e,n){return setTimeout((function(){r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e)},a=o(e.connectTimeout,\"Connection timeout\");r.onreadystatechange=function(){r.readyState>r.OPENED&&void 0===n&&(clearTimeout(a),n=o(e.responseTimeout,\"Socket timeout\"))},r.onerror=function(){0===r.status&&(clearTimeout(a),clearTimeout(n),t({content:r.responseText||\"Network request failed\",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(a),clearTimeout(n),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},logger:(o=H,{debug:function(e,t){return D>=o&&console.debug(e,t),Promise.resolve()},info:function(e,t){return W>=o&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:s(),requestsCache:s({serializable:!1}),hostsCache:i({caches:[u({key:\"\".concat(\"4.24.0\",\"-\").concat(e)}),s()]}),userAgent:w(\"4.24.0\").add({segment:\"Browser\",version:\"lite\"}),authMode:h.WithinQueryParameters};return N(r(r(r({},a),n),{},{methods:{search:J,searchForFacetValues:k,multipleQueries:J,multipleSearchForFacetValues:k,customRequest:C,initIndex:function(e){return function(t){return E(e)(t,{methods:{search:R,searchForFacetValues:F,findAnswers:I}})}},getRecommendations:Q}}))}return L.version=\"4.24.0\",L}));\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*! @algolia/autocomplete-theme-classic 1.17.4 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */\n:root{--aa-search-input-height:44px;--aa-input-icon-size:20px;--aa-base-unit:16;--aa-spacing-factor:1;--aa-spacing:calc(var(--aa-base-unit)*var(--aa-spacing-factor)*1px);--aa-spacing-half:calc(var(--aa-spacing)/2);--aa-panel-max-height:650px;--aa-base-z-index:9999;--aa-font-size:calc(var(--aa-base-unit)*1px);--aa-font-family:inherit;--aa-font-weight-medium:500;--aa-font-weight-semibold:600;--aa-font-weight-bold:700;--aa-icon-size:20px;--aa-icon-stroke-width:1.6;--aa-icon-color-rgb:119,119,163;--aa-icon-color-alpha:1;--aa-action-icon-size:20px;--aa-text-color-rgb:38,38,39;--aa-text-color-alpha:1;--aa-primary-color-rgb:62,52,211;--aa-primary-color-alpha:0.2;--aa-muted-color-rgb:128,126,163;--aa-muted-color-alpha:0.6;--aa-panel-border-color-rgb:128,126,163;--aa-panel-border-color-alpha:0.3;--aa-input-border-color-rgb:128,126,163;--aa-input-border-color-alpha:0.8;--aa-background-color-rgb:255,255,255;--aa-background-color-alpha:1;--aa-input-background-color-rgb:255,255,255;--aa-input-background-color-alpha:1;--aa-selected-color-rgb:179,173,214;--aa-selected-color-alpha:0.205;--aa-description-highlight-background-color-rgb:245,223,77;--aa-description-highlight-background-color-alpha:0.5;--aa-detached-media-query:(max-width:680px);--aa-detached-modal-media-query:(min-width:680px);--aa-detached-modal-max-width:680px;--aa-detached-modal-max-height:500px;--aa-overlay-color-rgb:115,114,129;--aa-overlay-color-alpha:0.4;--aa-panel-shadow:0 0 0 1px rgba(35,38,59,0.1),0 6px 16px -4px rgba(35,38,59,0.15);--aa-scrollbar-width:13px;--aa-scrollbar-track-background-color-rgb:234,234,234;--aa-scrollbar-track-background-color-alpha:1;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb);--aa-scrollbar-thumb-background-color-alpha:1}@media (hover:none) and (pointer:coarse){:root{--aa-spacing-factor:1.2;--aa-action-icon-size:22px}}body.dark,body[data-theme=dark]{--aa-text-color-rgb:183,192,199;--aa-primary-color-rgb:146,138,255;--aa-muted-color-rgb:146,138,255;--aa-input-background-color-rgb:0,3,9;--aa-background-color-rgb:21,24,42;--aa-selected-color-rgb:146,138,255;--aa-selected-color-alpha:0.25;--aa-description-highlight-background-color-rgb:0 255 255;--aa-description-highlight-background-color-alpha:0.25;--aa-icon-color-rgb:119,119,163;--aa-panel-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--aa-scrollbar-track-background-color-rgb:44,46,64;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb)}.aa-Autocomplete *,.aa-DetachedFormContainer *,.aa-Panel *{box-sizing:border-box}.aa-Autocomplete,.aa-DetachedFormContainer,.aa-Panel{color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-family:inherit;font-family:var(--aa-font-family);font-size:calc(16 * 1px);font-size:var(--aa-font-size);font-weight:400;line-height:1em;margin:0;padding:0;text-align:left}.aa-Form{align-items:center;background-color:rgba(255, 255, 255,1);background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128, 126, 163,0.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;display:flex;line-height:1em;margin:0;position:relative;width:100%}.aa-Form:focus-within{border-color:rgba(62, 52, 211,1);border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:rgba(62, 52, 211,0.2) 0 0 0 2px,inset rgba(62, 52, 211,0.2) 0 0 0 2px;box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-InputWrapperPrefix{align-items:center;display:flex;flex-shrink:0;height:44px;height:var(--aa-search-input-height);order:1}.aa-Label,.aa-LoadingIndicator{cursor:auto;flex-shrink:0;height:100%;padding:0;text-align:left}.aa-Label svg,.aa-LoadingIndicator svg{color:rgba(62, 52, 211,1);color:rgba(var(--aa-primary-color-rgb),1);height:auto;max-height:20px;max-height:var(--aa-input-icon-size);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-input-icon-size)}.aa-LoadingIndicator,.aa-SubmitButton{height:100%;padding-left:calc((16 * 1 * 1px)*0.75 - 1px);padding-left:calc(calc(16 * 1 * 1px)*0.75 - 1px);padding-left:calc(var(--aa-spacing)*0.75 - 1px);padding-right:calc((16 * 1 * 1px) / 2);padding-right:calc(calc(16 * 1 * 1px) / 2);padding-right:var(--aa-spacing-half);width:calc((16 * 1 * 1px)*1.75 + 20px - 1px);width:calc(calc(16 * 1 * 1px)*1.75 + 20px - 1px);width:calc(var(--aa-spacing)*1.75 + var(--aa-icon-size) - 1px)}@media (hover:none) and (pointer:coarse){.aa-LoadingIndicator,.aa-SubmitButton{padding-left:calc(((16 * 1 * 1px) / 2)/2 - 1px);padding-left:calc(calc(calc(16 * 1 * 1px) / 2)/2 - 1px);padding-left:calc(var(--aa-spacing-half)/2 - 1px);width:calc(20px + (16 * 1 * 1px)*1.25 - 1px);width:calc(20px + calc(16 * 1 * 1px)*1.25 - 1px);width:calc(var(--aa-icon-size) + var(--aa-spacing)*1.25 - 1px)}}.aa-SubmitButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;margin:0}.aa-LoadingIndicator{align-items:center;display:flex;justify-content:center}.aa-LoadingIndicator[hidden]{display:none}.aa-InputWrapper{order:3;position:relative;width:100%}.aa-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font:inherit;height:44px;height:var(--aa-search-input-height);padding:0;width:100%}.aa-Input::-moz-placeholder{color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input::placeholder{color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input:focus{border-color:none;box-shadow:none;outline:none}.aa-Input::-webkit-search-cancel-button,.aa-Input::-webkit-search-decoration,.aa-Input::-webkit-search-results-button,.aa-Input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.aa-InputWrapperSuffix{align-items:center;display:flex;height:44px;height:var(--aa-search-input-height);order:4}.aa-ClearButton{align-items:center;background:none;border:0;color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;height:100%;margin:0;padding:0 calc((16 * 1 * 1px)*0.83333 - .5px);padding:0 calc(calc(16 * 1 * 1px)*0.83333 - .5px);padding:0 calc(var(--aa-spacing)*0.83333 - .5px)}@media (hover:none) and (pointer:coarse){.aa-ClearButton{padding:0 calc((16 * 1 * 1px)*0.66667 - .5px);padding:0 calc(calc(16 * 1 * 1px)*0.66667 - .5px);padding:0 calc(var(--aa-spacing)*0.66667 - .5px)}}.aa-ClearButton:focus,.aa-ClearButton:hover{color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}.aa-ClearButton[hidden]{display:none}.aa-ClearButton svg{stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-icon-size)}.aa-Panel{background-color:rgba(255, 255, 255,1);background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:calc((16 * 1 * 1px)/4);border-radius:calc(calc(16 * 1 * 1px)/4);border-radius:calc(var(--aa-spacing)/4);box-shadow:0 0 0 1px rgba(35, 38, 59, 0.1),\n 0 6px 16px -4px rgba(35, 38, 59, 0.15);box-shadow:var(--aa-panel-shadow);margin:8px 0 0;overflow:hidden;position:absolute;transition:opacity .2s ease-in,filter .2s ease-in}@media screen and (prefers-reduced-motion){.aa-Panel{transition:none}}.aa-Panel button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;margin:0;padding:0}.aa-PanelLayout{height:100%;margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-y:auto;padding:0;position:relative;text-align:left}.aa-PanelLayoutColumns--twoGolden{display:grid;grid-template-columns:39.2% auto;overflow:hidden;padding:0}.aa-PanelLayoutColumns--two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;padding:0}.aa-PanelLayoutColumns--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;padding:0}.aa-Panel--stalled .aa-Source{filter:grayscale(1);opacity:.8}.aa-Panel--scrollable{margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-x:hidden;overflow-y:auto;padding:calc((16 * 1 * 1px) / 2);padding:calc(calc(16 * 1 * 1px) / 2);padding:var(--aa-spacing-half);scrollbar-color:rgba(255, 255, 255,1) rgba(234, 234, 234,1);scrollbar-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha)) rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));scrollbar-width:thin}.aa-Panel--scrollable::-webkit-scrollbar{width:13px;width:var(--aa-scrollbar-width)}.aa-Panel--scrollable::-webkit-scrollbar-track{background-color:rgba(234, 234, 234,1);background-color:rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha))}.aa-Panel--scrollable::-webkit-scrollbar-thumb{background-color:rgba(255, 255, 255,1);background-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha));border-radius:9999px;border:3px solid rgba(234, 234, 234,1);border:3px solid rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));border-right-width:2px}.aa-Source{margin:0;padding:0;position:relative;width:100%}.aa-Source:empty{display:none}.aa-SourceNoResults{font-size:1em;margin:0;padding:calc(16 * 1 * 1px);padding:var(--aa-spacing)}.aa-List{list-style:none;margin:0}.aa-List,.aa-SourceHeader{padding:0;position:relative}.aa-SourceHeader{margin:calc((16 * 1 * 1px) / 2) .5em calc((16 * 1 * 1px) / 2) 0;margin:calc(calc(16 * 1 * 1px) / 2) .5em calc(calc(16 * 1 * 1px) / 2) 0;margin:var(--aa-spacing-half) .5em var(--aa-spacing-half) 0}.aa-SourceHeader:empty{display:none}.aa-SourceHeaderTitle{background:rgba(255, 255, 255,1);background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));color:rgba(62, 52, 211,1);color:rgba(var(--aa-primary-color-rgb),1);display:inline-block;font-size:.8em;font-weight:600;font-weight:var(--aa-font-weight-semibold);margin:0;padding:0 calc((16 * 1 * 1px) / 2) 0 0;padding:0 calc(calc(16 * 1 * 1px) / 2) 0 0;padding:0 var(--aa-spacing-half) 0 0;position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-SourceHeaderLine{border-bottom:1px solid rgba(62, 52, 211,1);border-bottom:1px solid rgba(var(--aa-primary-color-rgb),1);display:block;height:2px;left:0;margin:0;opacity:.3;padding:0;position:absolute;right:0;top:calc((16 * 1 * 1px) / 2);top:calc(calc(16 * 1 * 1px) / 2);top:var(--aa-spacing-half);z-index:calc(9999 - 1);z-index:calc(var(--aa-base-z-index) - 1)}.aa-SourceFooterSeeAll{background:linear-gradient(180deg,rgba(255, 255, 255,1),rgba(128,126,163,.14));background:linear-gradient(180deg,rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha)),rgba(128,126,163,.14));border:1px solid rgba(128, 126, 163,0.6);border:1px solid rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));border-radius:5px;box-shadow:inset 0 0 2px #fff,0 2px 2px -1px rgba(76,69,88,.15);color:inherit;font-size:.95em;font-weight:500;font-weight:var(--aa-font-weight-medium);padding:.475em 1em .6em;-webkit-text-decoration:none;text-decoration:none}.aa-SourceFooterSeeAll:focus,.aa-SourceFooterSeeAll:hover{border:1px solid rgba(62, 52, 211,1);border:1px solid rgba(var(--aa-primary-color-rgb),1);color:rgba(62, 52, 211,1);color:rgba(var(--aa-primary-color-rgb),1)}.aa-Item{align-items:center;border-radius:3px;cursor:pointer;display:grid;min-height:calc((16 * 1 * 1px)*2.5);min-height:calc(calc(16 * 1 * 1px)*2.5);min-height:calc(var(--aa-spacing)*2.5);padding:calc(((16 * 1 * 1px) / 2)/2);padding:calc(calc(calc(16 * 1 * 1px) / 2)/2);padding:calc(var(--aa-spacing-half)/2)}.aa-Item[aria-selected=true]{background-color:rgba(179, 173, 214,0.205);background-color:rgba(var(--aa-selected-color-rgb),var(--aa-selected-color-alpha))}.aa-Item[aria-selected=true] .aa-ActiveOnly,.aa-Item[aria-selected=true] .aa-ItemActionButton{visibility:visible}.aa-ItemIcon{align-items:center;background:rgba(255, 255, 255,1);background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:3px;box-shadow:inset 0 0 0 1px rgba(128, 126, 163,0.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));color:rgba(119, 119, 163,1);color:rgba(var(--aa-icon-color-rgb),var(--aa-icon-color-alpha));display:flex;flex-shrink:0;font-size:.7em;height:calc(20px + ((16 * 1 * 1px) / 2));height:calc(20px + calc(calc(16 * 1 * 1px) / 2));height:calc(var(--aa-icon-size) + var(--aa-spacing-half));justify-content:center;overflow:hidden;stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);text-align:center;width:calc(20px + ((16 * 1 * 1px) / 2));width:calc(20px + calc(calc(16 * 1 * 1px) / 2));width:calc(var(--aa-icon-size) + var(--aa-spacing-half))}.aa-ItemIcon img{height:auto;max-height:calc(20px + ((16 * 1 * 1px) / 2) - 8px);max-height:calc(20px + calc(calc(16 * 1 * 1px) / 2) - 8px);max-height:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);max-width:calc(20px + ((16 * 1 * 1px) / 2) - 8px);max-width:calc(20px + calc(calc(16 * 1 * 1px) / 2) - 8px);max-width:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);width:auto}.aa-ItemIcon svg{height:20px;height:var(--aa-icon-size);width:20px;width:var(--aa-icon-size)}.aa-ItemIcon--alignTop{align-self:flex-start}.aa-ItemIcon--noBorder{background:none;box-shadow:none}.aa-ItemIcon--picture{height:96px;width:96px}.aa-ItemIcon--picture img{max-height:100%;max-width:100%;padding:calc((16 * 1 * 1px) / 2);padding:calc(calc(16 * 1 * 1px) / 2);padding:var(--aa-spacing-half)}.aa-ItemContent{align-items:center;cursor:pointer;display:grid;gap:calc((16 * 1 * 1px) / 2);gap:calc(calc(16 * 1 * 1px) / 2);grid-gap:calc((16 * 1 * 1px) / 2);grid-gap:calc(calc(16 * 1 * 1px) / 2);grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;line-height:1.25em;overflow:hidden}.aa-ItemContent:empty{display:none}.aa-ItemContent mark{background:none;color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:700;font-weight:var(--aa-font-weight-bold)}.aa-ItemContent--dual{display:flex;flex-direction:column;justify-content:space-between;text-align:left}.aa-ItemContent--dual .aa-ItemContentSubtitle,.aa-ItemContent--dual .aa-ItemContentTitle{display:block}.aa-ItemContent--indented{padding-left:calc(20px + (16 * 1 * 1px));padding-left:calc(20px + calc(16 * 1 * 1px));padding-left:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-ItemContentBody{display:grid;gap:calc(((16 * 1 * 1px) / 2)/2);gap:calc(calc(calc(16 * 1 * 1px) / 2)/2);grid-gap:calc(((16 * 1 * 1px) / 2)/2);grid-gap:calc(calc(calc(16 * 1 * 1px) / 2)/2);grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2)}.aa-ItemContentTitle{display:inline-block;margin:0 .5em 0 0;max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.aa-ItemContentSubtitle{font-size:.92em}.aa-ItemContentSubtitleIcon:before{border-color:rgba(128, 126, 163,.64);border-color:rgba(var(--aa-muted-color-rgb),.64);border-style:solid;content:\"\";display:inline-block;left:1px;position:relative;top:-3px}.aa-ItemContentSubtitle--inline .aa-ItemContentSubtitleIcon:before{border-width:0 0 1.5px;margin-left:calc((16 * 1 * 1px) / 2);margin-left:calc(calc(16 * 1 * 1px) / 2);margin-left:var(--aa-spacing-half);margin-right:calc(((16 * 1 * 1px) / 2)/2);margin-right:calc(calc(calc(16 * 1 * 1px) / 2)/2);margin-right:calc(var(--aa-spacing-half)/2);width:calc(((16 * 1 * 1px) / 2) + 2px);width:calc(calc(calc(16 * 1 * 1px) / 2) + 2px);width:calc(var(--aa-spacing-half) + 2px)}.aa-ItemContentSubtitle--standalone{align-items:center;color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));display:grid;gap:calc((16 * 1 * 1px) / 2);gap:calc(calc(16 * 1 * 1px) / 2);grid-gap:calc((16 * 1 * 1px) / 2);grid-gap:calc(calc(16 * 1 * 1px) / 2);grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;justify-content:start}.aa-ItemContentSubtitle--standalone .aa-ItemContentSubtitleIcon:before{border-radius:0 0 0 3px;border-width:0 0 1.5px 1.5px;height:calc((16 * 1 * 1px) / 2);height:calc(calc(16 * 1 * 1px) / 2);height:var(--aa-spacing-half);width:calc((16 * 1 * 1px) / 2);width:calc(calc(16 * 1 * 1px) / 2);width:var(--aa-spacing-half)}.aa-ItemContentSubtitleCategory{color:rgba(128, 126, 163,1);color:rgba(var(--aa-muted-color-rgb),1);font-weight:500}.aa-ItemContentDescription{color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-size:.85em;max-width:100%;overflow-x:hidden;text-overflow:ellipsis}.aa-ItemContentDescription:empty{display:none}.aa-ItemContentDescription mark{background:rgba(245, 223, 77,0.5);background:rgba(var(--aa-description-highlight-background-color-rgb),var(--aa-description-highlight-background-color-alpha));color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:500;font-weight:var(--aa-font-weight-medium)}.aa-ItemContentDash{color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));display:none;opacity:.4}.aa-ItemContentTag{background-color:rgba(62, 52, 211,0.2);background-color:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha));border-radius:3px;margin:0 .4em 0 0;padding:.08em .3em}.aa-ItemLink,.aa-ItemWrapper{align-items:center;color:inherit;display:grid;gap:calc(((16 * 1 * 1px) / 2)/2);gap:calc(calc(calc(16 * 1 * 1px) / 2)/2);grid-gap:calc(((16 * 1 * 1px) / 2)/2);grid-gap:calc(calc(calc(16 * 1 * 1px) / 2)/2);grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2);grid-auto-flow:column;justify-content:space-between;width:100%}.aa-ItemLink{color:inherit;-webkit-text-decoration:none;text-decoration:none}.aa-ItemActions{display:grid;grid-auto-flow:column;height:100%;justify-self:end;margin:0 calc((16 * 1 * 1px)/-3);margin:0 calc(calc(16 * 1 * 1px)/-3);margin:0 calc(var(--aa-spacing)/-3);padding:0 2px 0 0}.aa-ItemActionButton{align-items:center;background:none;border:0;color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;flex-shrink:0;padding:0}.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}@media (hover:none) and (pointer:coarse){.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:inherit}}.aa-ItemActionButton svg{color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));margin:0;margin:calc(calc(16 * 1 * 1px)/3);margin:calc(var(--aa-spacing)/3);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-action-icon-size)}.aa-ActiveOnly{visibility:hidden}.aa-PanelHeader{align-items:center;background:rgba(62, 52, 211,1);background:rgba(var(--aa-primary-color-rgb),1);color:#fff;display:grid;height:var(--aa-modal-header-height);margin:0;padding:calc((16 * 1 * 1px) / 2) calc(16 * 1 * 1px);padding:calc(calc(16 * 1 * 1px) / 2) calc(16 * 1 * 1px);padding:var(--aa-spacing-half) var(--aa-spacing);position:relative}.aa-PanelHeader:after{background-image:linear-gradient(rgba(255, 255, 255,1),rgba(255, 255, 255,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));bottom:calc(((16 * 1 * 1px) / 2)*-1);bottom:calc(calc(calc(16 * 1 * 1px) / 2)*-1);bottom:calc(var(--aa-spacing-half)*-1);content:\"\";height:calc((16 * 1 * 1px) / 2);height:calc(calc(16 * 1 * 1px) / 2);height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter{background-color:rgba(255, 255, 255,1);background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));box-shadow:inset 0 1px 0 rgba(128, 126, 163,0.3);box-shadow:inset 0 1px 0 rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;justify-content:space-between;margin:0;padding:calc(16 * 1 * 1px);padding:var(--aa-spacing);position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter:after{background-image:linear-gradient(rgba(255, 255, 255,0),rgba(128, 126, 163,0.6));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha)));content:\"\";height:calc(16 * 1 * 1px);height:var(--aa-spacing);left:0;opacity:.12;pointer-events:none;position:absolute;right:0;top:calc((16 * 1 * 1px)*-1);top:calc(calc(16 * 1 * 1px)*-1);top:calc(var(--aa-spacing)*-1);z-index:calc(9999 - 1);z-index:calc(var(--aa-base-z-index) - 1)}.aa-DetachedContainer{background:rgba(255, 255, 255,1);background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));bottom:0;box-shadow:0 0 0 1px rgba(35, 38, 59, 0.1),\n 0 6px 16px -4px rgba(35, 38, 59, 0.15);box-shadow:var(--aa-panel-shadow);display:flex;flex-direction:column;left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-DetachedContainer:after{height:32px}.aa-DetachedContainer .aa-SourceHeader{margin:calc((16 * 1 * 1px) / 2) 0 calc((16 * 1 * 1px) / 2) 2px;margin:calc(calc(16 * 1 * 1px) / 2) 0 calc(calc(16 * 1 * 1px) / 2) 2px;margin:var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px}.aa-DetachedContainer .aa-Panel{background-color:rgba(255, 255, 255,1);background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:0;box-shadow:none;flex-grow:1;margin:0;padding:0;position:relative}.aa-DetachedContainer .aa-PanelLayout{bottom:0;box-shadow:none;left:0;margin:0;max-height:none;overflow-y:auto;position:absolute;right:0;top:0;width:100%}.aa-DetachedFormContainer{border-bottom:1px solid rgba(128, 126, 163,0.3);border-bottom:1px solid rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:calc((16 * 1 * 1px) / 2);padding:calc(calc(16 * 1 * 1px) / 2);padding:var(--aa-spacing-half)}.aa-DetachedCancelButton{background:none;border:0;border-radius:3px;color:inherit;color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));cursor:pointer;font:inherit;margin:0 0 0 calc((16 * 1 * 1px) / 2);margin:0 0 0 calc(calc(16 * 1 * 1px) / 2);margin:0 0 0 var(--aa-spacing-half);padding:0 calc((16 * 1 * 1px) / 2);padding:0 calc(calc(16 * 1 * 1px) / 2);padding:0 var(--aa-spacing-half)}.aa-DetachedCancelButton:focus,.aa-DetachedCancelButton:hover{box-shadow:inset 0 0 0 1px rgba(128, 126, 163,0.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha))}.aa-DetachedContainer--modal{border-radius:6px;bottom:inherit;height:auto;margin:0 auto;max-width:680px;max-width:var(--aa-detached-modal-max-width);position:absolute;top:3%}.aa-DetachedContainer--modal .aa-PanelLayout{max-height:500px;max-height:var(--aa-detached-modal-max-height);padding-bottom:calc((16 * 1 * 1px) / 2);padding-bottom:calc(calc(16 * 1 * 1px) / 2);padding-bottom:var(--aa-spacing-half);position:static}.aa-DetachedContainer--modal .aa-PanelLayout:empty{display:none}.aa-DetachedSearchButton{align-items:center;background-color:rgba(255, 255, 255,1);background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128, 126, 163,0.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;font:inherit;font-family:inherit;font-family:var(--aa-font-family);font-size:calc(16 * 1px);font-size:var(--aa-font-size);height:44px;height:var(--aa-search-input-height);margin:0;padding:0 calc(44px/8);padding:0 calc(var(--aa-search-input-height)/8);position:relative;text-align:left;width:100%}.aa-DetachedSearchButton:focus{border-color:rgba(62, 52, 211,1);border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:rgba(62, 52, 211,0.2) 0 0 0 3px,inset rgba(62, 52, 211,0.2) 0 0 0 2px;box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 3px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-DetachedSearchButtonIcon{align-items:center;color:rgba(62, 52, 211,1);color:rgba(var(--aa-primary-color-rgb),1);cursor:auto;display:flex;flex-shrink:0;height:100%;justify-content:center;width:calc(20px + (16 * 1 * 1px));width:calc(20px + calc(16 * 1 * 1px));width:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-DetachedSearchButtonQuery{color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),1);line-height:1.25em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aa-DetachedSearchButtonPlaceholder[hidden]{display:none}.aa-Detached{height:100vh;overflow:hidden}.aa-DetachedOverlay{background-color:rgba(115, 114, 129,0.4);background-color:rgba(var(--aa-overlay-color-rgb),var(--aa-overlay-color-alpha));height:100vh;left:0;margin:0;padding:0;position:fixed;right:0;top:0;z-index:calc(9999 - 1);z-index:calc(var(--aa-base-z-index) - 1)}.aa-GradientBottom,.aa-GradientTop{height:calc((16 * 1 * 1px) / 2);height:calc(calc(16 * 1 * 1px) / 2);height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-GradientTop{background-image:linear-gradient(rgba(255, 255, 255,1),rgba(255, 255, 255,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));top:0}.aa-GradientBottom{background-image:linear-gradient(rgba(255, 255, 255,0),rgba(255, 255, 255,1));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-background-color-rgb),1));border-bottom-left-radius:calc((16 * 1 * 1px)/4);border-bottom-left-radius:calc(calc(16 * 1 * 1px)/4);border-bottom-left-radius:calc(var(--aa-spacing)/4);border-bottom-right-radius:calc((16 * 1 * 1px)/4);border-bottom-right-radius:calc(calc(16 * 1 * 1px)/4);border-bottom-right-radius:calc(var(--aa-spacing)/4);bottom:0}@media (hover:none) and (pointer:coarse){.aa-DesktopOnly{display:none}}@media (hover:hover){.aa-TouchOnly{display:none}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@algolia/autocomplete-theme-classic/dist/theme.min.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/*! @algolia/autocomplete-theme-classic 1.17.4 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */\\n:root{--aa-search-input-height:44px;--aa-input-icon-size:20px;--aa-base-unit:16;--aa-spacing-factor:1;--aa-spacing:calc(var(--aa-base-unit)*var(--aa-spacing-factor)*1px);--aa-spacing-half:calc(var(--aa-spacing)/2);--aa-panel-max-height:650px;--aa-base-z-index:9999;--aa-font-size:calc(var(--aa-base-unit)*1px);--aa-font-family:inherit;--aa-font-weight-medium:500;--aa-font-weight-semibold:600;--aa-font-weight-bold:700;--aa-icon-size:20px;--aa-icon-stroke-width:1.6;--aa-icon-color-rgb:119,119,163;--aa-icon-color-alpha:1;--aa-action-icon-size:20px;--aa-text-color-rgb:38,38,39;--aa-text-color-alpha:1;--aa-primary-color-rgb:62,52,211;--aa-primary-color-alpha:0.2;--aa-muted-color-rgb:128,126,163;--aa-muted-color-alpha:0.6;--aa-panel-border-color-rgb:128,126,163;--aa-panel-border-color-alpha:0.3;--aa-input-border-color-rgb:128,126,163;--aa-input-border-color-alpha:0.8;--aa-background-color-rgb:255,255,255;--aa-background-color-alpha:1;--aa-input-background-color-rgb:255,255,255;--aa-input-background-color-alpha:1;--aa-selected-color-rgb:179,173,214;--aa-selected-color-alpha:0.205;--aa-description-highlight-background-color-rgb:245,223,77;--aa-description-highlight-background-color-alpha:0.5;--aa-detached-media-query:(max-width:680px);--aa-detached-modal-media-query:(min-width:680px);--aa-detached-modal-max-width:680px;--aa-detached-modal-max-height:500px;--aa-overlay-color-rgb:115,114,129;--aa-overlay-color-alpha:0.4;--aa-panel-shadow:0 0 0 1px rgba(35,38,59,0.1),0 6px 16px -4px rgba(35,38,59,0.15);--aa-scrollbar-width:13px;--aa-scrollbar-track-background-color-rgb:234,234,234;--aa-scrollbar-track-background-color-alpha:1;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb);--aa-scrollbar-thumb-background-color-alpha:1}@media (hover:none) and (pointer:coarse){:root{--aa-spacing-factor:1.2;--aa-action-icon-size:22px}}body.dark,body[data-theme=dark]{--aa-text-color-rgb:183,192,199;--aa-primary-color-rgb:146,138,255;--aa-muted-color-rgb:146,138,255;--aa-input-background-color-rgb:0,3,9;--aa-background-color-rgb:21,24,42;--aa-selected-color-rgb:146,138,255;--aa-selected-color-alpha:0.25;--aa-description-highlight-background-color-rgb:0 255 255;--aa-description-highlight-background-color-alpha:0.25;--aa-icon-color-rgb:119,119,163;--aa-panel-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--aa-scrollbar-track-background-color-rgb:44,46,64;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb)}.aa-Autocomplete *,.aa-DetachedFormContainer *,.aa-Panel *{box-sizing:border-box}.aa-Autocomplete,.aa-DetachedFormContainer,.aa-Panel{color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-family:inherit;font-family:var(--aa-font-family);font-size:calc(16 * 1px);font-size:var(--aa-font-size);font-weight:400;line-height:1em;margin:0;padding:0;text-align:left}.aa-Form{align-items:center;background-color:rgba(255, 255, 255,1);background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128, 126, 163,0.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;display:flex;line-height:1em;margin:0;position:relative;width:100%}.aa-Form:focus-within{border-color:rgba(62, 52, 211,1);border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:rgba(62, 52, 211,0.2) 0 0 0 2px,inset rgba(62, 52, 211,0.2) 0 0 0 2px;box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-InputWrapperPrefix{align-items:center;display:flex;flex-shrink:0;height:44px;height:var(--aa-search-input-height);order:1}.aa-Label,.aa-LoadingIndicator{cursor:auto;flex-shrink:0;height:100%;padding:0;text-align:left}.aa-Label svg,.aa-LoadingIndicator svg{color:rgba(62, 52, 211,1);color:rgba(var(--aa-primary-color-rgb),1);height:auto;max-height:20px;max-height:var(--aa-input-icon-size);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-input-icon-size)}.aa-LoadingIndicator,.aa-SubmitButton{height:100%;padding-left:calc((16 * 1 * 1px)*0.75 - 1px);padding-left:calc(calc(16 * 1 * 1px)*0.75 - 1px);padding-left:calc(var(--aa-spacing)*0.75 - 1px);padding-right:calc((16 * 1 * 1px) / 2);padding-right:calc(calc(16 * 1 * 1px) / 2);padding-right:var(--aa-spacing-half);width:calc((16 * 1 * 1px)*1.75 + 20px - 1px);width:calc(calc(16 * 1 * 1px)*1.75 + 20px - 1px);width:calc(var(--aa-spacing)*1.75 + var(--aa-icon-size) - 1px)}@media (hover:none) and (pointer:coarse){.aa-LoadingIndicator,.aa-SubmitButton{padding-left:calc(((16 * 1 * 1px) / 2)/2 - 1px);padding-left:calc(calc(calc(16 * 1 * 1px) / 2)/2 - 1px);padding-left:calc(var(--aa-spacing-half)/2 - 1px);width:calc(20px + (16 * 1 * 1px)*1.25 - 1px);width:calc(20px + calc(16 * 1 * 1px)*1.25 - 1px);width:calc(var(--aa-icon-size) + var(--aa-spacing)*1.25 - 1px)}}.aa-SubmitButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;margin:0}.aa-LoadingIndicator{align-items:center;display:flex;justify-content:center}.aa-LoadingIndicator[hidden]{display:none}.aa-InputWrapper{order:3;position:relative;width:100%}.aa-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font:inherit;height:44px;height:var(--aa-search-input-height);padding:0;width:100%}.aa-Input::-moz-placeholder{color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input::placeholder{color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input:focus{border-color:none;box-shadow:none;outline:none}.aa-Input::-webkit-search-cancel-button,.aa-Input::-webkit-search-decoration,.aa-Input::-webkit-search-results-button,.aa-Input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.aa-InputWrapperSuffix{align-items:center;display:flex;height:44px;height:var(--aa-search-input-height);order:4}.aa-ClearButton{align-items:center;background:none;border:0;color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;height:100%;margin:0;padding:0 calc((16 * 1 * 1px)*0.83333 - .5px);padding:0 calc(calc(16 * 1 * 1px)*0.83333 - .5px);padding:0 calc(var(--aa-spacing)*0.83333 - .5px)}@media (hover:none) and (pointer:coarse){.aa-ClearButton{padding:0 calc((16 * 1 * 1px)*0.66667 - .5px);padding:0 calc(calc(16 * 1 * 1px)*0.66667 - .5px);padding:0 calc(var(--aa-spacing)*0.66667 - .5px)}}.aa-ClearButton:focus,.aa-ClearButton:hover{color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}.aa-ClearButton[hidden]{display:none}.aa-ClearButton svg{stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-icon-size)}.aa-Panel{background-color:rgba(255, 255, 255,1);background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:calc((16 * 1 * 1px)/4);border-radius:calc(calc(16 * 1 * 1px)/4);border-radius:calc(var(--aa-spacing)/4);box-shadow:0 0 0 1px rgba(35, 38, 59, 0.1),\\n 0 6px 16px -4px rgba(35, 38, 59, 0.15);box-shadow:var(--aa-panel-shadow);margin:8px 0 0;overflow:hidden;position:absolute;transition:opacity .2s ease-in,filter .2s ease-in}@media screen and (prefers-reduced-motion){.aa-Panel{transition:none}}.aa-Panel button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;margin:0;padding:0}.aa-PanelLayout{height:100%;margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-y:auto;padding:0;position:relative;text-align:left}.aa-PanelLayoutColumns--twoGolden{display:grid;grid-template-columns:39.2% auto;overflow:hidden;padding:0}.aa-PanelLayoutColumns--two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;padding:0}.aa-PanelLayoutColumns--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;padding:0}.aa-Panel--stalled .aa-Source{filter:grayscale(1);opacity:.8}.aa-Panel--scrollable{margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-x:hidden;overflow-y:auto;padding:calc((16 * 1 * 1px) / 2);padding:calc(calc(16 * 1 * 1px) / 2);padding:var(--aa-spacing-half);scrollbar-color:rgba(255, 255, 255,1) rgba(234, 234, 234,1);scrollbar-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha)) rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));scrollbar-width:thin}.aa-Panel--scrollable::-webkit-scrollbar{width:13px;width:var(--aa-scrollbar-width)}.aa-Panel--scrollable::-webkit-scrollbar-track{background-color:rgba(234, 234, 234,1);background-color:rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha))}.aa-Panel--scrollable::-webkit-scrollbar-thumb{background-color:rgba(255, 255, 255,1);background-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha));border-radius:9999px;border:3px solid rgba(234, 234, 234,1);border:3px solid rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));border-right-width:2px}.aa-Source{margin:0;padding:0;position:relative;width:100%}.aa-Source:empty{display:none}.aa-SourceNoResults{font-size:1em;margin:0;padding:calc(16 * 1 * 1px);padding:var(--aa-spacing)}.aa-List{list-style:none;margin:0}.aa-List,.aa-SourceHeader{padding:0;position:relative}.aa-SourceHeader{margin:calc((16 * 1 * 1px) / 2) .5em calc((16 * 1 * 1px) / 2) 0;margin:calc(calc(16 * 1 * 1px) / 2) .5em calc(calc(16 * 1 * 1px) / 2) 0;margin:var(--aa-spacing-half) .5em var(--aa-spacing-half) 0}.aa-SourceHeader:empty{display:none}.aa-SourceHeaderTitle{background:rgba(255, 255, 255,1);background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));color:rgba(62, 52, 211,1);color:rgba(var(--aa-primary-color-rgb),1);display:inline-block;font-size:.8em;font-weight:600;font-weight:var(--aa-font-weight-semibold);margin:0;padding:0 calc((16 * 1 * 1px) / 2) 0 0;padding:0 calc(calc(16 * 1 * 1px) / 2) 0 0;padding:0 var(--aa-spacing-half) 0 0;position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-SourceHeaderLine{border-bottom:1px solid rgba(62, 52, 211,1);border-bottom:1px solid rgba(var(--aa-primary-color-rgb),1);display:block;height:2px;left:0;margin:0;opacity:.3;padding:0;position:absolute;right:0;top:calc((16 * 1 * 1px) / 2);top:calc(calc(16 * 1 * 1px) / 2);top:var(--aa-spacing-half);z-index:calc(9999 - 1);z-index:calc(var(--aa-base-z-index) - 1)}.aa-SourceFooterSeeAll{background:linear-gradient(180deg,rgba(255, 255, 255,1),rgba(128,126,163,.14));background:linear-gradient(180deg,rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha)),rgba(128,126,163,.14));border:1px solid rgba(128, 126, 163,0.6);border:1px solid rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));border-radius:5px;box-shadow:inset 0 0 2px #fff,0 2px 2px -1px rgba(76,69,88,.15);color:inherit;font-size:.95em;font-weight:500;font-weight:var(--aa-font-weight-medium);padding:.475em 1em .6em;-webkit-text-decoration:none;text-decoration:none}.aa-SourceFooterSeeAll:focus,.aa-SourceFooterSeeAll:hover{border:1px solid rgba(62, 52, 211,1);border:1px solid rgba(var(--aa-primary-color-rgb),1);color:rgba(62, 52, 211,1);color:rgba(var(--aa-primary-color-rgb),1)}.aa-Item{align-items:center;border-radius:3px;cursor:pointer;display:grid;min-height:calc((16 * 1 * 1px)*2.5);min-height:calc(calc(16 * 1 * 1px)*2.5);min-height:calc(var(--aa-spacing)*2.5);padding:calc(((16 * 1 * 1px) / 2)/2);padding:calc(calc(calc(16 * 1 * 1px) / 2)/2);padding:calc(var(--aa-spacing-half)/2)}.aa-Item[aria-selected=true]{background-color:rgba(179, 173, 214,0.205);background-color:rgba(var(--aa-selected-color-rgb),var(--aa-selected-color-alpha))}.aa-Item[aria-selected=true] .aa-ActiveOnly,.aa-Item[aria-selected=true] .aa-ItemActionButton{visibility:visible}.aa-ItemIcon{align-items:center;background:rgba(255, 255, 255,1);background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:3px;box-shadow:inset 0 0 0 1px rgba(128, 126, 163,0.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));color:rgba(119, 119, 163,1);color:rgba(var(--aa-icon-color-rgb),var(--aa-icon-color-alpha));display:flex;flex-shrink:0;font-size:.7em;height:calc(20px + ((16 * 1 * 1px) / 2));height:calc(20px + calc(calc(16 * 1 * 1px) / 2));height:calc(var(--aa-icon-size) + var(--aa-spacing-half));justify-content:center;overflow:hidden;stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);text-align:center;width:calc(20px + ((16 * 1 * 1px) / 2));width:calc(20px + calc(calc(16 * 1 * 1px) / 2));width:calc(var(--aa-icon-size) + var(--aa-spacing-half))}.aa-ItemIcon img{height:auto;max-height:calc(20px + ((16 * 1 * 1px) / 2) - 8px);max-height:calc(20px + calc(calc(16 * 1 * 1px) / 2) - 8px);max-height:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);max-width:calc(20px + ((16 * 1 * 1px) / 2) - 8px);max-width:calc(20px + calc(calc(16 * 1 * 1px) / 2) - 8px);max-width:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);width:auto}.aa-ItemIcon svg{height:20px;height:var(--aa-icon-size);width:20px;width:var(--aa-icon-size)}.aa-ItemIcon--alignTop{align-self:flex-start}.aa-ItemIcon--noBorder{background:none;box-shadow:none}.aa-ItemIcon--picture{height:96px;width:96px}.aa-ItemIcon--picture img{max-height:100%;max-width:100%;padding:calc((16 * 1 * 1px) / 2);padding:calc(calc(16 * 1 * 1px) / 2);padding:var(--aa-spacing-half)}.aa-ItemContent{align-items:center;cursor:pointer;display:grid;gap:calc((16 * 1 * 1px) / 2);gap:calc(calc(16 * 1 * 1px) / 2);grid-gap:calc((16 * 1 * 1px) / 2);grid-gap:calc(calc(16 * 1 * 1px) / 2);grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;line-height:1.25em;overflow:hidden}.aa-ItemContent:empty{display:none}.aa-ItemContent mark{background:none;color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:700;font-weight:var(--aa-font-weight-bold)}.aa-ItemContent--dual{display:flex;flex-direction:column;justify-content:space-between;text-align:left}.aa-ItemContent--dual .aa-ItemContentSubtitle,.aa-ItemContent--dual .aa-ItemContentTitle{display:block}.aa-ItemContent--indented{padding-left:calc(20px + (16 * 1 * 1px));padding-left:calc(20px + calc(16 * 1 * 1px));padding-left:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-ItemContentBody{display:grid;gap:calc(((16 * 1 * 1px) / 2)/2);gap:calc(calc(calc(16 * 1 * 1px) / 2)/2);grid-gap:calc(((16 * 1 * 1px) / 2)/2);grid-gap:calc(calc(calc(16 * 1 * 1px) / 2)/2);grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2)}.aa-ItemContentTitle{display:inline-block;margin:0 .5em 0 0;max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.aa-ItemContentSubtitle{font-size:.92em}.aa-ItemContentSubtitleIcon:before{border-color:rgba(128, 126, 163,.64);border-color:rgba(var(--aa-muted-color-rgb),.64);border-style:solid;content:\\\"\\\";display:inline-block;left:1px;position:relative;top:-3px}.aa-ItemContentSubtitle--inline .aa-ItemContentSubtitleIcon:before{border-width:0 0 1.5px;margin-left:calc((16 * 1 * 1px) / 2);margin-left:calc(calc(16 * 1 * 1px) / 2);margin-left:var(--aa-spacing-half);margin-right:calc(((16 * 1 * 1px) / 2)/2);margin-right:calc(calc(calc(16 * 1 * 1px) / 2)/2);margin-right:calc(var(--aa-spacing-half)/2);width:calc(((16 * 1 * 1px) / 2) + 2px);width:calc(calc(calc(16 * 1 * 1px) / 2) + 2px);width:calc(var(--aa-spacing-half) + 2px)}.aa-ItemContentSubtitle--standalone{align-items:center;color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));display:grid;gap:calc((16 * 1 * 1px) / 2);gap:calc(calc(16 * 1 * 1px) / 2);grid-gap:calc((16 * 1 * 1px) / 2);grid-gap:calc(calc(16 * 1 * 1px) / 2);grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;justify-content:start}.aa-ItemContentSubtitle--standalone .aa-ItemContentSubtitleIcon:before{border-radius:0 0 0 3px;border-width:0 0 1.5px 1.5px;height:calc((16 * 1 * 1px) / 2);height:calc(calc(16 * 1 * 1px) / 2);height:var(--aa-spacing-half);width:calc((16 * 1 * 1px) / 2);width:calc(calc(16 * 1 * 1px) / 2);width:var(--aa-spacing-half)}.aa-ItemContentSubtitleCategory{color:rgba(128, 126, 163,1);color:rgba(var(--aa-muted-color-rgb),1);font-weight:500}.aa-ItemContentDescription{color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-size:.85em;max-width:100%;overflow-x:hidden;text-overflow:ellipsis}.aa-ItemContentDescription:empty{display:none}.aa-ItemContentDescription mark{background:rgba(245, 223, 77,0.5);background:rgba(var(--aa-description-highlight-background-color-rgb),var(--aa-description-highlight-background-color-alpha));color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:500;font-weight:var(--aa-font-weight-medium)}.aa-ItemContentDash{color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));display:none;opacity:.4}.aa-ItemContentTag{background-color:rgba(62, 52, 211,0.2);background-color:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha));border-radius:3px;margin:0 .4em 0 0;padding:.08em .3em}.aa-ItemLink,.aa-ItemWrapper{align-items:center;color:inherit;display:grid;gap:calc(((16 * 1 * 1px) / 2)/2);gap:calc(calc(calc(16 * 1 * 1px) / 2)/2);grid-gap:calc(((16 * 1 * 1px) / 2)/2);grid-gap:calc(calc(calc(16 * 1 * 1px) / 2)/2);grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2);grid-auto-flow:column;justify-content:space-between;width:100%}.aa-ItemLink{color:inherit;-webkit-text-decoration:none;text-decoration:none}.aa-ItemActions{display:grid;grid-auto-flow:column;height:100%;justify-self:end;margin:0 calc((16 * 1 * 1px)/-3);margin:0 calc(calc(16 * 1 * 1px)/-3);margin:0 calc(var(--aa-spacing)/-3);padding:0 2px 0 0}.aa-ItemActionButton{align-items:center;background:none;border:0;color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;flex-shrink:0;padding:0}.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}@media (hover:none) and (pointer:coarse){.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:inherit}}.aa-ItemActionButton svg{color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));margin:0;margin:calc(calc(16 * 1 * 1px)/3);margin:calc(var(--aa-spacing)/3);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-action-icon-size)}.aa-ActiveOnly{visibility:hidden}.aa-PanelHeader{align-items:center;background:rgba(62, 52, 211,1);background:rgba(var(--aa-primary-color-rgb),1);color:#fff;display:grid;height:var(--aa-modal-header-height);margin:0;padding:calc((16 * 1 * 1px) / 2) calc(16 * 1 * 1px);padding:calc(calc(16 * 1 * 1px) / 2) calc(16 * 1 * 1px);padding:var(--aa-spacing-half) var(--aa-spacing);position:relative}.aa-PanelHeader:after{background-image:linear-gradient(rgba(255, 255, 255,1),rgba(255, 255, 255,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));bottom:calc(((16 * 1 * 1px) / 2)*-1);bottom:calc(calc(calc(16 * 1 * 1px) / 2)*-1);bottom:calc(var(--aa-spacing-half)*-1);content:\\\"\\\";height:calc((16 * 1 * 1px) / 2);height:calc(calc(16 * 1 * 1px) / 2);height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter{background-color:rgba(255, 255, 255,1);background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));box-shadow:inset 0 1px 0 rgba(128, 126, 163,0.3);box-shadow:inset 0 1px 0 rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;justify-content:space-between;margin:0;padding:calc(16 * 1 * 1px);padding:var(--aa-spacing);position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter:after{background-image:linear-gradient(rgba(255, 255, 255,0),rgba(128, 126, 163,0.6));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha)));content:\\\"\\\";height:calc(16 * 1 * 1px);height:var(--aa-spacing);left:0;opacity:.12;pointer-events:none;position:absolute;right:0;top:calc((16 * 1 * 1px)*-1);top:calc(calc(16 * 1 * 1px)*-1);top:calc(var(--aa-spacing)*-1);z-index:calc(9999 - 1);z-index:calc(var(--aa-base-z-index) - 1)}.aa-DetachedContainer{background:rgba(255, 255, 255,1);background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));bottom:0;box-shadow:0 0 0 1px rgba(35, 38, 59, 0.1),\\n 0 6px 16px -4px rgba(35, 38, 59, 0.15);box-shadow:var(--aa-panel-shadow);display:flex;flex-direction:column;left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-DetachedContainer:after{height:32px}.aa-DetachedContainer .aa-SourceHeader{margin:calc((16 * 1 * 1px) / 2) 0 calc((16 * 1 * 1px) / 2) 2px;margin:calc(calc(16 * 1 * 1px) / 2) 0 calc(calc(16 * 1 * 1px) / 2) 2px;margin:var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px}.aa-DetachedContainer .aa-Panel{background-color:rgba(255, 255, 255,1);background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:0;box-shadow:none;flex-grow:1;margin:0;padding:0;position:relative}.aa-DetachedContainer .aa-PanelLayout{bottom:0;box-shadow:none;left:0;margin:0;max-height:none;overflow-y:auto;position:absolute;right:0;top:0;width:100%}.aa-DetachedFormContainer{border-bottom:1px solid rgba(128, 126, 163,0.3);border-bottom:1px solid rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:calc((16 * 1 * 1px) / 2);padding:calc(calc(16 * 1 * 1px) / 2);padding:var(--aa-spacing-half)}.aa-DetachedCancelButton{background:none;border:0;border-radius:3px;color:inherit;color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));cursor:pointer;font:inherit;margin:0 0 0 calc((16 * 1 * 1px) / 2);margin:0 0 0 calc(calc(16 * 1 * 1px) / 2);margin:0 0 0 var(--aa-spacing-half);padding:0 calc((16 * 1 * 1px) / 2);padding:0 calc(calc(16 * 1 * 1px) / 2);padding:0 var(--aa-spacing-half)}.aa-DetachedCancelButton:focus,.aa-DetachedCancelButton:hover{box-shadow:inset 0 0 0 1px rgba(128, 126, 163,0.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha))}.aa-DetachedContainer--modal{border-radius:6px;bottom:inherit;height:auto;margin:0 auto;max-width:680px;max-width:var(--aa-detached-modal-max-width);position:absolute;top:3%}.aa-DetachedContainer--modal .aa-PanelLayout{max-height:500px;max-height:var(--aa-detached-modal-max-height);padding-bottom:calc((16 * 1 * 1px) / 2);padding-bottom:calc(calc(16 * 1 * 1px) / 2);padding-bottom:var(--aa-spacing-half);position:static}.aa-DetachedContainer--modal .aa-PanelLayout:empty{display:none}.aa-DetachedSearchButton{align-items:center;background-color:rgba(255, 255, 255,1);background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128, 126, 163,0.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;color:rgba(128, 126, 163,0.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;font:inherit;font-family:inherit;font-family:var(--aa-font-family);font-size:calc(16 * 1px);font-size:var(--aa-font-size);height:44px;height:var(--aa-search-input-height);margin:0;padding:0 calc(44px/8);padding:0 calc(var(--aa-search-input-height)/8);position:relative;text-align:left;width:100%}.aa-DetachedSearchButton:focus{border-color:rgba(62, 52, 211,1);border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:rgba(62, 52, 211,0.2) 0 0 0 3px,inset rgba(62, 52, 211,0.2) 0 0 0 2px;box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 3px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:medium none currentColor}.aa-DetachedSearchButtonIcon{align-items:center;color:rgba(62, 52, 211,1);color:rgba(var(--aa-primary-color-rgb),1);cursor:auto;display:flex;flex-shrink:0;height:100%;justify-content:center;width:calc(20px + (16 * 1 * 1px));width:calc(20px + calc(16 * 1 * 1px));width:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-DetachedSearchButtonQuery{color:rgba(38, 38, 39,1);color:rgba(var(--aa-text-color-rgb),1);line-height:1.25em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aa-DetachedSearchButtonPlaceholder[hidden]{display:none}.aa-Detached{height:100vh;overflow:hidden}.aa-DetachedOverlay{background-color:rgba(115, 114, 129,0.4);background-color:rgba(var(--aa-overlay-color-rgb),var(--aa-overlay-color-alpha));height:100vh;left:0;margin:0;padding:0;position:fixed;right:0;top:0;z-index:calc(9999 - 1);z-index:calc(var(--aa-base-z-index) - 1)}.aa-GradientBottom,.aa-GradientTop{height:calc((16 * 1 * 1px) / 2);height:calc(calc(16 * 1 * 1px) / 2);height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-GradientTop{background-image:linear-gradient(rgba(255, 255, 255,1),rgba(255, 255, 255,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));top:0}.aa-GradientBottom{background-image:linear-gradient(rgba(255, 255, 255,0),rgba(255, 255, 255,1));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-background-color-rgb),1));border-bottom-left-radius:calc((16 * 1 * 1px)/4);border-bottom-left-radius:calc(calc(16 * 1 * 1px)/4);border-bottom-left-radius:calc(var(--aa-spacing)/4);border-bottom-right-radius:calc((16 * 1 * 1px)/4);border-bottom-right-radius:calc(calc(16 * 1 * 1px)/4);border-bottom-right-radius:calc(var(--aa-spacing)/4);bottom:0}@media (hover:none) and (pointer:coarse){.aa-DesktopOnly{display:none}}@media (hover:hover){.aa-TouchOnly{display:none}}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.nc = undefined;","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}","export function createRef(initialValue) {\n return {\n current: initialValue\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 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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nimport { invariant, decycle, noop } from '@algolia/autocomplete-shared';\nexport function getNormalizedSources(getSources, params) {\n var seenSourceIds = [];\n return Promise.resolve(getSources(params)).then(function (sources) {\n invariant(Array.isArray(sources), function () {\n return \"The `getSources` function must return an array of sources but returned type \".concat(JSON.stringify(_typeof(sources)), \":\\n\\n\").concat(JSON.stringify(decycle(sources), null, 2));\n });\n return Promise.all(sources\n // We allow `undefined` and `false` sources to allow users to use\n // `Boolean(query) && source` (=> `false`).\n // We need to remove these values at this point.\n .filter(function (maybeSource) {\n return Boolean(maybeSource);\n }).map(function (source) {\n invariant(typeof source.sourceId === 'string', 'A source must provide a `sourceId` string.');\n if (seenSourceIds.includes(source.sourceId)) {\n throw new Error(\"[Autocomplete] The `sourceId` \".concat(JSON.stringify(source.sourceId), \" is not unique.\"));\n }\n seenSourceIds.push(source.sourceId);\n var defaultSource = {\n getItemInputValue: function getItemInputValue(_ref) {\n var state = _ref.state;\n return state.query;\n },\n getItemUrl: function getItemUrl() {\n return undefined;\n },\n onSelect: function onSelect(_ref2) {\n var setIsOpen = _ref2.setIsOpen;\n setIsOpen(false);\n },\n onActive: noop,\n onResolve: noop\n };\n Object.keys(defaultSource).forEach(function (key) {\n defaultSource[key].__default = true;\n });\n var normalizedSource = _objectSpread(_objectSpread({}, defaultSource), source);\n return Promise.resolve(normalizedSource);\n }));\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { getItemsCount, generateAutocompleteId, flatten } from '@algolia/autocomplete-shared';\nimport { getNormalizedSources } from './utils';\nexport function getDefaultProps(props, pluginSubscribers) {\n var _props$id;\n /* eslint-disable no-restricted-globals */\n var environment = typeof window !== 'undefined' ? window : {};\n /* eslint-enable no-restricted-globals */\n var plugins = props.plugins || [];\n return _objectSpread(_objectSpread({\n debug: false,\n openOnFocus: false,\n enterKeyHint: undefined,\n ignoreCompositionEvents: false,\n placeholder: '',\n autoFocus: false,\n defaultActiveItemId: null,\n stallThreshold: 300,\n insights: undefined,\n environment: environment,\n shouldPanelOpen: function shouldPanelOpen(_ref) {\n var state = _ref.state;\n return getItemsCount(state) > 0;\n },\n reshape: function reshape(_ref2) {\n var sources = _ref2.sources;\n return sources;\n }\n }, props), {}, {\n // Since `generateAutocompleteId` triggers a side effect (it increments\n // an internal counter), we don't want to execute it if unnecessary.\n id: (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : generateAutocompleteId(),\n plugins: plugins,\n // The following props need to be deeply defaulted.\n initialState: _objectSpread({\n activeItemId: null,\n query: '',\n completion: null,\n collections: [],\n isOpen: false,\n status: 'idle',\n context: {}\n }, props.initialState),\n onStateChange: function onStateChange(params) {\n var _props$onStateChange;\n (_props$onStateChange = props.onStateChange) === null || _props$onStateChange === void 0 ? void 0 : _props$onStateChange.call(props, params);\n plugins.forEach(function (x) {\n var _x$onStateChange;\n return (_x$onStateChange = x.onStateChange) === null || _x$onStateChange === void 0 ? void 0 : _x$onStateChange.call(x, params);\n });\n },\n onSubmit: function onSubmit(params) {\n var _props$onSubmit;\n (_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 ? void 0 : _props$onSubmit.call(props, params);\n plugins.forEach(function (x) {\n var _x$onSubmit;\n return (_x$onSubmit = x.onSubmit) === null || _x$onSubmit === void 0 ? void 0 : _x$onSubmit.call(x, params);\n });\n },\n onReset: function onReset(params) {\n var _props$onReset;\n (_props$onReset = props.onReset) === null || _props$onReset === void 0 ? void 0 : _props$onReset.call(props, params);\n plugins.forEach(function (x) {\n var _x$onReset;\n return (_x$onReset = x.onReset) === null || _x$onReset === void 0 ? void 0 : _x$onReset.call(x, params);\n });\n },\n getSources: function getSources(params) {\n return Promise.all([].concat(_toConsumableArray(plugins.map(function (plugin) {\n return plugin.getSources;\n })), [props.getSources]).filter(Boolean).map(function (getSources) {\n return getNormalizedSources(getSources, params);\n })).then(function (nested) {\n return flatten(nested);\n }).then(function (sources) {\n return sources.map(function (source) {\n return _objectSpread(_objectSpread({}, source), {}, {\n onSelect: function onSelect(params) {\n source.onSelect(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onSelect;\n return (_x$onSelect = x.onSelect) === null || _x$onSelect === void 0 ? void 0 : _x$onSelect.call(x, params);\n });\n },\n onActive: function onActive(params) {\n source.onActive(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onActive;\n return (_x$onActive = x.onActive) === null || _x$onActive === void 0 ? void 0 : _x$onActive.call(x, params);\n });\n },\n onResolve: function onResolve(params) {\n source.onResolve(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onResolve;\n return (_x$onResolve = x.onResolve) === null || _x$onResolve === void 0 ? void 0 : _x$onResolve.call(x, params);\n });\n }\n });\n });\n });\n },\n navigator: _objectSpread({\n navigate: function navigate(_ref3) {\n var itemUrl = _ref3.itemUrl;\n environment.location.assign(itemUrl);\n },\n navigateNewTab: function navigateNewTab(_ref4) {\n var itemUrl = _ref4.itemUrl;\n var windowReference = environment.open(itemUrl, '_blank', 'noopener');\n windowReference === null || windowReference === void 0 ? void 0 : windowReference.focus();\n },\n navigateNewWindow: function navigateNewWindow(_ref5) {\n var itemUrl = _ref5.itemUrl;\n environment.open(itemUrl, '_blank', 'noopener');\n }\n }, props.navigator)\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function reshape(_ref) {\n var collections = _ref.collections,\n props = _ref.props,\n state = _ref.state;\n // Sources are grouped by `sourceId` to conveniently pick them via destructuring.\n // Example: `const { recentSearchesPlugin } = sourcesBySourceId`\n var originalSourcesBySourceId = collections.reduce(function (acc, collection) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, collection.source.sourceId, _objectSpread(_objectSpread({}, collection.source), {}, {\n getItems: function getItems() {\n // We provide the resolved items from the collection to the `reshape` prop.\n return flatten(collection.items);\n }\n })));\n }, {});\n var _props$plugins$reduce = props.plugins.reduce(function (acc, plugin) {\n if (plugin.reshape) {\n return plugin.reshape(acc);\n }\n return acc;\n }, {\n sourcesBySourceId: originalSourcesBySourceId,\n state: state\n }),\n sourcesBySourceId = _props$plugins$reduce.sourcesBySourceId;\n var reshapeSources = props.reshape({\n sourcesBySourceId: sourcesBySourceId,\n sources: Object.values(sourcesBySourceId),\n state: state\n });\n\n // We reconstruct the collections with the items modified by the `reshape` prop.\n return flatten(reshapeSources).filter(Boolean).map(function (source) {\n return {\n source: source,\n items: source.getItems()\n };\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nimport { decycle, flatten, invariant } from '@algolia/autocomplete-shared';\nimport { mapToAlgoliaResponse } from './utils';\nfunction isDescription(item) {\n return Boolean(item.execute);\n}\nfunction isRequesterDescription(description) {\n return Boolean(description === null || description === void 0 ? void 0 : description.execute);\n}\nexport function preResolve(itemsOrDescription, sourceId, state) {\n if (isRequesterDescription(itemsOrDescription)) {\n var contextParameters = itemsOrDescription.requesterId === 'algolia' ? Object.assign.apply(Object, [{}].concat(_toConsumableArray(Object.keys(state.context).map(function (key) {\n var _state$context$key;\n return (_state$context$key = state.context[key]) === null || _state$context$key === void 0 ? void 0 : _state$context$key.__algoliaSearchParameters;\n })))) : {};\n return _objectSpread(_objectSpread({}, itemsOrDescription), {}, {\n requests: itemsOrDescription.queries.map(function (query) {\n return {\n query: itemsOrDescription.requesterId === 'algolia' ? _objectSpread(_objectSpread({}, query), {}, {\n params: _objectSpread(_objectSpread({}, contextParameters), query.params)\n }) : query,\n sourceId: sourceId,\n transformResponse: itemsOrDescription.transformResponse\n };\n })\n });\n }\n return {\n items: itemsOrDescription,\n sourceId: sourceId\n };\n}\nexport function resolve(items) {\n var packed = items.reduce(function (acc, current) {\n if (!isDescription(current)) {\n acc.push(current);\n return acc;\n }\n var searchClient = current.searchClient,\n execute = current.execute,\n requesterId = current.requesterId,\n requests = current.requests;\n var container = acc.find(function (item) {\n return isDescription(current) && isDescription(item) && item.searchClient === searchClient && Boolean(requesterId) && item.requesterId === requesterId;\n });\n if (container) {\n var _container$items;\n (_container$items = container.items).push.apply(_container$items, _toConsumableArray(requests));\n } else {\n var request = {\n execute: execute,\n requesterId: requesterId,\n items: requests,\n searchClient: searchClient\n };\n acc.push(request);\n }\n return acc;\n }, []);\n var values = packed.map(function (maybeDescription) {\n if (!isDescription(maybeDescription)) {\n return Promise.resolve(maybeDescription);\n }\n var _ref = maybeDescription,\n execute = _ref.execute,\n items = _ref.items,\n searchClient = _ref.searchClient;\n return execute({\n searchClient: searchClient,\n requests: items\n });\n });\n return Promise.all(values).then(function (responses) {\n return flatten(responses);\n });\n}\nexport function postResolve(responses, sources, store) {\n return sources.map(function (source) {\n var matches = responses.filter(function (response) {\n return response.sourceId === source.sourceId;\n });\n var results = matches.map(function (_ref2) {\n var items = _ref2.items;\n return items;\n });\n var transform = matches[0].transformResponse;\n var items = transform ? transform(mapToAlgoliaResponse(results)) : results;\n source.onResolve({\n source: source,\n results: results,\n items: items,\n state: store.getState()\n });\n invariant(Array.isArray(items), function () {\n return \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned type \").concat(JSON.stringify(_typeof(items)), \":\\n\\n\").concat(JSON.stringify(decycle(items), null, 2), \".\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\");\n });\n invariant(items.every(Boolean), \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned \").concat(JSON.stringify(undefined), \".\\n\\nDid you forget to return items?\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\"));\n return {\n source: source,\n items: items\n };\n });\n}","function createInternalCancelablePromise(promise, initialState) {\n var state = initialState;\n return {\n then: function then(onfulfilled, onrejected) {\n return createInternalCancelablePromise(promise.then(createCallback(onfulfilled, state, promise), createCallback(onrejected, state, promise)), state);\n },\n catch: function _catch(onrejected) {\n return createInternalCancelablePromise(promise.catch(createCallback(onrejected, state, promise)), state);\n },\n finally: function _finally(onfinally) {\n if (onfinally) {\n state.onCancelList.push(onfinally);\n }\n return createInternalCancelablePromise(promise.finally(createCallback(onfinally && function () {\n state.onCancelList = [];\n return onfinally();\n }, state, promise)), state);\n },\n cancel: function cancel() {\n state.isCanceled = true;\n var callbacks = state.onCancelList;\n state.onCancelList = [];\n callbacks.forEach(function (callback) {\n callback();\n });\n },\n isCanceled: function isCanceled() {\n return state.isCanceled === true;\n }\n };\n}\nexport function createCancelablePromise(executor) {\n return createInternalCancelablePromise(new Promise(function (resolve, reject) {\n return executor(resolve, reject);\n }), {\n isCanceled: false,\n onCancelList: []\n });\n}\ncreateCancelablePromise.resolve = function (value) {\n return cancelable(Promise.resolve(value));\n};\ncreateCancelablePromise.reject = function (reason) {\n return cancelable(Promise.reject(reason));\n};\nexport function cancelable(promise) {\n return createInternalCancelablePromise(promise, {\n isCanceled: false,\n onCancelList: []\n });\n}\nfunction createCallback(onResult, state, fallback) {\n if (!onResult) {\n return fallback;\n }\n return function callback(arg) {\n if (state.isCanceled) {\n return arg;\n }\n return onResult(arg);\n };\n}","// We don't have access to the autocomplete source when we call `onKeyDown`\n// or `onClick` because those are native browser events.\n// However, we can get the source from the suggestion index.\nfunction getCollectionFromActiveItemId(state) {\n // Given 3 sources with respectively 1, 2 and 3 suggestions: [1, 2, 3]\n // We want to get the accumulated counts:\n // [1, 1 + 2, 1 + 2 + 3] = [1, 3, 3 + 3] = [1, 3, 6]\n var accumulatedCollectionsCount = state.collections.map(function (collections) {\n return collections.items.length;\n }).reduce(function (acc, collectionsCount, index) {\n var previousValue = acc[index - 1] || 0;\n var nextValue = previousValue + collectionsCount;\n acc.push(nextValue);\n return acc;\n }, []);\n\n // Based on the accumulated counts, we can infer the index of the suggestion.\n var collectionIndex = accumulatedCollectionsCount.reduce(function (acc, current) {\n if (current <= state.activeItemId) {\n return acc + 1;\n }\n return acc;\n }, 0);\n return state.collections[collectionIndex];\n}\n\n/**\n * Gets the highlighted index relative to a suggestion object (not the absolute\n * highlighted index).\n *\n * Example:\n * [['a', 'b'], ['c', 'd', 'e'], ['f']]\n * ↑\n * (absolute: 3, relative: 1)\n */\nfunction getRelativeActiveItemId(_ref) {\n var state = _ref.state,\n collection = _ref.collection;\n var isOffsetFound = false;\n var counter = 0;\n var previousItemsOffset = 0;\n while (isOffsetFound === false) {\n var currentCollection = state.collections[counter];\n if (currentCollection === collection) {\n isOffsetFound = true;\n break;\n }\n previousItemsOffset += currentCollection.items.length;\n counter++;\n }\n return state.activeItemId - previousItemsOffset;\n}\nexport function getActiveItem(state) {\n var collection = getCollectionFromActiveItemId(state);\n if (!collection) {\n return null;\n }\n var item = collection.items[getRelativeActiveItemId({\n state: state,\n collection: collection\n })];\n var source = collection.source;\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: state\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: state\n });\n return {\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n source: source\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"event\", \"nextState\", \"props\", \"query\", \"refresh\", \"store\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { reshape } from './reshape';\nimport { preResolve, resolve, postResolve } from './resolve';\nimport { cancelable, createConcurrentSafePromise, getActiveItem } from './utils';\nvar lastStalledId = null;\nvar runConcurrentSafePromise = createConcurrentSafePromise();\nexport function onInput(_ref) {\n var event = _ref.event,\n _ref$nextState = _ref.nextState,\n nextState = _ref$nextState === void 0 ? {} : _ref$nextState,\n props = _ref.props,\n query = _ref.query,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n var setCollections = setters.setCollections,\n setIsOpen = setters.setIsOpen,\n setQuery = setters.setQuery,\n setActiveItemId = setters.setActiveItemId,\n setStatus = setters.setStatus,\n setContext = setters.setContext;\n setQuery(query);\n setActiveItemId(props.defaultActiveItemId);\n if (!query && props.openOnFocus === false) {\n var _nextState$isOpen;\n var collections = store.getState().collections.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n items: []\n });\n });\n setStatus('idle');\n setCollections(collections);\n setIsOpen((_nextState$isOpen = nextState.isOpen) !== null && _nextState$isOpen !== void 0 ? _nextState$isOpen : props.shouldPanelOpen({\n state: store.getState()\n }));\n\n // We make sure to update the latest resolved value of the tracked\n // promises to keep late resolving promises from \"cancelling\" the state\n // updates performed in this code path.\n // We chain with a void promise to respect `onInput`'s expected return type.\n var _request = cancelable(runConcurrentSafePromise(collections).then(function () {\n return Promise.resolve();\n }));\n return store.pendingRequests.add(_request);\n }\n setStatus('loading');\n lastStalledId = props.environment.setTimeout(function () {\n setStatus('stalled');\n }, props.stallThreshold);\n\n // We track the entire promise chain triggered by `onInput` before mutating\n // the Autocomplete state to make sure that any state manipulation is based on\n // fresh data regardless of when promises individually resolve.\n // We don't track nested promises and only rely on the full chain resolution,\n // meaning we should only ever manipulate the state once this concurrent-safe\n // promise is resolved.\n var request = cancelable(runConcurrentSafePromise(props.getSources(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters)).then(function (sources) {\n return Promise.all(sources.map(function (source) {\n return Promise.resolve(source.getItems(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters))).then(function (itemsOrDescription) {\n return preResolve(itemsOrDescription, source.sourceId, store.getState());\n });\n })).then(resolve).then(function (responses) {\n var __automaticInsights = responses.some(function (_ref2) {\n var items = _ref2.items;\n return isSearchResponseWithAutomaticInsightsFlag(items);\n });\n\n // No need to pollute the context if `__automaticInsights=false`\n if (__automaticInsights) {\n var _store$getState$conte;\n setContext({\n algoliaInsightsPlugin: _objectSpread(_objectSpread({}, ((_store$getState$conte = store.getState().context) === null || _store$getState$conte === void 0 ? void 0 : _store$getState$conte.algoliaInsightsPlugin) || {}), {}, {\n __automaticInsights: __automaticInsights\n })\n });\n }\n return postResolve(responses, sources, store);\n }).then(function (collections) {\n return reshape({\n collections: collections,\n props: props,\n state: store.getState()\n });\n });\n }))).then(function (collections) {\n var _nextState$isOpen2;\n // Parameters passed to `onInput` could be stale when the following code\n // executes, because `onInput` calls may not resolve in order.\n // If it becomes a problem we'll need to save the last passed parameters.\n // See: https://codesandbox.io/s/agitated-cookies-y290z\n\n setStatus('idle');\n setCollections(collections);\n var isPanelOpen = props.shouldPanelOpen({\n state: store.getState()\n });\n setIsOpen((_nextState$isOpen2 = nextState.isOpen) !== null && _nextState$isOpen2 !== void 0 ? _nextState$isOpen2 : props.openOnFocus && !query && isPanelOpen || isPanelOpen);\n var highlightedItem = getActiveItem(store.getState());\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }).finally(function () {\n setStatus('idle');\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n });\n return store.pendingRequests.add(request);\n}\nfunction isSearchResponseWithAutomaticInsightsFlag(items) {\n return !Array.isArray(items) && Boolean(items === null || items === void 0 ? void 0 : items._automaticInsights);\n}","/**\n * Creates a runner that executes promises in a concurrent-safe way.\n *\n * This is useful to prevent older promises to resolve after a newer promise,\n * otherwise resulting in stale resolved values.\n */\nexport function createConcurrentSafePromise() {\n var basePromiseId = -1;\n var latestResolvedId = -1;\n var latestResolvedValue = undefined;\n return function runConcurrentSafePromise(promise) {\n basePromiseId++;\n var currentPromiseId = basePromiseId;\n return Promise.resolve(promise).then(function (x) {\n // The promise might take too long to resolve and get outdated. This would\n // result in resolving stale values.\n // When this happens, we ignore the promise value and return the one\n // coming from the latest resolved value.\n //\n // +----------------------------------+\n // | 100ms |\n // | run(1) +---> R1 |\n // | 300ms |\n // | run(2) +-------------> R2 (SKIP) |\n // | 200ms |\n // | run(3) +--------> R3 |\n // +----------------------------------+\n if (latestResolvedValue && currentPromiseId < latestResolvedId) {\n return latestResolvedValue;\n }\n latestResolvedId = currentPromiseId;\n latestResolvedValue = x;\n return x;\n });\n };\n}","export function mapToAlgoliaResponse(rawResults) {\n return {\n results: rawResults,\n hits: rawResults.map(function (result) {\n return result.hits;\n }).filter(Boolean),\n facetHits: rawResults.map(function (result) {\n var _facetHits;\n return (_facetHits = result.facetHits) === null || _facetHits === void 0 ? void 0 : _facetHits.map(function (facetHit) {\n // Bring support for the highlighting components.\n return {\n label: facetHit.value,\n count: facetHit.count,\n _highlightResult: {\n label: {\n value: facetHit.highlighted\n }\n }\n };\n });\n }).filter(Boolean)\n };\n}","/**\n * Returns a full element id for an autocomplete element.\n *\n * @param autocompleteInstanceId The id of the autocomplete instance\n * @param elementId The specific element id\n * @param source The source of the element, when it needs to be scoped\n */\nexport function getAutocompleteElementId(autocompleteInstanceId, elementId, source) {\n return [autocompleteInstanceId, source === null || source === void 0 ? void 0 : source.sourceId, elementId].filter(Boolean).join('-').replace(/\\s/g, '');\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"event\", \"props\", \"refresh\", \"store\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { onInput } from './onInput';\nimport { getActiveItem, getAutocompleteElementId } from './utils';\nexport function onKeyDown(_ref) {\n var event = _ref.event,\n props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n // eslint-disable-next-line no-inner-declarations\n var triggerScrollIntoView = function triggerScrollIntoView() {\n var highlightedItem = getActiveItem(store.getState());\n var nodeItem = props.environment.document.getElementById(getAutocompleteElementId(props.id, \"item-\".concat(store.getState().activeItemId), highlightedItem === null || highlightedItem === void 0 ? void 0 : highlightedItem.source));\n if (nodeItem) {\n if (nodeItem.scrollIntoViewIfNeeded) {\n nodeItem.scrollIntoViewIfNeeded(false);\n } else {\n nodeItem.scrollIntoView(false);\n }\n }\n }; // eslint-disable-next-line no-inner-declarations\n var triggerOnActive = function triggerOnActive() {\n var highlightedItem = getActiveItem(store.getState());\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }; // Default browser behavior changes the caret placement on ArrowUp and\n // ArrowDown.\n event.preventDefault();\n\n // When re-opening the panel, we need to split the logic to keep the actions\n // synchronized as `onInput` returns a promise.\n if (store.getState().isOpen === false && (props.openOnFocus || Boolean(store.getState().query))) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n store.dispatch(event.key, {\n nextActiveItemId: props.defaultActiveItemId\n });\n triggerOnActive();\n // Since we rely on the DOM, we need to wait for all the micro tasks to\n // finish (which include re-opening the panel) to make sure all the\n // elements are available.\n setTimeout(triggerScrollIntoView, 0);\n });\n } else {\n store.dispatch(event.key, {});\n triggerOnActive();\n triggerScrollIntoView();\n }\n } else if (event.key === 'Escape') {\n // This prevents the default browser behavior on `input[type=\"search\"]`\n // from removing the query right away because we first want to close the\n // panel.\n event.preventDefault();\n store.dispatch(event.key, null);\n\n // Hitting the `Escape` key signals the end of a user interaction with the\n // autocomplete. At this point, we should ignore any requests that are still\n // pending and could reopen the panel once they resolve, because that would\n // result in an unsolicited UI behavior.\n store.pendingRequests.cancelAll();\n } else if (event.key === 'Tab') {\n store.dispatch('blur', null);\n\n // Hitting the `Tab` key signals the end of a user interaction with the\n // autocomplete. At this point, we should ignore any requests that are still\n // pending and could reopen the panel once they resolve, because that would\n // result in an unsolicited UI behavior.\n store.pendingRequests.cancelAll();\n } else if (event.key === 'Enter') {\n // No active item, so we let the browser handle the native `onSubmit` form\n // event.\n if (store.getState().activeItemId === null || store.getState().collections.every(function (collection) {\n return collection.items.length === 0;\n })) {\n // If requests are still pending when the panel closes, they could reopen\n // the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n if (!props.debug) {\n store.pendingRequests.cancelAll();\n }\n return;\n }\n\n // This prevents the `onSubmit` event to be sent because an item is\n // highlighted.\n event.preventDefault();\n var _ref2 = getActiveItem(store.getState()),\n item = _ref2.item,\n itemInputValue = _ref2.itemInputValue,\n itemUrl = _ref2.itemUrl,\n source = _ref2.source;\n if (event.metaKey || event.ctrlKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewTab({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.shiftKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewWindow({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.altKey) {\n // Keep native browser behavior\n } else {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigate({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n return;\n }\n onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }\n}","var regex = /((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;\nexport function isSamsung(userAgent) {\n return Boolean(userAgent && userAgent.match(regex));\n}","export function getNativeEvent(event) {\n return event.nativeEvent || event;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"props\", \"refresh\", \"store\"],\n _excluded2 = [\"inputElement\", \"formElement\", \"panelElement\"],\n _excluded3 = [\"inputElement\"],\n _excluded4 = [\"inputElement\", \"maxLength\"],\n _excluded5 = [\"source\"],\n _excluded6 = [\"item\", \"source\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { noop } from '@algolia/autocomplete-shared';\nimport { onInput } from './onInput';\nimport { onKeyDown as _onKeyDown } from './onKeyDown';\nimport { getActiveItem, getAutocompleteElementId, isOrContainsNode, isSamsung, getNativeEvent } from './utils';\nexport function getPropGetters(_ref) {\n var props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n var getEnvironmentProps = function getEnvironmentProps(providedProps) {\n var inputElement = providedProps.inputElement,\n formElement = providedProps.formElement,\n panelElement = providedProps.panelElement,\n rest = _objectWithoutProperties(providedProps, _excluded2);\n function onMouseDownOrTouchStart(event) {\n // The `onTouchStart`/`onMouseDown` events shouldn't trigger the `blur`\n // handler when it's not an interaction with Autocomplete.\n // We detect it with the following heuristics:\n // - the panel is closed AND there are no pending requests\n // (no interaction with the autocomplete, no future state updates)\n // - OR the touched target is the input element (should open the panel)\n var isAutocompleteInteraction = store.getState().isOpen || !store.pendingRequests.isEmpty();\n if (!isAutocompleteInteraction || event.target === inputElement) {\n return;\n }\n\n // @TODO: support cases where there are multiple Autocomplete instances.\n // Right now, a second instance makes this computation return false.\n var isTargetWithinAutocomplete = [formElement, panelElement].some(function (contextNode) {\n return isOrContainsNode(contextNode, event.target);\n });\n if (isTargetWithinAutocomplete === false) {\n store.dispatch('blur', null);\n\n // If requests are still pending when the user closes the panel, they\n // could reopen the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n if (!props.debug) {\n store.pendingRequests.cancelAll();\n }\n }\n }\n return _objectSpread({\n // We do not rely on the native `blur` event of the input to close the\n // panel, but rather on a custom `touchstart`/`mousedown` event outside\n // of the autocomplete elements.\n // This ensures we don't mistakenly interpret interactions within the\n // autocomplete (but outside of the input) as a signal to close the panel.\n // For example, clicking reset button causes an input blur, but if\n // `openOnFocus=true`, it shouldn't close the panel.\n // On touch devices, scrolling results (`touchmove`) causes an input blur\n // but shouldn't close the panel.\n onTouchStart: onMouseDownOrTouchStart,\n onMouseDown: onMouseDownOrTouchStart,\n // When scrolling on touch devices (mobiles, tablets, etc.), we want to\n // mimic the native platform behavior where the input is blurred to\n // hide the virtual keyboard. This gives more vertical space to\n // discover all the suggestions showing up in the panel.\n onTouchMove: function onTouchMove(event) {\n if (store.getState().isOpen === false || inputElement !== props.environment.document.activeElement || event.target === inputElement) {\n return;\n }\n inputElement.blur();\n }\n }, rest);\n };\n var getRootProps = function getRootProps(rest) {\n return _objectSpread({\n role: 'combobox',\n 'aria-expanded': store.getState().isOpen,\n 'aria-haspopup': 'listbox',\n 'aria-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}","export var version = '1.17.4';","import { version } from './version';\nexport var userAgents = [{\n segment: 'autocomplete-core',\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); }\nimport { userAgents } from '@algolia/autocomplete-shared';\nexport function getMetadata(_ref) {\n var _, _options$__autocomple, _options$__autocomple2, _options$__autocomple3;\n var plugins = _ref.plugins,\n options = _ref.options;\n var optionsKey = (_ = (((_options$__autocomple = options.__autocomplete_metadata) === null || _options$__autocomple === void 0 ? void 0 : _options$__autocomple.userAgents) || [])[0]) === null || _ === void 0 ? void 0 : _.segment;\n var extraOptions = optionsKey ? _defineProperty({}, optionsKey, Object.keys(((_options$__autocomple2 = options.__autocomplete_metadata) === null || _options$__autocomple2 === void 0 ? void 0 : _options$__autocomple2.options) || {})) : {};\n return {\n plugins: plugins.map(function (plugin) {\n return {\n name: plugin.name,\n options: Object.keys(plugin.__autocomplete_pluginOptions || [])\n };\n }),\n options: _objectSpread({\n 'autocomplete-core': Object.keys(options)\n }, extraOptions),\n ua: userAgents.concat(((_options$__autocomple3 = options.__autocomplete_metadata) === null || _options$__autocomple3 === void 0 ? void 0 : _options$__autocomple3.userAgents) || [])\n };\n}\nexport function injectMetadata(_ref3) {\n var _environment$navigato, _environment$navigato2;\n var metadata = _ref3.metadata,\n environment = _ref3.environment;\n var isMetadataEnabled = (_environment$navigato = environment.navigator) === null || _environment$navigato === void 0 ? void 0 : (_environment$navigato2 = _environment$navigato.userAgent) === null || _environment$navigato2 === void 0 ? void 0 : _environment$navigato2.includes('Algolia Crawler');\n if (isMetadataEnabled) {\n var metadataContainer = environment.document.createElement('meta');\n var headRef = environment.document.querySelector('head');\n metadataContainer.name = 'algolia:metadata';\n setTimeout(function () {\n metadataContainer.content = JSON.stringify(metadata);\n headRef.appendChild(metadataContainer);\n }, 0);\n }\n}","import { getActiveItem } from './utils';\nexport function getCompletion(_ref) {\n var _getActiveItem;\n var state = _ref.state;\n if (state.isOpen === false || state.activeItemId === null) {\n return null;\n }\n return ((_getActiveItem = getActiveItem(state)) === null || _getActiveItem === void 0 ? void 0 : _getActiveItem.itemInputValue) || null;\n}","/**\n * Returns the next active item ID from the current state.\n *\n * We allow circular keyboard navigation from the base index.\n * The base index can either be `null` (nothing is highlighted) or `0`\n * (the first item is highlighted).\n * The base index is allowed to get assigned `null` only if\n * `props.defaultActiveItemId` is `null`. This pattern allows to \"stop\"\n * by the actual query before navigating to other suggestions as seen on\n * Google or Amazon.\n *\n * @param moveAmount The offset to increment (or decrement) the last index\n * @param baseIndex The current index to compute the next index from\n * @param itemCount The number of items\n * @param defaultActiveItemId The default active index to fallback to\n */\nexport function getNextActiveItemId(moveAmount, baseIndex, itemCount, defaultActiveItemId) {\n if (!itemCount) {\n return null;\n }\n if (moveAmount < 0 && (baseIndex === null || defaultActiveItemId !== null && baseIndex === 0)) {\n return itemCount + moveAmount;\n }\n var numericIndex = (baseIndex === null ? -1 : baseIndex) + moveAmount;\n if (numericIndex <= -1 || numericIndex >= itemCount) {\n return defaultActiveItemId === null ? null : 0;\n }\n return numericIndex;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { getItemsCount, invariant } from '@algolia/autocomplete-shared';\nimport { getCompletion } from './getCompletion';\nimport { getNextActiveItemId } from './utils';\nexport var stateReducer = function stateReducer(state, action) {\n switch (action.type) {\n case 'setActiveItemId':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n case 'setQuery':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n query: action.payload,\n completion: null\n });\n }\n case 'setCollections':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n collections: action.payload\n });\n }\n case 'setIsOpen':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: action.payload\n });\n }\n case 'setStatus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n status: action.payload\n });\n }\n case 'setContext':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n context: _objectSpread(_objectSpread({}, state.context), action.payload)\n });\n }\n case 'ArrowDown':\n {\n var nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload.hasOwnProperty('nextActiveItemId') ? action.payload.nextActiveItemId : getNextActiveItemId(1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n return _objectSpread(_objectSpread({}, nextState), {}, {\n completion: getCompletion({\n state: nextState\n })\n });\n }\n case 'ArrowUp':\n {\n var _nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: getNextActiveItemId(-1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n return _objectSpread(_objectSpread({}, _nextState), {}, {\n completion: getCompletion({\n state: _nextState\n })\n });\n }\n case 'Escape':\n {\n if (state.isOpen) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n completion: null\n });\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n query: '',\n status: 'idle',\n collections: []\n });\n }\n case 'submit':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n status: 'idle'\n });\n }\n case 'reset':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId:\n // Since we open the panel on reset when openOnFocus=true\n // we need to restore the highlighted index to the defaultActiveItemId. (DocSearch use-case)\n\n // Since we close the panel when openOnFocus=false\n // we lose track of the highlighted index. (Query-suggestions use-case)\n action.props.openOnFocus === true ? action.props.defaultActiveItemId : null,\n status: 'idle',\n completion: null,\n query: ''\n });\n }\n case 'focus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId,\n isOpen: (action.props.openOnFocus || Boolean(state.query)) && action.props.shouldPanelOpen({\n state: state\n })\n });\n }\n case 'blur':\n {\n if (action.props.debug) {\n return state;\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: false,\n activeItemId: null\n });\n }\n case 'mousemove':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n case 'mouseleave':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId\n });\n }\n default:\n invariant(false, \"The reducer action \".concat(JSON.stringify(action.type), \" is not supported.\"));\n return state;\n }\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { createAlgoliaInsightsPlugin } from '@algolia/autocomplete-plugin-algolia-insights';\nimport { checkOptions } from './checkOptions';\nimport { createStore } from './createStore';\nimport { getAutocompleteSetters } from './getAutocompleteSetters';\nimport { getDefaultProps } from './getDefaultProps';\nimport { getPropGetters } from './getPropGetters';\nimport { getMetadata, injectMetadata } from './metadata';\nimport { onInput } from './onInput';\nimport { stateReducer } from './stateReducer';\nexport function createAutocomplete(options) {\n checkOptions(options);\n var subscribers = [];\n var props = getDefaultProps(options, subscribers);\n var store = createStore(stateReducer, props, onStoreStateChange);\n var setters = getAutocompleteSetters({\n store: store\n });\n var propGetters = getPropGetters(_objectSpread({\n props: props,\n refresh: refresh,\n store: store,\n navigator: props.navigator\n }, setters));\n function onStoreStateChange(_ref) {\n var _state$context, _state$context$algoli;\n var prevState = _ref.prevState,\n state = _ref.state;\n props.onStateChange(_objectSpread({\n prevState: prevState,\n state: state,\n refresh: refresh,\n navigator: props.navigator\n }, setters));\n if (!isAlgoliaInsightsPluginEnabled() && (_state$context = state.context) !== null && _state$context !== void 0 && (_state$context$algoli = _state$context.algoliaInsightsPlugin) !== null && _state$context$algoli !== void 0 && _state$context$algoli.__automaticInsights && props.insights !== false) {\n var plugin = createAlgoliaInsightsPlugin({\n __autocomplete_clickAnalytics: false\n });\n props.plugins.push(plugin);\n subscribePlugins([plugin]);\n }\n }\n function refresh() {\n return onInput(_objectSpread({\n event: new Event('input'),\n nextState: {\n isOpen: store.getState().isOpen\n },\n props: props,\n navigator: props.navigator,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n function subscribePlugins(plugins) {\n plugins.forEach(function (plugin) {\n var _plugin$subscribe;\n return (_plugin$subscribe = plugin.subscribe) === null || _plugin$subscribe === void 0 ? void 0 : _plugin$subscribe.call(plugin, _objectSpread(_objectSpread({}, setters), {}, {\n navigator: props.navigator,\n refresh: refresh,\n onSelect: function onSelect(fn) {\n subscribers.push({\n onSelect: fn\n });\n },\n onActive: function onActive(fn) {\n subscribers.push({\n onActive: fn\n });\n },\n onResolve: function onResolve(fn) {\n subscribers.push({\n onResolve: fn\n });\n }\n }));\n });\n }\n function isAlgoliaInsightsPluginEnabled() {\n return props.plugins.some(function (plugin) {\n return plugin.name === 'aa.algoliaInsightsPlugin';\n });\n }\n if (props.insights && !isAlgoliaInsightsPluginEnabled()) {\n var insightsParams = typeof props.insights === 'boolean' ? {} : props.insights;\n props.plugins.push(createAlgoliaInsightsPlugin(insightsParams));\n }\n subscribePlugins(props.plugins);\n injectMetadata({\n metadata: getMetadata({\n plugins: props.plugins,\n options: options\n }),\n environment: props.environment\n });\n return _objectSpread(_objectSpread({\n refresh: refresh,\n navigator: props.navigator\n }, propGetters), setters);\n}","export function createCancelablePromiseList() {\n var list = [];\n return {\n add: function add(cancelablePromise) {\n list.push(cancelablePromise);\n return cancelablePromise.finally(function () {\n list = list.filter(function (item) {\n return item !== cancelablePromise;\n });\n });\n },\n cancelAll: function cancelAll() {\n list.forEach(function (promise) {\n return promise.cancel();\n });\n },\n isEmpty: function isEmpty() {\n return list.length === 0;\n }\n };\n}","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","export var SearchIcon = function SearchIcon(_ref) {\n var environment = _ref.environment;\n var element = environment.document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n element.setAttribute('class', 'aa-SubmitIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n element.setAttribute('fill', 'currentColor');\n var path = environment.document.createElementNS('http://www.w3.org/2000/svg', 'path');\n path.setAttribute('d', 'M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z');\n element.appendChild(path);\n return element;\n};","export var ClearIcon = function ClearIcon(_ref) {\n var environment = _ref.environment;\n var element = environment.document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n element.setAttribute('class', 'aa-ClearIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '18');\n element.setAttribute('height', '18');\n element.setAttribute('fill', 'currentColor');\n var path = environment.document.createElementNS('http://www.w3.org/2000/svg', 'path');\n path.setAttribute('d', 'M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z');\n element.appendChild(path);\n return element;\n};","export var LoadingIcon = function LoadingIcon(_ref) {\n var environment = _ref.environment;\n var element = environment.document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n element.setAttribute('class', 'aa-LoadingIcon');\n element.setAttribute('viewBox', '0 0 100 100');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n element.innerHTML = \"\\n \\n\";\n return element;\n};","/* eslint-disable */\n\n/**\n * Touch-specific event aliases\n *\n * See https://w3c.github.io/touch-events/#extensions-to-the-globaleventhandlers-mixin\n */\nvar TOUCH_EVENTS_ALIASES = ['ontouchstart', 'ontouchend', 'ontouchmove', 'ontouchcancel'];\n\n/*\n * Taken from Preact\n *\n * See https://github.com/preactjs/preact/blob/6ab49d9020740127577bf4af66bf63f4af7f9fee/src/diff/props.js#L58-L151\n */\n\nfunction setStyle(style, key, value) {\n if (value === null) {\n style[key] = '';\n } else if (typeof value !== 'number') {\n style[key] = value;\n } else {\n style[key] = value + 'px';\n }\n}\n\n/**\n * Proxy an event to hooked event handlers\n */\nfunction eventProxy(event) {\n this._listeners[event.type](event);\n}\n\n/**\n * Set a property value on a DOM node\n */\nexport function setProperty(dom, name, value) {\n var useCapture;\n var nameLower;\n var oldValue = dom[name];\n if (name === 'style') {\n if (typeof value == 'string') {\n dom.style = value;\n } else {\n if (value === null) {\n dom.style = '';\n } else {\n for (name in value) {\n if (!oldValue || value[name] !== oldValue[name]) {\n setStyle(dom.style, name, value[name]);\n }\n }\n }\n }\n }\n // Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n else if (name[0] === 'o' && name[1] === 'n') {\n useCapture = name !== (name = name.replace(/Capture$/, ''));\n nameLower = name.toLowerCase();\n if (nameLower in dom || TOUCH_EVENTS_ALIASES.includes(nameLower)) name = nameLower;\n name = name.slice(2);\n if (!dom._listeners) dom._listeners = {};\n dom._listeners[name] = value;\n if (value) {\n if (!oldValue) dom.addEventListener(name, eventProxy, useCapture);\n } else {\n dom.removeEventListener(name, eventProxy, useCapture);\n }\n } else if (name !== 'list' && name !== 'tagName' &&\n // HTMLButtonElement.form and HTMLInputElement.form are read-only but can be set using\n // setAttribute\n name !== 'form' && name !== 'type' && name !== 'size' && name !== 'download' && name !== 'href' && name in dom) {\n dom[name] = value == null ? '' : value;\n } else if (typeof value != 'function' && name !== 'dangerouslySetInnerHTML') {\n if (value == null || value === false &&\n // ARIA-attributes have a different notion of boolean values.\n // The value `false` is different from the attribute not\n // existing on the DOM, so we can't remove it. For non-boolean\n // ARIA-attributes we could treat false as a removal, but the\n // amount of exceptions would cost us too many bytes. On top of\n // that other VDOM frameworks also always stringify `false`.\n !/^ar/.test(name)) {\n dom.removeAttribute(name);\n } else {\n dom.setAttribute(name, value);\n }\n }\n}\nfunction getNormalizedName(name) {\n switch (name) {\n case 'onChange':\n return 'onInput';\n // see: https://github.com/preactjs/preact/issues/1978\n case 'onCompositionEnd':\n return 'oncompositionend';\n default:\n return name;\n }\n}\nexport function setProperties(dom, props) {\n for (var name in props) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n}\nexport function setPropertiesWithoutEvents(dom, props) {\n for (var name in props) {\n if (!(name[0] === 'o' && name[1] === 'n')) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n }\n}","var _excluded = [\"children\"];\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { setProperties } from './utils';\nexport function getCreateDomElement(environment) {\n return function createDomElement(tagName, _ref) {\n var _ref$children = _ref.children,\n children = _ref$children === void 0 ? [] : _ref$children,\n props = _objectWithoutProperties(_ref, _excluded);\n var element = environment.document.createElement(tagName);\n setProperties(element, props);\n element.append.apply(element, _toConsumableArray(children));\n return element;\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _excluded = [\"autocompleteScopeApi\", \"environment\", \"classNames\", \"getInputProps\", \"getInputPropsCore\", \"isDetached\", \"state\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport { getCreateDomElement } from '../getCreateDomElement';\nimport { setProperties } from '../utils';\nexport var Input = function Input(_ref) {\n var autocompleteScopeApi = _ref.autocompleteScopeApi,\n environment = _ref.environment,\n classNames = _ref.classNames,\n getInputProps = _ref.getInputProps,\n getInputPropsCore = _ref.getInputPropsCore,\n isDetached = _ref.isDetached,\n state = _ref.state,\n props = _objectWithoutProperties(_ref, _excluded);\n var createDomElement = getCreateDomElement(environment);\n var element = createDomElement('input', props);\n var inputProps = getInputProps(_objectSpread({\n state: state,\n props: getInputPropsCore({\n inputElement: element\n }),\n inputElement: element\n }, autocompleteScopeApi));\n setProperties(element, _objectSpread(_objectSpread({}, inputProps), {}, {\n onKeyDown: function onKeyDown(event) {\n // In detached mode we don't want to close the panel when hitting `Tab`.\n if (isDetached && event.key === 'Tab') {\n return;\n }\n inputProps.onKeyDown(event);\n }\n }));\n return element;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { ClearIcon, Input, LoadingIcon, SearchIcon } from './elements';\nimport { getCreateDomElement } from './getCreateDomElement';\nimport { setProperties } from './utils';\nexport function createAutocompleteDom(_ref) {\n var autocomplete = _ref.autocomplete,\n autocompleteScopeApi = _ref.autocompleteScopeApi,\n classNames = _ref.classNames,\n environment = _ref.environment,\n isDetached = _ref.isDetached,\n _ref$placeholder = _ref.placeholder,\n placeholder = _ref$placeholder === void 0 ? 'Search' : _ref$placeholder,\n propGetters = _ref.propGetters,\n setIsModalOpen = _ref.setIsModalOpen,\n state = _ref.state,\n translations = _ref.translations;\n var createDomElement = getCreateDomElement(environment);\n var rootProps = propGetters.getRootProps(_objectSpread({\n state: state,\n props: autocomplete.getRootProps({})\n }, autocompleteScopeApi));\n var root = createDomElement('div', _objectSpread({\n class: classNames.root\n }, rootProps));\n var detachedContainer = createDomElement('div', {\n class: classNames.detachedContainer,\n onMouseDown: function onMouseDown(event) {\n event.stopPropagation();\n }\n });\n var detachedOverlay = createDomElement('div', {\n class: classNames.detachedOverlay,\n children: [detachedContainer],\n onMouseDown: function onMouseDown() {\n setIsModalOpen(false);\n autocomplete.setIsOpen(false);\n }\n });\n var labelProps = propGetters.getLabelProps(_objectSpread({\n state: state,\n props: autocomplete.getLabelProps({})\n }, autocompleteScopeApi));\n var submitButton = createDomElement('button', {\n class: classNames.submitButton,\n type: 'submit',\n title: translations.submitButtonTitle,\n children: [SearchIcon({\n environment: environment\n })]\n });\n // @MAJOR Remove the label wrapper for the submit button.\n // The submit button is sufficient for accessibility purposes, and\n // wrapping it with the label actually makes it less accessible (see CR-6077).\n var label = createDomElement('label', _objectSpread({\n class: classNames.label,\n children: [submitButton],\n ariaLabel: translations.submitButtonTitle\n }, labelProps));\n var clearButton = createDomElement('button', {\n class: classNames.clearButton,\n type: 'reset',\n title: translations.clearButtonTitle,\n children: [ClearIcon({\n environment: environment\n })]\n });\n var loadingIndicator = createDomElement('div', {\n class: classNames.loadingIndicator,\n children: [LoadingIcon({\n environment: environment\n })]\n });\n var input = Input({\n class: classNames.input,\n environment: environment,\n state: state,\n getInputProps: propGetters.getInputProps,\n getInputPropsCore: autocomplete.getInputProps,\n autocompleteScopeApi: autocompleteScopeApi,\n isDetached: isDetached\n });\n var inputWrapperPrefix = createDomElement('div', {\n class: classNames.inputWrapperPrefix,\n children: [label, loadingIndicator]\n });\n var inputWrapperSuffix = createDomElement('div', {\n class: classNames.inputWrapperSuffix,\n children: [clearButton]\n });\n var inputWrapper = createDomElement('div', {\n class: classNames.inputWrapper,\n children: [input]\n });\n var formProps = propGetters.getFormProps(_objectSpread({\n state: state,\n props: autocomplete.getFormProps({\n inputElement: input\n })\n }, autocompleteScopeApi));\n var form = createDomElement('form', _objectSpread({\n class: classNames.form,\n children: [inputWrapperPrefix, inputWrapper, inputWrapperSuffix]\n }, formProps));\n var panelProps = propGetters.getPanelProps(_objectSpread({\n state: state,\n props: autocomplete.getPanelProps({})\n }, autocompleteScopeApi));\n var panel = createDomElement('div', _objectSpread({\n class: classNames.panel\n }, panelProps));\n var detachedSearchButtonQuery = createDomElement('div', {\n class: classNames.detachedSearchButtonQuery,\n textContent: state.query\n });\n var detachedSearchButtonPlaceholder = createDomElement('div', {\n class: classNames.detachedSearchButtonPlaceholder,\n hidden: Boolean(state.query),\n textContent: placeholder\n });\n if (process.env.NODE_ENV === 'test') {\n setProperties(panel, {\n 'data-testid': 'panel'\n });\n }\n if (isDetached) {\n var detachedSearchButtonIcon = createDomElement('div', {\n class: classNames.detachedSearchButtonIcon,\n children: [SearchIcon({\n environment: environment\n })]\n });\n var detachedSearchButton = createDomElement('button', {\n type: 'button',\n class: classNames.detachedSearchButton,\n title: translations.detachedSearchButtonTitle,\n id: labelProps.id,\n onClick: function onClick() {\n setIsModalOpen(true);\n },\n children: [detachedSearchButtonIcon, detachedSearchButtonPlaceholder, detachedSearchButtonQuery]\n });\n var detachedCancelButton = createDomElement('button', {\n type: 'button',\n class: classNames.detachedCancelButton,\n textContent: translations.detachedCancelButtonText,\n // Prevent `onTouchStart` from closing the panel\n // since it should be initiated by `onClick` only\n onTouchStart: function onTouchStart(event) {\n event.stopPropagation();\n },\n onClick: function onClick() {\n autocomplete.setIsOpen(false);\n setIsModalOpen(false);\n }\n });\n var detachedFormContainer = createDomElement('div', {\n class: classNames.detachedFormContainer,\n children: [form, detachedCancelButton]\n });\n detachedContainer.appendChild(detachedFormContainer);\n root.appendChild(detachedSearchButton);\n } else {\n root.appendChild(form);\n }\n return {\n detachedContainer: detachedContainer,\n detachedOverlay: detachedOverlay,\n detachedSearchButtonQuery: detachedSearchButtonQuery,\n detachedSearchButtonPlaceholder: detachedSearchButtonPlaceholder,\n inputWrapper: inputWrapper,\n input: input,\n root: root,\n form: form,\n label: label,\n submitButton: submitButton,\n clearButton: clearButton,\n loadingIndicator: loadingIndicator,\n panel: panel\n };\n}","var n,l,u,t,i,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: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","export function getAttributeValueByPath(record, path) {\n return path.reduce(function (current, key) {\n return current && current[key];\n }, record);\n}","export var HIGHLIGHT_PRE_TAG = '__aa-highlight__';\nexport var HIGHLIGHT_POST_TAG = '__/aa-highlight__';","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}","import { version } from '@algolia/autocomplete-shared';\nexport var userAgents = [{\n segment: 'autocomplete-js',\n version: version\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 default function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}","export default function _pipe(f, g) {\n return function () {\n return g.call(this, f.apply(this, arguments));\n };\n}","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","import _isPlaceholder from \"./_isPlaceholder.js\";\n\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _curry2 from \"./_curry2.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n}","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","import _curry1 from \"./_curry1.js\";\nimport _isArray from \"./_isArray.js\";\nimport _isString from \"./_isString.js\";\n\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n * _isArrayLike({nodeType: 1, length: 1}) // => false\n */\nvar _isArrayLike = /*#__PURE__*/_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n if (!x) {\n return false;\n }\n if (typeof x !== 'object') {\n return false;\n }\n if (_isString(x)) {\n return false;\n }\n if (x.length === 0) {\n return true;\n }\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n return false;\n});\nexport default _isArrayLike;","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","import _isArrayLike from \"./_isArrayLike.js\";\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\nexport default function _createReduce(arrayReduce, methodReduce, iterableReduce) {\n return function _reduce(xf, acc, list) {\n if (_isArrayLike(list)) {\n return arrayReduce(xf, acc, list);\n }\n if (list == null) {\n return acc;\n }\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return methodReduce(xf, acc, list, 'fantasy-land/reduce');\n }\n if (list[symIterator] != null) {\n return iterableReduce(xf, acc, list[symIterator]());\n }\n if (typeof list.next === 'function') {\n return iterableReduce(xf, acc, list);\n }\n if (typeof list.reduce === 'function') {\n return methodReduce(xf, acc, list, 'reduce');\n }\n throw new TypeError('reduce: list must be array or iterable');\n };\n}","export default function _xArrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n idx += 1;\n }\n return xf['@@transducer/result'](acc);\n}","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\nvar bind = /*#__PURE__*/_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\nexport default bind;","import _createReduce from \"./_createReduce.js\";\nimport _xArrayReduce from \"./_xArrayReduce.js\";\nimport bind from \"../bind.js\";\nfunction _xIterableReduce(xf, acc, iter) {\n var step = iter.next();\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n step = iter.next();\n }\n return xf['@@transducer/result'](acc);\n}\nfunction _xMethodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\nvar _xReduce = /*#__PURE__*/_createReduce(_xArrayReduce, _xMethodReduce, _xIterableReduce);\nexport default _xReduce;","var XWrap = /*#__PURE__*/function () {\n function XWrap(fn) {\n this.f = fn;\n }\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n return XWrap;\n}();\nexport default function _xwrap(fn) {\n return new XWrap(fn);\n}","import _curry3 from \"./internal/_curry3.js\";\nimport _xReduce from \"./internal/_xReduce.js\";\nimport _xwrap from \"./internal/_xwrap.js\";\n\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Be cautious of mutating and returning the accumulator. If you reuse it across\n * invocations, it will continue to accumulate onto the same value. The general\n * recommendation is to always return a new value. If you can't do so for\n * performance reasons, then be sure to reinitialize the accumulator on each\n * invocation.\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n * // - -10\n * // / \\ / \\\n * // - 4 -6 4\n * // / \\ / \\\n * // - 3 ==> -3 3\n * // / \\ / \\\n * // - 2 -1 2\n * // / \\ / \\\n * // 0 1 0 1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\nvar reduce = /*#__PURE__*/_curry3(function (xf, acc, list) {\n return _xReduce(typeof xf === 'function' ? _xwrap(xf) : xf, acc, list);\n});\nexport default reduce;","import _isArray from \"./_isArray.js\";\n\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implementation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\nexport default function _checkForMethod(methodname, fn) {\n return function () {\n var length = arguments.length;\n if (length === 0) {\n return fn();\n }\n var obj = arguments[length - 1];\n return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n };\n}","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport slice from \"./slice.js\";\n\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n * R.tail([1, 2, 3]); //=> [2, 3]\n * R.tail([1, 2]); //=> [2]\n * R.tail([1]); //=> []\n * R.tail([]); //=> []\n *\n * R.tail('abc'); //=> 'bc'\n * R.tail('ab'); //=> 'b'\n * R.tail('a'); //=> ''\n * R.tail(''); //=> ''\n */\nvar tail = /*#__PURE__*/_curry1( /*#__PURE__*/_checkForMethod('tail', /*#__PURE__*/slice(1, Infinity)));\nexport default tail;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry3 from \"./internal/_curry3.js\";\n\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c']\n * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(0, 3, 'ramda'); //=> 'ram'\n */\nvar slice = /*#__PURE__*/_curry3( /*#__PURE__*/_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\nexport default slice;","import {\r\n AutocompleteReshapeSource,\r\n BaseItem,\r\n} from '@algolia/autocomplete-core';\r\nimport { flatten } from '@algolia/autocomplete-shared';\r\n\r\n// We filter out falsy values because dynamic sources may not exist at every render.\r\n// We flatten to support pipe operators from functional libraries like Ramda.\r\nexport function normalizeReshapeSources(\r\n sources: Array>\r\n) {\r\n return flatten(sources).filter(Boolean);\r\n}\r\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});","export const ALGOLIA_PRODUCTS_INDEX_NAME = 'glasses';\r\nexport const ALGOLIA_ACCESSORIES_INDEX_NAME = 'accessories';\r\nexport const ALGOLIA_CONTACTS_INDEX_NAME = 'contact_lenses';\r\nexport const ALGOLIA_READERS_INDEX_NAME = 'reading_glasses';\r\nexport const ALGOLIA_PRODUCTS_QUERY_SUGGESTIONS_INDEX_NAME =\r\n 'product_query_suggestions';\r\nexport const ALGOLIA_ARTICLES_INDEX_NAME = 'articles';\r\nexport const ALGOLIA_FAQ_INDEX_NAME = 'faqs';\r\nexport const WEBSITE_URL = 'https://theviewoptique.com/';","import algoliasearch from '../../node_modules/algoliasearch/lite';\r\n\r\nexport const searchClient = algoliasearch('6EKXORE238', 'a9579c10df7cbbee50255665d765a1da');\r\n\r\n\r\n","/** @jsxRuntime classic */\r\n/** @jsx h */\r\nimport {\r\n AutocompletePlugin,\r\n getAlgoliaResults,\r\n} from '@algolia/autocomplete-js';\r\nimport { SearchResponse } from '@algolia/client-search';\r\nimport { h } from 'preact';\r\n\r\nimport { ALGOLIA_ARTICLES_INDEX_NAME } from '../constants';\r\nimport { searchClient } from '../searchClient';\r\nimport { ArticleHit } from '../types';\r\n\r\nexport const articlesPlugin: AutocompletePlugin = {\r\n getSources({ query }) {\r\n if (!query) {\r\n return [];\r\n }\r\n\r\n return [\r\n {\r\n sourceId: 'articlesPlugin',\r\n getItems({ setContext }) {\r\n return getAlgoliaResults({\r\n searchClient,\r\n queries: [\r\n {\r\n indexName: ALGOLIA_ARTICLES_INDEX_NAME,\r\n query,\r\n params: {\r\n hitsPerPage: 2,\r\n },\r\n },\r\n ],\r\n transformResponse({ hits, results }) {\r\n setContext({\r\n nbArticles: (results[0] as SearchResponse).nbHits,\r\n });\r\n\r\n return hits;\r\n },\r\n });\r\n },\r\n onSelect({ setIsOpen }) {\r\n setIsOpen(true);\r\n },\r\n templates: {\r\n header({ Fragment }) {\r\n return (\r\n \r\n Articles\r\n
\r\n \r\n );\r\n },\r\n item({ item }) {\r\n return ;\r\n },\r\n footer({ state }) {\r\n return ( \r\n Number(state.context.nbArticles) > 2 && (\r\n
\r\n \r\n See All Articles ({state.context.nbArticles})\r\n \r\n
\r\n )\r\n );\r\n },\r\n },\r\n },\r\n ];\r\n },\r\n};\r\n\r\ntype ArticleItemProps = {\r\n hit: ArticleHit;\r\n};\r\n\r\nfunction ArticleItem({ hit }: ArticleItemProps) {\r\n return (\r\n \r\n
\r\n
\r\n {hit.title}\r\n
\r\n\r\n
\r\n
{hit.title}
\r\n
\r\n Published on{' '}\r\n {new Date(hit.date).toLocaleDateString('en-US', {\r\n month: 'long',\r\n year: 'numeric',\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\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 { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia facet hits from multiple indices.\n */\nexport function getAlgoliaFacets(requestParams) {\n var requester = createAlgoliaRequester({\n transformResponse: function transformResponse(response) {\n return response.facetHits;\n }\n });\n var queries = requestParams.queries.map(function (query) {\n return _objectSpread(_objectSpread({}, query), {}, {\n type: 'facet'\n });\n });\n return requester(_objectSpread(_objectSpread({}, requestParams), {}, {\n queries: queries\n }));\n}","/** @jsxRuntime classic */\r\n/** @jsx h */\r\nimport { h } from 'preact';\r\n\r\n// We need to keep kebab-case SVG attributes to avoid display issues\r\n// Preact understands kebab-case attributes in JSX.\r\n/* eslint react/no-unknown-property: \"off\" */\r\n\r\nexport function ChevronRightIcon(props: h.JSX.SVGAttributes) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport function StarIcon(props: h.JSX.SVGAttributes) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport function FavoriteIcon(props: h.JSX.SVGAttributes) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport function InfoIcon(props: h.JSX.SVGAttributes) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport function GridIcon(props: h.JSX.SVGAttributes) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport function TagIcon(props: h.JSX.SVGAttributes) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport function SearchIcon(props: h.JSX.SVGAttributes) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import{options as n}from\"preact\";var t,r,u,i,o=0,f=[],c=n,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function d(n,t){c.__h&&c.__h(r,n,o||t),o=0;var u=r.__H||(r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function h(n){return o=1,p(D,n)}function p(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!(!i&&o.__c.props===n)&&(!c||c.call(this,n,t,r))};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function y(n,u){var i=d(t++,3);!c.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__H.__h.push(i))}function _(n,u){var i=d(t++,4);!c.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__h.push(i))}function A(n){return o=5,T(function(){return{current:n}},[])}function F(n,t,r){o=6,_(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function T(n,r){var u=d(t++,7);return C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function q(n,t){return o=8,T(function(){return n},t)}function x(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function P(n,t){c.useDebugValue&&c.useDebugValue(t?t(n):n)}function b(n){var u=d(t++,10),i=h();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=d(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],c.__e(t,n.__v)}}c.__b=function(n){r=null,e&&e(n)},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t)},c.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.i=n.__N=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.i=void 0})),u=r=null},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],c.__e(r,n.__v)}}),l&&l(n,t)},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&c.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{q as useCallback,x as useContext,P as useDebugValue,y as useEffect,b as useErrorBoundary,g as useId,F as useImperativeHandle,_ as useLayoutEffect,T as useMemo,p as useReducer,A as useRef,h as useState};\n//# sourceMappingURL=hooks.module.js.map\n","export function cx(\r\n ...classNames: Array\r\n) {\r\n return classNames.filter(Boolean).join(' ');\r\n}\r\n","export function intersperse(\r\n arr: TItem[],\r\n separator: TSeparator\r\n) {\r\n return arr.reduce((acc, curr) => [...acc, curr, separator], []).slice(0, -1);\r\n}\r\n","import { AutocompleteState, BaseItem } from '@algolia/autocomplete-core';\r\n\r\nexport function hasSourceActiveItem(\r\n sourceId: string,\r\n state: AutocompleteState\r\n) {\r\n return Boolean(\r\n state.collections.find(\r\n (collection) =>\r\n collection.source.sourceId === sourceId &&\r\n collection.items.find(\r\n (item) => item.__autocomplete_id === state.activeItemId\r\n )\r\n )\r\n );\r\n}\r\n","/** @jsxRuntime classic */\r\n/** @jsx h */\r\nimport { h } from 'preact';\r\n\r\nimport { intersperse } from '../utils';\r\n\r\nimport { ChevronRightIcon } from './Icons';\r\n\r\ntype BreadcrumbProps = {\r\n items: JSX.Element[];\r\n};\r\n\r\nexport function Breadcrumb({ items }: BreadcrumbProps) {\r\n return (\r\n
\r\n {intersperse(\r\n items,\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","/** @jsxRuntime classic */\r\n/** @jsx h */\r\nimport {\r\n AutocompleteComponents,\r\n AutocompletePlugin,\r\n getAlgoliaFacets,\r\n} from '@algolia/autocomplete-js';\r\nimport { h } from 'preact';\r\n\r\nimport { TagIcon } from '../components';\r\nimport { ALGOLIA_PRODUCTS_INDEX_NAME } from '../constants';\r\nimport { searchClient } from '../searchClient';\r\nimport { BrandHit } from '../types';\r\n\r\nexport const brandsPlugin: AutocompletePlugin = {\r\n getSources({ query }) {\r\n if (!query) {\r\n return [];\r\n }\r\n\r\n return [\r\n {\r\n sourceId: 'brandsPlugin',\r\n getItems() {\r\n return getAlgoliaFacets({\r\n searchClient,\r\n queries: [\r\n {\r\n indexName: ALGOLIA_PRODUCTS_INDEX_NAME,\r\n facet: 'brand',\r\n params: {\r\n facetQuery: query,\r\n maxFacetHits: 10,\r\n },\r\n },\r\n ],\r\n });\r\n },\r\n getItemInputValue({ item }) {\r\n return item.label;\r\n },\r\n onSelect({ setIsOpen }) {\r\n setIsOpen(true);\r\n },\r\n templates: {\r\n item({ item, components }) {\r\n return ;\r\n },\r\n },\r\n \r\n },\r\n ];\r\n },\r\n};\r\n\r\ntype BrandItemProps = {\r\n hit: BrandHit;\r\n components: AutocompleteComponents;\r\n};\r\n\r\nfunction BrandItem({ hit, components }: BrandItemProps) {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","/** @jsxRuntime classic */\r\n/** @jsx h */\r\nimport {\r\n AutocompleteComponents,\r\n AutocompletePlugin,\r\n getAlgoliaResults,\r\n} from '@algolia/autocomplete-js';\r\nimport { h } from 'preact';\r\n\r\nimport { Breadcrumb, GridIcon } from '../components';\r\nimport { ALGOLIA_PRODUCTS_INDEX_NAME } from '../constants';\r\nimport { searchClient } from '../searchClient';\r\nimport { CategoryHit } from '../types';\r\n\r\nexport const categoriesPlugin: AutocompletePlugin = {\r\n getSources({ query }) {\r\n if (!query) {\r\n return [];\r\n }\r\n\r\n return [\r\n {\r\n sourceId: 'categoriesPlugin',\r\n getItems() {\r\n return getAlgoliaResults({\r\n searchClient,\r\n queries: [\r\n {\r\n indexName: ALGOLIA_PRODUCTS_INDEX_NAME,\r\n query,\r\n params: {\r\n hitsPerPage: 1,\r\n },\r\n },\r\n ],\r\n });\r\n }, \r\n onSelect({ setIsOpen }) {\r\n setIsOpen(true);\r\n },\r\n getItemInputValue({ item }) {\r\n return item.list_categories[item.list_categories.length - 1];\r\n },\r\n templates: {\r\n item({ item, components }) {\r\n return ;\r\n },\r\n },\r\n },\r\n ];\r\n },\r\n};\r\n\r\ntype CategoryItemProps = {\r\n hit: CategoryHit;\r\n components: AutocompleteComponents;\r\n};\r\n\r\nfunction CategoryItem({ hit, components }: CategoryItemProps) {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n (\r\n \r\n ))}\r\n />\r\n
\r\n );\r\n}\r\n","/** @jsxRuntime classic */\r\n/** @jsx h */\r\nimport {\r\n AutocompleteComponents,\r\n AutocompletePlugin,\r\n getAlgoliaResults,\r\n} from '@algolia/autocomplete-js';\r\nimport { h } from 'preact';\r\n\r\nimport { Breadcrumb, InfoIcon } from '../components';\r\nimport { ALGOLIA_FAQ_INDEX_NAME } from '../constants';\r\nimport { searchClient } from '../searchClient';\r\nimport { FaqHit } from '../types';\r\n\r\nexport const faqPlugin: AutocompletePlugin = {\r\n getSources({ query }) {\r\n if (!query) {\r\n return [];\r\n }\r\n\r\n return [\r\n {\r\n sourceId: 'faqPlugin',\r\n getItems() {\r\n return getAlgoliaResults({\r\n searchClient,\r\n queries: [\r\n {\r\n indexName: ALGOLIA_FAQ_INDEX_NAME,\r\n query,\r\n params: {\r\n hitsPerPage: 1,\r\n },\r\n },\r\n ],\r\n });\r\n },\r\n getItemInputValue({ item }) {\r\n return item.title;\r\n },\r\n templates: {\r\n item({ item, components }) {\r\n return ;\r\n },\r\n },\r\n },\r\n ];\r\n },\r\n};\r\n\r\ntype FaqItemProps = {\r\n hit: FaqHit;\r\n components: AutocompleteComponents;\r\n};\r\n\r\nfunction FaqItem({ hit, components }: FaqItemProps) {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n (\r\n \r\n ))}\r\n />\r\n
\r\n );\r\n}\r\n","/** @jsxRuntime classic */\r\n/** @jsx h */\r\nimport {\r\n AutocompleteComponents,\r\n AutocompletePlugin,\r\n getAlgoliaFacets,\r\n} from '@algolia/autocomplete-js';\r\nimport { h } from 'preact';\r\n\r\nimport { ALGOLIA_PRODUCTS_INDEX_NAME, WEBSITE_URL } from '../constants';\r\nimport { searchClient } from '../searchClient';\r\nimport { PopularCategoryHit } from '../types';\r\n\r\nconst baseUrl = WEBSITE_URL + '/res/images/megaMenu/';\r\nconst images = {\r\n 'Women\\'s': `${baseUrl}/womenEyeglasses.avif`,\r\n 'Women\\'s Sunglasses': `${baseUrl}/womenSunglasses.avif`, \r\n 'Women\\'s Eyeglasses': `${baseUrl}/womenEyeglasses.avif`,\r\n 'Eyeglasses': `${baseUrl}/unisexEyeglasses.avif`,\r\n 'Women\\'s Optical': `${baseUrl}/womenEyeglasses.avif`,\r\n 'Men\\'s': `${baseUrl}/menEyeglasses.avif`,\r\n 'Men\\'s Sunglasses': `${baseUrl}/menSunglasses.avif`, \r\n 'Men\\'s Eyeglasses': `${baseUrl}/menEyeglasses.avif`, \r\n 'Men\\'s Optical': `${baseUrl}/menEyeglasses.avif`, \r\n 'Unisex': `${baseUrl}/unisexEyeglasses.avif`,\r\n 'Sunglasses': `${baseUrl}/unisexSunglasses.avif`,\r\n 'Unisex Sunglasses': `${baseUrl}/unisexSunglasses.avif`, \r\n 'Unisex Optical': `${baseUrl}/unisexEyeglasses.avif`,\r\n};\r\n\r\nexport const popularCategoriesPlugin: AutocompletePlugin<\r\n PopularCategoryHit,\r\n {}\r\n> = {\r\n getSources() {\r\n return [\r\n {\r\n sourceId: 'popularCategoriesPlugin',\r\n getItems() {\r\n return getAlgoliaFacets({\r\n searchClient,\r\n queries: [\r\n {\r\n indexName: ALGOLIA_PRODUCTS_INDEX_NAME,\r\n facet: 'list_categories',\r\n params: {\r\n facetQuery: '',\r\n maxFacetHits: 6,\r\n },\r\n },\r\n ],\r\n });\r\n },\r\n getItemInputValue({ item }) {\r\n return item.label;\r\n },\r\n onSelect({ setIsOpen }) {\r\n setIsOpen(true);\r\n },\r\n templates: {\r\n header({ Fragment }) {\r\n return (\r\n \r\n Popular categories\r\n
\r\n \r\n );\r\n },\r\n item({ item, components }) {\r\n return ;\r\n },\r\n },\r\n },\r\n ];\r\n },\r\n};\r\n\r\ntype CategoryItemProps = {\r\n hit: PopularCategoryHit;\r\n components: AutocompleteComponents;\r\n};\r\n\r\nfunction CategoryItem({ hit }: CategoryItemProps) {\r\n const categoryName = hit.label.replace('Optical', 'Eyeglasses');\r\n return (\r\n
\r\n
\r\n
\r\n {hit.label}\r\n
\r\n
\r\n
\r\n {categoryName} ({hit.count})\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\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}","/** @jsxRuntime classic */\r\n/** @jsx h */\r\nimport { createQuerySuggestionsPlugin } from '@algolia/autocomplete-plugin-query-suggestions';\r\nimport { h } from 'preact';\r\n\r\nimport { SearchIcon } from '../components';\r\nimport { ALGOLIA_PRODUCTS_QUERY_SUGGESTIONS_INDEX_NAME } from '../constants';\r\nimport { searchClient } from '../searchClient';\r\nimport { PopularHit } from '../types';\r\n\r\nexport const popularPlugin = createQuerySuggestionsPlugin({\r\n searchClient,\r\n indexName: ALGOLIA_PRODUCTS_QUERY_SUGGESTIONS_INDEX_NAME,\r\n getSearchParams() {\r\n return {\r\n query: '',\r\n hitsPerPage: 6,\r\n };\r\n },\r\n transformSource({ source }) {\r\n return {\r\n ...source,\r\n sourceId: 'popularPlugin',\r\n getItemInputValue({ item }) {\r\n return item.query;\r\n },\r\n onSelect({ setIsOpen }) {\r\n setIsOpen(true);\r\n },\r\n templates: {\r\n header({ Fragment }) {\r\n return (\r\n \r\n Popular searches\r\n
\r\n \r\n );\r\n },\r\n item({ item }) {\r\n return ;\r\n },\r\n },\r\n };\r\n },\r\n});\r\n\r\ntype PopularItemProps = {\r\n hit: PopularHit;\r\n};\r\n\r\nfunction PopularItem({ hit }: PopularItemProps) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{hit.query}
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","/** @jsxRuntime classic */\r\n/** @jsx h */\r\nimport {\r\n AutocompleteComponents,\r\n AutocompletePlugin,\r\n getAlgoliaResults,\r\n} from '@algolia/autocomplete-js';\r\nimport { SearchResponse } from '@algolia/client-search';\r\nimport { h } from 'preact';\r\nimport { useState } from 'preact/hooks';\r\n\r\nimport { Blurhash, StarIcon, FavoriteIcon } from '../components';\r\nimport { searchClient } from '../searchClient';\r\nimport { ALGOLIA_PRODUCTS_INDEX_NAME, ALGOLIA_ACCESSORIES_INDEX_NAME, ALGOLIA_CONTACTS_INDEX_NAME, ALGOLIA_READERS_INDEX_NAME, WEBSITE_URL } from '../constants';\r\nimport { ProductHit } from '../types';\r\nimport { cx } from '../utils';\r\n\r\nexport const productsPlugin: AutocompletePlugin = {\r\n getSources({ query }) {\r\n if (!query) {\r\n return [];\r\n }\r\n\r\n return [\r\n {\r\n sourceId: 'productsPlugin',\r\n getItems({ setContext }) {\r\n return getAlgoliaResults({\r\n searchClient,\r\n queries: [\r\n {\r\n indexName: ALGOLIA_PRODUCTS_INDEX_NAME,\r\n query,\r\n params: {\r\n hitsPerPage: 4,\r\n },\r\n },\r\n {\r\n indexName: ALGOLIA_ACCESSORIES_INDEX_NAME,\r\n query,\r\n params: {\r\n hitsPerPage: 4,\r\n },\r\n },\r\n {\r\n indexName: ALGOLIA_CONTACTS_INDEX_NAME,\r\n query,\r\n params: {\r\n hitsPerPage: 4,\r\n },\r\n },\r\n {\r\n indexName: ALGOLIA_READERS_INDEX_NAME,\r\n query,\r\n params: {\r\n hitsPerPage: 4,\r\n },\r\n },\r\n ],\r\n transformResponse({ hits, results }) {\r\n setContext({\r\n nbProducts: (results[0] as SearchResponse).nbHits \r\n });\r\n\r\n var searchByUPC = query?.length == 12 || query?.length == 13 ? true : false;\r\n \r\n let filteredHits = hits.filter((hit, index) => { \r\n /*if(hit.Frames[0].variants.upc == query){\r\n hit.image_urls[0] = hit.hit.Frames[0].variants\r\n return hit;\r\n }*/\r\n if(index < 9) return hit; \r\n\r\n });\r\n\r\n return filteredHits;\r\n },\r\n });\r\n },\r\n onSelect({ setIsOpen }) {\r\n setIsOpen(true);\r\n },\r\n templates: {\r\n header({ state, Fragment }) {\r\n return (\r\n \r\n
\r\n Products for {state.query}\r\n
\r\n
\r\n \r\n );\r\n },\r\n item({ item, components }) {\r\n return ;\r\n },\r\n footer({ state }) {\r\n return (\r\n Number(state.context.nbProducts) > 8 && (\r\n
\r\n { \r\n \r\n if(index < 5) return variant; \r\n\r\n }); \r\n \r\n return (\r\n \r\n \r\n
\r\n \r\n setLoaded(true)}\r\n />\r\n
\r\n\r\n
\r\n
\r\n {hit.brand && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {formatPrice(hit.price.value, 'USD')}\r\n
\r\n {hit.price.on_sales && (\r\n
\r\n {formatPrice(hit.price.discounted_value, 'USD')}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
    {variants?.map((variant) =>
  • {variant.frame_color} / {variant.lens_color}
  • )}
\r\n
\r\n
\r\n\r\n {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n setFavorite((currentFavorite) => !currentFavorite);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n}\r\n","import { createQuerySuggestionsPlugin } from '@algolia/autocomplete-plugin-query-suggestions';\r\n\r\nimport { ALGOLIA_PRODUCTS_QUERY_SUGGESTIONS_INDEX_NAME } from '../constants';\r\nimport { searchClient } from '../searchClient';\r\n\r\nexport const querySuggestionsPlugin = createQuerySuggestionsPlugin({\r\n searchClient,\r\n indexName: ALGOLIA_PRODUCTS_QUERY_SUGGESTIONS_INDEX_NAME,\r\n getSearchParams({ state }) {\r\n return {\r\n hitsPerPage: !state.query ? 0 : 10,\r\n };\r\n } \r\n});\r\n","/** @jsxRuntime classic */\r\n/** @jsx h */\r\nimport {\r\n AutocompletePlugin,\r\n getAlgoliaResults,\r\n} from '@algolia/autocomplete-js';\r\nimport { SearchResponse } from '@algolia/client-search';\r\nimport { h } from 'preact';\r\n\r\nimport { ALGOLIA_PRODUCTS_INDEX_NAME } from '../constants';\r\nimport { searchClient } from '../searchClient';\r\nimport { QuickAccessHit } from '../types';\r\nimport { cx, intersperse } from '../utils';\r\n\r\nexport const quickAccessPlugin: AutocompletePlugin = {\r\n getSources({ query }) {\r\n if (query) {\r\n return [];\r\n }\r\n\r\n return [\r\n {\r\n sourceId: 'quickAccessPlugin',\r\n getItems() {\r\n return getAlgoliaResults({\r\n searchClient,\r\n queries: [\r\n {\r\n indexName: ALGOLIA_PRODUCTS_INDEX_NAME,\r\n query,\r\n params: {\r\n hitsPerPage: 0,\r\n ruleContexts: ['quickAccess'],\r\n },\r\n },\r\n ],\r\n transformResponse({ results }) {\r\n return (\r\n (results as SearchResponse[])?.[0].userData?.[0]?.items || []\r\n );\r\n }, \r\n });\r\n },\r\n templates: {\r\n header({ Fragment }) {\r\n return (\r\n \r\n Quick access\r\n
\r\n \r\n );\r\n },\r\n item({ item }) {\r\n return ;\r\n },\r\n },\r\n onSelect({ setIsOpen }) {\r\n setIsOpen(true);\r\n },\r\n },\r\n ];\r\n },\r\n};\r\n\r\ntype QuickAccessItemProps = {\r\n hit: QuickAccessHit;\r\n};\r\n\r\nfunction QuickAccessItem({ hit }: QuickAccessItemProps) {\r\n return (\r\n \r\n
\r\n {hit.image && (\r\n
\r\n {hit.title}\r\n
\r\n )}\r\n\r\n
\r\n {hit.date &&
{hit.date}
}\r\n
\r\n {intersperse(hit.title.split('\\n'),
)}\r\n
\r\n {hit.subtitle && (\r\n
\r\n {intersperse(hit.subtitle.split('\\n'),
)}\r\n
\r\n )}\r\n\r\n {hit.links && (\r\n
    \r\n {hit.links.map((link) => (\r\n
  • \r\n {link.text}\r\n
  • \r\n ))}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n );\r\n}\r\n","export var LOCAL_STORAGE_KEY = 'AUTOCOMPLETE_RECENT_SEARCHES';\nexport var LOCAL_STORAGE_KEY_TEST = '__AUTOCOMPLETE_RECENT_SEARCHES_PLUGIN_TEST_KEY__';","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}","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}","import {\r\n createLocalStorageRecentSearchesPlugin,\r\n search,\r\n} from '@algolia/autocomplete-plugin-recent-searches';\r\n\r\nexport const recentSearchesPlugin = createLocalStorageRecentSearchesPlugin({\r\n key: 'autocomplete-two-column-layout-example',\r\n search(params) {\r\n return search({ ...params, limit: params.query ? 1 : 4 });\r\n },\r\n});\r\n","import { LOCAL_STORAGE_KEY_TEST } from './constants';\nfunction isLocalStorageSupported() {\n try {\n localStorage.setItem(LOCAL_STORAGE_KEY_TEST, '');\n localStorage.removeItem(LOCAL_STORAGE_KEY_TEST);\n return true;\n } catch (error) {\n return false;\n }\n}\nexport function getLocalStorage(_ref) {\n var key = _ref.key;\n if (!isLocalStorageSupported()) {\n return {\n setItem: function setItem() {},\n getItem: function getItem() {\n return [];\n }\n };\n }\n return {\n setItem: function setItem(items) {\n return window.localStorage.setItem(key, JSON.stringify(items));\n },\n getItem: function getItem() {\n var items = window.localStorage.getItem(key);\n return items ? JSON.parse(items) : [];\n }\n };\n}","export function createStorageApi(storage) {\n return {\n addItem: function addItem(item) {\n storage.onRemove(item.id);\n storage.onAdd(item);\n },\n removeItem: function removeItem(id) {\n storage.onRemove(id);\n },\n getAll: function getAll(query) {\n return storage.getAll(query);\n }\n };\n}","\n import API from \"!../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../css-loader/dist/cjs.js!./theme.min.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../css-loader/dist/cjs.js!./theme.min.css\";\n export default content && content.locals ? content.locals : undefined;\n","import {\r\n AutocompleteReshapeSource,\r\n BaseItem,\r\n} from '@algolia/autocomplete-core';\r\n\r\nimport { AutocompleteReshapeFunction } from '../types/AutocompleteReshapeFunction';\r\n\r\nimport { normalizeReshapeSources } from './normalizeReshapeSources';\r\n\r\ntype UniqByPredicate = (params: {\r\n source: AutocompleteReshapeSource;\r\n item: TItem;\r\n}) => TItem;\r\n\r\nexport const uniqBy: AutocompleteReshapeFunction> = <\r\n TItem extends BaseItem\r\n>(\r\n predicate: UniqByPredicate\r\n) => {\r\n return function runUniqBy(...rawSources) {\r\n const sources = normalizeReshapeSources(rawSources);\r\n const seen = new Set();\r\n\r\n return sources.map((source) => {\r\n const items = source.getItems().filter((item) => {\r\n const appliedItem = predicate({ source, item });\r\n const hasSeen = seen.has(appliedItem);\r\n\r\n seen.add(appliedItem);\r\n\r\n return !hasSeen;\r\n });\r\n\r\n return {\r\n ...source,\r\n getItems() {\r\n return items;\r\n },\r\n };\r\n });\r\n };\r\n};\r\n","import { AutocompleteReshapeFunction } from '../types/AutocompleteReshapeFunction';\r\n\r\nimport { normalizeReshapeSources } from './normalizeReshapeSources';\r\n\r\ntype createFillWithOptions = {\r\n mainSourceId: string;\r\n limit: number;\r\n};\r\n\r\n// This reshape function computes the total number of source items and\r\n// limits the provided main source number of items until it reaches the provided limit.\r\nexport const createFillWith: AutocompleteReshapeFunction<\r\n createFillWithOptions\r\n> = ({ mainSourceId, limit }) => {\r\n return function runUniqBy(...rawSources) {\r\n const originalSources = normalizeReshapeSources(rawSources);\r\n const otherSources = originalSources.filter(\r\n (s) => s.sourceId !== mainSourceId\r\n );\r\n\r\n // Compute the total number of items per source.\r\n let totalItemNb = 0;\r\n otherSources.forEach((source) => {\r\n totalItemNb += source.getItems().length;\r\n });\r\n\r\n return originalSources.map((source) => {\r\n let transformedSource = source;\r\n\r\n // Limit the main source items length based on the provided limit and\r\n // the computed total number of items.\r\n if (source.sourceId === mainSourceId) {\r\n transformedSource = {\r\n ...source,\r\n getItems() {\r\n return source.getItems().slice(0, Math.max(limit - totalItemNb, 0));\r\n },\r\n };\r\n }\r\n\r\n return transformedSource;\r\n });\r\n };\r\n};\r\n","/** @jsxRuntime classic */\r\n/** @jsx h */\r\nimport { autocomplete } from '@algolia/autocomplete-js';\r\nimport { h, render } from 'preact';\r\nimport { pipe } from 'ramda';\r\n\r\nimport { createFillWith, uniqBy } from './functions';\r\nimport { articlesPlugin } from './plugins/articlesPlugin';\r\nimport { brandsPlugin } from './plugins/brandsPlugin';\r\nimport { categoriesPlugin } from './plugins/categoriesPlugin';\r\nimport { faqPlugin } from './plugins/faqPlugin';\r\nimport { popularCategoriesPlugin } from './plugins/popularCategoriesPlugin';\r\nimport { popularPlugin } from './plugins/popularPlugin';\r\nimport { productsPlugin } from './plugins/productsPlugin';\r\nimport { querySuggestionsPlugin } from './plugins/querySuggestionsPlugin';\r\nimport { quickAccessPlugin } from './plugins/quickAccessPlugin';\r\nimport { recentSearchesPlugin } from './plugins/recentSearchesPlugin';\r\nimport { cx, hasSourceActiveItem, isDetached } from './utils';\r\n\r\nimport '@algolia/autocomplete-theme-classic';\r\n\r\nconst removeDuplicates = uniqBy(({ source, item }) => {\r\n const sourceIds = ['recentSearchesPlugin', 'querySuggestionsPlugin'];\r\n if (sourceIds.indexOf(source.sourceId) === -1) {\r\n return item;\r\n }\r\n\r\n return source.sourceId === 'querySuggestionsPlugin' ? item.query : item.label;\r\n});\r\n\r\nconst fillWith = createFillWith({\r\n mainSourceId: 'querySuggestionsPlugin',\r\n limit: isDetached() ? 6 : 10,\r\n});\r\n\r\nconst combine = pipe(removeDuplicates, fillWith);\r\n\r\nautocomplete({\r\n container: '#autocomplete',\r\n placeholder: 'Search Ray-Ban, Aviator, Wayfarer, RB3016, Contacts, Reading glasses',\r\n autoFocus: true,\r\n openOnFocus: true,\r\n insights: true,\r\n plugins: [\r\n recentSearchesPlugin,\r\n querySuggestionsPlugin,\r\n categoriesPlugin,\r\n brandsPlugin,\r\n faqPlugin,\r\n productsPlugin,\r\n articlesPlugin,\r\n popularPlugin,\r\n quickAccessPlugin,\r\n popularCategoriesPlugin,\r\n ],\r\n reshape({ sourcesBySourceId, sources, state }) {\r\n const {\r\n recentSearchesPlugin: recentSearches,\r\n querySuggestionsPlugin: querySuggestions,\r\n categoriesPlugin: categories,\r\n brandsPlugin: brands,\r\n faqPlugin: faq,\r\n popularPlugin: popular,\r\n popularCategoriesPlugin: popularCategories,\r\n ...rest\r\n } = sourcesBySourceId;\r\n\r\n const sourceIdsToExclude = ['popularPlugin', 'popularCategoriesPlugin'];\r\n const shouldDisplayPopularCategories = sources.every((source) => {\r\n if (sourceIdsToExclude.indexOf(source.sourceId) !== -1) {\r\n return true;\r\n }\r\n return source.getItems().length === 0;\r\n });\r\n\r\n return [\r\n combine(recentSearches, querySuggestions, categories, brands, faq),\r\n [\r\n !state.query && popular,\r\n ...Object.values(rest),\r\n shouldDisplayPopularCategories && popularCategories,\r\n ].filter(Boolean),\r\n ];\r\n },\r\n render({ elements, state, Fragment }, root) {\r\n const {\r\n recentSearchesPlugin: recentSearches,\r\n querySuggestionsPlugin: querySuggestions,\r\n categoriesPlugin: categories,\r\n brandsPlugin: brands,\r\n faqPlugin: faq,\r\n productsPlugin: products,\r\n articlesPlugin: articles,\r\n popularPlugin: popular,\r\n quickAccessPlugin: quickAccess,\r\n popularCategoriesPlugin: popularCategories,\r\n } = elements;\r\n\r\n const sourceIdsToExclude = ['popularPlugin', 'popularCategoriesPlugin'];\r\n const hasResults =\r\n state.collections\r\n .filter(\r\n ({ source }) => sourceIdsToExclude.indexOf(source.sourceId) === -1\r\n )\r\n .reduce((prev, curr) => prev + curr.items.length, 0) > 0;\r\n\r\n render(\r\n
\r\n {!hasResults && (\r\n
\r\n No results for \"{state.query}\".\r\n
\r\n )}\r\n\r\n
\r\n
\r\n {hasResults ? (\r\n (!state.query && recentSearches && (\r\n \r\n
\r\n \r\n Recent searches\r\n \r\n
\r\n
\r\n {recentSearches}\r\n \r\n )) ||\r\n (state.query && (\r\n \r\n
\r\n Suggestions\r\n
\r\n
\r\n\r\n
\r\n {recentSearches}\r\n {querySuggestions}\r\n {categories}\r\n {brands}\r\n {faq}\r\n
\r\n \r\n ))\r\n ) : (\r\n
\r\n
    \r\n
  • Double-check your spelling
  • \r\n
  • Use fewer keywords
  • \r\n
  • Search for a less specific item
  • \r\n
  • Try navigate using on the of the popular categories
  • \r\n
\r\n
\r\n )}\r\n\r\n {!state.query && (\r\n
{popular}
\r\n )}\r\n
\r\n
\r\n {products && (\r\n
\r\n
{products}
\r\n
\r\n )}\r\n {articles && (\r\n
\r\n
{articles}
\r\n
\r\n )}\r\n\r\n {quickAccess && (\r\n \r\n {quickAccess}\r\n
\r\n )}\r\n\r\n {!hasResults && (\r\n \r\n {popularCategories}\r\n
\r\n )}\r\n
\r\n
\r\n
,\r\n root\r\n );\r\n },\r\n});\r\n","export function isDetached() {\r\n return window.matchMedia(\r\n getComputedStyle(document.documentElement).getPropertyValue(\r\n '--aa-detached-media-query'\r\n )\r\n ).matches;\r\n}\r\n","import _arity from \"./internal/_arity.js\";\nimport _pipe from \"./internal/_pipe.js\";\nimport reduce from \"./reduce.js\";\nimport tail from \"./tail.js\";\n\n/**\n * Performs left-to-right function composition. The first argument may have\n * any arity; the remaining arguments must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n * const f = R.pipe(Math.pow, R.negate, R.inc);\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n * @symb R.pipe(f, g, h)(a)(b) = h(g(f(a)))(b)\n */\nexport default function pipe() {\n if (arguments.length === 0) {\n throw new Error('pipe requires at least one argument');\n }\n return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments)));\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}"],"names":["module","exports","e","t","r","Object","defineProperty","value","enumerable","configurable","writable","keys","getOwnPropertySymbols","n","filter","getOwnPropertyDescriptor","push","apply","arguments","length","o","forEach","getOwnPropertyDescriptors","defineProperties","Array","isArray","Symbol","iterator","prototype","toString","call","a","u","i","next","done","return","TypeError","from","concat","key","localStorage","window","JSON","parse","getItem","setItem","stringify","timeToLive","fromEntries","entries","timestamp","Date","getTime","get","miss","Promise","resolve","then","all","set","delete","clear","removeItem","caches","shift","catch","s","serializable","c","Math","floor","random","l","f","replace","encodeURIComponent","h","m","data","indexOf","timeout","headers","queryParameters","cacheable","d","Read","Write","Any","p","g","y","status","lastUpdate","now","b","protocol","url","accept","O","P","j","method","toLowerCase","userAgent","pop","name","message","transporterStackTrace","A","S","path","connectTimeout","timeouts","connect","responseTimeout","request","response","host","triesLeft","onSuccess","content","onRetry","isTimedOut","logger","info","x","hostsCache","onFail","requester","send","map","getTimeout","statelessHosts","q","reverse","w","add","segment","version","T","charAt","substr","join","N","appId","authMode","apiKey","requestsCache","responsesCache","hosts","read","mappedRequestOptions","transporter","reject","write","addAlgoliaAgent","clearCache","methods","C","E","indexName","J","params","requests","k","facetName","facetQuery","propertyIsEnumerable","searchForFacetValues","F","I","query","queryLanguages","R","Q","threshold","L","XMLHttpRequest","open","setRequestHeader","setTimeout","abort","onreadystatechange","readyState","OPENED","clearTimeout","onerror","responseText","onload","debug","error","console","search","multipleQueries","multipleSearchForFacetValues","customRequest","initIndex","findAnswers","getRecommendations","___CSS_LOADER_EXPORT___","id","cssWithMappingToString","list","this","item","needLayer","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","_k","cssMapping","btoa","base64","unescape","sourceMapping","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","sourceMap","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","target","styleTarget","document","querySelector","HTMLIFrameElement","contentDocument","head","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","styleTagTransform","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","prop","hasOwnProperty","nc","debounce","fn","time","timerId","_len","args","_key","createRef","initialValue","current","isPrimitive","isEqual","first","second","_Object$keys","noop","createClickedEvent","_ref","_ref$items","items","__autocomplete_indexName","positions","findIndex","objectID","queryID","__autocomplete_queryID","algoliaSource","_arrayLikeToArray","arr","len","arr2","_excluded","_excluded2","_typeof","constructor","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","minLen","slice","test","_nonIterableSpread","_objectWithoutProperties","source","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","ownKeys","object","enumerableOnly","symbols","sym","_objectSpread","_defineProperty","arg","input","prim","toPrimitive","res","hint","String","_toPrimitive","_toPropertyKey","mapToInsightsParamsApi","param","objectIDs","_ref2","createSearchInsightsApi","searchInsights","_split$map2","major","minor","canSendHeaders","_arrayWithHoles","_s","_e","_x","_r","_arr","_n","_d","err","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_slicedToArray","split","Number","sendToInsights","payloads","_items$0$__autocomple","__autocomplete_algoliaCredentials","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","_acc$current$__autoco","isAlgoliaInsightsHit","hit","ALGOLIA_INSIGHTS_VERSION","ALGOLIA_INSIGHTS_SRC","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","eventName","createAlgoliaInsightsPlugin","_getOptions","_ref8","getAlgoliaSources","context","onSelect","_ref9","onActive","__autocomplete_clickAnalytics","getOptions","providedInsightsClient","insightsClient","insightsInitParams","onSelectEvent","onActiveEvent","pointer","AlgoliaAnalyticsObject","queue","environment","errorMessage","script","async","src","body","cause","loadInsights","callback","partial","previousItems","debouncedOnStateChange","isOpen","collections","subscribe","setContext","isAuthenticatedToken","setInsightsContext","algoliaInsightsPlugin","__algoliaSearchParameters","clickAnalytics","normalizeUserToken","_error","getItems","_ref6","onStateChange","_ref7","__autocomplete_pluginOptions","_context$algoliaInsig","__automaticInsights","flatten","values","getItemsCount","sum","collection","autocompleteId","generateAutocompleteId","getDefaultProps","props","pluginSubscribers","_props$id","plugins","openOnFocus","enterKeyHint","ignoreCompositionEvents","placeholder","autoFocus","defaultActiveItemId","stallThreshold","shouldPanelOpen","reshape","sources","initialState","activeItemId","completion","_props$onStateChange","_x$onStateChange","onSubmit","_props$onSubmit","_x$onSubmit","onReset","_props$onReset","_x$onReset","getSources","plugin","Boolean","seenSourceIds","maybeSource","sourceId","includes","defaultSource","getItemInputValue","getItemUrl","setIsOpen","onResolve","__default","normalizedSource","getNormalizedSources","nested","_x$onSelect","_x$onActive","_x$onResolve","navigator","navigate","itemUrl","location","assign","navigateNewTab","windowReference","focus","navigateNewWindow","isDescription","execute","packed","searchClient","requesterId","container","find","_container$items","maybeDescription","responses","createInternalCancelablePromise","promise","onfulfilled","onrejected","createCallback","finally","onfinally","onCancelList","cancel","isCanceled","callbacks","createCancelablePromise","executor","cancelable","onResult","fallback","getActiveItem","collectionIndex","collectionsCount","nextValue","getCollectionFromActiveItemId","isOffsetFound","counter","previousItemsOffset","currentCollection","getRelativeActiveItemId","itemInputValue","reason","basePromiseId","latestResolvedId","latestResolvedValue","lastStalledId","runConcurrentSafePromise","currentPromiseId","onInput","_ref$nextState","nextState","refresh","store","setters","setCollections","setQuery","setActiveItemId","setStatus","_nextState$isOpen","getState","_request","pendingRequests","itemsOrDescription","description","contextParameters","_state$context$key","queries","transformResponse","preResolve","_store$getState$conte","some","_automaticInsights","rawResults","matches","results","transform","hits","facetHits","_facetHits","facetHit","label","_highlightResult","highlighted","every","postResolve","originalSourcesBySourceId","sourcesBySourceId","_nextState$isOpen2","isPanelOpen","highlightedItem","getAutocompleteElementId","autocompleteInstanceId","elementId","regex","getNativeEvent","nativeEvent","_excluded3","_excluded4","_excluded5","_excluded6","getPropGetters","getEnvironmentProps","providedProps","inputElement","formElement","panelElement","onMouseDownOrTouchStart","isEmpty","contextNode","parent","child","contains","dispatch","cancelAll","onTouchStart","onMouseDown","onTouchMove","activeElement","blur","getRootProps","rest","role","getFormProps","action","noValidate","_providedProps$inputE","preventDefault","_providedProps$inputE2","getLabelProps","htmlFor","getInputProps","_props$environment$na","onFocus","_ref3$maxLength","maxLength","activeItem","shouldFallbackKeyHint","match","autoComplete","autoCorrect","autoCapitalize","spellCheck","type","onChange","currentTarget","isComposing","onCompositionEnd","onKeyDown","triggerScrollIntoView","nodeItem","getElementById","scrollIntoViewIfNeeded","scrollIntoView","triggerOnActive","nextActiveItemId","metaKey","ctrlKey","shiftKey","altKey","onBlur","onClick","getPanelProps","onMouseLeave","getListProps","getItemProps","__autocomplete_id","onMouseMove","_item","_source","getMetadata","_","_options$__autocomple","_options$__autocomple2","_options$__autocomple3","optionsKey","__autocomplete_metadata","userAgents","extraOptions","ua","getCompletion","_getActiveItem","getNextActiveItemId","moveAmount","baseIndex","itemCount","numericIndex","stateReducer","_nextState","createAutocomplete","subscribers","reducer","onStoreStateChange","prevState","cancelablePromise","createStore","_state$context","_state$context$algoli","isAlgoliaInsightsPluginEnabled","subscribePlugins","rawValue","baseItemId","getAutocompleteSetters","propGetters","Event","_plugin$subscribe","insightsParams","_environment$navigato","_environment$navigato2","metadata","metadataContainer","headRef","injectMetadata","Map","SearchIcon","createElementNS","ClearIcon","LoadingIcon","innerHTML","TOUCH_EVENTS_ALIASES","setStyle","eventProxy","_listeners","setProperty","dom","useCapture","nameLower","oldValue","addEventListener","removeEventListener","removeAttribute","getNormalizedName","setProperties","setPropertiesWithoutEvents","getCreateDomElement","tagName","_ref$children","children","append","Input","autocompleteScopeApi","classNames","getInputPropsCore","isDetached","createDomElement","inputProps","v","defaultProps","ref","__k","__","__b","__e","__d","__c","__v","__i","__u","vnode","M","__r","debounceRendering","sort","__P","__n","namespaceURI","$","nextSibling","V","insertBefore","nodeType","H","render","contextType","__E","sub","__h","_sb","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","z","diffed","localName","is","childNodes","__html","unmount","componentWillUnmount","B","getAttributeValueByPath","record","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","bind","HIGHLIGHT_PRE_TAG","HIGHLIGHT_POST_TAG","parseAttribute","preTagParts","highlightedValue","firstValue","parts","part","lastPart","isHighlighted","createAttributeSet","postTagParts","parseAlgoliaHitHighlight","attribute","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","_arity","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","_pipe","_isPlaceholder","_curry1","f1","_curry2","f2","_b","_a","_curry3","f3","_c","val","_isArrayLike","_isArray","_isString","symIterator","_createReduce","arrayReduce","methodReduce","iterableReduce","xf","_xArrayReduce","idx","thisObj","_xIterableReduce","step","_xMethodReduce","methodName","XWrap","_checkForMethod","methodname","fromIndex","toIndex","Infinity","normalizeReshapeSources","createAlgoliaRequester","fetcherParams","_ref$userAgents","_getAppIdAndApiKey","baseHeaders","baseQueryParameters","APP_ID","API_KEY","getAppIdAndApiKey","searchParameters","hitsPerPage","highlightPreTag","highlightPostTag","resultIndex","_result$hits","fetchAlgoliaResults","_fetcherParams$reques","requesterParams","requestParams","createRequester","getAlgoliaResults","ALGOLIA_PRODUCTS_INDEX_NAME","ALGOLIA_PRODUCTS_QUERY_SUGGESTIONS_INDEX_NAME","WEBSITE_URL","articlesPlugin","nbArticles","nbHits","templates","header","className","ArticleItem","footer","textAlign","href","rel","image_url","alt","title","date","toLocaleDateString","month","year","getAlgoliaFacets","ChevronRightIcon","viewBox","fill","stroke","FavoriteIcon","InfoIcon","GridIcon","TagIcon","__H","__N","__m","requestAnimationFrame","cancelAnimationFrame","cx","intersperse","separator","curr","hasSourceActiveItem","Breadcrumb","brandsPlugin","facet","maxFacetHits","BrandItem","components","categoriesPlugin","list_categories","CategoryItem","faqPlugin","FaqItem","baseUrl","popularCategoriesPlugin","categoryName","getTemplates","onTapAhead","__autocomplete_qsCategory","stopPropagation","createQuerySuggestionsPlugin","getSearchParams","transformSource","itemsWithCategories","categoriesPerItem","categoryAttribute","querySuggestionsHits","itemsWithCategoriesAdded","categories","_step","_iterator","allowArrayLike","it","normalCompletion","didErr","_e2","_createForOfIteratorHelper","category","popularPlugin","PopularItem","productsPlugin","nbProducts","ProductItem","formatPrice","currency","toLocaleString","loaded","setLoaded","favorite","setFavorite","imgUrl","image_urls","productLink","slug","variants","variant","onLoad","brand","price","on_sales","discounted_value","frame_color","lens_color","currentFavorite","querySuggestionsPlugin","quickAccessPlugin","ruleContexts","userData","QuickAccessItem","template","image","subtitle","links","link","text","LOCAL_STORAGE_KEY","LOCAL_STORAGE_KEY_TEST","onRemove","getDefaultSubscribe","inputValue","recentItem","addItem","addHighlightedAttribute","limit","recentSearchesPlugin","storage","isLocalStorageSupported","getLocalStorage","onAdd","getAll","createLocalStorage","createStorageApi","lastItemsRef","getAlgoliaSearchParams","_params$facetFilters","_params$hitsPerPage","facetFilters","max","createRecentSearchesPlugin","createLocalStorageRecentSearchesPlugin","locals","predicate","mainSourceId","removeDuplicates","rawSources","seen","Set","appliedItem","hasSeen","has","fillWith","matchMedia","getComputedStyle","getPropertyValue","originalSources","otherSources","totalItemNb","transformedSource","combine","pipe","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","translations","core","containerElement","defaultedRenderer","defaultComponents","clearButtonTitle","detachedCancelButtonText","detachedSearchButtonTitle","submitButtonTitle","getDefaultOptions","autocomplete","_onStateChangeRef$cur","_props$value$core$onS","_props$value$core","noResults","hasItems","hasNoResultsTemplate","lastStateRef","html","_ref$placeholder","setIsModalOpen","rootProps","class","labelProps","ariaLabel","formProps","panelProps","textContent","hidden","createAutocompleteDom","setPanelPosition","scheduleRender","renderProps","renderSearchBox","classList","toggle","sections","sourceIndex","itemProps","elements","renderPanel","updatedOptions","_props$value$renderer","rendererProps","environmentProps","panelContainerElement","debouncedRender","querySelectorAll","scrollablePanel","onResize","previousIsDetached","toggleModalClassname","isActive","isModalDetachedMql","hasModernEventListener","addListener","removeListener","destroy","recentSearches","querySuggestions","brands","faq","popular","popularCategories","sourceIdsToExclude","shouldDisplayPopularCategories","products","articles","quickAccess","hasResults","prev"],"sourceRoot":""}