@searchstax-inc/searchstudio-ux-vue 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -220,4 +220,4 @@
220
220
  </div>
221
221
  {{/hasResultsOrExternalPromotions}}
222
222
  {{/searchExecuted}}
223
- `,selectId:"searchstax-search-order-select"}};class m{}l(m,"externalPromotions",ke),l(m,"facets",Ce),l(m,"pagination",be),l(m,"relatedSearches",Se),l(m,"searchFeedback",xe),l(m,"searchInput",Le),l(m,"searchResults",Te),l(m,"sorting",Ee);class Re{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"externalPromotionsContainerId"),l(this,"searchExternalPromotionsMainContainer",null);var t,r;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((r=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:r.externalPromotionsContainerId)||m.externalPromotions.mainTemplate.externalPromotionsContainerId,this.searchExternalPromotionsMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchExternalPromotions.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data,externalPromotions:this.dataLayer.parsedData.externalPromotions};return this.dataLayer.setExternalPromotionsData(e),e}addExternalSearch(e){var t,r,i,n;const o=document.getElementById(this.externalPromotionsContainerId);if(o){const c=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.externalPromotion)==null?void 0:i.template)||((n=m.externalPromotions.externalPromotion)==null?void 0:n.template),h=document.createElement("div");h.classList.add("searchstax-external-promotion"),h.addEventListener("click",u=>{this.trackClick(e,u)}),h.innerHTML=C.render(c,e),o.appendChild(h)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var t,r,i,n;const o=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.mainTemplate)==null?void 0:i.template)||((n=m.externalPromotions.mainTemplate)==null?void 0:n.template);if(this.dataLayer.renderingEngine===E.mustache){this.searchExternalPromotionsMainContainer.innerHTML=C.render(o,e);const c=document.getElementById(this.externalPromotionsContainerId);c&&(c.innerHTML="");for(const h of e.externalPromotions)this.addExternalSearch(h)}}}class Fe{constructor(e,t){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"routerHelper"),l(this,"cachedPhrase",""),l(this,"isCached",!1),l(this,"overlayOpened",!1),l(this,"facetPaginationStep"),l(this,"facetPaginationStepMobile"),l(this,"searchFacetsMainContainer",null),l(this,"searchFacetsMobileContainer",null),l(this,"searchFacetsDesktopContainer",null),l(this,"facetLimits",{}),l(this,"facetLimitsMobile",{}),l(this,"deactivatedFacets",{}),l(this,"cachedData",null),l(this,"cacheFacets"),l(this,"onFacetSelect",(r,i,n,o)=>{if(r.stopPropagation(),!i.disabled){const c=n.querySelector("input");c.checked=o?c.checked:!c.checked;const h=this.dataLayer.searchObject;let u=[...h.facets];const d=this.extractFacetValue(i);c.checked?u.find(g=>P.deepEqual(g,d)?g:!1)||(this.config.facetingType==="tabs"&&(u=u.filter(g=>g.name!==d.name)),u.push(d)):u=u.filter(g=>!P.deepEqual(g,d)),setTimeout(()=>{this.dataLayer.setSearchObject({...h,facets:u,page:1}),this.config.facetingType==="tabs"&&this.renderMainTemplate(this.generateTemplateData(),!0)},0)}}),this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,this.searchFacetsMainContainer=document.getElementById(this.containerId),this.needCache&&t(),this.initializeSubscriptions()}get needCache(){return this.config.facetingType==="showUnavailable"||this.config.facetingType==="or"||this.config.facetingType==="tabs"}get needDisabling(){return this.config.facetingType==="showUnavailable"}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchResults.subscribe(e=>{e&&(this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets()),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return{type:this.config.facetingType,name:e.parentName,value:e.value}}applyFacetLimits(e,t){const r=t?this.facetPaginationStepMobile:this.facetPaginationStep,i=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(n=>{i[n.name]||(i[n.name]=r)}),e.map(n=>({...n,values:n.values.slice(0,i[n.name]),showingAllFacets:n.values.length<=i[n.name],hasMoreFacets:n.values.length>r}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(i=>{var n;const o=(n=this.dataLayer.searchFacets)==null?void 0:n.find(c=>c.name===i.name);return o?{...i,values:i.values.map(c=>{const h=o.values.find(u=>c.type==="range"?!1:c.type==="checkbox"?u.value===c.value:!1);return{...c,disabled:!h,isMobile:e}})}:{...i,values:i.values.map(c=>({...c,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(i=>{var n;return(n=this.config.specificFacets)==null?void 0:n.includes(i.name)}));const r={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(r),r}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,r){var i,n,o,c,h,u,d,g,v,f,x,k;const y=document.createElement("div");y.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||y.classList.add("active");const b=((o=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.facetItemContainerTemplate)==null?void 0:o.template)||((c=m.facets.facetItemContainerTemplate)==null?void 0:c.template);y.innerHTML=C.render(b,e),t.appendChild(y);const L=y.querySelector("."+(((d=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.facetItemContainerTemplate)==null?void 0:d.facetListTitleContainerClass)||((g=m.facets.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)));L==null||L.addEventListener("click",()=>{y.classList.toggle("active")});const R=y.querySelector("."+(((x=(f=(v=this.config)==null?void 0:v.templates)==null?void 0:f.facetItemContainerTemplate)==null?void 0:x.facetListContainerClass)||((k=m.facets.facetItemContainerTemplate)==null?void 0:k.facetListContainerClass)));R&&(e.values.forEach(I=>{this.createFacetListItem(I,R)}),e.hasMoreFacets&&this.createHasMoreComponent(e,R,r))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(r=>P.deepEqual(r,this.extractFacetValue(e))))}createFacetListItem(e,t){var r,i,n,o,c,h,u,d,g,v,f,x,k;const y=document.createElement("div");y.classList.add("searchstax-facet-value-container"),e.disabled&&y.classList.add("searchstax-facet-value-disabled");const b=this.isChecked(e),L=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.facetItemTemplate)==null?void 0:n.template)||((o=m.facets.facetItemTemplate)==null?void 0:o.template);y.innerHTML=C.render(L,{...e,isChecked:b});let R=(c=m.facets.facetItemTemplate)==null?void 0:c.checkTriggerClasses;R=((d=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.facetItemTemplate)==null?void 0:d.checkTriggerClasses)||R,R.forEach(I=>{var T;(T=y.querySelector("."+I))==null||T.addEventListener("click",w=>{this.onFacetSelect(w,e,y)})}),(k=y.querySelector("."+(((f=(v=(g=this.config)==null?void 0:g.templates)==null?void 0:v.facetItemTemplate)==null?void 0:f.inputCheckboxClass)||((x=m.facets.facetItemTemplate)==null?void 0:x.inputCheckboxClass))))==null||k.addEventListener("click",I=>{this.onFacetSelect(I,e,y,!0)}),t.appendChild(y)}createHasMoreComponent(e,t,r){var i,n,o,c,h,u,d,g;const v=document.createElement("div");v.classList.add("searchstax-facet-show-more-container");const f=((o=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.showMoreButtonContainerTemplate)==null?void 0:o.template)||((c=m.facets.showMoreButtonContainerTemplate)==null?void 0:c.template);v.innerHTML=C.render(f,e);const x=v.querySelector("."+(((d=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.showMoreButtonContainerTemplate)==null?void 0:d.showMoreButtonClass)||((g=m.facets.showMoreButtonContainerTemplate)==null?void 0:g.showMoreButtonClass)));x&&(this.attachOnclickToShowMore(e,x,r),t&&t.appendChild(x))}attachOnclickToShowMore(e,t,r){t.addEventListener("click",i=>{this.onShowMoreLessClick(i,e,r)})}onShowMoreLessClick(e,t,r){e.preventDefault();const i=r?this.facetPaginationStepMobile:this.facetPaginationStep,n=r?this.facetLimits:this.facetLimitsMobile;n[t.name]===void 0?n[t.name]=i*2:n[t.name]<=t.values.length?n[t.name]=n[t.name]+i:n[t.name]=i,this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var r,i,n,o,c,h,u,d,g,v,f;if(e&&(!P.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const x=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplateDesktop)==null?void 0:n.template)||((o=m.facets.mainTemplateDesktop)==null?void 0:o.template);if(this.dataLayer.renderingEngine===E.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=C.render(x,{...e});const k=(d=this.searchFacetsMainContainer)==null?void 0:d.querySelector("."+(((u=(h=(c=this.config)==null?void 0:c.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:u.facetsContainerClass)||m.facets.mainTemplateDesktop.facetsContainerClass));if(k){k.innerHTML="";for(const y of e.facets)this.createFacetItem(y,k);if(this.searchFacetsMainContainer){const y=this.searchFacetsMainContainer.querySelector("."+(((f=(v=(g=this.config)==null?void 0:g.templates)==null?void 0:v.mainTemplateDesktop)==null?void 0:f.selectedFacetsContainerClass)||m.facets.mainTemplateDesktop.selectedFacetsContainerClass));y&&(this.createSelectedFacetsComponents(y),this.createClearFacetsComponents(y))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const r of t){const i=decodeURIComponent(r.name),n=decodeURIComponent(r.value);if(this.dataLayer.searchFacets){const o=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=o==null?void 0:o.find(h=>h.name===i);if(c){const h=c.values.find(u=>u.type==="range"?!1:u.type==="checkbox"?`"${u.value}"`==`"${n}"`:!1);h&&e.push(h)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(r=>{this.createSelectedFacetsComponent(e,r)})}createClearFacetsComponents(e){var t,r,i,n,o,c,h,u;const d=this.dataLayer.searchObject,g=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.clearFacetsTemplate)==null?void 0:i.template)||((n=m.facets.clearFacetsTemplate)==null?void 0:n.template),v=document.createElement("div");v.innerHTML=C.render(g,{shouldShow:d.facets.length>0});const f=v.querySelector("."+(((h=(c=(o=this.config)==null?void 0:o.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:h.containerClass)||((u=m.facets.clearFacetsTemplate)==null?void 0:u.containerClass)));f&&(f.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(f))}createSelectedFacetsComponent(e,t){var r,i,n,o,c,h,u,d;const g=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.selectedFacetsTemplate)==null?void 0:n.template)||((o=m.facets.selectedFacetsTemplate)==null?void 0:o.template),v=document.createElement("div");v.innerHTML=C.render(g,t);const f=v.querySelector("."+(((u=(h=(c=this.config)==null?void 0:c.templates)==null?void 0:h.selectedFacetsTemplate)==null?void 0:u.containerClass)||((d=m.facets.selectedFacetsTemplate)==null?void 0:d.containerClass)));f&&(f.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(f))}unselectFacet(e){const t=this.dataLayer.searchObject;let r=[...t.facets];e.type==="checkbox"&&(r=r.filter(i=>JSON.stringify(i)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:r}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,r,i,n,o,c,h,u;const d=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.filterByTemplate)==null?void 0:i.template)||((n=m.facets.filterByTemplate)==null?void 0:n.template),g=document.createElement("div");g.innerHTML=C.render(d,{});const v=g.querySelector("."+(((h=(c=(o=this.config)==null?void 0:o.templates)==null?void 0:c.filterByTemplate)==null?void 0:h.containerClass)||((u=m.facets.filterByTemplate)==null?void 0:u.containerClass)));v&&(e.prepend(v),v.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,r,i,n,o,c,h,u,d,g,v,f,x,k,y,b,L,R,I;if(e){const T=document.createElement("div");T.classList.add("searchstax-facets-container-mobile");const w=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.mainTemplateMobile)==null?void 0:i.template)||((n=m.facets.mainTemplateMobile)==null?void 0:n.template);if(this.dataLayer.renderingEngine===E.mustache){if(T.innerHTML=C.render(w,{...e,overlayOpened:this.overlayOpened}),(o=this.searchFacetsMainContainer)==null||o.appendChild(T),(h=(c=this.config)==null?void 0:c.templates)!=null&&h.mainTemplateMobile)for(const V of((g=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.mainTemplateMobile)==null?void 0:g.closeOverlayTriggerClasses)||[]){const N=T.querySelector("."+V);N&&N.addEventListener("click",this.closeOverlay.bind(this))}else for(const V of m.facets.mainTemplateMobile.closeOverlayTriggerClasses){const N=T.querySelector("."+V);N&&N.addEventListener("click",this.closeOverlay.bind(this))}const H=T.querySelector("."+(((x=(f=(v=this.config)==null?void 0:v.templates)==null?void 0:f.mainTemplateMobile)==null?void 0:x.filterByContainerClass)||m.facets.mainTemplateMobile.filterByContainerClass));H&&this.createFilterByComponent(H);const $=T.querySelector("."+(((b=(y=(k=this.config)==null?void 0:k.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:b.selectedFacetsContainerClass)||m.facets.mainTemplateMobile.selectedFacetsContainerClass));$&&(this.createSelectedFacetsComponents($),this.createClearFacetsComponents($));const W=T.querySelector("."+(((I=(R=(L=this.config)==null?void 0:L.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||m.facets.mainTemplateMobile.facetsContainerClass));if(W){W.innerHTML="";for(const V of e.facets)this.createFacetItem(V,W,!0)}}}}}class Ie{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"previousButtonClass"),l(this,"nextButtonClass"),l(this,"routerHelper"),l(this,"searchPaginationMainContainer",null);var t,r,i,n,o,c;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.mainTemplate)==null?void 0:i.previousButtonClass)??m.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(o=(n=this.config)==null?void 0:n.templates)==null?void 0:o.mainTemplate)==null?void 0:c.nextButtonClass)??m.pagination.mainTemplate.nextButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil((((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.totalResultsValue)??0)/10)}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var e,t;const r={...this.dataLayer.parsedData.data,previousPageLink:this.routerHelper.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:this.routerHelper.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)+1})};return this.dataLayer.setPaginationData(r),r}goToPage(e){const t=this.dataLayer.searchObject;t&&(t.page=e,this.dataLayer.setSearchObject(t)),window.scrollTo(0,0)}nextPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var t,r,i,n,o,c;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(r=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||r.removeEventListener("click",this.nextPage));const h=((o=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.mainTemplate)==null?void 0:o.template)||((c=m.pagination.mainTemplate)==null?void 0:c.template);this.dataLayer.renderingEngine===E.mustache&&(this.searchPaginationMainContainer.innerHTML=C.render(h,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class $e{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"relatedSearchesContainerClass"),l(this,"searchRelatedSearchesMainContainer",null),l(this,"track");var t,r;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((r=(t=this.config.templates)==null?void 0:t.main)==null?void 0:r.relatedSearchesContainerClass)||m.relatedSearches.main.relatedSearchesContainerClass,this.searchRelatedSearchesMainContainer=document.getElementById(this.containerId),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var r,i,n,o,c;const h=document.createElement("div"),u=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.relatedSearch)==null?void 0:n.template)||m.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===E.mustache){h.innerHTML=C.render(u,e);const d=h.querySelector("."+(((c=(o=this.config.templates)==null?void 0:o.relatedSearch)==null?void 0:c.relatedSearchContainerClass)||m.relatedSearches.relatedSearch.relatedSearchContainerClass));d&&(t.appendChild(d),d.addEventListener("click",()=>{this.executeSearch(e)}))}}executeSearch(e){const t=this.dataLayer.searchObject;t.query=e.related_search,this.dataLayer.setSearchObject(t),this.track(e)}renderMainTemplate(e){var t,r,i,n;const o=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.main)==null?void 0:i.template)||m.relatedSearches.main.template;if(this.dataLayer.renderingEngine===E.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=C.render(o,e);const c=(n=this.searchRelatedSearchesMainContainer)==null?void 0:n.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const h of e.relatedSearches)this.addRelatedSearchComponent(h,c)}}}class Pe{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"searchFeedbackMainContainer",null),l(this,"searchTrigger"),this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,this.searchFeedbackMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchFeedbackData(e),e}onOriginalQueryClick(e){var t;e.stopPropagation(),e.preventDefault();const r=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(r,!0)}attachClick(){var e,t,r,i,n;const o=(n=this.searchFeedbackMainContainer)==null?void 0:n.querySelector("."+(((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:r.originalQueryClass)||((i=m.searchFeedback.main)==null?void 0:i.originalQueryClass)));o&&o.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,r,i;const n=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.main)==null?void 0:i.template)||m.searchFeedback.main.template;this.dataLayer.renderingEngine===E.mustache&&(this.searchFeedbackMainContainer.innerHTML=C.render(n,e),setTimeout(()=>{this.attachClick()},0))}}class De{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"suggestAfterMinChars"),l(this,"containerId"),l(this,"currentInputValue",""),l(this,"autosuggestResults"),l(this,"searchInput"),l(this,"actionButton"),l(this,"autosuggestContainer"),l(this,"buttonState","search"),l(this,"selectedAutosuggestItem",-1),l(this,"suggestTrigger"),l(this,"searchTrigger"),this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,r,i;const n=document.getElementById(this.containerId);if(!n)throw new Error("Search input container not found");const o=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||m.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===E.mustache){const u=C.render(o,{});n.innerHTML=u}const c=((i=(r=this.config.templates)==null?void 0:r.mainTemplate)==null?void 0:i.searchInputId)||m.searchInput.mainTemplate.searchInputId,h=document.querySelector(`#${c}`);if(h)this.searchInput=h,h.addEventListener("keyup",this.inputKeyupEvent.bind(this)),h.addEventListener("blur",this.hideAutosuggest.bind(this)),h.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===E.mustache&&(this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const r=e[t];t===this.selectedAutosuggestItem?r.classList.add("active"):r.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return D.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,r,i;const n=document.createElement("div");n.classList.add("searchstax-autosuggest-item"),n.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),n.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const o=((r=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:r.template)||((i=m.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return n.innerHTML=C.render(o,e),n}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const r=e.suggest[t];for(const i in r)if(Object.prototype.hasOwnProperty.call(r,i)){const n=r[i];this.autosuggestResults=n,this.dataLayer.setAutosuggestResults(n),n.numFound>0?n.suggestions.forEach(o=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(o))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Me{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"linkClickCallback"),l(this,"searchCallback"),l(this,"containerId"),l(this,"searchResultsMainContainer"),l(this,"searchResultsContainer"),l(this,"searchResultLinks",[]),this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId;const t=document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var e,t,r,i,n;const o=((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:r.template)||((i=m.searchResults.noSearchResultTemplate)==null?void 0:i.template),c=((n=this.dataLayer.searchResultsMetadata)==null?void 0:n.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===E.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=C.render(o,{spellingSuggestion:c,searchTerm:this.dataLayer.searchTerm})),c&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),this.searchCallback(c)})}}renderResults(e){var t,r,i,n;if(this.dataLayer.renderingEngine===E.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const o=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.searchResultTemplate)==null?void 0:i.template)||((n=m.searchResults.searchResultTemplate)==null?void 0:n.template),c=e.map(h=>C.render(o,h));this.searchResultsContainer.innerHTML=c.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,r,i;return((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:r.searchResultUniqueIdAttribute)||((i=m.searchResults.searchResultTemplate)==null?void 0:i.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const r=e.getAttribute(this.uniqueIdAttribute)??"";r&&this.linkClickCallback(r)})})}renderMainTemplate(){var e,t,r,i;const n=((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:r.template)||((i=m.searchResults.mainTemplate)==null?void 0:i.template);this.dataLayer.renderingEngine===E.mustache&&(this.searchResultsMainContainer.innerHTML=C.render(n,{}),setTimeout(()=>{var o,c,h,u,d,g,v;const f=(h=(c=(o=this.config)==null?void 0:o.templates)==null?void 0:c.mainTemplate)!=null&&h.searchResultsContainerId?(g=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.mainTemplate)==null?void 0:g.searchResultsContainerId:(v=m.searchResults.mainTemplate)==null?void 0:v.searchResultsContainerId,x=document.getElementById(f);if(x)this.searchResultsContainer=x;else throw new Error(`Search Results Container with id ${f} not found`)},0))}}class we{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"selectId"),l(this,"searchSortingMainContainer",null);var t,r;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((r=(t=this.config.templates)==null?void 0:t.main)==null?void 0:r.selectId)||m.sorting.main.selectId,this.searchSortingMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchSortingData(e),e}setOrderQuery(e){const t=this.dataLayer.searchObject;t&&(t.order=e,this.dataLayer.setSearchObject(t))}markOptionSelected(){const e=document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var t,r,i;const n=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.main)==null?void 0:i.template)||m.sorting.main.template;if(this.dataLayer.renderingEngine===E.mustache){this.searchSortingMainContainer.innerHTML=C.render(n,e),this.markOptionSelected();const o=document.getElementById(this.selectId);o&&o.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class Be{constructor(e=E.mustache){l(this,"routerEnabled",!1),l(this,"cachedQuery",""),l(this,"routerHelper"),l(this,"searchHelper"),l(this,"searchResultsConfig"),l(this,"searchPaginationConfig"),l(this,"searchFeedbackConfig"),l(this,"searchSortingConfig"),l(this,"searchFacetsConfig"),l(this,"relatedSearchesConfig"),l(this,"externalPromotionsConfig"),l(this,"searchInputWidget"),l(this,"searchResultsWidget"),l(this,"searchFacetsWidget"),l(this,"searchPaginationWidget"),l(this,"searchFeedbackWidget"),l(this,"searchSortingWidget"),l(this,"relatedSearchesWidget"),l(this,"externalPromotionsWidget"),l(this,"dataLayer",new Z(ae.getOrSetCookie("searchstax_session_id"))),l(this,"firstRequest",!0),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=E.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(r=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(r)}),this.dataLayer.$searchObject.subscribe(r=>{r.query!==""&&this.search(r)}),this.dataLayer.$searchResults.subscribe(r=>{r&&this.dataLayer.searchResultsMetadata&&q.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,r;e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new te({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((r=e.router)==null?void 0:r.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new K(e.router?e.router:{enabled:!0}),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new K({})}search(e){if(this.searchHelper&&e.query!==""&&e.query!==void 0&&e.query!=="undefined"){const t=this.dataLayer.forceNotCorrect;this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var t;const r=(((t=e.response)==null?void 0:t.docs)??[]).map((n,o)=>({...n,position:o+1})),i=[];for(const n of r)i.push({relatedSearch:n.related_search,position:n.position});this.dataLayer.searchResultsMetadata&&q.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:i}),this.dataLayer.setSearchRelatedSearches(r)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var t,r;this.handleRouter();let i=A.combineResultsWithMetadata(e),n=A.extractFacets(e);this.dataLayer.setSearchFacets(n),(r=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&r.afterSearch&&(i=this.dataLayer.searchstaxConfig.hooks.afterSearch(i)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const o=A.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(o),this.dataLayer.setSearchResults(i)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,r;let i=e;(r=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&r.afterAutosuggest&&(i=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(i)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new De({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Me({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new Ie({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new $e({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Re({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Fe({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var r,i;const n={...this.dataLayer.searchObject};n.query=D.removeXSSRiskyTags(e),n.page=1,n.facets=[],this.dataLayer.forceNotCorrect=!!t;let o=(r=this.routerHelper)==null?void 0:r.searchObjectToParams(n);o&&(o=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(o)),o&&(n.additionalProps=Object.keys(o).map(c=>o?{key:c,value:o[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(n)}executeSuggest(e){var t,r;let i={term:e,queryParams:[]};(r=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&r.beforeAutosuggest&&(i=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(i)),i&&i.term!==void 0&&i.queryParams!==void 0&&this.suggest(i.term,i.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&q.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,r;let i=A.findResultByUniqueId(e,this.dataLayer.searchResults??[]);i&&((r=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&r.afterLinkClick&&(i=this.searchResultsConfig.hooks.afterLinkClick(i)),i&&this.dataLayer.searchResultsMetadata&&(q.trackClick({result:i,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(i==null?void 0:i.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,r,i;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(r=this.searchResultsConfig)==null?void 0:r.templates,...e}:e,(i=this.searchResultsWidget)==null||i.changeTemplate())}}const p=s.reactive({searchstax:new Be("vue")}),Oe=s.defineComponent({name:"SearchstaxWrapper",props:{language:{type:String,required:!1,default:"en"},searchURL:{type:String,required:!0},suggesterURL:{type:String,required:!0},trackApiKey:{type:String,required:!0},searchAuth:{type:String,required:!0},authType:{type:String,required:!1,default:"basic"},autoCorrect:{type:Boolean,required:!1,default:!0},router:{type:Object,required:!1},beforeSearch:{type:Function,required:!1},afterSearch:{type:Function,required:!1}},mounted(){const a={};this.beforeSearch&&(a.beforeSearch=this.beforeSearch),this.afterSearch&&(a.afterSearch=this.afterSearch),p.searchstax.initialize({language:this.language,searchURL:this.searchURL,suggesterURL:this.suggesterURL,trackApiKey:this.trackApiKey,searchAuth:this.searchAuth,authType:this.authType,autoCorrect:this.autoCorrect,router:this.router,hooks:a}),this.$emit("initialized",p.searchstax)}}),M=(a,e)=>{const t=a.__vccOpts||a;for(const[r,i]of e)t[r]=i;return t};function Ve(a,e,t,r,i,n){return s.renderSlot(a.$slots,"default")}const Ne=M(Oe,[["render",Ve]]),Ae=s.defineComponent({name:"SearchstaxInputWidget",props:{afterAutosuggest:{type:Function,required:!1},beforeAutosuggest:{type:Function,required:!1},searchInputId:{type:String,required:!1},suggestAfterMinChars:{type:Number,required:!1,default:3}},data(){return{suggestions:[]}},methods:{onMouseLeave(){p.searchstax.searchInputWidget.resetAutosuggestSelection(),p.searchstax.searchInputWidget.markActiveAutosuggestItem()},onMouseOver(a){p.searchstax.searchInputWidget.onSuggestionEnter(a)},onMouseClick(){p.searchstax.searchInputWidget.suggestionChosen()},attachObservables(){p.searchstax.dataLayer.$autosuggestResults.subscribe(a=>{this.suggestions=(a==null?void 0:a.suggestions)??[]})}},computed:{hasInputSlot(){return!!this.$slots.input}},mounted(){if(p.searchstax){this.attachObservables();const a={};this.afterAutosuggest&&(a.afterAutosuggest=this.afterAutosuggest),this.beforeAutosuggest&&(a.beforeAutosuggest=this.beforeAutosuggest),p.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:this.suggestAfterMinChars,hooks:a,templates:{mainTemplate:{template:"",searchInputId:this.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")}}),qe={id:"searchstax-input-container"},_e={class:"searchstax-search-input-container"},je={key:0,class:"searchstax-search-input-wrapper"},He=s.createElementVNode("input",{type:"text",id:"searchstax-search-input",class:"searchstax-search-input",placeholder:"SEARCH FOR..."},null,-1),We=["innerHTML","onMouseover"],Ue=s.createElementVNode("button",{class:"searchstax-spinner-icon",id:"searchstax-search-input-action-button"},null,-1);function Qe(a,e,t,r,i,n){return s.openBlock(),s.createElementBlock("div",qe,[s.createElementVNode("div",_e,[a.hasInputSlot?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",je,[He,s.createElementVNode("div",{class:s.normalizeClass(["searchstax-autosuggest-container",{hidden:a.suggestions.length===0}]),onMouseleave:e[1]||(e[1]=(...o)=>a.onMouseLeave&&a.onMouseLeave(...o))},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.suggestions,o=>(s.openBlock(),s.createElementBlock("div",{class:"searchstax-autosuggest-item",key:o.term},[s.createElementVNode("div",{class:"searchstax-autosuggest-item-term-container",innerHTML:o.term,onMouseover:c=>a.onMouseOver(o),onClick:e[0]||(e[0]=s.withModifiers(c=>a.onMouseClick(),["stop"]))},null,40,We)]))),128))],34),Ue])),s.renderSlot(a.$slots,"input",{suggestions:a.suggestions,onMouseClick:a.onMouseClick,onMouseOver:a.onMouseOver,onMouseLeave:a.onMouseLeave})])])}const Ke=M(Ae,[["render",Qe]]),ze=s.defineComponent({name:"SearchstaxResultsWidget",props:{afterLinkClick:{type:Function,required:!1}},computed:{hasNoResultsSlot(){return!!this.$slots.noResult},hasResultSlot(){return!!this.$slots.results},hooks(){const a={};return this.afterLinkClick&&(a.afterLinkClick=this.afterLinkClick),a}},data(){return{searchResults:null,metadata:null,searchTerm:"",store:p}},methods:{resultClicked(a,e){e.preventDefault(),e.stopPropagation(),p.searchstax.executeLinkClick(a.uniqueId)},attachObservables(){p.searchstax.dataLayer.$searchResults.subscribe(a=>{this.searchResults=a}),p.searchstax.dataLayer.$searchTermChange.subscribe(a=>{this.searchTerm=a}),p.searchstax.dataLayer.$searchResultsMetadata.subscribe(a=>{this.metadata=a})}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},hooks:this.hooks});else throw Error("Searchstax instance needs to be passed via props")}}),Je={id:"searchstax-results-container"},Xe={class:"searchstax-search-results-container"},Ge={id:"searchstax-result-container"},Ye={key:0},Ze={class:"searchstax-no-results"},et=s.createElementVNode("strong",null,"no results",-1),tt=s.createElementVNode("br",null,null,-1),at={key:0},st={href:"#",class:"searchstax-suggestion-term"},rt=s.createElementVNode("div",null,[s.createElementVNode("p",null," Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need. "),s.createElementVNode("p",null,"Lost? Click on the ‘X” in the Search Box to reset your search.")],-1),it={key:2,class:"searchstax-search-results"},nt={key:0,class:"searchstax-search-result-promoted"},ot=["href","data-searchstax-unique-result-id","onClick"],ct={key:2,class:"searchstax-search-result-ribbon"},lt=["src"],ht={class:"searchstax-search-result-title-container"},dt={class:"searchstax-search-result-title"},ut={key:4,class:"searchstax-search-result-common"},gt={key:5,class:"searchstax-search-result-description searchstax-search-result-common"},pt={key:0,class:"searchstax-search-result-image-container"},mt=["src"],vt={key:1},ft={class:"searchstax-search-result-common"},yt={key:3};function kt(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",Je,[s.createElementVNode("div",Xe,[s.createElementVNode("div",Ge,[a.searchResults&&a.searchResults.length===0&&!a.hasNoResultsSlot?(s.openBlock(),s.createElementBlock("div",Ye,[s.createElementVNode("div",Ze,[s.createTextVNode(" Showing "),et,s.createTextVNode(" for "),s.createElementVNode("strong",null,'"'+s.toDisplayString(a.searchTerm)+'"',1),tt,(o=a.metadata)!=null&&o.spellingSuggestion?(s.openBlock(),s.createElementBlock("span",at,[s.createTextVNode(" Did you mean "),s.createElementVNode("a",st,s.toDisplayString((c=a.metadata)==null?void 0:c.spellingSuggestion),1),s.createTextVNode("?")])):s.createCommentVNode("",!0)]),rt])):s.createCommentVNode("",!0),a.searchResults&&a.searchResults.length===0&&a.hasNoResultsSlot?s.renderSlot(a.$slots,"noResult",{key:1}):s.createCommentVNode("",!0),a.searchResults&&a.searchResults.length&&!a.hasResultSlot?(s.openBlock(),s.createElementBlock("div",it,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.searchResults,h=>(s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["searchstax-search-result",{"has-thumbnail":h.thumbnail}]),key:h.uniqueId},[h.promoted?(s.openBlock(),s.createElementBlock("div",nt)):s.createCommentVNode("",!0),h.url?(s.openBlock(),s.createElementBlock("a",{key:1,href:h.url,"data-searchstax-unique-result-id":h.uniqueId,onClick:u=>a.resultClicked(h,u),class:"searchstax-result-item-link"},null,8,ot)):s.createCommentVNode("",!0),h.ribbon?(s.openBlock(),s.createElementBlock("div",ct,s.toDisplayString(h.ribbon),1)):s.createCommentVNode("",!0),h.thumbnail?(s.openBlock(),s.createElementBlock("img",{key:3,src:h.thumbnail,class:"searchstax-thumbnail"},null,8,lt)):s.createCommentVNode("",!0),s.createElementVNode("div",ht,[s.createElementVNode("span",dt,s.toDisplayString(h.title),1)]),h.paths?(s.openBlock(),s.createElementBlock("p",ut,s.toDisplayString(h.paths),1)):s.createCommentVNode("",!0),h.description?(s.openBlock(),s.createElementBlock("p",gt,s.toDisplayString(h.description),1)):s.createCommentVNode("",!0),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(h.unmappedFields,u=>(s.openBlock(),s.createElementBlock("div",{key:u.key},[u.isImage&&typeof u.value=="string"?(s.openBlock(),s.createElementBlock("div",pt,[s.createElementVNode("img",{src:u.value,class:"searchstax-result-image"},null,8,mt)])):(s.openBlock(),s.createElementBlock("div",vt,[s.createElementVNode("p",ft,s.toDisplayString(u.value),1)]))]))),128))],2))),128))])):s.createCommentVNode("",!0),a.searchResults&&a.searchResults.length&&a.hasResultSlot?(s.openBlock(),s.createElementBlock("div",yt,[s.renderSlot(a.$slots,"results",{searchResults:a.searchResults,resultClicked:a.resultClicked})])):s.createCommentVNode("",!0)])])])}const Ct=M(ze,[["render",kt]]),bt=s.defineComponent({name:"SearchstaxFacetsWidget",props:{facetingType:{type:String,required:!0},itemsPerPageDesktop:{type:Number,required:!0},itemsPerPageMobile:{type:Number,required:!0},specificFacets:{type:Array,required:!1}},data(){return{facetsTemplateDataDesktop:null,facetsTemplateDataMobile:null,store:p,facetContainers:s.ref([]),mainFacetContainers:s.ref([]),selectedFacetsCheckboxes:[],selectedFacetsRange:[],rand:Math.random()}},computed:{hasDesktopFacetsSlot(){return!!this.$slots.desktopFacets},hasMobileFacetsSlot(){return!!this.$slots.mobileFacets}},methods:{attachObservables(){p.searchstax.dataLayer.$facetsTemplateData.subscribe(a=>{a!=null&&a.isMobile?this.facetsTemplateDataMobile=a:this.facetsTemplateDataDesktop=a}),p.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(a=>{const e=a??[];this.selectedFacetsCheckboxes=e.filter(t=>t.type==="checkbox")})},unselectFacet(a){p.searchstax.searchFacetsWidget.unselectFacet(a)},unselectAll(){p.searchstax.searchFacetsWidget.removeSelectedFacets()},isNotDeactivated(a){return!p.searchstax.searchFacetsWidget.deactivatedFacets[a]},toggleFacetGroup(a){this.isNotDeactivated(a)?p.searchstax.searchFacetsWidget.deactivatedFacets[a]=!0:p.searchstax.searchFacetsWidget.deactivatedFacets[a]=!1},isChecked(a){return p.searchstax.searchFacetsWidget.isChecked(a)},selectFacet(a,e,t,r){const i=document.createElement("div");i.innerHTML=this.facetContainers[a].outerHTML,p.searchstax.searchFacetsWidget.onFacetSelect(e,t,this.facetContainers[a],r)},showMoreLessDesktop(a,e){p.searchstax.searchFacetsWidget.onShowMoreLessClick(a,e,!1)},showMoreLessMobile(a,e){p.searchstax.searchFacetsWidget.onShowMoreLessClick(a,e,!0)},openOverlay(){p.searchstax.searchFacetsWidget.openOverlay()},closeOverlay(){p.searchstax.searchFacetsWidget.closeOverlay()}},mounted(){p.searchstax.addFacetsWidget("searchstax-facets-container"+this.rand,{facetingType:this.facetingType,specificFacets:this.specificFacets,itemsPerPageDesktop:this.itemsPerPageDesktop,itemsPerPageMobile:this.itemsPerPageMobile}),this.attachObservables()}}),St=["id"],xt={key:0,class:"searchstax-facets-container-desktop"},Lt=["onClick"],Tt={class:"searchstax-facet-title"},Et=s.createElementVNode("div",{class:"searchstax-facet-title-arrow active"},null,-1),Rt={class:"searchstax-facet-values-container"},Ft={class:"searchstax-facet-input"},It=["checked","disabled","onClick"],$t=["onClick"],Pt=["onClick"],Dt={key:0,class:"searchstax-facet-show-more-container"},Mt=["onClick"],wt={key:0,class:"searchstax-facet-show-less-button searchstax-facet-show-button"},Bt={key:1,class:"searchstax-facet-show-more-button searchstax-facet-show-button"},Ot={key:1},Vt={key:2,class:"searchstax-facets-container-mobile"},Nt={class:"searchstax-facets-pills-container"},At=s.createElementVNode("div",{class:"searchstax-facets-pill-label"},"Filter By",-1),qt=[At],_t={class:"searchstax-facets-pills-selected"},jt=["onClick"],Ht={class:"searchstax-facets-pill-label"},Wt=s.createElementVNode("div",{class:"searchstax-facets-pill-icon-close"},null,-1),Ut=s.createElementVNode("div",{class:"searchstax-facets-pill-label"},"Clear Filters",-1),Qt=[Ut],Kt={class:"searchstax-facets-mobile-overlay-header"},zt=s.createElementVNode("div",{class:"searchstax-facets-mobile-overlay-header-title"},"Filter By",-1),Jt={class:"searchstax-facets-container-mobile"},Xt=["onClick"],Gt={class:"searchstax-facet-title"},Yt=s.createElementVNode("div",{class:"searchstax-facet-title-arrow active"},null,-1),Zt={class:"searchstax-facet-values-container"},ea={class:"searchstax-facet-input"},ta=["checked","disabled","onClick"],aa=["onClick"],sa=["onClick"],ra={key:0,class:"searchstax-facet-show-more-container"},ia=["onClick"],na={key:0,class:"searchstax-facet-show-less-button searchstax-facet-show-button"},oa={key:1,class:"searchstax-facet-show-more-button searchstax-facet-show-button"},ca={key:3};function la(a,e,t,r,i,n){var o,c,h,u;return s.openBlock(),s.createElementBlock("div",{id:"searchstax-facets-container"+a.rand},[(o=a.facetsTemplateDataDesktop)!=null&&o.hasResultsOrExternalPromotions&&!a.hasDesktopFacetsSlot?(s.openBlock(),s.createElementBlock("div",xt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.facetsTemplateDataDesktop.facets,d=>(s.openBlock(),s.createElementBlock("div",{key:d.name+"desktop",class:s.normalizeClass(["searchstax-facet-container",{active:a.isNotDeactivated(d.name)}])},[s.createElementVNode("div",null,[s.createElementVNode("div",{class:"searchstax-facet-title-container",onClick:g=>a.toggleFacetGroup(d.name)},[s.createElementVNode("div",Tt,s.toDisplayString(d.label),1),Et],8,Lt),s.createElementVNode("div",Rt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(d.values,(g,v)=>(s.openBlock(),s.createElementBlock("div",{key:g.value+g.parentName,class:s.normalizeClass(["searchstax-facet-value-container",{"searchstax-facet-value-disabled":g.disabled}]),ref_for:!0,ref:f=>{a.facetContainers[v+d.name]=f}},[s.createElementVNode("div",Ft,[s.createElementVNode("input",{type:"checkbox",class:"searchstax-facet-input-checkbox",checked:a.isChecked(g),disabled:g.disabled,onClick:f=>a.selectFacet(v+d.name,f,g,!0)},null,8,It)]),s.createElementVNode("div",{class:"searchstax-facet-value-label",onClick:f=>a.selectFacet(v+d.name,f,g,!1)},s.toDisplayString(g.value),9,$t),s.createElementVNode("div",{class:"searchstax-facet-value-count",onClick:f=>a.selectFacet(v+d.name,f,g,!1)},"("+s.toDisplayString(g.count)+")",9,Pt)],2))),128)),d.hasMoreFacets?(s.openBlock(),s.createElementBlock("div",Dt,[s.createElementVNode("div",{class:"searchstax-facet-show-more-container",onClick:g=>a.showMoreLessDesktop(g,d)},[d.showingAllFacets?(s.openBlock(),s.createElementBlock("div",wt,"less")):(s.openBlock(),s.createElementBlock("div",Bt,"more"))],8,Mt)])):s.createCommentVNode("",!0)])])],2))),128))])):s.createCommentVNode("",!0),a.hasDesktopFacetsSlot?(s.openBlock(),s.createElementBlock("div",Ot,[s.renderSlot(a.$slots,"desktopFacets",{facetsTemplateDataDesktop:a.facetsTemplateDataDesktop,isNotDeactivated:a.isNotDeactivated,toggleFacetGroup:a.toggleFacetGroup,isChecked:a.isChecked,selectFacet:a.selectFacet,showMoreLessDesktop:a.showMoreLessDesktop,facetContainers:a.facetContainers})])):s.createCommentVNode("",!0),(c=a.facetsTemplateDataMobile)!=null&&c.hasResultsOrExternalPromotions&&!a.hasMobileFacetsSlot?(s.openBlock(),s.createElementBlock("div",Vt,[s.createElementVNode("div",Nt,[s.createElementVNode("div",{class:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:e[0]||(e[0]=(...d)=>a.openOverlay&&a.openOverlay(...d))},qt),s.createElementVNode("div",_t,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.selectedFacetsCheckboxes,d=>(s.openBlock(),s.createElementBlock("div",{class:"searchstax-facets-pill searchstax-facets-pill-facets",key:d.value,onClick:g=>a.unselectFacet(d)},[s.createElementVNode("div",Ht,s.toDisplayString(d.value)+" ("+s.toDisplayString(d.count)+")",1),Wt],8,jt))),128))]),a.selectedFacetsCheckboxes.length?(s.openBlock(),s.createElementBlock("div",{key:0,class:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:e[1]||(e[1]=(...d)=>a.unselectAll&&a.unselectAll(...d))},Qt)):s.createCommentVNode("",!0)]),s.createElementVNode("div",{class:s.normalizeClass(["searchstax-facets-mobile-overlay",{"searchstax-show":(h=a.facetsTemplateDataMobile)==null?void 0:h.overlayOpened}])},[s.createElementVNode("div",Kt,[zt,s.createElementVNode("div",{class:"searchstax-search-close",onClick:e[2]||(e[2]=(...d)=>a.closeOverlay&&a.closeOverlay(...d))})]),s.createElementVNode("div",Jt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList((u=a.facetsTemplateDataMobile)==null?void 0:u.facets,d=>(s.openBlock(),s.createElementBlock("div",{key:d.name+"mobile",class:s.normalizeClass(["searchstax-facet-container",{active:a.isNotDeactivated(d.name)}])},[s.createElementVNode("div",null,[s.createElementVNode("div",{class:"searchstax-facet-title-container",onClick:g=>a.toggleFacetGroup(d.name)},[s.createElementVNode("div",Gt,s.toDisplayString(d.label),1),Yt],8,Xt),s.createElementVNode("div",Zt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(d.values,(g,v)=>(s.openBlock(),s.createElementBlock("div",{key:g.value+g.parentName,class:s.normalizeClass(["searchstax-facet-value-container",{"searchstax-facet-value-disabled":g.disabled}]),ref_for:!0,ref:f=>{a.facetContainers[v+d.name]=f}},[s.createElementVNode("div",ea,[s.createElementVNode("input",{type:"checkbox",class:"searchstax-facet-input-checkbox",checked:a.isChecked(g),disabled:g.disabled,onClick:f=>a.selectFacet(v+d.name,f,g,!0)},null,8,ta)]),s.createElementVNode("div",{class:"searchstax-facet-value-label",onClick:f=>a.selectFacet(v+d.name,f,g,!1)},s.toDisplayString(g.value),9,aa),s.createElementVNode("div",{class:"searchstax-facet-value-count",onClick:f=>a.selectFacet(v+d.name,f,g,!1)},"("+s.toDisplayString(g.count)+")",9,sa)],2))),128)),d.hasMoreFacets?(s.openBlock(),s.createElementBlock("div",ra,[s.createElementVNode("div",{class:"searchstax-facet-show-more-container",onClick:g=>a.showMoreLessDesktop(g,d)},[d.showingAllFacets?(s.openBlock(),s.createElementBlock("div",na,"less")):(s.openBlock(),s.createElementBlock("div",oa,"more"))],8,ia)])):s.createCommentVNode("",!0)])])],2))),128))]),s.createElementVNode("button",{class:"searchstax-facets-mobile-overlay-done",onClick:e[3]||(e[3]=(...d)=>a.closeOverlay&&a.closeOverlay(...d))},"Done")],2)])):s.createCommentVNode("",!0),a.hasMobileFacetsSlot?(s.openBlock(),s.createElementBlock("div",ca,[s.renderSlot(a.$slots,"mobileFacets",{facetsTemplateDataMobile:a.facetsTemplateDataMobile,selectedFacetsCheckboxes:a.selectedFacetsCheckboxes,isNotDeactivated:a.isNotDeactivated,toggleFacetGroup:a.toggleFacetGroup,isChecked:a.isChecked,selectFacet:a.selectFacet,showMoreLessDesktop:a.showMoreLessDesktop,facetContainers:a.facetContainers,openOverlay:a.openOverlay,unselectFacet:a.unselectFacet,unselectAll:a.unselectAll,closeOverlay:a.closeOverlay})])):s.createCommentVNode("",!0)],8,St)}const ha=M(bt,[["render",la]]),da=s.defineComponent({name:"SearchstaxPaginationWidget",data(){return{paginationData:null,rand:Math.random(),paginationAdded:!1}},methods:{nextPage(a){p.searchstax.searchPaginationWidget.nextPage(a)},previousPage(a){p.searchstax.searchPaginationWidget.previousPage(a)},attachObservables(){p.searchstax.dataLayer.$searchObject.subscribe(a=>{this.addWidget()}),p.searchstax.dataLayer.$paginationData.subscribe(a=>{this.paginationData=a})},addWidget(){console.log("store.searchstax.routerHelper",p.searchstax.routerHelper),!this.paginationAdded&&p.searchstax.routerHelper&&(this.paginationAdded=!0,p.searchstax.addPaginationWidget("searchstax-pagination-container"+this.rand,{}))}},computed:{hasPaginationSlot(){return!!this.$slots.pagination}},mounted(){if(p.searchstax)this.attachObservables(),this.addWidget();else throw Error("Searchstax instance needs to be passed via props")}}),ua=["id"],ga={key:0,class:"searchstax-pagination-container"},pa={class:"searchstax-pagination-content"},ma=["disabled"],va={class:"searchstax-pagination-details"},fa=["disabled"],ya={key:1};function ka(a,e,t,r,i,n){var o,c,h,u,d;return s.openBlock(),s.createElementBlock("div",{id:"searchstax-pagination-container"+a.rand},[a.paginationData&&!a.hasPaginationSlot?(s.openBlock(),s.createElementBlock("div",ga,[s.createElementVNode("div",pa,[s.createElementVNode("a",{class:"searchstax-pagination-previous",disabled:(o=a.paginationData)==null?void 0:o.isFirstPage,onClick:e[0]||(e[0]=(...g)=>a.previousPage&&a.previousPage(...g)),id:"searchstax-pagination-previous"}," < Previous ",8,ma),s.createElementVNode("div",va,s.toDisplayString((c=a.paginationData)==null?void 0:c.startResultIndex)+" - "+s.toDisplayString((h=a.paginationData)==null?void 0:h.endResultIndex)+" of "+s.toDisplayString((u=a.paginationData)==null?void 0:u.totalResults),1),s.createElementVNode("a",{class:"searchstax-pagination-next",disabled:(d=a.paginationData)==null?void 0:d.isLastPage,onClick:e[1]||(e[1]=(...g)=>a.nextPage&&a.nextPage(...g)),id:"searchstax-pagination-next"},"Next >",8,fa)])])):s.createCommentVNode("",!0),a.hasPaginationSlot?(s.openBlock(),s.createElementBlock("div",ya,[s.renderSlot(a.$slots,"pagination",{paginationData:a.paginationData,nextPage:a.nextPage,previousPage:a.previousPage})])):s.createCommentVNode("",!0)],8,ua)}const Ca=M(da,[["render",ka]]),ba=s.defineComponent({name:"SearchstaxSearchFeedbackWidget",data(){return{searchFeedbackData:null,rand:Math.random()}},methods:{onOriginalQueryClick(a){p.searchstax.searchFeedbackWidget.onOriginalQueryClick(a)},attachObservables(){p.searchstax.dataLayer.$searchFeedbackData.subscribe(a=>{this.searchFeedbackData=a})}},computed:{hasFeedbackSlot(){return!!this.$slots.searchFeedback}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addSearchFeedbackWidget("search-feedback-container"+this.rand,{});else throw Error("Searchstax instance needs to be passed via props")}}),Sa=["id"],xa={key:0,class:"searchstax-feedback-container"},La={key:0},Ta={class:"searchstax-feedback-container-suggested"},Ea={key:0};function Ra(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",{class:"search-feedback-container",id:"search-feedback-container"+a.rand},[a.searchFeedbackData&&((o=a.searchFeedbackData)!=null&&o.searchExecuted)&&!a.hasFeedbackSlot&&((c=a.searchFeedbackData)!=null&&c.totalResults)?(s.openBlock(),s.createElementBlock("div",xa,[s.createTextVNode(" Showing "),s.createElementVNode("b",null,s.toDisplayString(a.searchFeedbackData.startResultIndex)+" - "+s.toDisplayString(a.searchFeedbackData.endResultIndex),1),s.createTextVNode(" of "),s.createElementVNode("b",null,s.toDisplayString(a.searchFeedbackData.totalResults),1),s.createTextVNode(" results "),a.searchFeedbackData.searchTerm?(s.openBlock(),s.createElementBlock("span",La,[s.createTextVNode('for "'),s.createElementVNode("b",null,s.toDisplayString(a.searchFeedbackData.searchTerm),1),s.createTextVNode('" ')])):s.createCommentVNode("",!0),s.createElementVNode("div",Ta,[a.searchFeedbackData.autoCorrectedQuery?(s.openBlock(),s.createElementBlock("div",Ea,[s.createTextVNode(" Search instead for "),s.createElementVNode("a",{href:"#",onClick:e[0]||(e[0]=s.withModifiers(h=>a.onOriginalQueryClick(h),["prevent"])),class:"searchstax-feedback-original-query"},s.toDisplayString(a.searchFeedbackData.originalQuery),1)])):s.createCommentVNode("",!0)])])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"searchFeedback",{searchFeedbackData:a.searchFeedbackData,onOriginalQueryClick:a.onOriginalQueryClick})],8,Sa)}const Fa=M(ba,[["render",Ra]]),Ia=s.defineComponent({name:"SearchstaxSortingWidget",data(){return{sortingData:null,selectedSorting:"",rand:Math.random()}},methods:{orderChange(a){p.searchstax.searchSortingWidget.setOrderQuery(a.target.value)},attachObservables(){p.searchstax.dataLayer.$searchSortingData.subscribe(a=>{this.sortingData=a}),p.searchstax.dataLayer.$searchObject.subscribe(a=>{this.selectedSorting=decodeURIComponent(a.order)})}},computed:{hasSortingSlot(){return!!this.$slots.sorting}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addSearchSortingWidget("search-sorting-container"+this.rand,{});else throw Error("Searchstax instance needs to be passed via props")}}),$a=["id"],Pa={key:0,class:"searchstax-sorting-container"},Da=s.createElementVNode("label",{class:"searchstax-sorting-label",for:"sort-by"},"Sort By",-1),Ma=["value"],wa=s.createElementVNode("option",{value:""}," Relevance ",-1),Ba=s.createElementVNode("option",{value:"date desc"}," Newest Content ",-1),Oa=s.createElementVNode("option",{value:"date asc"}," Oldest Content ",-1),Va=[wa,Ba,Oa];function Na(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",{id:"search-sorting-container"+a.rand},[a.sortingData&&((o=a.sortingData)!=null&&o.searchExecuted)&&((c=a.sortingData)!=null&&c.hasResultsOrExternalPromotions)&&!a.hasSortingSlot?(s.openBlock(),s.createElementBlock("div",Pa,[Da,s.createElementVNode("select",{id:"searchstax-search-order-select",class:"searchstax-search-order-select",value:a.selectedSorting,onChange:e[0]||(e[0]=h=>a.orderChange(h))},Va,40,Ma)])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"sorting",{sortingData:a.sortingData,orderChange:a.orderChange,selectedSorting:a.selectedSorting})],8,$a)}const Aa=M(Ia,[["render",Na]]),qa=s.defineComponent({name:"SearchstaxExternalPromotionsWidget",data(){return{externalPromotionsData:null,rand:Math.random()}},methods:{attachObservables(){p.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(a=>{this.externalPromotionsData=a})},trackClick(a,e){p.searchstax.externalPromotionsWidget.trackClick(a,e)}},computed:{hasExternalPromotionsSlot(){return!!this.$slots.externalPromotions}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+this.rand,{});else throw Error("Searchstax instance needs to be passed via props")}}),_a=["id"],ja={key:0,class:"searchstax-external-promotions-container",id:"searchstax-external-promotions-container"},Ha=s.createElementVNode("div",{class:"icon-elevated"},null,-1),Wa=["onClick"],Ua={class:"searchstax-search-result-title-container"},Qa={class:"searchstax-search-result-title"},Ka={key:1,class:"searchstax-search-result-description searchstax-search-result-common"},za={key:2,class:"searchstax-search-result-description searchstax-search-result-common"};function Ja(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",{id:"searchstax-external-promotions-layout-container"+a.rand},[a.externalPromotionsData&&((o=a.externalPromotionsData)!=null&&o.searchExecuted)&&((c=a.externalPromotionsData)!=null&&c.hasExternalPromotions)&&!a.hasExternalPromotionsSlot?(s.openBlock(),s.createElementBlock("div",ja,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.externalPromotionsData.externalPromotions,h=>(s.openBlock(),s.createElementBlock("div",{class:"searchstax-external-promotion searchstax-search-result",key:h.id},[Ha,h.url?(s.openBlock(),s.createElementBlock("a",{key:0,href:"{{externalPromotion.url}}",onClick:u=>a.trackClick(h,u),class:"searchstax-result-item-link"},null,8,Wa)):s.createCommentVNode("",!0),s.createElementVNode("div",Ua,[s.createElementVNode("span",Qa,s.toDisplayString(h.name),1)]),h.description?(s.openBlock(),s.createElementBlock("p",Ka,s.toDisplayString(h.description),1)):s.createCommentVNode("",!0),h.url?(s.openBlock(),s.createElementBlock("p",za,s.toDisplayString(h.url),1)):s.createCommentVNode("",!0)]))),128))])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"externalPromotions",{externalPromotionsData:a.externalPromotionsData,trackClick:a.trackClick})],8,_a)}const Xa=M(qa,[["render",Ja]]),Ga=s.defineComponent({name:"SearchstaxRelatedSearchesWidget",data(){return{relatedData:null,rand:Math.random()}},props:{relatedSearchesURL:{type:String,required:!0},relatedSearchesAPIKey:{type:String,required:!0}},methods:{executeSearch(a){p.searchstax.relatedSearchesWidget.executeSearch(a)},attachObservables(){p.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(a=>{this.relatedData=a})}},computed:{hasRelatedSlot(){return!!this.$slots.related}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+this.rand,{relatedSearchesURL:this.relatedSearchesURL,relatedSearchesAPIKey:this.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")}}),Ya={key:0,class:"searchstax-related-searches-container",id:"searchstax-related-searches-container"},Za=s.createElementVNode("span",{id:"searchstax-related-searches"},null,-1),es={key:0,class:"searchstax-related-search"},ts=["onClick"],as={key:0};function ss(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock(s.Fragment,null,[a.relatedData&&((o=a.relatedData)!=null&&o.searchExecuted)&&((c=a.relatedData)!=null&&c.hasRelatedSearches)&&!a.hasRelatedSlot?(s.openBlock(),s.createElementBlock("div",Ya,[s.createTextVNode(" Related searches: "),Za,a.relatedData.relatedSearches?(s.openBlock(),s.createElementBlock("span",es,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.relatedData.relatedSearches,h=>(s.openBlock(),s.createElementBlock("span",{key:h.related_search,onClick:u=>a.executeSearch(h),class:"searchstax-related-search searchstax-related-search-item"},[s.createTextVNode(s.toDisplayString(h.related_search),1),h.last?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("span",as,","))],8,ts))),128))])):s.createCommentVNode("",!0)])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"related",{relatedData:a.relatedData,executeSearch:a.executeSearch})],64)}const rs=M(Ga,[["render",ss]]);exports.SearchstaxExternalPromotionsWidget=Xa;exports.SearchstaxFacetsWidget=ha;exports.SearchstaxInputWidget=Ke;exports.SearchstaxPaginationWidget=Ca;exports.SearchstaxRelatedSearchesWidget=rs;exports.SearchstaxResultWidget=Ct;exports.SearchstaxSearchFeedbackWidget=Fa;exports.SearchstaxSortingWidget=Aa;exports.SearchstaxWrapper=Ne;
223
+ `,selectId:"searchstax-search-order-select"}};class m{}l(m,"externalPromotions",ke),l(m,"facets",Ce),l(m,"pagination",be),l(m,"relatedSearches",Se),l(m,"searchFeedback",xe),l(m,"searchInput",Le),l(m,"searchResults",Te),l(m,"sorting",Ee);class Re{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"externalPromotionsContainerId"),l(this,"searchExternalPromotionsMainContainer",null);var t,r;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((r=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:r.externalPromotionsContainerId)||m.externalPromotions.mainTemplate.externalPromotionsContainerId,this.searchExternalPromotionsMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchExternalPromotions.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data,externalPromotions:this.dataLayer.parsedData.externalPromotions};return this.dataLayer.setExternalPromotionsData(e),e}addExternalSearch(e){var t,r,i,n;const o=document.getElementById(this.externalPromotionsContainerId);if(o){const c=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.externalPromotion)==null?void 0:i.template)||((n=m.externalPromotions.externalPromotion)==null?void 0:n.template),h=document.createElement("div");h.classList.add("searchstax-external-promotion"),h.addEventListener("click",u=>{this.trackClick(e,u)}),h.innerHTML=C.render(c,e),o.appendChild(h)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var t,r,i,n;const o=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.mainTemplate)==null?void 0:i.template)||((n=m.externalPromotions.mainTemplate)==null?void 0:n.template);if(this.dataLayer.renderingEngine===E.mustache){this.searchExternalPromotionsMainContainer.innerHTML=C.render(o,e);const c=document.getElementById(this.externalPromotionsContainerId);c&&(c.innerHTML="");for(const h of e.externalPromotions)this.addExternalSearch(h)}}}class Fe{constructor(e,t){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"routerHelper"),l(this,"cachedPhrase",""),l(this,"isCached",!1),l(this,"overlayOpened",!1),l(this,"facetPaginationStep"),l(this,"facetPaginationStepMobile"),l(this,"searchFacetsMainContainer",null),l(this,"searchFacetsMobileContainer",null),l(this,"searchFacetsDesktopContainer",null),l(this,"facetLimits",{}),l(this,"facetLimitsMobile",{}),l(this,"deactivatedFacets",{}),l(this,"cachedData",null),l(this,"cacheFacets"),l(this,"onFacetSelect",(r,i,n,o)=>{if(r.stopPropagation(),!i.disabled){const c=n.querySelector("input");c.checked=o?c.checked:!c.checked;const h=this.dataLayer.searchObject;let u=[...h.facets];const d=this.extractFacetValue(i);c.checked?u.find(g=>P.deepEqual(g,d)?g:!1)||(this.config.facetingType==="tabs"&&(u=u.filter(g=>g.name!==d.name)),u.push(d)):u=u.filter(g=>!P.deepEqual(g,d)),setTimeout(()=>{this.dataLayer.setSearchObject({...h,facets:u,page:1}),this.config.facetingType==="tabs"&&this.renderMainTemplate(this.generateTemplateData(),!0)},0)}}),this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,this.searchFacetsMainContainer=document.getElementById(this.containerId),this.needCache&&t(),this.initializeSubscriptions()}get needCache(){return this.config.facetingType==="showUnavailable"||this.config.facetingType==="or"||this.config.facetingType==="tabs"}get needDisabling(){return this.config.facetingType==="showUnavailable"}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchResults.subscribe(e=>{e&&(this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets()),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return{type:this.config.facetingType,name:e.parentName,value:e.value}}applyFacetLimits(e,t){const r=t?this.facetPaginationStepMobile:this.facetPaginationStep,i=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(n=>{i[n.name]||(i[n.name]=r)}),e.map(n=>({...n,values:n.values.slice(0,i[n.name]),showingAllFacets:n.values.length<=i[n.name],hasMoreFacets:n.values.length>r}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(i=>{var n;const o=(n=this.dataLayer.searchFacets)==null?void 0:n.find(c=>c.name===i.name);return o?{...i,values:i.values.map(c=>{const h=o.values.find(u=>c.type==="range"?!1:c.type==="checkbox"?u.value===c.value:!1);return{...c,disabled:!h,isMobile:e}})}:{...i,values:i.values.map(c=>({...c,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(i=>{var n;return(n=this.config.specificFacets)==null?void 0:n.includes(i.name)}));const r={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(r),r}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,r){var i,n,o,c,h,u,d,g,v,f,x,k;const y=document.createElement("div");y.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||y.classList.add("active");const b=((o=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.facetItemContainerTemplate)==null?void 0:o.template)||((c=m.facets.facetItemContainerTemplate)==null?void 0:c.template);y.innerHTML=C.render(b,e),t.appendChild(y);const L=y.querySelector("."+(((d=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.facetItemContainerTemplate)==null?void 0:d.facetListTitleContainerClass)||((g=m.facets.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)));L==null||L.addEventListener("click",()=>{y.classList.toggle("active")});const R=y.querySelector("."+(((x=(f=(v=this.config)==null?void 0:v.templates)==null?void 0:f.facetItemContainerTemplate)==null?void 0:x.facetListContainerClass)||((k=m.facets.facetItemContainerTemplate)==null?void 0:k.facetListContainerClass)));R&&(e.values.forEach(I=>{this.createFacetListItem(I,R)}),e.hasMoreFacets&&this.createHasMoreComponent(e,R,r))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(r=>P.deepEqual(r,this.extractFacetValue(e))))}createFacetListItem(e,t){var r,i,n,o,c,h,u,d,g,v,f,x,k;const y=document.createElement("div");y.classList.add("searchstax-facet-value-container"),e.disabled&&y.classList.add("searchstax-facet-value-disabled");const b=this.isChecked(e),L=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.facetItemTemplate)==null?void 0:n.template)||((o=m.facets.facetItemTemplate)==null?void 0:o.template);y.innerHTML=C.render(L,{...e,isChecked:b});let R=(c=m.facets.facetItemTemplate)==null?void 0:c.checkTriggerClasses;R=((d=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.facetItemTemplate)==null?void 0:d.checkTriggerClasses)||R,R.forEach(I=>{var T;(T=y.querySelector("."+I))==null||T.addEventListener("click",w=>{this.onFacetSelect(w,e,y)})}),(k=y.querySelector("."+(((f=(v=(g=this.config)==null?void 0:g.templates)==null?void 0:v.facetItemTemplate)==null?void 0:f.inputCheckboxClass)||((x=m.facets.facetItemTemplate)==null?void 0:x.inputCheckboxClass))))==null||k.addEventListener("click",I=>{this.onFacetSelect(I,e,y,!0)}),t.appendChild(y)}createHasMoreComponent(e,t,r){var i,n,o,c,h,u,d,g;const v=document.createElement("div");v.classList.add("searchstax-facet-show-more-container");const f=((o=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.showMoreButtonContainerTemplate)==null?void 0:o.template)||((c=m.facets.showMoreButtonContainerTemplate)==null?void 0:c.template);v.innerHTML=C.render(f,e);const x=v.querySelector("."+(((d=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.showMoreButtonContainerTemplate)==null?void 0:d.showMoreButtonClass)||((g=m.facets.showMoreButtonContainerTemplate)==null?void 0:g.showMoreButtonClass)));x&&(this.attachOnclickToShowMore(e,x,r),t&&t.appendChild(x))}attachOnclickToShowMore(e,t,r){t.addEventListener("click",i=>{this.onShowMoreLessClick(i,e,r)})}onShowMoreLessClick(e,t,r){e.preventDefault();const i=r?this.facetPaginationStepMobile:this.facetPaginationStep,n=r?this.facetLimits:this.facetLimitsMobile;n[t.name]===void 0?n[t.name]=i*2:n[t.name]<=t.values.length?n[t.name]=n[t.name]+i:n[t.name]=i,this.generateTemplateData(r),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var r,i,n,o,c,h,u,d,g,v,f;if(e&&(!P.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const x=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplateDesktop)==null?void 0:n.template)||((o=m.facets.mainTemplateDesktop)==null?void 0:o.template);if(this.dataLayer.renderingEngine===E.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=C.render(x,{...e});const k=(d=this.searchFacetsMainContainer)==null?void 0:d.querySelector("."+(((u=(h=(c=this.config)==null?void 0:c.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:u.facetsContainerClass)||m.facets.mainTemplateDesktop.facetsContainerClass));if(k){k.innerHTML="";for(const y of e.facets)this.createFacetItem(y,k);if(this.searchFacetsMainContainer){const y=this.searchFacetsMainContainer.querySelector("."+(((f=(v=(g=this.config)==null?void 0:g.templates)==null?void 0:v.mainTemplateDesktop)==null?void 0:f.selectedFacetsContainerClass)||m.facets.mainTemplateDesktop.selectedFacetsContainerClass));y&&(this.createSelectedFacetsComponents(y),this.createClearFacetsComponents(y))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const r of t){const i=decodeURIComponent(r.name),n=decodeURIComponent(r.value);if(this.dataLayer.searchFacets){const o=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=o==null?void 0:o.find(h=>h.name===i);if(c){const h=c.values.find(u=>u.type==="range"?!1:u.type==="checkbox"?`"${u.value}"`==`"${n}"`:!1);h&&e.push(h)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(r=>{this.createSelectedFacetsComponent(e,r)})}createClearFacetsComponents(e){var t,r,i,n,o,c,h,u;const d=this.dataLayer.searchObject,g=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.clearFacetsTemplate)==null?void 0:i.template)||((n=m.facets.clearFacetsTemplate)==null?void 0:n.template),v=document.createElement("div");v.innerHTML=C.render(g,{shouldShow:d.facets.length>0});const f=v.querySelector("."+(((h=(c=(o=this.config)==null?void 0:o.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:h.containerClass)||((u=m.facets.clearFacetsTemplate)==null?void 0:u.containerClass)));f&&(f.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(f))}createSelectedFacetsComponent(e,t){var r,i,n,o,c,h,u,d;const g=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.selectedFacetsTemplate)==null?void 0:n.template)||((o=m.facets.selectedFacetsTemplate)==null?void 0:o.template),v=document.createElement("div");v.innerHTML=C.render(g,t);const f=v.querySelector("."+(((u=(h=(c=this.config)==null?void 0:c.templates)==null?void 0:h.selectedFacetsTemplate)==null?void 0:u.containerClass)||((d=m.facets.selectedFacetsTemplate)==null?void 0:d.containerClass)));f&&(f.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(f))}unselectFacet(e){const t=this.dataLayer.searchObject;let r=[...t.facets];e.type==="checkbox"&&(r=r.filter(i=>JSON.stringify(i)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:r}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,r,i,n,o,c,h,u;const d=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.filterByTemplate)==null?void 0:i.template)||((n=m.facets.filterByTemplate)==null?void 0:n.template),g=document.createElement("div");g.innerHTML=C.render(d,{});const v=g.querySelector("."+(((h=(c=(o=this.config)==null?void 0:o.templates)==null?void 0:c.filterByTemplate)==null?void 0:h.containerClass)||((u=m.facets.filterByTemplate)==null?void 0:u.containerClass)));v&&(e.prepend(v),v.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,r,i,n,o,c,h,u,d,g,v,f,x,k,y,b,L,R,I;if(e){const T=document.createElement("div");T.classList.add("searchstax-facets-container-mobile");const w=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.mainTemplateMobile)==null?void 0:i.template)||((n=m.facets.mainTemplateMobile)==null?void 0:n.template);if(this.dataLayer.renderingEngine===E.mustache){if(T.innerHTML=C.render(w,{...e,overlayOpened:this.overlayOpened}),(o=this.searchFacetsMainContainer)==null||o.appendChild(T),(h=(c=this.config)==null?void 0:c.templates)!=null&&h.mainTemplateMobile)for(const V of((g=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.mainTemplateMobile)==null?void 0:g.closeOverlayTriggerClasses)||[]){const N=T.querySelector("."+V);N&&N.addEventListener("click",this.closeOverlay.bind(this))}else for(const V of m.facets.mainTemplateMobile.closeOverlayTriggerClasses){const N=T.querySelector("."+V);N&&N.addEventListener("click",this.closeOverlay.bind(this))}const H=T.querySelector("."+(((x=(f=(v=this.config)==null?void 0:v.templates)==null?void 0:f.mainTemplateMobile)==null?void 0:x.filterByContainerClass)||m.facets.mainTemplateMobile.filterByContainerClass));H&&this.createFilterByComponent(H);const $=T.querySelector("."+(((b=(y=(k=this.config)==null?void 0:k.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:b.selectedFacetsContainerClass)||m.facets.mainTemplateMobile.selectedFacetsContainerClass));$&&(this.createSelectedFacetsComponents($),this.createClearFacetsComponents($));const W=T.querySelector("."+(((I=(R=(L=this.config)==null?void 0:L.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||m.facets.mainTemplateMobile.facetsContainerClass));if(W){W.innerHTML="";for(const V of e.facets)this.createFacetItem(V,W,!0)}}}}}class Ie{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"previousButtonClass"),l(this,"nextButtonClass"),l(this,"routerHelper"),l(this,"searchPaginationMainContainer",null);var t,r,i,n,o,c;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.mainTemplate)==null?void 0:i.previousButtonClass)??m.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(o=(n=this.config)==null?void 0:n.templates)==null?void 0:o.mainTemplate)==null?void 0:c.nextButtonClass)??m.pagination.mainTemplate.nextButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil((((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.totalResultsValue)??0)/10)}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var e,t,r,i;const n={...this.dataLayer.parsedData.data,previousPageLink:(t=this.routerHelper)==null?void 0:t.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:(i=this.routerHelper)==null?void 0:i.searchObjectToUrl({...this.dataLayer.searchObject,page:((r=this.dataLayer.searchObject)==null?void 0:r.page)+1})};return this.dataLayer.setPaginationData(n),n}goToPage(e){const t=this.dataLayer.searchObject;t&&(t.page=e,this.dataLayer.setSearchObject(t)),window.scrollTo(0,0)}nextPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var t,r,i,n,o,c;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(r=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||r.removeEventListener("click",this.nextPage));const h=((o=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.mainTemplate)==null?void 0:o.template)||((c=m.pagination.mainTemplate)==null?void 0:c.template);this.dataLayer.renderingEngine===E.mustache&&(this.searchPaginationMainContainer.innerHTML=C.render(h,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class $e{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"relatedSearchesContainerClass"),l(this,"searchRelatedSearchesMainContainer",null),l(this,"track");var t,r;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((r=(t=this.config.templates)==null?void 0:t.main)==null?void 0:r.relatedSearchesContainerClass)||m.relatedSearches.main.relatedSearchesContainerClass,this.searchRelatedSearchesMainContainer=document.getElementById(this.containerId),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var r,i,n,o,c;const h=document.createElement("div"),u=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.relatedSearch)==null?void 0:n.template)||m.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===E.mustache){h.innerHTML=C.render(u,e);const d=h.querySelector("."+(((c=(o=this.config.templates)==null?void 0:o.relatedSearch)==null?void 0:c.relatedSearchContainerClass)||m.relatedSearches.relatedSearch.relatedSearchContainerClass));d&&(t.appendChild(d),d.addEventListener("click",()=>{this.executeSearch(e)}))}}executeSearch(e){const t=this.dataLayer.searchObject;t.query=e.related_search,this.dataLayer.setSearchObject(t),this.track(e)}renderMainTemplate(e){var t,r,i,n;const o=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.main)==null?void 0:i.template)||m.relatedSearches.main.template;if(this.dataLayer.renderingEngine===E.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=C.render(o,e);const c=(n=this.searchRelatedSearchesMainContainer)==null?void 0:n.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const h of e.relatedSearches)this.addRelatedSearchComponent(h,c)}}}class Pe{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"searchFeedbackMainContainer",null),l(this,"searchTrigger"),this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,this.searchFeedbackMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchFeedbackData(e),e}onOriginalQueryClick(e){var t;e.stopPropagation(),e.preventDefault();const r=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(r,!0)}attachClick(){var e,t,r,i,n;const o=(n=this.searchFeedbackMainContainer)==null?void 0:n.querySelector("."+(((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:r.originalQueryClass)||((i=m.searchFeedback.main)==null?void 0:i.originalQueryClass)));o&&o.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,r,i;const n=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.main)==null?void 0:i.template)||m.searchFeedback.main.template;this.dataLayer.renderingEngine===E.mustache&&(this.searchFeedbackMainContainer.innerHTML=C.render(n,e),setTimeout(()=>{this.attachClick()},0))}}class De{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"suggestAfterMinChars"),l(this,"containerId"),l(this,"currentInputValue",""),l(this,"autosuggestResults"),l(this,"searchInput"),l(this,"actionButton"),l(this,"autosuggestContainer"),l(this,"buttonState","search"),l(this,"selectedAutosuggestItem",-1),l(this,"suggestTrigger"),l(this,"searchTrigger"),this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,r,i;const n=document.getElementById(this.containerId);if(!n)throw new Error("Search input container not found");const o=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||m.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===E.mustache){const u=C.render(o,{});n.innerHTML=u}const c=((i=(r=this.config.templates)==null?void 0:r.mainTemplate)==null?void 0:i.searchInputId)||m.searchInput.mainTemplate.searchInputId,h=document.querySelector(`#${c}`);if(h)this.searchInput=h,h.addEventListener("keyup",this.inputKeyupEvent.bind(this)),h.addEventListener("blur",this.hideAutosuggest.bind(this)),h.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===E.mustache&&(this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const r=e[t];t===this.selectedAutosuggestItem?r.classList.add("active"):r.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return D.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,r,i;const n=document.createElement("div");n.classList.add("searchstax-autosuggest-item"),n.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),n.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const o=((r=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:r.template)||((i=m.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return n.innerHTML=C.render(o,e),n}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const r=e.suggest[t];for(const i in r)if(Object.prototype.hasOwnProperty.call(r,i)){const n=r[i];this.autosuggestResults=n,this.dataLayer.setAutosuggestResults(n),n.numFound>0?n.suggestions.forEach(o=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(o))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Me{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"linkClickCallback"),l(this,"searchCallback"),l(this,"containerId"),l(this,"searchResultsMainContainer"),l(this,"searchResultsContainer"),l(this,"searchResultLinks",[]),this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId;const t=document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var e,t,r,i,n;const o=((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:r.template)||((i=m.searchResults.noSearchResultTemplate)==null?void 0:i.template),c=((n=this.dataLayer.searchResultsMetadata)==null?void 0:n.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===E.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=C.render(o,{spellingSuggestion:c,searchTerm:this.dataLayer.searchTerm})),c&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),this.searchCallback(c)})}}renderResults(e){var t,r,i,n;if(this.dataLayer.renderingEngine===E.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const o=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.searchResultTemplate)==null?void 0:i.template)||((n=m.searchResults.searchResultTemplate)==null?void 0:n.template),c=e.map(h=>C.render(o,h));this.searchResultsContainer.innerHTML=c.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,r,i;return((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:r.searchResultUniqueIdAttribute)||((i=m.searchResults.searchResultTemplate)==null?void 0:i.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const r=e.getAttribute(this.uniqueIdAttribute)??"";r&&this.linkClickCallback(r)})})}renderMainTemplate(){var e,t,r,i;const n=((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:r.template)||((i=m.searchResults.mainTemplate)==null?void 0:i.template);this.dataLayer.renderingEngine===E.mustache&&(this.searchResultsMainContainer.innerHTML=C.render(n,{}),setTimeout(()=>{var o,c,h,u,d,g,v;const f=(h=(c=(o=this.config)==null?void 0:o.templates)==null?void 0:c.mainTemplate)!=null&&h.searchResultsContainerId?(g=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.mainTemplate)==null?void 0:g.searchResultsContainerId:(v=m.searchResults.mainTemplate)==null?void 0:v.searchResultsContainerId,x=document.getElementById(f);if(x)this.searchResultsContainer=x;else throw new Error(`Search Results Container with id ${f} not found`)},0))}}class we{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"selectId"),l(this,"searchSortingMainContainer",null);var t,r;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((r=(t=this.config.templates)==null?void 0:t.main)==null?void 0:r.selectId)||m.sorting.main.selectId,this.searchSortingMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchSortingData(e),e}setOrderQuery(e){const t=this.dataLayer.searchObject;t&&(t.order=e,this.dataLayer.setSearchObject(t))}markOptionSelected(){const e=document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var t,r,i;const n=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.main)==null?void 0:i.template)||m.sorting.main.template;if(this.dataLayer.renderingEngine===E.mustache){this.searchSortingMainContainer.innerHTML=C.render(n,e),this.markOptionSelected();const o=document.getElementById(this.selectId);o&&o.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class Be{constructor(e=E.mustache){l(this,"routerEnabled",!1),l(this,"cachedQuery",""),l(this,"routerHelper"),l(this,"searchHelper"),l(this,"searchResultsConfig"),l(this,"searchPaginationConfig"),l(this,"searchFeedbackConfig"),l(this,"searchSortingConfig"),l(this,"searchFacetsConfig"),l(this,"relatedSearchesConfig"),l(this,"externalPromotionsConfig"),l(this,"searchInputWidget"),l(this,"searchResultsWidget"),l(this,"searchFacetsWidget"),l(this,"searchPaginationWidget"),l(this,"searchFeedbackWidget"),l(this,"searchSortingWidget"),l(this,"relatedSearchesWidget"),l(this,"externalPromotionsWidget"),l(this,"dataLayer",new Z(ae.getOrSetCookie("searchstax_session_id"))),l(this,"firstRequest",!0),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=E.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(r=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(r)}),this.dataLayer.$searchObject.subscribe(r=>{r.query!==""&&this.search(r)}),this.dataLayer.$searchResults.subscribe(r=>{r&&this.dataLayer.searchResultsMetadata&&q.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,r;e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new te({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((r=e.router)==null?void 0:r.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new K(e.router?e.router:{enabled:!0}),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new K({})}search(e){if(this.searchHelper&&e.query!==""&&e.query!==void 0&&e.query!=="undefined"){const t=this.dataLayer.forceNotCorrect;this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var t;const r=(((t=e.response)==null?void 0:t.docs)??[]).map((n,o)=>({...n,position:o+1})),i=[];for(const n of r)i.push({relatedSearch:n.related_search,position:n.position});this.dataLayer.searchResultsMetadata&&q.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:i}),this.dataLayer.setSearchRelatedSearches(r)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var t,r;this.handleRouter();let i=A.combineResultsWithMetadata(e),n=A.extractFacets(e);this.dataLayer.setSearchFacets(n),(r=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&r.afterSearch&&(i=this.dataLayer.searchstaxConfig.hooks.afterSearch(i)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const o=A.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(o),this.dataLayer.setSearchResults(i)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,r;let i=e;(r=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&r.afterAutosuggest&&(i=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(i)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new De({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Me({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new Ie({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new $e({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Re({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Fe({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var r,i;const n={...this.dataLayer.searchObject};n.query=D.removeXSSRiskyTags(e),n.page=1,n.facets=[],this.dataLayer.forceNotCorrect=!!t;let o=(r=this.routerHelper)==null?void 0:r.searchObjectToParams(n);o&&(o=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(o)),o&&(n.additionalProps=Object.keys(o).map(c=>o?{key:c,value:o[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(n)}executeSuggest(e){var t,r;let i={term:e,queryParams:[]};(r=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&r.beforeAutosuggest&&(i=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(i)),i&&i.term!==void 0&&i.queryParams!==void 0&&this.suggest(i.term,i.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&q.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,r;let i=A.findResultByUniqueId(e,this.dataLayer.searchResults??[]);i&&((r=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&r.afterLinkClick&&(i=this.searchResultsConfig.hooks.afterLinkClick(i)),i&&this.dataLayer.searchResultsMetadata&&(q.trackClick({result:i,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(i==null?void 0:i.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,r,i;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(r=this.searchResultsConfig)==null?void 0:r.templates,...e}:e,(i=this.searchResultsWidget)==null||i.changeTemplate())}}const p=s.reactive({searchstax:new Be("vue")}),Oe=s.defineComponent({name:"SearchstaxWrapper",props:{language:{type:String,required:!1,default:"en"},searchURL:{type:String,required:!0},suggesterURL:{type:String,required:!0},trackApiKey:{type:String,required:!0},searchAuth:{type:String,required:!0},authType:{type:String,required:!1,default:"basic"},autoCorrect:{type:Boolean,required:!1,default:!0},router:{type:Object,required:!1},beforeSearch:{type:Function,required:!1},afterSearch:{type:Function,required:!1}},mounted(){const a={};this.beforeSearch&&(a.beforeSearch=this.beforeSearch),this.afterSearch&&(a.afterSearch=this.afterSearch),p.searchstax.initialize({language:this.language,searchURL:this.searchURL,suggesterURL:this.suggesterURL,trackApiKey:this.trackApiKey,searchAuth:this.searchAuth,authType:this.authType,autoCorrect:this.autoCorrect,router:this.router,hooks:a}),this.$emit("initialized",p.searchstax)}}),M=(a,e)=>{const t=a.__vccOpts||a;for(const[r,i]of e)t[r]=i;return t};function Ve(a,e,t,r,i,n){return s.renderSlot(a.$slots,"default")}const Ne=M(Oe,[["render",Ve]]),Ae=s.defineComponent({name:"SearchstaxInputWidget",props:{afterAutosuggest:{type:Function,required:!1},beforeAutosuggest:{type:Function,required:!1},searchInputId:{type:String,required:!1},suggestAfterMinChars:{type:Number,required:!1,default:3}},data(){return{suggestions:[]}},methods:{onMouseLeave(){p.searchstax.searchInputWidget.resetAutosuggestSelection(),p.searchstax.searchInputWidget.markActiveAutosuggestItem()},onMouseOver(a){p.searchstax.searchInputWidget.onSuggestionEnter(a)},onMouseClick(){p.searchstax.searchInputWidget.suggestionChosen()},attachObservables(){p.searchstax.dataLayer.$autosuggestResults.subscribe(a=>{this.suggestions=(a==null?void 0:a.suggestions)??[]})}},computed:{hasInputSlot(){return!!this.$slots.input}},mounted(){if(p.searchstax){this.attachObservables();const a={};this.afterAutosuggest&&(a.afterAutosuggest=this.afterAutosuggest),this.beforeAutosuggest&&(a.beforeAutosuggest=this.beforeAutosuggest),p.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:this.suggestAfterMinChars,hooks:a,templates:{mainTemplate:{template:"",searchInputId:this.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")}}),qe={id:"searchstax-input-container"},_e={class:"searchstax-search-input-container"},je={key:0,class:"searchstax-search-input-wrapper"},He=s.createElementVNode("input",{type:"text",id:"searchstax-search-input",class:"searchstax-search-input",placeholder:"SEARCH FOR..."},null,-1),We=["innerHTML","onMouseover"],Ue=s.createElementVNode("button",{class:"searchstax-spinner-icon",id:"searchstax-search-input-action-button"},null,-1);function Qe(a,e,t,r,i,n){return s.openBlock(),s.createElementBlock("div",qe,[s.createElementVNode("div",_e,[a.hasInputSlot?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",je,[He,s.createElementVNode("div",{class:s.normalizeClass(["searchstax-autosuggest-container",{hidden:a.suggestions.length===0}]),onMouseleave:e[1]||(e[1]=(...o)=>a.onMouseLeave&&a.onMouseLeave(...o))},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.suggestions,o=>(s.openBlock(),s.createElementBlock("div",{class:"searchstax-autosuggest-item",key:o.term},[s.createElementVNode("div",{class:"searchstax-autosuggest-item-term-container",innerHTML:o.term,onMouseover:c=>a.onMouseOver(o),onClick:e[0]||(e[0]=s.withModifiers(c=>a.onMouseClick(),["stop"]))},null,40,We)]))),128))],34),Ue])),s.renderSlot(a.$slots,"input",{suggestions:a.suggestions,onMouseClick:a.onMouseClick,onMouseOver:a.onMouseOver,onMouseLeave:a.onMouseLeave})])])}const Ke=M(Ae,[["render",Qe]]),ze=s.defineComponent({name:"SearchstaxResultsWidget",props:{afterLinkClick:{type:Function,required:!1}},computed:{hasNoResultsSlot(){return!!this.$slots.noResult},hasResultSlot(){return!!this.$slots.results},hooks(){const a={};return this.afterLinkClick&&(a.afterLinkClick=this.afterLinkClick),a}},data(){return{searchResults:null,metadata:null,searchTerm:"",store:p}},methods:{resultClicked(a,e){e.preventDefault(),e.stopPropagation(),p.searchstax.executeLinkClick(a.uniqueId)},attachObservables(){p.searchstax.dataLayer.$searchResults.subscribe(a=>{this.searchResults=a}),p.searchstax.dataLayer.$searchTermChange.subscribe(a=>{this.searchTerm=a}),p.searchstax.dataLayer.$searchResultsMetadata.subscribe(a=>{this.metadata=a})}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},hooks:this.hooks});else throw Error("Searchstax instance needs to be passed via props")}}),Je={id:"searchstax-results-container"},Xe={class:"searchstax-search-results-container"},Ge={id:"searchstax-result-container"},Ye={key:0},Ze={class:"searchstax-no-results"},et=s.createElementVNode("strong",null,"no results",-1),tt=s.createElementVNode("br",null,null,-1),at={key:0},st={href:"#",class:"searchstax-suggestion-term"},rt=s.createElementVNode("div",null,[s.createElementVNode("p",null," Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need. "),s.createElementVNode("p",null,"Lost? Click on the ‘X” in the Search Box to reset your search.")],-1),it={key:2,class:"searchstax-search-results"},nt={key:0,class:"searchstax-search-result-promoted"},ot=["href","data-searchstax-unique-result-id","onClick"],ct={key:2,class:"searchstax-search-result-ribbon"},lt=["src"],ht={class:"searchstax-search-result-title-container"},dt={class:"searchstax-search-result-title"},ut={key:4,class:"searchstax-search-result-common"},gt={key:5,class:"searchstax-search-result-description searchstax-search-result-common"},pt={key:0,class:"searchstax-search-result-image-container"},mt=["src"],vt={key:1},ft={class:"searchstax-search-result-common"},yt={key:3};function kt(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",Je,[s.createElementVNode("div",Xe,[s.createElementVNode("div",Ge,[a.searchResults&&a.searchResults.length===0&&!a.hasNoResultsSlot?(s.openBlock(),s.createElementBlock("div",Ye,[s.createElementVNode("div",Ze,[s.createTextVNode(" Showing "),et,s.createTextVNode(" for "),s.createElementVNode("strong",null,'"'+s.toDisplayString(a.searchTerm)+'"',1),tt,(o=a.metadata)!=null&&o.spellingSuggestion?(s.openBlock(),s.createElementBlock("span",at,[s.createTextVNode(" Did you mean "),s.createElementVNode("a",st,s.toDisplayString((c=a.metadata)==null?void 0:c.spellingSuggestion),1),s.createTextVNode("?")])):s.createCommentVNode("",!0)]),rt])):s.createCommentVNode("",!0),a.searchResults&&a.searchResults.length===0&&a.hasNoResultsSlot?s.renderSlot(a.$slots,"noResult",{key:1}):s.createCommentVNode("",!0),a.searchResults&&a.searchResults.length&&!a.hasResultSlot?(s.openBlock(),s.createElementBlock("div",it,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.searchResults,h=>(s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["searchstax-search-result",{"has-thumbnail":h.thumbnail}]),key:h.uniqueId},[h.promoted?(s.openBlock(),s.createElementBlock("div",nt)):s.createCommentVNode("",!0),h.url?(s.openBlock(),s.createElementBlock("a",{key:1,href:h.url,"data-searchstax-unique-result-id":h.uniqueId,onClick:u=>a.resultClicked(h,u),class:"searchstax-result-item-link"},null,8,ot)):s.createCommentVNode("",!0),h.ribbon?(s.openBlock(),s.createElementBlock("div",ct,s.toDisplayString(h.ribbon),1)):s.createCommentVNode("",!0),h.thumbnail?(s.openBlock(),s.createElementBlock("img",{key:3,src:h.thumbnail,class:"searchstax-thumbnail"},null,8,lt)):s.createCommentVNode("",!0),s.createElementVNode("div",ht,[s.createElementVNode("span",dt,s.toDisplayString(h.title),1)]),h.paths?(s.openBlock(),s.createElementBlock("p",ut,s.toDisplayString(h.paths),1)):s.createCommentVNode("",!0),h.description?(s.openBlock(),s.createElementBlock("p",gt,s.toDisplayString(h.description),1)):s.createCommentVNode("",!0),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(h.unmappedFields,u=>(s.openBlock(),s.createElementBlock("div",{key:u.key},[u.isImage&&typeof u.value=="string"?(s.openBlock(),s.createElementBlock("div",pt,[s.createElementVNode("img",{src:u.value,class:"searchstax-result-image"},null,8,mt)])):(s.openBlock(),s.createElementBlock("div",vt,[s.createElementVNode("p",ft,s.toDisplayString(u.value),1)]))]))),128))],2))),128))])):s.createCommentVNode("",!0),a.searchResults&&a.searchResults.length&&a.hasResultSlot?(s.openBlock(),s.createElementBlock("div",yt,[s.renderSlot(a.$slots,"results",{searchResults:a.searchResults,resultClicked:a.resultClicked})])):s.createCommentVNode("",!0)])])])}const Ct=M(ze,[["render",kt]]),bt=s.defineComponent({name:"SearchstaxFacetsWidget",props:{facetingType:{type:String,required:!0},itemsPerPageDesktop:{type:Number,required:!0},itemsPerPageMobile:{type:Number,required:!0},specificFacets:{type:Array,required:!1}},data(){return{facetsTemplateDataDesktop:null,facetsTemplateDataMobile:null,store:p,facetContainers:s.ref([]),mainFacetContainers:s.ref([]),selectedFacetsCheckboxes:[],selectedFacetsRange:[],rand:Math.random()}},computed:{hasDesktopFacetsSlot(){return!!this.$slots.desktopFacets},hasMobileFacetsSlot(){return!!this.$slots.mobileFacets}},methods:{attachObservables(){p.searchstax.dataLayer.$facetsTemplateData.subscribe(a=>{a!=null&&a.isMobile?this.facetsTemplateDataMobile=a:this.facetsTemplateDataDesktop=a}),p.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(a=>{const e=a??[];this.selectedFacetsCheckboxes=e.filter(t=>t.type==="checkbox")})},unselectFacet(a){p.searchstax.searchFacetsWidget.unselectFacet(a)},unselectAll(){p.searchstax.searchFacetsWidget.removeSelectedFacets()},isNotDeactivated(a){return!p.searchstax.searchFacetsWidget.deactivatedFacets[a]},toggleFacetGroup(a){this.isNotDeactivated(a)?p.searchstax.searchFacetsWidget.deactivatedFacets[a]=!0:p.searchstax.searchFacetsWidget.deactivatedFacets[a]=!1},isChecked(a){return p.searchstax.searchFacetsWidget.isChecked(a)},selectFacet(a,e,t,r){const i=document.createElement("div");i.innerHTML=this.facetContainers[a].outerHTML,p.searchstax.searchFacetsWidget.onFacetSelect(e,t,this.facetContainers[a],r)},showMoreLessDesktop(a,e){p.searchstax.searchFacetsWidget.onShowMoreLessClick(a,e,!1)},showMoreLessMobile(a,e){p.searchstax.searchFacetsWidget.onShowMoreLessClick(a,e,!0)},openOverlay(){p.searchstax.searchFacetsWidget.openOverlay()},closeOverlay(){p.searchstax.searchFacetsWidget.closeOverlay()}},mounted(){p.searchstax.addFacetsWidget("searchstax-facets-container"+this.rand,{facetingType:this.facetingType,specificFacets:this.specificFacets,itemsPerPageDesktop:this.itemsPerPageDesktop,itemsPerPageMobile:this.itemsPerPageMobile}),this.attachObservables()}}),St=["id"],xt={key:0,class:"searchstax-facets-container-desktop"},Lt=["onClick"],Tt={class:"searchstax-facet-title"},Et=s.createElementVNode("div",{class:"searchstax-facet-title-arrow active"},null,-1),Rt={class:"searchstax-facet-values-container"},Ft={class:"searchstax-facet-input"},It=["checked","disabled","onClick"],$t=["onClick"],Pt=["onClick"],Dt={key:0,class:"searchstax-facet-show-more-container"},Mt=["onClick"],wt={key:0,class:"searchstax-facet-show-less-button searchstax-facet-show-button"},Bt={key:1,class:"searchstax-facet-show-more-button searchstax-facet-show-button"},Ot={key:1},Vt={key:2,class:"searchstax-facets-container-mobile"},Nt={class:"searchstax-facets-pills-container"},At=s.createElementVNode("div",{class:"searchstax-facets-pill-label"},"Filter By",-1),qt=[At],_t={class:"searchstax-facets-pills-selected"},jt=["onClick"],Ht={class:"searchstax-facets-pill-label"},Wt=s.createElementVNode("div",{class:"searchstax-facets-pill-icon-close"},null,-1),Ut=s.createElementVNode("div",{class:"searchstax-facets-pill-label"},"Clear Filters",-1),Qt=[Ut],Kt={class:"searchstax-facets-mobile-overlay-header"},zt=s.createElementVNode("div",{class:"searchstax-facets-mobile-overlay-header-title"},"Filter By",-1),Jt={class:"searchstax-facets-container-mobile"},Xt=["onClick"],Gt={class:"searchstax-facet-title"},Yt=s.createElementVNode("div",{class:"searchstax-facet-title-arrow active"},null,-1),Zt={class:"searchstax-facet-values-container"},ea={class:"searchstax-facet-input"},ta=["checked","disabled","onClick"],aa=["onClick"],sa=["onClick"],ra={key:0,class:"searchstax-facet-show-more-container"},ia=["onClick"],na={key:0,class:"searchstax-facet-show-less-button searchstax-facet-show-button"},oa={key:1,class:"searchstax-facet-show-more-button searchstax-facet-show-button"},ca={key:3};function la(a,e,t,r,i,n){var o,c,h,u;return s.openBlock(),s.createElementBlock("div",{id:"searchstax-facets-container"+a.rand},[(o=a.facetsTemplateDataDesktop)!=null&&o.hasResultsOrExternalPromotions&&!a.hasDesktopFacetsSlot?(s.openBlock(),s.createElementBlock("div",xt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.facetsTemplateDataDesktop.facets,d=>(s.openBlock(),s.createElementBlock("div",{key:d.name+"desktop",class:s.normalizeClass(["searchstax-facet-container",{active:a.isNotDeactivated(d.name)}])},[s.createElementVNode("div",null,[s.createElementVNode("div",{class:"searchstax-facet-title-container",onClick:g=>a.toggleFacetGroup(d.name)},[s.createElementVNode("div",Tt,s.toDisplayString(d.label),1),Et],8,Lt),s.createElementVNode("div",Rt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(d.values,(g,v)=>(s.openBlock(),s.createElementBlock("div",{key:g.value+g.parentName,class:s.normalizeClass(["searchstax-facet-value-container",{"searchstax-facet-value-disabled":g.disabled}]),ref_for:!0,ref:f=>{a.facetContainers[v+d.name]=f}},[s.createElementVNode("div",Ft,[s.createElementVNode("input",{type:"checkbox",class:"searchstax-facet-input-checkbox",checked:a.isChecked(g),disabled:g.disabled,onClick:f=>a.selectFacet(v+d.name,f,g,!0)},null,8,It)]),s.createElementVNode("div",{class:"searchstax-facet-value-label",onClick:f=>a.selectFacet(v+d.name,f,g,!1)},s.toDisplayString(g.value),9,$t),s.createElementVNode("div",{class:"searchstax-facet-value-count",onClick:f=>a.selectFacet(v+d.name,f,g,!1)},"("+s.toDisplayString(g.count)+")",9,Pt)],2))),128)),d.hasMoreFacets?(s.openBlock(),s.createElementBlock("div",Dt,[s.createElementVNode("div",{class:"searchstax-facet-show-more-container",onClick:g=>a.showMoreLessDesktop(g,d)},[d.showingAllFacets?(s.openBlock(),s.createElementBlock("div",wt,"less")):(s.openBlock(),s.createElementBlock("div",Bt,"more"))],8,Mt)])):s.createCommentVNode("",!0)])])],2))),128))])):s.createCommentVNode("",!0),a.hasDesktopFacetsSlot?(s.openBlock(),s.createElementBlock("div",Ot,[s.renderSlot(a.$slots,"desktopFacets",{facetsTemplateDataDesktop:a.facetsTemplateDataDesktop,isNotDeactivated:a.isNotDeactivated,toggleFacetGroup:a.toggleFacetGroup,isChecked:a.isChecked,selectFacet:a.selectFacet,showMoreLessDesktop:a.showMoreLessDesktop,facetContainers:a.facetContainers})])):s.createCommentVNode("",!0),(c=a.facetsTemplateDataMobile)!=null&&c.hasResultsOrExternalPromotions&&!a.hasMobileFacetsSlot?(s.openBlock(),s.createElementBlock("div",Vt,[s.createElementVNode("div",Nt,[s.createElementVNode("div",{class:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:e[0]||(e[0]=(...d)=>a.openOverlay&&a.openOverlay(...d))},qt),s.createElementVNode("div",_t,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.selectedFacetsCheckboxes,d=>(s.openBlock(),s.createElementBlock("div",{class:"searchstax-facets-pill searchstax-facets-pill-facets",key:d.value,onClick:g=>a.unselectFacet(d)},[s.createElementVNode("div",Ht,s.toDisplayString(d.value)+" ("+s.toDisplayString(d.count)+")",1),Wt],8,jt))),128))]),a.selectedFacetsCheckboxes.length?(s.openBlock(),s.createElementBlock("div",{key:0,class:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:e[1]||(e[1]=(...d)=>a.unselectAll&&a.unselectAll(...d))},Qt)):s.createCommentVNode("",!0)]),s.createElementVNode("div",{class:s.normalizeClass(["searchstax-facets-mobile-overlay",{"searchstax-show":(h=a.facetsTemplateDataMobile)==null?void 0:h.overlayOpened}])},[s.createElementVNode("div",Kt,[zt,s.createElementVNode("div",{class:"searchstax-search-close",onClick:e[2]||(e[2]=(...d)=>a.closeOverlay&&a.closeOverlay(...d))})]),s.createElementVNode("div",Jt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList((u=a.facetsTemplateDataMobile)==null?void 0:u.facets,d=>(s.openBlock(),s.createElementBlock("div",{key:d.name+"mobile",class:s.normalizeClass(["searchstax-facet-container",{active:a.isNotDeactivated(d.name)}])},[s.createElementVNode("div",null,[s.createElementVNode("div",{class:"searchstax-facet-title-container",onClick:g=>a.toggleFacetGroup(d.name)},[s.createElementVNode("div",Gt,s.toDisplayString(d.label),1),Yt],8,Xt),s.createElementVNode("div",Zt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(d.values,(g,v)=>(s.openBlock(),s.createElementBlock("div",{key:g.value+g.parentName,class:s.normalizeClass(["searchstax-facet-value-container",{"searchstax-facet-value-disabled":g.disabled}]),ref_for:!0,ref:f=>{a.facetContainers[v+d.name]=f}},[s.createElementVNode("div",ea,[s.createElementVNode("input",{type:"checkbox",class:"searchstax-facet-input-checkbox",checked:a.isChecked(g),disabled:g.disabled,onClick:f=>a.selectFacet(v+d.name,f,g,!0)},null,8,ta)]),s.createElementVNode("div",{class:"searchstax-facet-value-label",onClick:f=>a.selectFacet(v+d.name,f,g,!1)},s.toDisplayString(g.value),9,aa),s.createElementVNode("div",{class:"searchstax-facet-value-count",onClick:f=>a.selectFacet(v+d.name,f,g,!1)},"("+s.toDisplayString(g.count)+")",9,sa)],2))),128)),d.hasMoreFacets?(s.openBlock(),s.createElementBlock("div",ra,[s.createElementVNode("div",{class:"searchstax-facet-show-more-container",onClick:g=>a.showMoreLessMobile(g,d)},[d.showingAllFacets?(s.openBlock(),s.createElementBlock("div",na,"less")):(s.openBlock(),s.createElementBlock("div",oa,"more"))],8,ia)])):s.createCommentVNode("",!0)])])],2))),128))]),s.createElementVNode("button",{class:"searchstax-facets-mobile-overlay-done",onClick:e[3]||(e[3]=(...d)=>a.closeOverlay&&a.closeOverlay(...d))},"Done")],2)])):s.createCommentVNode("",!0),a.hasMobileFacetsSlot?(s.openBlock(),s.createElementBlock("div",ca,[s.renderSlot(a.$slots,"mobileFacets",{facetsTemplateDataMobile:a.facetsTemplateDataMobile,selectedFacetsCheckboxes:a.selectedFacetsCheckboxes,isNotDeactivated:a.isNotDeactivated,toggleFacetGroup:a.toggleFacetGroup,isChecked:a.isChecked,selectFacet:a.selectFacet,showMoreLessDesktop:a.showMoreLessDesktop,facetContainers:a.facetContainers,openOverlay:a.openOverlay,unselectFacet:a.unselectFacet,unselectAll:a.unselectAll,closeOverlay:a.closeOverlay})])):s.createCommentVNode("",!0)],8,St)}const ha=M(bt,[["render",la]]),da=s.defineComponent({name:"SearchstaxPaginationWidget",data(){return{paginationData:null,rand:Math.random(),paginationAdded:!1}},methods:{nextPage(a){p.searchstax.searchPaginationWidget.nextPage(a)},previousPage(a){p.searchstax.searchPaginationWidget.previousPage(a)},attachObservables(){p.searchstax.dataLayer.$searchObject.subscribe(a=>{this.addWidget()}),p.searchstax.dataLayer.$paginationData.subscribe(a=>{this.paginationData=a})},addWidget(){console.log("store.searchstax.routerHelper",p.searchstax.routerHelper),!this.paginationAdded&&p.searchstax.routerHelper&&(this.paginationAdded=!0,p.searchstax.addPaginationWidget("searchstax-pagination-container"+this.rand,{}))}},computed:{hasPaginationSlot(){return!!this.$slots.pagination}},mounted(){if(p.searchstax)this.attachObservables(),this.addWidget();else throw Error("Searchstax instance needs to be passed via props")}}),ua=["id"],ga={key:0,class:"searchstax-pagination-container"},pa={class:"searchstax-pagination-content"},ma=["disabled"],va={class:"searchstax-pagination-details"},fa=["disabled"],ya={key:1};function ka(a,e,t,r,i,n){var o,c,h,u,d;return s.openBlock(),s.createElementBlock("div",{id:"searchstax-pagination-container"+a.rand},[a.paginationData&&!a.hasPaginationSlot?(s.openBlock(),s.createElementBlock("div",ga,[s.createElementVNode("div",pa,[s.createElementVNode("a",{class:"searchstax-pagination-previous",disabled:(o=a.paginationData)==null?void 0:o.isFirstPage,onClick:e[0]||(e[0]=(...g)=>a.previousPage&&a.previousPage(...g)),id:"searchstax-pagination-previous"}," < Previous ",8,ma),s.createElementVNode("div",va,s.toDisplayString((c=a.paginationData)==null?void 0:c.startResultIndex)+" - "+s.toDisplayString((h=a.paginationData)==null?void 0:h.endResultIndex)+" of "+s.toDisplayString((u=a.paginationData)==null?void 0:u.totalResults),1),s.createElementVNode("a",{class:"searchstax-pagination-next",disabled:(d=a.paginationData)==null?void 0:d.isLastPage,onClick:e[1]||(e[1]=(...g)=>a.nextPage&&a.nextPage(...g)),id:"searchstax-pagination-next"},"Next >",8,fa)])])):s.createCommentVNode("",!0),a.hasPaginationSlot?(s.openBlock(),s.createElementBlock("div",ya,[s.renderSlot(a.$slots,"pagination",{paginationData:a.paginationData,nextPage:a.nextPage,previousPage:a.previousPage})])):s.createCommentVNode("",!0)],8,ua)}const Ca=M(da,[["render",ka]]),ba=s.defineComponent({name:"SearchstaxSearchFeedbackWidget",data(){return{searchFeedbackData:null,rand:Math.random()}},methods:{onOriginalQueryClick(a){p.searchstax.searchFeedbackWidget.onOriginalQueryClick(a)},attachObservables(){p.searchstax.dataLayer.$searchFeedbackData.subscribe(a=>{this.searchFeedbackData=a})}},computed:{hasFeedbackSlot(){return!!this.$slots.searchFeedback}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addSearchFeedbackWidget("search-feedback-container"+this.rand,{});else throw Error("Searchstax instance needs to be passed via props")}}),Sa=["id"],xa={key:0,class:"searchstax-feedback-container"},La={key:0},Ta={class:"searchstax-feedback-container-suggested"},Ea={key:0};function Ra(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",{class:"search-feedback-container",id:"search-feedback-container"+a.rand},[a.searchFeedbackData&&((o=a.searchFeedbackData)!=null&&o.searchExecuted)&&!a.hasFeedbackSlot&&((c=a.searchFeedbackData)!=null&&c.totalResults)?(s.openBlock(),s.createElementBlock("div",xa,[s.createTextVNode(" Showing "),s.createElementVNode("b",null,s.toDisplayString(a.searchFeedbackData.startResultIndex)+" - "+s.toDisplayString(a.searchFeedbackData.endResultIndex),1),s.createTextVNode(" of "),s.createElementVNode("b",null,s.toDisplayString(a.searchFeedbackData.totalResults),1),s.createTextVNode(" results "),a.searchFeedbackData.searchTerm?(s.openBlock(),s.createElementBlock("span",La,[s.createTextVNode('for "'),s.createElementVNode("b",null,s.toDisplayString(a.searchFeedbackData.searchTerm),1),s.createTextVNode('" ')])):s.createCommentVNode("",!0),s.createElementVNode("div",Ta,[a.searchFeedbackData.autoCorrectedQuery?(s.openBlock(),s.createElementBlock("div",Ea,[s.createTextVNode(" Search instead for "),s.createElementVNode("a",{href:"#",onClick:e[0]||(e[0]=s.withModifiers(h=>a.onOriginalQueryClick(h),["prevent"])),class:"searchstax-feedback-original-query"},s.toDisplayString(a.searchFeedbackData.originalQuery),1)])):s.createCommentVNode("",!0)])])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"searchFeedback",{searchFeedbackData:a.searchFeedbackData,onOriginalQueryClick:a.onOriginalQueryClick})],8,Sa)}const Fa=M(ba,[["render",Ra]]),Ia=s.defineComponent({name:"SearchstaxSortingWidget",data(){return{sortingData:null,selectedSorting:"",rand:Math.random()}},methods:{orderChange(a){p.searchstax.searchSortingWidget.setOrderQuery(a.target.value)},attachObservables(){p.searchstax.dataLayer.$searchSortingData.subscribe(a=>{this.sortingData=a}),p.searchstax.dataLayer.$searchObject.subscribe(a=>{this.selectedSorting=decodeURIComponent(a.order)})}},computed:{hasSortingSlot(){return!!this.$slots.sorting}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addSearchSortingWidget("search-sorting-container"+this.rand,{});else throw Error("Searchstax instance needs to be passed via props")}}),$a=["id"],Pa={key:0,class:"searchstax-sorting-container"},Da=s.createElementVNode("label",{class:"searchstax-sorting-label",for:"sort-by"},"Sort By",-1),Ma=["value"],wa=s.createElementVNode("option",{value:""}," Relevance ",-1),Ba=s.createElementVNode("option",{value:"date desc"}," Newest Content ",-1),Oa=s.createElementVNode("option",{value:"date asc"}," Oldest Content ",-1),Va=[wa,Ba,Oa];function Na(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",{id:"search-sorting-container"+a.rand},[a.sortingData&&((o=a.sortingData)!=null&&o.searchExecuted)&&((c=a.sortingData)!=null&&c.hasResultsOrExternalPromotions)&&!a.hasSortingSlot?(s.openBlock(),s.createElementBlock("div",Pa,[Da,s.createElementVNode("select",{id:"searchstax-search-order-select",class:"searchstax-search-order-select",value:a.selectedSorting,onChange:e[0]||(e[0]=h=>a.orderChange(h))},Va,40,Ma)])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"sorting",{sortingData:a.sortingData,orderChange:a.orderChange,selectedSorting:a.selectedSorting})],8,$a)}const Aa=M(Ia,[["render",Na]]),qa=s.defineComponent({name:"SearchstaxExternalPromotionsWidget",data(){return{externalPromotionsData:null,rand:Math.random()}},methods:{attachObservables(){p.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(a=>{this.externalPromotionsData=a})},trackClick(a,e){p.searchstax.externalPromotionsWidget.trackClick(a,e)}},computed:{hasExternalPromotionsSlot(){return!!this.$slots.externalPromotions}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+this.rand,{});else throw Error("Searchstax instance needs to be passed via props")}}),_a=["id"],ja={key:0,class:"searchstax-external-promotions-container",id:"searchstax-external-promotions-container"},Ha=s.createElementVNode("div",{class:"icon-elevated"},null,-1),Wa=["onClick"],Ua={class:"searchstax-search-result-title-container"},Qa={class:"searchstax-search-result-title"},Ka={key:1,class:"searchstax-search-result-description searchstax-search-result-common"},za={key:2,class:"searchstax-search-result-description searchstax-search-result-common"};function Ja(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",{id:"searchstax-external-promotions-layout-container"+a.rand},[a.externalPromotionsData&&((o=a.externalPromotionsData)!=null&&o.searchExecuted)&&((c=a.externalPromotionsData)!=null&&c.hasExternalPromotions)&&!a.hasExternalPromotionsSlot?(s.openBlock(),s.createElementBlock("div",ja,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.externalPromotionsData.externalPromotions,h=>(s.openBlock(),s.createElementBlock("div",{class:"searchstax-external-promotion searchstax-search-result",key:h.id},[Ha,h.url?(s.openBlock(),s.createElementBlock("a",{key:0,href:"{{externalPromotion.url}}",onClick:u=>a.trackClick(h,u),class:"searchstax-result-item-link"},null,8,Wa)):s.createCommentVNode("",!0),s.createElementVNode("div",Ua,[s.createElementVNode("span",Qa,s.toDisplayString(h.name),1)]),h.description?(s.openBlock(),s.createElementBlock("p",Ka,s.toDisplayString(h.description),1)):s.createCommentVNode("",!0),h.url?(s.openBlock(),s.createElementBlock("p",za,s.toDisplayString(h.url),1)):s.createCommentVNode("",!0)]))),128))])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"externalPromotions",{externalPromotionsData:a.externalPromotionsData,trackClick:a.trackClick})],8,_a)}const Xa=M(qa,[["render",Ja]]),Ga=s.defineComponent({name:"SearchstaxRelatedSearchesWidget",data(){return{relatedData:null,rand:Math.random()}},props:{relatedSearchesURL:{type:String,required:!0},relatedSearchesAPIKey:{type:String,required:!0}},methods:{executeSearch(a){p.searchstax.relatedSearchesWidget.executeSearch(a)},attachObservables(){p.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(a=>{this.relatedData=a})}},computed:{hasRelatedSlot(){return!!this.$slots.related}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+this.rand,{relatedSearchesURL:this.relatedSearchesURL,relatedSearchesAPIKey:this.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")}}),Ya={key:0,class:"searchstax-related-searches-container",id:"searchstax-related-searches-container"},Za=s.createElementVNode("span",{id:"searchstax-related-searches"},null,-1),es={key:0,class:"searchstax-related-search"},ts=["onClick"],as={key:0};function ss(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock(s.Fragment,null,[a.relatedData&&((o=a.relatedData)!=null&&o.searchExecuted)&&((c=a.relatedData)!=null&&c.hasRelatedSearches)&&!a.hasRelatedSlot?(s.openBlock(),s.createElementBlock("div",Ya,[s.createTextVNode(" Related searches: "),Za,a.relatedData.relatedSearches?(s.openBlock(),s.createElementBlock("span",es,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.relatedData.relatedSearches,h=>(s.openBlock(),s.createElementBlock("span",{key:h.related_search,onClick:u=>a.executeSearch(h),class:"searchstax-related-search searchstax-related-search-item"},[s.createTextVNode(s.toDisplayString(h.related_search),1),h.last?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("span",as,","))],8,ts))),128))])):s.createCommentVNode("",!0)])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"related",{relatedData:a.relatedData,executeSearch:a.executeSearch})],64)}const rs=M(Ga,[["render",ss]]);exports.SearchstaxExternalPromotionsWidget=Xa;exports.SearchstaxFacetsWidget=ha;exports.SearchstaxInputWidget=Ke;exports.SearchstaxPaginationWidget=Ca;exports.SearchstaxRelatedSearchesWidget=rs;exports.SearchstaxResultWidget=Ct;exports.SearchstaxSearchFeedbackWidget=Fa;exports.SearchstaxSortingWidget=Aa;exports.SearchstaxWrapper=Ne;
@@ -220,4 +220,4 @@
220
220
  </div>
