/* Generated time: July 3, 2024 19:32 This file was created by the app developer. Feel free to contact the original developer with any questions. It was minified (compressed) by AVADA. AVADA do NOT own this script. */ class PredictiveSearch extends SearchForm{constructor(){super(),this.cachedResults={},this.predictiveSearchResults=this.querySelector("[data-predictive-search]"),this.allPredictiveSearchInstances=document.querySelectorAll("predictive-search"),this.isOpen=!1,this.abortController=new AbortController,this.searchTerm="",this.defaultSearch=this.querySelector(".default--search"),this.demoSearch=this.querySelector(".wbsclose"),this.setupEventListeners()}setupEventListeners(){this.input.form.addEventListener("submit",this.onFormSubmit.bind(this)),this.input.addEventListener("focus",this.onFocus.bind(this)),this.addEventListener("focusout",this.onFocusOut.bind(this)),this.addEventListener("keyup",this.onKeyup.bind(this)),this.addEventListener("keydown",this.onKeydown.bind(this)),this.querySelector(".wbsclose").addEventListener("click",this.onClick.bind(this))}getQuery(){return this.input.value.trim()}onChange(){super.onChange();var e=this.getQuery();this.defaultSearch.classList.contains("hidden")||this.defaultSearch.classList.add("hidden"),this.searchTerm&&e.startsWith(this.searchTerm)||this.querySelector("#predictive-search-results-groups-wrapper")?.remove(),this.updateSearchForTerm(this.searchTerm,e),this.searchTerm=e,this.searchTerm.length?this.getSearchResults(this.searchTerm):(this.defaultSearch.classList.remove("hidden"),this.close(!0))}onFormSubmit(e){this.getQuery().length&&!this.querySelector('[aria-selected="true"] a')||e.preventDefault()}onFormReset(e){super.onFormReset(e),super.shouldResetForm()&&(this.searchTerm="",this.abortController.abort(),this.abortController=new AbortController,this.closeResults(!0))}onFocus(){var e=this.getQuery();e.length?this.searchTerm!==e?this.onChange():"true"===this.getAttribute("results")?this.open():this.getSearchResults(this.searchTerm):(this.defaultSearch.classList.remove("hidden"),this.demoSearch.classList.remove("hidden"),document.body.classList.add("psearch-hidden"),(e=document.querySelector(".section-header"))?e.classList.remove("shopify-section-header-hidden"):console.error("Header element not found."))}onFocusOut(){setTimeout(()=>{this.contains(document.activeElement)||(this.defaultSearch.classList.add("hidden"),this.demoSearch.classList.add("hidden"),document.body.classList.remove("psearch-hidden"),this.close())},100)}onClick(){setTimeout(()=>{this.defaultSearch.classList.add("hidden"),this.demoSearch.classList.add("hidden"),this.close()})}onKeyup(e){switch(this.getQuery().length||this.close(!0),e.preventDefault(),e.code){case"ArrowUp":this.switchOption("up");break;case"ArrowDown":this.switchOption("down");break;case"Enter":this.selectOption()}}onKeydown(e){"ArrowUp"!==e.code&&"ArrowDown"!==e.code||e.preventDefault()}updateSearchForTerm(e,t){var s=this.querySelector("[data-predictive-search-search-for-text]"),i=s?.innerText;!i||1null!==e.offsetParent);let s=0;if(!i||r){let e=-1,t=0;for(;-1===e&&t<=h.length;)h[t]===r&&(e=t),t++;this.statusElement.textContent="",!i&&r?s=e===h.length-1?0:e+1:i&&(s=0===e?h.length-1:e-1),s!==e&&((i=h[s]).setAttribute("aria-selected",!0),r&&r.setAttribute("aria-selected",!1),this.input.setAttribute("aria-activedescendant",i.id))}}}selectOption(){var e=this.querySelector('[aria-selected="true"] a, button[aria-selected="true"]');e&&e.click()}getSearchResults(e){let s=e.replace(" ","-").toLowerCase();this.setLiveRegionLoadingState(),this.cachedResults[s]?this.renderSearchResults(this.cachedResults[s]):fetch(`${routes.predictive_search_url}?q=${encodeURIComponent(e)}§ion_id=predictive-search`,{signal:this.abortController.signal}).then(e=>{if(e.ok)return e.text();throw e=new Error(e.status),this.close(),e}).then(e=>{let t=(new DOMParser).parseFromString(e,"text/html").querySelector("#shopify-section-predictive-search").innerHTML;this.allPredictiveSearchInstances.forEach(e=>{e.cachedResults[s]=t}),this.renderSearchResults(t)}).catch(e=>{if(20!==e?.code)throw this.close(),e})}setLiveRegionLoadingState(){this.statusElement=this.statusElement||this.querySelector(".predictive-search-status"),this.loadingText=this.loadingText||this.getAttribute("data-loading-text"),this.setLiveRegionText(this.loadingText),this.setAttribute("loading",!0)}setLiveRegionText(e){this.statusElement.setAttribute("aria-hidden","false"),this.statusElement.textContent=e,setTimeout(()=>{this.statusElement.setAttribute("aria-hidden","true")},1e3)}renderSearchResults(e){this.predictiveSearchResults.innerHTML=e,this.setAttribute("results",!0),this.setLiveRegionResults(),this.open()}setLiveRegionResults(){this.removeAttribute("loading"),this.setLiveRegionText(this.querySelector("[data-predictive-search-live-region-count-value]").textContent)}open(){this.setAttribute("open",!0),this.input.setAttribute("aria-expanded",!0),this.isOpen=!0}close(e=!1){this.closeResults(e),this.isOpen=!1}closeResults(e=!1){e&&(this.input.value="",this.removeAttribute("results"));e=this.querySelector('[aria-selected="true"]');e&&e.setAttribute("aria-selected",!1),this.input.setAttribute("aria-activedescendant",""),this.removeAttribute("loading"),this.removeAttribute("open"),this.input.setAttribute("aria-expanded",!1),this.predictiveSearchResults.removeAttribute("style")}}customElements.define("predictive-search",PredictiveSearch);