import{r as t,h as s,g as i}from"./p-5925f187.js";import{$ as e,a0 as r}from"./p-dce02d5a.js";import{S as n}from"./p-cfb3c589.js";import{g as h,Q as o,a,b as c}from"./p-f51f762b.js";import{d as u}from"./p-2002205f.js";import{C as d}from"./p-c280cd05.js";import{a as m,S as f}from"./p-0943c4bd.js";import{o as p}from"./p-4fb8ce4b.js";import{g as l,R as b,a as g,b as j,c as y,d as S}from"./p-ce2f62d9.js";import"./p-8f5830b4.js";import"./p-1580513b.js";import"./p-e9c4f463.js";const I=class{constructor(s){t(this,s);this.error=undefined;this.icon=undefined;this.maxWithQuery=undefined;this.maxWithoutQuery=undefined}componentWillLoad(){try{u((t=>{this.bindings=t;return this.initialize()}),this.host)}catch(t){this.error=t}}initialize(){const t=this.bindings.engine;const{registerQuerySuggest:s,fetchQuerySuggestions:i}=e(t);t.dispatch(s({id:this.bindings.id,count:this.bindings.numberOfQueries}));return{position:Array.from(this.host.parentNode.children).indexOf(this.host),onInput:()=>t.dispatch(i({id:this.bindings.id})),renderItems:()=>this.renderItems()}}renderItems(){const t=this.bindings.searchBoxController.state.value!=="";const s=t?this.maxWithQuery:this.maxWithoutQuery;return this.bindings.searchBoxController.state.suggestions.slice(0,s).map((t=>this.renderItem(t)))}renderItem(t){const i=this.bindings.searchBoxController.state.value!=="";const e=h(t,this.bindings.i18n);return{...e,content:s(c,null,s(a,{icon:this.icon||n,hasSuggestion:this.bindings.getSuggestions().length>1}),s(o,{suggestion:t,hasQuery:i})),onSelect:()=>{this.bindings.searchBoxController.selectSuggestion(t.rawValue)}}}render(){if(this.error){return s("atomic-component-error",{key:"e1ea5b8bd0178b96509f44ad2cf785636cbc2ddd",element:this.host,error:this.error})}}get host(){return i(this)}};const _=class{constructor(s){t(this,s);this.maxWithQuery=3;this.warnUser=p((()=>this.bindings.engine.logger.warn("Because analytics are disabled, the recent queries feature is deactivated.")));this.error=undefined;this.icon=undefined;this.maxWithQuery=3;this.maxWithoutQuery=undefined}componentWillLoad(){try{u((t=>{this.bindings=t;return this.initialize()}),this.host)}catch(t){this.error=t}}renderIcon(){return this.icon||d}initialize(){this.storage=new m;this.recentQueriesList=r(this.bindings.engine,{initialState:{queries:this.retrieveLocalStorage()},options:{maxLength:1e3,clearFilters:this.bindings.clearFilters}});this.recentQueriesList.subscribe((()=>this.updateLocalStorage()));return{position:Array.from(this.host.parentNode.children).indexOf(this.host),renderItems:()=>this.renderItems()}}retrieveLocalStorage(){return this.storage.getParsedJSON(f.RECENT_QUERIES,[])}updateLocalStorage(){if(!this.recentQueriesList.state.analyticsEnabled){return this.disableFeature()}return this.storage.setJSON(f.RECENT_QUERIES,this.recentQueriesList.state.queries)}disableFeature(){this.warnUser();this.storage.removeItem(f.RECENT_QUERIES)}renderItems(){if(!this.recentQueriesList.state.analyticsEnabled){return[]}const t=this.bindings.searchBoxController.state.value;const s=t!=="";const i=s?this.maxWithQuery:this.maxWithoutQuery;const e=this.recentQueriesList.state.queries.filter((s=>s!==t&&s.toLowerCase().startsWith(t.toLowerCase()))).slice(0,i);const r=e.map((t=>this.renderItem(t)));if(r.length){r.unshift(this.renderClear())}return r}renderClear(){const t=l(this.bindings.i18n);return{...t,content:s(b,{i18n:this.bindings.i18n}),onSelect:()=>{this.recentQueriesList.clear();this.bindings.triggerSuggestions()}}}renderItem(t){const i=this.bindings.searchBoxController.state.value;const e=g(t,this.bindings.i18n);return{...e,content:s(S,null,s(y,{icon:this.renderIcon()}),s(j,{query:i,value:t})),onSelect:()=>{if(this.bindings.isStandalone){this.bindings.searchBoxController.updateText(t);this.bindings.searchBoxController.submit();return}this.recentQueriesList.executeRecentQuery(this.recentQueriesList.state.queries.indexOf(t))}}}render(){if(this.error){return s("atomic-component-error",{key:"4bbe51ba38ac44aba83d94bf746b61bc1dc5c7bf",element:this.host,error:this.error})}}get host(){return i(this)}};export{I as atomic_search_box_query_suggestions,_ as atomic_search_box_recent_queries}; //# sourceMappingURL=p-ff30ebdc.entry.js.map