@searchstax-inc/searchstudio-ux-js 1.0.12 → 1.0.13
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.
package/CHANGELOG.md
CHANGED
|
@@ -234,4 +234,4 @@
|
|
|
234
234
|
</div>
|
|
235
235
|
{{/hasResultsOrExternalPromotions}}
|
|
236
236
|
{{/searchExecuted}}
|
|
237
|
-
`,selectId:"searchstax-search-order-select"}};class g{}n(g,"answer",Se),n(g,"externalPromotions",be),n(g,"facets",Le),n(g,"pagination",xe),n(g,"relatedSearches",ve),n(g,"searchFeedback",Te),n(g,"searchInput",ke),n(g,"searchResults",Re),n(g,"sorting",Ie);class we{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"externalPromotionsContainerId");n(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)||g.externalPromotions.mainTemplate.externalPromotionsContainerId,typeof document<"u"&&(this.searchExternalPromotionsMainContainer=document==null?void 0: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 a,s,r,i;const t=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(t){const c=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.externalPromotion)==null?void 0:r.template)||((i=g.externalPromotions.externalPromotion)==null?void 0:i.template);if(typeof document<"u"){const l=document==null?void 0:document.createElement("div");l.classList.add("searchstax-external-promotion"),l.addEventListener("click",h=>{this.trackClick(e,h)}),l.innerHTML=y.render(c,e),t.appendChild(l)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplate)==null?void 0:r.template)||((i=g.externalPromotions.mainTemplate)==null?void 0:i.template);if(this.dataLayer.renderingEngine===T.mustache){this.searchExternalPromotionsMainContainer.innerHTML=y.render(t,e);const c=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;c&&(c.innerHTML="");for(const l of e.externalPromotions)this.addExternalSearch(l)}}}class E{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById("searchAccessibilityContainer")){const t=document.createElement("div");t.setAttribute("aria-live","polite"),t.setAttribute("id","searchAccessibilityContainer"),document.body.appendChild(t)}}static setAccessibilityText(e,t){this.addAccessibilityNotificationContainerToBody();const a=document.getElementById("searchAccessibility");a&&a.remove();const s=document.createElement("span");s.setAttribute("id","searchAccessibility"),s.innerHTML=e;const r=document.getElementById("searchAccessibilityContainer");r&&setTimeout(()=>{r.appendChild(s)},t??100)}}class Pe{constructor(e,t){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"routerHelper");n(this,"cachedPhrase","");n(this,"isCached",!1);n(this,"overlayOpened",!1);n(this,"facetPaginationStep");n(this,"facetPaginationStepMobile");n(this,"searchFacetsMainContainer",null);n(this,"searchFacetsMobileContainer",null);n(this,"searchFacetsDesktopContainer",null);n(this,"facetLimits",{});n(this,"facetLimitsMobile",{});n(this,"deactivatedFacets",{});n(this,"cachedData",null);n(this,"cacheFacets");n(this,"onFacetSelect",(e,t,a,s,r)=>{if(e.stopPropagation(),!t.disabled){const i=a.querySelector("input");let c=s?i.checked:!i.checked;r!==void 0&&(c=!r),i.checked=c;const l=this.dataLayer.searchObject;let h=[...l.facets];const d=this.extractFacetValue(t);c?h.find(u=>P.deepEqual(u,d)?u:!1)||(this.config.facetingType==="tabs"&&(h=h.filter(u=>u.name!==d.name)),h.push(d)):h=h.filter(p=>!P.deepEqual(p,d)),setTimeout(()=>{this.dataLayer.setSearchObject({...l,facets:h,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,typeof document<"u"&&(this.searchFacetsMainContainer=document==null?void 0: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 i;const r=(i=this.dataLayer.searchFacets)==null?void 0:i.find(c=>c.name===s.name);return r?{...s,values:s.values.map(l=>{const h=r.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,i,c,l,h,d,p,u,f,S,C;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||m.classList.add("active");const L=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:i.template)||((c=g.facets.facetItemContainerTemplate)==null?void 0:c.template);m.innerHTML=y.render(L,e),t.appendChild(m);const x=m.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:d.facetListTitleContainerClass)||((p=g.facets.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)));x==null||x.addEventListener("click",()=>{m.classList.toggle("active")});const R=m.querySelector("."+(((S=(f=(u=this.config)==null?void 0:u.templates)==null?void 0:f.facetItemContainerTemplate)==null?void 0:S.facetListContainerClass)||((C=g.facets.facetItemContainerTemplate)==null?void 0:C.facetListContainerClass)));R&&(e.values.forEach(k=>{this.createFacetListItem(k,R,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,R,a))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>P.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t,a){var s,r,i,c,l,h,d,p,u,f,S,C;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-value-container"),e.disabled&&m.classList.add("searchstax-facet-value-disabled");const L=this.isChecked(e),x=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemTemplate)==null?void 0:i.template)||((c=g.facets.facetItemTemplate)==null?void 0:c.template);m.innerHTML=y.render(x,{...e,isChecked:L});let R=(l=g.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;R=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemTemplate)==null?void 0:p.checkTriggerClasses)||R,R.forEach(v=>{const A=m.querySelector("."+v);A==null||A.addEventListener("click",D=>{this.onFacetSelect(D,e,m)})});const k=m.querySelector("."+(((S=(f=(u=this.config)==null?void 0:u.templates)==null?void 0:f.facetItemTemplate)==null?void 0:S.inputCheckboxClass)||((C=g.facets.facetItemTemplate)==null?void 0:C.inputCheckboxClass)));k==null||k.addEventListener("click",v=>{this.onFacetSelect(v,e,m,!0)}),k&&(k==null||k.setAttribute("data-test-value",`${encodeURIComponent(a)}:"${encodeURIComponent(e.value)}"`)),t.appendChild(m)}}createHasMoreComponent(e,t,a){var s,r,i,c,l,h,d,p;if(typeof document<"u"){const u=document==null?void 0:document.createElement("div");u.classList.add("searchstax-facet-show-more-container");const f=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:i.template)||((c=g.facets.showMoreButtonContainerTemplate)==null?void 0:c.template);u.innerHTML=y.render(f,e);const S=u.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:d.showMoreButtonClass)||((p=g.facets.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)));S&&(this.attachOnclickToShowMore(e,S,a),t&&t.appendChild(S))}}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)}),t.addEventListener("keyup",s=>{(s.code==="Space"||s.code==="Enter")&&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?(E.setAccessibilityText(`More Facets shown for ${t.label}`),r[t.name]=r[t.name]+s):(E.setAccessibilityText(`Less Facets shown for ${t.label}`),r[t.name]=s),this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,i,c,l,h,d,p,u,f;if(e&&(!P.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const S=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((i=g.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===T.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=y.render(S,{...e});const C=(d=this.searchFacetsMainContainer)==null?void 0:d.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||g.facets.mainTemplateDesktop.facetsContainerClass));if(C){C.innerHTML="";for(const m of e.facets)this.createFacetItem(m,C);if(this.searchFacetsMainContainer){const m=this.searchFacetsMainContainer.querySelector("."+(((f=(u=(p=this.config)==null?void 0:p.templates)==null?void 0:u.mainTemplateDesktop)==null?void 0:f.selectedFacetsContainerClass)||g.facets.mainTemplateDesktop.selectedFacetsContainerClass));m&&(this.createSelectedFacetsComponents(m),this.createClearFacetsComponents(m))}}}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 i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=i==null?void 0:i.find(l=>l.name===s);if(c){const l=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${r}"`:!1);l&&e.push(l)}}}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,i,c,l,h;if(typeof document<"u"){const d=this.dataLayer.searchObject,p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=g.facets.clearFacetsTemplate)==null?void 0:r.template),u=document==null?void 0:document.createElement("div");u.innerHTML=y.render(p,{shouldShow:d.facets.length>0});const f=u.querySelector("."+(((l=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:l.containerClass)||((h=g.facets.clearFacetsTemplate)==null?void 0:h.containerClass)));f&&(f.addEventListener("click",()=>{this.removeSelectedFacets()}),f.addEventListener("keyup",S=>{(S.code==="Space"||S.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(f))}}createSelectedFacetsComponent(e,t){var a,s,r,i,c,l,h,d;if(typeof document<"u"){const p=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((i=g.facets.selectedFacetsTemplate)==null?void 0:i.template),u=document==null?void 0:document.createElement("div");u.innerHTML=y.render(p,t);const f=u.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.selectedFacetsTemplate)==null?void 0:h.containerClass)||((d=g.facets.selectedFacetsTemplate)==null?void 0:d.containerClass)));f&&(f.addEventListener("click",()=>{this.unselectFacet(t)}),f.addEventListener("keyup",S=>{(S.code==="Space"||S.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(f))}}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,i,c,l,h;if(typeof document<"u"){const d=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=g.facets.filterByTemplate)==null?void 0:r.template),p=document==null?void 0:document.createElement("div");p.innerHTML=y.render(d,{});const u=p.querySelector("."+(((l=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.filterByTemplate)==null?void 0:l.containerClass)||((h=g.facets.filterByTemplate)==null?void 0:h.containerClass)));u&&(e.prepend(u),u.addEventListener("click",this.openOverlay.bind(this)),u.addEventListener("keyup",f=>{(f.code==="Space"||f.code==="Enter")&&this.openOverlay()}))}}openOverlay(){var e;E.setAccessibilityText("Facet overlay opened. Tab to select facets."),this.overlayOpened=!0,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;E.setAccessibilityText("Facet overlay closed"),this.overlayOpened=!1,this.searchFacetsMainContainer&&(typeof document<"u"&&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,i,c,l,h,d,p,u,f,S,C,m,L,x,R,k;if(e&&typeof document<"u"){const v=document==null?void 0:document.createElement("div");v.classList.add("searchstax-facets-container-mobile");const A=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=g.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===T.mustache){if(v.innerHTML=y.render(A,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(v),(l=(c=this.config)==null?void 0:c.templates)!=null&&l.mainTemplateMobile)for(const V of((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const M=v.querySelector("."+V);M&&(M.addEventListener("click",this.closeOverlay.bind(this)),M.addEventListener("keyup",B=>{(B.code==="Space"||B.code==="Enter")&&this.closeOverlay()}))}else for(const V of g.facets.mainTemplateMobile.closeOverlayTriggerClasses){const M=v.querySelector("."+V);M&&(M.addEventListener("click",this.closeOverlay.bind(this)),M.addEventListener("keyup",B=>{(B.code==="Space"||B.code==="Enter")&&this.closeOverlay()}))}const D=v.querySelector("."+(((S=(f=(u=this.config)==null?void 0:u.templates)==null?void 0:f.mainTemplateMobile)==null?void 0:S.filterByContainerClass)||g.facets.mainTemplateMobile.filterByContainerClass));D&&this.createFilterByComponent(D);const w=v.querySelector("."+(((L=(m=(C=this.config)==null?void 0:C.templates)==null?void 0:m.mainTemplateMobile)==null?void 0:L.selectedFacetsContainerClass)||g.facets.mainTemplateMobile.selectedFacetsContainerClass));w&&(this.createSelectedFacetsComponents(w),this.createClearFacetsComponents(w));const W=v.querySelector("."+(((k=(R=(x=this.config)==null?void 0:x.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:k.facetsContainerClass)||g.facets.mainTemplateMobile.facetsContainerClass));if(W){W.innerHTML="";for(const V of e.facets)this.createFacetItem(V,W,!0)}}}}}class Ee{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"previousButtonClass");n(this,"nextButtonClass");n(this,"loadMoreButtonClass");n(this,"routerHelper");n(this,"searchPaginationMainContainer",null);var t,a,s,r,i,c,l,h,d;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)??g.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.nextButtonClass)??g.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:d.loadMoreButtonClass)??g.pagination.infiniteScrollTemplate.loadMoreButtonClass,typeof document<"u"&&(this.searchPaginationMainContainer=document==null?void 0: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(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var t,a,s,r;const e={...this.dataLayer.parsedData.data,previousPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)-1}),nextPageLink:(r=this.routerHelper)==null?void 0:r.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(e),e}goToPage(e,t){const a=this.dataLayer.searchObject;a&&(a.page=e,this.dataLayer.setSearchObject(a)),t||window==null||window.scrollTo(0,0)}nextPage(e){var t;e==null||e.preventDefault(),e==null||e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1,this.dataLayer.isInfiniteScroll)}previousPage(e){var t;e==null||e.preventDefault(),e==null||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),a=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&(e.addEventListener("click",this.previousPage.bind(this)),e.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.previousPage(s)})),t&&(t.addEventListener("click",this.nextPage.bind(this)),t.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)})),a&&(a.addEventListener("click",this.nextPage.bind(this)),a.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)}))}}renderMainTemplate(e){var a,s,r,i,c,l,h,d,p,u;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));let t=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.template)||((l=g.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.isInfiniteScroll&&(t=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:p.template)||((u=g.pagination.infiniteScrollTemplate)==null?void 0:u.template)),this.dataLayer.renderingEngine===T.mustache&&(this.searchPaginationMainContainer.innerHTML=y.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Ae{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"relatedSearchesContainerClass");n(this,"searchRelatedSearchesMainContainer",null);n(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)||g.relatedSearches.main.relatedSearchesContainerClass,typeof document<"u"&&(this.searchRelatedSearchesMainContainer=document==null?void 0: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,i,c;if(typeof document<"u"){const l=document==null?void 0:document.createElement("div"),h=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||g.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===T.mustache){l.innerHTML=y.render(h,e);const d=l.querySelector("."+(((c=(i=this.config.templates)==null?void 0:i.relatedSearch)==null?void 0:c.relatedSearchContainerClass)||g.relatedSearches.relatedSearch.relatedSearchContainerClass));d&&(t.appendChild(d),d.addEventListener("click",()=>{this.executeSearch(e)}),d.addEventListener("keyup",p=>{(p.code==="Space"||p.code==="Enter")&&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 a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.relatedSearches.main.template;if(this.dataLayer.renderingEngine===T.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=y.render(t,e);const c=(i=this.searchRelatedSearchesMainContainer)==null?void 0:i.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const l of e.relatedSearches)this.addRelatedSearchComponent(l,c)}}}class Fe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"searchFeedbackMainContainer",null);n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,typeof document<"u"&&(this.searchFeedbackMainContainer=document==null?void 0: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 a;e.stopPropagation(),e.preventDefault();const t=(a=e.target)==null?void 0:a.innerHTML;this.searchTrigger(t,!0)}attachClick(){var t,a,s,r,i;const e=(i=this.searchFeedbackMainContainer)==null?void 0:i.querySelector("."+(((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.originalQueryClass)||((r=g.searchFeedback.main)==null?void 0:r.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.searchFeedback.main.template;this.dataLayer.renderingEngine===T.mustache&&(this.searchFeedbackMainContainer.innerHTML=y.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Me{constructor(e){n(this,"searchHelper");n(this,"dataLayer");n(this,"config");n(this,"suggestAfterMinChars");n(this,"containerId");n(this,"currentInputValue","");n(this,"autosuggestResults");n(this,"searchInput");n(this,"actionButton");n(this,"autosuggestContainer");n(this,"buttonState","search");n(this,"selectedAutosuggestItem",-1);n(this,"suggestTrigger");n(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.suggestAfterMinChars===void 0&&this.getSuggestAfterValue(),this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,a,s;if(typeof document<"u"){const r=document==null?void 0:document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const i=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||g.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===T.mustache){const h=y.render(i,{});r.innerHTML=h}const c=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||g.searchInput.mainTemplate.searchInputId,l=document==null?void 0:document.querySelector(`#${c}`);if(l)this.searchInput=l,l.addEventListener("keyup",this.inputKeyupEvent.bind(this)),l.addEventListener("blur",this.hideAutosuggest.bind(this)),l.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===T.mustache&&typeof document<"u"&&(this.autosuggestContainer=document==null?void 0: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))}getSuggestAfterValue(){this.dataLayer.searchHelper&&this.dataLayer.searchHelper.suggest("*",e=>{this.suggestAfterMinChars=e.metadata.minPrefixChars},[])}actionButtonInit(){typeof document<"u"&&(this.actionButton=document==null?void 0: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"),this.actionButton.setAttribute("aria-label","search");break;case"close":this.actionButton.classList.add("searchstax-search-close"),this.actionButton.setAttribute("aria-label","clear search");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(){if(typeof document<"u"){const e=document==null?void 0:document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?(a.classList.add("active"),E.setAccessibilityText(`Selected suggestion: ${a.innerText}`)):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){this.suggestAfterMinChars&&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()},200)}cleanSuggestionTerm(e){return F.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var s,r,i;const t=document==null?void 0:document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const a=((r=(s=this.config.templates)==null?void 0:s.autosuggestItemTemplate)==null?void 0:r.template)||((i=g.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=y.render(a,e),t}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];r.numFound?E.setAccessibilityText("Suggestions are available. Use up and down arrows to navigate while focusing input.",2e3):E.setAccessibilityText("",0),this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(i=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class De{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"linkClickCallback");n(this,"searchCallback");n(this,"containerId");n(this,"searchResultsMainContainer");n(this,"searchResultsContainer");n(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==null?void 0:document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.dataLayer.setIsInfiniteScroll(e.config.renderMethod==="infiniteScroll"),this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchObject.subscribe(()=>{E.setAccessibilityText("Searching...")}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,s,r,i,c;const e=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.noSearchResultTemplate)==null?void 0:r.template)||((i=g.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((c=this.dataLayer.searchResultsMetadata)==null?void 0:c.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===T.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=y.render(e,{spellingSuggestion:t,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),t&&this.searchResultsContainer){const l=this.searchResultsContainer.querySelector("a");l&&l.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,s,r,i;if(this.dataLayer.renderingEngine===T.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)E.setAccessibilityText("Search has no results"),this.renderNoResultsTemplate();else{E.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=g.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(h=>y.render(c,h));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=l.join(""):this.searchResultsContainer.innerHTML=l.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}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=g.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)}),e.addEventListener("keydown",t=>{if(t.code==="Space"||t.code==="Enter"){const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)}})})}renderMainTemplate(){var t,a,s,r;const e=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=g.searchResults.mainTemplate)==null?void 0:r.template);this.dataLayer.renderingEngine===T.mustache&&(this.searchResultsMainContainer.innerHTML=y.render(e,{}),setTimeout(()=>{var l,h,d,p,u,f,S;const i=(d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.mainTemplate)!=null&&d.searchResultsContainerId?(f=(u=(p=this.config)==null?void 0:p.templates)==null?void 0:u.mainTemplate)==null?void 0:f.searchResultsContainerId:(S=g.searchResults.mainTemplate)==null?void 0:S.searchResultsContainerId,c=document==null?void 0:document.getElementById(i);if(c)this.searchResultsContainer=c;else throw new Error(`Search Results Container with id ${i} not found`)},0))}}class Oe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"selectId");n(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)||g.sorting.main.selectId,this.searchSortingMainContainer=document==null?void 0: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==null?void 0:document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.sorting.main.template;if(this.dataLayer.renderingEngine===T.mustache){this.searchSortingMainContainer.innerHTML=y.render(t,e),this.markOptionSelected();const i=document==null?void 0:document.getElementById(this.selectId);i&&i.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class qe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,typeof document<"u"&&(this.answerContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)})}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.answer.main.template;this.dataLayer.renderingEngine===T.mustache&&(this.answerContainer.innerHTML=y.render(t,e))}}class He{constructor(e=T.mustache){n(this,"routerEnabled",!1);n(this,"cachedQuery","");n(this,"routerHelper");n(this,"searchHelper");n(this,"searchResultsConfig");n(this,"searchPaginationConfig");n(this,"searchFeedbackConfig");n(this,"searchSortingConfig");n(this,"searchFacetsConfig");n(this,"relatedSearchesConfig");n(this,"externalPromotionsConfig");n(this,"searchInputWidget");n(this,"searchResultsWidget");n(this,"searchFacetsWidget");n(this,"searchPaginationWidget");n(this,"searchFeedbackWidget");n(this,"searchSortingWidget");n(this,"relatedSearchesWidget");n(this,"externalPromotionsWidget");n(this,"answerWidget");n(this,"dataLayer");n(this,"firstRequest",!0);n(this,"renderEngine",T.mustache);e&&(this.renderEngine=e)}setRenderingEngine(e=T.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=>{var s;a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),this.dataLayer.turnAIAnswerGenerationOn===!0&&((s=this.searchHelper)==null||s.startSSE(a.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&q.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}attachAnalyticsScript(e){const t=e||"https://static.searchstax.com/studio-js/v3/js/studio-analytics.js";var a=document.createElement("script");a.type="text/javascript",a.src=t;var s=document.getElementsByTagName("script")[0];s.parentNode&&s.parentNode.insertBefore(a,s)}initialize(e){var t,a;if(this.dataLayer=new ee("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.turnAIAnswerGenerationOn===!0&&(this.dataLayer.turnAIAnswerGenerationOn=!0),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),e.language&&this.dataLayer.setLanguage(e.language),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new ae({...e,sessionId:this.dataLayer.sessionId},this.dataLayer),this.dataLayer.searchHelper=this.searchHelper),((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 z(e.router?e.router:{enabled:!0});const s=this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"");this.dataLayer.searchObject.itemsPerPage&&(s.itemsPerPage=this.dataLayer.searchObject.itemsPerPage),this.dataLayer.setSearchObject(s),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"",this.dataLayer.searchObject.itemsPerPage))})}else this.routerHelper=new z({})}search(e){if(this.searchHelper){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 r;const a=(((r=e.response)==null?void 0:r.docs)??[]).map((i,c)=>({...i,position:c+1})),s=[];for(const i of a)s.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&q.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponse(e){var r,i;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows));let t=j.combineResultsWithMetadata(e),a=j.extractFacets(e);this.dataLayer.setSearchFacets(a),(i=(r=this.dataLayer.searchstaxConfig)==null?void 0:r.hooks)!=null&&i.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const s=j.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(s),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==O.question&&e!==O.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var a,s;let t=e;(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.afterAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(t)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Me({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.setAnswerData(""),this.answerWidget=new qe({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new De({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 Ee({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Fe({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new Oe({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Ae({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig=t,this.externalPromotionsWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var r,i;const a={...this.dataLayer.searchObject};a.query=F.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let s=(r=this.routerHelper)==null?void 0:r.searchObjectToParams(a);s&&(s=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(s)),s&&(a.additionalProps=Object.keys(s).map(c=>s?{key:c,value:s[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(a),this.dataLayer.lastSearchValue=a.query}executeSuggest(e){var a,s;let t={term:e,queryParams:[]};(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.beforeAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(t)),t&&t.term!==void 0&&t.queryParams!==void 0&&this.suggest(t.term,t.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&q.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,s;let t=j.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((s=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&s.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&q.trackClick({result:t,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(t==null?void 0:t.url)??"")}).catch(()=>{}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(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())}}exports.Searchstax=He;
|
|
237
|
+
`,selectId:"searchstax-search-order-select"}};class g{}n(g,"answer",Se),n(g,"externalPromotions",be),n(g,"facets",Le),n(g,"pagination",xe),n(g,"relatedSearches",ve),n(g,"searchFeedback",Te),n(g,"searchInput",ke),n(g,"searchResults",Re),n(g,"sorting",Ie);class we{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"externalPromotionsContainerId");n(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)||g.externalPromotions.mainTemplate.externalPromotionsContainerId,typeof document<"u"&&(this.searchExternalPromotionsMainContainer=document==null?void 0: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 a,s,r,i;const t=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(t){const c=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.externalPromotion)==null?void 0:r.template)||((i=g.externalPromotions.externalPromotion)==null?void 0:i.template);if(typeof document<"u"){const l=document==null?void 0:document.createElement("div");l.classList.add("searchstax-external-promotion"),l.addEventListener("click",h=>{this.trackClick(e,h)}),l.innerHTML=y.render(c,e),t.appendChild(l)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplate)==null?void 0:r.template)||((i=g.externalPromotions.mainTemplate)==null?void 0:i.template);if(this.dataLayer.renderingEngine===T.mustache){this.searchExternalPromotionsMainContainer.innerHTML=y.render(t,e);const c=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;c&&(c.innerHTML="");for(const l of e.externalPromotions)this.addExternalSearch(l)}}}class E{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById("searchAccessibilityContainer")){const t=document.createElement("div");t.setAttribute("aria-live","polite"),t.setAttribute("id","searchAccessibilityContainer"),document.body.appendChild(t)}}static setAccessibilityText(e,t){this.addAccessibilityNotificationContainerToBody();const a=document.getElementById("searchAccessibility");a&&a.remove();const s=document.createElement("span");s.setAttribute("id","searchAccessibility"),s.innerHTML=e;const r=document.getElementById("searchAccessibilityContainer");r&&setTimeout(()=>{r.appendChild(s)},t??100)}}class Pe{constructor(e,t){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"routerHelper");n(this,"cachedPhrase","");n(this,"isCached",!1);n(this,"overlayOpened",!1);n(this,"facetPaginationStep");n(this,"facetPaginationStepMobile");n(this,"searchFacetsMainContainer",null);n(this,"searchFacetsMobileContainer",null);n(this,"searchFacetsDesktopContainer",null);n(this,"facetLimits",{});n(this,"facetLimitsMobile",{});n(this,"deactivatedFacets",{});n(this,"cachedData",null);n(this,"cacheFacets");n(this,"onFacetSelect",(e,t,a,s,r)=>{if(e.stopPropagation(),!t.disabled){const i=a.querySelector("input");let c=s?i.checked:!i.checked;r!==void 0&&(c=!r),i.checked=c;const l=this.dataLayer.searchObject;let h=[...l.facets];const d=this.extractFacetValue(t);c?h.find(u=>P.deepEqual(u,d)?u:!1)||(this.config.facetingType==="tabs"&&(h=h.filter(u=>u.name!==d.name)),h.push(d)):h=h.filter(p=>!P.deepEqual(p,d)),setTimeout(()=>{this.dataLayer.setSearchObject({...l,facets:h,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,typeof document<"u"&&(this.searchFacetsMainContainer=document==null?void 0: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 i;const r=(i=this.dataLayer.searchFacets)==null?void 0:i.find(c=>c.name===s.name);return r?{...s,values:s.values.map(l=>{const h=r.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,i,c,l,h,d,p,u,f,S,C;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||m.classList.add("active");const L=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:i.template)||((c=g.facets.facetItemContainerTemplate)==null?void 0:c.template);m.innerHTML=y.render(L,e),t.appendChild(m);const x=m.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:d.facetListTitleContainerClass)||((p=g.facets.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)));x==null||x.addEventListener("click",()=>{m.classList.toggle("active")});const R=m.querySelector("."+(((S=(f=(u=this.config)==null?void 0:u.templates)==null?void 0:f.facetItemContainerTemplate)==null?void 0:S.facetListContainerClass)||((C=g.facets.facetItemContainerTemplate)==null?void 0:C.facetListContainerClass)));R&&(e.values.forEach(k=>{this.createFacetListItem(k,R,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,R,a))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>P.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t,a){var s,r,i,c,l,h,d,p,u,f,S,C;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-value-container"),e.disabled&&m.classList.add("searchstax-facet-value-disabled");const L=this.isChecked(e),x=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemTemplate)==null?void 0:i.template)||((c=g.facets.facetItemTemplate)==null?void 0:c.template);m.innerHTML=y.render(x,{...e,isChecked:L});let R=(l=g.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;R=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemTemplate)==null?void 0:p.checkTriggerClasses)||R,R.forEach(v=>{const A=m.querySelector("."+v);A==null||A.addEventListener("click",D=>{this.onFacetSelect(D,e,m)})});const k=m.querySelector("."+(((S=(f=(u=this.config)==null?void 0:u.templates)==null?void 0:f.facetItemTemplate)==null?void 0:S.inputCheckboxClass)||((C=g.facets.facetItemTemplate)==null?void 0:C.inputCheckboxClass)));k==null||k.addEventListener("click",v=>{this.onFacetSelect(v,e,m,!0)}),k&&(k==null||k.setAttribute("data-test-value",`${encodeURIComponent(a)}:"${encodeURIComponent(e.value)}"`)),t.appendChild(m)}}createHasMoreComponent(e,t,a){var s,r,i,c,l,h,d,p;if(typeof document<"u"){const u=document==null?void 0:document.createElement("div");u.classList.add("searchstax-facet-show-more-container");const f=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:i.template)||((c=g.facets.showMoreButtonContainerTemplate)==null?void 0:c.template);u.innerHTML=y.render(f,e);const S=u.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:d.showMoreButtonClass)||((p=g.facets.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)));S&&(this.attachOnclickToShowMore(e,S,a),t&&t.appendChild(S))}}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)}),t.addEventListener("keyup",s=>{(s.code==="Space"||s.code==="Enter")&&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?(E.setAccessibilityText(`More Facets shown for ${t.label}`),r[t.name]=r[t.name]+s):(E.setAccessibilityText(`Less Facets shown for ${t.label}`),r[t.name]=s),this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,i,c,l,h,d,p,u,f;if(e&&(!P.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const S=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((i=g.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===T.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=y.render(S,{...e});const C=(d=this.searchFacetsMainContainer)==null?void 0:d.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||g.facets.mainTemplateDesktop.facetsContainerClass));if(C){C.innerHTML="";for(const m of e.facets)this.createFacetItem(m,C);if(this.searchFacetsMainContainer){const m=this.searchFacetsMainContainer.querySelector("."+(((f=(u=(p=this.config)==null?void 0:p.templates)==null?void 0:u.mainTemplateDesktop)==null?void 0:f.selectedFacetsContainerClass)||g.facets.mainTemplateDesktop.selectedFacetsContainerClass));m&&(this.createSelectedFacetsComponents(m),this.createClearFacetsComponents(m))}}}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 i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=i==null?void 0:i.find(l=>l.name===s);if(c){const l=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${r}"`:!1);l&&e.push(l)}}}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,i,c,l,h;if(typeof document<"u"){const d=this.dataLayer.searchObject,p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=g.facets.clearFacetsTemplate)==null?void 0:r.template),u=document==null?void 0:document.createElement("div");u.innerHTML=y.render(p,{shouldShow:d.facets.length>0});const f=u.querySelector("."+(((l=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:l.containerClass)||((h=g.facets.clearFacetsTemplate)==null?void 0:h.containerClass)));f&&(f.addEventListener("click",()=>{this.removeSelectedFacets()}),f.addEventListener("keyup",S=>{(S.code==="Space"||S.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(f))}}createSelectedFacetsComponent(e,t){var a,s,r,i,c,l,h,d;if(typeof document<"u"){const p=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((i=g.facets.selectedFacetsTemplate)==null?void 0:i.template),u=document==null?void 0:document.createElement("div");u.innerHTML=y.render(p,t);const f=u.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.selectedFacetsTemplate)==null?void 0:h.containerClass)||((d=g.facets.selectedFacetsTemplate)==null?void 0:d.containerClass)));f&&(f.addEventListener("click",()=>{this.unselectFacet(t)}),f.addEventListener("keyup",S=>{(S.code==="Space"||S.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(f))}}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,i,c,l,h;if(typeof document<"u"){const d=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=g.facets.filterByTemplate)==null?void 0:r.template),p=document==null?void 0:document.createElement("div");p.innerHTML=y.render(d,{});const u=p.querySelector("."+(((l=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.filterByTemplate)==null?void 0:l.containerClass)||((h=g.facets.filterByTemplate)==null?void 0:h.containerClass)));u&&(e.prepend(u),u.addEventListener("click",this.openOverlay.bind(this)),u.addEventListener("keyup",f=>{(f.code==="Space"||f.code==="Enter")&&this.openOverlay()}))}}openOverlay(){var e;E.setAccessibilityText("Facet overlay opened. Tab to select facets."),this.overlayOpened=!0,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;E.setAccessibilityText("Facet overlay closed"),this.overlayOpened=!1,this.searchFacetsMainContainer&&(typeof document<"u"&&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,i,c,l,h,d,p,u,f,S,C,m,L,x,R,k;if(e&&typeof document<"u"){const v=document==null?void 0:document.createElement("div");v.classList.add("searchstax-facets-container-mobile");const A=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=g.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===T.mustache){if(v.innerHTML=y.render(A,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(v),(l=(c=this.config)==null?void 0:c.templates)!=null&&l.mainTemplateMobile)for(const V of((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const M=v.querySelector("."+V);M&&(M.addEventListener("click",this.closeOverlay.bind(this)),M.addEventListener("keyup",B=>{(B.code==="Space"||B.code==="Enter")&&this.closeOverlay()}))}else for(const V of g.facets.mainTemplateMobile.closeOverlayTriggerClasses){const M=v.querySelector("."+V);M&&(M.addEventListener("click",this.closeOverlay.bind(this)),M.addEventListener("keyup",B=>{(B.code==="Space"||B.code==="Enter")&&this.closeOverlay()}))}const D=v.querySelector("."+(((S=(f=(u=this.config)==null?void 0:u.templates)==null?void 0:f.mainTemplateMobile)==null?void 0:S.filterByContainerClass)||g.facets.mainTemplateMobile.filterByContainerClass));D&&this.createFilterByComponent(D);const w=v.querySelector("."+(((L=(m=(C=this.config)==null?void 0:C.templates)==null?void 0:m.mainTemplateMobile)==null?void 0:L.selectedFacetsContainerClass)||g.facets.mainTemplateMobile.selectedFacetsContainerClass));w&&(this.createSelectedFacetsComponents(w),this.createClearFacetsComponents(w));const W=v.querySelector("."+(((k=(R=(x=this.config)==null?void 0:x.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:k.facetsContainerClass)||g.facets.mainTemplateMobile.facetsContainerClass));if(W){W.innerHTML="";for(const V of e.facets)this.createFacetItem(V,W,!0)}}}}}class Ee{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"previousButtonClass");n(this,"nextButtonClass");n(this,"loadMoreButtonClass");n(this,"routerHelper");n(this,"searchPaginationMainContainer",null);var t,a,s,r,i,c,l,h,d;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)??g.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.nextButtonClass)??g.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:d.loadMoreButtonClass)??g.pagination.infiniteScrollTemplate.loadMoreButtonClass,typeof document<"u"&&(this.searchPaginationMainContainer=document==null?void 0: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(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var t,a,s,r;const e={...this.dataLayer.parsedData.data,previousPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)-1}),nextPageLink:(r=this.routerHelper)==null?void 0:r.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(e),e}goToPage(e,t){const a=this.dataLayer.searchObject;a&&(a.page=e,this.dataLayer.setSearchObject(a)),t||window==null||window.scrollTo(0,0)}nextPage(e){var t;e==null||e.preventDefault(),e==null||e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1,this.dataLayer.isInfiniteScroll)}previousPage(e){var t;e==null||e.preventDefault(),e==null||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),a=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&(e.addEventListener("click",this.previousPage.bind(this)),e.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.previousPage(s)})),t&&(t.addEventListener("click",this.nextPage.bind(this)),t.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)})),a&&(a.addEventListener("click",this.nextPage.bind(this)),a.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)}))}}renderMainTemplate(e){var a,s,r,i,c,l,h,d,p,u;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));let t=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.template)||((l=g.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.isInfiniteScroll&&(t=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:p.template)||((u=g.pagination.infiniteScrollTemplate)==null?void 0:u.template)),this.dataLayer.renderingEngine===T.mustache&&(this.searchPaginationMainContainer.innerHTML=y.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Ae{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"relatedSearchesContainerClass");n(this,"searchRelatedSearchesMainContainer",null);n(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)||g.relatedSearches.main.relatedSearchesContainerClass,typeof document<"u"&&(this.searchRelatedSearchesMainContainer=document==null?void 0: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,i,c;if(typeof document<"u"){const l=document==null?void 0:document.createElement("div"),h=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||g.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===T.mustache){l.innerHTML=y.render(h,e);const d=l.querySelector("."+(((c=(i=this.config.templates)==null?void 0:i.relatedSearch)==null?void 0:c.relatedSearchContainerClass)||g.relatedSearches.relatedSearch.relatedSearchContainerClass));d&&(t.appendChild(d),d.addEventListener("click",()=>{this.executeSearch(e)}),d.addEventListener("keyup",p=>{(p.code==="Space"||p.code==="Enter")&&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 a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.relatedSearches.main.template;if(this.dataLayer.renderingEngine===T.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=y.render(t,e);const c=(i=this.searchRelatedSearchesMainContainer)==null?void 0:i.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const l of e.relatedSearches)this.addRelatedSearchComponent(l,c)}}}class Fe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"searchFeedbackMainContainer",null);n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,typeof document<"u"&&(this.searchFeedbackMainContainer=document==null?void 0: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 a;e.stopPropagation(),e.preventDefault();const t=(a=e.target)==null?void 0:a.innerHTML;this.searchTrigger(t,!0)}attachClick(){var t,a,s,r,i;const e=(i=this.searchFeedbackMainContainer)==null?void 0:i.querySelector("."+(((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.originalQueryClass)||((r=g.searchFeedback.main)==null?void 0:r.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.searchFeedback.main.template;this.dataLayer.renderingEngine===T.mustache&&(this.searchFeedbackMainContainer.innerHTML=y.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Me{constructor(e){n(this,"searchHelper");n(this,"dataLayer");n(this,"config");n(this,"suggestAfterMinChars");n(this,"containerId");n(this,"currentInputValue","");n(this,"autosuggestResults");n(this,"searchInput");n(this,"actionButton");n(this,"autosuggestContainer");n(this,"buttonState","search");n(this,"selectedAutosuggestItem",-1);n(this,"suggestTrigger");n(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.suggestAfterMinChars===void 0&&this.getSuggestAfterValue(),this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,a,s;if(typeof document<"u"){const r=document==null?void 0:document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const i=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||g.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===T.mustache){const h=y.render(i,{});r.innerHTML=h}const c=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||g.searchInput.mainTemplate.searchInputId,l=document==null?void 0:document.querySelector(`#${c}`);if(l)this.searchInput=l,l.addEventListener("keyup",this.inputKeyupEvent.bind(this)),l.addEventListener("blur",this.hideAutosuggest.bind(this)),l.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===T.mustache&&typeof document<"u"&&(this.autosuggestContainer=document==null?void 0: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))}getSuggestAfterValue(){this.dataLayer.searchHelper&&this.dataLayer.searchHelper.suggest("*",e=>{this.suggestAfterMinChars=e.metadata.minPrefixChars},[])}actionButtonInit(){typeof document<"u"&&(this.actionButton=document==null?void 0: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"),this.actionButton.setAttribute("aria-label","search");break;case"close":this.actionButton.classList.add("searchstax-search-close"),this.actionButton.setAttribute("aria-label","clear search");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(){if(typeof document<"u"){const e=document==null?void 0:document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?(a.classList.add("active"),E.setAccessibilityText(`Selected suggestion: ${a.innerText}`)):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){this.suggestAfterMinChars&&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()},200)}cleanSuggestionTerm(e){return F.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var s,r,i;const t=document==null?void 0:document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const a=((r=(s=this.config.templates)==null?void 0:s.autosuggestItemTemplate)==null?void 0:r.template)||((i=g.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=y.render(a,e),t}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];r.numFound?E.setAccessibilityText("Suggestions are available. Use up and down arrows to navigate while focusing input.",2e3):E.setAccessibilityText("",0),this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(i=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class De{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"linkClickCallback");n(this,"searchCallback");n(this,"containerId");n(this,"searchResultsMainContainer");n(this,"searchResultsContainer");n(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==null?void 0:document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.dataLayer.setIsInfiniteScroll(e.config.renderMethod==="infiniteScroll"),this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchObject.subscribe(()=>{E.setAccessibilityText("Searching...")}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,s,r,i,c;const e=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.noSearchResultTemplate)==null?void 0:r.template)||((i=g.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((c=this.dataLayer.searchResultsMetadata)==null?void 0:c.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===T.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=y.render(e,{spellingSuggestion:t,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),t&&this.searchResultsContainer){const l=this.searchResultsContainer.querySelector("a");l&&l.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,s,r,i;if(this.dataLayer.renderingEngine===T.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)E.setAccessibilityText("Search has no results"),this.renderNoResultsTemplate();else{E.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=g.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(h=>y.render(c,h));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=l.join(""):this.searchResultsContainer.innerHTML=l.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}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=g.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)}),e.addEventListener("keydown",t=>{if(t.code==="Space"||t.code==="Enter"){const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)}})})}renderMainTemplate(){var t,a,s,r;const e=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=g.searchResults.mainTemplate)==null?void 0:r.template);this.dataLayer.renderingEngine===T.mustache&&(this.searchResultsMainContainer.innerHTML=y.render(e,{}),setTimeout(()=>{var l,h,d,p,u,f,S;const i=(d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.mainTemplate)!=null&&d.searchResultsContainerId?(f=(u=(p=this.config)==null?void 0:p.templates)==null?void 0:u.mainTemplate)==null?void 0:f.searchResultsContainerId:(S=g.searchResults.mainTemplate)==null?void 0:S.searchResultsContainerId,c=document==null?void 0:document.getElementById(i);if(c)this.searchResultsContainer=c;else throw new Error(`Search Results Container with id ${i} not found`)},0))}}class Oe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"selectId");n(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)||g.sorting.main.selectId,this.searchSortingMainContainer=document==null?void 0: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==null?void 0:document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.sorting.main.template;if(this.dataLayer.renderingEngine===T.mustache){this.searchSortingMainContainer.innerHTML=y.render(t,e),this.markOptionSelected();const i=document==null?void 0:document.getElementById(this.selectId);i&&i.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class qe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,typeof document<"u"&&(this.answerContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)})}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.answer.main.template;this.dataLayer.renderingEngine===T.mustache&&(this.answerContainer.innerHTML=y.render(t,e))}}class He{constructor(e=T.mustache){n(this,"routerEnabled",!1);n(this,"cachedQuery","");n(this,"routerHelper");n(this,"searchHelper");n(this,"searchResultsConfig");n(this,"searchPaginationConfig");n(this,"searchFeedbackConfig");n(this,"searchSortingConfig");n(this,"searchFacetsConfig");n(this,"relatedSearchesConfig");n(this,"externalPromotionsConfig");n(this,"searchInputWidget");n(this,"searchResultsWidget");n(this,"searchFacetsWidget");n(this,"searchPaginationWidget");n(this,"searchFeedbackWidget");n(this,"searchSortingWidget");n(this,"relatedSearchesWidget");n(this,"externalPromotionsWidget");n(this,"answerWidget");n(this,"dataLayer");n(this,"firstRequest",!0);n(this,"renderEngine",T.mustache);e&&(this.renderEngine=e)}setRenderingEngine(e=T.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=>{var s;a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),this.dataLayer.turnAIAnswerGenerationOn===!0&&((s=this.searchHelper)==null||s.startSSE(a.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&q.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}attachAnalyticsScript(e){const t=e||"https://static.searchstax.com/studio-js/v3/js/studio-analytics.js";var a=document.createElement("script");a.type="text/javascript",a.src=t;var s=document.getElementsByTagName("script")[0];s.parentNode&&s.parentNode.insertBefore(a,s)}initialize(e){var t,a;if(this.dataLayer=new ee("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.turnAIAnswerGenerationOn===!0&&(this.dataLayer.turnAIAnswerGenerationOn=!0),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),e.language&&this.dataLayer.setLanguage(e.language),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new ae({...e,sessionId:this.dataLayer.sessionId},this.dataLayer),this.dataLayer.searchHelper=this.searchHelper),((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 z(e.router?e.router:{enabled:!0});const s=this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"");this.dataLayer.searchObject.itemsPerPage&&(s.itemsPerPage=this.dataLayer.searchObject.itemsPerPage),this.dataLayer.setSearchObject(s),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"",this.dataLayer.searchObject.itemsPerPage))})}else this.routerHelper=new z({})}search(e){if(this.searchHelper){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 r;const a=(((r=e.response)==null?void 0:r.docs)??[]).map((i,c)=>({...i,position:c+1})),s=[];for(const i of a)s.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&q.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponse(e){var r,i;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows));let t=j.combineResultsWithMetadata(e),a=j.extractFacets(e);this.dataLayer.setSearchFacets(a),(i=(r=this.dataLayer.searchstaxConfig)==null?void 0:r.hooks)!=null&&i.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const s=j.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(s),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==O.question&&e!==O.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var a,s;let t=e;(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.afterAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(t)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Me({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.setAnswerData(""),this.answerWidget=new qe({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new De({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 Ee({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Fe({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new Oe({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Ae({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0)}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig=t,this.externalPromotionsWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var r,i;const a={...this.dataLayer.searchObject};a.query=F.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let s=(r=this.routerHelper)==null?void 0:r.searchObjectToParams(a);s&&(s=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(s)),s&&(a.additionalProps=Object.keys(s).map(c=>s?{key:c,value:s[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(a),this.dataLayer.lastSearchValue=a.query}executeSuggest(e){var a,s;let t={term:e,queryParams:[]};(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.beforeAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(t)),t&&t.term!==void 0&&t.queryParams!==void 0&&this.suggest(t.term,t.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&q.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,s;let t=j.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((s=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&s.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&q.trackClick({result:t,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(t==null?void 0:t.url)??"")}).catch(()=>{}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(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())}}exports.Searchstax=He;
|
|
@@ -234,4 +234,4 @@ var He=Object.defineProperty;var $e=(M,S,D)=>S in M?He(M,S,{enumerable:!0,config
|
|
|
234
234
|
</div>
|
|
235
235
|
{{/hasResultsOrExternalPromotions}}
|
|
236
236
|
{{/searchExecuted}}
|
|
237
|
-
`,selectId:"searchstax-search-order-select"}};class g{}n(g,"answer",Ce),n(g,"externalPromotions",Se),n(g,"facets",be),n(g,"pagination",Le),n(g,"relatedSearches",xe),n(g,"searchFeedback",ve),n(g,"searchInput",Te),n(g,"searchResults",ke),n(g,"sorting",Re);class Ie{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"externalPromotionsContainerId");n(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)||g.externalPromotions.mainTemplate.externalPromotionsContainerId,typeof document<"u"&&(this.searchExternalPromotionsMainContainer=document==null?void 0: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 a,s,r,i;const t=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(t){const c=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.externalPromotion)==null?void 0:r.template)||((i=g.externalPromotions.externalPromotion)==null?void 0:i.template);if(typeof document<"u"){const l=document==null?void 0:document.createElement("div");l.classList.add("searchstax-external-promotion"),l.addEventListener("click",h=>{this.trackClick(e,h)}),l.innerHTML=y.render(c,e),t.appendChild(l)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplate)==null?void 0:r.template)||((i=g.externalPromotions.mainTemplate)==null?void 0:i.template);if(this.dataLayer.renderingEngine===S.mustache){this.searchExternalPromotionsMainContainer.innerHTML=y.render(t,e);const c=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;c&&(c.innerHTML="");for(const l of e.externalPromotions)this.addExternalSearch(l)}}}class E{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById("searchAccessibilityContainer")){const t=document.createElement("div");t.setAttribute("aria-live","polite"),t.setAttribute("id","searchAccessibilityContainer"),document.body.appendChild(t)}}static setAccessibilityText(e,t){this.addAccessibilityNotificationContainerToBody();const a=document.getElementById("searchAccessibility");a&&a.remove();const s=document.createElement("span");s.setAttribute("id","searchAccessibility"),s.innerHTML=e;const r=document.getElementById("searchAccessibilityContainer");r&&setTimeout(()=>{r.appendChild(s)},t??100)}}class we{constructor(e,t){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"routerHelper");n(this,"cachedPhrase","");n(this,"isCached",!1);n(this,"overlayOpened",!1);n(this,"facetPaginationStep");n(this,"facetPaginationStepMobile");n(this,"searchFacetsMainContainer",null);n(this,"searchFacetsMobileContainer",null);n(this,"searchFacetsDesktopContainer",null);n(this,"facetLimits",{});n(this,"facetLimitsMobile",{});n(this,"deactivatedFacets",{});n(this,"cachedData",null);n(this,"cacheFacets");n(this,"onFacetSelect",(e,t,a,s,r)=>{if(e.stopPropagation(),!t.disabled){const i=a.querySelector("input");let c=s?i.checked:!i.checked;r!==void 0&&(c=!r),i.checked=c;const l=this.dataLayer.searchObject;let h=[...l.facets];const d=this.extractFacetValue(t);c?h.find(u=>P.deepEqual(u,d)?u:!1)||(this.config.facetingType==="tabs"&&(h=h.filter(u=>u.name!==d.name)),h.push(d)):h=h.filter(p=>!P.deepEqual(p,d)),setTimeout(()=>{this.dataLayer.setSearchObject({...l,facets:h,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,typeof document<"u"&&(this.searchFacetsMainContainer=document==null?void 0: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 i;const r=(i=this.dataLayer.searchFacets)==null?void 0:i.find(c=>c.name===s.name);return r?{...s,values:s.values.map(l=>{const h=r.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,i,c,l,h,d,p,u,f,b,C;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||m.classList.add("active");const x=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:i.template)||((c=g.facets.facetItemContainerTemplate)==null?void 0:c.template);m.innerHTML=y.render(x,e),t.appendChild(m);const v=m.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:d.facetListTitleContainerClass)||((p=g.facets.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)));v==null||v.addEventListener("click",()=>{m.classList.toggle("active")});const R=m.querySelector("."+(((b=(f=(u=this.config)==null?void 0:u.templates)==null?void 0:f.facetItemContainerTemplate)==null?void 0:b.facetListContainerClass)||((C=g.facets.facetItemContainerTemplate)==null?void 0:C.facetListContainerClass)));R&&(e.values.forEach(k=>{this.createFacetListItem(k,R,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,R,a))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>P.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t,a){var s,r,i,c,l,h,d,p,u,f,b,C;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-value-container"),e.disabled&&m.classList.add("searchstax-facet-value-disabled");const x=this.isChecked(e),v=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemTemplate)==null?void 0:i.template)||((c=g.facets.facetItemTemplate)==null?void 0:c.template);m.innerHTML=y.render(v,{...e,isChecked:x});let R=(l=g.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;R=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemTemplate)==null?void 0:p.checkTriggerClasses)||R,R.forEach(T=>{const F=m.querySelector("."+T);F==null||F.addEventListener("click",B=>{this.onFacetSelect(B,e,m)})});const k=m.querySelector("."+(((b=(f=(u=this.config)==null?void 0:u.templates)==null?void 0:f.facetItemTemplate)==null?void 0:b.inputCheckboxClass)||((C=g.facets.facetItemTemplate)==null?void 0:C.inputCheckboxClass)));k==null||k.addEventListener("click",T=>{this.onFacetSelect(T,e,m,!0)}),k&&(k==null||k.setAttribute("data-test-value",`${encodeURIComponent(a)}:"${encodeURIComponent(e.value)}"`)),t.appendChild(m)}}createHasMoreComponent(e,t,a){var s,r,i,c,l,h,d,p;if(typeof document<"u"){const u=document==null?void 0:document.createElement("div");u.classList.add("searchstax-facet-show-more-container");const f=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:i.template)||((c=g.facets.showMoreButtonContainerTemplate)==null?void 0:c.template);u.innerHTML=y.render(f,e);const b=u.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:d.showMoreButtonClass)||((p=g.facets.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)));b&&(this.attachOnclickToShowMore(e,b,a),t&&t.appendChild(b))}}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)}),t.addEventListener("keyup",s=>{(s.code==="Space"||s.code==="Enter")&&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?(E.setAccessibilityText(`More Facets shown for ${t.label}`),r[t.name]=r[t.name]+s):(E.setAccessibilityText(`Less Facets shown for ${t.label}`),r[t.name]=s),this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,i,c,l,h,d,p,u,f;if(e&&(!P.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const b=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((i=g.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===S.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=y.render(b,{...e});const C=(d=this.searchFacetsMainContainer)==null?void 0:d.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||g.facets.mainTemplateDesktop.facetsContainerClass));if(C){C.innerHTML="";for(const m of e.facets)this.createFacetItem(m,C);if(this.searchFacetsMainContainer){const m=this.searchFacetsMainContainer.querySelector("."+(((f=(u=(p=this.config)==null?void 0:p.templates)==null?void 0:u.mainTemplateDesktop)==null?void 0:f.selectedFacetsContainerClass)||g.facets.mainTemplateDesktop.selectedFacetsContainerClass));m&&(this.createSelectedFacetsComponents(m),this.createClearFacetsComponents(m))}}}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 i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=i==null?void 0:i.find(l=>l.name===s);if(c){const l=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${r}"`:!1);l&&e.push(l)}}}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,i,c,l,h;if(typeof document<"u"){const d=this.dataLayer.searchObject,p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=g.facets.clearFacetsTemplate)==null?void 0:r.template),u=document==null?void 0:document.createElement("div");u.innerHTML=y.render(p,{shouldShow:d.facets.length>0});const f=u.querySelector("."+(((l=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:l.containerClass)||((h=g.facets.clearFacetsTemplate)==null?void 0:h.containerClass)));f&&(f.addEventListener("click",()=>{this.removeSelectedFacets()}),f.addEventListener("keyup",b=>{(b.code==="Space"||b.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(f))}}createSelectedFacetsComponent(e,t){var a,s,r,i,c,l,h,d;if(typeof document<"u"){const p=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((i=g.facets.selectedFacetsTemplate)==null?void 0:i.template),u=document==null?void 0:document.createElement("div");u.innerHTML=y.render(p,t);const f=u.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.selectedFacetsTemplate)==null?void 0:h.containerClass)||((d=g.facets.selectedFacetsTemplate)==null?void 0:d.containerClass)));f&&(f.addEventListener("click",()=>{this.unselectFacet(t)}),f.addEventListener("keyup",b=>{(b.code==="Space"||b.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(f))}}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,i,c,l,h;if(typeof document<"u"){const d=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=g.facets.filterByTemplate)==null?void 0:r.template),p=document==null?void 0:document.createElement("div");p.innerHTML=y.render(d,{});const u=p.querySelector("."+(((l=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.filterByTemplate)==null?void 0:l.containerClass)||((h=g.facets.filterByTemplate)==null?void 0:h.containerClass)));u&&(e.prepend(u),u.addEventListener("click",this.openOverlay.bind(this)),u.addEventListener("keyup",f=>{(f.code==="Space"||f.code==="Enter")&&this.openOverlay()}))}}openOverlay(){var e;E.setAccessibilityText("Facet overlay opened. Tab to select facets."),this.overlayOpened=!0,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;E.setAccessibilityText("Facet overlay closed"),this.overlayOpened=!1,this.searchFacetsMainContainer&&(typeof document<"u"&&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,i,c,l,h,d,p,u,f,b,C,m,x,v,R,k;if(e&&typeof document<"u"){const T=document==null?void 0:document.createElement("div");T.classList.add("searchstax-facets-container-mobile");const F=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=g.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===S.mustache){if(T.innerHTML=y.render(F,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(T),(l=(c=this.config)==null?void 0:c.templates)!=null&&l.mainTemplateMobile)for(const W of((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const O=T.querySelector("."+W);O&&(O.addEventListener("click",this.closeOverlay.bind(this)),O.addEventListener("keyup",Q=>{(Q.code==="Space"||Q.code==="Enter")&&this.closeOverlay()}))}else for(const W of g.facets.mainTemplateMobile.closeOverlayTriggerClasses){const O=T.querySelector("."+W);O&&(O.addEventListener("click",this.closeOverlay.bind(this)),O.addEventListener("keyup",Q=>{(Q.code==="Space"||Q.code==="Enter")&&this.closeOverlay()}))}const B=T.querySelector("."+(((b=(f=(u=this.config)==null?void 0:u.templates)==null?void 0:f.mainTemplateMobile)==null?void 0:b.filterByContainerClass)||g.facets.mainTemplateMobile.filterByContainerClass));B&&this.createFilterByComponent(B);const w=T.querySelector("."+(((x=(m=(C=this.config)==null?void 0:C.templates)==null?void 0:m.mainTemplateMobile)==null?void 0:x.selectedFacetsContainerClass)||g.facets.mainTemplateMobile.selectedFacetsContainerClass));w&&(this.createSelectedFacetsComponents(w),this.createClearFacetsComponents(w));const J=T.querySelector("."+(((k=(R=(v=this.config)==null?void 0:v.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:k.facetsContainerClass)||g.facets.mainTemplateMobile.facetsContainerClass));if(J){J.innerHTML="";for(const W of e.facets)this.createFacetItem(W,J,!0)}}}}}class Pe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"previousButtonClass");n(this,"nextButtonClass");n(this,"loadMoreButtonClass");n(this,"routerHelper");n(this,"searchPaginationMainContainer",null);var t,a,s,r,i,c,l,h,d;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)??g.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.nextButtonClass)??g.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:d.loadMoreButtonClass)??g.pagination.infiniteScrollTemplate.loadMoreButtonClass,typeof document<"u"&&(this.searchPaginationMainContainer=document==null?void 0: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(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var t,a,s,r;const e={...this.dataLayer.parsedData.data,previousPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)-1}),nextPageLink:(r=this.routerHelper)==null?void 0:r.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(e),e}goToPage(e,t){const a=this.dataLayer.searchObject;a&&(a.page=e,this.dataLayer.setSearchObject(a)),t||window==null||window.scrollTo(0,0)}nextPage(e){var t;e==null||e.preventDefault(),e==null||e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1,this.dataLayer.isInfiniteScroll)}previousPage(e){var t;e==null||e.preventDefault(),e==null||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),a=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&(e.addEventListener("click",this.previousPage.bind(this)),e.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.previousPage(s)})),t&&(t.addEventListener("click",this.nextPage.bind(this)),t.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)})),a&&(a.addEventListener("click",this.nextPage.bind(this)),a.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)}))}}renderMainTemplate(e){var a,s,r,i,c,l,h,d,p,u;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));let t=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.template)||((l=g.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.isInfiniteScroll&&(t=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:p.template)||((u=g.pagination.infiniteScrollTemplate)==null?void 0:u.template)),this.dataLayer.renderingEngine===S.mustache&&(this.searchPaginationMainContainer.innerHTML=y.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Ee{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"relatedSearchesContainerClass");n(this,"searchRelatedSearchesMainContainer",null);n(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)||g.relatedSearches.main.relatedSearchesContainerClass,typeof document<"u"&&(this.searchRelatedSearchesMainContainer=document==null?void 0: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,i,c;if(typeof document<"u"){const l=document==null?void 0:document.createElement("div"),h=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||g.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===S.mustache){l.innerHTML=y.render(h,e);const d=l.querySelector("."+(((c=(i=this.config.templates)==null?void 0:i.relatedSearch)==null?void 0:c.relatedSearchContainerClass)||g.relatedSearches.relatedSearch.relatedSearchContainerClass));d&&(t.appendChild(d),d.addEventListener("click",()=>{this.executeSearch(e)}),d.addEventListener("keyup",p=>{(p.code==="Space"||p.code==="Enter")&&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 a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.relatedSearches.main.template;if(this.dataLayer.renderingEngine===S.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=y.render(t,e);const c=(i=this.searchRelatedSearchesMainContainer)==null?void 0:i.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const l of e.relatedSearches)this.addRelatedSearchComponent(l,c)}}}class Ae{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"searchFeedbackMainContainer",null);n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,typeof document<"u"&&(this.searchFeedbackMainContainer=document==null?void 0: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 a;e.stopPropagation(),e.preventDefault();const t=(a=e.target)==null?void 0:a.innerHTML;this.searchTrigger(t,!0)}attachClick(){var t,a,s,r,i;const e=(i=this.searchFeedbackMainContainer)==null?void 0:i.querySelector("."+(((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.originalQueryClass)||((r=g.searchFeedback.main)==null?void 0:r.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.searchFeedback.main.template;this.dataLayer.renderingEngine===S.mustache&&(this.searchFeedbackMainContainer.innerHTML=y.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Fe{constructor(e){n(this,"searchHelper");n(this,"dataLayer");n(this,"config");n(this,"suggestAfterMinChars");n(this,"containerId");n(this,"currentInputValue","");n(this,"autosuggestResults");n(this,"searchInput");n(this,"actionButton");n(this,"autosuggestContainer");n(this,"buttonState","search");n(this,"selectedAutosuggestItem",-1);n(this,"suggestTrigger");n(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.suggestAfterMinChars===void 0&&this.getSuggestAfterValue(),this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,a,s;if(typeof document<"u"){const r=document==null?void 0:document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const i=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||g.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===S.mustache){const h=y.render(i,{});r.innerHTML=h}const c=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||g.searchInput.mainTemplate.searchInputId,l=document==null?void 0:document.querySelector(`#${c}`);if(l)this.searchInput=l,l.addEventListener("keyup",this.inputKeyupEvent.bind(this)),l.addEventListener("blur",this.hideAutosuggest.bind(this)),l.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===S.mustache&&typeof document<"u"&&(this.autosuggestContainer=document==null?void 0: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))}getSuggestAfterValue(){this.dataLayer.searchHelper&&this.dataLayer.searchHelper.suggest("*",e=>{this.suggestAfterMinChars=e.metadata.minPrefixChars},[])}actionButtonInit(){typeof document<"u"&&(this.actionButton=document==null?void 0: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"),this.actionButton.setAttribute("aria-label","search");break;case"close":this.actionButton.classList.add("searchstax-search-close"),this.actionButton.setAttribute("aria-label","clear search");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(){if(typeof document<"u"){const e=document==null?void 0:document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?(a.classList.add("active"),E.setAccessibilityText(`Selected suggestion: ${a.innerText}`)):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){this.suggestAfterMinChars&&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()},200)}cleanSuggestionTerm(e){return A.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var s,r,i;const t=document==null?void 0:document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const a=((r=(s=this.config.templates)==null?void 0:s.autosuggestItemTemplate)==null?void 0:r.template)||((i=g.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=y.render(a,e),t}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];r.numFound?E.setAccessibilityText("Suggestions are available. Use up and down arrows to navigate while focusing input.",2e3):E.setAccessibilityText("",0),this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(i=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Me{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"linkClickCallback");n(this,"searchCallback");n(this,"containerId");n(this,"searchResultsMainContainer");n(this,"searchResultsContainer");n(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==null?void 0:document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.dataLayer.setIsInfiniteScroll(e.config.renderMethod==="infiniteScroll"),this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchObject.subscribe(()=>{E.setAccessibilityText("Searching...")}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,s,r,i,c;const e=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.noSearchResultTemplate)==null?void 0:r.template)||((i=g.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((c=this.dataLayer.searchResultsMetadata)==null?void 0:c.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===S.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=y.render(e,{spellingSuggestion:t,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),t&&this.searchResultsContainer){const l=this.searchResultsContainer.querySelector("a");l&&l.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,s,r,i;if(this.dataLayer.renderingEngine===S.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)E.setAccessibilityText("Search has no results"),this.renderNoResultsTemplate();else{E.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=g.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(h=>y.render(c,h));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=l.join(""):this.searchResultsContainer.innerHTML=l.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}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=g.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)}),e.addEventListener("keydown",t=>{if(t.code==="Space"||t.code==="Enter"){const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)}})})}renderMainTemplate(){var t,a,s,r;const e=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=g.searchResults.mainTemplate)==null?void 0:r.template);this.dataLayer.renderingEngine===S.mustache&&(this.searchResultsMainContainer.innerHTML=y.render(e,{}),setTimeout(()=>{var l,h,d,p,u,f,b;const i=(d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.mainTemplate)!=null&&d.searchResultsContainerId?(f=(u=(p=this.config)==null?void 0:p.templates)==null?void 0:u.mainTemplate)==null?void 0:f.searchResultsContainerId:(b=g.searchResults.mainTemplate)==null?void 0:b.searchResultsContainerId,c=document==null?void 0:document.getElementById(i);if(c)this.searchResultsContainer=c;else throw new Error(`Search Results Container with id ${i} not found`)},0))}}class De{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"selectId");n(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)||g.sorting.main.selectId,this.searchSortingMainContainer=document==null?void 0: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==null?void 0:document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.sorting.main.template;if(this.dataLayer.renderingEngine===S.mustache){this.searchSortingMainContainer.innerHTML=y.render(t,e),this.markOptionSelected();const i=document==null?void 0:document.getElementById(this.selectId);i&&i.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class Oe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,typeof document<"u"&&(this.answerContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)})}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.answer.main.template;this.dataLayer.renderingEngine===S.mustache&&(this.answerContainer.innerHTML=y.render(t,e))}}class qe{constructor(e=S.mustache){n(this,"routerEnabled",!1);n(this,"cachedQuery","");n(this,"routerHelper");n(this,"searchHelper");n(this,"searchResultsConfig");n(this,"searchPaginationConfig");n(this,"searchFeedbackConfig");n(this,"searchSortingConfig");n(this,"searchFacetsConfig");n(this,"relatedSearchesConfig");n(this,"externalPromotionsConfig");n(this,"searchInputWidget");n(this,"searchResultsWidget");n(this,"searchFacetsWidget");n(this,"searchPaginationWidget");n(this,"searchFeedbackWidget");n(this,"searchSortingWidget");n(this,"relatedSearchesWidget");n(this,"externalPromotionsWidget");n(this,"answerWidget");n(this,"dataLayer");n(this,"firstRequest",!0);n(this,"renderEngine",S.mustache);e&&(this.renderEngine=e)}setRenderingEngine(e=S.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=>{var s;a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),this.dataLayer.turnAIAnswerGenerationOn===!0&&((s=this.searchHelper)==null||s.startSSE(a.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}attachAnalyticsScript(e){const t=e||"https://static.searchstax.com/studio-js/v3/js/studio-analytics.js";var a=document.createElement("script");a.type="text/javascript",a.src=t;var s=document.getElementsByTagName("script")[0];s.parentNode&&s.parentNode.insertBefore(a,s)}initialize(e){var t,a;if(this.dataLayer=new Z("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.turnAIAnswerGenerationOn===!0&&(this.dataLayer.turnAIAnswerGenerationOn=!0),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),e.language&&this.dataLayer.setLanguage(e.language),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new te({...e,sessionId:this.dataLayer.sessionId},this.dataLayer),this.dataLayer.searchHelper=this.searchHelper),((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 X(e.router?e.router:{enabled:!0});const s=this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"");this.dataLayer.searchObject.itemsPerPage&&(s.itemsPerPage=this.dataLayer.searchObject.itemsPerPage),this.dataLayer.setSearchObject(s),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"",this.dataLayer.searchObject.itemsPerPage))})}else this.routerHelper=new X({})}search(e){if(this.searchHelper){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 r;const a=(((r=e.response)==null?void 0:r.docs)??[]).map((i,c)=>({...i,position:c+1})),s=[];for(const i of a)s.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponse(e){var r,i;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows));let t=j.combineResultsWithMetadata(e),a=j.extractFacets(e);this.dataLayer.setSearchFacets(a),(i=(r=this.dataLayer.searchstaxConfig)==null?void 0:r.hooks)!=null&&i.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const s=j.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(s),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==q.question&&e!==q.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var a,s;let t=e;(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.afterAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(t)}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 Fe({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.setAnswerData(""),this.answerWidget=new Oe({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Me({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Ae({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new De({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Ee({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Ie({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var r,i;const a={...this.dataLayer.searchObject};a.query=A.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let s=(r=this.routerHelper)==null?void 0:r.searchObjectToParams(a);s&&(s=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(s)),s&&(a.additionalProps=Object.keys(s).map(c=>s?{key:c,value:s[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(a),this.dataLayer.lastSearchValue=a.query}executeSuggest(e){var a,s;let t={term:e,queryParams:[]};(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.beforeAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(t)),t&&t.term!==void 0&&t.queryParams!==void 0&&this.suggest(t.term,t.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&H.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,s;let t=j.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((s=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&s.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackClick({result:t,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(t==null?void 0:t.url)??"")}).catch(()=>{}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(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())}}M.Searchstax=qe,Object.defineProperty(M,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxJs"]=this["@searchstaxInc/searchstudioUxJs"]||{});
|
|
237
|
+
`,selectId:"searchstax-search-order-select"}};class g{}n(g,"answer",Ce),n(g,"externalPromotions",Se),n(g,"facets",be),n(g,"pagination",Le),n(g,"relatedSearches",xe),n(g,"searchFeedback",ve),n(g,"searchInput",Te),n(g,"searchResults",ke),n(g,"sorting",Re);class Ie{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"externalPromotionsContainerId");n(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)||g.externalPromotions.mainTemplate.externalPromotionsContainerId,typeof document<"u"&&(this.searchExternalPromotionsMainContainer=document==null?void 0: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 a,s,r,i;const t=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(t){const c=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.externalPromotion)==null?void 0:r.template)||((i=g.externalPromotions.externalPromotion)==null?void 0:i.template);if(typeof document<"u"){const l=document==null?void 0:document.createElement("div");l.classList.add("searchstax-external-promotion"),l.addEventListener("click",h=>{this.trackClick(e,h)}),l.innerHTML=y.render(c,e),t.appendChild(l)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplate)==null?void 0:r.template)||((i=g.externalPromotions.mainTemplate)==null?void 0:i.template);if(this.dataLayer.renderingEngine===S.mustache){this.searchExternalPromotionsMainContainer.innerHTML=y.render(t,e);const c=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;c&&(c.innerHTML="");for(const l of e.externalPromotions)this.addExternalSearch(l)}}}class E{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById("searchAccessibilityContainer")){const t=document.createElement("div");t.setAttribute("aria-live","polite"),t.setAttribute("id","searchAccessibilityContainer"),document.body.appendChild(t)}}static setAccessibilityText(e,t){this.addAccessibilityNotificationContainerToBody();const a=document.getElementById("searchAccessibility");a&&a.remove();const s=document.createElement("span");s.setAttribute("id","searchAccessibility"),s.innerHTML=e;const r=document.getElementById("searchAccessibilityContainer");r&&setTimeout(()=>{r.appendChild(s)},t??100)}}class we{constructor(e,t){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"routerHelper");n(this,"cachedPhrase","");n(this,"isCached",!1);n(this,"overlayOpened",!1);n(this,"facetPaginationStep");n(this,"facetPaginationStepMobile");n(this,"searchFacetsMainContainer",null);n(this,"searchFacetsMobileContainer",null);n(this,"searchFacetsDesktopContainer",null);n(this,"facetLimits",{});n(this,"facetLimitsMobile",{});n(this,"deactivatedFacets",{});n(this,"cachedData",null);n(this,"cacheFacets");n(this,"onFacetSelect",(e,t,a,s,r)=>{if(e.stopPropagation(),!t.disabled){const i=a.querySelector("input");let c=s?i.checked:!i.checked;r!==void 0&&(c=!r),i.checked=c;const l=this.dataLayer.searchObject;let h=[...l.facets];const d=this.extractFacetValue(t);c?h.find(u=>P.deepEqual(u,d)?u:!1)||(this.config.facetingType==="tabs"&&(h=h.filter(u=>u.name!==d.name)),h.push(d)):h=h.filter(p=>!P.deepEqual(p,d)),setTimeout(()=>{this.dataLayer.setSearchObject({...l,facets:h,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,typeof document<"u"&&(this.searchFacetsMainContainer=document==null?void 0: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 i;const r=(i=this.dataLayer.searchFacets)==null?void 0:i.find(c=>c.name===s.name);return r?{...s,values:s.values.map(l=>{const h=r.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,i,c,l,h,d,p,u,f,b,C;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||m.classList.add("active");const x=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:i.template)||((c=g.facets.facetItemContainerTemplate)==null?void 0:c.template);m.innerHTML=y.render(x,e),t.appendChild(m);const v=m.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:d.facetListTitleContainerClass)||((p=g.facets.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)));v==null||v.addEventListener("click",()=>{m.classList.toggle("active")});const R=m.querySelector("."+(((b=(f=(u=this.config)==null?void 0:u.templates)==null?void 0:f.facetItemContainerTemplate)==null?void 0:b.facetListContainerClass)||((C=g.facets.facetItemContainerTemplate)==null?void 0:C.facetListContainerClass)));R&&(e.values.forEach(k=>{this.createFacetListItem(k,R,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,R,a))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>P.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t,a){var s,r,i,c,l,h,d,p,u,f,b,C;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-value-container"),e.disabled&&m.classList.add("searchstax-facet-value-disabled");const x=this.isChecked(e),v=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemTemplate)==null?void 0:i.template)||((c=g.facets.facetItemTemplate)==null?void 0:c.template);m.innerHTML=y.render(v,{...e,isChecked:x});let R=(l=g.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;R=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemTemplate)==null?void 0:p.checkTriggerClasses)||R,R.forEach(T=>{const F=m.querySelector("."+T);F==null||F.addEventListener("click",B=>{this.onFacetSelect(B,e,m)})});const k=m.querySelector("."+(((b=(f=(u=this.config)==null?void 0:u.templates)==null?void 0:f.facetItemTemplate)==null?void 0:b.inputCheckboxClass)||((C=g.facets.facetItemTemplate)==null?void 0:C.inputCheckboxClass)));k==null||k.addEventListener("click",T=>{this.onFacetSelect(T,e,m,!0)}),k&&(k==null||k.setAttribute("data-test-value",`${encodeURIComponent(a)}:"${encodeURIComponent(e.value)}"`)),t.appendChild(m)}}createHasMoreComponent(e,t,a){var s,r,i,c,l,h,d,p;if(typeof document<"u"){const u=document==null?void 0:document.createElement("div");u.classList.add("searchstax-facet-show-more-container");const f=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:i.template)||((c=g.facets.showMoreButtonContainerTemplate)==null?void 0:c.template);u.innerHTML=y.render(f,e);const b=u.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:d.showMoreButtonClass)||((p=g.facets.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)));b&&(this.attachOnclickToShowMore(e,b,a),t&&t.appendChild(b))}}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)}),t.addEventListener("keyup",s=>{(s.code==="Space"||s.code==="Enter")&&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?(E.setAccessibilityText(`More Facets shown for ${t.label}`),r[t.name]=r[t.name]+s):(E.setAccessibilityText(`Less Facets shown for ${t.label}`),r[t.name]=s),this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,i,c,l,h,d,p,u,f;if(e&&(!P.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const b=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((i=g.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===S.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=y.render(b,{...e});const C=(d=this.searchFacetsMainContainer)==null?void 0:d.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||g.facets.mainTemplateDesktop.facetsContainerClass));if(C){C.innerHTML="";for(const m of e.facets)this.createFacetItem(m,C);if(this.searchFacetsMainContainer){const m=this.searchFacetsMainContainer.querySelector("."+(((f=(u=(p=this.config)==null?void 0:p.templates)==null?void 0:u.mainTemplateDesktop)==null?void 0:f.selectedFacetsContainerClass)||g.facets.mainTemplateDesktop.selectedFacetsContainerClass));m&&(this.createSelectedFacetsComponents(m),this.createClearFacetsComponents(m))}}}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 i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=i==null?void 0:i.find(l=>l.name===s);if(c){const l=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${r}"`:!1);l&&e.push(l)}}}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,i,c,l,h;if(typeof document<"u"){const d=this.dataLayer.searchObject,p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=g.facets.clearFacetsTemplate)==null?void 0:r.template),u=document==null?void 0:document.createElement("div");u.innerHTML=y.render(p,{shouldShow:d.facets.length>0});const f=u.querySelector("."+(((l=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:l.containerClass)||((h=g.facets.clearFacetsTemplate)==null?void 0:h.containerClass)));f&&(f.addEventListener("click",()=>{this.removeSelectedFacets()}),f.addEventListener("keyup",b=>{(b.code==="Space"||b.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(f))}}createSelectedFacetsComponent(e,t){var a,s,r,i,c,l,h,d;if(typeof document<"u"){const p=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((i=g.facets.selectedFacetsTemplate)==null?void 0:i.template),u=document==null?void 0:document.createElement("div");u.innerHTML=y.render(p,t);const f=u.querySelector("."+(((h=(l=(c=this.config)==null?void 0:c.templates)==null?void 0:l.selectedFacetsTemplate)==null?void 0:h.containerClass)||((d=g.facets.selectedFacetsTemplate)==null?void 0:d.containerClass)));f&&(f.addEventListener("click",()=>{this.unselectFacet(t)}),f.addEventListener("keyup",b=>{(b.code==="Space"||b.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(f))}}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,i,c,l,h;if(typeof document<"u"){const d=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=g.facets.filterByTemplate)==null?void 0:r.template),p=document==null?void 0:document.createElement("div");p.innerHTML=y.render(d,{});const u=p.querySelector("."+(((l=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.filterByTemplate)==null?void 0:l.containerClass)||((h=g.facets.filterByTemplate)==null?void 0:h.containerClass)));u&&(e.prepend(u),u.addEventListener("click",this.openOverlay.bind(this)),u.addEventListener("keyup",f=>{(f.code==="Space"||f.code==="Enter")&&this.openOverlay()}))}}openOverlay(){var e;E.setAccessibilityText("Facet overlay opened. Tab to select facets."),this.overlayOpened=!0,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;E.setAccessibilityText("Facet overlay closed"),this.overlayOpened=!1,this.searchFacetsMainContainer&&(typeof document<"u"&&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,i,c,l,h,d,p,u,f,b,C,m,x,v,R,k;if(e&&typeof document<"u"){const T=document==null?void 0:document.createElement("div");T.classList.add("searchstax-facets-container-mobile");const F=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=g.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===S.mustache){if(T.innerHTML=y.render(F,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(T),(l=(c=this.config)==null?void 0:c.templates)!=null&&l.mainTemplateMobile)for(const W of((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const O=T.querySelector("."+W);O&&(O.addEventListener("click",this.closeOverlay.bind(this)),O.addEventListener("keyup",Q=>{(Q.code==="Space"||Q.code==="Enter")&&this.closeOverlay()}))}else for(const W of g.facets.mainTemplateMobile.closeOverlayTriggerClasses){const O=T.querySelector("."+W);O&&(O.addEventListener("click",this.closeOverlay.bind(this)),O.addEventListener("keyup",Q=>{(Q.code==="Space"||Q.code==="Enter")&&this.closeOverlay()}))}const B=T.querySelector("."+(((b=(f=(u=this.config)==null?void 0:u.templates)==null?void 0:f.mainTemplateMobile)==null?void 0:b.filterByContainerClass)||g.facets.mainTemplateMobile.filterByContainerClass));B&&this.createFilterByComponent(B);const w=T.querySelector("."+(((x=(m=(C=this.config)==null?void 0:C.templates)==null?void 0:m.mainTemplateMobile)==null?void 0:x.selectedFacetsContainerClass)||g.facets.mainTemplateMobile.selectedFacetsContainerClass));w&&(this.createSelectedFacetsComponents(w),this.createClearFacetsComponents(w));const J=T.querySelector("."+(((k=(R=(v=this.config)==null?void 0:v.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:k.facetsContainerClass)||g.facets.mainTemplateMobile.facetsContainerClass));if(J){J.innerHTML="";for(const W of e.facets)this.createFacetItem(W,J,!0)}}}}}class Pe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"previousButtonClass");n(this,"nextButtonClass");n(this,"loadMoreButtonClass");n(this,"routerHelper");n(this,"searchPaginationMainContainer",null);var t,a,s,r,i,c,l,h,d;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)??g.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.nextButtonClass)??g.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:d.loadMoreButtonClass)??g.pagination.infiniteScrollTemplate.loadMoreButtonClass,typeof document<"u"&&(this.searchPaginationMainContainer=document==null?void 0: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(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var t,a,s,r;const e={...this.dataLayer.parsedData.data,previousPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)-1}),nextPageLink:(r=this.routerHelper)==null?void 0:r.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(e),e}goToPage(e,t){const a=this.dataLayer.searchObject;a&&(a.page=e,this.dataLayer.setSearchObject(a)),t||window==null||window.scrollTo(0,0)}nextPage(e){var t;e==null||e.preventDefault(),e==null||e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1,this.dataLayer.isInfiniteScroll)}previousPage(e){var t;e==null||e.preventDefault(),e==null||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),a=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&(e.addEventListener("click",this.previousPage.bind(this)),e.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.previousPage(s)})),t&&(t.addEventListener("click",this.nextPage.bind(this)),t.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)})),a&&(a.addEventListener("click",this.nextPage.bind(this)),a.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)}))}}renderMainTemplate(e){var a,s,r,i,c,l,h,d,p,u;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));let t=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.template)||((l=g.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.isInfiniteScroll&&(t=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:p.template)||((u=g.pagination.infiniteScrollTemplate)==null?void 0:u.template)),this.dataLayer.renderingEngine===S.mustache&&(this.searchPaginationMainContainer.innerHTML=y.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Ee{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"relatedSearchesContainerClass");n(this,"searchRelatedSearchesMainContainer",null);n(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)||g.relatedSearches.main.relatedSearchesContainerClass,typeof document<"u"&&(this.searchRelatedSearchesMainContainer=document==null?void 0: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,i,c;if(typeof document<"u"){const l=document==null?void 0:document.createElement("div"),h=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||g.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===S.mustache){l.innerHTML=y.render(h,e);const d=l.querySelector("."+(((c=(i=this.config.templates)==null?void 0:i.relatedSearch)==null?void 0:c.relatedSearchContainerClass)||g.relatedSearches.relatedSearch.relatedSearchContainerClass));d&&(t.appendChild(d),d.addEventListener("click",()=>{this.executeSearch(e)}),d.addEventListener("keyup",p=>{(p.code==="Space"||p.code==="Enter")&&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 a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.relatedSearches.main.template;if(this.dataLayer.renderingEngine===S.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=y.render(t,e);const c=(i=this.searchRelatedSearchesMainContainer)==null?void 0:i.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const l of e.relatedSearches)this.addRelatedSearchComponent(l,c)}}}class Ae{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"searchFeedbackMainContainer",null);n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,typeof document<"u"&&(this.searchFeedbackMainContainer=document==null?void 0: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 a;e.stopPropagation(),e.preventDefault();const t=(a=e.target)==null?void 0:a.innerHTML;this.searchTrigger(t,!0)}attachClick(){var t,a,s,r,i;const e=(i=this.searchFeedbackMainContainer)==null?void 0:i.querySelector("."+(((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.originalQueryClass)||((r=g.searchFeedback.main)==null?void 0:r.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.searchFeedback.main.template;this.dataLayer.renderingEngine===S.mustache&&(this.searchFeedbackMainContainer.innerHTML=y.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Fe{constructor(e){n(this,"searchHelper");n(this,"dataLayer");n(this,"config");n(this,"suggestAfterMinChars");n(this,"containerId");n(this,"currentInputValue","");n(this,"autosuggestResults");n(this,"searchInput");n(this,"actionButton");n(this,"autosuggestContainer");n(this,"buttonState","search");n(this,"selectedAutosuggestItem",-1);n(this,"suggestTrigger");n(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.suggestAfterMinChars===void 0&&this.getSuggestAfterValue(),this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,a,s;if(typeof document<"u"){const r=document==null?void 0:document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const i=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||g.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===S.mustache){const h=y.render(i,{});r.innerHTML=h}const c=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||g.searchInput.mainTemplate.searchInputId,l=document==null?void 0:document.querySelector(`#${c}`);if(l)this.searchInput=l,l.addEventListener("keyup",this.inputKeyupEvent.bind(this)),l.addEventListener("blur",this.hideAutosuggest.bind(this)),l.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===S.mustache&&typeof document<"u"&&(this.autosuggestContainer=document==null?void 0: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))}getSuggestAfterValue(){this.dataLayer.searchHelper&&this.dataLayer.searchHelper.suggest("*",e=>{this.suggestAfterMinChars=e.metadata.minPrefixChars},[])}actionButtonInit(){typeof document<"u"&&(this.actionButton=document==null?void 0: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"),this.actionButton.setAttribute("aria-label","search");break;case"close":this.actionButton.classList.add("searchstax-search-close"),this.actionButton.setAttribute("aria-label","clear search");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(){if(typeof document<"u"){const e=document==null?void 0:document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?(a.classList.add("active"),E.setAccessibilityText(`Selected suggestion: ${a.innerText}`)):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){this.suggestAfterMinChars&&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()},200)}cleanSuggestionTerm(e){return A.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var s,r,i;const t=document==null?void 0:document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const a=((r=(s=this.config.templates)==null?void 0:s.autosuggestItemTemplate)==null?void 0:r.template)||((i=g.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=y.render(a,e),t}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];r.numFound?E.setAccessibilityText("Suggestions are available. Use up and down arrows to navigate while focusing input.",2e3):E.setAccessibilityText("",0),this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(i=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Me{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"linkClickCallback");n(this,"searchCallback");n(this,"containerId");n(this,"searchResultsMainContainer");n(this,"searchResultsContainer");n(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==null?void 0:document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.dataLayer.setIsInfiniteScroll(e.config.renderMethod==="infiniteScroll"),this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchObject.subscribe(()=>{E.setAccessibilityText("Searching...")}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,s,r,i,c;const e=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.noSearchResultTemplate)==null?void 0:r.template)||((i=g.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((c=this.dataLayer.searchResultsMetadata)==null?void 0:c.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===S.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=y.render(e,{spellingSuggestion:t,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),t&&this.searchResultsContainer){const l=this.searchResultsContainer.querySelector("a");l&&l.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,s,r,i;if(this.dataLayer.renderingEngine===S.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)E.setAccessibilityText("Search has no results"),this.renderNoResultsTemplate();else{E.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=g.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(h=>y.render(c,h));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=l.join(""):this.searchResultsContainer.innerHTML=l.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}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=g.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)}),e.addEventListener("keydown",t=>{if(t.code==="Space"||t.code==="Enter"){const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)}})})}renderMainTemplate(){var t,a,s,r;const e=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=g.searchResults.mainTemplate)==null?void 0:r.template);this.dataLayer.renderingEngine===S.mustache&&(this.searchResultsMainContainer.innerHTML=y.render(e,{}),setTimeout(()=>{var l,h,d,p,u,f,b;const i=(d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.mainTemplate)!=null&&d.searchResultsContainerId?(f=(u=(p=this.config)==null?void 0:p.templates)==null?void 0:u.mainTemplate)==null?void 0:f.searchResultsContainerId:(b=g.searchResults.mainTemplate)==null?void 0:b.searchResultsContainerId,c=document==null?void 0:document.getElementById(i);if(c)this.searchResultsContainer=c;else throw new Error(`Search Results Container with id ${i} not found`)},0))}}class De{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"selectId");n(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)||g.sorting.main.selectId,this.searchSortingMainContainer=document==null?void 0: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==null?void 0:document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.sorting.main.template;if(this.dataLayer.renderingEngine===S.mustache){this.searchSortingMainContainer.innerHTML=y.render(t,e),this.markOptionSelected();const i=document==null?void 0:document.getElementById(this.selectId);i&&i.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class Oe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,typeof document<"u"&&(this.answerContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)})}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.answer.main.template;this.dataLayer.renderingEngine===S.mustache&&(this.answerContainer.innerHTML=y.render(t,e))}}class qe{constructor(e=S.mustache){n(this,"routerEnabled",!1);n(this,"cachedQuery","");n(this,"routerHelper");n(this,"searchHelper");n(this,"searchResultsConfig");n(this,"searchPaginationConfig");n(this,"searchFeedbackConfig");n(this,"searchSortingConfig");n(this,"searchFacetsConfig");n(this,"relatedSearchesConfig");n(this,"externalPromotionsConfig");n(this,"searchInputWidget");n(this,"searchResultsWidget");n(this,"searchFacetsWidget");n(this,"searchPaginationWidget");n(this,"searchFeedbackWidget");n(this,"searchSortingWidget");n(this,"relatedSearchesWidget");n(this,"externalPromotionsWidget");n(this,"answerWidget");n(this,"dataLayer");n(this,"firstRequest",!0);n(this,"renderEngine",S.mustache);e&&(this.renderEngine=e)}setRenderingEngine(e=S.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=>{var s;a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),this.dataLayer.turnAIAnswerGenerationOn===!0&&((s=this.searchHelper)==null||s.startSSE(a.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}attachAnalyticsScript(e){const t=e||"https://static.searchstax.com/studio-js/v3/js/studio-analytics.js";var a=document.createElement("script");a.type="text/javascript",a.src=t;var s=document.getElementsByTagName("script")[0];s.parentNode&&s.parentNode.insertBefore(a,s)}initialize(e){var t,a;if(this.dataLayer=new Z("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.turnAIAnswerGenerationOn===!0&&(this.dataLayer.turnAIAnswerGenerationOn=!0),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),e.language&&this.dataLayer.setLanguage(e.language),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new te({...e,sessionId:this.dataLayer.sessionId},this.dataLayer),this.dataLayer.searchHelper=this.searchHelper),((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 X(e.router?e.router:{enabled:!0});const s=this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"");this.dataLayer.searchObject.itemsPerPage&&(s.itemsPerPage=this.dataLayer.searchObject.itemsPerPage),this.dataLayer.setSearchObject(s),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"",this.dataLayer.searchObject.itemsPerPage))})}else this.routerHelper=new X({})}search(e){if(this.searchHelper){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 r;const a=(((r=e.response)==null?void 0:r.docs)??[]).map((i,c)=>({...i,position:c+1})),s=[];for(const i of a)s.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponse(e){var r,i;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows));let t=j.combineResultsWithMetadata(e),a=j.extractFacets(e);this.dataLayer.setSearchFacets(a),(i=(r=this.dataLayer.searchstaxConfig)==null?void 0:r.hooks)!=null&&i.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const s=j.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(s),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==q.question&&e!==q.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var a,s;let t=e;(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.afterAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(t)}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 Fe({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.setAnswerData(""),this.answerWidget=new Oe({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Me({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Ae({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new De({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Ee({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0)}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Ie({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var r,i;const a={...this.dataLayer.searchObject};a.query=A.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let s=(r=this.routerHelper)==null?void 0:r.searchObjectToParams(a);s&&(s=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(s)),s&&(a.additionalProps=Object.keys(s).map(c=>s?{key:c,value:s[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(a),this.dataLayer.lastSearchValue=a.query}executeSuggest(e){var a,s;let t={term:e,queryParams:[]};(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.beforeAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(t)),t&&t.term!==void 0&&t.queryParams!==void 0&&this.suggest(t.term,t.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&H.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,s;let t=j.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((s=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&s.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackClick({result:t,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(t==null?void 0:t.url)??"")}).catch(()=>{}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(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())}}M.Searchstax=qe,Object.defineProperty(M,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxJs"]=this["@searchstaxInc/searchstudioUxJs"]||{});
|
|
@@ -161,7 +161,7 @@ class P {
|
|
|
161
161
|
return e != null && typeof e == "object";
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
-
class
|
|
164
|
+
class S {
|
|
165
165
|
constructor(e) {
|
|
166
166
|
n(this, "value");
|
|
167
167
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
@@ -234,17 +234,17 @@ class F {
|
|
|
234
234
|
}
|
|
235
235
|
class ee {
|
|
236
236
|
constructor(e, t) {
|
|
237
|
-
n(this, "$searchTermChange", new
|
|
238
|
-
n(this, "$loadingChange", new
|
|
239
|
-
n(this, "$searchResults", new
|
|
240
|
-
n(this, "$searchResultsMetadata", new
|
|
241
|
-
n(this, "$searchAutosuggest", new
|
|
242
|
-
n(this, "$searchFacets", new
|
|
243
|
-
n(this, "$searchFacetsCached", new
|
|
244
|
-
n(this, "$searchstaxConfig", new
|
|
245
|
-
n(this, "$autosuggestResults", new
|
|
246
|
-
n(this, "$itemsPerPage", new
|
|
247
|
-
n(this, "$searchObject", new
|
|
237
|
+
n(this, "$searchTermChange", new S(""));
|
|
238
|
+
n(this, "$loadingChange", new S(!1));
|
|
239
|
+
n(this, "$searchResults", new S(null));
|
|
240
|
+
n(this, "$searchResultsMetadata", new S(null));
|
|
241
|
+
n(this, "$searchAutosuggest", new S(null));
|
|
242
|
+
n(this, "$searchFacets", new S(null));
|
|
243
|
+
n(this, "$searchFacetsCached", new S(null));
|
|
244
|
+
n(this, "$searchstaxConfig", new S(null));
|
|
245
|
+
n(this, "$autosuggestResults", new S(null));
|
|
246
|
+
n(this, "$itemsPerPage", new S(void 0));
|
|
247
|
+
n(this, "$searchObject", new S({
|
|
248
248
|
query: "",
|
|
249
249
|
itemsPerPage: null,
|
|
250
250
|
page: 99999999,
|
|
@@ -252,19 +252,19 @@ class ee {
|
|
|
252
252
|
facets: [],
|
|
253
253
|
additionalProps: []
|
|
254
254
|
}));
|
|
255
|
-
n(this, "$searchRelatedSearches", new
|
|
256
|
-
n(this, "$searchInputConfig", new
|
|
257
|
-
n(this, "$searchExternalPromotions", new
|
|
258
|
-
n(this, "$facetsTemplateData", new
|
|
259
|
-
n(this, "$selectedFacetsTemplateData", new
|
|
260
|
-
n(this, "$paginationData", new
|
|
261
|
-
n(this, "$searchFeedbackData", new
|
|
262
|
-
n(this, "$searchSortingData", new
|
|
263
|
-
n(this, "$searchRelatedSearchesData", new
|
|
264
|
-
n(this, "$searchExternalPromotionsData", new
|
|
265
|
-
n(this, "$cookiesDisabled", new
|
|
266
|
-
n(this, "$answer", new
|
|
267
|
-
n(this, "$language", new
|
|
255
|
+
n(this, "$searchRelatedSearches", new S(null));
|
|
256
|
+
n(this, "$searchInputConfig", new S(null));
|
|
257
|
+
n(this, "$searchExternalPromotions", new S(null));
|
|
258
|
+
n(this, "$facetsTemplateData", new S(null));
|
|
259
|
+
n(this, "$selectedFacetsTemplateData", new S(null));
|
|
260
|
+
n(this, "$paginationData", new S(null));
|
|
261
|
+
n(this, "$searchFeedbackData", new S(null));
|
|
262
|
+
n(this, "$searchSortingData", new S(null));
|
|
263
|
+
n(this, "$searchRelatedSearchesData", new S(null));
|
|
264
|
+
n(this, "$searchExternalPromotionsData", new S(null));
|
|
265
|
+
n(this, "$cookiesDisabled", new S(null));
|
|
266
|
+
n(this, "$answer", new S(""));
|
|
267
|
+
n(this, "$language", new S("en"));
|
|
268
268
|
n(this, "currentPageValue", 1);
|
|
269
269
|
n(this, "isAnswerWidgetCreatedValue", !1);
|
|
270
270
|
n(this, "renderingEngineValue", T.mustache);
|
|
@@ -996,12 +996,12 @@ function me(o, e) {
|
|
|
996
996
|
i = !1, c = !1;
|
|
997
997
|
}
|
|
998
998
|
var p, u, f;
|
|
999
|
-
function
|
|
999
|
+
function b(w) {
|
|
1000
1000
|
if (typeof w == "string" && (w = w.split(ge, 2)), !$(w) || w.length !== 2)
|
|
1001
1001
|
throw new Error("Invalid tags: " + w);
|
|
1002
1002
|
p = new RegExp(K(w[0]) + "\\s*"), u = new RegExp("\\s*" + K(w[1])), f = new RegExp("\\s*" + K("}" + w[1]));
|
|
1003
1003
|
}
|
|
1004
|
-
|
|
1004
|
+
b(e || y.tags);
|
|
1005
1005
|
for (var C = new U(o), m, L, x, R, k, v; !C.eos(); ) {
|
|
1006
1006
|
if (m = C.pos, x = C.scanUntil(p), x)
|
|
1007
1007
|
for (var A = 0, D = x.length; A < D; ++A)
|
|
@@ -1019,7 +1019,7 @@ function me(o, e) {
|
|
|
1019
1019
|
if (v[1] !== x)
|
|
1020
1020
|
throw new Error('Unclosed section "' + v[1] + '" at ' + m);
|
|
1021
1021
|
} else
|
|
1022
|
-
L === "name" || L === "{" || L === "&" ? c = !0 : L === "=" &&
|
|
1022
|
+
L === "name" || L === "{" || L === "&" ? c = !0 : L === "=" && b(x);
|
|
1023
1023
|
}
|
|
1024
1024
|
if (d(), v = a.pop(), v)
|
|
1025
1025
|
throw new Error('Unclosed section "' + v[1] + '" at ' + C.pos);
|
|
@@ -1233,7 +1233,7 @@ y.escape = de;
|
|
|
1233
1233
|
y.Scanner = U;
|
|
1234
1234
|
y.Context = H;
|
|
1235
1235
|
y.Writer = I;
|
|
1236
|
-
const
|
|
1236
|
+
const be = {
|
|
1237
1237
|
main: {
|
|
1238
1238
|
template: `
|
|
1239
1239
|
{{#shouldShowAnswer}}
|
|
@@ -1246,7 +1246,7 @@ const Se = {
|
|
|
1246
1246
|
{{/shouldShowAnswer}}
|
|
1247
1247
|
`
|
|
1248
1248
|
}
|
|
1249
|
-
},
|
|
1249
|
+
}, Se = {
|
|
1250
1250
|
mainTemplate: {
|
|
1251
1251
|
template: `
|
|
1252
1252
|
{{#hasExternalPromotions}}
|
|
@@ -1573,7 +1573,7 @@ const Se = {
|
|
|
1573
1573
|
};
|
|
1574
1574
|
class g {
|
|
1575
1575
|
}
|
|
1576
|
-
n(g, "answer",
|
|
1576
|
+
n(g, "answer", be), n(g, "externalPromotions", Se), n(g, "facets", Le), n(g, "pagination", xe), n(g, "relatedSearches", ve), n(g, "searchFeedback", Te), n(g, "searchInput", ke), n(g, "searchResults", Re), n(g, "sorting", Ie);
|
|
1577
1577
|
class we {
|
|
1578
1578
|
constructor(e) {
|
|
1579
1579
|
n(this, "dataLayer");
|
|
@@ -1763,7 +1763,7 @@ class Pe {
|
|
|
1763
1763
|
}
|
|
1764
1764
|
}
|
|
1765
1765
|
createFacetItem(e, t, a) {
|
|
1766
|
-
var s, r, i, c, l, h, d, p, u, f,
|
|
1766
|
+
var s, r, i, c, l, h, d, p, u, f, b, C;
|
|
1767
1767
|
if (typeof document < "u") {
|
|
1768
1768
|
const m = document == null ? void 0 : document.createElement("div");
|
|
1769
1769
|
m.classList.add("searchstax-facet-container"), this.deactivatedFacets[e.name] || m.classList.add("active");
|
|
@@ -1779,7 +1779,7 @@ class Pe {
|
|
|
1779
1779
|
m.classList.toggle("active");
|
|
1780
1780
|
});
|
|
1781
1781
|
const R = m.querySelector(
|
|
1782
|
-
"." + (((
|
|
1782
|
+
"." + (((b = (f = (u = this.config) == null ? void 0 : u.templates) == null ? void 0 : f.facetItemContainerTemplate) == null ? void 0 : b.facetListContainerClass) || ((C = g.facets.facetItemContainerTemplate) == null ? void 0 : C.facetListContainerClass))
|
|
1783
1783
|
);
|
|
1784
1784
|
R && (e.values.forEach((k) => {
|
|
1785
1785
|
this.createFacetListItem(
|
|
@@ -1795,7 +1795,7 @@ class Pe {
|
|
|
1795
1795
|
return !!((t = this.dataLayer.searchObject.facets) != null && t.find((a) => P.deepEqual(a, this.extractFacetValue(e))));
|
|
1796
1796
|
}
|
|
1797
1797
|
createFacetListItem(e, t, a) {
|
|
1798
|
-
var s, r, i, c, l, h, d, p, u, f,
|
|
1798
|
+
var s, r, i, c, l, h, d, p, u, f, b, C;
|
|
1799
1799
|
if (typeof document < "u") {
|
|
1800
1800
|
const m = document == null ? void 0 : document.createElement("div");
|
|
1801
1801
|
m.classList.add("searchstax-facet-value-container"), e.disabled && m.classList.add("searchstax-facet-value-disabled");
|
|
@@ -1812,7 +1812,7 @@ class Pe {
|
|
|
1812
1812
|
});
|
|
1813
1813
|
});
|
|
1814
1814
|
const k = m.querySelector(
|
|
1815
|
-
"." + (((
|
|
1815
|
+
"." + (((b = (f = (u = this.config) == null ? void 0 : u.templates) == null ? void 0 : f.facetItemTemplate) == null ? void 0 : b.inputCheckboxClass) || ((C = g.facets.facetItemTemplate) == null ? void 0 : C.inputCheckboxClass))
|
|
1816
1816
|
);
|
|
1817
1817
|
k == null || k.addEventListener("click", (v) => {
|
|
1818
1818
|
this.onFacetSelect(v, e, m, !0);
|
|
@@ -1829,10 +1829,10 @@ class Pe {
|
|
|
1829
1829
|
f,
|
|
1830
1830
|
e
|
|
1831
1831
|
);
|
|
1832
|
-
const
|
|
1832
|
+
const b = u.querySelector(
|
|
1833
1833
|
"." + (((d = (h = (l = this.config) == null ? void 0 : l.templates) == null ? void 0 : h.showMoreButtonContainerTemplate) == null ? void 0 : d.showMoreButtonClass) || ((p = g.facets.showMoreButtonContainerTemplate) == null ? void 0 : p.showMoreButtonClass))
|
|
1834
1834
|
);
|
|
1835
|
-
|
|
1835
|
+
b && (this.attachOnclickToShowMore(e, b, a), t && t.appendChild(b));
|
|
1836
1836
|
}
|
|
1837
1837
|
}
|
|
1838
1838
|
attachOnclickToShowMore(e, t, a) {
|
|
@@ -1851,10 +1851,10 @@ class Pe {
|
|
|
1851
1851
|
var a, s, r, i, c, l, h, d, p, u, f;
|
|
1852
1852
|
if (e && (!P.deepEqual(this.cachedData ?? {}, e) || t)) {
|
|
1853
1853
|
this.cachedData = e;
|
|
1854
|
-
const
|
|
1854
|
+
const b = ((r = (s = (a = this.config) == null ? void 0 : a.templates) == null ? void 0 : s.mainTemplateDesktop) == null ? void 0 : r.template) || ((i = g.facets.mainTemplateDesktop) == null ? void 0 : i.template);
|
|
1855
1855
|
if (this.dataLayer.renderingEngine === T.mustache && this.searchFacetsMainContainer) {
|
|
1856
1856
|
this.searchFacetsMainContainer.innerHTML = y.render(
|
|
1857
|
-
|
|
1857
|
+
b,
|
|
1858
1858
|
{
|
|
1859
1859
|
...e
|
|
1860
1860
|
}
|
|
@@ -1915,8 +1915,8 @@ class Pe {
|
|
|
1915
1915
|
);
|
|
1916
1916
|
f && (f.addEventListener("click", () => {
|
|
1917
1917
|
this.removeSelectedFacets();
|
|
1918
|
-
}), f.addEventListener("keyup", (
|
|
1919
|
-
(
|
|
1918
|
+
}), f.addEventListener("keyup", (b) => {
|
|
1919
|
+
(b.code === "Space" || b.code === "Enter") && this.removeSelectedFacets();
|
|
1920
1920
|
}), e.appendChild(f));
|
|
1921
1921
|
}
|
|
1922
1922
|
}
|
|
@@ -1933,8 +1933,8 @@ class Pe {
|
|
|
1933
1933
|
);
|
|
1934
1934
|
f && (f.addEventListener("click", () => {
|
|
1935
1935
|
this.unselectFacet(t);
|
|
1936
|
-
}), f.addEventListener("keyup", (
|
|
1937
|
-
(
|
|
1936
|
+
}), f.addEventListener("keyup", (b) => {
|
|
1937
|
+
(b.code === "Space" || b.code === "Enter") && this.unselectFacet(t);
|
|
1938
1938
|
}), e.appendChild(f));
|
|
1939
1939
|
}
|
|
1940
1940
|
}
|
|
@@ -1976,7 +1976,7 @@ class Pe {
|
|
|
1976
1976
|
E.setAccessibilityText("Facet overlay closed"), this.overlayOpened = !1, this.searchFacetsMainContainer && (typeof document < "u" && document.body.classList.toggle("searchstax-no-scroll"), (e = this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay")) == null || e.classList.remove("searchstax-show"));
|
|
1977
1977
|
}
|
|
1978
1978
|
renderMobileTemplate(e) {
|
|
1979
|
-
var t, a, s, r, i, c, l, h, d, p, u, f,
|
|
1979
|
+
var t, a, s, r, i, c, l, h, d, p, u, f, b, C, m, L, x, R, k;
|
|
1980
1980
|
if (e && typeof document < "u") {
|
|
1981
1981
|
const v = document == null ? void 0 : document.createElement("div");
|
|
1982
1982
|
v.classList.add("searchstax-facets-container-mobile");
|
|
@@ -2000,7 +2000,7 @@ class Pe {
|
|
|
2000
2000
|
}));
|
|
2001
2001
|
}
|
|
2002
2002
|
const D = v.querySelector(
|
|
2003
|
-
"." + (((
|
|
2003
|
+
"." + (((b = (f = (u = this.config) == null ? void 0 : u.templates) == null ? void 0 : f.mainTemplateMobile) == null ? void 0 : b.filterByContainerClass) || g.facets.mainTemplateMobile.filterByContainerClass)
|
|
2004
2004
|
);
|
|
2005
2005
|
D && this.createFilterByComponent(D);
|
|
2006
2006
|
const w = v.querySelector(
|
|
@@ -2498,8 +2498,8 @@ class De {
|
|
|
2498
2498
|
e,
|
|
2499
2499
|
{}
|
|
2500
2500
|
), setTimeout(() => {
|
|
2501
|
-
var l, h, d, p, u, f,
|
|
2502
|
-
const i = (d = (h = (l = this.config) == null ? void 0 : l.templates) == null ? void 0 : h.mainTemplate) != null && d.searchResultsContainerId ? (f = (u = (p = this.config) == null ? void 0 : p.templates) == null ? void 0 : u.mainTemplate) == null ? void 0 : f.searchResultsContainerId : (
|
|
2501
|
+
var l, h, d, p, u, f, b;
|
|
2502
|
+
const i = (d = (h = (l = this.config) == null ? void 0 : l.templates) == null ? void 0 : h.mainTemplate) != null && d.searchResultsContainerId ? (f = (u = (p = this.config) == null ? void 0 : p.templates) == null ? void 0 : u.mainTemplate) == null ? void 0 : f.searchResultsContainerId : (b = g.searchResults.mainTemplate) == null ? void 0 : b.searchResultsContainerId, c = document == null ? void 0 : document.getElementById(i);
|
|
2503
2503
|
if (c)
|
|
2504
2504
|
this.searchResultsContainer = c;
|
|
2505
2505
|
else
|
|
@@ -2780,14 +2780,14 @@ class $e {
|
|
|
2780
2780
|
});
|
|
2781
2781
|
}
|
|
2782
2782
|
addRelatedSearchesWidget(e, t) {
|
|
2783
|
-
this.relatedSearchesConfig
|
|
2783
|
+
this.relatedSearchesConfig = t, this.relatedSearchesWidget = new Ae({
|
|
2784
2784
|
containerId: e,
|
|
2785
2785
|
config: t,
|
|
2786
2786
|
dataLayer: this.dataLayer,
|
|
2787
2787
|
trackRelatedSearchClick: this.trackRelatedSearchClick.bind(this)
|
|
2788
2788
|
}), setTimeout(() => {
|
|
2789
2789
|
this.getRelatedSearches();
|
|
2790
|
-
}, 0)
|
|
2790
|
+
}, 0);
|
|
2791
2791
|
}
|
|
2792
2792
|
addExternalPromotionsWidget(e, t) {
|
|
2793
2793
|
this.externalPromotionsConfig = t, this.externalPromotionsWidget = new we({
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
.searchstax-results-container-grid .searchstax-search-results-container .searchstax-search-results .searchstax-search-result{
|
|
64
|
-
height: calc(100% -
|
|
64
|
+
height: calc(100% - 30px) !important;
|
|
65
65
|
padding-bottom: 0 !important;
|
|
66
66
|
margin-bottom: 0 !important;
|
|
67
67
|
}
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
left: 0;
|
|
71
71
|
top: 0;
|
|
72
72
|
height: 155px !important;
|
|
73
|
+
height: calc(100% - 155px) !important;
|
|
73
74
|
width: 100%;
|
|
74
75
|
}
|
|
75
76
|
|