@searchstax-inc/searchstudio-ux-react 0.2.2 → 0.2.3
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.
|
@@ -246,4 +246,4 @@ Check the top-level render call using <`+f+">.")}return g}}function Qe(i,g){{if(
|
|
|
246
246
|
</div>
|
|
247
247
|
{{/hasResultsOrExternalPromotions}}
|
|
248
248
|
{{/searchExecuted}}
|
|
249
|
-
`,selectId:"searchstax-search-order-select"}};class x{}u(x,"externalPromotions",Gt),u(x,"facets",Zt),u(x,"pagination",ea),u(x,"relatedSearches",ta),u(x,"searchFeedback",aa),u(x,"searchInput",sa),u(x,"searchResults",ra),u(x,"sorting",ia);class na{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"externalPromotionsContainerId"),u(this,"searchExternalPromotionsMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((a=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:a.externalPromotionsContainerId)||x.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,a,s,r;const c=document.getElementById(this.externalPromotionsContainerId);if(c){const l=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.externalPromotion)==null?void 0:s.template)||((r=x.externalPromotions.externalPromotion)==null?void 0:r.template),h=document.createElement("div");h.classList.add("searchstax-external-promotion"),h.addEventListener("click",d=>{this.trackClick(e,d)}),h.innerHTML=w.render(l,e),c.appendChild(h)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var t,a,s,r;const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=x.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===B.mustache){this.searchExternalPromotionsMainContainer.innerHTML=w.render(c,e);const l=document.getElementById(this.externalPromotionsContainerId);l&&(l.innerHTML="");for(const h of e.externalPromotions)this.addExternalSearch(h)}}}class ca{constructor(e,t){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"routerHelper"),u(this,"cachedPhrase",""),u(this,"isCached",!1),u(this,"overlayOpened",!1),u(this,"facetPaginationStep"),u(this,"facetPaginationStepMobile"),u(this,"searchFacetsMainContainer",null),u(this,"searchFacetsMobileContainer",null),u(this,"searchFacetsDesktopContainer",null),u(this,"facetLimits",{}),u(this,"facetLimitsMobile",{}),u(this,"deactivatedFacets",{}),u(this,"cachedData",null),u(this,"cacheFacets"),u(this,"onFacetSelect",(a,s,r,c)=>{if(a.stopPropagation(),!s.disabled){const l=r.querySelector("input");l.checked=c?l.checked:!l.checked;const h=this.dataLayer.searchObject;let d=[...h.facets];const p=this.extractFacetValue(s);l.checked?d.find(v=>J.deepEqual(v,p)?v:!1)||(this.config.facetingType==="tabs"&&(d=d.filter(v=>v.name!==p.name)),d.push(p)):d=d.filter(v=>!J.deepEqual(v,p)),setTimeout(()=>{this.dataLayer.setSearchObject({...h,facets:d,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 a=t?this.facetPaginationStepMobile:this.facetPaginationStep,s=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{s[r.name]||(s[r.name]=a)}),e.map(r=>({...r,values:r.values.slice(0,s[r.name]),showingAllFacets:r.values.length<=s[r.name],hasMoreFacets:r.values.length>a}))}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(s=>{var r;const c=(r=this.dataLayer.searchFacets)==null?void 0:r.find(l=>l.name===s.name);return c?{...s,values:s.values.map(l=>{const h=c.values.find(d=>l.type==="range"?!1:l.type==="checkbox"?d.value===l.value:!1);return{...l,disabled:!h,isMobile:e}})}:{...s,values:s.values.map(l=>({...l,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(s=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(s.name)}));const a={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(a),a}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,a){var s,r,c,l,h,d,p,v,C,E,A,R;const L=document.createElement("div");L.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||L.classList.add("active");const I=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:c.template)||((l=x.facets.facetItemContainerTemplate)==null?void 0:l.template);L.innerHTML=w.render(I,e),t.appendChild(L);const T=L.querySelector("."+(((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)||((v=x.facets.facetItemContainerTemplate)==null?void 0:v.facetListTitleContainerClass)));T==null||T.addEventListener("click",()=>{L.classList.toggle("active")});const D=L.querySelector("."+(((A=(E=(C=this.config)==null?void 0:C.templates)==null?void 0:E.facetItemContainerTemplate)==null?void 0:A.facetListContainerClass)||((R=x.facets.facetItemContainerTemplate)==null?void 0:R.facetListContainerClass)));D&&(e.values.forEach(W=>{this.createFacetListItem(W,D)}),e.hasMoreFacets&&this.createHasMoreComponent(e,D,a))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>J.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var a,s,r,c,l,h,d,p,v,C,E,A,R;const L=document.createElement("div");L.classList.add("searchstax-facet-value-container"),e.disabled&&L.classList.add("searchstax-facet-value-disabled");const I=this.isChecked(e),T=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.facetItemTemplate)==null?void 0:r.template)||((c=x.facets.facetItemTemplate)==null?void 0:c.template);L.innerHTML=w.render(T,{...e,isChecked:I});let D=(l=x.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;D=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemTemplate)==null?void 0:p.checkTriggerClasses)||D,D.forEach(W=>{var N;(N=L.querySelector("."+W))==null||N.addEventListener("click",K=>{this.onFacetSelect(K,e,L)})}),(R=L.querySelector("."+(((E=(C=(v=this.config)==null?void 0:v.templates)==null?void 0:C.facetItemTemplate)==null?void 0:E.inputCheckboxClass)||((A=x.facets.facetItemTemplate)==null?void 0:A.inputCheckboxClass))))==null||R.addEventListener("click",W=>{this.onFacetSelect(W,e,L,!0)}),t.appendChild(L)}createHasMoreComponent(e,t,a){var s,r,c,l,h,d,p,v;const C=document.createElement("div");C.classList.add("searchstax-facet-show-more-container");const E=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:c.template)||((l=x.facets.showMoreButtonContainerTemplate)==null?void 0:l.template);C.innerHTML=w.render(E,e);const A=C.querySelector("."+(((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)||((v=x.facets.showMoreButtonContainerTemplate)==null?void 0:v.showMoreButtonClass)));A&&(this.attachOnclickToShowMore(e,A,a),t&&t.appendChild(A))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const s=a?this.facetPaginationStepMobile:this.facetPaginationStep,r=a?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=s*2:r[t.name]<=t.values.length?r[t.name]=r[t.name]+s:r[t.name]=s,this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,c,l,h,d,p,v,C,E;if(e&&(!J.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const A=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((c=x.facets.mainTemplateDesktop)==null?void 0:c.template);if(this.dataLayer.renderingEngine===B.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=w.render(A,{...e});const R=(p=this.searchFacetsMainContainer)==null?void 0:p.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:d.facetsContainerClass)||x.facets.mainTemplateDesktop.facetsContainerClass));if(R){R.innerHTML="";for(const L of e.facets)this.createFacetItem(L,R);if(this.searchFacetsMainContainer){const L=this.searchFacetsMainContainer.querySelector("."+(((E=(C=(v=this.config)==null?void 0:v.templates)==null?void 0:C.mainTemplateDesktop)==null?void 0:E.selectedFacetsContainerClass)||x.facets.mainTemplateDesktop.selectedFacetsContainerClass));L&&(this.createSelectedFacetsComponents(L),this.createClearFacetsComponents(L))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const s=decodeURIComponent(a.name),r=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const c=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,l=c==null?void 0:c.find(h=>h.name===s);if(l){const h=l.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?`"${d.value}"`==`"${r}"`:!1);h&&e.push(h)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var t,a,s,r,c,l,h,d;const p=this.dataLayer.searchObject,v=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=x.facets.clearFacetsTemplate)==null?void 0:r.template),C=document.createElement("div");C.innerHTML=w.render(v,{shouldShow:p.facets.length>0});const E=C.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.clearFacetsTemplate)==null?void 0:h.containerClass)||((d=x.facets.clearFacetsTemplate)==null?void 0:d.containerClass)));E&&(E.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(E))}createSelectedFacetsComponent(e,t){var a,s,r,c,l,h,d,p;const v=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((c=x.facets.selectedFacetsTemplate)==null?void 0:c.template),C=document.createElement("div");C.innerHTML=w.render(v,t);const E=C.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.selectedFacetsTemplate)==null?void 0:d.containerClass)||((p=x.facets.selectedFacetsTemplate)==null?void 0:p.containerClass)));E&&(E.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(E))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(s=>JSON.stringify(s)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,a,s,r,c,l,h,d;const p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=x.facets.filterByTemplate)==null?void 0:r.template),v=document.createElement("div");v.innerHTML=w.render(p,{});const C=v.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.filterByTemplate)==null?void 0:h.containerClass)||((d=x.facets.filterByTemplate)==null?void 0:d.containerClass)));C&&(e.prepend(C),C.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,a,s,r,c,l,h,d,p,v,C,E,A,R,L,I,T,D,W;if(e){const N=document.createElement("div");N.classList.add("searchstax-facets-container-mobile");const K=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=x.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===B.mustache){if(N.innerHTML=w.render(K,{...e,overlayOpened:this.overlayOpened}),(c=this.searchFacetsMainContainer)==null||c.appendChild(N),(h=(l=this.config)==null?void 0:l.templates)!=null&&h.mainTemplateMobile)for(const $ of((v=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplateMobile)==null?void 0:v.closeOverlayTriggerClasses)||[]){const X=N.querySelector("."+$);X&&X.addEventListener("click",this.closeOverlay.bind(this))}else for(const $ of x.facets.mainTemplateMobile.closeOverlayTriggerClasses){const X=N.querySelector("."+$);X&&X.addEventListener("click",this.closeOverlay.bind(this))}const m=N.querySelector("."+(((A=(E=(C=this.config)==null?void 0:C.templates)==null?void 0:E.mainTemplateMobile)==null?void 0:A.filterByContainerClass)||x.facets.mainTemplateMobile.filterByContainerClass));m&&this.createFilterByComponent(m);const y=N.querySelector("."+(((I=(L=(R=this.config)==null?void 0:R.templates)==null?void 0:L.mainTemplateMobile)==null?void 0:I.selectedFacetsContainerClass)||x.facets.mainTemplateMobile.selectedFacetsContainerClass));y&&(this.createSelectedFacetsComponents(y),this.createClearFacetsComponents(y));const O=N.querySelector("."+(((W=(D=(T=this.config)==null?void 0:T.templates)==null?void 0:D.mainTemplateMobile)==null?void 0:W.facetsContainerClass)||x.facets.mainTemplateMobile.facetsContainerClass));if(O){O.innerHTML="";for(const $ of e.facets)this.createFacetItem($,O,!0)}}}}}class la{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"previousButtonClass"),u(this,"nextButtonClass"),u(this,"routerHelper"),u(this,"searchPaginationMainContainer",null);var t,a,s,r,c,l;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.previousButtonClass)??x.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((l=(c=(r=this.config)==null?void 0:r.templates)==null?void 0:c.mainTemplate)==null?void 0:l.nextButtonClass)??x.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,a,s;const r={...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:(s=this.routerHelper)==null?void 0:s.searchObjectToUrl({...this.dataLayer.searchObject,page:((a=this.dataLayer.searchObject)==null?void 0:a.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,a,s,r,c,l;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(a=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||a.removeEventListener("click",this.nextPage));const h=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.mainTemplate)==null?void 0:c.template)||((l=x.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.renderingEngine===B.mustache&&(this.searchPaginationMainContainer.innerHTML=w.render(h,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class oa{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"relatedSearchesContainerClass"),u(this,"searchRelatedSearchesMainContainer",null),u(this,"track");var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.relatedSearchesContainerClass)||x.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 a,s,r,c,l;const h=document.createElement("div"),d=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||x.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===B.mustache){h.innerHTML=w.render(d,e);const p=h.querySelector("."+(((l=(c=this.config.templates)==null?void 0:c.relatedSearch)==null?void 0:l.relatedSearchContainerClass)||x.relatedSearches.relatedSearch.relatedSearchContainerClass));p&&(t.appendChild(p),p.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,a,s,r;const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.relatedSearches.main.template;if(this.dataLayer.renderingEngine===B.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=w.render(c,e);const l=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(l)for(const h of e.relatedSearches)this.addRelatedSearchComponent(h,l)}}}class ha{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"searchFeedbackMainContainer",null),u(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 a=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(a,!0)}attachClick(){var e,t,a,s,r;const c=(r=this.searchFeedbackMainContainer)==null?void 0:r.querySelector("."+(((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:a.originalQueryClass)||((s=x.searchFeedback.main)==null?void 0:s.originalQueryClass)));c&&c.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,a,s;const r=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.searchFeedback.main.template;this.dataLayer.renderingEngine===B.mustache&&(this.searchFeedbackMainContainer.innerHTML=w.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class ua{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"suggestAfterMinChars"),u(this,"containerId"),u(this,"currentInputValue",""),u(this,"autosuggestResults"),u(this,"searchInput"),u(this,"actionButton"),u(this,"autosuggestContainer"),u(this,"buttonState","search"),u(this,"selectedAutosuggestItem",-1),u(this,"suggestTrigger"),u(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,a,s;const r=document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const c=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||x.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===B.mustache){const d=w.render(c,{});r.innerHTML=d}const l=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||x.searchInput.mainTemplate.searchInputId,h=document.querySelector(`#${l}`);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===B.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 a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.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 Z.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,a,s;const r=document.createElement("div");r.classList.add("searchstax-autosuggest-item"),r.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),r.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const c=((a=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:a.template)||((s=x.searchInput.autosuggestItemTemplate)==null?void 0:s.template);return r.innerHTML=w.render(c,e),r}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 a=e.suggest[t];for(const s in a)if(Object.prototype.hasOwnProperty.call(a,s)){const r=a[s];this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(c=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(c))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class da{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"linkClickCallback"),u(this,"searchCallback"),u(this,"containerId"),u(this,"searchResultsMainContainer"),u(this,"searchResultsContainer"),u(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,a,s,r;const c=((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:a.template)||((s=x.searchResults.noSearchResultTemplate)==null?void 0:s.template),l=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===B.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=w.render(c,{spellingSuggestion:l,searchTerm:this.dataLayer.searchTerm})),l&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),this.searchCallback(l)})}}renderResults(e){var t,a,s,r;if(this.dataLayer.renderingEngine===B.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=x.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(h=>w.render(c,h));this.searchResultsContainer.innerHTML=l.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,a,s;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((s=x.searchResults.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var e,t,a,s;const r=((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:a.template)||((s=x.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===B.mustache&&(this.searchResultsMainContainer.innerHTML=w.render(r,{}),setTimeout(()=>{var c,l,h,d,p,v,C;const E=(h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.mainTemplate)!=null&&h.searchResultsContainerId?(v=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplate)==null?void 0:v.searchResultsContainerId:(C=x.searchResults.mainTemplate)==null?void 0:C.searchResultsContainerId,A=document.getElementById(E);if(A)this.searchResultsContainer=A;else throw new Error(`Search Results Container with id ${E} not found`)},0))}}class ga{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"selectId"),u(this,"searchSortingMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.selectId)||x.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,a,s;const r=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.sorting.main.template;if(this.dataLayer.renderingEngine===B.mustache){this.searchSortingMainContainer.innerHTML=w.render(r,e),this.markOptionSelected();const c=document.getElementById(this.selectId);c&&c.addEventListener("change",l=>{this.setOrderQuery(l.target.value)})}}}class pa{constructor(e=B.mustache){u(this,"routerEnabled",!1),u(this,"cachedQuery",""),u(this,"routerHelper"),u(this,"searchHelper"),u(this,"searchResultsConfig"),u(this,"searchPaginationConfig"),u(this,"searchFeedbackConfig"),u(this,"searchSortingConfig"),u(this,"searchFacetsConfig"),u(this,"relatedSearchesConfig"),u(this,"externalPromotionsConfig"),u(this,"searchInputWidget"),u(this,"searchResultsWidget"),u(this,"searchFacetsWidget"),u(this,"searchPaginationWidget"),u(this,"searchFeedbackWidget"),u(this,"searchSortingWidget"),u(this,"relatedSearchesWidget"),u(this,"externalPromotionsWidget"),u(this,"dataLayer",new wt(At.getOrSetCookie("searchstax_session_id"))),u(this,"firstRequest",!0),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=B.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(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{a.query!==""&&this.search(a)}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&he.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,a;e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new Mt({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new Ze(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 Ze({})}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 a=(((t=e.response)==null?void 0:t.docs)??[]).map((r,c)=>({...r,position:c+1})),s=[];for(const r of a)s.push({relatedSearch:r.related_search,position:r.position});this.dataLayer.searchResultsMetadata&&he.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var t,a;this.handleRouter();let s=oe.combineResultsWithMetadata(e),r=oe.extractFacets(e);this.dataLayer.setSearchFacets(r),(a=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&a.afterSearch&&(s=this.dataLayer.searchstaxConfig.hooks.afterSearch(s)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const c=oe.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(c),this.dataLayer.setSearchResults(s)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,a;let s=e;(a=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&a.afterAutosuggest&&(s=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(s)}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 ua({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 da({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 la({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new ha({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new ga({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new oa({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 na({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new ca({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var a,s;const r={...this.dataLayer.searchObject};r.query=Z.removeXSSRiskyTags(e),r.page=1,r.facets=[],this.dataLayer.forceNotCorrect=!!t;let c=(a=this.routerHelper)==null?void 0:a.searchObjectToParams(r);c&&(c=(s=this.routerHelper)==null?void 0:s.extractParamsThatDoNotStartWithRouteName(c)),c&&(r.additionalProps=Object.keys(c).map(l=>c?{key:l,value:c[l]}:{key:"",value:""})),this.dataLayer.setSearchObject(r)}executeSuggest(e){var t,a;let s={term:e,queryParams:[]};(a=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&a.beforeAutosuggest&&(s=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(s)),s&&s.term!==void 0&&s.queryParams!==void 0&&this.suggest(s.term,s.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&he.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,a;let s=oe.findResultByUniqueId(e,this.dataLayer.searchResults??[]);s&&((a=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&a.afterLinkClick&&(s=this.searchResultsConfig.hooks.afterLinkClick(s)),s&&this.dataLayer.searchResultsMetadata&&(he.trackClick({result:s,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(s==null?void 0:s.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,a,s;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(s=this.searchResultsWidget)==null||s.changeTemplate())}}const b={searchstax:new pa("react")};function ma(n){let e=!1;const[t,a]=P.useState([]);P.useEffect(()=>{if(s(),b.searchstax){const h={};n.afterAutosuggest&&(h.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(h.beforeAutosuggest=n.beforeAutosuggest),b.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:n.suggestAfterMinChars??3,hooks:h,templates:{mainTemplate:{template:"",searchInputId:n.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")},[]);function s(){e||(b.searchstax.dataLayer.$autosuggestResults.subscribe(h=>{a((h==null?void 0:h.suggestions)??[])}),e=!0)}function r(){var h,d;(h=b.searchstax.searchInputWidget)==null||h.resetAutosuggestSelection(),(d=b.searchstax.searchInputWidget)==null||d.markActiveAutosuggestItem()}function c(h){var d;(d=b.searchstax.searchInputWidget)==null||d.onSuggestionEnter(h)}function l(){var h;(h=b.searchstax.searchInputWidget)==null||h.suggestionChosen()}return o.jsx(o.Fragment,{children:o.jsx("div",{id:"searchstax-input-container",children:o.jsxs("div",{className:"searchstax-search-input-container",children:[!n.inputTemplate&&o.jsxs("div",{className:"searchstax-search-input-wrapper",children:[o.jsx("input",{type:"text",id:"searchstax-search-input",className:"searchstax-search-input",placeholder:"SEARCH FOR..."}),o.jsx("div",{className:`searchstax-autosuggest-container ${t.length===0?"hidden":""}`,onMouseLeave:r,children:t.map(function(h){return o.jsx("div",{className:"searchstax-autosuggest-item",children:o.jsx("div",{className:"searchstax-autosuggest-item-term-container",dangerouslySetInnerHTML:{__html:h.term},onMouseOver:()=>{c(h)},onClick:()=>{l()}})},h.term)})}),o.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button"})]}),n.inputTemplate&&o.jsx(o.Fragment,{children:n.inputTemplate(t,r,c,l)})]})})})}function fa(n){return P.useEffect(()=>{const e={};n.beforeSearch&&(e.beforeSearch=n.beforeSearch),n!=null&&n.afterSearch&&(e.afterSearch=n.afterSearch),b.searchstax.initialize({language:n.language??"en",searchURL:n.searchURL,suggesterURL:n.suggesterURL,trackApiKey:n.trackApiKey,searchAuth:n.searchAuth,authType:n.authType??"basic",autoCorrect:n.autoCorrect,router:n.router,hooks:e}),n.initialized(b.searchstax)},[n.initialized]),o.jsx(o.Fragment,{children:n.children})}function va(n){const[e,t]=P.useState(null),[a,s]=P.useState(""),[r,c]=P.useState(null),l=(d,p)=>{p.preventDefault(),p.stopPropagation(),b.searchstax.executeLinkClick(d.uniqueId)};P.useEffect(()=>{h();const d={};n.afterLinkClick&&(d.afterLinkClick=n.afterLinkClick),b.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},hooks:d})},[]);function h(){b.searchstax.dataLayer.$searchResults.subscribe(d=>{t(d)}),b.searchstax.dataLayer.$searchTermChange.subscribe(d=>{s(d)}),b.searchstax.dataLayer.$searchResultsMetadata.subscribe(d=>{c(d)})}return o.jsx(o.Fragment,{children:o.jsx("div",{id:"searchstax-results-container",children:o.jsx("div",{className:"searchstax-search-results-container",children:o.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&!n.noResultTemplate&&o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",o.jsx("strong",{children:"no results"})," for ",o.jsxs("strong",{children:['"',a,'"']}),o.jsx("br",{}),(r==null?void 0:r.spellingSuggestion)&&o.jsxs("span",{children:[" Did you mean"," ",o.jsx("a",{href:"#",className:"searchstax-suggestion-term",children:r==null?void 0:r.spellingSuggestion}),"?"]})]}),o.jsxs("div",{children:[o.jsxs("p",{children:[" ","Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need."," "]}),o.jsx("p",{children:"Lost? Click on the ‘X” in the Search Box to reset your search."})]})]}),e&&e.length===0&&n.noResultTemplate&&o.jsx(o.Fragment,{children:n.noResultTemplate(a,r)}),e&&e.length&&!n.resultsTemplate&&o.jsx("div",{className:"searchstax-search-results",children:e!==null&&e.map(function(d){return o.jsxs("div",{className:`searchstax-search-result ${d.thumbnail?"has-thumbnail":""}`,children:[d.promoted&&o.jsx("div",{className:"searchstax-search-result-promoted"}),d.url&&o.jsx("a",{href:d.url,"data-searchstax-unique-result-id":d.uniqueId,onClick:p=>{l(d,p)},className:"searchstax-result-item-link"}),d.ribbon&&o.jsx("div",{className:"searchstax-search-result-ribbon",children:d.ribbon}),d.thumbnail&&o.jsx("img",{src:d.thumbnail,className:"searchstax-thumbnail"}),o.jsx("div",{className:"searchstax-search-result-title-container",children:o.jsx("span",{className:"searchstax-search-result-title",children:d.title})}),d.paths&&o.jsx("p",{className:"searchstax-search-result-common",children:d.paths}),d.description&&o.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:d.description}),d.unmappedFields.map(function(p){return o.jsxs("div",{children:[p.isImage&&typeof p.value=="string"&&o.jsx("div",{className:"searchstax-search-result-image-container",children:o.jsx("img",{src:p.value,className:"searchstax-result-image"})}),!p.isImage&&o.jsx("div",{children:o.jsx("p",{className:"searchstax-search-result-common",children:p.value})})]},p.key)})]},d.uniqueId)})}),e&&e.length&&n.resultsTemplate&&o.jsx(o.Fragment,{children:n.resultsTemplate(e,l)})]})})})})}function ya(n){let e=!1;const[t,a]=P.useState(!1),[s,r]=P.useState(null),[c]=P.useState(Math.random());P.useEffect(()=>{if(l(),b.searchstax)b.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(b.searchstax.dataLayer.$searchObject.subscribe(()=>{h()}),b.searchstax.dataLayer.$paginationData.subscribe(v=>{r(v)}),e=!0)}function h(){!t&&b.searchstax.routerHelper&&(a(!0),b.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{}))}function d(v){var C;(C=b.searchstax.searchPaginationWidget)==null||C.nextPage(v)}function p(v){var C;(C=b.searchstax.searchPaginationWidget)==null||C.previousPage(v)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-pagination-container"+c,children:[!n.paginationTemplate&&s&&(s==null?void 0:s.totalResults)!==0&&o.jsx("div",{className:"searchstax-pagination-container",children:o.jsxs("div",{className:"searchstax-pagination-content",children:[o.jsxs("a",{className:"searchstax-pagination-previous",style:s!=null&&s.isFirstPage?{pointerEvents:"none"}:{},onClick:v=>{p(v)},id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),o.jsxs("div",{className:"searchstax-pagination-details",children:[" ",s==null?void 0:s.startResultIndex," - ",s==null?void 0:s.endResultIndex," of ",s==null?void 0:s.totalResults]}),o.jsx("a",{className:"searchstax-pagination-next",style:s!=null&&s.isLastPage?{pointerEvents:"none"}:{},onClick:v=>{d(v)},id:"searchstax-pagination-next",children:"Next >"})]})}),n.paginationTemplate&&o.jsx(o.Fragment,{children:n.paginationTemplate(s,d,p)})]})})}function xa(n){let e=!1;const[t,a]=P.useState(null),[s,r]=P.useState(""),[c]=P.useState(Math.random());P.useEffect(()=>{if(l(),b.searchstax)b.searchstax.addSearchSortingWidget("search-sorting-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(b.searchstax.dataLayer.$searchSortingData.subscribe(d=>{a(d)}),b.searchstax.dataLayer.$searchObject.subscribe(d=>{r(decodeURIComponent((d==null?void 0:d.order)??""))}),e=!0)}function h(d){var p;(p=b.searchstax.searchSortingWidget)==null||p.setOrderQuery(d)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"search-sorting-container"+c,children:[!n.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&o.jsxs("div",{className:"searchstax-sorting-container",children:[o.jsx("label",{className:"searchstax-sorting-label",htmlFor:"sort-by",children:"Sort By"}),o.jsxs("select",{id:"searchstax-search-order-select",className:"searchstax-search-order-select",value:s,onChange:d=>{h(d.target.value)},children:[o.jsx("option",{value:"",children:" Relevance "}),o.jsx("option",{value:"date desc",children:" Newest Content "}),o.jsx("option",{value:"date asc",children:" Oldest Content "})]})]}),n.searchSortingTemplate&&o.jsx(o.Fragment,{children:n.searchSortingTemplate(t,h,s)})]})})}function ba(n){let e=!1;const[t,a]=P.useState(null),[s]=P.useState(Math.random());P.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addSearchFeedbackWidget("search-feedback-container"+s,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchFeedbackData.subscribe(l=>{a(l)}),e=!0)}function c(l){var h;(h=b.searchstax.searchFeedbackWidget)==null||h.onOriginalQueryClick(l)}return o.jsx(o.Fragment,{children:o.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+s,children:[!n.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)&&o.jsxs(o.Fragment,{children:["Showing"," ",o.jsxs("b",{children:[t.startResultIndex," - ",t.endResultIndex]})," ","of",o.jsxs("b",{children:[" ",t.totalResults]})," results",t.searchTerm&&o.jsxs("span",{children:[' for "',o.jsx("b",{children:t.searchTerm}),'"'," "]}),o.jsx("div",{className:"searchstax-feedback-container-suggested",children:t.autoCorrectedQuery&&o.jsxs("div",{children:[" ","Search instead for"," ",o.jsx("a",{href:"#",onClick:l=>{c(l)},className:"searchstax-feedback-original-query",children:t.originalQuery})]})})]}),n.searchOverviewTemplate&&o.jsx(o.Fragment,{children:n.searchOverviewTemplate(t,c)})]})})}function Ca(n){const[e,t]=P.useState(null),[a,s]=P.useState(null),[r,c]=P.useState([]),[l,h]=P.useState({}),d={},p=Math.random();let v=!1;P.useEffect(()=>{if(C(),b.searchstax)b.searchstax.addFacetsWidget("searchstax-facets-container"+p,{facetingType:n.facetingType,specificFacets:n.specificFacets,itemsPerPageDesktop:n.itemsPerPageDesktop,itemsPerPageMobile:n.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function C(){v||(b.searchstax.dataLayer.$facetsTemplateData.subscribe(m=>{m!=null&&m.isMobile?s(m):t(m)}),b.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(m=>{c((m??[]).filter(O=>O.type==="checkbox"))}),v=!0)}function E(m){var y;(y=b.searchstax.searchFacetsWidget)==null||y.unselectFacet(m)}function A(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.removeSelectedFacets()}function R(m){return!l[m]}function L(m){R(m)?h({...l,[m]:!0}):h({...l,[m]:!1})}function I(m){var y;return(y=b.searchstax.searchFacetsWidget)==null?void 0:y.isChecked(m)}function T(m,y,O,$){var Q,Y;const X=document.createElement("div"),re=(Q=d[m])==null?void 0:Q.current;X.innerHTML=re.outerHTML,(Y=b.searchstax.searchFacetsWidget)==null||Y.onFacetSelect(y,O,re,$)}function D(m,y){var O;(O=b.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(m,y,!1)}function W(m,y){var O;(O=b.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(m,y,!0)}function N(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.openOverlay()}function K(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.closeOverlay()}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-facets-container"+p,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!n.facetsTemplateDesktop&&o.jsx("div",{className:"searchstax-facets-container-desktop",children:e==null?void 0:e.facets.map(m=>o.jsx("div",{className:`searchstax-facet-container ${R(m.name)?"active":""}`,children:o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{L(m.name)},children:[o.jsxs("div",{className:"searchstax-facet-title",children:[" ",m.label," "]}),o.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),o.jsxs("div",{className:"searchstax-facet-values-container",children:[m.values.map((y,O)=>(d[O+m.name]=P.createRef(),o.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+m.name],children:[o.jsx("div",{className:"searchstax-facet-input",children:o.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:I(y),readOnly:!0,disabled:y.disabled,onClick:$=>{T(O+m.name,$,y,!0)}})}),o.jsx("div",{className:"searchstax-facet-value-label",onClick:$=>{T(O+m.name,$,y,!1)},children:y.value}),o.jsxs("div",{className:"searchstax-facet-value-count",onClick:$=>{T(O+m.name,$,y,!1)},children:["(",y.count,")"]})]},y.value+y.parentName))),m.hasMoreFacets&&o.jsx("div",{className:"searchstax-facet-show-more-container",children:o.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:y=>{D(y,m)},children:[m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},m.name+"desktop"))}),n.facetsTemplateDesktop&&o.jsx(o.Fragment,{children:n.facetsTemplateDesktop(e,d,R,L,T,I,D)}),(a==null?void 0:a.hasResultsOrExternalPromotions)&&!n.facetsTemplateMobile&&o.jsx("div",{className:"searchstax-facets-container-mobile",children:o.jsxs("div",{className:"searchstax-facets-pills-container",children:[o.jsx("div",{className:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:()=>{N()},children:o.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),o.jsxs("div",{className:"searchstax-facets-pills-selected",children:[r.map(m=>o.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{E(m)},children:[o.jsxs("div",{className:"searchstax-facets-pill-label",children:[m.value," (",m.count,")"]}),o.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},m.value)),r.length!==0&&o.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{A()},children:o.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),o.jsxs("div",{className:`searchstax-facets-mobile-overlay ${a.overlayOpened?"searchstax-show":""}`,children:[o.jsxs("div",{className:"searchstax-facets-mobile-overlay-header",children:[o.jsx("div",{className:"searchstax-facets-mobile-overlay-header-title",children:"Filter By"}),o.jsx("div",{className:"searchstax-search-close",onClick:()=>{K()}})]}),o.jsx("div",{className:"searchstax-facets-container-mobile",children:a==null?void 0:a.facets.map(m=>o.jsx("div",{className:`searchstax-facet-container ${R(m.name)?"active":""}`,children:o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{L(m.name)},children:[o.jsxs("div",{className:"searchstax-facet-title",children:[" ",m.label," "]}),o.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),o.jsxs("div",{className:"searchstax-facet-values-container",children:[m.values.map((y,O)=>(d[O+m.name]=P.createRef(),o.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+m.name],children:[o.jsx("div",{className:"searchstax-facet-input",children:o.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:I(y),readOnly:!0,disabled:y.disabled,onClick:$=>{T(O+m.name,$,y,!0)}})}),o.jsx("div",{className:"searchstax-facet-value-label",onClick:$=>{T(O+m.name,$,y,!1)},children:y.value}),o.jsxs("div",{className:"searchstax-facet-value-count",onClick:$=>{T(O+m.name,$,y,!1)},children:["(",y.count,")"]})]},y.value+y.parentName))),o.jsx("div",{className:"searchstax-facet-show-more-container","v-if":"facet.hasMoreFacets",children:o.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:y=>{W(y,m)},children:[m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},m.name+"mobile"))}),o.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{K()},children:"Done"})]})]})}),n.facetsTemplateMobile&&o.jsx(o.Fragment,{children:n.facetsTemplateMobile(a,r,d,R,L,T,I,E,W,N,K,A)})]})})}function Sa(n){let e=!1;const[t,a]=P.useState(null),[s]=P.useState(Math.random());P.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+s,{relatedSearchesURL:n.relatedSearchesURL,relatedSearchesAPIKey:n.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(l=>{a(l)}),e=!0)}function c(l){var h;(h=b.searchstax.relatedSearchesWidget)==null||h.executeSearch(l)}return o.jsxs(o.Fragment,{children:[!n.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&o.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",o.jsx("span",{id:"searchstax-related-searches"}),t.relatedSearches&&o.jsx("span",{className:"searchstax-related-search",children:t.relatedSearches.map(l=>o.jsxs("span",{onClick:()=>{c(l)},className:"searchstax-related-search searchstax-related-search-item",children:[" ",l.related_search,!l.last&&o.jsx("span",{children:","})]},l.related_search))})]}),n.searchRelatedSearchesTemplate&&o.jsx(o.Fragment,{children:n.searchRelatedSearchesTemplate(t,c)})]})}function Ta(n){let e=!1;const[t,a]=P.useState(null),[s]=P.useState(Math.random());P.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+s,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(l=>{a(l)}),e=!0)}function c(l,h){var d;(d=b.searchstax.externalPromotionsWidget)==null||d.trackClick(l,h)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-external-promotions-layout-container"+s,children:[!n.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&o.jsx(o.Fragment,{children:t.externalPromotions.map(l=>o.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[o.jsx("div",{className:"icon-elevated"}),l.url&&o.jsx("a",{href:l.url,onClick:h=>{c(l,h)},className:"searchstax-result-item-link"}),o.jsx("div",{className:"searchstax-search-result-title-container",children:o.jsx("span",{className:"searchstax-search-result-title",children:l.name})}),l.description&&o.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.description," "]}),l.url&&o.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.url," "]})]},l.id))}),n.searchExternalPromotionsTemplate&&o.jsx(o.Fragment,{children:n.searchExternalPromotionsTemplate(t,c)})]})})}exports.SearchstaxExternalPromotionsWidget=Ta;exports.SearchstaxFacetsWidget=Ca;exports.SearchstaxInputWidget=ma;exports.SearchstaxOverviewWidget=ba;exports.SearchstaxPaginationWidget=ya;exports.SearchstaxRelatedSearchesWidget=Sa;exports.SearchstaxResultWidget=va;exports.SearchstaxSortingWidget=xa;exports.SearchstaxWrapper=fa;
|
|
249
|
+
`,selectId:"searchstax-search-order-select"}};class x{}u(x,"externalPromotions",Gt),u(x,"facets",Zt),u(x,"pagination",ea),u(x,"relatedSearches",ta),u(x,"searchFeedback",aa),u(x,"searchInput",sa),u(x,"searchResults",ra),u(x,"sorting",ia);class na{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"externalPromotionsContainerId"),u(this,"searchExternalPromotionsMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((a=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:a.externalPromotionsContainerId)||x.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,a,s,r;const c=document.getElementById(this.externalPromotionsContainerId);if(c){const l=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.externalPromotion)==null?void 0:s.template)||((r=x.externalPromotions.externalPromotion)==null?void 0:r.template),h=document.createElement("div");h.classList.add("searchstax-external-promotion"),h.addEventListener("click",d=>{this.trackClick(e,d)}),h.innerHTML=w.render(l,e),c.appendChild(h)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var t,a,s,r;const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=x.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===B.mustache){this.searchExternalPromotionsMainContainer.innerHTML=w.render(c,e);const l=document.getElementById(this.externalPromotionsContainerId);l&&(l.innerHTML="");for(const h of e.externalPromotions)this.addExternalSearch(h)}}}class ca{constructor(e,t){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"routerHelper"),u(this,"cachedPhrase",""),u(this,"isCached",!1),u(this,"overlayOpened",!1),u(this,"facetPaginationStep"),u(this,"facetPaginationStepMobile"),u(this,"searchFacetsMainContainer",null),u(this,"searchFacetsMobileContainer",null),u(this,"searchFacetsDesktopContainer",null),u(this,"facetLimits",{}),u(this,"facetLimitsMobile",{}),u(this,"deactivatedFacets",{}),u(this,"cachedData",null),u(this,"cacheFacets"),u(this,"onFacetSelect",(a,s,r,c)=>{if(a.stopPropagation(),!s.disabled){const l=r.querySelector("input");l.checked=c?l.checked:!l.checked;const h=this.dataLayer.searchObject;let d=[...h.facets];const p=this.extractFacetValue(s);l.checked?d.find(v=>J.deepEqual(v,p)?v:!1)||(this.config.facetingType==="tabs"&&(d=d.filter(v=>v.name!==p.name)),d.push(p)):d=d.filter(v=>!J.deepEqual(v,p)),setTimeout(()=>{this.dataLayer.setSearchObject({...h,facets:d,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 a=t?this.facetPaginationStepMobile:this.facetPaginationStep,s=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{s[r.name]||(s[r.name]=a)}),e.map(r=>({...r,values:r.values.slice(0,s[r.name]),showingAllFacets:r.values.length<=s[r.name],hasMoreFacets:r.values.length>a}))}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(s=>{var r;const c=(r=this.dataLayer.searchFacets)==null?void 0:r.find(l=>l.name===s.name);return c?{...s,values:s.values.map(l=>{const h=c.values.find(d=>l.type==="range"?!1:l.type==="checkbox"?d.value===l.value:!1);return{...l,disabled:!h,isMobile:e}})}:{...s,values:s.values.map(l=>({...l,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(s=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(s.name)}));const a={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(a),a}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,a){var s,r,c,l,h,d,p,v,C,E,A,R;const L=document.createElement("div");L.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||L.classList.add("active");const I=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:c.template)||((l=x.facets.facetItemContainerTemplate)==null?void 0:l.template);L.innerHTML=w.render(I,e),t.appendChild(L);const T=L.querySelector("."+(((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)||((v=x.facets.facetItemContainerTemplate)==null?void 0:v.facetListTitleContainerClass)));T==null||T.addEventListener("click",()=>{L.classList.toggle("active")});const D=L.querySelector("."+(((A=(E=(C=this.config)==null?void 0:C.templates)==null?void 0:E.facetItemContainerTemplate)==null?void 0:A.facetListContainerClass)||((R=x.facets.facetItemContainerTemplate)==null?void 0:R.facetListContainerClass)));D&&(e.values.forEach(W=>{this.createFacetListItem(W,D)}),e.hasMoreFacets&&this.createHasMoreComponent(e,D,a))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>J.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var a,s,r,c,l,h,d,p,v,C,E,A,R;const L=document.createElement("div");L.classList.add("searchstax-facet-value-container"),e.disabled&&L.classList.add("searchstax-facet-value-disabled");const I=this.isChecked(e),T=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.facetItemTemplate)==null?void 0:r.template)||((c=x.facets.facetItemTemplate)==null?void 0:c.template);L.innerHTML=w.render(T,{...e,isChecked:I});let D=(l=x.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;D=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemTemplate)==null?void 0:p.checkTriggerClasses)||D,D.forEach(W=>{var N;(N=L.querySelector("."+W))==null||N.addEventListener("click",K=>{this.onFacetSelect(K,e,L)})}),(R=L.querySelector("."+(((E=(C=(v=this.config)==null?void 0:v.templates)==null?void 0:C.facetItemTemplate)==null?void 0:E.inputCheckboxClass)||((A=x.facets.facetItemTemplate)==null?void 0:A.inputCheckboxClass))))==null||R.addEventListener("click",W=>{this.onFacetSelect(W,e,L,!0)}),t.appendChild(L)}createHasMoreComponent(e,t,a){var s,r,c,l,h,d,p,v;const C=document.createElement("div");C.classList.add("searchstax-facet-show-more-container");const E=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:c.template)||((l=x.facets.showMoreButtonContainerTemplate)==null?void 0:l.template);C.innerHTML=w.render(E,e);const A=C.querySelector("."+(((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)||((v=x.facets.showMoreButtonContainerTemplate)==null?void 0:v.showMoreButtonClass)));A&&(this.attachOnclickToShowMore(e,A,a),t&&t.appendChild(A))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const s=a?this.facetPaginationStepMobile:this.facetPaginationStep,r=a?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=s*2:r[t.name]<=t.values.length?r[t.name]=r[t.name]+s:r[t.name]=s,this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,c,l,h,d,p,v,C,E;if(e&&(!J.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const A=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((c=x.facets.mainTemplateDesktop)==null?void 0:c.template);if(this.dataLayer.renderingEngine===B.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=w.render(A,{...e});const R=(p=this.searchFacetsMainContainer)==null?void 0:p.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:d.facetsContainerClass)||x.facets.mainTemplateDesktop.facetsContainerClass));if(R){R.innerHTML="";for(const L of e.facets)this.createFacetItem(L,R);if(this.searchFacetsMainContainer){const L=this.searchFacetsMainContainer.querySelector("."+(((E=(C=(v=this.config)==null?void 0:v.templates)==null?void 0:C.mainTemplateDesktop)==null?void 0:E.selectedFacetsContainerClass)||x.facets.mainTemplateDesktop.selectedFacetsContainerClass));L&&(this.createSelectedFacetsComponents(L),this.createClearFacetsComponents(L))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const s=decodeURIComponent(a.name),r=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const c=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,l=c==null?void 0:c.find(h=>h.name===s);if(l){const h=l.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?`"${d.value}"`==`"${r}"`:!1);h&&e.push(h)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var t,a,s,r,c,l,h,d;const p=this.dataLayer.searchObject,v=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=x.facets.clearFacetsTemplate)==null?void 0:r.template),C=document.createElement("div");C.innerHTML=w.render(v,{shouldShow:p.facets.length>0});const E=C.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.clearFacetsTemplate)==null?void 0:h.containerClass)||((d=x.facets.clearFacetsTemplate)==null?void 0:d.containerClass)));E&&(E.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(E))}createSelectedFacetsComponent(e,t){var a,s,r,c,l,h,d,p;const v=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((c=x.facets.selectedFacetsTemplate)==null?void 0:c.template),C=document.createElement("div");C.innerHTML=w.render(v,t);const E=C.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.selectedFacetsTemplate)==null?void 0:d.containerClass)||((p=x.facets.selectedFacetsTemplate)==null?void 0:p.containerClass)));E&&(E.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(E))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(s=>JSON.stringify(s)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,a,s,r,c,l,h,d;const p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=x.facets.filterByTemplate)==null?void 0:r.template),v=document.createElement("div");v.innerHTML=w.render(p,{});const C=v.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.filterByTemplate)==null?void 0:h.containerClass)||((d=x.facets.filterByTemplate)==null?void 0:d.containerClass)));C&&(e.prepend(C),C.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,a,s,r,c,l,h,d,p,v,C,E,A,R,L,I,T,D,W;if(e){const N=document.createElement("div");N.classList.add("searchstax-facets-container-mobile");const K=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=x.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===B.mustache){if(N.innerHTML=w.render(K,{...e,overlayOpened:this.overlayOpened}),(c=this.searchFacetsMainContainer)==null||c.appendChild(N),(h=(l=this.config)==null?void 0:l.templates)!=null&&h.mainTemplateMobile)for(const $ of((v=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplateMobile)==null?void 0:v.closeOverlayTriggerClasses)||[]){const X=N.querySelector("."+$);X&&X.addEventListener("click",this.closeOverlay.bind(this))}else for(const $ of x.facets.mainTemplateMobile.closeOverlayTriggerClasses){const X=N.querySelector("."+$);X&&X.addEventListener("click",this.closeOverlay.bind(this))}const m=N.querySelector("."+(((A=(E=(C=this.config)==null?void 0:C.templates)==null?void 0:E.mainTemplateMobile)==null?void 0:A.filterByContainerClass)||x.facets.mainTemplateMobile.filterByContainerClass));m&&this.createFilterByComponent(m);const y=N.querySelector("."+(((I=(L=(R=this.config)==null?void 0:R.templates)==null?void 0:L.mainTemplateMobile)==null?void 0:I.selectedFacetsContainerClass)||x.facets.mainTemplateMobile.selectedFacetsContainerClass));y&&(this.createSelectedFacetsComponents(y),this.createClearFacetsComponents(y));const O=N.querySelector("."+(((W=(D=(T=this.config)==null?void 0:T.templates)==null?void 0:D.mainTemplateMobile)==null?void 0:W.facetsContainerClass)||x.facets.mainTemplateMobile.facetsContainerClass));if(O){O.innerHTML="";for(const $ of e.facets)this.createFacetItem($,O,!0)}}}}}class la{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"previousButtonClass"),u(this,"nextButtonClass"),u(this,"routerHelper"),u(this,"searchPaginationMainContainer",null);var t,a,s,r,c,l;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.previousButtonClass)??x.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((l=(c=(r=this.config)==null?void 0:r.templates)==null?void 0:c.mainTemplate)==null?void 0:l.nextButtonClass)??x.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,a,s;const r={...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:(s=this.routerHelper)==null?void 0:s.searchObjectToUrl({...this.dataLayer.searchObject,page:((a=this.dataLayer.searchObject)==null?void 0:a.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,a,s,r,c,l;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(a=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||a.removeEventListener("click",this.nextPage));const h=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.mainTemplate)==null?void 0:c.template)||((l=x.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.renderingEngine===B.mustache&&(this.searchPaginationMainContainer.innerHTML=w.render(h,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class oa{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"relatedSearchesContainerClass"),u(this,"searchRelatedSearchesMainContainer",null),u(this,"track");var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.relatedSearchesContainerClass)||x.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 a,s,r,c,l;const h=document.createElement("div"),d=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||x.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===B.mustache){h.innerHTML=w.render(d,e);const p=h.querySelector("."+(((l=(c=this.config.templates)==null?void 0:c.relatedSearch)==null?void 0:l.relatedSearchContainerClass)||x.relatedSearches.relatedSearch.relatedSearchContainerClass));p&&(t.appendChild(p),p.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,a,s,r;const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.relatedSearches.main.template;if(this.dataLayer.renderingEngine===B.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=w.render(c,e);const l=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(l)for(const h of e.relatedSearches)this.addRelatedSearchComponent(h,l)}}}class ha{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"searchFeedbackMainContainer",null),u(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 a=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(a,!0)}attachClick(){var e,t,a,s,r;const c=(r=this.searchFeedbackMainContainer)==null?void 0:r.querySelector("."+(((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:a.originalQueryClass)||((s=x.searchFeedback.main)==null?void 0:s.originalQueryClass)));c&&c.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,a,s;const r=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.searchFeedback.main.template;this.dataLayer.renderingEngine===B.mustache&&(this.searchFeedbackMainContainer.innerHTML=w.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class ua{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"suggestAfterMinChars"),u(this,"containerId"),u(this,"currentInputValue",""),u(this,"autosuggestResults"),u(this,"searchInput"),u(this,"actionButton"),u(this,"autosuggestContainer"),u(this,"buttonState","search"),u(this,"selectedAutosuggestItem",-1),u(this,"suggestTrigger"),u(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,a,s;const r=document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const c=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||x.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===B.mustache){const d=w.render(c,{});r.innerHTML=d}const l=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||x.searchInput.mainTemplate.searchInputId,h=document.querySelector(`#${l}`);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===B.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 a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.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 Z.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,a,s;const r=document.createElement("div");r.classList.add("searchstax-autosuggest-item"),r.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),r.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const c=((a=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:a.template)||((s=x.searchInput.autosuggestItemTemplate)==null?void 0:s.template);return r.innerHTML=w.render(c,e),r}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 a=e.suggest[t];for(const s in a)if(Object.prototype.hasOwnProperty.call(a,s)){const r=a[s];this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(c=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(c))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class da{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"linkClickCallback"),u(this,"searchCallback"),u(this,"containerId"),u(this,"searchResultsMainContainer"),u(this,"searchResultsContainer"),u(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,a,s,r;const c=((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:a.template)||((s=x.searchResults.noSearchResultTemplate)==null?void 0:s.template),l=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===B.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=w.render(c,{spellingSuggestion:l,searchTerm:this.dataLayer.searchTerm})),l&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),this.searchCallback(l)})}}renderResults(e){var t,a,s,r;if(this.dataLayer.renderingEngine===B.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=x.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(h=>w.render(c,h));this.searchResultsContainer.innerHTML=l.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,a,s;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((s=x.searchResults.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var e,t,a,s;const r=((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:a.template)||((s=x.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===B.mustache&&(this.searchResultsMainContainer.innerHTML=w.render(r,{}),setTimeout(()=>{var c,l,h,d,p,v,C;const E=(h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.mainTemplate)!=null&&h.searchResultsContainerId?(v=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplate)==null?void 0:v.searchResultsContainerId:(C=x.searchResults.mainTemplate)==null?void 0:C.searchResultsContainerId,A=document.getElementById(E);if(A)this.searchResultsContainer=A;else throw new Error(`Search Results Container with id ${E} not found`)},0))}}class ga{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"selectId"),u(this,"searchSortingMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.selectId)||x.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,a,s;const r=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.sorting.main.template;if(this.dataLayer.renderingEngine===B.mustache){this.searchSortingMainContainer.innerHTML=w.render(r,e),this.markOptionSelected();const c=document.getElementById(this.selectId);c&&c.addEventListener("change",l=>{this.setOrderQuery(l.target.value)})}}}class pa{constructor(e=B.mustache){u(this,"routerEnabled",!1),u(this,"cachedQuery",""),u(this,"routerHelper"),u(this,"searchHelper"),u(this,"searchResultsConfig"),u(this,"searchPaginationConfig"),u(this,"searchFeedbackConfig"),u(this,"searchSortingConfig"),u(this,"searchFacetsConfig"),u(this,"relatedSearchesConfig"),u(this,"externalPromotionsConfig"),u(this,"searchInputWidget"),u(this,"searchResultsWidget"),u(this,"searchFacetsWidget"),u(this,"searchPaginationWidget"),u(this,"searchFeedbackWidget"),u(this,"searchSortingWidget"),u(this,"relatedSearchesWidget"),u(this,"externalPromotionsWidget"),u(this,"dataLayer",new wt(At.getOrSetCookie("searchstax_session_id"))),u(this,"firstRequest",!0),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=B.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(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{a.query!==""&&this.search(a)}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&he.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,a;e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new Mt({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new Ze(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 Ze({})}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 a=(((t=e.response)==null?void 0:t.docs)??[]).map((r,c)=>({...r,position:c+1})),s=[];for(const r of a)s.push({relatedSearch:r.related_search,position:r.position});this.dataLayer.searchResultsMetadata&&he.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var t,a;this.handleRouter();let s=oe.combineResultsWithMetadata(e),r=oe.extractFacets(e);this.dataLayer.setSearchFacets(r),(a=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&a.afterSearch&&(s=this.dataLayer.searchstaxConfig.hooks.afterSearch(s)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const c=oe.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(c),this.dataLayer.setSearchResults(s)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,a;let s=e;(a=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&a.afterAutosuggest&&(s=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(s)}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 ua({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 da({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 la({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new ha({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new ga({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new oa({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 na({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new ca({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var a,s;const r={...this.dataLayer.searchObject};r.query=Z.removeXSSRiskyTags(e),r.page=1,r.facets=[],this.dataLayer.forceNotCorrect=!!t;let c=(a=this.routerHelper)==null?void 0:a.searchObjectToParams(r);c&&(c=(s=this.routerHelper)==null?void 0:s.extractParamsThatDoNotStartWithRouteName(c)),c&&(r.additionalProps=Object.keys(c).map(l=>c?{key:l,value:c[l]}:{key:"",value:""})),this.dataLayer.setSearchObject(r)}executeSuggest(e){var t,a;let s={term:e,queryParams:[]};(a=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&a.beforeAutosuggest&&(s=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(s)),s&&s.term!==void 0&&s.queryParams!==void 0&&this.suggest(s.term,s.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&he.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,a;let s=oe.findResultByUniqueId(e,this.dataLayer.searchResults??[]);s&&((a=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&a.afterLinkClick&&(s=this.searchResultsConfig.hooks.afterLinkClick(s)),s&&this.dataLayer.searchResultsMetadata&&(he.trackClick({result:s,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(s==null?void 0:s.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,a,s;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(s=this.searchResultsWidget)==null||s.changeTemplate())}}const b={searchstax:new pa("react")};function ma(n){let e=!1;const[t,a]=P.useState([]);P.useEffect(()=>{if(s(),b.searchstax){const h={};n.afterAutosuggest&&(h.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(h.beforeAutosuggest=n.beforeAutosuggest),b.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:n.suggestAfterMinChars??3,hooks:h,templates:{mainTemplate:{template:"",searchInputId:n.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")},[]);function s(){e||(b.searchstax.dataLayer.$autosuggestResults.subscribe(h=>{a((h==null?void 0:h.suggestions)??[])}),e=!0)}function r(){var h,d;(h=b.searchstax.searchInputWidget)==null||h.resetAutosuggestSelection(),(d=b.searchstax.searchInputWidget)==null||d.markActiveAutosuggestItem()}function c(h){var d;(d=b.searchstax.searchInputWidget)==null||d.onSuggestionEnter(h)}function l(){var h;(h=b.searchstax.searchInputWidget)==null||h.suggestionChosen()}return o.jsx(o.Fragment,{children:o.jsx("div",{id:"searchstax-input-container",children:o.jsxs("div",{className:"searchstax-search-input-container",children:[!n.inputTemplate&&o.jsxs("div",{className:"searchstax-search-input-wrapper",children:[o.jsx("input",{type:"text",id:"searchstax-search-input",className:"searchstax-search-input",placeholder:"SEARCH FOR..."}),o.jsx("div",{className:`searchstax-autosuggest-container ${t.length===0?"hidden":""}`,onMouseLeave:r,children:t.map(function(h){return o.jsx("div",{className:"searchstax-autosuggest-item",children:o.jsx("div",{className:"searchstax-autosuggest-item-term-container",dangerouslySetInnerHTML:{__html:h.term},onMouseOver:()=>{c(h)},onClick:()=>{l()}})},h.term)})}),o.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button"})]}),n.inputTemplate&&o.jsx(o.Fragment,{children:n.inputTemplate(t,r,c,l)})]})})})}function fa(n){return P.useEffect(()=>{const e={};n.beforeSearch&&(e.beforeSearch=n.beforeSearch),n!=null&&n.afterSearch&&(e.afterSearch=n.afterSearch),b.searchstax.initialize({language:n.language??"en",searchURL:n.searchURL,suggesterURL:n.suggesterURL,trackApiKey:n.trackApiKey,searchAuth:n.searchAuth,authType:n.authType??"basic",autoCorrect:n.autoCorrect,router:n.router,hooks:e}),n.initialized(b.searchstax)},[n.initialized]),o.jsx(o.Fragment,{children:n.children})}function va(n){const[e,t]=P.useState(null),[a,s]=P.useState(""),[r,c]=P.useState(null),l=(d,p)=>{p.preventDefault(),p.stopPropagation(),b.searchstax.executeLinkClick(d.uniqueId)};P.useEffect(()=>{h();const d={};n.afterLinkClick&&(d.afterLinkClick=n.afterLinkClick),b.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},hooks:d})},[]);function h(){b.searchstax.dataLayer.$searchResults.subscribe(d=>{t(d)}),b.searchstax.dataLayer.$searchTermChange.subscribe(d=>{s(d)}),b.searchstax.dataLayer.$searchResultsMetadata.subscribe(d=>{c(d)})}return o.jsx(o.Fragment,{children:o.jsx("div",{id:"searchstax-results-container",children:o.jsx("div",{className:"searchstax-search-results-container",children:o.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&!n.noResultTemplate&&o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",o.jsx("strong",{children:"no results"})," for ",o.jsxs("strong",{children:['"',a,'"']}),o.jsx("br",{}),(r==null?void 0:r.spellingSuggestion)&&o.jsxs("span",{children:[" Did you mean"," ",o.jsx("a",{href:"#",className:"searchstax-suggestion-term",children:r==null?void 0:r.spellingSuggestion}),"?"]})]}),o.jsxs("div",{children:[o.jsxs("p",{children:[" ","Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need."," "]}),o.jsx("p",{children:"Lost? Click on the ‘X” in the Search Box to reset your search."})]})]}),e&&e.length===0&&n.noResultTemplate&&o.jsx(o.Fragment,{children:n.noResultTemplate(a,r)}),e&&e.length>0&&!n.resultsTemplate&&o.jsx("div",{className:"searchstax-search-results",children:e!==null&&e.map(function(d){return o.jsxs("div",{className:`searchstax-search-result ${d.thumbnail?"has-thumbnail":""}`,children:[d.promoted&&o.jsx("div",{className:"searchstax-search-result-promoted"}),d.url&&o.jsx("a",{href:d.url,"data-searchstax-unique-result-id":d.uniqueId,onClick:p=>{l(d,p)},className:"searchstax-result-item-link"}),d.ribbon&&o.jsx("div",{className:"searchstax-search-result-ribbon",children:d.ribbon}),d.thumbnail&&o.jsx("img",{src:d.thumbnail,className:"searchstax-thumbnail"}),o.jsx("div",{className:"searchstax-search-result-title-container",children:o.jsx("span",{className:"searchstax-search-result-title",children:d.title})}),d.paths&&o.jsx("p",{className:"searchstax-search-result-common",children:d.paths}),d.description&&o.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:d.description}),d.unmappedFields.map(function(p){return o.jsxs("div",{children:[p.isImage&&typeof p.value=="string"&&o.jsx("div",{className:"searchstax-search-result-image-container",children:o.jsx("img",{src:p.value,className:"searchstax-result-image"})}),!p.isImage&&o.jsx("div",{children:o.jsx("p",{className:"searchstax-search-result-common",children:p.value})})]},p.key)})]},d.uniqueId)})}),e&&e.length>0&&n.resultsTemplate&&o.jsx(o.Fragment,{children:n.resultsTemplate(e,l)})]})})})})}function ya(n){let e=!1;const[t,a]=P.useState(!1),[s,r]=P.useState(null),[c]=P.useState(Math.random());P.useEffect(()=>{if(l(),b.searchstax)b.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(b.searchstax.dataLayer.$searchObject.subscribe(()=>{h()}),b.searchstax.dataLayer.$paginationData.subscribe(v=>{r(v)}),e=!0)}function h(){!t&&b.searchstax.routerHelper&&(a(!0),b.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{}))}function d(v){var C;(C=b.searchstax.searchPaginationWidget)==null||C.nextPage(v)}function p(v){var C;(C=b.searchstax.searchPaginationWidget)==null||C.previousPage(v)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-pagination-container"+c,children:[!n.paginationTemplate&&s&&(s==null?void 0:s.totalResults)!==0&&o.jsx("div",{className:"searchstax-pagination-container",children:o.jsxs("div",{className:"searchstax-pagination-content",children:[o.jsxs("a",{className:"searchstax-pagination-previous",style:s!=null&&s.isFirstPage?{pointerEvents:"none"}:{},onClick:v=>{p(v)},id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),o.jsxs("div",{className:"searchstax-pagination-details",children:[" ",s==null?void 0:s.startResultIndex," - ",s==null?void 0:s.endResultIndex," of ",s==null?void 0:s.totalResults]}),o.jsx("a",{className:"searchstax-pagination-next",style:s!=null&&s.isLastPage?{pointerEvents:"none"}:{},onClick:v=>{d(v)},id:"searchstax-pagination-next",children:"Next >"})]})}),n.paginationTemplate&&o.jsx(o.Fragment,{children:n.paginationTemplate(s,d,p)})]})})}function xa(n){let e=!1;const[t,a]=P.useState(null),[s,r]=P.useState(""),[c]=P.useState(Math.random());P.useEffect(()=>{if(l(),b.searchstax)b.searchstax.addSearchSortingWidget("search-sorting-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(b.searchstax.dataLayer.$searchSortingData.subscribe(d=>{a(d)}),b.searchstax.dataLayer.$searchObject.subscribe(d=>{r(decodeURIComponent((d==null?void 0:d.order)??""))}),e=!0)}function h(d){var p;(p=b.searchstax.searchSortingWidget)==null||p.setOrderQuery(d)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"search-sorting-container"+c,children:[!n.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&o.jsxs("div",{className:"searchstax-sorting-container",children:[o.jsx("label",{className:"searchstax-sorting-label",htmlFor:"sort-by",children:"Sort By"}),o.jsxs("select",{id:"searchstax-search-order-select",className:"searchstax-search-order-select",value:s,onChange:d=>{h(d.target.value)},children:[o.jsx("option",{value:"",children:" Relevance "}),o.jsx("option",{value:"date desc",children:" Newest Content "}),o.jsx("option",{value:"date asc",children:" Oldest Content "})]})]}),n.searchSortingTemplate&&o.jsx(o.Fragment,{children:n.searchSortingTemplate(t,h,s)})]})})}function ba(n){let e=!1;const[t,a]=P.useState(null),[s]=P.useState(Math.random());P.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addSearchFeedbackWidget("search-feedback-container"+s,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchFeedbackData.subscribe(l=>{a(l)}),e=!0)}function c(l){var h;(h=b.searchstax.searchFeedbackWidget)==null||h.onOriginalQueryClick(l)}return o.jsx(o.Fragment,{children:o.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+s,children:[!n.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)&&o.jsxs(o.Fragment,{children:["Showing"," ",o.jsxs("b",{children:[t.startResultIndex," - ",t.endResultIndex]})," ","of",o.jsxs("b",{children:[" ",t.totalResults]})," results",t.searchTerm&&o.jsxs("span",{children:[' for "',o.jsx("b",{children:t.searchTerm}),'"'," "]}),o.jsx("div",{className:"searchstax-feedback-container-suggested",children:t.autoCorrectedQuery&&o.jsxs("div",{children:[" ","Search instead for"," ",o.jsx("a",{href:"#",onClick:l=>{c(l)},className:"searchstax-feedback-original-query",children:t.originalQuery})]})})]}),n.searchOverviewTemplate&&o.jsx(o.Fragment,{children:n.searchOverviewTemplate(t,c)})]})})}function Ca(n){const[e,t]=P.useState(null),[a,s]=P.useState(null),[r,c]=P.useState([]),[l,h]=P.useState({}),d={},p=Math.random();let v=!1;P.useEffect(()=>{if(C(),b.searchstax)b.searchstax.addFacetsWidget("searchstax-facets-container"+p,{facetingType:n.facetingType,specificFacets:n.specificFacets,itemsPerPageDesktop:n.itemsPerPageDesktop,itemsPerPageMobile:n.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function C(){v||(b.searchstax.dataLayer.$facetsTemplateData.subscribe(m=>{m!=null&&m.isMobile?s(m):t(m)}),b.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(m=>{c((m??[]).filter(O=>O.type==="checkbox"))}),v=!0)}function E(m){var y;(y=b.searchstax.searchFacetsWidget)==null||y.unselectFacet(m)}function A(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.removeSelectedFacets()}function R(m){return!l[m]}function L(m){R(m)?h({...l,[m]:!0}):h({...l,[m]:!1})}function I(m){var y;return(y=b.searchstax.searchFacetsWidget)==null?void 0:y.isChecked(m)}function T(m,y,O,$){var Q,Y;const X=document.createElement("div"),re=(Q=d[m])==null?void 0:Q.current;X.innerHTML=re.outerHTML,(Y=b.searchstax.searchFacetsWidget)==null||Y.onFacetSelect(y,O,re,$)}function D(m,y){var O;(O=b.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(m,y,!1)}function W(m,y){var O;(O=b.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(m,y,!0)}function N(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.openOverlay()}function K(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.closeOverlay()}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-facets-container"+p,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!n.facetsTemplateDesktop&&o.jsx("div",{className:"searchstax-facets-container-desktop",children:e==null?void 0:e.facets.map(m=>o.jsx("div",{className:`searchstax-facet-container ${R(m.name)?"active":""}`,children:o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{L(m.name)},children:[o.jsxs("div",{className:"searchstax-facet-title",children:[" ",m.label," "]}),o.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),o.jsxs("div",{className:"searchstax-facet-values-container",children:[m.values.map((y,O)=>(d[O+m.name]=P.createRef(),o.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+m.name],children:[o.jsx("div",{className:"searchstax-facet-input",children:o.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:I(y),readOnly:!0,disabled:y.disabled,onClick:$=>{T(O+m.name,$,y,!0)}})}),o.jsx("div",{className:"searchstax-facet-value-label",onClick:$=>{T(O+m.name,$,y,!1)},children:y.value}),o.jsxs("div",{className:"searchstax-facet-value-count",onClick:$=>{T(O+m.name,$,y,!1)},children:["(",y.count,")"]})]},y.value+y.parentName))),m.hasMoreFacets&&o.jsx("div",{className:"searchstax-facet-show-more-container",children:o.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:y=>{D(y,m)},children:[m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},m.name+"desktop"))}),n.facetsTemplateDesktop&&o.jsx(o.Fragment,{children:n.facetsTemplateDesktop(e,d,R,L,T,I,D)}),(a==null?void 0:a.hasResultsOrExternalPromotions)&&!n.facetsTemplateMobile&&o.jsx("div",{className:"searchstax-facets-container-mobile",children:o.jsxs("div",{className:"searchstax-facets-pills-container",children:[o.jsx("div",{className:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:()=>{N()},children:o.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),o.jsxs("div",{className:"searchstax-facets-pills-selected",children:[r.map(m=>o.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{E(m)},children:[o.jsxs("div",{className:"searchstax-facets-pill-label",children:[m.value," (",m.count,")"]}),o.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},m.value)),r.length!==0&&o.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{A()},children:o.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),o.jsxs("div",{className:`searchstax-facets-mobile-overlay ${a.overlayOpened?"searchstax-show":""}`,children:[o.jsxs("div",{className:"searchstax-facets-mobile-overlay-header",children:[o.jsx("div",{className:"searchstax-facets-mobile-overlay-header-title",children:"Filter By"}),o.jsx("div",{className:"searchstax-search-close",onClick:()=>{K()}})]}),o.jsx("div",{className:"searchstax-facets-container-mobile",children:a==null?void 0:a.facets.map(m=>o.jsx("div",{className:`searchstax-facet-container ${R(m.name)?"active":""}`,children:o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{L(m.name)},children:[o.jsxs("div",{className:"searchstax-facet-title",children:[" ",m.label," "]}),o.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),o.jsxs("div",{className:"searchstax-facet-values-container",children:[m.values.map((y,O)=>(d[O+m.name]=P.createRef(),o.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+m.name],children:[o.jsx("div",{className:"searchstax-facet-input",children:o.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:I(y),readOnly:!0,disabled:y.disabled,onClick:$=>{T(O+m.name,$,y,!0)}})}),o.jsx("div",{className:"searchstax-facet-value-label",onClick:$=>{T(O+m.name,$,y,!1)},children:y.value}),o.jsxs("div",{className:"searchstax-facet-value-count",onClick:$=>{T(O+m.name,$,y,!1)},children:["(",y.count,")"]})]},y.value+y.parentName))),o.jsx("div",{className:"searchstax-facet-show-more-container","v-if":"facet.hasMoreFacets",children:o.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:y=>{W(y,m)},children:[m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},m.name+"mobile"))}),o.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{K()},children:"Done"})]})]})}),n.facetsTemplateMobile&&o.jsx(o.Fragment,{children:n.facetsTemplateMobile(a,r,d,R,L,T,I,E,W,N,K,A)})]})})}function Sa(n){let e=!1;const[t,a]=P.useState(null),[s]=P.useState(Math.random());P.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+s,{relatedSearchesURL:n.relatedSearchesURL,relatedSearchesAPIKey:n.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(l=>{a(l)}),e=!0)}function c(l){var h;(h=b.searchstax.relatedSearchesWidget)==null||h.executeSearch(l)}return o.jsxs(o.Fragment,{children:[!n.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&o.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",o.jsx("span",{id:"searchstax-related-searches"}),t.relatedSearches&&o.jsx("span",{className:"searchstax-related-search",children:t.relatedSearches.map(l=>o.jsxs("span",{onClick:()=>{c(l)},className:"searchstax-related-search searchstax-related-search-item",children:[" ",l.related_search,!l.last&&o.jsx("span",{children:","})]},l.related_search))})]}),n.searchRelatedSearchesTemplate&&o.jsx(o.Fragment,{children:n.searchRelatedSearchesTemplate(t,c)})]})}function Ta(n){let e=!1;const[t,a]=P.useState(null),[s]=P.useState(Math.random());P.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+s,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(l=>{a(l)}),e=!0)}function c(l,h){var d;(d=b.searchstax.externalPromotionsWidget)==null||d.trackClick(l,h)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-external-promotions-layout-container"+s,children:[!n.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&o.jsx(o.Fragment,{children:t.externalPromotions.map(l=>o.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[o.jsx("div",{className:"icon-elevated"}),l.url&&o.jsx("a",{href:l.url,onClick:h=>{c(l,h)},className:"searchstax-result-item-link"}),o.jsx("div",{className:"searchstax-search-result-title-container",children:o.jsx("span",{className:"searchstax-search-result-title",children:l.name})}),l.description&&o.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.description," "]}),l.url&&o.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.url," "]})]},l.id))}),n.searchExternalPromotionsTemplate&&o.jsx(o.Fragment,{children:n.searchExternalPromotionsTemplate(t,c)})]})})}exports.SearchstaxExternalPromotionsWidget=Ta;exports.SearchstaxFacetsWidget=Ca;exports.SearchstaxInputWidget=ma;exports.SearchstaxOverviewWidget=ba;exports.SearchstaxPaginationWidget=ya;exports.SearchstaxRelatedSearchesWidget=Sa;exports.SearchstaxResultWidget=va;exports.SearchstaxSortingWidget=xa;exports.SearchstaxWrapper=fa;
|
|
@@ -246,4 +246,4 @@ Check the top-level render call using <`+f+">.")}return g}}function Ze(i,g){{if(
|
|
|
246
246
|
</div>
|
|
247
247
|
{{/hasResultsOrExternalPromotions}}
|
|
248
248
|
{{/searchExecuted}}
|
|
249
|
-
`,selectId:"searchstax-search-order-select"}};class x{}u(x,"externalPromotions",It),u(x,"facets",jt),u(x,"pagination",Pt),u(x,"relatedSearches",Ft),u(x,"searchFeedback",wt),u(x,"searchInput",Ot),u(x,"searchResults",Mt),u(x,"sorting",At);class Nt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"externalPromotionsContainerId"),u(this,"searchExternalPromotionsMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((a=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:a.externalPromotionsContainerId)||x.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,a,s,r;const c=document.getElementById(this.externalPromotionsContainerId);if(c){const l=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.externalPromotion)==null?void 0:s.template)||((r=x.externalPromotions.externalPromotion)==null?void 0:r.template),h=document.createElement("div");h.classList.add("searchstax-external-promotion"),h.addEventListener("click",d=>{this.trackClick(e,d)}),h.innerHTML=F.render(l,e),c.appendChild(h)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var t,a,s,r;const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=x.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===V.mustache){this.searchExternalPromotionsMainContainer.innerHTML=F.render(c,e);const l=document.getElementById(this.externalPromotionsContainerId);l&&(l.innerHTML="");for(const h of e.externalPromotions)this.addExternalSearch(h)}}}class Dt{constructor(e,t){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"routerHelper"),u(this,"cachedPhrase",""),u(this,"isCached",!1),u(this,"overlayOpened",!1),u(this,"facetPaginationStep"),u(this,"facetPaginationStepMobile"),u(this,"searchFacetsMainContainer",null),u(this,"searchFacetsMobileContainer",null),u(this,"searchFacetsDesktopContainer",null),u(this,"facetLimits",{}),u(this,"facetLimitsMobile",{}),u(this,"deactivatedFacets",{}),u(this,"cachedData",null),u(this,"cacheFacets"),u(this,"onFacetSelect",(a,s,r,c)=>{if(a.stopPropagation(),!s.disabled){const l=r.querySelector("input");l.checked=c?l.checked:!l.checked;const h=this.dataLayer.searchObject;let d=[...h.facets];const p=this.extractFacetValue(s);l.checked?d.find(v=>J.deepEqual(v,p)?v:!1)||(this.config.facetingType==="tabs"&&(d=d.filter(v=>v.name!==p.name)),d.push(p)):d=d.filter(v=>!J.deepEqual(v,p)),setTimeout(()=>{this.dataLayer.setSearchObject({...h,facets:d,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 a=t?this.facetPaginationStepMobile:this.facetPaginationStep,s=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{s[r.name]||(s[r.name]=a)}),e.map(r=>({...r,values:r.values.slice(0,s[r.name]),showingAllFacets:r.values.length<=s[r.name],hasMoreFacets:r.values.length>a}))}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(s=>{var r;const c=(r=this.dataLayer.searchFacets)==null?void 0:r.find(l=>l.name===s.name);return c?{...s,values:s.values.map(l=>{const h=c.values.find(d=>l.type==="range"?!1:l.type==="checkbox"?d.value===l.value:!1);return{...l,disabled:!h,isMobile:e}})}:{...s,values:s.values.map(l=>({...l,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(s=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(s.name)}));const a={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(a),a}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,a){var s,r,c,l,h,d,p,v,C,E,A,R;const L=document.createElement("div");L.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||L.classList.add("active");const P=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:c.template)||((l=x.facets.facetItemContainerTemplate)==null?void 0:l.template);L.innerHTML=F.render(P,e),t.appendChild(L);const T=L.querySelector("."+(((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)||((v=x.facets.facetItemContainerTemplate)==null?void 0:v.facetListTitleContainerClass)));T==null||T.addEventListener("click",()=>{L.classList.toggle("active")});const _=L.querySelector("."+(((A=(E=(C=this.config)==null?void 0:C.templates)==null?void 0:E.facetItemContainerTemplate)==null?void 0:A.facetListContainerClass)||((R=x.facets.facetItemContainerTemplate)==null?void 0:R.facetListContainerClass)));_&&(e.values.forEach(B=>{this.createFacetListItem(B,_)}),e.hasMoreFacets&&this.createHasMoreComponent(e,_,a))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>J.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var a,s,r,c,l,h,d,p,v,C,E,A,R;const L=document.createElement("div");L.classList.add("searchstax-facet-value-container"),e.disabled&&L.classList.add("searchstax-facet-value-disabled");const P=this.isChecked(e),T=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.facetItemTemplate)==null?void 0:r.template)||((c=x.facets.facetItemTemplate)==null?void 0:c.template);L.innerHTML=F.render(T,{...e,isChecked:P});let _=(l=x.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;_=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemTemplate)==null?void 0:p.checkTriggerClasses)||_,_.forEach(B=>{var N;(N=L.querySelector("."+B))==null||N.addEventListener("click",K=>{this.onFacetSelect(K,e,L)})}),(R=L.querySelector("."+(((E=(C=(v=this.config)==null?void 0:v.templates)==null?void 0:C.facetItemTemplate)==null?void 0:E.inputCheckboxClass)||((A=x.facets.facetItemTemplate)==null?void 0:A.inputCheckboxClass))))==null||R.addEventListener("click",B=>{this.onFacetSelect(B,e,L,!0)}),t.appendChild(L)}createHasMoreComponent(e,t,a){var s,r,c,l,h,d,p,v;const C=document.createElement("div");C.classList.add("searchstax-facet-show-more-container");const E=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:c.template)||((l=x.facets.showMoreButtonContainerTemplate)==null?void 0:l.template);C.innerHTML=F.render(E,e);const A=C.querySelector("."+(((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)||((v=x.facets.showMoreButtonContainerTemplate)==null?void 0:v.showMoreButtonClass)));A&&(this.attachOnclickToShowMore(e,A,a),t&&t.appendChild(A))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const s=a?this.facetPaginationStepMobile:this.facetPaginationStep,r=a?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=s*2:r[t.name]<=t.values.length?r[t.name]=r[t.name]+s:r[t.name]=s,this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,c,l,h,d,p,v,C,E;if(e&&(!J.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const A=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((c=x.facets.mainTemplateDesktop)==null?void 0:c.template);if(this.dataLayer.renderingEngine===V.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=F.render(A,{...e});const R=(p=this.searchFacetsMainContainer)==null?void 0:p.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:d.facetsContainerClass)||x.facets.mainTemplateDesktop.facetsContainerClass));if(R){R.innerHTML="";for(const L of e.facets)this.createFacetItem(L,R);if(this.searchFacetsMainContainer){const L=this.searchFacetsMainContainer.querySelector("."+(((E=(C=(v=this.config)==null?void 0:v.templates)==null?void 0:C.mainTemplateDesktop)==null?void 0:E.selectedFacetsContainerClass)||x.facets.mainTemplateDesktop.selectedFacetsContainerClass));L&&(this.createSelectedFacetsComponents(L),this.createClearFacetsComponents(L))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const s=decodeURIComponent(a.name),r=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const c=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,l=c==null?void 0:c.find(h=>h.name===s);if(l){const h=l.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?`"${d.value}"`==`"${r}"`:!1);h&&e.push(h)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var t,a,s,r,c,l,h,d;const p=this.dataLayer.searchObject,v=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=x.facets.clearFacetsTemplate)==null?void 0:r.template),C=document.createElement("div");C.innerHTML=F.render(v,{shouldShow:p.facets.length>0});const E=C.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.clearFacetsTemplate)==null?void 0:h.containerClass)||((d=x.facets.clearFacetsTemplate)==null?void 0:d.containerClass)));E&&(E.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(E))}createSelectedFacetsComponent(e,t){var a,s,r,c,l,h,d,p;const v=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((c=x.facets.selectedFacetsTemplate)==null?void 0:c.template),C=document.createElement("div");C.innerHTML=F.render(v,t);const E=C.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.selectedFacetsTemplate)==null?void 0:d.containerClass)||((p=x.facets.selectedFacetsTemplate)==null?void 0:p.containerClass)));E&&(E.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(E))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(s=>JSON.stringify(s)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,a,s,r,c,l,h,d;const p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=x.facets.filterByTemplate)==null?void 0:r.template),v=document.createElement("div");v.innerHTML=F.render(p,{});const C=v.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.filterByTemplate)==null?void 0:h.containerClass)||((d=x.facets.filterByTemplate)==null?void 0:d.containerClass)));C&&(e.prepend(C),C.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,a,s,r,c,l,h,d,p,v,C,E,A,R,L,P,T,_,B;if(e){const N=document.createElement("div");N.classList.add("searchstax-facets-container-mobile");const K=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=x.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===V.mustache){if(N.innerHTML=F.render(K,{...e,overlayOpened:this.overlayOpened}),(c=this.searchFacetsMainContainer)==null||c.appendChild(N),(h=(l=this.config)==null?void 0:l.templates)!=null&&h.mainTemplateMobile)for(const H of((v=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplateMobile)==null?void 0:v.closeOverlayTriggerClasses)||[]){const Z=N.querySelector("."+H);Z&&Z.addEventListener("click",this.closeOverlay.bind(this))}else for(const H of x.facets.mainTemplateMobile.closeOverlayTriggerClasses){const Z=N.querySelector("."+H);Z&&Z.addEventListener("click",this.closeOverlay.bind(this))}const m=N.querySelector("."+(((A=(E=(C=this.config)==null?void 0:C.templates)==null?void 0:E.mainTemplateMobile)==null?void 0:A.filterByContainerClass)||x.facets.mainTemplateMobile.filterByContainerClass));m&&this.createFilterByComponent(m);const y=N.querySelector("."+(((P=(L=(R=this.config)==null?void 0:R.templates)==null?void 0:L.mainTemplateMobile)==null?void 0:P.selectedFacetsContainerClass)||x.facets.mainTemplateMobile.selectedFacetsContainerClass));y&&(this.createSelectedFacetsComponents(y),this.createClearFacetsComponents(y));const O=N.querySelector("."+(((B=(_=(T=this.config)==null?void 0:T.templates)==null?void 0:_.mainTemplateMobile)==null?void 0:B.facetsContainerClass)||x.facets.mainTemplateMobile.facetsContainerClass));if(O){O.innerHTML="";for(const H of e.facets)this.createFacetItem(H,O,!0)}}}}}class _t{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"previousButtonClass"),u(this,"nextButtonClass"),u(this,"routerHelper"),u(this,"searchPaginationMainContainer",null);var t,a,s,r,c,l;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.previousButtonClass)??x.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((l=(c=(r=this.config)==null?void 0:r.templates)==null?void 0:c.mainTemplate)==null?void 0:l.nextButtonClass)??x.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,a,s;const r={...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:(s=this.routerHelper)==null?void 0:s.searchObjectToUrl({...this.dataLayer.searchObject,page:((a=this.dataLayer.searchObject)==null?void 0:a.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,a,s,r,c,l;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(a=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||a.removeEventListener("click",this.nextPage));const h=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.mainTemplate)==null?void 0:c.template)||((l=x.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.renderingEngine===V.mustache&&(this.searchPaginationMainContainer.innerHTML=F.render(h,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Ht{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"relatedSearchesContainerClass"),u(this,"searchRelatedSearchesMainContainer",null),u(this,"track");var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.relatedSearchesContainerClass)||x.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 a,s,r,c,l;const h=document.createElement("div"),d=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||x.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===V.mustache){h.innerHTML=F.render(d,e);const p=h.querySelector("."+(((l=(c=this.config.templates)==null?void 0:c.relatedSearch)==null?void 0:l.relatedSearchContainerClass)||x.relatedSearches.relatedSearch.relatedSearchContainerClass));p&&(t.appendChild(p),p.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,a,s,r;const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.relatedSearches.main.template;if(this.dataLayer.renderingEngine===V.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=F.render(c,e);const l=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(l)for(const h of e.relatedSearches)this.addRelatedSearchComponent(h,l)}}}class Wt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"searchFeedbackMainContainer",null),u(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 a=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(a,!0)}attachClick(){var e,t,a,s,r;const c=(r=this.searchFeedbackMainContainer)==null?void 0:r.querySelector("."+(((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:a.originalQueryClass)||((s=x.searchFeedback.main)==null?void 0:s.originalQueryClass)));c&&c.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,a,s;const r=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.searchFeedback.main.template;this.dataLayer.renderingEngine===V.mustache&&(this.searchFeedbackMainContainer.innerHTML=F.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class qt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"suggestAfterMinChars"),u(this,"containerId"),u(this,"currentInputValue",""),u(this,"autosuggestResults"),u(this,"searchInput"),u(this,"actionButton"),u(this,"autosuggestContainer"),u(this,"buttonState","search"),u(this,"selectedAutosuggestItem",-1),u(this,"suggestTrigger"),u(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,a,s;const r=document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const c=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||x.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===V.mustache){const d=F.render(c,{});r.innerHTML=d}const l=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||x.searchInput.mainTemplate.searchInputId,h=document.querySelector(`#${l}`);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===V.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 a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.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 G.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,a,s;const r=document.createElement("div");r.classList.add("searchstax-autosuggest-item"),r.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),r.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const c=((a=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:a.template)||((s=x.searchInput.autosuggestItemTemplate)==null?void 0:s.template);return r.innerHTML=F.render(c,e),r}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 a=e.suggest[t];for(const s in a)if(Object.prototype.hasOwnProperty.call(a,s)){const r=a[s];this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(c=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(c))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Bt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"linkClickCallback"),u(this,"searchCallback"),u(this,"containerId"),u(this,"searchResultsMainContainer"),u(this,"searchResultsContainer"),u(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,a,s,r;const c=((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:a.template)||((s=x.searchResults.noSearchResultTemplate)==null?void 0:s.template),l=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===V.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=F.render(c,{spellingSuggestion:l,searchTerm:this.dataLayer.searchTerm})),l&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),this.searchCallback(l)})}}renderResults(e){var t,a,s,r;if(this.dataLayer.renderingEngine===V.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=x.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(h=>F.render(c,h));this.searchResultsContainer.innerHTML=l.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,a,s;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((s=x.searchResults.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var e,t,a,s;const r=((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:a.template)||((s=x.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===V.mustache&&(this.searchResultsMainContainer.innerHTML=F.render(r,{}),setTimeout(()=>{var c,l,h,d,p,v,C;const E=(h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.mainTemplate)!=null&&h.searchResultsContainerId?(v=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplate)==null?void 0:v.searchResultsContainerId:(C=x.searchResults.mainTemplate)==null?void 0:C.searchResultsContainerId,A=document.getElementById(E);if(A)this.searchResultsContainer=A;else throw new Error(`Search Results Container with id ${E} not found`)},0))}}class Vt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"selectId"),u(this,"searchSortingMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.selectId)||x.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,a,s;const r=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.sorting.main.template;if(this.dataLayer.renderingEngine===V.mustache){this.searchSortingMainContainer.innerHTML=F.render(r,e),this.markOptionSelected();const c=document.getElementById(this.selectId);c&&c.addEventListener("change",l=>{this.setOrderQuery(l.target.value)})}}}class $t{constructor(e=V.mustache){u(this,"routerEnabled",!1),u(this,"cachedQuery",""),u(this,"routerHelper"),u(this,"searchHelper"),u(this,"searchResultsConfig"),u(this,"searchPaginationConfig"),u(this,"searchFeedbackConfig"),u(this,"searchSortingConfig"),u(this,"searchFacetsConfig"),u(this,"relatedSearchesConfig"),u(this,"externalPromotionsConfig"),u(this,"searchInputWidget"),u(this,"searchResultsWidget"),u(this,"searchFacetsWidget"),u(this,"searchPaginationWidget"),u(this,"searchFeedbackWidget"),u(this,"searchSortingWidget"),u(this,"relatedSearchesWidget"),u(this,"externalPromotionsWidget"),u(this,"dataLayer",new lt(ut.getOrSetCookie("searchstax_session_id"))),u(this,"firstRequest",!0),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=V.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(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{a.query!==""&&this.search(a)}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&le.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,a;e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new ht({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new we(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 we({})}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 a=(((t=e.response)==null?void 0:t.docs)??[]).map((r,c)=>({...r,position:c+1})),s=[];for(const r of a)s.push({relatedSearch:r.related_search,position:r.position});this.dataLayer.searchResultsMetadata&&le.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var t,a;this.handleRouter();let s=ce.combineResultsWithMetadata(e),r=ce.extractFacets(e);this.dataLayer.setSearchFacets(r),(a=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&a.afterSearch&&(s=this.dataLayer.searchstaxConfig.hooks.afterSearch(s)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const c=ce.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(c),this.dataLayer.setSearchResults(s)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,a;let s=e;(a=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&a.afterAutosuggest&&(s=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(s)}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 qt({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 Bt({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 _t({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Wt({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new Vt({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Ht({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 Nt({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Dt({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var a,s;const r={...this.dataLayer.searchObject};r.query=G.removeXSSRiskyTags(e),r.page=1,r.facets=[],this.dataLayer.forceNotCorrect=!!t;let c=(a=this.routerHelper)==null?void 0:a.searchObjectToParams(r);c&&(c=(s=this.routerHelper)==null?void 0:s.extractParamsThatDoNotStartWithRouteName(c)),c&&(r.additionalProps=Object.keys(c).map(l=>c?{key:l,value:c[l]}:{key:"",value:""})),this.dataLayer.setSearchObject(r)}executeSuggest(e){var t,a;let s={term:e,queryParams:[]};(a=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&a.beforeAutosuggest&&(s=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(s)),s&&s.term!==void 0&&s.queryParams!==void 0&&this.suggest(s.term,s.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&le.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,a;let s=ce.findResultByUniqueId(e,this.dataLayer.searchResults??[]);s&&((a=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&a.afterLinkClick&&(s=this.searchResultsConfig.hooks.afterLinkClick(s)),s&&this.dataLayer.searchResultsMetadata&&(le.trackClick({result:s,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(s==null?void 0:s.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,a,s;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(s=this.searchResultsWidget)==null||s.changeTemplate())}}const b={searchstax:new $t("react")};function Ut(n){let e=!1;const[t,a]=j.useState([]);j.useEffect(()=>{if(s(),b.searchstax){const h={};n.afterAutosuggest&&(h.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(h.beforeAutosuggest=n.beforeAutosuggest),b.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:n.suggestAfterMinChars??3,hooks:h,templates:{mainTemplate:{template:"",searchInputId:n.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")},[]);function s(){e||(b.searchstax.dataLayer.$autosuggestResults.subscribe(h=>{a((h==null?void 0:h.suggestions)??[])}),e=!0)}function r(){var h,d;(h=b.searchstax.searchInputWidget)==null||h.resetAutosuggestSelection(),(d=b.searchstax.searchInputWidget)==null||d.markActiveAutosuggestItem()}function c(h){var d;(d=b.searchstax.searchInputWidget)==null||d.onSuggestionEnter(h)}function l(){var h;(h=b.searchstax.searchInputWidget)==null||h.suggestionChosen()}return o.jsx(o.Fragment,{children:o.jsx("div",{id:"searchstax-input-container",children:o.jsxs("div",{className:"searchstax-search-input-container",children:[!n.inputTemplate&&o.jsxs("div",{className:"searchstax-search-input-wrapper",children:[o.jsx("input",{type:"text",id:"searchstax-search-input",className:"searchstax-search-input",placeholder:"SEARCH FOR..."}),o.jsx("div",{className:`searchstax-autosuggest-container ${t.length===0?"hidden":""}`,onMouseLeave:r,children:t.map(function(h){return o.jsx("div",{className:"searchstax-autosuggest-item",children:o.jsx("div",{className:"searchstax-autosuggest-item-term-container",dangerouslySetInnerHTML:{__html:h.term},onMouseOver:()=>{c(h)},onClick:()=>{l()}})},h.term)})}),o.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button"})]}),n.inputTemplate&&o.jsx(o.Fragment,{children:n.inputTemplate(t,r,c,l)})]})})})}function Kt(n){return j.useEffect(()=>{const e={};n.beforeSearch&&(e.beforeSearch=n.beforeSearch),n!=null&&n.afterSearch&&(e.afterSearch=n.afterSearch),b.searchstax.initialize({language:n.language??"en",searchURL:n.searchURL,suggesterURL:n.suggesterURL,trackApiKey:n.trackApiKey,searchAuth:n.searchAuth,authType:n.authType??"basic",autoCorrect:n.autoCorrect,router:n.router,hooks:e}),n.initialized(b.searchstax)},[n.initialized]),o.jsx(o.Fragment,{children:n.children})}function Qt(n){const[e,t]=j.useState(null),[a,s]=j.useState(""),[r,c]=j.useState(null),l=(d,p)=>{p.preventDefault(),p.stopPropagation(),b.searchstax.executeLinkClick(d.uniqueId)};j.useEffect(()=>{h();const d={};n.afterLinkClick&&(d.afterLinkClick=n.afterLinkClick),b.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},hooks:d})},[]);function h(){b.searchstax.dataLayer.$searchResults.subscribe(d=>{t(d)}),b.searchstax.dataLayer.$searchTermChange.subscribe(d=>{s(d)}),b.searchstax.dataLayer.$searchResultsMetadata.subscribe(d=>{c(d)})}return o.jsx(o.Fragment,{children:o.jsx("div",{id:"searchstax-results-container",children:o.jsx("div",{className:"searchstax-search-results-container",children:o.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&!n.noResultTemplate&&o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",o.jsx("strong",{children:"no results"})," for ",o.jsxs("strong",{children:['"',a,'"']}),o.jsx("br",{}),(r==null?void 0:r.spellingSuggestion)&&o.jsxs("span",{children:[" Did you mean"," ",o.jsx("a",{href:"#",className:"searchstax-suggestion-term",children:r==null?void 0:r.spellingSuggestion}),"?"]})]}),o.jsxs("div",{children:[o.jsxs("p",{children:[" ","Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need."," "]}),o.jsx("p",{children:"Lost? Click on the ‘X” in the Search Box to reset your search."})]})]}),e&&e.length===0&&n.noResultTemplate&&o.jsx(o.Fragment,{children:n.noResultTemplate(a,r)}),e&&e.length&&!n.resultsTemplate&&o.jsx("div",{className:"searchstax-search-results",children:e!==null&&e.map(function(d){return o.jsxs("div",{className:`searchstax-search-result ${d.thumbnail?"has-thumbnail":""}`,children:[d.promoted&&o.jsx("div",{className:"searchstax-search-result-promoted"}),d.url&&o.jsx("a",{href:d.url,"data-searchstax-unique-result-id":d.uniqueId,onClick:p=>{l(d,p)},className:"searchstax-result-item-link"}),d.ribbon&&o.jsx("div",{className:"searchstax-search-result-ribbon",children:d.ribbon}),d.thumbnail&&o.jsx("img",{src:d.thumbnail,className:"searchstax-thumbnail"}),o.jsx("div",{className:"searchstax-search-result-title-container",children:o.jsx("span",{className:"searchstax-search-result-title",children:d.title})}),d.paths&&o.jsx("p",{className:"searchstax-search-result-common",children:d.paths}),d.description&&o.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:d.description}),d.unmappedFields.map(function(p){return o.jsxs("div",{children:[p.isImage&&typeof p.value=="string"&&o.jsx("div",{className:"searchstax-search-result-image-container",children:o.jsx("img",{src:p.value,className:"searchstax-result-image"})}),!p.isImage&&o.jsx("div",{children:o.jsx("p",{className:"searchstax-search-result-common",children:p.value})})]},p.key)})]},d.uniqueId)})}),e&&e.length&&n.resultsTemplate&&o.jsx(o.Fragment,{children:n.resultsTemplate(e,l)})]})})})})}function zt(n){let e=!1;const[t,a]=j.useState(!1),[s,r]=j.useState(null),[c]=j.useState(Math.random());j.useEffect(()=>{if(l(),b.searchstax)b.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(b.searchstax.dataLayer.$searchObject.subscribe(()=>{h()}),b.searchstax.dataLayer.$paginationData.subscribe(v=>{r(v)}),e=!0)}function h(){!t&&b.searchstax.routerHelper&&(a(!0),b.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{}))}function d(v){var C;(C=b.searchstax.searchPaginationWidget)==null||C.nextPage(v)}function p(v){var C;(C=b.searchstax.searchPaginationWidget)==null||C.previousPage(v)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-pagination-container"+c,children:[!n.paginationTemplate&&s&&(s==null?void 0:s.totalResults)!==0&&o.jsx("div",{className:"searchstax-pagination-container",children:o.jsxs("div",{className:"searchstax-pagination-content",children:[o.jsxs("a",{className:"searchstax-pagination-previous",style:s!=null&&s.isFirstPage?{pointerEvents:"none"}:{},onClick:v=>{p(v)},id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),o.jsxs("div",{className:"searchstax-pagination-details",children:[" ",s==null?void 0:s.startResultIndex," - ",s==null?void 0:s.endResultIndex," of ",s==null?void 0:s.totalResults]}),o.jsx("a",{className:"searchstax-pagination-next",style:s!=null&&s.isLastPage?{pointerEvents:"none"}:{},onClick:v=>{d(v)},id:"searchstax-pagination-next",children:"Next >"})]})}),n.paginationTemplate&&o.jsx(o.Fragment,{children:n.paginationTemplate(s,d,p)})]})})}function Jt(n){let e=!1;const[t,a]=j.useState(null),[s,r]=j.useState(""),[c]=j.useState(Math.random());j.useEffect(()=>{if(l(),b.searchstax)b.searchstax.addSearchSortingWidget("search-sorting-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(b.searchstax.dataLayer.$searchSortingData.subscribe(d=>{a(d)}),b.searchstax.dataLayer.$searchObject.subscribe(d=>{r(decodeURIComponent((d==null?void 0:d.order)??""))}),e=!0)}function h(d){var p;(p=b.searchstax.searchSortingWidget)==null||p.setOrderQuery(d)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"search-sorting-container"+c,children:[!n.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&o.jsxs("div",{className:"searchstax-sorting-container",children:[o.jsx("label",{className:"searchstax-sorting-label",htmlFor:"sort-by",children:"Sort By"}),o.jsxs("select",{id:"searchstax-search-order-select",className:"searchstax-search-order-select",value:s,onChange:d=>{h(d.target.value)},children:[o.jsx("option",{value:"",children:" Relevance "}),o.jsx("option",{value:"date desc",children:" Newest Content "}),o.jsx("option",{value:"date asc",children:" Oldest Content "})]})]}),n.searchSortingTemplate&&o.jsx(o.Fragment,{children:n.searchSortingTemplate(t,h,s)})]})})}function Yt(n){let e=!1;const[t,a]=j.useState(null),[s]=j.useState(Math.random());j.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addSearchFeedbackWidget("search-feedback-container"+s,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchFeedbackData.subscribe(l=>{a(l)}),e=!0)}function c(l){var h;(h=b.searchstax.searchFeedbackWidget)==null||h.onOriginalQueryClick(l)}return o.jsx(o.Fragment,{children:o.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+s,children:[!n.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)&&o.jsxs(o.Fragment,{children:["Showing"," ",o.jsxs("b",{children:[t.startResultIndex," - ",t.endResultIndex]})," ","of",o.jsxs("b",{children:[" ",t.totalResults]})," results",t.searchTerm&&o.jsxs("span",{children:[' for "',o.jsx("b",{children:t.searchTerm}),'"'," "]}),o.jsx("div",{className:"searchstax-feedback-container-suggested",children:t.autoCorrectedQuery&&o.jsxs("div",{children:[" ","Search instead for"," ",o.jsx("a",{href:"#",onClick:l=>{c(l)},className:"searchstax-feedback-original-query",children:t.originalQuery})]})})]}),n.searchOverviewTemplate&&o.jsx(o.Fragment,{children:n.searchOverviewTemplate(t,c)})]})})}function Xt(n){const[e,t]=j.useState(null),[a,s]=j.useState(null),[r,c]=j.useState([]),[l,h]=j.useState({}),d={},p=Math.random();let v=!1;j.useEffect(()=>{if(C(),b.searchstax)b.searchstax.addFacetsWidget("searchstax-facets-container"+p,{facetingType:n.facetingType,specificFacets:n.specificFacets,itemsPerPageDesktop:n.itemsPerPageDesktop,itemsPerPageMobile:n.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function C(){v||(b.searchstax.dataLayer.$facetsTemplateData.subscribe(m=>{m!=null&&m.isMobile?s(m):t(m)}),b.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(m=>{c((m??[]).filter(O=>O.type==="checkbox"))}),v=!0)}function E(m){var y;(y=b.searchstax.searchFacetsWidget)==null||y.unselectFacet(m)}function A(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.removeSelectedFacets()}function R(m){return!l[m]}function L(m){R(m)?h({...l,[m]:!0}):h({...l,[m]:!1})}function P(m){var y;return(y=b.searchstax.searchFacetsWidget)==null?void 0:y.isChecked(m)}function T(m,y,O,H){var Q,X;const Z=document.createElement("div"),ue=(Q=d[m])==null?void 0:Q.current;Z.innerHTML=ue.outerHTML,(X=b.searchstax.searchFacetsWidget)==null||X.onFacetSelect(y,O,ue,H)}function _(m,y){var O;(O=b.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(m,y,!1)}function B(m,y){var O;(O=b.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(m,y,!0)}function N(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.openOverlay()}function K(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.closeOverlay()}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-facets-container"+p,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!n.facetsTemplateDesktop&&o.jsx("div",{className:"searchstax-facets-container-desktop",children:e==null?void 0:e.facets.map(m=>o.jsx("div",{className:`searchstax-facet-container ${R(m.name)?"active":""}`,children:o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{L(m.name)},children:[o.jsxs("div",{className:"searchstax-facet-title",children:[" ",m.label," "]}),o.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),o.jsxs("div",{className:"searchstax-facet-values-container",children:[m.values.map((y,O)=>(d[O+m.name]=j.createRef(),o.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+m.name],children:[o.jsx("div",{className:"searchstax-facet-input",children:o.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(y),readOnly:!0,disabled:y.disabled,onClick:H=>{T(O+m.name,H,y,!0)}})}),o.jsx("div",{className:"searchstax-facet-value-label",onClick:H=>{T(O+m.name,H,y,!1)},children:y.value}),o.jsxs("div",{className:"searchstax-facet-value-count",onClick:H=>{T(O+m.name,H,y,!1)},children:["(",y.count,")"]})]},y.value+y.parentName))),m.hasMoreFacets&&o.jsx("div",{className:"searchstax-facet-show-more-container",children:o.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:y=>{_(y,m)},children:[m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},m.name+"desktop"))}),n.facetsTemplateDesktop&&o.jsx(o.Fragment,{children:n.facetsTemplateDesktop(e,d,R,L,T,P,_)}),(a==null?void 0:a.hasResultsOrExternalPromotions)&&!n.facetsTemplateMobile&&o.jsx("div",{className:"searchstax-facets-container-mobile",children:o.jsxs("div",{className:"searchstax-facets-pills-container",children:[o.jsx("div",{className:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:()=>{N()},children:o.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),o.jsxs("div",{className:"searchstax-facets-pills-selected",children:[r.map(m=>o.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{E(m)},children:[o.jsxs("div",{className:"searchstax-facets-pill-label",children:[m.value," (",m.count,")"]}),o.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},m.value)),r.length!==0&&o.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{A()},children:o.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),o.jsxs("div",{className:`searchstax-facets-mobile-overlay ${a.overlayOpened?"searchstax-show":""}`,children:[o.jsxs("div",{className:"searchstax-facets-mobile-overlay-header",children:[o.jsx("div",{className:"searchstax-facets-mobile-overlay-header-title",children:"Filter By"}),o.jsx("div",{className:"searchstax-search-close",onClick:()=>{K()}})]}),o.jsx("div",{className:"searchstax-facets-container-mobile",children:a==null?void 0:a.facets.map(m=>o.jsx("div",{className:`searchstax-facet-container ${R(m.name)?"active":""}`,children:o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{L(m.name)},children:[o.jsxs("div",{className:"searchstax-facet-title",children:[" ",m.label," "]}),o.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),o.jsxs("div",{className:"searchstax-facet-values-container",children:[m.values.map((y,O)=>(d[O+m.name]=j.createRef(),o.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+m.name],children:[o.jsx("div",{className:"searchstax-facet-input",children:o.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(y),readOnly:!0,disabled:y.disabled,onClick:H=>{T(O+m.name,H,y,!0)}})}),o.jsx("div",{className:"searchstax-facet-value-label",onClick:H=>{T(O+m.name,H,y,!1)},children:y.value}),o.jsxs("div",{className:"searchstax-facet-value-count",onClick:H=>{T(O+m.name,H,y,!1)},children:["(",y.count,")"]})]},y.value+y.parentName))),o.jsx("div",{className:"searchstax-facet-show-more-container","v-if":"facet.hasMoreFacets",children:o.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:y=>{B(y,m)},children:[m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},m.name+"mobile"))}),o.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{K()},children:"Done"})]})]})}),n.facetsTemplateMobile&&o.jsx(o.Fragment,{children:n.facetsTemplateMobile(a,r,d,R,L,T,P,E,B,N,K,A)})]})})}function Gt(n){let e=!1;const[t,a]=j.useState(null),[s]=j.useState(Math.random());j.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+s,{relatedSearchesURL:n.relatedSearchesURL,relatedSearchesAPIKey:n.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(l=>{a(l)}),e=!0)}function c(l){var h;(h=b.searchstax.relatedSearchesWidget)==null||h.executeSearch(l)}return o.jsxs(o.Fragment,{children:[!n.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&o.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",o.jsx("span",{id:"searchstax-related-searches"}),t.relatedSearches&&o.jsx("span",{className:"searchstax-related-search",children:t.relatedSearches.map(l=>o.jsxs("span",{onClick:()=>{c(l)},className:"searchstax-related-search searchstax-related-search-item",children:[" ",l.related_search,!l.last&&o.jsx("span",{children:","})]},l.related_search))})]}),n.searchRelatedSearchesTemplate&&o.jsx(o.Fragment,{children:n.searchRelatedSearchesTemplate(t,c)})]})}function Zt(n){let e=!1;const[t,a]=j.useState(null),[s]=j.useState(Math.random());j.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+s,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(l=>{a(l)}),e=!0)}function c(l,h){var d;(d=b.searchstax.externalPromotionsWidget)==null||d.trackClick(l,h)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-external-promotions-layout-container"+s,children:[!n.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&o.jsx(o.Fragment,{children:t.externalPromotions.map(l=>o.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[o.jsx("div",{className:"icon-elevated"}),l.url&&o.jsx("a",{href:l.url,onClick:h=>{c(l,h)},className:"searchstax-result-item-link"}),o.jsx("div",{className:"searchstax-search-result-title-container",children:o.jsx("span",{className:"searchstax-search-result-title",children:l.name})}),l.description&&o.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.description," "]}),l.url&&o.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.url," "]})]},l.id))}),n.searchExternalPromotionsTemplate&&o.jsx(o.Fragment,{children:n.searchExternalPromotionsTemplate(t,c)})]})})}Y.SearchstaxExternalPromotionsWidget=Zt,Y.SearchstaxFacetsWidget=Xt,Y.SearchstaxInputWidget=Ut,Y.SearchstaxOverviewWidget=Yt,Y.SearchstaxPaginationWidget=zt,Y.SearchstaxRelatedSearchesWidget=Gt,Y.SearchstaxResultWidget=Qt,Y.SearchstaxSortingWidget=Jt,Y.SearchstaxWrapper=Kt,Object.defineProperty(Y,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxReact"]=this["@searchstaxInc/searchstudioUxReact"]||{},React);
|
|
249
|
+
`,selectId:"searchstax-search-order-select"}};class x{}u(x,"externalPromotions",It),u(x,"facets",jt),u(x,"pagination",Pt),u(x,"relatedSearches",Ft),u(x,"searchFeedback",wt),u(x,"searchInput",Ot),u(x,"searchResults",Mt),u(x,"sorting",At);class Nt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"externalPromotionsContainerId"),u(this,"searchExternalPromotionsMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((a=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:a.externalPromotionsContainerId)||x.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,a,s,r;const c=document.getElementById(this.externalPromotionsContainerId);if(c){const l=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.externalPromotion)==null?void 0:s.template)||((r=x.externalPromotions.externalPromotion)==null?void 0:r.template),h=document.createElement("div");h.classList.add("searchstax-external-promotion"),h.addEventListener("click",d=>{this.trackClick(e,d)}),h.innerHTML=F.render(l,e),c.appendChild(h)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var t,a,s,r;const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=x.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===V.mustache){this.searchExternalPromotionsMainContainer.innerHTML=F.render(c,e);const l=document.getElementById(this.externalPromotionsContainerId);l&&(l.innerHTML="");for(const h of e.externalPromotions)this.addExternalSearch(h)}}}class Dt{constructor(e,t){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"routerHelper"),u(this,"cachedPhrase",""),u(this,"isCached",!1),u(this,"overlayOpened",!1),u(this,"facetPaginationStep"),u(this,"facetPaginationStepMobile"),u(this,"searchFacetsMainContainer",null),u(this,"searchFacetsMobileContainer",null),u(this,"searchFacetsDesktopContainer",null),u(this,"facetLimits",{}),u(this,"facetLimitsMobile",{}),u(this,"deactivatedFacets",{}),u(this,"cachedData",null),u(this,"cacheFacets"),u(this,"onFacetSelect",(a,s,r,c)=>{if(a.stopPropagation(),!s.disabled){const l=r.querySelector("input");l.checked=c?l.checked:!l.checked;const h=this.dataLayer.searchObject;let d=[...h.facets];const p=this.extractFacetValue(s);l.checked?d.find(v=>J.deepEqual(v,p)?v:!1)||(this.config.facetingType==="tabs"&&(d=d.filter(v=>v.name!==p.name)),d.push(p)):d=d.filter(v=>!J.deepEqual(v,p)),setTimeout(()=>{this.dataLayer.setSearchObject({...h,facets:d,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 a=t?this.facetPaginationStepMobile:this.facetPaginationStep,s=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{s[r.name]||(s[r.name]=a)}),e.map(r=>({...r,values:r.values.slice(0,s[r.name]),showingAllFacets:r.values.length<=s[r.name],hasMoreFacets:r.values.length>a}))}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(s=>{var r;const c=(r=this.dataLayer.searchFacets)==null?void 0:r.find(l=>l.name===s.name);return c?{...s,values:s.values.map(l=>{const h=c.values.find(d=>l.type==="range"?!1:l.type==="checkbox"?d.value===l.value:!1);return{...l,disabled:!h,isMobile:e}})}:{...s,values:s.values.map(l=>({...l,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(s=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(s.name)}));const a={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(a),a}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,a){var s,r,c,l,h,d,p,v,C,E,A,R;const L=document.createElement("div");L.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||L.classList.add("active");const P=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:c.template)||((l=x.facets.facetItemContainerTemplate)==null?void 0:l.template);L.innerHTML=F.render(P,e),t.appendChild(L);const T=L.querySelector("."+(((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)||((v=x.facets.facetItemContainerTemplate)==null?void 0:v.facetListTitleContainerClass)));T==null||T.addEventListener("click",()=>{L.classList.toggle("active")});const _=L.querySelector("."+(((A=(E=(C=this.config)==null?void 0:C.templates)==null?void 0:E.facetItemContainerTemplate)==null?void 0:A.facetListContainerClass)||((R=x.facets.facetItemContainerTemplate)==null?void 0:R.facetListContainerClass)));_&&(e.values.forEach(B=>{this.createFacetListItem(B,_)}),e.hasMoreFacets&&this.createHasMoreComponent(e,_,a))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>J.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var a,s,r,c,l,h,d,p,v,C,E,A,R;const L=document.createElement("div");L.classList.add("searchstax-facet-value-container"),e.disabled&&L.classList.add("searchstax-facet-value-disabled");const P=this.isChecked(e),T=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.facetItemTemplate)==null?void 0:r.template)||((c=x.facets.facetItemTemplate)==null?void 0:c.template);L.innerHTML=F.render(T,{...e,isChecked:P});let _=(l=x.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;_=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemTemplate)==null?void 0:p.checkTriggerClasses)||_,_.forEach(B=>{var N;(N=L.querySelector("."+B))==null||N.addEventListener("click",K=>{this.onFacetSelect(K,e,L)})}),(R=L.querySelector("."+(((E=(C=(v=this.config)==null?void 0:v.templates)==null?void 0:C.facetItemTemplate)==null?void 0:E.inputCheckboxClass)||((A=x.facets.facetItemTemplate)==null?void 0:A.inputCheckboxClass))))==null||R.addEventListener("click",B=>{this.onFacetSelect(B,e,L,!0)}),t.appendChild(L)}createHasMoreComponent(e,t,a){var s,r,c,l,h,d,p,v;const C=document.createElement("div");C.classList.add("searchstax-facet-show-more-container");const E=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:c.template)||((l=x.facets.showMoreButtonContainerTemplate)==null?void 0:l.template);C.innerHTML=F.render(E,e);const A=C.querySelector("."+(((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)||((v=x.facets.showMoreButtonContainerTemplate)==null?void 0:v.showMoreButtonClass)));A&&(this.attachOnclickToShowMore(e,A,a),t&&t.appendChild(A))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const s=a?this.facetPaginationStepMobile:this.facetPaginationStep,r=a?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=s*2:r[t.name]<=t.values.length?r[t.name]=r[t.name]+s:r[t.name]=s,this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,c,l,h,d,p,v,C,E;if(e&&(!J.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const A=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((c=x.facets.mainTemplateDesktop)==null?void 0:c.template);if(this.dataLayer.renderingEngine===V.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=F.render(A,{...e});const R=(p=this.searchFacetsMainContainer)==null?void 0:p.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:d.facetsContainerClass)||x.facets.mainTemplateDesktop.facetsContainerClass));if(R){R.innerHTML="";for(const L of e.facets)this.createFacetItem(L,R);if(this.searchFacetsMainContainer){const L=this.searchFacetsMainContainer.querySelector("."+(((E=(C=(v=this.config)==null?void 0:v.templates)==null?void 0:C.mainTemplateDesktop)==null?void 0:E.selectedFacetsContainerClass)||x.facets.mainTemplateDesktop.selectedFacetsContainerClass));L&&(this.createSelectedFacetsComponents(L),this.createClearFacetsComponents(L))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const s=decodeURIComponent(a.name),r=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const c=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,l=c==null?void 0:c.find(h=>h.name===s);if(l){const h=l.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?`"${d.value}"`==`"${r}"`:!1);h&&e.push(h)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var t,a,s,r,c,l,h,d;const p=this.dataLayer.searchObject,v=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=x.facets.clearFacetsTemplate)==null?void 0:r.template),C=document.createElement("div");C.innerHTML=F.render(v,{shouldShow:p.facets.length>0});const E=C.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.clearFacetsTemplate)==null?void 0:h.containerClass)||((d=x.facets.clearFacetsTemplate)==null?void 0:d.containerClass)));E&&(E.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(E))}createSelectedFacetsComponent(e,t){var a,s,r,c,l,h,d,p;const v=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((c=x.facets.selectedFacetsTemplate)==null?void 0:c.template),C=document.createElement("div");C.innerHTML=F.render(v,t);const E=C.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.selectedFacetsTemplate)==null?void 0:d.containerClass)||((p=x.facets.selectedFacetsTemplate)==null?void 0:p.containerClass)));E&&(E.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(E))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(s=>JSON.stringify(s)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,a,s,r,c,l,h,d;const p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=x.facets.filterByTemplate)==null?void 0:r.template),v=document.createElement("div");v.innerHTML=F.render(p,{});const C=v.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.filterByTemplate)==null?void 0:h.containerClass)||((d=x.facets.filterByTemplate)==null?void 0:d.containerClass)));C&&(e.prepend(C),C.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,a,s,r,c,l,h,d,p,v,C,E,A,R,L,P,T,_,B;if(e){const N=document.createElement("div");N.classList.add("searchstax-facets-container-mobile");const K=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=x.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===V.mustache){if(N.innerHTML=F.render(K,{...e,overlayOpened:this.overlayOpened}),(c=this.searchFacetsMainContainer)==null||c.appendChild(N),(h=(l=this.config)==null?void 0:l.templates)!=null&&h.mainTemplateMobile)for(const H of((v=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplateMobile)==null?void 0:v.closeOverlayTriggerClasses)||[]){const Z=N.querySelector("."+H);Z&&Z.addEventListener("click",this.closeOverlay.bind(this))}else for(const H of x.facets.mainTemplateMobile.closeOverlayTriggerClasses){const Z=N.querySelector("."+H);Z&&Z.addEventListener("click",this.closeOverlay.bind(this))}const m=N.querySelector("."+(((A=(E=(C=this.config)==null?void 0:C.templates)==null?void 0:E.mainTemplateMobile)==null?void 0:A.filterByContainerClass)||x.facets.mainTemplateMobile.filterByContainerClass));m&&this.createFilterByComponent(m);const y=N.querySelector("."+(((P=(L=(R=this.config)==null?void 0:R.templates)==null?void 0:L.mainTemplateMobile)==null?void 0:P.selectedFacetsContainerClass)||x.facets.mainTemplateMobile.selectedFacetsContainerClass));y&&(this.createSelectedFacetsComponents(y),this.createClearFacetsComponents(y));const O=N.querySelector("."+(((B=(_=(T=this.config)==null?void 0:T.templates)==null?void 0:_.mainTemplateMobile)==null?void 0:B.facetsContainerClass)||x.facets.mainTemplateMobile.facetsContainerClass));if(O){O.innerHTML="";for(const H of e.facets)this.createFacetItem(H,O,!0)}}}}}class _t{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"previousButtonClass"),u(this,"nextButtonClass"),u(this,"routerHelper"),u(this,"searchPaginationMainContainer",null);var t,a,s,r,c,l;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.previousButtonClass)??x.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((l=(c=(r=this.config)==null?void 0:r.templates)==null?void 0:c.mainTemplate)==null?void 0:l.nextButtonClass)??x.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,a,s;const r={...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:(s=this.routerHelper)==null?void 0:s.searchObjectToUrl({...this.dataLayer.searchObject,page:((a=this.dataLayer.searchObject)==null?void 0:a.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,a,s,r,c,l;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(a=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||a.removeEventListener("click",this.nextPage));const h=((c=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.mainTemplate)==null?void 0:c.template)||((l=x.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.renderingEngine===V.mustache&&(this.searchPaginationMainContainer.innerHTML=F.render(h,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Ht{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"relatedSearchesContainerClass"),u(this,"searchRelatedSearchesMainContainer",null),u(this,"track");var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.relatedSearchesContainerClass)||x.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 a,s,r,c,l;const h=document.createElement("div"),d=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||x.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===V.mustache){h.innerHTML=F.render(d,e);const p=h.querySelector("."+(((l=(c=this.config.templates)==null?void 0:c.relatedSearch)==null?void 0:l.relatedSearchContainerClass)||x.relatedSearches.relatedSearch.relatedSearchContainerClass));p&&(t.appendChild(p),p.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,a,s,r;const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.relatedSearches.main.template;if(this.dataLayer.renderingEngine===V.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=F.render(c,e);const l=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(l)for(const h of e.relatedSearches)this.addRelatedSearchComponent(h,l)}}}class Wt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"searchFeedbackMainContainer",null),u(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 a=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(a,!0)}attachClick(){var e,t,a,s,r;const c=(r=this.searchFeedbackMainContainer)==null?void 0:r.querySelector("."+(((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:a.originalQueryClass)||((s=x.searchFeedback.main)==null?void 0:s.originalQueryClass)));c&&c.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,a,s;const r=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.searchFeedback.main.template;this.dataLayer.renderingEngine===V.mustache&&(this.searchFeedbackMainContainer.innerHTML=F.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class qt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"suggestAfterMinChars"),u(this,"containerId"),u(this,"currentInputValue",""),u(this,"autosuggestResults"),u(this,"searchInput"),u(this,"actionButton"),u(this,"autosuggestContainer"),u(this,"buttonState","search"),u(this,"selectedAutosuggestItem",-1),u(this,"suggestTrigger"),u(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,a,s;const r=document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const c=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||x.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===V.mustache){const d=F.render(c,{});r.innerHTML=d}const l=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||x.searchInput.mainTemplate.searchInputId,h=document.querySelector(`#${l}`);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===V.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 a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.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 G.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,a,s;const r=document.createElement("div");r.classList.add("searchstax-autosuggest-item"),r.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),r.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const c=((a=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:a.template)||((s=x.searchInput.autosuggestItemTemplate)==null?void 0:s.template);return r.innerHTML=F.render(c,e),r}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 a=e.suggest[t];for(const s in a)if(Object.prototype.hasOwnProperty.call(a,s)){const r=a[s];this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(c=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(c))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Bt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"linkClickCallback"),u(this,"searchCallback"),u(this,"containerId"),u(this,"searchResultsMainContainer"),u(this,"searchResultsContainer"),u(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,a,s,r;const c=((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:a.template)||((s=x.searchResults.noSearchResultTemplate)==null?void 0:s.template),l=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===V.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=F.render(c,{spellingSuggestion:l,searchTerm:this.dataLayer.searchTerm})),l&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),this.searchCallback(l)})}}renderResults(e){var t,a,s,r;if(this.dataLayer.renderingEngine===V.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=x.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(h=>F.render(c,h));this.searchResultsContainer.innerHTML=l.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,a,s;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((s=x.searchResults.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var e,t,a,s;const r=((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:a.template)||((s=x.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===V.mustache&&(this.searchResultsMainContainer.innerHTML=F.render(r,{}),setTimeout(()=>{var c,l,h,d,p,v,C;const E=(h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.mainTemplate)!=null&&h.searchResultsContainerId?(v=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplate)==null?void 0:v.searchResultsContainerId:(C=x.searchResults.mainTemplate)==null?void 0:C.searchResultsContainerId,A=document.getElementById(E);if(A)this.searchResultsContainer=A;else throw new Error(`Search Results Container with id ${E} not found`)},0))}}class Vt{constructor(e){u(this,"dataLayer"),u(this,"config"),u(this,"containerId"),u(this,"selectId"),u(this,"searchSortingMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.selectId)||x.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,a,s;const r=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.template)||x.sorting.main.template;if(this.dataLayer.renderingEngine===V.mustache){this.searchSortingMainContainer.innerHTML=F.render(r,e),this.markOptionSelected();const c=document.getElementById(this.selectId);c&&c.addEventListener("change",l=>{this.setOrderQuery(l.target.value)})}}}class $t{constructor(e=V.mustache){u(this,"routerEnabled",!1),u(this,"cachedQuery",""),u(this,"routerHelper"),u(this,"searchHelper"),u(this,"searchResultsConfig"),u(this,"searchPaginationConfig"),u(this,"searchFeedbackConfig"),u(this,"searchSortingConfig"),u(this,"searchFacetsConfig"),u(this,"relatedSearchesConfig"),u(this,"externalPromotionsConfig"),u(this,"searchInputWidget"),u(this,"searchResultsWidget"),u(this,"searchFacetsWidget"),u(this,"searchPaginationWidget"),u(this,"searchFeedbackWidget"),u(this,"searchSortingWidget"),u(this,"relatedSearchesWidget"),u(this,"externalPromotionsWidget"),u(this,"dataLayer",new lt(ut.getOrSetCookie("searchstax_session_id"))),u(this,"firstRequest",!0),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=V.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(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{a.query!==""&&this.search(a)}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&le.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,a;e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new ht({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new we(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 we({})}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 a=(((t=e.response)==null?void 0:t.docs)??[]).map((r,c)=>({...r,position:c+1})),s=[];for(const r of a)s.push({relatedSearch:r.related_search,position:r.position});this.dataLayer.searchResultsMetadata&&le.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var t,a;this.handleRouter();let s=ce.combineResultsWithMetadata(e),r=ce.extractFacets(e);this.dataLayer.setSearchFacets(r),(a=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&a.afterSearch&&(s=this.dataLayer.searchstaxConfig.hooks.afterSearch(s)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const c=ce.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(c),this.dataLayer.setSearchResults(s)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,a;let s=e;(a=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&a.afterAutosuggest&&(s=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(s)}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 qt({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 Bt({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 _t({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Wt({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new Vt({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Ht({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 Nt({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Dt({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var a,s;const r={...this.dataLayer.searchObject};r.query=G.removeXSSRiskyTags(e),r.page=1,r.facets=[],this.dataLayer.forceNotCorrect=!!t;let c=(a=this.routerHelper)==null?void 0:a.searchObjectToParams(r);c&&(c=(s=this.routerHelper)==null?void 0:s.extractParamsThatDoNotStartWithRouteName(c)),c&&(r.additionalProps=Object.keys(c).map(l=>c?{key:l,value:c[l]}:{key:"",value:""})),this.dataLayer.setSearchObject(r)}executeSuggest(e){var t,a;let s={term:e,queryParams:[]};(a=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&a.beforeAutosuggest&&(s=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(s)),s&&s.term!==void 0&&s.queryParams!==void 0&&this.suggest(s.term,s.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&le.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,a;let s=ce.findResultByUniqueId(e,this.dataLayer.searchResults??[]);s&&((a=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&a.afterLinkClick&&(s=this.searchResultsConfig.hooks.afterLinkClick(s)),s&&this.dataLayer.searchResultsMetadata&&(le.trackClick({result:s,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(s==null?void 0:s.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,a,s;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(s=this.searchResultsWidget)==null||s.changeTemplate())}}const b={searchstax:new $t("react")};function Ut(n){let e=!1;const[t,a]=j.useState([]);j.useEffect(()=>{if(s(),b.searchstax){const h={};n.afterAutosuggest&&(h.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(h.beforeAutosuggest=n.beforeAutosuggest),b.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:n.suggestAfterMinChars??3,hooks:h,templates:{mainTemplate:{template:"",searchInputId:n.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")},[]);function s(){e||(b.searchstax.dataLayer.$autosuggestResults.subscribe(h=>{a((h==null?void 0:h.suggestions)??[])}),e=!0)}function r(){var h,d;(h=b.searchstax.searchInputWidget)==null||h.resetAutosuggestSelection(),(d=b.searchstax.searchInputWidget)==null||d.markActiveAutosuggestItem()}function c(h){var d;(d=b.searchstax.searchInputWidget)==null||d.onSuggestionEnter(h)}function l(){var h;(h=b.searchstax.searchInputWidget)==null||h.suggestionChosen()}return o.jsx(o.Fragment,{children:o.jsx("div",{id:"searchstax-input-container",children:o.jsxs("div",{className:"searchstax-search-input-container",children:[!n.inputTemplate&&o.jsxs("div",{className:"searchstax-search-input-wrapper",children:[o.jsx("input",{type:"text",id:"searchstax-search-input",className:"searchstax-search-input",placeholder:"SEARCH FOR..."}),o.jsx("div",{className:`searchstax-autosuggest-container ${t.length===0?"hidden":""}`,onMouseLeave:r,children:t.map(function(h){return o.jsx("div",{className:"searchstax-autosuggest-item",children:o.jsx("div",{className:"searchstax-autosuggest-item-term-container",dangerouslySetInnerHTML:{__html:h.term},onMouseOver:()=>{c(h)},onClick:()=>{l()}})},h.term)})}),o.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button"})]}),n.inputTemplate&&o.jsx(o.Fragment,{children:n.inputTemplate(t,r,c,l)})]})})})}function Kt(n){return j.useEffect(()=>{const e={};n.beforeSearch&&(e.beforeSearch=n.beforeSearch),n!=null&&n.afterSearch&&(e.afterSearch=n.afterSearch),b.searchstax.initialize({language:n.language??"en",searchURL:n.searchURL,suggesterURL:n.suggesterURL,trackApiKey:n.trackApiKey,searchAuth:n.searchAuth,authType:n.authType??"basic",autoCorrect:n.autoCorrect,router:n.router,hooks:e}),n.initialized(b.searchstax)},[n.initialized]),o.jsx(o.Fragment,{children:n.children})}function Qt(n){const[e,t]=j.useState(null),[a,s]=j.useState(""),[r,c]=j.useState(null),l=(d,p)=>{p.preventDefault(),p.stopPropagation(),b.searchstax.executeLinkClick(d.uniqueId)};j.useEffect(()=>{h();const d={};n.afterLinkClick&&(d.afterLinkClick=n.afterLinkClick),b.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},hooks:d})},[]);function h(){b.searchstax.dataLayer.$searchResults.subscribe(d=>{t(d)}),b.searchstax.dataLayer.$searchTermChange.subscribe(d=>{s(d)}),b.searchstax.dataLayer.$searchResultsMetadata.subscribe(d=>{c(d)})}return o.jsx(o.Fragment,{children:o.jsx("div",{id:"searchstax-results-container",children:o.jsx("div",{className:"searchstax-search-results-container",children:o.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&!n.noResultTemplate&&o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",o.jsx("strong",{children:"no results"})," for ",o.jsxs("strong",{children:['"',a,'"']}),o.jsx("br",{}),(r==null?void 0:r.spellingSuggestion)&&o.jsxs("span",{children:[" Did you mean"," ",o.jsx("a",{href:"#",className:"searchstax-suggestion-term",children:r==null?void 0:r.spellingSuggestion}),"?"]})]}),o.jsxs("div",{children:[o.jsxs("p",{children:[" ","Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need."," "]}),o.jsx("p",{children:"Lost? Click on the ‘X” in the Search Box to reset your search."})]})]}),e&&e.length===0&&n.noResultTemplate&&o.jsx(o.Fragment,{children:n.noResultTemplate(a,r)}),e&&e.length>0&&!n.resultsTemplate&&o.jsx("div",{className:"searchstax-search-results",children:e!==null&&e.map(function(d){return o.jsxs("div",{className:`searchstax-search-result ${d.thumbnail?"has-thumbnail":""}`,children:[d.promoted&&o.jsx("div",{className:"searchstax-search-result-promoted"}),d.url&&o.jsx("a",{href:d.url,"data-searchstax-unique-result-id":d.uniqueId,onClick:p=>{l(d,p)},className:"searchstax-result-item-link"}),d.ribbon&&o.jsx("div",{className:"searchstax-search-result-ribbon",children:d.ribbon}),d.thumbnail&&o.jsx("img",{src:d.thumbnail,className:"searchstax-thumbnail"}),o.jsx("div",{className:"searchstax-search-result-title-container",children:o.jsx("span",{className:"searchstax-search-result-title",children:d.title})}),d.paths&&o.jsx("p",{className:"searchstax-search-result-common",children:d.paths}),d.description&&o.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:d.description}),d.unmappedFields.map(function(p){return o.jsxs("div",{children:[p.isImage&&typeof p.value=="string"&&o.jsx("div",{className:"searchstax-search-result-image-container",children:o.jsx("img",{src:p.value,className:"searchstax-result-image"})}),!p.isImage&&o.jsx("div",{children:o.jsx("p",{className:"searchstax-search-result-common",children:p.value})})]},p.key)})]},d.uniqueId)})}),e&&e.length>0&&n.resultsTemplate&&o.jsx(o.Fragment,{children:n.resultsTemplate(e,l)})]})})})})}function zt(n){let e=!1;const[t,a]=j.useState(!1),[s,r]=j.useState(null),[c]=j.useState(Math.random());j.useEffect(()=>{if(l(),b.searchstax)b.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(b.searchstax.dataLayer.$searchObject.subscribe(()=>{h()}),b.searchstax.dataLayer.$paginationData.subscribe(v=>{r(v)}),e=!0)}function h(){!t&&b.searchstax.routerHelper&&(a(!0),b.searchstax.addPaginationWidget("searchstax-pagination-container"+c,{}))}function d(v){var C;(C=b.searchstax.searchPaginationWidget)==null||C.nextPage(v)}function p(v){var C;(C=b.searchstax.searchPaginationWidget)==null||C.previousPage(v)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-pagination-container"+c,children:[!n.paginationTemplate&&s&&(s==null?void 0:s.totalResults)!==0&&o.jsx("div",{className:"searchstax-pagination-container",children:o.jsxs("div",{className:"searchstax-pagination-content",children:[o.jsxs("a",{className:"searchstax-pagination-previous",style:s!=null&&s.isFirstPage?{pointerEvents:"none"}:{},onClick:v=>{p(v)},id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),o.jsxs("div",{className:"searchstax-pagination-details",children:[" ",s==null?void 0:s.startResultIndex," - ",s==null?void 0:s.endResultIndex," of ",s==null?void 0:s.totalResults]}),o.jsx("a",{className:"searchstax-pagination-next",style:s!=null&&s.isLastPage?{pointerEvents:"none"}:{},onClick:v=>{d(v)},id:"searchstax-pagination-next",children:"Next >"})]})}),n.paginationTemplate&&o.jsx(o.Fragment,{children:n.paginationTemplate(s,d,p)})]})})}function Jt(n){let e=!1;const[t,a]=j.useState(null),[s,r]=j.useState(""),[c]=j.useState(Math.random());j.useEffect(()=>{if(l(),b.searchstax)b.searchstax.addSearchSortingWidget("search-sorting-container"+c,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(b.searchstax.dataLayer.$searchSortingData.subscribe(d=>{a(d)}),b.searchstax.dataLayer.$searchObject.subscribe(d=>{r(decodeURIComponent((d==null?void 0:d.order)??""))}),e=!0)}function h(d){var p;(p=b.searchstax.searchSortingWidget)==null||p.setOrderQuery(d)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"search-sorting-container"+c,children:[!n.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&o.jsxs("div",{className:"searchstax-sorting-container",children:[o.jsx("label",{className:"searchstax-sorting-label",htmlFor:"sort-by",children:"Sort By"}),o.jsxs("select",{id:"searchstax-search-order-select",className:"searchstax-search-order-select",value:s,onChange:d=>{h(d.target.value)},children:[o.jsx("option",{value:"",children:" Relevance "}),o.jsx("option",{value:"date desc",children:" Newest Content "}),o.jsx("option",{value:"date asc",children:" Oldest Content "})]})]}),n.searchSortingTemplate&&o.jsx(o.Fragment,{children:n.searchSortingTemplate(t,h,s)})]})})}function Yt(n){let e=!1;const[t,a]=j.useState(null),[s]=j.useState(Math.random());j.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addSearchFeedbackWidget("search-feedback-container"+s,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchFeedbackData.subscribe(l=>{a(l)}),e=!0)}function c(l){var h;(h=b.searchstax.searchFeedbackWidget)==null||h.onOriginalQueryClick(l)}return o.jsx(o.Fragment,{children:o.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+s,children:[!n.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)&&o.jsxs(o.Fragment,{children:["Showing"," ",o.jsxs("b",{children:[t.startResultIndex," - ",t.endResultIndex]})," ","of",o.jsxs("b",{children:[" ",t.totalResults]})," results",t.searchTerm&&o.jsxs("span",{children:[' for "',o.jsx("b",{children:t.searchTerm}),'"'," "]}),o.jsx("div",{className:"searchstax-feedback-container-suggested",children:t.autoCorrectedQuery&&o.jsxs("div",{children:[" ","Search instead for"," ",o.jsx("a",{href:"#",onClick:l=>{c(l)},className:"searchstax-feedback-original-query",children:t.originalQuery})]})})]}),n.searchOverviewTemplate&&o.jsx(o.Fragment,{children:n.searchOverviewTemplate(t,c)})]})})}function Xt(n){const[e,t]=j.useState(null),[a,s]=j.useState(null),[r,c]=j.useState([]),[l,h]=j.useState({}),d={},p=Math.random();let v=!1;j.useEffect(()=>{if(C(),b.searchstax)b.searchstax.addFacetsWidget("searchstax-facets-container"+p,{facetingType:n.facetingType,specificFacets:n.specificFacets,itemsPerPageDesktop:n.itemsPerPageDesktop,itemsPerPageMobile:n.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function C(){v||(b.searchstax.dataLayer.$facetsTemplateData.subscribe(m=>{m!=null&&m.isMobile?s(m):t(m)}),b.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(m=>{c((m??[]).filter(O=>O.type==="checkbox"))}),v=!0)}function E(m){var y;(y=b.searchstax.searchFacetsWidget)==null||y.unselectFacet(m)}function A(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.removeSelectedFacets()}function R(m){return!l[m]}function L(m){R(m)?h({...l,[m]:!0}):h({...l,[m]:!1})}function P(m){var y;return(y=b.searchstax.searchFacetsWidget)==null?void 0:y.isChecked(m)}function T(m,y,O,H){var Q,X;const Z=document.createElement("div"),ue=(Q=d[m])==null?void 0:Q.current;Z.innerHTML=ue.outerHTML,(X=b.searchstax.searchFacetsWidget)==null||X.onFacetSelect(y,O,ue,H)}function _(m,y){var O;(O=b.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(m,y,!1)}function B(m,y){var O;(O=b.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(m,y,!0)}function N(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.openOverlay()}function K(){var m;(m=b.searchstax.searchFacetsWidget)==null||m.closeOverlay()}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-facets-container"+p,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!n.facetsTemplateDesktop&&o.jsx("div",{className:"searchstax-facets-container-desktop",children:e==null?void 0:e.facets.map(m=>o.jsx("div",{className:`searchstax-facet-container ${R(m.name)?"active":""}`,children:o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{L(m.name)},children:[o.jsxs("div",{className:"searchstax-facet-title",children:[" ",m.label," "]}),o.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),o.jsxs("div",{className:"searchstax-facet-values-container",children:[m.values.map((y,O)=>(d[O+m.name]=j.createRef(),o.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+m.name],children:[o.jsx("div",{className:"searchstax-facet-input",children:o.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(y),readOnly:!0,disabled:y.disabled,onClick:H=>{T(O+m.name,H,y,!0)}})}),o.jsx("div",{className:"searchstax-facet-value-label",onClick:H=>{T(O+m.name,H,y,!1)},children:y.value}),o.jsxs("div",{className:"searchstax-facet-value-count",onClick:H=>{T(O+m.name,H,y,!1)},children:["(",y.count,")"]})]},y.value+y.parentName))),m.hasMoreFacets&&o.jsx("div",{className:"searchstax-facet-show-more-container",children:o.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:y=>{_(y,m)},children:[m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},m.name+"desktop"))}),n.facetsTemplateDesktop&&o.jsx(o.Fragment,{children:n.facetsTemplateDesktop(e,d,R,L,T,P,_)}),(a==null?void 0:a.hasResultsOrExternalPromotions)&&!n.facetsTemplateMobile&&o.jsx("div",{className:"searchstax-facets-container-mobile",children:o.jsxs("div",{className:"searchstax-facets-pills-container",children:[o.jsx("div",{className:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:()=>{N()},children:o.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),o.jsxs("div",{className:"searchstax-facets-pills-selected",children:[r.map(m=>o.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{E(m)},children:[o.jsxs("div",{className:"searchstax-facets-pill-label",children:[m.value," (",m.count,")"]}),o.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},m.value)),r.length!==0&&o.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{A()},children:o.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),o.jsxs("div",{className:`searchstax-facets-mobile-overlay ${a.overlayOpened?"searchstax-show":""}`,children:[o.jsxs("div",{className:"searchstax-facets-mobile-overlay-header",children:[o.jsx("div",{className:"searchstax-facets-mobile-overlay-header-title",children:"Filter By"}),o.jsx("div",{className:"searchstax-search-close",onClick:()=>{K()}})]}),o.jsx("div",{className:"searchstax-facets-container-mobile",children:a==null?void 0:a.facets.map(m=>o.jsx("div",{className:`searchstax-facet-container ${R(m.name)?"active":""}`,children:o.jsxs("div",{children:[o.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{L(m.name)},children:[o.jsxs("div",{className:"searchstax-facet-title",children:[" ",m.label," "]}),o.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),o.jsxs("div",{className:"searchstax-facet-values-container",children:[m.values.map((y,O)=>(d[O+m.name]=j.createRef(),o.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+m.name],children:[o.jsx("div",{className:"searchstax-facet-input",children:o.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(y),readOnly:!0,disabled:y.disabled,onClick:H=>{T(O+m.name,H,y,!0)}})}),o.jsx("div",{className:"searchstax-facet-value-label",onClick:H=>{T(O+m.name,H,y,!1)},children:y.value}),o.jsxs("div",{className:"searchstax-facet-value-count",onClick:H=>{T(O+m.name,H,y,!1)},children:["(",y.count,")"]})]},y.value+y.parentName))),o.jsx("div",{className:"searchstax-facet-show-more-container","v-if":"facet.hasMoreFacets",children:o.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:y=>{B(y,m)},children:[m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!m.showingAllFacets&&o.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},m.name+"mobile"))}),o.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{K()},children:"Done"})]})]})}),n.facetsTemplateMobile&&o.jsx(o.Fragment,{children:n.facetsTemplateMobile(a,r,d,R,L,T,P,E,B,N,K,A)})]})})}function Gt(n){let e=!1;const[t,a]=j.useState(null),[s]=j.useState(Math.random());j.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+s,{relatedSearchesURL:n.relatedSearchesURL,relatedSearchesAPIKey:n.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(l=>{a(l)}),e=!0)}function c(l){var h;(h=b.searchstax.relatedSearchesWidget)==null||h.executeSearch(l)}return o.jsxs(o.Fragment,{children:[!n.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&o.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",o.jsx("span",{id:"searchstax-related-searches"}),t.relatedSearches&&o.jsx("span",{className:"searchstax-related-search",children:t.relatedSearches.map(l=>o.jsxs("span",{onClick:()=>{c(l)},className:"searchstax-related-search searchstax-related-search-item",children:[" ",l.related_search,!l.last&&o.jsx("span",{children:","})]},l.related_search))})]}),n.searchRelatedSearchesTemplate&&o.jsx(o.Fragment,{children:n.searchRelatedSearchesTemplate(t,c)})]})}function Zt(n){let e=!1;const[t,a]=j.useState(null),[s]=j.useState(Math.random());j.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+s,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(l=>{a(l)}),e=!0)}function c(l,h){var d;(d=b.searchstax.externalPromotionsWidget)==null||d.trackClick(l,h)}return o.jsx(o.Fragment,{children:o.jsxs("div",{id:"searchstax-external-promotions-layout-container"+s,children:[!n.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&o.jsx(o.Fragment,{children:t.externalPromotions.map(l=>o.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[o.jsx("div",{className:"icon-elevated"}),l.url&&o.jsx("a",{href:l.url,onClick:h=>{c(l,h)},className:"searchstax-result-item-link"}),o.jsx("div",{className:"searchstax-search-result-title-container",children:o.jsx("span",{className:"searchstax-search-result-title",children:l.name})}),l.description&&o.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.description," "]}),l.url&&o.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.url," "]})]},l.id))}),n.searchExternalPromotionsTemplate&&o.jsx(o.Fragment,{children:n.searchExternalPromotionsTemplate(t,c)})]})})}Y.SearchstaxExternalPromotionsWidget=Zt,Y.SearchstaxFacetsWidget=Xt,Y.SearchstaxInputWidget=Ut,Y.SearchstaxOverviewWidget=Yt,Y.SearchstaxPaginationWidget=zt,Y.SearchstaxRelatedSearchesWidget=Gt,Y.SearchstaxResultWidget=Qt,Y.SearchstaxSortingWidget=Jt,Y.SearchstaxWrapper=Kt,Object.defineProperty(Y,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxReact"]=this["@searchstaxInc/searchstudioUxReact"]||{},React);
|
|
@@ -2143,7 +2143,7 @@ class ha {
|
|
|
2143
2143
|
onShowMoreLessClick(e, t, a) {
|
|
2144
2144
|
e.preventDefault();
|
|
2145
2145
|
const s = a ? this.facetPaginationStepMobile : this.facetPaginationStep, r = a ? this.facetLimits : this.facetLimitsMobile;
|
|
2146
|
-
r[t.name] === void 0 ? r[t.name] = s * 2 : r[t.name] <= t.values.length ? r[t.name] = r[t.name] + s : r[t.name] = s, this.renderMainTemplate(this.generateTemplateData());
|
|
2146
|
+
r[t.name] === void 0 ? r[t.name] = s * 2 : r[t.name] <= t.values.length ? r[t.name] = r[t.name] + s : r[t.name] = s, this.generateTemplateData(a), this.renderMainTemplate(this.generateTemplateData());
|
|
2147
2147
|
}
|
|
2148
2148
|
renderMainTemplate(e, t) {
|
|
2149
2149
|
var a, s, r, c, l, h, d, p, v, C, E;
|
|
@@ -3047,7 +3047,7 @@ function Ca(n) {
|
|
|
3047
3047
|
] })
|
|
3048
3048
|
] }),
|
|
3049
3049
|
e && e.length === 0 && n.noResultTemplate && /* @__PURE__ */ o.jsx(o.Fragment, { children: n.noResultTemplate(a, r) }),
|
|
3050
|
-
e && e.length && !n.resultsTemplate && /* @__PURE__ */ o.jsx("div", { className: "searchstax-search-results", children: e !== null && e.map(function(d) {
|
|
3050
|
+
e && e.length > 0 && !n.resultsTemplate && /* @__PURE__ */ o.jsx("div", { className: "searchstax-search-results", children: e !== null && e.map(function(d) {
|
|
3051
3051
|
return /* @__PURE__ */ o.jsxs(
|
|
3052
3052
|
"div",
|
|
3053
3053
|
{
|
|
@@ -3081,7 +3081,7 @@ function Ca(n) {
|
|
|
3081
3081
|
d.uniqueId
|
|
3082
3082
|
);
|
|
3083
3083
|
}) }),
|
|
3084
|
-
e && e.length && n.resultsTemplate && /* @__PURE__ */ o.jsx(o.Fragment, { children: n.resultsTemplate(e, l) })
|
|
3084
|
+
e && e.length > 0 && n.resultsTemplate && /* @__PURE__ */ o.jsx(o.Fragment, { children: n.resultsTemplate(e, l) })
|
|
3085
3085
|
] }) }) }) });
|
|
3086
3086
|
}
|
|
3087
3087
|
function Sa(n) {
|
package/package.json
CHANGED