221
221
  {{/hasResultsOrExternalPromotions}}
222
222
  {{/searchExecuted}}
223
- `,selectId:"searchstax-search-order-select"}};class m{}l(m,"externalPromotions",be),l(m,"facets",ve),l(m,"pagination",Se),l(m,"relatedSearches",xe),l(m,"searchFeedback",Le),l(m,"searchInput",Te),l(m,"searchResults",Ee),l(m,"sorting",Re);class Fe{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"externalPromotionsContainerId"),l(this,"searchExternalPromotionsMainContainer",null);var t,r;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((r=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:r.externalPromotionsContainerId)||m.externalPromotions.mainTemplate.externalPromotionsContainerId,this.searchExternalPromotionsMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchExternalPromotions.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data,externalPromotions:this.dataLayer.parsedData.externalPromotions};return this.dataLayer.setExternalPromotionsData(e),e}addExternalSearch(e){var t,r,i,n;const o=document.getElementById(this.externalPromotionsContainerId);if(o){const c=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.externalPromotion)==null?void 0:i.template)||((n=m.externalPromotions.externalPromotion)==null?void 0:n.template),h=document.createElement("div");h.classList.add("searchstax-external-promotion"),h.addEventListener("click",u=>{this.trackClick(e,u)}),h.innerHTML=C.render(c,e),o.appendChild(h)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var t,r,i,n;const o=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.mainTemplate)==null?void 0:i.template)||((n=m.externalPromotions.mainTemplate)==null?void 0:n.template);if(this.dataLayer.renderingEngine===E.mustache){this.searchExternalPromotionsMainContainer.innerHTML=C.render(o,e);const c=document.getElementById(this.externalPromotionsContainerId);c&&(c.innerHTML="");for(const h of e.externalPromotions)this.addExternalSearch(h)}}}class Ie{constructor(e,t){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"routerHelper"),l(this,"cachedPhrase",""),l(this,"isCached",!1),l(this,"overlayOpened",!1),l(this,"facetPaginationStep"),l(this,"facetPaginationStepMobile"),l(this,"searchFacetsMainContainer",null),l(this,"searchFacetsMobileContainer",null),l(this,"searchFacetsDesktopContainer",null),l(this,"facetLimits",{}),l(this,"facetLimitsMobile",{}),l(this,"deactivatedFacets",{}),l(this,"cachedData",null),l(this,"cacheFacets"),l(this,"onFacetSelect",(r,i,n,o)=>{if(r.stopPropagation(),!i.disabled){const c=n.querySelector("input");c.checked=o?c.checked:!c.checked;const h=this.dataLayer.searchObject;let u=[...h.facets];const d=this.extractFacetValue(i);c.checked?u.find(g=>P.deepEqual(g,d)?g:!1)||(this.config.facetingType==="tabs"&&(u=u.filter(g=>g.name!==d.name)),u.push(d)):u=u.filter(g=>!P.deepEqual(g,d)),setTimeout(()=>{this.dataLayer.setSearchObject({...h,facets:u,page:1}),this.config.facetingType==="tabs"&&this.renderMainTemplate(this.generateTemplateData(),!0)},0)}}),this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,this.searchFacetsMainContainer=document.getElementById(this.containerId),this.needCache&&t(),this.initializeSubscriptions()}get needCache(){return this.config.facetingType==="showUnavailable"||this.config.facetingType==="or"||this.config.facetingType==="tabs"}get needDisabling(){return this.config.facetingType==="showUnavailable"}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchResults.subscribe(e=>{e&&(this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets()),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return{type:this.config.facetingType,name:e.parentName,value:e.value}}applyFacetLimits(e,t){const r=t?this.facetPaginationStepMobile:this.facetPaginationStep,i=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(n=>{i[n.name]||(i[n.name]=r)}),e.map(n=>({...n,values:n.values.slice(0,i[n.name]),showingAllFacets:n.values.length<=i[n.name],hasMoreFacets:n.values.length>r}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(i=>{var n;const o=(n=this.dataLayer.searchFacets)==null?void 0:n.find(c=>c.name===i.name);return o?{...i,values:i.values.map(c=>{const h=o.values.find(u=>c.type==="range"?!1:c.type==="checkbox"?u.value===c.value:!1);return{...c,disabled:!h,isMobile:e}})}:{...i,values:i.values.map(c=>({...c,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(i=>{var n;return(n=this.config.specificFacets)==null?void 0:n.includes(i.name)}));const r={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(r),r}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,r){var i,n,o,c,h,u,d,g,f,y,x,b;const k=document.createElement("div");k.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||k.classList.add("active");const S=((o=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.facetItemContainerTemplate)==null?void 0:o.template)||((c=m.facets.facetItemContainerTemplate)==null?void 0:c.template);k.innerHTML=C.render(S,e),t.appendChild(k);const L=k.querySelector("."+(((d=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.facetItemContainerTemplate)==null?void 0:d.facetListTitleContainerClass)||((g=m.facets.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)));L==null||L.addEventListener("click",()=>{k.classList.toggle("active")});const R=k.querySelector("."+(((x=(y=(f=this.config)==null?void 0:f.templates)==null?void 0:y.facetItemContainerTemplate)==null?void 0:x.facetListContainerClass)||((b=m.facets.facetItemContainerTemplate)==null?void 0:b.facetListContainerClass)));R&&(e.values.forEach(I=>{this.createFacetListItem(I,R)}),e.hasMoreFacets&&this.createHasMoreComponent(e,R,r))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(r=>P.deepEqual(r,this.extractFacetValue(e))))}createFacetListItem(e,t){var r,i,n,o,c,h,u,d,g,f,y,x,b;const k=document.createElement("div");k.classList.add("searchstax-facet-value-container"),e.disabled&&k.classList.add("searchstax-facet-value-disabled");const S=this.isChecked(e),L=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.facetItemTemplate)==null?void 0:n.template)||((o=m.facets.facetItemTemplate)==null?void 0:o.template);k.innerHTML=C.render(L,{...e,isChecked:S});let R=(c=m.facets.facetItemTemplate)==null?void 0:c.checkTriggerClasses;R=((d=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.facetItemTemplate)==null?void 0:d.checkTriggerClasses)||R,R.forEach(I=>{var T;(T=k.querySelector("."+I))==null||T.addEventListener("click",B=>{this.onFacetSelect(B,e,k)})}),(b=k.querySelector("."+(((y=(f=(g=this.config)==null?void 0:g.templates)==null?void 0:f.facetItemTemplate)==null?void 0:y.inputCheckboxClass)||((x=m.facets.facetItemTemplate)==null?void 0:x.inputCheckboxClass))))==null||b.addEventListener("click",I=>{this.onFacetSelect(I,e,k,!0)}),t.appendChild(k)}createHasMoreComponent(e,t,r){var i,n,o,c,h,u,d,g;const f=document.createElement("div");f.classList.add("searchstax-facet-show-more-container");const y=((o=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.showMoreButtonContainerTemplate)==null?void 0:o.template)||((c=m.facets.showMoreButtonContainerTemplate)==null?void 0:c.template);f.innerHTML=C.render(y,e);const x=f.querySelector("."+(((d=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.showMoreButtonContainerTemplate)==null?void 0:d.showMoreButtonClass)||((g=m.facets.showMoreButtonContainerTemplate)==null?void 0:g.showMoreButtonClass)));x&&(this.attachOnclickToShowMore(e,x,r),t&&t.appendChild(x))}attachOnclickToShowMore(e,t,r){t.addEventListener("click",i=>{this.onShowMoreLessClick(i,e,r)})}onShowMoreLessClick(e,t,r){e.preventDefault();const i=r?this.facetPaginationStepMobile:this.facetPaginationStep,n=r?this.facetLimits:this.facetLimitsMobile;n[t.name]===void 0?n[t.name]=i*2:n[t.name]<=t.values.length?n[t.name]=n[t.name]+i:n[t.name]=i,this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var r,i,n,o,c,h,u,d,g,f,y;if(e&&(!P.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const x=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplateDesktop)==null?void 0:n.template)||((o=m.facets.mainTemplateDesktop)==null?void 0:o.template);if(this.dataLayer.renderingEngine===E.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=C.render(x,{...e});const b=(d=this.searchFacetsMainContainer)==null?void 0:d.querySelector("."+(((u=(h=(c=this.config)==null?void 0:c.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:u.facetsContainerClass)||m.facets.mainTemplateDesktop.facetsContainerClass));if(b){b.innerHTML="";for(const k of e.facets)this.createFacetItem(k,b);if(this.searchFacetsMainContainer){const k=this.searchFacetsMainContainer.querySelector("."+(((y=(f=(g=this.config)==null?void 0:g.templates)==null?void 0:f.mainTemplateDesktop)==null?void 0:y.selectedFacetsContainerClass)||m.facets.mainTemplateDesktop.selectedFacetsContainerClass));k&&(this.createSelectedFacetsComponents(k),this.createClearFacetsComponents(k))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const r of t){const i=decodeURIComponent(r.name),n=decodeURIComponent(r.value);if(this.dataLayer.searchFacets){const o=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=o==null?void 0:o.find(h=>h.name===i);if(c){const h=c.values.find(u=>u.type==="range"?!1:u.type==="checkbox"?`"${u.value}"`==`"${n}"`:!1);h&&e.push(h)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(r=>{this.createSelectedFacetsComponent(e,r)})}createClearFacetsComponents(e){var t,r,i,n,o,c,h,u;const d=this.dataLayer.searchObject,g=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.clearFacetsTemplate)==null?void 0:i.template)||((n=m.facets.clearFacetsTemplate)==null?void 0:n.template),f=document.createElement("div");f.innerHTML=C.render(g,{shouldShow:d.facets.length>0});const y=f.querySelector("."+(((h=(c=(o=this.config)==null?void 0:o.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:h.containerClass)||((u=m.facets.clearFacetsTemplate)==null?void 0:u.containerClass)));y&&(y.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(y))}createSelectedFacetsComponent(e,t){var r,i,n,o,c,h,u,d;const g=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.selectedFacetsTemplate)==null?void 0:n.template)||((o=m.facets.selectedFacetsTemplate)==null?void 0:o.template),f=document.createElement("div");f.innerHTML=C.render(g,t);const y=f.querySelector("."+(((u=(h=(c=this.config)==null?void 0:c.templates)==null?void 0:h.selectedFacetsTemplate)==null?void 0:u.containerClass)||((d=m.facets.selectedFacetsTemplate)==null?void 0:d.containerClass)));y&&(y.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(y))}unselectFacet(e){const t=this.dataLayer.searchObject;let r=[...t.facets];e.type==="checkbox"&&(r=r.filter(i=>JSON.stringify(i)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:r}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,r,i,n,o,c,h,u;const d=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.filterByTemplate)==null?void 0:i.template)||((n=m.facets.filterByTemplate)==null?void 0:n.template),g=document.createElement("div");g.innerHTML=C.render(d,{});const f=g.querySelector("."+(((h=(c=(o=this.config)==null?void 0:o.templates)==null?void 0:c.filterByTemplate)==null?void 0:h.containerClass)||((u=m.facets.filterByTemplate)==null?void 0:u.containerClass)));f&&(e.prepend(f),f.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,r,i,n,o,c,h,u,d,g,f,y,x,b,k,S,L,R,I;if(e){const T=document.createElement("div");T.classList.add("searchstax-facets-container-mobile");const B=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.mainTemplateMobile)==null?void 0:i.template)||((n=m.facets.mainTemplateMobile)==null?void 0:n.template);if(this.dataLayer.renderingEngine===E.mustache){if(T.innerHTML=C.render(B,{...e,overlayOpened:this.overlayOpened}),(o=this.searchFacetsMainContainer)==null||o.appendChild(T),(h=(c=this.config)==null?void 0:c.templates)!=null&&h.mainTemplateMobile)for(const j of((g=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.mainTemplateMobile)==null?void 0:g.closeOverlayTriggerClasses)||[]){const H=T.querySelector("."+j);H&&H.addEventListener("click",this.closeOverlay.bind(this))}else for(const j of m.facets.mainTemplateMobile.closeOverlayTriggerClasses){const H=T.querySelector("."+j);H&&H.addEventListener("click",this.closeOverlay.bind(this))}const W=T.querySelector("."+(((x=(y=(f=this.config)==null?void 0:f.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:x.filterByContainerClass)||m.facets.mainTemplateMobile.filterByContainerClass));W&&this.createFilterByComponent(W);const $=T.querySelector("."+(((S=(k=(b=this.config)==null?void 0:b.templates)==null?void 0:k.mainTemplateMobile)==null?void 0:S.selectedFacetsContainerClass)||m.facets.mainTemplateMobile.selectedFacetsContainerClass));$&&(this.createSelectedFacetsComponents($),this.createClearFacetsComponents($));const K=T.querySelector("."+(((I=(R=(L=this.config)==null?void 0:L.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||m.facets.mainTemplateMobile.facetsContainerClass));if(K){K.innerHTML="";for(const j of e.facets)this.createFacetItem(j,K,!0)}}}}}class $e{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"previousButtonClass"),l(this,"nextButtonClass"),l(this,"routerHelper"),l(this,"searchPaginationMainContainer",null);var t,r,i,n,o,c;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.mainTemplate)==null?void 0:i.previousButtonClass)??m.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(o=(n=this.config)==null?void 0:n.templates)==null?void 0:o.mainTemplate)==null?void 0:c.nextButtonClass)??m.pagination.mainTemplate.nextButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil((((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.totalResultsValue)??0)/10)}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var e,t;const r={...this.dataLayer.parsedData.data,previousPageLink:this.routerHelper.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:this.routerHelper.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)+1})};return this.dataLayer.setPaginationData(r),r}goToPage(e){const t=this.dataLayer.searchObject;t&&(t.page=e,this.dataLayer.setSearchObject(t)),window.scrollTo(0,0)}nextPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var t,r,i,n,o,c;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(r=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||r.removeEventListener("click",this.nextPage));const h=((o=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.mainTemplate)==null?void 0:o.template)||((c=m.pagination.mainTemplate)==null?void 0:c.template);this.dataLayer.renderingEngine===E.mustache&&(this.searchPaginationMainContainer.innerHTML=C.render(h,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Pe{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"relatedSearchesContainerClass"),l(this,"searchRelatedSearchesMainContainer",null),l(this,"track");var t,r;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((r=(t=this.config.templates)==null?void 0:t.main)==null?void 0:r.relatedSearchesContainerClass)||m.relatedSearches.main.relatedSearchesContainerClass,this.searchRelatedSearchesMainContainer=document.getElementById(this.containerId),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var r,i,n,o,c;const h=document.createElement("div"),u=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.relatedSearch)==null?void 0:n.template)||m.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===E.mustache){h.innerHTML=C.render(u,e);const d=h.querySelector("."+(((c=(o=this.config.templates)==null?void 0:o.relatedSearch)==null?void 0:c.relatedSearchContainerClass)||m.relatedSearches.relatedSearch.relatedSearchContainerClass));d&&(t.appendChild(d),d.addEventListener("click",()=>{this.executeSearch(e)}))}}executeSearch(e){const t=this.dataLayer.searchObject;t.query=e.related_search,this.dataLayer.setSearchObject(t),this.track(e)}renderMainTemplate(e){var t,r,i,n;const o=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.main)==null?void 0:i.template)||m.relatedSearches.main.template;if(this.dataLayer.renderingEngine===E.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=C.render(o,e);const c=(n=this.searchRelatedSearchesMainContainer)==null?void 0:n.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const h of e.relatedSearches)this.addRelatedSearchComponent(h,c)}}}class De{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"searchFeedbackMainContainer",null),l(this,"searchTrigger"),this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,this.searchFeedbackMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchFeedbackData(e),e}onOriginalQueryClick(e){var t;e.stopPropagation(),e.preventDefault();const r=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(r,!0)}attachClick(){var e,t,r,i,n;const o=(n=this.searchFeedbackMainContainer)==null?void 0:n.querySelector("."+(((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:r.originalQueryClass)||((i=m.searchFeedback.main)==null?void 0:i.originalQueryClass)));o&&o.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,r,i;const n=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.main)==null?void 0:i.template)||m.searchFeedback.main.template;this.dataLayer.renderingEngine===E.mustache&&(this.searchFeedbackMainContainer.innerHTML=C.render(n,e),setTimeout(()=>{this.attachClick()},0))}}class Me{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"suggestAfterMinChars"),l(this,"containerId"),l(this,"currentInputValue",""),l(this,"autosuggestResults"),l(this,"searchInput"),l(this,"actionButton"),l(this,"autosuggestContainer"),l(this,"buttonState","search"),l(this,"selectedAutosuggestItem",-1),l(this,"suggestTrigger"),l(this,"searchTrigger"),this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,r,i;const n=document.getElementById(this.containerId);if(!n)throw new Error("Search input container not found");const o=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||m.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===E.mustache){const u=C.render(o,{});n.innerHTML=u}const c=((i=(r=this.config.templates)==null?void 0:r.mainTemplate)==null?void 0:i.searchInputId)||m.searchInput.mainTemplate.searchInputId,h=document.querySelector(`#${c}`);if(h)this.searchInput=h,h.addEventListener("keyup",this.inputKeyupEvent.bind(this)),h.addEventListener("blur",this.hideAutosuggest.bind(this)),h.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===E.mustache&&(this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const r=e[t];t===this.selectedAutosuggestItem?r.classList.add("active"):r.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return M.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,r,i;const n=document.createElement("div");n.classList.add("searchstax-autosuggest-item"),n.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),n.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const o=((r=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:r.template)||((i=m.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return n.innerHTML=C.render(o,e),n}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const r=e.suggest[t];for(const i in r)if(Object.prototype.hasOwnProperty.call(r,i)){const n=r[i];this.autosuggestResults=n,this.dataLayer.setAutosuggestResults(n),n.numFound>0?n.suggestions.forEach(o=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(o))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class we{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"linkClickCallback"),l(this,"searchCallback"),l(this,"containerId"),l(this,"searchResultsMainContainer"),l(this,"searchResultsContainer"),l(this,"searchResultLinks",[]),this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId;const t=document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var e,t,r,i,n;const o=((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:r.template)||((i=m.searchResults.noSearchResultTemplate)==null?void 0:i.template),c=((n=this.dataLayer.searchResultsMetadata)==null?void 0:n.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===E.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=C.render(o,{spellingSuggestion:c,searchTerm:this.dataLayer.searchTerm})),c&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),this.searchCallback(c)})}}renderResults(e){var t,r,i,n;if(this.dataLayer.renderingEngine===E.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const o=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.searchResultTemplate)==null?void 0:i.template)||((n=m.searchResults.searchResultTemplate)==null?void 0:n.template),c=e.map(h=>C.render(o,h));this.searchResultsContainer.innerHTML=c.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,r,i;return((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:r.searchResultUniqueIdAttribute)||((i=m.searchResults.searchResultTemplate)==null?void 0:i.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const r=e.getAttribute(this.uniqueIdAttribute)??"";r&&this.linkClickCallback(r)})})}renderMainTemplate(){var e,t,r,i;const n=((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:r.template)||((i=m.searchResults.mainTemplate)==null?void 0:i.template);this.dataLayer.renderingEngine===E.mustache&&(this.searchResultsMainContainer.innerHTML=C.render(n,{}),setTimeout(()=>{var o,c,h,u,d,g,f;const y=(h=(c=(o=this.config)==null?void 0:o.templates)==null?void 0:c.mainTemplate)!=null&&h.searchResultsContainerId?(g=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.mainTemplate)==null?void 0:g.searchResultsContainerId:(f=m.searchResults.mainTemplate)==null?void 0:f.searchResultsContainerId,x=document.getElementById(y);if(x)this.searchResultsContainer=x;else throw new Error(`Search Results Container with id ${y} not found`)},0))}}class Be{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"selectId"),l(this,"searchSortingMainContainer",null);var t,r;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((r=(t=this.config.templates)==null?void 0:t.main)==null?void 0:r.selectId)||m.sorting.main.selectId,this.searchSortingMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchSortingData(e),e}setOrderQuery(e){const t=this.dataLayer.searchObject;t&&(t.order=e,this.dataLayer.setSearchObject(t))}markOptionSelected(){const e=document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var t,r,i;const n=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.main)==null?void 0:i.template)||m.sorting.main.template;if(this.dataLayer.renderingEngine===E.mustache){this.searchSortingMainContainer.innerHTML=C.render(n,e),this.markOptionSelected();const o=document.getElementById(this.selectId);o&&o.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class Oe{constructor(e=E.mustache){l(this,"routerEnabled",!1),l(this,"cachedQuery",""),l(this,"routerHelper"),l(this,"searchHelper"),l(this,"searchResultsConfig"),l(this,"searchPaginationConfig"),l(this,"searchFeedbackConfig"),l(this,"searchSortingConfig"),l(this,"searchFacetsConfig"),l(this,"relatedSearchesConfig"),l(this,"externalPromotionsConfig"),l(this,"searchInputWidget"),l(this,"searchResultsWidget"),l(this,"searchFacetsWidget"),l(this,"searchPaginationWidget"),l(this,"searchFeedbackWidget"),l(this,"searchSortingWidget"),l(this,"relatedSearchesWidget"),l(this,"externalPromotionsWidget"),l(this,"dataLayer",new ee(se.getOrSetCookie("searchstax_session_id"))),l(this,"firstRequest",!0),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=E.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(r=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(r)}),this.dataLayer.$searchObject.subscribe(r=>{r.query!==""&&this.search(r)}),this.dataLayer.$searchResults.subscribe(r=>{r&&this.dataLayer.searchResultsMetadata&&A.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,r;e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new ae({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((r=e.router)==null?void 0:r.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new z(e.router?e.router:{enabled:!0}),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new z({})}search(e){if(this.searchHelper&&e.query!==""&&e.query!==void 0&&e.query!=="undefined"){const t=this.dataLayer.forceNotCorrect;this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var t;const r=(((t=e.response)==null?void 0:t.docs)??[]).map((n,o)=>({...n,position:o+1})),i=[];for(const n of r)i.push({relatedSearch:n.related_search,position:n.position});this.dataLayer.searchResultsMetadata&&A.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:i}),this.dataLayer.setSearchRelatedSearches(r)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var t,r;this.handleRouter();let i=N.combineResultsWithMetadata(e),n=N.extractFacets(e);this.dataLayer.setSearchFacets(n),(r=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&r.afterSearch&&(i=this.dataLayer.searchstaxConfig.hooks.afterSearch(i)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const o=N.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(o),this.dataLayer.setSearchResults(i)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,r;let i=e;(r=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&r.afterAutosuggest&&(i=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(i)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Me({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new we({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new $e({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new De({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new Be({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Fe({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Ie({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var r,i;const n={...this.dataLayer.searchObject};n.query=M.removeXSSRiskyTags(e),n.page=1,n.facets=[],this.dataLayer.forceNotCorrect=!!t;let o=(r=this.routerHelper)==null?void 0:r.searchObjectToParams(n);o&&(o=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(o)),o&&(n.additionalProps=Object.keys(o).map(c=>o?{key:c,value:o[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(n)}executeSuggest(e){var t,r;let i={term:e,queryParams:[]};(r=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&r.beforeAutosuggest&&(i=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(i)),i&&i.term!==void 0&&i.queryParams!==void 0&&this.suggest(i.term,i.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&A.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,r;let i=N.findResultByUniqueId(e,this.dataLayer.searchResults??[]);i&&((r=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&r.afterLinkClick&&(i=this.searchResultsConfig.hooks.afterLinkClick(i)),i&&this.dataLayer.searchResultsMetadata&&(A.trackClick({result:i,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(i==null?void 0:i.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,r,i;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(r=this.searchResultsConfig)==null?void 0:r.templates,...e}:e,(i=this.searchResultsWidget)==null||i.changeTemplate())}}const p=s.reactive({searchstax:new Oe("vue")}),Ve=s.defineComponent({name:"SearchstaxWrapper",props:{language:{type:String,required:!1,default:"en"},searchURL:{type:String,required:!0},suggesterURL:{type:String,required:!0},trackApiKey:{type:String,required:!0},searchAuth:{type:String,required:!0},authType:{type:String,required:!1,default:"basic"},autoCorrect:{type:Boolean,required:!1,default:!0},router:{type:Object,required:!1},beforeSearch:{type:Function,required:!1},afterSearch:{type:Function,required:!1}},mounted(){const a={};this.beforeSearch&&(a.beforeSearch=this.beforeSearch),this.afterSearch&&(a.afterSearch=this.afterSearch),p.searchstax.initialize({language:this.language,searchURL:this.searchURL,suggesterURL:this.suggesterURL,trackApiKey:this.trackApiKey,searchAuth:this.searchAuth,authType:this.authType,autoCorrect:this.autoCorrect,router:this.router,hooks:a}),this.$emit("initialized",p.searchstax)}}),w=(a,e)=>{const t=a.__vccOpts||a;for(const[r,i]of e)t[r]=i;return t};function Ne(a,e,t,r,i,n){return s.renderSlot(a.$slots,"default")}const Ae=w(Ve,[["render",Ne]]),qe=s.defineComponent({name:"SearchstaxInputWidget",props:{afterAutosuggest:{type:Function,required:!1},beforeAutosuggest:{type:Function,required:!1},searchInputId:{type:String,required:!1},suggestAfterMinChars:{type:Number,required:!1,default:3}},data(){return{suggestions:[]}},methods:{onMouseLeave(){p.searchstax.searchInputWidget.resetAutosuggestSelection(),p.searchstax.searchInputWidget.markActiveAutosuggestItem()},onMouseOver(a){p.searchstax.searchInputWidget.onSuggestionEnter(a)},onMouseClick(){p.searchstax.searchInputWidget.suggestionChosen()},attachObservables(){p.searchstax.dataLayer.$autosuggestResults.subscribe(a=>{this.suggestions=(a==null?void 0:a.suggestions)??[]})}},computed:{hasInputSlot(){return!!this.$slots.input}},mounted(){if(p.searchstax){this.attachObservables();const a={};this.afterAutosuggest&&(a.afterAutosuggest=this.afterAutosuggest),this.beforeAutosuggest&&(a.beforeAutosuggest=this.beforeAutosuggest),p.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:this.suggestAfterMinChars,hooks:a,templates:{mainTemplate:{template:"",searchInputId:this.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")}}),_e={id:"searchstax-input-container"},je={class:"searchstax-search-input-container"},He={key:0,class:"searchstax-search-input-wrapper"},We=s.createElementVNode("input",{type:"text",id:"searchstax-search-input",class:"searchstax-search-input",placeholder:"SEARCH FOR..."},null,-1),Ue=["innerHTML","onMouseover"],Qe=s.createElementVNode("button",{class:"searchstax-spinner-icon",id:"searchstax-search-input-action-button"},null,-1);function Ke(a,e,t,r,i,n){return s.openBlock(),s.createElementBlock("div",_e,[s.createElementVNode("div",je,[a.hasInputSlot?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",He,[We,s.createElementVNode("div",{class:s.normalizeClass(["searchstax-autosuggest-container",{hidden:a.suggestions.length===0}]),onMouseleave:e[1]||(e[1]=(...o)=>a.onMouseLeave&&a.onMouseLeave(...o))},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.suggestions,o=>(s.openBlock(),s.createElementBlock("div",{class:"searchstax-autosuggest-item",key:o.term},[s.createElementVNode("div",{class:"searchstax-autosuggest-item-term-container",innerHTML:o.term,onMouseover:c=>a.onMouseOver(o),onClick:e[0]||(e[0]=s.withModifiers(c=>a.onMouseClick(),["stop"]))},null,40,Ue)]))),128))],34),Qe])),s.renderSlot(a.$slots,"input",{suggestions:a.suggestions,onMouseClick:a.onMouseClick,onMouseOver:a.onMouseOver,onMouseLeave:a.onMouseLeave})])])}const ze=w(qe,[["render",Ke]]),Je=s.defineComponent({name:"SearchstaxResultsWidget",props:{afterLinkClick:{type:Function,required:!1}},computed:{hasNoResultsSlot(){return!!this.$slots.noResult},hasResultSlot(){return!!this.$slots.results},hooks(){const a={};return this.afterLinkClick&&(a.afterLinkClick=this.afterLinkClick),a}},data(){return{searchResults:null,metadata:null,searchTerm:"",store:p}},methods:{resultClicked(a,e){e.preventDefault(),e.stopPropagation(),p.searchstax.executeLinkClick(a.uniqueId)},attachObservables(){p.searchstax.dataLayer.$searchResults.subscribe(a=>{this.searchResults=a}),p.searchstax.dataLayer.$searchTermChange.subscribe(a=>{this.searchTerm=a}),p.searchstax.dataLayer.$searchResultsMetadata.subscribe(a=>{this.metadata=a})}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},hooks:this.hooks});else throw Error("Searchstax instance needs to be passed via props")}}),Xe={id:"searchstax-results-container"},Ge={class:"searchstax-search-results-container"},Ye={id:"searchstax-result-container"},Ze={key:0},et={class:"searchstax-no-results"},tt=s.createElementVNode("strong",null,"no results",-1),at=s.createElementVNode("br",null,null,-1),st={key:0},rt={href:"#",class:"searchstax-suggestion-term"},it=s.createElementVNode("div",null,[s.createElementVNode("p",null," Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need. "),s.createElementVNode("p",null,"Lost? Click on the ‘X” in the Search Box to reset your search.")],-1),nt={key:2,class:"searchstax-search-results"},ot={key:0,class:"searchstax-search-result-promoted"},ct=["href","data-searchstax-unique-result-id","onClick"],lt={key:2,class:"searchstax-search-result-ribbon"},ht=["src"],dt={class:"searchstax-search-result-title-container"},ut={class:"searchstax-search-result-title"},gt={key:4,class:"searchstax-search-result-common"},pt={key:5,class:"searchstax-search-result-description searchstax-search-result-common"},mt={key:0,class:"searchstax-search-result-image-container"},ft=["src"],yt={key:1},kt={class:"searchstax-search-result-common"},Ct={key:3};function bt(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",Xe,[s.createElementVNode("div",Ge,[s.createElementVNode("div",Ye,[a.searchResults&&a.searchResults.length===0&&!a.hasNoResultsSlot?(s.openBlock(),s.createElementBlock("div",Ze,[s.createElementVNode("div",et,[s.createTextVNode(" Showing "),tt,s.createTextVNode(" for "),s.createElementVNode("strong",null,'"'+s.toDisplayString(a.searchTerm)+'"',1),at,(o=a.metadata)!=null&&o.spellingSuggestion?(s.openBlock(),s.createElementBlock("span",st,[s.createTextVNode(" Did you mean "),s.createElementVNode("a",rt,s.toDisplayString((c=a.metadata)==null?void 0:c.spellingSuggestion),1),s.createTextVNode("?")])):s.createCommentVNode("",!0)]),it])):s.createCommentVNode("",!0),a.searchResults&&a.searchResults.length===0&&a.hasNoResultsSlot?s.renderSlot(a.$slots,"noResult",{key:1}):s.createCommentVNode("",!0),a.searchResults&&a.searchResults.length&&!a.hasResultSlot?(s.openBlock(),s.createElementBlock("div",nt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.searchResults,h=>(s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["searchstax-search-result",{"has-thumbnail":h.thumbnail}]),key:h.uniqueId},[h.promoted?(s.openBlock(),s.createElementBlock("div",ot)):s.createCommentVNode("",!0),h.url?(s.openBlock(),s.createElementBlock("a",{key:1,href:h.url,"data-searchstax-unique-result-id":h.uniqueId,onClick:u=>a.resultClicked(h,u),class:"searchstax-result-item-link"},null,8,ct)):s.createCommentVNode("",!0),h.ribbon?(s.openBlock(),s.createElementBlock("div",lt,s.toDisplayString(h.ribbon),1)):s.createCommentVNode("",!0),h.thumbnail?(s.openBlock(),s.createElementBlock("img",{key:3,src:h.thumbnail,class:"searchstax-thumbnail"},null,8,ht)):s.createCommentVNode("",!0),s.createElementVNode("div",dt,[s.createElementVNode("span",ut,s.toDisplayString(h.title),1)]),h.paths?(s.openBlock(),s.createElementBlock("p",gt,s.toDisplayString(h.paths),1)):s.createCommentVNode("",!0),h.description?(s.openBlock(),s.createElementBlock("p",pt,s.toDisplayString(h.description),1)):s.createCommentVNode("",!0),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(h.unmappedFields,u=>(s.openBlock(),s.createElementBlock("div",{key:u.key},[u.isImage&&typeof u.value=="string"?(s.openBlock(),s.createElementBlock("div",mt,[s.createElementVNode("img",{src:u.value,class:"searchstax-result-image"},null,8,ft)])):(s.openBlock(),s.createElementBlock("div",yt,[s.createElementVNode("p",kt,s.toDisplayString(u.value),1)]))]))),128))],2))),128))])):s.createCommentVNode("",!0),a.searchResults&&a.searchResults.length&&a.hasResultSlot?(s.openBlock(),s.createElementBlock("div",Ct,[s.renderSlot(a.$slots,"results",{searchResults:a.searchResults,resultClicked:a.resultClicked})])):s.createCommentVNode("",!0)])])])}const vt=w(Je,[["render",bt]]),St=s.defineComponent({name:"SearchstaxFacetsWidget",props:{facetingType:{type:String,required:!0},itemsPerPageDesktop:{type:Number,required:!0},itemsPerPageMobile:{type:Number,required:!0},specificFacets:{type:Array,required:!1}},data(){return{facetsTemplateDataDesktop:null,facetsTemplateDataMobile:null,store:p,facetContainers:s.ref([]),mainFacetContainers:s.ref([]),selectedFacetsCheckboxes:[],selectedFacetsRange:[],rand:Math.random()}},computed:{hasDesktopFacetsSlot(){return!!this.$slots.desktopFacets},hasMobileFacetsSlot(){return!!this.$slots.mobileFacets}},methods:{attachObservables(){p.searchstax.dataLayer.$facetsTemplateData.subscribe(a=>{a!=null&&a.isMobile?this.facetsTemplateDataMobile=a:this.facetsTemplateDataDesktop=a}),p.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(a=>{const e=a??[];this.selectedFacetsCheckboxes=e.filter(t=>t.type==="checkbox")})},unselectFacet(a){p.searchstax.searchFacetsWidget.unselectFacet(a)},unselectAll(){p.searchstax.searchFacetsWidget.removeSelectedFacets()},isNotDeactivated(a){return!p.searchstax.searchFacetsWidget.deactivatedFacets[a]},toggleFacetGroup(a){this.isNotDeactivated(a)?p.searchstax.searchFacetsWidget.deactivatedFacets[a]=!0:p.searchstax.searchFacetsWidget.deactivatedFacets[a]=!1},isChecked(a){return p.searchstax.searchFacetsWidget.isChecked(a)},selectFacet(a,e,t,r){const i=document.createElement("div");i.innerHTML=this.facetContainers[a].outerHTML,p.searchstax.searchFacetsWidget.onFacetSelect(e,t,this.facetContainers[a],r)},showMoreLessDesktop(a,e){p.searchstax.searchFacetsWidget.onShowMoreLessClick(a,e,!1)},showMoreLessMobile(a,e){p.searchstax.searchFacetsWidget.onShowMoreLessClick(a,e,!0)},openOverlay(){p.searchstax.searchFacetsWidget.openOverlay()},closeOverlay(){p.searchstax.searchFacetsWidget.closeOverlay()}},mounted(){p.searchstax.addFacetsWidget("searchstax-facets-container"+this.rand,{facetingType:this.facetingType,specificFacets:this.specificFacets,itemsPerPageDesktop:this.itemsPerPageDesktop,itemsPerPageMobile:this.itemsPerPageMobile}),this.attachObservables()}}),xt=["id"],Lt={key:0,class:"searchstax-facets-container-desktop"},Tt=["onClick"],Et={class:"searchstax-facet-title"},Rt=s.createElementVNode("div",{class:"searchstax-facet-title-arrow active"},null,-1),Ft={class:"searchstax-facet-values-container"},It={class:"searchstax-facet-input"},$t=["checked","disabled","onClick"],Pt=["onClick"],Dt=["onClick"],Mt={key:0,class:"searchstax-facet-show-more-container"},wt=["onClick"],Bt={key:0,class:"searchstax-facet-show-less-button searchstax-facet-show-button"},Ot={key:1,class:"searchstax-facet-show-more-button searchstax-facet-show-button"},Vt={key:1},Nt={key:2,class:"searchstax-facets-container-mobile"},At={class:"searchstax-facets-pills-container"},qt=[s.createElementVNode("div",{class:"searchstax-facets-pill-label"},"Filter By",-1)],_t={class:"searchstax-facets-pills-selected"},jt=["onClick"],Ht={class:"searchstax-facets-pill-label"},Wt=s.createElementVNode("div",{class:"searchstax-facets-pill-icon-close"},null,-1),Ut=[s.createElementVNode("div",{class:"searchstax-facets-pill-label"},"Clear Filters",-1)],Qt={class:"searchstax-facets-mobile-overlay-header"},Kt=s.createElementVNode("div",{class:"searchstax-facets-mobile-overlay-header-title"},"Filter By",-1),zt={class:"searchstax-facets-container-mobile"},Jt=["onClick"],Xt={class:"searchstax-facet-title"},Gt=s.createElementVNode("div",{class:"searchstax-facet-title-arrow active"},null,-1),Yt={class:"searchstax-facet-values-container"},Zt={class:"searchstax-facet-input"},ea=["checked","disabled","onClick"],ta=["onClick"],aa=["onClick"],sa={key:0,class:"searchstax-facet-show-more-container"},ra=["onClick"],ia={key:0,class:"searchstax-facet-show-less-button searchstax-facet-show-button"},na={key:1,class:"searchstax-facet-show-more-button searchstax-facet-show-button"},oa={key:3};function ca(a,e,t,r,i,n){var o,c,h,u;return s.openBlock(),s.createElementBlock("div",{id:"searchstax-facets-container"+a.rand},[(o=a.facetsTemplateDataDesktop)!=null&&o.hasResultsOrExternalPromotions&&!a.hasDesktopFacetsSlot?(s.openBlock(),s.createElementBlock("div",Lt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.facetsTemplateDataDesktop.facets,d=>(s.openBlock(),s.createElementBlock("div",{key:d.name+"desktop",class:s.normalizeClass(["searchstax-facet-container",{active:a.isNotDeactivated(d.name)}])},[s.createElementVNode("div",null,[s.createElementVNode("div",{class:"searchstax-facet-title-container",onClick:g=>a.toggleFacetGroup(d.name)},[s.createElementVNode("div",Et,s.toDisplayString(d.label),1),Rt],8,Tt),s.createElementVNode("div",Ft,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(d.values,(g,f)=>(s.openBlock(),s.createElementBlock("div",{key:g.value+g.parentName,class:s.normalizeClass(["searchstax-facet-value-container",{"searchstax-facet-value-disabled":g.disabled}]),ref_for:!0,ref:y=>{a.facetContainers[f+d.name]=y}},[s.createElementVNode("div",It,[s.createElementVNode("input",{type:"checkbox",class:"searchstax-facet-input-checkbox",checked:a.isChecked(g),disabled:g.disabled,onClick:y=>a.selectFacet(f+d.name,y,g,!0)},null,8,$t)]),s.createElementVNode("div",{class:"searchstax-facet-value-label",onClick:y=>a.selectFacet(f+d.name,y,g,!1)},s.toDisplayString(g.value),9,Pt),s.createElementVNode("div",{class:"searchstax-facet-value-count",onClick:y=>a.selectFacet(f+d.name,y,g,!1)},"("+s.toDisplayString(g.count)+")",9,Dt)],2))),128)),d.hasMoreFacets?(s.openBlock(),s.createElementBlock("div",Mt,[s.createElementVNode("div",{class:"searchstax-facet-show-more-container",onClick:g=>a.showMoreLessDesktop(g,d)},[d.showingAllFacets?(s.openBlock(),s.createElementBlock("div",Bt,"less")):(s.openBlock(),s.createElementBlock("div",Ot,"more"))],8,wt)])):s.createCommentVNode("",!0)])])],2))),128))])):s.createCommentVNode("",!0),a.hasDesktopFacetsSlot?(s.openBlock(),s.createElementBlock("div",Vt,[s.renderSlot(a.$slots,"desktopFacets",{facetsTemplateDataDesktop:a.facetsTemplateDataDesktop,isNotDeactivated:a.isNotDeactivated,toggleFacetGroup:a.toggleFacetGroup,isChecked:a.isChecked,selectFacet:a.selectFacet,showMoreLessDesktop:a.showMoreLessDesktop,facetContainers:a.facetContainers})])):s.createCommentVNode("",!0),(c=a.facetsTemplateDataMobile)!=null&&c.hasResultsOrExternalPromotions&&!a.hasMobileFacetsSlot?(s.openBlock(),s.createElementBlock("div",Nt,[s.createElementVNode("div",At,[s.createElementVNode("div",{class:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:e[0]||(e[0]=(...d)=>a.openOverlay&&a.openOverlay(...d))},qt),s.createElementVNode("div",_t,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.selectedFacetsCheckboxes,d=>(s.openBlock(),s.createElementBlock("div",{class:"searchstax-facets-pill searchstax-facets-pill-facets",key:d.value,onClick:g=>a.unselectFacet(d)},[s.createElementVNode("div",Ht,s.toDisplayString(d.value)+" ("+s.toDisplayString(d.count)+")",1),Wt],8,jt))),128))]),a.selectedFacetsCheckboxes.length?(s.openBlock(),s.createElementBlock("div",{key:0,class:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:e[1]||(e[1]=(...d)=>a.unselectAll&&a.unselectAll(...d))},Ut)):s.createCommentVNode("",!0)]),s.createElementVNode("div",{class:s.normalizeClass(["searchstax-facets-mobile-overlay",{"searchstax-show":(h=a.facetsTemplateDataMobile)==null?void 0:h.overlayOpened}])},[s.createElementVNode("div",Qt,[Kt,s.createElementVNode("div",{class:"searchstax-search-close",onClick:e[2]||(e[2]=(...d)=>a.closeOverlay&&a.closeOverlay(...d))})]),s.createElementVNode("div",zt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList((u=a.facetsTemplateDataMobile)==null?void 0:u.facets,d=>(s.openBlock(),s.createElementBlock("div",{key:d.name+"mobile",class:s.normalizeClass(["searchstax-facet-container",{active:a.isNotDeactivated(d.name)}])},[s.createElementVNode("div",null,[s.createElementVNode("div",{class:"searchstax-facet-title-container",onClick:g=>a.toggleFacetGroup(d.name)},[s.createElementVNode("div",Xt,s.toDisplayString(d.label),1),Gt],8,Jt),s.createElementVNode("div",Yt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(d.values,(g,f)=>(s.openBlock(),s.createElementBlock("div",{key:g.value+g.parentName,class:s.normalizeClass(["searchstax-facet-value-container",{"searchstax-facet-value-disabled":g.disabled}]),ref_for:!0,ref:y=>{a.facetContainers[f+d.name]=y}},[s.createElementVNode("div",Zt,[s.createElementVNode("input",{type:"checkbox",class:"searchstax-facet-input-checkbox",checked:a.isChecked(g),disabled:g.disabled,onClick:y=>a.selectFacet(f+d.name,y,g,!0)},null,8,ea)]),s.createElementVNode("div",{class:"searchstax-facet-value-label",onClick:y=>a.selectFacet(f+d.name,y,g,!1)},s.toDisplayString(g.value),9,ta),s.createElementVNode("div",{class:"searchstax-facet-value-count",onClick:y=>a.selectFacet(f+d.name,y,g,!1)},"("+s.toDisplayString(g.count)+")",9,aa)],2))),128)),d.hasMoreFacets?(s.openBlock(),s.createElementBlock("div",sa,[s.createElementVNode("div",{class:"searchstax-facet-show-more-container",onClick:g=>a.showMoreLessDesktop(g,d)},[d.showingAllFacets?(s.openBlock(),s.createElementBlock("div",ia,"less")):(s.openBlock(),s.createElementBlock("div",na,"more"))],8,ra)])):s.createCommentVNode("",!0)])])],2))),128))]),s.createElementVNode("button",{class:"searchstax-facets-mobile-overlay-done",onClick:e[3]||(e[3]=(...d)=>a.closeOverlay&&a.closeOverlay(...d))},"Done")],2)])):s.createCommentVNode("",!0),a.hasMobileFacetsSlot?(s.openBlock(),s.createElementBlock("div",oa,[s.renderSlot(a.$slots,"mobileFacets",{facetsTemplateDataMobile:a.facetsTemplateDataMobile,selectedFacetsCheckboxes:a.selectedFacetsCheckboxes,isNotDeactivated:a.isNotDeactivated,toggleFacetGroup:a.toggleFacetGroup,isChecked:a.isChecked,selectFacet:a.selectFacet,showMoreLessDesktop:a.showMoreLessDesktop,facetContainers:a.facetContainers,openOverlay:a.openOverlay,unselectFacet:a.unselectFacet,unselectAll:a.unselectAll,closeOverlay:a.closeOverlay})])):s.createCommentVNode("",!0)],8,xt)}const la=w(St,[["render",ca]]),ha=s.defineComponent({name:"SearchstaxPaginationWidget",data(){return{paginationData:null,rand:Math.random(),paginationAdded:!1}},methods:{nextPage(a){p.searchstax.searchPaginationWidget.nextPage(a)},previousPage(a){p.searchstax.searchPaginationWidget.previousPage(a)},attachObservables(){p.searchstax.dataLayer.$searchObject.subscribe(a=>{this.addWidget()}),p.searchstax.dataLayer.$paginationData.subscribe(a=>{this.paginationData=a})},addWidget(){console.log("store.searchstax.routerHelper",p.searchstax.routerHelper),!this.paginationAdded&&p.searchstax.routerHelper&&(this.paginationAdded=!0,p.searchstax.addPaginationWidget("searchstax-pagination-container"+this.rand,{}))}},computed:{hasPaginationSlot(){return!!this.$slots.pagination}},mounted(){if(p.searchstax)this.attachObservables(),this.addWidget();else throw Error("Searchstax instance needs to be passed via props")}}),da=["id"],ua={key:0,class:"searchstax-pagination-container"},ga={class:"searchstax-pagination-content"},pa=["disabled"],ma={class:"searchstax-pagination-details"},fa=["disabled"],ya={key:1};function ka(a,e,t,r,i,n){var o,c,h,u,d;return s.openBlock(),s.createElementBlock("div",{id:"searchstax-pagination-container"+a.rand},[a.paginationData&&!a.hasPaginationSlot?(s.openBlock(),s.createElementBlock("div",ua,[s.createElementVNode("div",ga,[s.createElementVNode("a",{class:"searchstax-pagination-previous",disabled:(o=a.paginationData)==null?void 0:o.isFirstPage,onClick:e[0]||(e[0]=(...g)=>a.previousPage&&a.previousPage(...g)),id:"searchstax-pagination-previous"}," < Previous ",8,pa),s.createElementVNode("div",ma,s.toDisplayString((c=a.paginationData)==null?void 0:c.startResultIndex)+" - "+s.toDisplayString((h=a.paginationData)==null?void 0:h.endResultIndex)+" of "+s.toDisplayString((u=a.paginationData)==null?void 0:u.totalResults),1),s.createElementVNode("a",{class:"searchstax-pagination-next",disabled:(d=a.paginationData)==null?void 0:d.isLastPage,onClick:e[1]||(e[1]=(...g)=>a.nextPage&&a.nextPage(...g)),id:"searchstax-pagination-next"},"Next >",8,fa)])])):s.createCommentVNode("",!0),a.hasPaginationSlot?(s.openBlock(),s.createElementBlock("div",ya,[s.renderSlot(a.$slots,"pagination",{paginationData:a.paginationData,nextPage:a.nextPage,previousPage:a.previousPage})])):s.createCommentVNode("",!0)],8,da)}const Ca=w(ha,[["render",ka]]),ba=s.defineComponent({name:"SearchstaxSearchFeedbackWidget",data(){return{searchFeedbackData:null,rand:Math.random()}},methods:{onOriginalQueryClick(a){p.searchstax.searchFeedbackWidget.onOriginalQueryClick(a)},attachObservables(){p.searchstax.dataLayer.$searchFeedbackData.subscribe(a=>{this.searchFeedbackData=a})}},computed:{hasFeedbackSlot(){return!!this.$slots.searchFeedback}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addSearchFeedbackWidget("search-feedback-container"+this.rand,{});else throw Error("Searchstax instance needs to be passed via props")}}),va=["id"],Sa={key:0,class:"searchstax-feedback-container"},xa={key:0},La={class:"searchstax-feedback-container-suggested"},Ta={key:0};function Ea(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",{class:"search-feedback-container",id:"search-feedback-container"+a.rand},[a.searchFeedbackData&&((o=a.searchFeedbackData)!=null&&o.searchExecuted)&&!a.hasFeedbackSlot&&((c=a.searchFeedbackData)!=null&&c.totalResults)?(s.openBlock(),s.createElementBlock("div",Sa,[s.createTextVNode(" Showing "),s.createElementVNode("b",null,s.toDisplayString(a.searchFeedbackData.startResultIndex)+" - "+s.toDisplayString(a.searchFeedbackData.endResultIndex),1),s.createTextVNode(" of "),s.createElementVNode("b",null,s.toDisplayString(a.searchFeedbackData.totalResults),1),s.createTextVNode(" results "),a.searchFeedbackData.searchTerm?(s.openBlock(),s.createElementBlock("span",xa,[s.createTextVNode('for "'),s.createElementVNode("b",null,s.toDisplayString(a.searchFeedbackData.searchTerm),1),s.createTextVNode('" ')])):s.createCommentVNode("",!0),s.createElementVNode("div",La,[a.searchFeedbackData.autoCorrectedQuery?(s.openBlock(),s.createElementBlock("div",Ta,[s.createTextVNode(" Search instead for "),s.createElementVNode("a",{href:"#",onClick:e[0]||(e[0]=s.withModifiers(h=>a.onOriginalQueryClick(h),["prevent"])),class:"searchstax-feedback-original-query"},s.toDisplayString(a.searchFeedbackData.originalQuery),1)])):s.createCommentVNode("",!0)])])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"searchFeedback",{searchFeedbackData:a.searchFeedbackData,onOriginalQueryClick:a.onOriginalQueryClick})],8,va)}const Ra=w(ba,[["render",Ea]]),Fa=s.defineComponent({name:"SearchstaxSortingWidget",data(){return{sortingData:null,selectedSorting:"",rand:Math.random()}},methods:{orderChange(a){p.searchstax.searchSortingWidget.setOrderQuery(a.target.value)},attachObservables(){p.searchstax.dataLayer.$searchSortingData.subscribe(a=>{this.sortingData=a}),p.searchstax.dataLayer.$searchObject.subscribe(a=>{this.selectedSorting=decodeURIComponent(a.order)})}},computed:{hasSortingSlot(){return!!this.$slots.sorting}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addSearchSortingWidget("search-sorting-container"+this.rand,{});else throw Error("Searchstax instance needs to be passed via props")}}),Ia=["id"],$a={key:0,class:"searchstax-sorting-container"},Pa=s.createElementVNode("label",{class:"searchstax-sorting-label",for:"sort-by"},"Sort By",-1),Da=["value"],Ma=[s.createElementVNode("option",{value:""}," Relevance ",-1),s.createElementVNode("option",{value:"date desc"}," Newest Content ",-1),s.createElementVNode("option",{value:"date asc"}," Oldest Content ",-1)];function wa(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",{id:"search-sorting-container"+a.rand},[a.sortingData&&((o=a.sortingData)!=null&&o.searchExecuted)&&((c=a.sortingData)!=null&&c.hasResultsOrExternalPromotions)&&!a.hasSortingSlot?(s.openBlock(),s.createElementBlock("div",$a,[Pa,s.createElementVNode("select",{id:"searchstax-search-order-select",class:"searchstax-search-order-select",value:a.selectedSorting,onChange:e[0]||(e[0]=h=>a.orderChange(h))},Ma,40,Da)])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"sorting",{sortingData:a.sortingData,orderChange:a.orderChange,selectedSorting:a.selectedSorting})],8,Ia)}const Ba=w(Fa,[["render",wa]]),Oa=s.defineComponent({name:"SearchstaxExternalPromotionsWidget",data(){return{externalPromotionsData:null,rand:Math.random()}},methods:{attachObservables(){p.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(a=>{this.externalPromotionsData=a})},trackClick(a,e){p.searchstax.externalPromotionsWidget.trackClick(a,e)}},computed:{hasExternalPromotionsSlot(){return!!this.$slots.externalPromotions}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+this.rand,{});else throw Error("Searchstax instance needs to be passed via props")}}),Va=["id"],Na={key:0,class:"searchstax-external-promotions-container",id:"searchstax-external-promotions-container"},Aa=s.createElementVNode("div",{class:"icon-elevated"},null,-1),qa=["onClick"],_a={class:"searchstax-search-result-title-container"},ja={class:"searchstax-search-result-title"},Ha={key:1,class:"searchstax-search-result-description searchstax-search-result-common"},Wa={key:2,class:"searchstax-search-result-description searchstax-search-result-common"};function Ua(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",{id:"searchstax-external-promotions-layout-container"+a.rand},[a.externalPromotionsData&&((o=a.externalPromotionsData)!=null&&o.searchExecuted)&&((c=a.externalPromotionsData)!=null&&c.hasExternalPromotions)&&!a.hasExternalPromotionsSlot?(s.openBlock(),s.createElementBlock("div",Na,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.externalPromotionsData.externalPromotions,h=>(s.openBlock(),s.createElementBlock("div",{class:"searchstax-external-promotion searchstax-search-result",key:h.id},[Aa,h.url?(s.openBlock(),s.createElementBlock("a",{key:0,href:"{{externalPromotion.url}}",onClick:u=>a.trackClick(h,u),class:"searchstax-result-item-link"},null,8,qa)):s.createCommentVNode("",!0),s.createElementVNode("div",_a,[s.createElementVNode("span",ja,s.toDisplayString(h.name),1)]),h.description?(s.openBlock(),s.createElementBlock("p",Ha,s.toDisplayString(h.description),1)):s.createCommentVNode("",!0),h.url?(s.openBlock(),s.createElementBlock("p",Wa,s.toDisplayString(h.url),1)):s.createCommentVNode("",!0)]))),128))])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"externalPromotions",{externalPromotionsData:a.externalPromotionsData,trackClick:a.trackClick})],8,Va)}const Qa=w(Oa,[["render",Ua]]),Ka=s.defineComponent({name:"SearchstaxRelatedSearchesWidget",data(){return{relatedData:null,rand:Math.random()}},props:{relatedSearchesURL:{type:String,required:!0},relatedSearchesAPIKey:{type:String,required:!0}},methods:{executeSearch(a){p.searchstax.relatedSearchesWidget.executeSearch(a)},attachObservables(){p.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(a=>{this.relatedData=a})}},computed:{hasRelatedSlot(){return!!this.$slots.related}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+this.rand,{relatedSearchesURL:this.relatedSearchesURL,relatedSearchesAPIKey:this.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")}}),za={key:0,class:"searchstax-related-searches-container",id:"searchstax-related-searches-container"},Ja=s.createElementVNode("span",{id:"searchstax-related-searches"},null,-1),Xa={key:0,class:"searchstax-related-search"},Ga=["onClick"],Ya={key:0};function Za(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock(s.Fragment,null,[a.relatedData&&((o=a.relatedData)!=null&&o.searchExecuted)&&((c=a.relatedData)!=null&&c.hasRelatedSearches)&&!a.hasRelatedSlot?(s.openBlock(),s.createElementBlock("div",za,[s.createTextVNode(" Related searches: "),Ja,a.relatedData.relatedSearches?(s.openBlock(),s.createElementBlock("span",Xa,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.relatedData.relatedSearches,h=>(s.openBlock(),s.createElementBlock("span",{key:h.related_search,onClick:u=>a.executeSearch(h),class:"searchstax-related-search searchstax-related-search-item"},[s.createTextVNode(s.toDisplayString(h.related_search),1),h.last?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("span",Ya,","))],8,Ga))),128))])):s.createCommentVNode("",!0)])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"related",{relatedData:a.relatedData,executeSearch:a.executeSearch})],64)}const es=w(Ka,[["render",Za]]);D.SearchstaxExternalPromotionsWidget=Qa,D.SearchstaxFacetsWidget=la,D.SearchstaxInputWidget=ze,D.SearchstaxPaginationWidget=Ca,D.SearchstaxRelatedSearchesWidget=es,D.SearchstaxResultWidget=vt,D.SearchstaxSearchFeedbackWidget=Ra,D.SearchstaxSortingWidget=Ba,D.SearchstaxWrapper=Ae,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxVue"]=this["@searchstaxInc/searchstudioUxVue"]||{},vue);
223
+ `,selectId:"searchstax-search-order-select"}};class m{}l(m,"externalPromotions",be),l(m,"facets",ve),l(m,"pagination",Se),l(m,"relatedSearches",xe),l(m,"searchFeedback",Le),l(m,"searchInput",Te),l(m,"searchResults",Ee),l(m,"sorting",Re);class Fe{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"externalPromotionsContainerId"),l(this,"searchExternalPromotionsMainContainer",null);var t,r;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((r=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:r.externalPromotionsContainerId)||m.externalPromotions.mainTemplate.externalPromotionsContainerId,this.searchExternalPromotionsMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchExternalPromotions.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data,externalPromotions:this.dataLayer.parsedData.externalPromotions};return this.dataLayer.setExternalPromotionsData(e),e}addExternalSearch(e){var t,r,i,n;const o=document.getElementById(this.externalPromotionsContainerId);if(o){const c=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.externalPromotion)==null?void 0:i.template)||((n=m.externalPromotions.externalPromotion)==null?void 0:n.template),h=document.createElement("div");h.classList.add("searchstax-external-promotion"),h.addEventListener("click",u=>{this.trackClick(e,u)}),h.innerHTML=C.render(c,e),o.appendChild(h)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var t,r,i,n;const o=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.mainTemplate)==null?void 0:i.template)||((n=m.externalPromotions.mainTemplate)==null?void 0:n.template);if(this.dataLayer.renderingEngine===E.mustache){this.searchExternalPromotionsMainContainer.innerHTML=C.render(o,e);const c=document.getElementById(this.externalPromotionsContainerId);c&&(c.innerHTML="");for(const h of e.externalPromotions)this.addExternalSearch(h)}}}class Ie{constructor(e,t){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"routerHelper"),l(this,"cachedPhrase",""),l(this,"isCached",!1),l(this,"overlayOpened",!1),l(this,"facetPaginationStep"),l(this,"facetPaginationStepMobile"),l(this,"searchFacetsMainContainer",null),l(this,"searchFacetsMobileContainer",null),l(this,"searchFacetsDesktopContainer",null),l(this,"facetLimits",{}),l(this,"facetLimitsMobile",{}),l(this,"deactivatedFacets",{}),l(this,"cachedData",null),l(this,"cacheFacets"),l(this,"onFacetSelect",(r,i,n,o)=>{if(r.stopPropagation(),!i.disabled){const c=n.querySelector("input");c.checked=o?c.checked:!c.checked;const h=this.dataLayer.searchObject;let u=[...h.facets];const d=this.extractFacetValue(i);c.checked?u.find(g=>P.deepEqual(g,d)?g:!1)||(this.config.facetingType==="tabs"&&(u=u.filter(g=>g.name!==d.name)),u.push(d)):u=u.filter(g=>!P.deepEqual(g,d)),setTimeout(()=>{this.dataLayer.setSearchObject({...h,facets:u,page:1}),this.config.facetingType==="tabs"&&this.renderMainTemplate(this.generateTemplateData(),!0)},0)}}),this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,this.searchFacetsMainContainer=document.getElementById(this.containerId),this.needCache&&t(),this.initializeSubscriptions()}get needCache(){return this.config.facetingType==="showUnavailable"||this.config.facetingType==="or"||this.config.facetingType==="tabs"}get needDisabling(){return this.config.facetingType==="showUnavailable"}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchResults.subscribe(e=>{e&&(this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets()),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return{type:this.config.facetingType,name:e.parentName,value:e.value}}applyFacetLimits(e,t){const r=t?this.facetPaginationStepMobile:this.facetPaginationStep,i=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(n=>{i[n.name]||(i[n.name]=r)}),e.map(n=>({...n,values:n.values.slice(0,i[n.name]),showingAllFacets:n.values.length<=i[n.name],hasMoreFacets:n.values.length>r}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(i=>{var n;const o=(n=this.dataLayer.searchFacets)==null?void 0:n.find(c=>c.name===i.name);return o?{...i,values:i.values.map(c=>{const h=o.values.find(u=>c.type==="range"?!1:c.type==="checkbox"?u.value===c.value:!1);return{...c,disabled:!h,isMobile:e}})}:{...i,values:i.values.map(c=>({...c,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(i=>{var n;return(n=this.config.specificFacets)==null?void 0:n.includes(i.name)}));const r={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(r),r}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,r){var i,n,o,c,h,u,d,g,f,y,x,b;const k=document.createElement("div");k.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||k.classList.add("active");const S=((o=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.facetItemContainerTemplate)==null?void 0:o.template)||((c=m.facets.facetItemContainerTemplate)==null?void 0:c.template);k.innerHTML=C.render(S,e),t.appendChild(k);const L=k.querySelector("."+(((d=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.facetItemContainerTemplate)==null?void 0:d.facetListTitleContainerClass)||((g=m.facets.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)));L==null||L.addEventListener("click",()=>{k.classList.toggle("active")});const R=k.querySelector("."+(((x=(y=(f=this.config)==null?void 0:f.templates)==null?void 0:y.facetItemContainerTemplate)==null?void 0:x.facetListContainerClass)||((b=m.facets.facetItemContainerTemplate)==null?void 0:b.facetListContainerClass)));R&&(e.values.forEach(I=>{this.createFacetListItem(I,R)}),e.hasMoreFacets&&this.createHasMoreComponent(e,R,r))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(r=>P.deepEqual(r,this.extractFacetValue(e))))}createFacetListItem(e,t){var r,i,n,o,c,h,u,d,g,f,y,x,b;const k=document.createElement("div");k.classList.add("searchstax-facet-value-container"),e.disabled&&k.classList.add("searchstax-facet-value-disabled");const S=this.isChecked(e),L=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.facetItemTemplate)==null?void 0:n.template)||((o=m.facets.facetItemTemplate)==null?void 0:o.template);k.innerHTML=C.render(L,{...e,isChecked:S});let R=(c=m.facets.facetItemTemplate)==null?void 0:c.checkTriggerClasses;R=((d=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.facetItemTemplate)==null?void 0:d.checkTriggerClasses)||R,R.forEach(I=>{var T;(T=k.querySelector("."+I))==null||T.addEventListener("click",B=>{this.onFacetSelect(B,e,k)})}),(b=k.querySelector("."+(((y=(f=(g=this.config)==null?void 0:g.templates)==null?void 0:f.facetItemTemplate)==null?void 0:y.inputCheckboxClass)||((x=m.facets.facetItemTemplate)==null?void 0:x.inputCheckboxClass))))==null||b.addEventListener("click",I=>{this.onFacetSelect(I,e,k,!0)}),t.appendChild(k)}createHasMoreComponent(e,t,r){var i,n,o,c,h,u,d,g;const f=document.createElement("div");f.classList.add("searchstax-facet-show-more-container");const y=((o=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.showMoreButtonContainerTemplate)==null?void 0:o.template)||((c=m.facets.showMoreButtonContainerTemplate)==null?void 0:c.template);f.innerHTML=C.render(y,e);const x=f.querySelector("."+(((d=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.showMoreButtonContainerTemplate)==null?void 0:d.showMoreButtonClass)||((g=m.facets.showMoreButtonContainerTemplate)==null?void 0:g.showMoreButtonClass)));x&&(this.attachOnclickToShowMore(e,x,r),t&&t.appendChild(x))}attachOnclickToShowMore(e,t,r){t.addEventListener("click",i=>{this.onShowMoreLessClick(i,e,r)})}onShowMoreLessClick(e,t,r){e.preventDefault();const i=r?this.facetPaginationStepMobile:this.facetPaginationStep,n=r?this.facetLimits:this.facetLimitsMobile;n[t.name]===void 0?n[t.name]=i*2:n[t.name]<=t.values.length?n[t.name]=n[t.name]+i:n[t.name]=i,this.generateTemplateData(r),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var r,i,n,o,c,h,u,d,g,f,y;if(e&&(!P.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const x=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplateDesktop)==null?void 0:n.template)||((o=m.facets.mainTemplateDesktop)==null?void 0:o.template);if(this.dataLayer.renderingEngine===E.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=C.render(x,{...e});const b=(d=this.searchFacetsMainContainer)==null?void 0:d.querySelector("."+(((u=(h=(c=this.config)==null?void 0:c.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:u.facetsContainerClass)||m.facets.mainTemplateDesktop.facetsContainerClass));if(b){b.innerHTML="";for(const k of e.facets)this.createFacetItem(k,b);if(this.searchFacetsMainContainer){const k=this.searchFacetsMainContainer.querySelector("."+(((y=(f=(g=this.config)==null?void 0:g.templates)==null?void 0:f.mainTemplateDesktop)==null?void 0:y.selectedFacetsContainerClass)||m.facets.mainTemplateDesktop.selectedFacetsContainerClass));k&&(this.createSelectedFacetsComponents(k),this.createClearFacetsComponents(k))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const r of t){const i=decodeURIComponent(r.name),n=decodeURIComponent(r.value);if(this.dataLayer.searchFacets){const o=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=o==null?void 0:o.find(h=>h.name===i);if(c){const h=c.values.find(u=>u.type==="range"?!1:u.type==="checkbox"?`"${u.value}"`==`"${n}"`:!1);h&&e.push(h)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(r=>{this.createSelectedFacetsComponent(e,r)})}createClearFacetsComponents(e){var t,r,i,n,o,c,h,u;const d=this.dataLayer.searchObject,g=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.clearFacetsTemplate)==null?void 0:i.template)||((n=m.facets.clearFacetsTemplate)==null?void 0:n.template),f=document.createElement("div");f.innerHTML=C.render(g,{shouldShow:d.facets.length>0});const y=f.querySelector("."+(((h=(c=(o=this.config)==null?void 0:o.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:h.containerClass)||((u=m.facets.clearFacetsTemplate)==null?void 0:u.containerClass)));y&&(y.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(y))}createSelectedFacetsComponent(e,t){var r,i,n,o,c,h,u,d;const g=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.selectedFacetsTemplate)==null?void 0:n.template)||((o=m.facets.selectedFacetsTemplate)==null?void 0:o.template),f=document.createElement("div");f.innerHTML=C.render(g,t);const y=f.querySelector("."+(((u=(h=(c=this.config)==null?void 0:c.templates)==null?void 0:h.selectedFacetsTemplate)==null?void 0:u.containerClass)||((d=m.facets.selectedFacetsTemplate)==null?void 0:d.containerClass)));y&&(y.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(y))}unselectFacet(e){const t=this.dataLayer.searchObject;let r=[...t.facets];e.type==="checkbox"&&(r=r.filter(i=>JSON.stringify(i)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:r}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,r,i,n,o,c,h,u;const d=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.filterByTemplate)==null?void 0:i.template)||((n=m.facets.filterByTemplate)==null?void 0:n.template),g=document.createElement("div");g.innerHTML=C.render(d,{});const f=g.querySelector("."+(((h=(c=(o=this.config)==null?void 0:o.templates)==null?void 0:c.filterByTemplate)==null?void 0:h.containerClass)||((u=m.facets.filterByTemplate)==null?void 0:u.containerClass)));f&&(e.prepend(f),f.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,r,i,n,o,c,h,u,d,g,f,y,x,b,k,S,L,R,I;if(e){const T=document.createElement("div");T.classList.add("searchstax-facets-container-mobile");const B=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.mainTemplateMobile)==null?void 0:i.template)||((n=m.facets.mainTemplateMobile)==null?void 0:n.template);if(this.dataLayer.renderingEngine===E.mustache){if(T.innerHTML=C.render(B,{...e,overlayOpened:this.overlayOpened}),(o=this.searchFacetsMainContainer)==null||o.appendChild(T),(h=(c=this.config)==null?void 0:c.templates)!=null&&h.mainTemplateMobile)for(const j of((g=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.mainTemplateMobile)==null?void 0:g.closeOverlayTriggerClasses)||[]){const H=T.querySelector("."+j);H&&H.addEventListener("click",this.closeOverlay.bind(this))}else for(const j of m.facets.mainTemplateMobile.closeOverlayTriggerClasses){const H=T.querySelector("."+j);H&&H.addEventListener("click",this.closeOverlay.bind(this))}const W=T.querySelector("."+(((x=(y=(f=this.config)==null?void 0:f.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:x.filterByContainerClass)||m.facets.mainTemplateMobile.filterByContainerClass));W&&this.createFilterByComponent(W);const $=T.querySelector("."+(((S=(k=(b=this.config)==null?void 0:b.templates)==null?void 0:k.mainTemplateMobile)==null?void 0:S.selectedFacetsContainerClass)||m.facets.mainTemplateMobile.selectedFacetsContainerClass));$&&(this.createSelectedFacetsComponents($),this.createClearFacetsComponents($));const K=T.querySelector("."+(((I=(R=(L=this.config)==null?void 0:L.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||m.facets.mainTemplateMobile.facetsContainerClass));if(K){K.innerHTML="";for(const j of e.facets)this.createFacetItem(j,K,!0)}}}}}class $e{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"previousButtonClass"),l(this,"nextButtonClass"),l(this,"routerHelper"),l(this,"searchPaginationMainContainer",null);var t,r,i,n,o,c;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.mainTemplate)==null?void 0:i.previousButtonClass)??m.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(o=(n=this.config)==null?void 0:n.templates)==null?void 0:o.mainTemplate)==null?void 0:c.nextButtonClass)??m.pagination.mainTemplate.nextButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil((((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.totalResultsValue)??0)/10)}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var e,t,r,i;const n={...this.dataLayer.parsedData.data,previousPageLink:(t=this.routerHelper)==null?void 0:t.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:(i=this.routerHelper)==null?void 0:i.searchObjectToUrl({...this.dataLayer.searchObject,page:((r=this.dataLayer.searchObject)==null?void 0:r.page)+1})};return this.dataLayer.setPaginationData(n),n}goToPage(e){const t=this.dataLayer.searchObject;t&&(t.page=e,this.dataLayer.setSearchObject(t)),window.scrollTo(0,0)}nextPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var t,r,i,n,o,c;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(r=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||r.removeEventListener("click",this.nextPage));const h=((o=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.mainTemplate)==null?void 0:o.template)||((c=m.pagination.mainTemplate)==null?void 0:c.template);this.dataLayer.renderingEngine===E.mustache&&(this.searchPaginationMainContainer.innerHTML=C.render(h,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Pe{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"relatedSearchesContainerClass"),l(this,"searchRelatedSearchesMainContainer",null),l(this,"track");var t,r;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((r=(t=this.config.templates)==null?void 0:t.main)==null?void 0:r.relatedSearchesContainerClass)||m.relatedSearches.main.relatedSearchesContainerClass,this.searchRelatedSearchesMainContainer=document.getElementById(this.containerId),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var r,i,n,o,c;const h=document.createElement("div"),u=((n=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.relatedSearch)==null?void 0:n.template)||m.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===E.mustache){h.innerHTML=C.render(u,e);const d=h.querySelector("."+(((c=(o=this.config.templates)==null?void 0:o.relatedSearch)==null?void 0:c.relatedSearchContainerClass)||m.relatedSearches.relatedSearch.relatedSearchContainerClass));d&&(t.appendChild(d),d.addEventListener("click",()=>{this.executeSearch(e)}))}}executeSearch(e){const t=this.dataLayer.searchObject;t.query=e.related_search,this.dataLayer.setSearchObject(t),this.track(e)}renderMainTemplate(e){var t,r,i,n;const o=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.main)==null?void 0:i.template)||m.relatedSearches.main.template;if(this.dataLayer.renderingEngine===E.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=C.render(o,e);const c=(n=this.searchRelatedSearchesMainContainer)==null?void 0:n.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const h of e.relatedSearches)this.addRelatedSearchComponent(h,c)}}}class De{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"searchFeedbackMainContainer",null),l(this,"searchTrigger"),this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,this.searchFeedbackMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchFeedbackData(e),e}onOriginalQueryClick(e){var t;e.stopPropagation(),e.preventDefault();const r=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(r,!0)}attachClick(){var e,t,r,i,n;const o=(n=this.searchFeedbackMainContainer)==null?void 0:n.querySelector("."+(((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:r.originalQueryClass)||((i=m.searchFeedback.main)==null?void 0:i.originalQueryClass)));o&&o.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,r,i;const n=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.main)==null?void 0:i.template)||m.searchFeedback.main.template;this.dataLayer.renderingEngine===E.mustache&&(this.searchFeedbackMainContainer.innerHTML=C.render(n,e),setTimeout(()=>{this.attachClick()},0))}}class Me{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"suggestAfterMinChars"),l(this,"containerId"),l(this,"currentInputValue",""),l(this,"autosuggestResults"),l(this,"searchInput"),l(this,"actionButton"),l(this,"autosuggestContainer"),l(this,"buttonState","search"),l(this,"selectedAutosuggestItem",-1),l(this,"suggestTrigger"),l(this,"searchTrigger"),this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,r,i;const n=document.getElementById(this.containerId);if(!n)throw new Error("Search input container not found");const o=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||m.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===E.mustache){const u=C.render(o,{});n.innerHTML=u}const c=((i=(r=this.config.templates)==null?void 0:r.mainTemplate)==null?void 0:i.searchInputId)||m.searchInput.mainTemplate.searchInputId,h=document.querySelector(`#${c}`);if(h)this.searchInput=h,h.addEventListener("keyup",this.inputKeyupEvent.bind(this)),h.addEventListener("blur",this.hideAutosuggest.bind(this)),h.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===E.mustache&&(this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const r=e[t];t===this.selectedAutosuggestItem?r.classList.add("active"):r.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return M.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,r,i;const n=document.createElement("div");n.classList.add("searchstax-autosuggest-item"),n.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),n.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const o=((r=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:r.template)||((i=m.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return n.innerHTML=C.render(o,e),n}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const r=e.suggest[t];for(const i in r)if(Object.prototype.hasOwnProperty.call(r,i)){const n=r[i];this.autosuggestResults=n,this.dataLayer.setAutosuggestResults(n),n.numFound>0?n.suggestions.forEach(o=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(o))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class we{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"linkClickCallback"),l(this,"searchCallback"),l(this,"containerId"),l(this,"searchResultsMainContainer"),l(this,"searchResultsContainer"),l(this,"searchResultLinks",[]),this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId;const t=document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var e,t,r,i,n;const o=((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:r.template)||((i=m.searchResults.noSearchResultTemplate)==null?void 0:i.template),c=((n=this.dataLayer.searchResultsMetadata)==null?void 0:n.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===E.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=C.render(o,{spellingSuggestion:c,searchTerm:this.dataLayer.searchTerm})),c&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),this.searchCallback(c)})}}renderResults(e){var t,r,i,n;if(this.dataLayer.renderingEngine===E.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const o=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.searchResultTemplate)==null?void 0:i.template)||((n=m.searchResults.searchResultTemplate)==null?void 0:n.template),c=e.map(h=>C.render(o,h));this.searchResultsContainer.innerHTML=c.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,r,i;return((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:r.searchResultUniqueIdAttribute)||((i=m.searchResults.searchResultTemplate)==null?void 0:i.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const r=e.getAttribute(this.uniqueIdAttribute)??"";r&&this.linkClickCallback(r)})})}renderMainTemplate(){var e,t,r,i;const n=((r=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:r.template)||((i=m.searchResults.mainTemplate)==null?void 0:i.template);this.dataLayer.renderingEngine===E.mustache&&(this.searchResultsMainContainer.innerHTML=C.render(n,{}),setTimeout(()=>{var o,c,h,u,d,g,f;const y=(h=(c=(o=this.config)==null?void 0:o.templates)==null?void 0:c.mainTemplate)!=null&&h.searchResultsContainerId?(g=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.mainTemplate)==null?void 0:g.searchResultsContainerId:(f=m.searchResults.mainTemplate)==null?void 0:f.searchResultsContainerId,x=document.getElementById(y);if(x)this.searchResultsContainer=x;else throw new Error(`Search Results Container with id ${y} not found`)},0))}}class Be{constructor(e){l(this,"dataLayer"),l(this,"config"),l(this,"containerId"),l(this,"selectId"),l(this,"searchSortingMainContainer",null);var t,r;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((r=(t=this.config.templates)==null?void 0:t.main)==null?void 0:r.selectId)||m.sorting.main.selectId,this.searchSortingMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchSortingData(e),e}setOrderQuery(e){const t=this.dataLayer.searchObject;t&&(t.order=e,this.dataLayer.setSearchObject(t))}markOptionSelected(){const e=document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var t,r,i;const n=((i=(r=(t=this.config)==null?void 0:t.templates)==null?void 0:r.main)==null?void 0:i.template)||m.sorting.main.template;if(this.dataLayer.renderingEngine===E.mustache){this.searchSortingMainContainer.innerHTML=C.render(n,e),this.markOptionSelected();const o=document.getElementById(this.selectId);o&&o.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class Oe{constructor(e=E.mustache){l(this,"routerEnabled",!1),l(this,"cachedQuery",""),l(this,"routerHelper"),l(this,"searchHelper"),l(this,"searchResultsConfig"),l(this,"searchPaginationConfig"),l(this,"searchFeedbackConfig"),l(this,"searchSortingConfig"),l(this,"searchFacetsConfig"),l(this,"relatedSearchesConfig"),l(this,"externalPromotionsConfig"),l(this,"searchInputWidget"),l(this,"searchResultsWidget"),l(this,"searchFacetsWidget"),l(this,"searchPaginationWidget"),l(this,"searchFeedbackWidget"),l(this,"searchSortingWidget"),l(this,"relatedSearchesWidget"),l(this,"externalPromotionsWidget"),l(this,"dataLayer",new ee(se.getOrSetCookie("searchstax_session_id"))),l(this,"firstRequest",!0),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=E.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(r=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(r)}),this.dataLayer.$searchObject.subscribe(r=>{r.query!==""&&this.search(r)}),this.dataLayer.$searchResults.subscribe(r=>{r&&this.dataLayer.searchResultsMetadata&&A.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,r;e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new ae({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((r=e.router)==null?void 0:r.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new z(e.router?e.router:{enabled:!0}),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new z({})}search(e){if(this.searchHelper&&e.query!==""&&e.query!==void 0&&e.query!=="undefined"){const t=this.dataLayer.forceNotCorrect;this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var t;const r=(((t=e.response)==null?void 0:t.docs)??[]).map((n,o)=>({...n,position:o+1})),i=[];for(const n of r)i.push({relatedSearch:n.related_search,position:n.position});this.dataLayer.searchResultsMetadata&&A.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:i}),this.dataLayer.setSearchRelatedSearches(r)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var t,r;this.handleRouter();let i=N.combineResultsWithMetadata(e),n=N.extractFacets(e);this.dataLayer.setSearchFacets(n),(r=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&r.afterSearch&&(i=this.dataLayer.searchstaxConfig.hooks.afterSearch(i)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const o=N.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(o),this.dataLayer.setSearchResults(i)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,r;let i=e;(r=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&r.afterAutosuggest&&(i=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(i)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Me({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new we({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new $e({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new De({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new Be({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Fe({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Ie({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var r,i;const n={...this.dataLayer.searchObject};n.query=M.removeXSSRiskyTags(e),n.page=1,n.facets=[],this.dataLayer.forceNotCorrect=!!t;let o=(r=this.routerHelper)==null?void 0:r.searchObjectToParams(n);o&&(o=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(o)),o&&(n.additionalProps=Object.keys(o).map(c=>o?{key:c,value:o[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(n)}executeSuggest(e){var t,r;let i={term:e,queryParams:[]};(r=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&r.beforeAutosuggest&&(i=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(i)),i&&i.term!==void 0&&i.queryParams!==void 0&&this.suggest(i.term,i.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&A.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,r;let i=N.findResultByUniqueId(e,this.dataLayer.searchResults??[]);i&&((r=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&r.afterLinkClick&&(i=this.searchResultsConfig.hooks.afterLinkClick(i)),i&&this.dataLayer.searchResultsMetadata&&(A.trackClick({result:i,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(i==null?void 0:i.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,r,i;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(r=this.searchResultsConfig)==null?void 0:r.templates,...e}:e,(i=this.searchResultsWidget)==null||i.changeTemplate())}}const p=s.reactive({searchstax:new Oe("vue")}),Ve=s.defineComponent({name:"SearchstaxWrapper",props:{language:{type:String,required:!1,default:"en"},searchURL:{type:String,required:!0},suggesterURL:{type:String,required:!0},trackApiKey:{type:String,required:!0},searchAuth:{type:String,required:!0},authType:{type:String,required:!1,default:"basic"},autoCorrect:{type:Boolean,required:!1,default:!0},router:{type:Object,required:!1},beforeSearch:{type:Function,required:!1},afterSearch:{type:Function,required:!1}},mounted(){const a={};this.beforeSearch&&(a.beforeSearch=this.beforeSearch),this.afterSearch&&(a.afterSearch=this.afterSearch),p.searchstax.initialize({language:this.language,searchURL:this.searchURL,suggesterURL:this.suggesterURL,trackApiKey:this.trackApiKey,searchAuth:this.searchAuth,authType:this.authType,autoCorrect:this.autoCorrect,router:this.router,hooks:a}),this.$emit("initialized",p.searchstax)}}),w=(a,e)=>{const t=a.__vccOpts||a;for(const[r,i]of e)t[r]=i;return t};function Ne(a,e,t,r,i,n){return s.renderSlot(a.$slots,"default")}const Ae=w(Ve,[["render",Ne]]),qe=s.defineComponent({name:"SearchstaxInputWidget",props:{afterAutosuggest:{type:Function,required:!1},beforeAutosuggest:{type:Function,required:!1},searchInputId:{type:String,required:!1},suggestAfterMinChars:{type:Number,required:!1,default:3}},data(){return{suggestions:[]}},methods:{onMouseLeave(){p.searchstax.searchInputWidget.resetAutosuggestSelection(),p.searchstax.searchInputWidget.markActiveAutosuggestItem()},onMouseOver(a){p.searchstax.searchInputWidget.onSuggestionEnter(a)},onMouseClick(){p.searchstax.searchInputWidget.suggestionChosen()},attachObservables(){p.searchstax.dataLayer.$autosuggestResults.subscribe(a=>{this.suggestions=(a==null?void 0:a.suggestions)??[]})}},computed:{hasInputSlot(){return!!this.$slots.input}},mounted(){if(p.searchstax){this.attachObservables();const a={};this.afterAutosuggest&&(a.afterAutosuggest=this.afterAutosuggest),this.beforeAutosuggest&&(a.beforeAutosuggest=this.beforeAutosuggest),p.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:this.suggestAfterMinChars,hooks:a,templates:{mainTemplate:{template:"",searchInputId:this.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")}}),_e={id:"searchstax-input-container"},je={class:"searchstax-search-input-container"},He={key:0,class:"searchstax-search-input-wrapper"},We=s.createElementVNode("input",{type:"text",id:"searchstax-search-input",class:"searchstax-search-input",placeholder:"SEARCH FOR..."},null,-1),Ue=["innerHTML","onMouseover"],Qe=s.createElementVNode("button",{class:"searchstax-spinner-icon",id:"searchstax-search-input-action-button"},null,-1);function Ke(a,e,t,r,i,n){return s.openBlock(),s.createElementBlock("div",_e,[s.createElementVNode("div",je,[a.hasInputSlot?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",He,[We,s.createElementVNode("div",{class:s.normalizeClass(["searchstax-autosuggest-container",{hidden:a.suggestions.length===0}]),onMouseleave:e[1]||(e[1]=(...o)=>a.onMouseLeave&&a.onMouseLeave(...o))},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.suggestions,o=>(s.openBlock(),s.createElementBlock("div",{class:"searchstax-autosuggest-item",key:o.term},[s.createElementVNode("div",{class:"searchstax-autosuggest-item-term-container",innerHTML:o.term,onMouseover:c=>a.onMouseOver(o),onClick:e[0]||(e[0]=s.withModifiers(c=>a.onMouseClick(),["stop"]))},null,40,Ue)]))),128))],34),Qe])),s.renderSlot(a.$slots,"input",{suggestions:a.suggestions,onMouseClick:a.onMouseClick,onMouseOver:a.onMouseOver,onMouseLeave:a.onMouseLeave})])])}const ze=w(qe,[["render",Ke]]),Je=s.defineComponent({name:"SearchstaxResultsWidget",props:{afterLinkClick:{type:Function,required:!1}},computed:{hasNoResultsSlot(){return!!this.$slots.noResult},hasResultSlot(){return!!this.$slots.results},hooks(){const a={};return this.afterLinkClick&&(a.afterLinkClick=this.afterLinkClick),a}},data(){return{searchResults:null,metadata:null,searchTerm:"",store:p}},methods:{resultClicked(a,e){e.preventDefault(),e.stopPropagation(),p.searchstax.executeLinkClick(a.uniqueId)},attachObservables(){p.searchstax.dataLayer.$searchResults.subscribe(a=>{this.searchResults=a}),p.searchstax.dataLayer.$searchTermChange.subscribe(a=>{this.searchTerm=a}),p.searchstax.dataLayer.$searchResultsMetadata.subscribe(a=>{this.metadata=a})}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},hooks:this.hooks});else throw Error("Searchstax instance needs to be passed via props")}}),Xe={id:"searchstax-results-container"},Ge={class:"searchstax-search-results-container"},Ye={id:"searchstax-result-container"},Ze={key:0},et={class:"searchstax-no-results"},tt=s.createElementVNode("strong",null,"no results",-1),at=s.createElementVNode("br",null,null,-1),st={key:0},rt={href:"#",class:"searchstax-suggestion-term"},it=s.createElementVNode("div",null,[s.createElementVNode("p",null," Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need. "),s.createElementVNode("p",null,"Lost? Click on the ‘X” in the Search Box to reset your search.")],-1),nt={key:2,class:"searchstax-search-results"},ot={key:0,class:"searchstax-search-result-promoted"},ct=["href","data-searchstax-unique-result-id","onClick"],lt={key:2,class:"searchstax-search-result-ribbon"},ht=["src"],dt={class:"searchstax-search-result-title-container"},ut={class:"searchstax-search-result-title"},gt={key:4,class:"searchstax-search-result-common"},pt={key:5,class:"searchstax-search-result-description searchstax-search-result-common"},mt={key:0,class:"searchstax-search-result-image-container"},ft=["src"],yt={key:1},kt={class:"searchstax-search-result-common"},Ct={key:3};function bt(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",Xe,[s.createElementVNode("div",Ge,[s.createElementVNode("div",Ye,[a.searchResults&&a.searchResults.length===0&&!a.hasNoResultsSlot?(s.openBlock(),s.createElementBlock("div",Ze,[s.createElementVNode("div",et,[s.createTextVNode(" Showing "),tt,s.createTextVNode(" for "),s.createElementVNode("strong",null,'"'+s.toDisplayString(a.searchTerm)+'"',1),at,(o=a.metadata)!=null&&o.spellingSuggestion?(s.openBlock(),s.createElementBlock("span",st,[s.createTextVNode(" Did you mean "),s.createElementVNode("a",rt,s.toDisplayString((c=a.metadata)==null?void 0:c.spellingSuggestion),1),s.createTextVNode("?")])):s.createCommentVNode("",!0)]),it])):s.createCommentVNode("",!0),a.searchResults&&a.searchResults.length===0&&a.hasNoResultsSlot?s.renderSlot(a.$slots,"noResult",{key:1}):s.createCommentVNode("",!0),a.searchResults&&a.searchResults.length&&!a.hasResultSlot?(s.openBlock(),s.createElementBlock("div",nt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.searchResults,h=>(s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["searchstax-search-result",{"has-thumbnail":h.thumbnail}]),key:h.uniqueId},[h.promoted?(s.openBlock(),s.createElementBlock("div",ot)):s.createCommentVNode("",!0),h.url?(s.openBlock(),s.createElementBlock("a",{key:1,href:h.url,"data-searchstax-unique-result-id":h.uniqueId,onClick:u=>a.resultClicked(h,u),class:"searchstax-result-item-link"},null,8,ct)):s.createCommentVNode("",!0),h.ribbon?(s.openBlock(),s.createElementBlock("div",lt,s.toDisplayString(h.ribbon),1)):s.createCommentVNode("",!0),h.thumbnail?(s.openBlock(),s.createElementBlock("img",{key:3,src:h.thumbnail,class:"searchstax-thumbnail"},null,8,ht)):s.createCommentVNode("",!0),s.createElementVNode("div",dt,[s.createElementVNode("span",ut,s.toDisplayString(h.title),1)]),h.paths?(s.openBlock(),s.createElementBlock("p",gt,s.toDisplayString(h.paths),1)):s.createCommentVNode("",!0),h.description?(s.openBlock(),s.createElementBlock("p",pt,s.toDisplayString(h.description),1)):s.createCommentVNode("",!0),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(h.unmappedFields,u=>(s.openBlock(),s.createElementBlock("div",{key:u.key},[u.isImage&&typeof u.value=="string"?(s.openBlock(),s.createElementBlock("div",mt,[s.createElementVNode("img",{src:u.value,class:"searchstax-result-image"},null,8,ft)])):(s.openBlock(),s.createElementBlock("div",yt,[s.createElementVNode("p",kt,s.toDisplayString(u.value),1)]))]))),128))],2))),128))])):s.createCommentVNode("",!0),a.searchResults&&a.searchResults.length&&a.hasResultSlot?(s.openBlock(),s.createElementBlock("div",Ct,[s.renderSlot(a.$slots,"results",{searchResults:a.searchResults,resultClicked:a.resultClicked})])):s.createCommentVNode("",!0)])])])}const vt=w(Je,[["render",bt]]),St=s.defineComponent({name:"SearchstaxFacetsWidget",props:{facetingType:{type:String,required:!0},itemsPerPageDesktop:{type:Number,required:!0},itemsPerPageMobile:{type:Number,required:!0},specificFacets:{type:Array,required:!1}},data(){return{facetsTemplateDataDesktop:null,facetsTemplateDataMobile:null,store:p,facetContainers:s.ref([]),mainFacetContainers:s.ref([]),selectedFacetsCheckboxes:[],selectedFacetsRange:[],rand:Math.random()}},computed:{hasDesktopFacetsSlot(){return!!this.$slots.desktopFacets},hasMobileFacetsSlot(){return!!this.$slots.mobileFacets}},methods:{attachObservables(){p.searchstax.dataLayer.$facetsTemplateData.subscribe(a=>{a!=null&&a.isMobile?this.facetsTemplateDataMobile=a:this.facetsTemplateDataDesktop=a}),p.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(a=>{const e=a??[];this.selectedFacetsCheckboxes=e.filter(t=>t.type==="checkbox")})},unselectFacet(a){p.searchstax.searchFacetsWidget.unselectFacet(a)},unselectAll(){p.searchstax.searchFacetsWidget.removeSelectedFacets()},isNotDeactivated(a){return!p.searchstax.searchFacetsWidget.deactivatedFacets[a]},toggleFacetGroup(a){this.isNotDeactivated(a)?p.searchstax.searchFacetsWidget.deactivatedFacets[a]=!0:p.searchstax.searchFacetsWidget.deactivatedFacets[a]=!1},isChecked(a){return p.searchstax.searchFacetsWidget.isChecked(a)},selectFacet(a,e,t,r){const i=document.createElement("div");i.innerHTML=this.facetContainers[a].outerHTML,p.searchstax.searchFacetsWidget.onFacetSelect(e,t,this.facetContainers[a],r)},showMoreLessDesktop(a,e){p.searchstax.searchFacetsWidget.onShowMoreLessClick(a,e,!1)},showMoreLessMobile(a,e){p.searchstax.searchFacetsWidget.onShowMoreLessClick(a,e,!0)},openOverlay(){p.searchstax.searchFacetsWidget.openOverlay()},closeOverlay(){p.searchstax.searchFacetsWidget.closeOverlay()}},mounted(){p.searchstax.addFacetsWidget("searchstax-facets-container"+this.rand,{facetingType:this.facetingType,specificFacets:this.specificFacets,itemsPerPageDesktop:this.itemsPerPageDesktop,itemsPerPageMobile:this.itemsPerPageMobile}),this.attachObservables()}}),xt=["id"],Lt={key:0,class:"searchstax-facets-container-desktop"},Tt=["onClick"],Et={class:"searchstax-facet-title"},Rt=s.createElementVNode("div",{class:"searchstax-facet-title-arrow active"},null,-1),Ft={class:"searchstax-facet-values-container"},It={class:"searchstax-facet-input"},$t=["checked","disabled","onClick"],Pt=["onClick"],Dt=["onClick"],Mt={key:0,class:"searchstax-facet-show-more-container"},wt=["onClick"],Bt={key:0,class:"searchstax-facet-show-less-button searchstax-facet-show-button"},Ot={key:1,class:"searchstax-facet-show-more-button searchstax-facet-show-button"},Vt={key:1},Nt={key:2,class:"searchstax-facets-container-mobile"},At={class:"searchstax-facets-pills-container"},qt=[s.createElementVNode("div",{class:"searchstax-facets-pill-label"},"Filter By",-1)],_t={class:"searchstax-facets-pills-selected"},jt=["onClick"],Ht={class:"searchstax-facets-pill-label"},Wt=s.createElementVNode("div",{class:"searchstax-facets-pill-icon-close"},null,-1),Ut=[s.createElementVNode("div",{class:"searchstax-facets-pill-label"},"Clear Filters",-1)],Qt={class:"searchstax-facets-mobile-overlay-header"},Kt=s.createElementVNode("div",{class:"searchstax-facets-mobile-overlay-header-title"},"Filter By",-1),zt={class:"searchstax-facets-container-mobile"},Jt=["onClick"],Xt={class:"searchstax-facet-title"},Gt=s.createElementVNode("div",{class:"searchstax-facet-title-arrow active"},null,-1),Yt={class:"searchstax-facet-values-container"},Zt={class:"searchstax-facet-input"},ea=["checked","disabled","onClick"],ta=["onClick"],aa=["onClick"],sa={key:0,class:"searchstax-facet-show-more-container"},ra=["onClick"],ia={key:0,class:"searchstax-facet-show-less-button searchstax-facet-show-button"},na={key:1,class:"searchstax-facet-show-more-button searchstax-facet-show-button"},oa={key:3};function ca(a,e,t,r,i,n){var o,c,h,u;return s.openBlock(),s.createElementBlock("div",{id:"searchstax-facets-container"+a.rand},[(o=a.facetsTemplateDataDesktop)!=null&&o.hasResultsOrExternalPromotions&&!a.hasDesktopFacetsSlot?(s.openBlock(),s.createElementBlock("div",Lt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.facetsTemplateDataDesktop.facets,d=>(s.openBlock(),s.createElementBlock("div",{key:d.name+"desktop",class:s.normalizeClass(["searchstax-facet-container",{active:a.isNotDeactivated(d.name)}])},[s.createElementVNode("div",null,[s.createElementVNode("div",{class:"searchstax-facet-title-container",onClick:g=>a.toggleFacetGroup(d.name)},[s.createElementVNode("div",Et,s.toDisplayString(d.label),1),Rt],8,Tt),s.createElementVNode("div",Ft,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(d.values,(g,f)=>(s.openBlock(),s.createElementBlock("div",{key:g.value+g.parentName,class:s.normalizeClass(["searchstax-facet-value-container",{"searchstax-facet-value-disabled":g.disabled}]),ref_for:!0,ref:y=>{a.facetContainers[f+d.name]=y}},[s.createElementVNode("div",It,[s.createElementVNode("input",{type:"checkbox",class:"searchstax-facet-input-checkbox",checked:a.isChecked(g),disabled:g.disabled,onClick:y=>a.selectFacet(f+d.name,y,g,!0)},null,8,$t)]),s.createElementVNode("div",{class:"searchstax-facet-value-label",onClick:y=>a.selectFacet(f+d.name,y,g,!1)},s.toDisplayString(g.value),9,Pt),s.createElementVNode("div",{class:"searchstax-facet-value-count",onClick:y=>a.selectFacet(f+d.name,y,g,!1)},"("+s.toDisplayString(g.count)+")",9,Dt)],2))),128)),d.hasMoreFacets?(s.openBlock(),s.createElementBlock("div",Mt,[s.createElementVNode("div",{class:"searchstax-facet-show-more-container",onClick:g=>a.showMoreLessDesktop(g,d)},[d.showingAllFacets?(s.openBlock(),s.createElementBlock("div",Bt,"less")):(s.openBlock(),s.createElementBlock("div",Ot,"more"))],8,wt)])):s.createCommentVNode("",!0)])])],2))),128))])):s.createCommentVNode("",!0),a.hasDesktopFacetsSlot?(s.openBlock(),s.createElementBlock("div",Vt,[s.renderSlot(a.$slots,"desktopFacets",{facetsTemplateDataDesktop:a.facetsTemplateDataDesktop,isNotDeactivated:a.isNotDeactivated,toggleFacetGroup:a.toggleFacetGroup,isChecked:a.isChecked,selectFacet:a.selectFacet,showMoreLessDesktop:a.showMoreLessDesktop,facetContainers:a.facetContainers})])):s.createCommentVNode("",!0),(c=a.facetsTemplateDataMobile)!=null&&c.hasResultsOrExternalPromotions&&!a.hasMobileFacetsSlot?(s.openBlock(),s.createElementBlock("div",Nt,[s.createElementVNode("div",At,[s.createElementVNode("div",{class:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:e[0]||(e[0]=(...d)=>a.openOverlay&&a.openOverlay(...d))},qt),s.createElementVNode("div",_t,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.selectedFacetsCheckboxes,d=>(s.openBlock(),s.createElementBlock("div",{class:"searchstax-facets-pill searchstax-facets-pill-facets",key:d.value,onClick:g=>a.unselectFacet(d)},[s.createElementVNode("div",Ht,s.toDisplayString(d.value)+" ("+s.toDisplayString(d.count)+")",1),Wt],8,jt))),128))]),a.selectedFacetsCheckboxes.length?(s.openBlock(),s.createElementBlock("div",{key:0,class:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:e[1]||(e[1]=(...d)=>a.unselectAll&&a.unselectAll(...d))},Ut)):s.createCommentVNode("",!0)]),s.createElementVNode("div",{class:s.normalizeClass(["searchstax-facets-mobile-overlay",{"searchstax-show":(h=a.facetsTemplateDataMobile)==null?void 0:h.overlayOpened}])},[s.createElementVNode("div",Qt,[Kt,s.createElementVNode("div",{class:"searchstax-search-close",onClick:e[2]||(e[2]=(...d)=>a.closeOverlay&&a.closeOverlay(...d))})]),s.createElementVNode("div",zt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList((u=a.facetsTemplateDataMobile)==null?void 0:u.facets,d=>(s.openBlock(),s.createElementBlock("div",{key:d.name+"mobile",class:s.normalizeClass(["searchstax-facet-container",{active:a.isNotDeactivated(d.name)}])},[s.createElementVNode("div",null,[s.createElementVNode("div",{class:"searchstax-facet-title-container",onClick:g=>a.toggleFacetGroup(d.name)},[s.createElementVNode("div",Xt,s.toDisplayString(d.label),1),Gt],8,Jt),s.createElementVNode("div",Yt,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(d.values,(g,f)=>(s.openBlock(),s.createElementBlock("div",{key:g.value+g.parentName,class:s.normalizeClass(["searchstax-facet-value-container",{"searchstax-facet-value-disabled":g.disabled}]),ref_for:!0,ref:y=>{a.facetContainers[f+d.name]=y}},[s.createElementVNode("div",Zt,[s.createElementVNode("input",{type:"checkbox",class:"searchstax-facet-input-checkbox",checked:a.isChecked(g),disabled:g.disabled,onClick:y=>a.selectFacet(f+d.name,y,g,!0)},null,8,ea)]),s.createElementVNode("div",{class:"searchstax-facet-value-label",onClick:y=>a.selectFacet(f+d.name,y,g,!1)},s.toDisplayString(g.value),9,ta),s.createElementVNode("div",{class:"searchstax-facet-value-count",onClick:y=>a.selectFacet(f+d.name,y,g,!1)},"("+s.toDisplayString(g.count)+")",9,aa)],2))),128)),d.hasMoreFacets?(s.openBlock(),s.createElementBlock("div",sa,[s.createElementVNode("div",{class:"searchstax-facet-show-more-container",onClick:g=>a.showMoreLessMobile(g,d)},[d.showingAllFacets?(s.openBlock(),s.createElementBlock("div",ia,"less")):(s.openBlock(),s.createElementBlock("div",na,"more"))],8,ra)])):s.createCommentVNode("",!0)])])],2))),128))]),s.createElementVNode("button",{class:"searchstax-facets-mobile-overlay-done",onClick:e[3]||(e[3]=(...d)=>a.closeOverlay&&a.closeOverlay(...d))},"Done")],2)])):s.createCommentVNode("",!0),a.hasMobileFacetsSlot?(s.openBlock(),s.createElementBlock("div",oa,[s.renderSlot(a.$slots,"mobileFacets",{facetsTemplateDataMobile:a.facetsTemplateDataMobile,selectedFacetsCheckboxes:a.selectedFacetsCheckboxes,isNotDeactivated:a.isNotDeactivated,toggleFacetGroup:a.toggleFacetGroup,isChecked:a.isChecked,selectFacet:a.selectFacet,showMoreLessDesktop:a.showMoreLessDesktop,facetContainers:a.facetContainers,openOverlay:a.openOverlay,unselectFacet:a.unselectFacet,unselectAll:a.unselectAll,closeOverlay:a.closeOverlay})])):s.createCommentVNode("",!0)],8,xt)}const la=w(St,[["render",ca]]),ha=s.defineComponent({name:"SearchstaxPaginationWidget",data(){return{paginationData:null,rand:Math.random(),paginationAdded:!1}},methods:{nextPage(a){p.searchstax.searchPaginationWidget.nextPage(a)},previousPage(a){p.searchstax.searchPaginationWidget.previousPage(a)},attachObservables(){p.searchstax.dataLayer.$searchObject.subscribe(a=>{this.addWidget()}),p.searchstax.dataLayer.$paginationData.subscribe(a=>{this.paginationData=a})},addWidget(){console.log("store.searchstax.routerHelper",p.searchstax.routerHelper),!this.paginationAdded&&p.searchstax.routerHelper&&(this.paginationAdded=!0,p.searchstax.addPaginationWidget("searchstax-pagination-container"+this.rand,{}))}},computed:{hasPaginationSlot(){return!!this.$slots.pagination}},mounted(){if(p.searchstax)this.attachObservables(),this.addWidget();else throw Error("Searchstax instance needs to be passed via props")}}),da=["id"],ua={key:0,class:"searchstax-pagination-container"},ga={class:"searchstax-pagination-content"},pa=["disabled"],ma={class:"searchstax-pagination-details"},fa=["disabled"],ya={key:1};function ka(a,e,t,r,i,n){var o,c,h,u,d;return s.openBlock(),s.createElementBlock("div",{id:"searchstax-pagination-container"+a.rand},[a.paginationData&&!a.hasPaginationSlot?(s.openBlock(),s.createElementBlock("div",ua,[s.createElementVNode("div",ga,[s.createElementVNode("a",{class:"searchstax-pagination-previous",disabled:(o=a.paginationData)==null?void 0:o.isFirstPage,onClick:e[0]||(e[0]=(...g)=>a.previousPage&&a.previousPage(...g)),id:"searchstax-pagination-previous"}," < Previous ",8,pa),s.createElementVNode("div",ma,s.toDisplayString((c=a.paginationData)==null?void 0:c.startResultIndex)+" - "+s.toDisplayString((h=a.paginationData)==null?void 0:h.endResultIndex)+" of "+s.toDisplayString((u=a.paginationData)==null?void 0:u.totalResults),1),s.createElementVNode("a",{class:"searchstax-pagination-next",disabled:(d=a.paginationData)==null?void 0:d.isLastPage,onClick:e[1]||(e[1]=(...g)=>a.nextPage&&a.nextPage(...g)),id:"searchstax-pagination-next"},"Next >",8,fa)])])):s.createCommentVNode("",!0),a.hasPaginationSlot?(s.openBlock(),s.createElementBlock("div",ya,[s.renderSlot(a.$slots,"pagination",{paginationData:a.paginationData,nextPage:a.nextPage,previousPage:a.previousPage})])):s.createCommentVNode("",!0)],8,da)}const Ca=w(ha,[["render",ka]]),ba=s.defineComponent({name:"SearchstaxSearchFeedbackWidget",data(){return{searchFeedbackData:null,rand:Math.random()}},methods:{onOriginalQueryClick(a){p.searchstax.searchFeedbackWidget.onOriginalQueryClick(a)},attachObservables(){p.searchstax.dataLayer.$searchFeedbackData.subscribe(a=>{this.searchFeedbackData=a})}},computed:{hasFeedbackSlot(){return!!this.$slots.searchFeedback}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addSearchFeedbackWidget("search-feedback-container"+this.rand,{});else throw Error("Searchstax instance needs to be passed via props")}}),va=["id"],Sa={key:0,class:"searchstax-feedback-container"},xa={key:0},La={class:"searchstax-feedback-container-suggested"},Ta={key:0};function Ea(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",{class:"search-feedback-container",id:"search-feedback-container"+a.rand},[a.searchFeedbackData&&((o=a.searchFeedbackData)!=null&&o.searchExecuted)&&!a.hasFeedbackSlot&&((c=a.searchFeedbackData)!=null&&c.totalResults)?(s.openBlock(),s.createElementBlock("div",Sa,[s.createTextVNode(" Showing "),s.createElementVNode("b",null,s.toDisplayString(a.searchFeedbackData.startResultIndex)+" - "+s.toDisplayString(a.searchFeedbackData.endResultIndex),1),s.createTextVNode(" of "),s.createElementVNode("b",null,s.toDisplayString(a.searchFeedbackData.totalResults),1),s.createTextVNode(" results "),a.searchFeedbackData.searchTerm?(s.openBlock(),s.createElementBlock("span",xa,[s.createTextVNode('for "'),s.createElementVNode("b",null,s.toDisplayString(a.searchFeedbackData.searchTerm),1),s.createTextVNode('" ')])):s.createCommentVNode("",!0),s.createElementVNode("div",La,[a.searchFeedbackData.autoCorrectedQuery?(s.openBlock(),s.createElementBlock("div",Ta,[s.createTextVNode(" Search instead for "),s.createElementVNode("a",{href:"#",onClick:e[0]||(e[0]=s.withModifiers(h=>a.onOriginalQueryClick(h),["prevent"])),class:"searchstax-feedback-original-query"},s.toDisplayString(a.searchFeedbackData.originalQuery),1)])):s.createCommentVNode("",!0)])])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"searchFeedback",{searchFeedbackData:a.searchFeedbackData,onOriginalQueryClick:a.onOriginalQueryClick})],8,va)}const Ra=w(ba,[["render",Ea]]),Fa=s.defineComponent({name:"SearchstaxSortingWidget",data(){return{sortingData:null,selectedSorting:"",rand:Math.random()}},methods:{orderChange(a){p.searchstax.searchSortingWidget.setOrderQuery(a.target.value)},attachObservables(){p.searchstax.dataLayer.$searchSortingData.subscribe(a=>{this.sortingData=a}),p.searchstax.dataLayer.$searchObject.subscribe(a=>{this.selectedSorting=decodeURIComponent(a.order)})}},computed:{hasSortingSlot(){return!!this.$slots.sorting}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addSearchSortingWidget("search-sorting-container"+this.rand,{});else throw Error("Searchstax instance needs to be passed via props")}}),Ia=["id"],$a={key:0,class:"searchstax-sorting-container"},Pa=s.createElementVNode("label",{class:"searchstax-sorting-label",for:"sort-by"},"Sort By",-1),Da=["value"],Ma=[s.createElementVNode("option",{value:""}," Relevance ",-1),s.createElementVNode("option",{value:"date desc"}," Newest Content ",-1),s.createElementVNode("option",{value:"date asc"}," Oldest Content ",-1)];function wa(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",{id:"search-sorting-container"+a.rand},[a.sortingData&&((o=a.sortingData)!=null&&o.searchExecuted)&&((c=a.sortingData)!=null&&c.hasResultsOrExternalPromotions)&&!a.hasSortingSlot?(s.openBlock(),s.createElementBlock("div",$a,[Pa,s.createElementVNode("select",{id:"searchstax-search-order-select",class:"searchstax-search-order-select",value:a.selectedSorting,onChange:e[0]||(e[0]=h=>a.orderChange(h))},Ma,40,Da)])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"sorting",{sortingData:a.sortingData,orderChange:a.orderChange,selectedSorting:a.selectedSorting})],8,Ia)}const Ba=w(Fa,[["render",wa]]),Oa=s.defineComponent({name:"SearchstaxExternalPromotionsWidget",data(){return{externalPromotionsData:null,rand:Math.random()}},methods:{attachObservables(){p.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(a=>{this.externalPromotionsData=a})},trackClick(a,e){p.searchstax.externalPromotionsWidget.trackClick(a,e)}},computed:{hasExternalPromotionsSlot(){return!!this.$slots.externalPromotions}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+this.rand,{});else throw Error("Searchstax instance needs to be passed via props")}}),Va=["id"],Na={key:0,class:"searchstax-external-promotions-container",id:"searchstax-external-promotions-container"},Aa=s.createElementVNode("div",{class:"icon-elevated"},null,-1),qa=["onClick"],_a={class:"searchstax-search-result-title-container"},ja={class:"searchstax-search-result-title"},Ha={key:1,class:"searchstax-search-result-description searchstax-search-result-common"},Wa={key:2,class:"searchstax-search-result-description searchstax-search-result-common"};function Ua(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock("div",{id:"searchstax-external-promotions-layout-container"+a.rand},[a.externalPromotionsData&&((o=a.externalPromotionsData)!=null&&o.searchExecuted)&&((c=a.externalPromotionsData)!=null&&c.hasExternalPromotions)&&!a.hasExternalPromotionsSlot?(s.openBlock(),s.createElementBlock("div",Na,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.externalPromotionsData.externalPromotions,h=>(s.openBlock(),s.createElementBlock("div",{class:"searchstax-external-promotion searchstax-search-result",key:h.id},[Aa,h.url?(s.openBlock(),s.createElementBlock("a",{key:0,href:"{{externalPromotion.url}}",onClick:u=>a.trackClick(h,u),class:"searchstax-result-item-link"},null,8,qa)):s.createCommentVNode("",!0),s.createElementVNode("div",_a,[s.createElementVNode("span",ja,s.toDisplayString(h.name),1)]),h.description?(s.openBlock(),s.createElementBlock("p",Ha,s.toDisplayString(h.description),1)):s.createCommentVNode("",!0),h.url?(s.openBlock(),s.createElementBlock("p",Wa,s.toDisplayString(h.url),1)):s.createCommentVNode("",!0)]))),128))])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"externalPromotions",{externalPromotionsData:a.externalPromotionsData,trackClick:a.trackClick})],8,Va)}const Qa=w(Oa,[["render",Ua]]),Ka=s.defineComponent({name:"SearchstaxRelatedSearchesWidget",data(){return{relatedData:null,rand:Math.random()}},props:{relatedSearchesURL:{type:String,required:!0},relatedSearchesAPIKey:{type:String,required:!0}},methods:{executeSearch(a){p.searchstax.relatedSearchesWidget.executeSearch(a)},attachObservables(){p.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(a=>{this.relatedData=a})}},computed:{hasRelatedSlot(){return!!this.$slots.related}},mounted(){if(p.searchstax)this.attachObservables(),p.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+this.rand,{relatedSearchesURL:this.relatedSearchesURL,relatedSearchesAPIKey:this.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")}}),za={key:0,class:"searchstax-related-searches-container",id:"searchstax-related-searches-container"},Ja=s.createElementVNode("span",{id:"searchstax-related-searches"},null,-1),Xa={key:0,class:"searchstax-related-search"},Ga=["onClick"],Ya={key:0};function Za(a,e,t,r,i,n){var o,c;return s.openBlock(),s.createElementBlock(s.Fragment,null,[a.relatedData&&((o=a.relatedData)!=null&&o.searchExecuted)&&((c=a.relatedData)!=null&&c.hasRelatedSearches)&&!a.hasRelatedSlot?(s.openBlock(),s.createElementBlock("div",za,[s.createTextVNode(" Related searches: "),Ja,a.relatedData.relatedSearches?(s.openBlock(),s.createElementBlock("span",Xa,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.relatedData.relatedSearches,h=>(s.openBlock(),s.createElementBlock("span",{key:h.related_search,onClick:u=>a.executeSearch(h),class:"searchstax-related-search searchstax-related-search-item"},[s.createTextVNode(s.toDisplayString(h.related_search),1),h.last?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("span",Ya,","))],8,Ga))),128))])):s.createCommentVNode("",!0)])):s.createCommentVNode("",!0),s.renderSlot(a.$slots,"related",{relatedData:a.relatedData,executeSearch:a.executeSearch})],64)}const es=w(Ka,[["render",Za]]);D.SearchstaxExternalPromotionsWidget=Qa,D.SearchstaxFacetsWidget=la,D.SearchstaxInputWidget=ze,D.SearchstaxPaginationWidget=Ca,D.SearchstaxRelatedSearchesWidget=es,D.SearchstaxResultWidget=vt,D.SearchstaxSearchFeedbackWidget=Ra,D.SearchstaxSortingWidget=Ba,D.SearchstaxWrapper=Ae,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxVue"]=this["@searchstaxInc/searchstudioUxVue"]||{},vue);
@@ -1517,7 +1517,7 @@ class Be {
1517
1517
  onShowMoreLessClick(e, t, s) {
1518
1518
  e.preventDefault();
1519
1519
  const r = s ? this.facetPaginationStepMobile : this.facetPaginationStep, i = s ? this.facetLimits : this.facetLimitsMobile;
1520
- i[t.name] === void 0 ? i[t.name] = r * 2 : i[t.name] <= t.values.length ? i[t.name] = i[t.name] + r : i[t.name] = r, this.renderMainTemplate(this.generateTemplateData());
1520
+ i[t.name] === void 0 ? i[t.name] = r * 2 : i[t.name] <= t.values.length ? i[t.name] = i[t.name] + r : i[t.name] = r, this.generateTemplateData(s), this.renderMainTemplate(this.generateTemplateData());
1521
1521
  }
1522
1522
  renderMainTemplate(e, t) {
1523
1523
  var s, r, i, n, c, l, d, h, u, y, b;
@@ -1679,19 +1679,19 @@ class We {
1679
1679
  });
1680
1680
  }
1681
1681
  generateTemplateData() {
1682
- var e, t;
1683
- const s = {
1682
+ var e, t, s, r;
1683
+ const i = {
1684
1684
  ...this.dataLayer.parsedData.data,
1685
- previousPageLink: this.routerHelper.searchObjectToUrl({
1685
+ previousPageLink: (t = this.routerHelper) == null ? void 0 : t.searchObjectToUrl({
1686
1686
  ...this.dataLayer.searchObject,
1687
1687
  page: ((e = this.dataLayer.searchObject) == null ? void 0 : e.page) - 1
1688
1688
  }),
1689
- nextPageLink: this.routerHelper.searchObjectToUrl({
1689
+ nextPageLink: (r = this.routerHelper) == null ? void 0 : r.searchObjectToUrl({
1690
1690
  ...this.dataLayer.searchObject,
1691
- page: ((t = this.dataLayer.searchObject) == null ? void 0 : t.page) + 1
1691
+ page: ((s = this.dataLayer.searchObject) == null ? void 0 : s.page) + 1
1692
1692
  })
1693
1693
  };
1694
- return this.dataLayer.setPaginationData(s), s;
1694
+ return this.dataLayer.setPaginationData(i), i;
1695
1695
  }
1696
1696
  goToPage(e) {
1697
1697
  const t = this.dataLayer.searchObject;
@@ -2872,7 +2872,7 @@ function ba(a, e, t, s, r, i) {
2872
2872
  h.hasMoreFacets ? (p(), m("div", pa, [
2873
2873
  g("div", {
2874
2874
  class: "searchstax-facet-show-more-container",
2875
- onClick: (u) => a.showMoreLessDesktop(u, h)
2875
+ onClick: (u) => a.showMoreLessMobile(u, h)
2876
2876
  }, [
2877
2877
  h.showingAllFacets ? (p(), m("div", va, "less")) : (p(), m("div", fa, "more"))
2878
2878
  ], 8, ma)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchstax-inc/searchstudio-ux-vue",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -25,7 +25,7 @@
25
25
  "format": "prettier --write src/"
26
26
  },
27
27
  "dependencies": {
28
- "@searchstax-inc/searchstudio-ux-js": "^0.5.2",
28
+ "@searchstax-inc/searchstudio-ux-js": "^0.5.5",
29
29
  "mustache": "^4.2.0",
30
30
  "vue": "^3.2.47"
31
31
  },