@searchstax-inc/searchstudio-ux-react 1.0.7 → 1.0.8
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.
|
@@ -265,4 +265,4 @@ React keys must be passed directly to JSX without using spread:
|
|
|
265
265
|
</div>
|
|
266
266
|
{{/hasResultsOrExternalPromotions}}
|
|
267
267
|
{{/searchExecuted}}
|
|
268
|
-
`,selectId:"searchstax-search-order-select"}};class b{}h(b,"answer",ra),h(b,"externalPromotions",ia),h(b,"facets",na),h(b,"pagination",ca),h(b,"relatedSearches",la),h(b,"searchFeedback",oa),h(b,"searchInput",ha),h(b,"searchResults",ua),h(b,"sorting",da);class ga{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"externalPromotionsContainerId"),h(this,"searchExternalPromotionsMainContainer",null);var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((s=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:s.externalPromotionsContainerId)||b.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 t,s,a,r;const i=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(i){const l=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.externalPromotion)==null?void 0:a.template)||((r=b.externalPromotions.externalPromotion)==null?void 0:r.template);if(typeof document<"u"){const o=document==null?void 0:document.createElement("div");o.classList.add("searchstax-external-promotion"),o.addEventListener("click",d=>{this.trackClick(e,d)}),o.innerHTML=F.render(l,e),i.appendChild(o)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var t,s,a,r;const i=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.template)||((r=b.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===B.mustache){this.searchExternalPromotionsMainContainer.innerHTML=F.render(i,e);const l=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;l&&(l.innerHTML="");for(const o of e.externalPromotions)this.addExternalSearch(o)}}}class ee{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById("searchAccessibilityContainer")){const e=document.createElement("div");e.setAttribute("aria-live","polite"),e.setAttribute("id","searchAccessibilityContainer"),document.body.appendChild(e)}}static setAccessibilityText(e,t){this.addAccessibilityNotificationContainerToBody();const s=document.getElementById("searchAccessibility");s&&s.remove();const a=document.createElement("span");a.setAttribute("id","searchAccessibility"),a.innerHTML=e;const r=document.getElementById("searchAccessibilityContainer");r&&setTimeout(()=>{r.appendChild(a)},t??100)}}class pa{constructor(e,t){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"routerHelper"),h(this,"cachedPhrase",""),h(this,"isCached",!1),h(this,"overlayOpened",!1),h(this,"facetPaginationStep"),h(this,"facetPaginationStepMobile"),h(this,"searchFacetsMainContainer",null),h(this,"searchFacetsMobileContainer",null),h(this,"searchFacetsDesktopContainer",null),h(this,"facetLimits",{}),h(this,"facetLimitsMobile",{}),h(this,"deactivatedFacets",{}),h(this,"cachedData",null),h(this,"cacheFacets"),h(this,"onFacetSelect",(s,a,r,i,l)=>{if(s.stopPropagation(),!a.disabled){const o=r.querySelector("input");let d=i?o.checked:!o.checked;l!==void 0&&(d=!l),o.checked=d;const v=this.dataLayer.searchObject;let g=[...v.facets];const m=this.extractFacetValue(a);d?g.find(C=>X.deepEqual(C,m)?C:!1)||(this.config.facetingType==="tabs"&&(g=g.filter(C=>C.name!==m.name)),g.push(m)):g=g.filter(C=>!X.deepEqual(C,m)),setTimeout(()=>{this.dataLayer.setSearchObject({...v,facets:g,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 s=t?this.facetPaginationStepMobile:this.facetPaginationStep,a=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{a[r.name]||(a[r.name]=s)}),e.map(r=>({...r,values:r.values.slice(0,a[r.name]),showingAllFacets:r.values.length<=a[r.name],hasMoreFacets:r.values.length>s}))}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(a=>{var r;const i=(r=this.dataLayer.searchFacets)==null?void 0:r.find(l=>l.name===a.name);return i?{...a,values:a.values.map(l=>{const o=i.values.find(d=>l.type==="range"?!1:l.type==="checkbox"?d.value===l.value:!1);return{...l,disabled:!o,isMobile:e}})}:{...a,values:a.values.map(l=>({...l,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(a=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(a.name)}));const s={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(s),s}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,s){var a,r,i,l,o,d,v,g,m,C,I,T;if(typeof document<"u"){const R=document==null?void 0:document.createElement("div");R.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||R.classList.add("active");const P=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:i.template)||((l=b.facets.facetItemContainerTemplate)==null?void 0:l.template);R.innerHTML=F.render(P,e),t.appendChild(R);const L=R.querySelector("."+(((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.facetItemContainerTemplate)==null?void 0:v.facetListTitleContainerClass)||((g=b.facets.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)));L==null||L.addEventListener("click",()=>{R.classList.toggle("active")});const N=R.querySelector("."+(((I=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.facetItemContainerTemplate)==null?void 0:I.facetListContainerClass)||((T=b.facets.facetItemContainerTemplate)==null?void 0:T.facetListContainerClass)));N&&(e.values.forEach(q=>{this.createFacetListItem(q,N,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,N,s))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(s=>X.deepEqual(s,this.extractFacetValue(e))))}createFacetListItem(e,t,s){var a,r,i,l,o,d,v,g,m,C,I,T;if(typeof document<"u"){const R=document==null?void 0:document.createElement("div");R.classList.add("searchstax-facet-value-container"),e.disabled&&R.classList.add("searchstax-facet-value-disabled");const P=this.isChecked(e),L=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemTemplate)==null?void 0:i.template)||((l=b.facets.facetItemTemplate)==null?void 0:l.template);R.innerHTML=F.render(L,{...e,isChecked:P});let N=(o=b.facets.facetItemTemplate)==null?void 0:o.checkTriggerClasses;N=((g=(v=(d=this.config)==null?void 0:d.templates)==null?void 0:v.facetItemTemplate)==null?void 0:g.checkTriggerClasses)||N,N.forEach(D=>{const K=R.querySelector("."+D);K==null||K.addEventListener("click",f=>{this.onFacetSelect(f,e,R)})});const q=R.querySelector("."+(((I=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.facetItemTemplate)==null?void 0:I.inputCheckboxClass)||((T=b.facets.facetItemTemplate)==null?void 0:T.inputCheckboxClass)));q==null||q.addEventListener("click",D=>{this.onFacetSelect(D,e,R,!0)}),q&&(q==null||q.setAttribute("data-test-value",`${encodeURIComponent(s)}:"${encodeURIComponent(e.value)}"`)),t.appendChild(R)}}createHasMoreComponent(e,t,s){var a,r,i,l,o,d,v,g;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-show-more-container");const C=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:i.template)||((l=b.facets.showMoreButtonContainerTemplate)==null?void 0:l.template);m.innerHTML=F.render(C,e);const I=m.querySelector("."+(((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.showMoreButtonContainerTemplate)==null?void 0:v.showMoreButtonClass)||((g=b.facets.showMoreButtonContainerTemplate)==null?void 0:g.showMoreButtonClass)));I&&(this.attachOnclickToShowMore(e,I,s),t&&t.appendChild(I))}}attachOnclickToShowMore(e,t,s){t.addEventListener("click",a=>{this.onShowMoreLessClick(a,e,s)}),t.addEventListener("keyup",a=>{(a.code==="Space"||a.code==="Enter")&&this.onShowMoreLessClick(a,e,s)})}onShowMoreLessClick(e,t,s){e.preventDefault();const a=s?this.facetPaginationStepMobile:this.facetPaginationStep,r=s?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=a*2:r[t.name]<=t.values.length?(ee.setAccessibilityText(`More Facets shown for ${t.label}`),r[t.name]=r[t.name]+a):(ee.setAccessibilityText(`Less Facets shown for ${t.label}`),r[t.name]=a),this.generateTemplateData(s),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var s,a,r,i,l,o,d,v,g,m,C;if(e&&(!X.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const I=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.mainTemplateDesktop)==null?void 0:r.template)||((i=b.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===B.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=F.render(I,{...e});const T=(v=this.searchFacetsMainContainer)==null?void 0:v.querySelector("."+(((d=(o=(l=this.config)==null?void 0:l.templates)==null?void 0:o.mainTemplateDesktop)==null?void 0:d.facetsContainerClass)||b.facets.mainTemplateDesktop.facetsContainerClass));if(T){T.innerHTML="";for(const R of e.facets)this.createFacetItem(R,T);if(this.searchFacetsMainContainer){const R=this.searchFacetsMainContainer.querySelector("."+(((C=(m=(g=this.config)==null?void 0:g.templates)==null?void 0:m.mainTemplateDesktop)==null?void 0:C.selectedFacetsContainerClass)||b.facets.mainTemplateDesktop.selectedFacetsContainerClass));R&&(this.createSelectedFacetsComponents(R),this.createClearFacetsComponents(R))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const s of t){const a=decodeURIComponent(s.name),r=decodeURIComponent(s.value);if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,l=i==null?void 0:i.find(o=>o.name===a);if(l){const o=l.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?`"${d.value}"`==`"${r}"`:!1);o&&e.push(o)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(s=>{this.createSelectedFacetsComponent(e,s)})}createClearFacetsComponents(e){var t,s,a,r,i,l,o,d;if(typeof document<"u"){const v=this.dataLayer.searchObject,g=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.clearFacetsTemplate)==null?void 0:a.template)||((r=b.facets.clearFacetsTemplate)==null?void 0:r.template),m=document==null?void 0:document.createElement("div");m.innerHTML=F.render(g,{shouldShow:v.facets.length>0});const C=m.querySelector("."+(((o=(l=(i=this.config)==null?void 0:i.templates)==null?void 0:l.clearFacetsTemplate)==null?void 0:o.containerClass)||((d=b.facets.clearFacetsTemplate)==null?void 0:d.containerClass)));C&&(C.addEventListener("click",()=>{this.removeSelectedFacets()}),C.addEventListener("keyup",I=>{(I.code==="Space"||I.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(C))}}createSelectedFacetsComponent(e,t){var s,a,r,i,l,o,d,v;if(typeof document<"u"){const g=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.selectedFacetsTemplate)==null?void 0:r.template)||((i=b.facets.selectedFacetsTemplate)==null?void 0:i.template),m=document==null?void 0:document.createElement("div");m.innerHTML=F.render(g,t);const C=m.querySelector("."+(((d=(o=(l=this.config)==null?void 0:l.templates)==null?void 0:o.selectedFacetsTemplate)==null?void 0:d.containerClass)||((v=b.facets.selectedFacetsTemplate)==null?void 0:v.containerClass)));C&&(C.addEventListener("click",()=>{this.unselectFacet(t)}),C.addEventListener("keyup",I=>{(I.code==="Space"||I.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(C))}}unselectFacet(e){const t=this.dataLayer.searchObject;let s=[...t.facets];e.type==="checkbox"&&(s=s.filter(a=>JSON.stringify(a)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:s}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,s,a,r,i,l,o,d;if(typeof document<"u"){const v=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.filterByTemplate)==null?void 0:a.template)||((r=b.facets.filterByTemplate)==null?void 0:r.template),g=document==null?void 0:document.createElement("div");g.innerHTML=F.render(v,{});const m=g.querySelector("."+(((o=(l=(i=this.config)==null?void 0:i.templates)==null?void 0:l.filterByTemplate)==null?void 0:o.containerClass)||((d=b.facets.filterByTemplate)==null?void 0:d.containerClass)));m&&(e.prepend(m),m.addEventListener("click",this.openOverlay.bind(this)),m.addEventListener("keyup",C=>{(C.code==="Space"||C.code==="Enter")&&this.openOverlay()}))}}openOverlay(){var e;ee.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;ee.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,s,a,r,i,l,o,d,v,g,m,C,I,T,R,P,L,N,q;if(e&&typeof document<"u"){const D=document==null?void 0:document.createElement("div");D.classList.add("searchstax-facets-container-mobile");const K=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplateMobile)==null?void 0:a.template)||((r=b.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===B.mustache){if(D.innerHTML=F.render(K,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(D),(o=(l=this.config)==null?void 0:l.templates)!=null&&o.mainTemplateMobile)for(const H of((g=(v=(d=this.config)==null?void 0:d.templates)==null?void 0:v.mainTemplateMobile)==null?void 0:g.closeOverlayTriggerClasses)||[]){const Y=D.querySelector("."+H);Y&&(Y.addEventListener("click",this.closeOverlay.bind(this)),Y.addEventListener("keyup",G=>{(G.code==="Space"||G.code==="Enter")&&this.closeOverlay()}))}else for(const H of b.facets.mainTemplateMobile.closeOverlayTriggerClasses){const Y=D.querySelector("."+H);Y&&(Y.addEventListener("click",this.closeOverlay.bind(this)),Y.addEventListener("keyup",G=>{(G.code==="Space"||G.code==="Enter")&&this.closeOverlay()}))}const f=D.querySelector("."+(((I=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:I.filterByContainerClass)||b.facets.mainTemplateMobile.filterByContainerClass));f&&this.createFilterByComponent(f);const x=D.querySelector("."+(((P=(R=(T=this.config)==null?void 0:T.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:P.selectedFacetsContainerClass)||b.facets.mainTemplateMobile.selectedFacetsContainerClass));x&&(this.createSelectedFacetsComponents(x),this.createClearFacetsComponents(x));const O=D.querySelector("."+(((q=(N=(L=this.config)==null?void 0:L.templates)==null?void 0:N.mainTemplateMobile)==null?void 0:q.facetsContainerClass)||b.facets.mainTemplateMobile.facetsContainerClass));if(O){O.innerHTML="";for(const H of e.facets)this.createFacetItem(H,O,!0)}}}}}class ma{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"previousButtonClass"),h(this,"nextButtonClass"),h(this,"loadMoreButtonClass"),h(this,"routerHelper"),h(this,"searchPaginationMainContainer",null);var t,s,a,r,i,l,o,d,v;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.previousButtonClass)??b.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((l=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:l.nextButtonClass)??b.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:v.loadMoreButtonClass)??b.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 e,t,s,a;const r={...this.dataLayer.parsedData.data,previousPageLink:(t=this.routerHelper)==null?void 0:t.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(r),r}goToPage(e,t){const s=this.dataLayer.searchObject;s&&(s.page=e,this.dataLayer.setSearchObject(s)),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),s=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&(e.addEventListener("click",this.previousPage.bind(this)),e.addEventListener("keydown",a=>{(a.code==="Space"||a.code==="Enter")&&this.previousPage(a)})),t&&(t.addEventListener("click",this.nextPage.bind(this)),t.addEventListener("keydown",a=>{(a.code==="Space"||a.code==="Enter")&&this.nextPage(a)})),s&&(s.addEventListener("click",this.nextPage.bind(this)),s.addEventListener("keydown",a=>{(a.code==="Space"||a.code==="Enter")&&this.nextPage(a)}))}}renderMainTemplate(e){var t,s,a,r,i,l,o,d,v,g;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));let m=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:i.template)||((l=b.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.isInfiniteScroll&&(m=((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:v.template)||((g=b.pagination.infiniteScrollTemplate)==null?void 0:g.template)),this.dataLayer.renderingEngine===B.mustache&&(this.searchPaginationMainContainer.innerHTML=F.render(m,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class fa{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"relatedSearchesContainerClass"),h(this,"searchRelatedSearchesMainContainer",null),h(this,"track");var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((s=(t=this.config.templates)==null?void 0:t.main)==null?void 0:s.relatedSearchesContainerClass)||b.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 s,a,r,i,l;if(typeof document<"u"){const o=document==null?void 0:document.createElement("div"),d=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.relatedSearch)==null?void 0:r.template)||b.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===B.mustache){o.innerHTML=F.render(d,e);const v=o.querySelector("."+(((l=(i=this.config.templates)==null?void 0:i.relatedSearch)==null?void 0:l.relatedSearchContainerClass)||b.relatedSearches.relatedSearch.relatedSearchContainerClass));v&&(t.appendChild(v),v.addEventListener("click",()=>{this.executeSearch(e)}),v.addEventListener("keyup",g=>{(g.code==="Space"||g.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 t,s,a,r;const i=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.relatedSearches.main.template;if(this.dataLayer.renderingEngine===B.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=F.render(i,e);const l=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(l)for(const o of e.relatedSearches)this.addRelatedSearchComponent(o,l)}}}class va{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"searchFeedbackMainContainer",null),h(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 t;e.stopPropagation(),e.preventDefault();const s=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(s,!0)}attachClick(){var e,t,s,a,r;const i=(r=this.searchFeedbackMainContainer)==null?void 0:r.querySelector("."+(((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:s.originalQueryClass)||((a=b.searchFeedback.main)==null?void 0:a.originalQueryClass)));i&&i.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.searchFeedback.main.template;this.dataLayer.renderingEngine===B.mustache&&(this.searchFeedbackMainContainer.innerHTML=F.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class ya{constructor(e){h(this,"searchHelper"),h(this,"dataLayer"),h(this,"config"),h(this,"suggestAfterMinChars"),h(this,"containerId"),h(this,"currentInputValue",""),h(this,"autosuggestResults"),h(this,"searchInput"),h(this,"actionButton"),h(this,"autosuggestContainer"),h(this,"buttonState","search"),h(this,"selectedAutosuggestItem",-1),h(this,"suggestTrigger"),h(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,s,a;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)||b.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===B.mustache){const d=F.render(i,{});r.innerHTML=d}const l=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.searchInputId)||b.searchInput.mainTemplate.searchInputId,o=document==null?void 0:document.querySelector(`#${l}`);if(o)this.searchInput=o,o.addEventListener("keyup",this.inputKeyupEvent.bind(this)),o.addEventListener("blur",this.hideAutosuggest.bind(this)),o.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===B.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 s=e[t];t===this.selectedAutosuggestItem?(s.classList.add("active"),ee.setAccessibilityText(`Selected suggestion: ${s.innerText}`)):s.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 te.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,s,a;const r=document==null?void 0:document.createElement("div");r.classList.add("searchstax-autosuggest-item"),r.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),r.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const i=((s=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:s.template)||((a=b.searchInput.autosuggestItemTemplate)==null?void 0:a.template);return r.innerHTML=F.render(i,e),r}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const s=e.suggest[t];for(const a in s)if(Object.prototype.hasOwnProperty.call(s,a)){const r=s[a];r.numFound?ee.setAccessibilityText("Suggestions are available. Use up and down arrows to navigate while focusing input.",2e3):ee.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 xa{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"linkClickCallback"),h(this,"searchCallback"),h(this,"containerId"),h(this,"searchResultsMainContainer"),h(this,"searchResultsContainer"),h(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(()=>{ee.setAccessibilityText("Searching...")}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var e,t,s,a,r;const i=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:s.template)||((a=b.searchResults.noSearchResultTemplate)==null?void 0:a.template),l=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===B.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=F.render(i,{spellingSuggestion:l,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),l&&this.searchResultsContainer){const o=this.searchResultsContainer.querySelector("a");o&&o.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),this.searchCallback(l)})}}renderResults(e){var t,s,a,r,i;if(this.dataLayer.renderingEngine===B.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)ee.setAccessibilityText("Search has no results"),this.renderNoResultsTemplate();else{ee.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);const l=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.searchResultTemplate)==null?void 0:a.template)||((r=b.searchResults.searchResultTemplate)==null?void 0:r.template),o=e.map(d=>F.render(l,d));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=o.join(""):this.searchResultsContainer.innerHTML=o.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,s,a;return((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)||((a=b.searchResults.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const s=e.getAttribute(this.uniqueIdAttribute)??"";s&&this.linkClickCallback(s)}),e.addEventListener("keydown",t=>{if(t.code==="Space"||t.code==="Enter"){const s=e.getAttribute(this.uniqueIdAttribute)??"";s&&this.linkClickCallback(s)}})})}renderMainTemplate(){var e,t,s,a;const r=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:s.template)||((a=b.searchResults.mainTemplate)==null?void 0:a.template);this.dataLayer.renderingEngine===B.mustache&&(this.searchResultsMainContainer.innerHTML=F.render(r,{}),setTimeout(()=>{var i,l,o,d,v,g,m;const C=(o=(l=(i=this.config)==null?void 0:i.templates)==null?void 0:l.mainTemplate)!=null&&o.searchResultsContainerId?(g=(v=(d=this.config)==null?void 0:d.templates)==null?void 0:v.mainTemplate)==null?void 0:g.searchResultsContainerId:(m=b.searchResults.mainTemplate)==null?void 0:m.searchResultsContainerId,I=document==null?void 0:document.getElementById(C);if(I)this.searchResultsContainer=I;else throw new Error(`Search Results Container with id ${C} not found`)},0))}}class ba{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"selectId"),h(this,"searchSortingMainContainer",null);var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((s=(t=this.config.templates)==null?void 0:t.main)==null?void 0:s.selectId)||b.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 t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.sorting.main.template;if(this.dataLayer.renderingEngine===B.mustache){this.searchSortingMainContainer.innerHTML=F.render(r,e),this.markOptionSelected();const i=document==null?void 0:document.getElementById(this.selectId);i&&i.addEventListener("change",l=>{this.setOrderQuery(l.target.value)})}}}class Sa{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(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 t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.answer.main.template;this.dataLayer.renderingEngine===B.mustache&&(this.answerContainer.innerHTML=F.render(r,e))}}class Ca{constructor(e=B.mustache){h(this,"routerEnabled",!1),h(this,"cachedQuery",""),h(this,"routerHelper"),h(this,"searchHelper"),h(this,"searchResultsConfig"),h(this,"searchPaginationConfig"),h(this,"searchFeedbackConfig"),h(this,"searchSortingConfig"),h(this,"searchFacetsConfig"),h(this,"relatedSearchesConfig"),h(this,"externalPromotionsConfig"),h(this,"searchInputWidget"),h(this,"searchResultsWidget"),h(this,"searchFacetsWidget"),h(this,"searchPaginationWidget"),h(this,"searchFeedbackWidget"),h(this,"searchSortingWidget"),h(this,"relatedSearchesWidget"),h(this,"externalPromotionsWidget"),h(this,"answerWidget"),h(this,"dataLayer"),h(this,"firstRequest",!0),h(this,"renderEngine",B.mustache),e&&(this.renderEngine=e)}setRenderingEngine(e=B.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(s=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(s)}),this.dataLayer.$searchObject.subscribe(s=>{var a;s.query!==""&&s.query!==void 0&&s.query!=="undefined"&&(this.search(s),this.dataLayer.turnAIAnswerGenerationOn===!0&&((a=this.searchHelper)==null||a.startSSE(s.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(s=>{s&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ne.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 s=document.createElement("script");s.type="text/javascript",s.src=t;var a=document.getElementsByTagName("script")[0];a.parentNode&&a.parentNode.insertBefore(s,a)}initialize(e){var t,s;if(this.dataLayer=new qt("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 Ht({...e,sessionId:this.dataLayer.sessionId},this.dataLayer),this.dataLayer.searchHelper=this.searchHelper),((t=e.router)==null?void 0:t.enabled)===void 0||((s=e.router)==null?void 0:s.enabled)===!0){this.routerEnabled=!0,this.routerHelper=new rt(e.router?e.router:{enabled:!0});const a=this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"");this.dataLayer.searchObject.itemsPerPage&&(a.itemsPerPage=this.dataLayer.searchObject.itemsPerPage),this.dataLayer.setSearchObject(a),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 rt({})}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 t;const s=(((t=e.response)==null?void 0:t.docs)??[]).map((r,i)=>({...r,position:i+1})),a=[];for(const r of s)a.push({relatedSearch:r.related_search,position:r.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ne.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:a}),this.dataLayer.setSearchRelatedSearches(s)}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponse(e){var t,s;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows));let a=pe.combineResultsWithMetadata(e),r=pe.extractFacets(e);this.dataLayer.setSearchFacets(r),(s=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&s.afterSearch&&(a=this.dataLayer.searchstaxConfig.hooks.afterSearch(a)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const i=pe.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(i),this.dataLayer.setSearchResults(a)}parseAnswerResultsResponse(e){this.handleRouter(),e!==ie.question&&e!==ie.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,s;let a=e;(s=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&s.afterAutosuggest&&(a=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(a)}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 ya({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 Sa({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new xa({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 ma({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new va({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new ba({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new fa({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 ga({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new pa({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var s,a;const r={...this.dataLayer.searchObject};r.query=te.removeXSSRiskyTags(e),r.page=1,r.facets=[],this.dataLayer.forceNotCorrect=!!t;let i=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(r);i&&(i=(a=this.routerHelper)==null?void 0:a.extractParamsThatDoNotStartWithRouteName(i)),i&&(r.additionalProps=Object.keys(i).map(l=>i?{key:l,value:i[l]}:{key:"",value:""})),this.dataLayer.setSearchObject(r),this.dataLayer.lastSearchValue=r.query}executeSuggest(e){var t,s;let a={term:e,queryParams:[]};(s=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&s.beforeAutosuggest&&(a=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(a)),a&&a.term!==void 0&&a.queryParams!==void 0&&this.suggest(a.term,a.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&ne.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,s;let a=pe.findResultByUniqueId(e,this.dataLayer.searchResults??[]);a&&((s=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&s.afterLinkClick&&(a=this.searchResultsConfig.hooks.afterLinkClick(a)),a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ne.trackClick({result:a,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(a==null?void 0:a.url)??"")}).catch(()=>{}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){var t,s,a;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(s=this.searchResultsConfig)==null?void 0:s.templates,...e}:e,(a=this.searchResultsWidget)==null||a.changeTemplate())}}const S={searchstax:new Ca("react")};function La(n){let e=!1;const[t,s]=E.useState([]);E.useEffect(()=>{if(a(),S.searchstax){const o={};n.afterAutosuggest&&(o.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(o.beforeAutosuggest=n.beforeAutosuggest),S.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:n.suggestAfterMinChars,hooks:o,templates:{mainTemplate:{template:"",searchInputId:n.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")},[]);function a(){e||(S.searchstax.dataLayer.$autosuggestResults.subscribe(o=>{s((o==null?void 0:o.suggestions)??[])}),e=!0)}function r(){var o,d;(o=S.searchstax.searchInputWidget)==null||o.resetAutosuggestSelection(),(d=S.searchstax.searchInputWidget)==null||d.markActiveAutosuggestItem()}function i(o){var d;(d=S.searchstax.searchInputWidget)==null||d.onSuggestionEnter(o)}function l(){var o;(o=S.searchstax.searchInputWidget)==null||o.suggestionChosen()}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-input-container",children:u.jsxs("div",{className:"searchstax-search-input-container",children:[!n.inputTemplate&&u.jsxs("div",{className:"searchstax-search-input-wrapper",children:[u.jsx("input",{type:"text",id:"searchstax-search-input",className:"searchstax-search-input",placeholder:"SEARCH FOR...","aria-label":"search"}),u.jsx("div",{className:`searchstax-autosuggest-container ${t.length===0?"hidden":""}`,onMouseLeave:r,children:t.map(function(o){return u.jsx("div",{className:"searchstax-autosuggest-item",children:u.jsx("div",{className:"searchstax-autosuggest-item-term-container",tabIndex:0,dangerouslySetInnerHTML:{__html:o.term},onMouseOver:()=>{i(o)},onClick:()=>{l()}})},o.term)})}),u.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button","aria-label":"search"})]}),n.inputTemplate&&u.jsx(u.Fragment,{children:n.inputTemplate(t,r,i,l)})]})})})}function ka(n){const[e,t]=E.useState(!1);return E.useEffect(()=>{const s={};n.beforeSearch&&(s.beforeSearch=n.beforeSearch),n!=null&&n.afterSearch&&(s.afterSearch=n.afterSearch),S.searchstax.initialize({language:n.language??"en",sessionId:n.sessionId,searchURL:n.searchURL,suggesterURL:n.suggesterURL,trackApiKey:n.trackApiKey,searchAuth:n.searchAuth,authType:n.authType??"basic",autoCorrect:n.autoCorrect,router:n.router,hooks:s,analyticsBaseUrl:n.analyticsBaseUrl,analyticsSrc:n.analyticsSrc}),setTimeout(()=>{t(!0)},100),n.initialized(S.searchstax)},[n.initialized]),u.jsx(u.Fragment,{children:e&&u.jsxs(u.Fragment,{children:[" ",n.children," "]})})}function Ta(n){const[e,t]=E.useState(null),s=E.useRef();s.current=e;const[a,r]=E.useState(""),[i,l]=E.useState(null),o=(g,m)=>{m.preventDefault(),m.stopPropagation(),S.searchstax.executeLinkClick(g.uniqueId)};E.useEffect(()=>{v();const g={};n.afterLinkClick&&(g.afterLinkClick=n.afterLinkClick),S.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},renderMethod:n.renderMethod??"pagination",hooks:g})},[]);function d(g){S.searchstax.executeSearch(g)}function v(){S.searchstax.dataLayer.$searchResults.subscribe(g=>{var T;const m=s.current??[],C=g??[],I=n.renderMethod==="infiniteScroll"?[...m,...C]:g;((T=S.searchstax.dataLayer.$searchObject.value)==null?void 0:T.page)===1?t(C):t(I)}),S.searchstax.dataLayer.$searchTermChange.subscribe(g=>{r(g)}),S.searchstax.dataLayer.$searchResultsMetadata.subscribe(g=>{l(g)})}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-results-container",children:u.jsx("div",{className:"searchstax-search-results-container",children:u.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&a!==""&&a!=="*"&&S.searchstax.dataLayer.parsedData.firstSearchHappened&&!n.noResultTemplate&&u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",u.jsx("strong",{children:"no results"})," for"," ",u.jsxs("strong",{children:['"',a,'"']}),u.jsx("br",{}),(i==null?void 0:i.spellingSuggestion)&&u.jsxs("span",{children:[" Did you mean"," ",u.jsx("a",{href:"#",className:"searchstax-suggestion-term",onClick:()=>{d(i==null?void 0:i.spellingSuggestion)},children:i==null?void 0:i.spellingSuggestion}),"?"]})]}),u.jsxs("ul",{children:[u.jsxs("li",{children:[" ","Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need."," "]}),u.jsx("li",{children:"Lost? Click on the ‘X” in the Search Box to reset your search."})]})]}),e&&e.length===0&&a!==""&&a!=="*"&&S.searchstax.dataLayer.parsedData.firstSearchHappened&&n.noResultTemplate&&u.jsx(u.Fragment,{children:n.noResultTemplate(a,i,d)}),e&&e.length>0&&!n.resultsTemplate&&u.jsx("div",{className:"searchstax-search-results",children:e!==null&&e.map(function(g){return u.jsx("a",{href:g.url??"",onClick:m=>{o(g,m)},onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&o(g,m)},tabIndex:0,"data-searchstax-unique-result-id":g.uniqueId,className:"searchstax-result-item-link searchstax-result-item-link-wrapping",children:u.jsxs("div",{className:`searchstax-search-result ${g.thumbnail?"has-thumbnail":""}`,children:[g.promoted&&u.jsx("div",{className:"searchstax-search-result-promoted"}),g.ribbon&&u.jsx("div",{className:"searchstax-search-result-ribbon",dangerouslySetInnerHTML:{__html:g.ribbon}}),g.thumbnail&&u.jsx("img",{src:g.thumbnail,className:"searchstax-thumbnail"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",dangerouslySetInnerHTML:{__html:g.title??""}})}),g.paths&&u.jsx("p",{className:"searchstax-search-result-common",dangerouslySetInnerHTML:{__html:g.paths}}),g.description&&u.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",dangerouslySetInnerHTML:{__html:g.description}}),g.unmappedFields.map(function(m){return u.jsxs("div",{children:[m.isImage&&typeof m.value=="string"&&u.jsx("div",{className:"searchstax-search-result-image-container",children:u.jsx("img",{src:m.value,className:"searchstax-result-image"})}),!m.isImage&&u.jsx("div",{children:u.jsx("p",{className:"searchstax-search-result-common",dangerouslySetInnerHTML:{__html:m.value}})})]},m.key)})]},g.uniqueId)},g.uniqueId)})}),e&&e.length>0&&n.resultsTemplate&&u.jsx(u.Fragment,{children:n.resultsTemplate(e,o)})]})})})})}function Ra(n){let e=!1;const[t,s]=E.useState(!1),[a,r]=E.useState(null),[i]=E.useState(Math.random());E.useEffect(()=>{if(l(),S.searchstax)S.searchstax.addPaginationWidget("searchstax-pagination-container"+i,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(S.searchstax.dataLayer.$searchObject.subscribe(()=>{o()}),S.searchstax.dataLayer.$paginationData.subscribe(g=>{r(g)}),e=!0)}function o(){!t&&S.searchstax.routerHelper&&(s(!0),S.searchstax.addPaginationWidget("searchstax-pagination-container"+i,{}))}function d(g){var m;(m=S.searchstax.searchPaginationWidget)==null||m.nextPage(g)}function v(g){var m;(m=S.searchstax.searchPaginationWidget)==null||m.previousPage(g)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-pagination-container"+i,children:[!n.paginationTemplate&&a&&!a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&u.jsx("div",{className:"searchstax-pagination-container",children:u.jsxs("div",{className:"searchstax-pagination-content",children:[u.jsxs("a",{className:`searchstax-pagination-previous ${a.isFirstPage?"disabled":""}`,style:a!=null&&a.isFirstPage?{pointerEvents:"none"}:{},onClick:g=>{v(g)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&v(g)},tabIndex:0,id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),u.jsxs("div",{className:"searchstax-pagination-details",children:[" ",a==null?void 0:a.startResultIndex," -"," ",a==null?void 0:a.endResultIndex," of"," ",a==null?void 0:a.totalResults]}),u.jsx("a",{className:`searchstax-pagination-next ${a.isLastPage?"disabled":""}`,tabIndex:0,style:a!=null&&a.isLastPage?{pointerEvents:"none"}:{},onClick:g=>{d(g)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&d(g)},id:"searchstax-pagination-next",children:"Next >"})]})}),n.paginationTemplate&&a&&!a.isInfiniteScroll&&u.jsx(u.Fragment,{children:n.paginationTemplate(a,d,v)}),!n.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx("div",{className:"searchstax-pagination-container",children:u.jsx("a",{className:"searchstax-pagination-load-more",tabIndex:0,onClick:g=>{d(g)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&d(g)},children:"Show More"})}),n.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx(u.Fragment,{children:n.infiniteScrollTemplate(a,d)})]})})}function wa(n){let e=!1;const[t,s]=E.useState(null),[a,r]=E.useState(""),[i]=E.useState(Math.random());E.useEffect(()=>{if(l(),S.searchstax)S.searchstax.addSearchSortingWidget("search-sorting-container"+i,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(S.searchstax.dataLayer.$searchSortingData.subscribe(d=>{s(d)}),S.searchstax.dataLayer.$searchObject.subscribe(d=>{r(decodeURIComponent((d==null?void 0:d.order)??""))}),e=!0)}function o(d){var v;(v=S.searchstax.searchSortingWidget)==null||v.setOrderQuery(d)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-sorting-container"+i,children:[!n.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&u.jsxs("div",{className:"searchstax-sorting-container",children:[u.jsx("label",{className:"searchstax-sorting-label",htmlFor:"searchstax-search-order-select",children:"Sort By"}),u.jsx("select",{id:"searchstax-search-order-select",className:"searchstax-search-order-select",value:a,onChange:d=>{o(d.target.value)},children:t.sortOptions.map(function(d){return u.jsx("option",{value:d.key,children:d.value},d.key)})})]}),n.searchSortingTemplate&&u.jsx(u.Fragment,{children:n.searchSortingTemplate(t,o,a)})]})})}function Ea(n){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),S.searchstax)S.searchstax.addSearchFeedbackWidget("search-feedback-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(S.searchstax.dataLayer.$searchFeedbackData.subscribe(l=>{s(l)}),e=!0)}function i(l){var o;(o=S.searchstax.searchFeedbackWidget)==null||o.onOriginalQueryClick(l)}return u.jsx(u.Fragment,{children:u.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+a,children:[!n.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)>0&&u.jsxs(u.Fragment,{children:["Showing"," ",u.jsxs("b",{children:[t.startResultIndex," - ",t.endResultIndex]})," ","of",u.jsxs("b",{children:[" ",t.totalResults]})," results",t.searchTerm&&u.jsxs("span",{children:[' for "',u.jsx("b",{children:t.searchTerm}),'"'," "]}),u.jsx("div",{className:"searchstax-feedback-container-suggested",children:t.autoCorrectedQuery&&u.jsxs("div",{children:[" ","Search instead for"," ",u.jsx("a",{href:"#",onClick:l=>{i(l)},className:"searchstax-feedback-original-query",children:t.originalQuery})]})})]}),n.searchOverviewTemplate&&u.jsx(u.Fragment,{children:n.searchOverviewTemplate(t,i)})]})})}function Ia(n){const[e,t]=E.useState(null),[s,a]=E.useState(null),[r,i]=E.useState([]),[l,o]=E.useState({}),d={},v=Math.random();let g=!1;E.useEffect(()=>{if(m(),S.searchstax)S.searchstax.addFacetsWidget("searchstax-facets-container"+v,{facetingType:n.facetingType,specificFacets:n.specificFacets,itemsPerPageDesktop:n.itemsPerPageDesktop,itemsPerPageMobile:n.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function m(){g||(S.searchstax.dataLayer.$facetsTemplateData.subscribe(f=>{f!=null&&f.isMobile?a(f):t(f)}),S.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(f=>{i((f??[]).filter(O=>O.type==="checkbox"))}),g=!0)}function C(f){var x;(x=S.searchstax.searchFacetsWidget)==null||x.unselectFacet(f)}function I(){var f;(f=S.searchstax.searchFacetsWidget)==null||f.removeSelectedFacets()}function T(f){return!l[f]}function R(f){T(f)?o({...l,[f]:!0}):o({...l,[f]:!1})}function P(f){var x;return(x=S.searchstax.searchFacetsWidget)==null?void 0:x.isChecked(f)}function L(f,x,O,H,Y){var Z;const G=Y?"mobile-":"desktop-",z=document.getElementsByClassName(G+f);z[0]&&((Z=S.searchstax.searchFacetsWidget)==null||Z.onFacetSelect(x,O,z[0],!1,P(O)))}function N(f,x){var O;(O=S.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(f,x,!1)}function q(f,x){var O;(O=S.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(f,x,!0)}function D(){var f;(f=S.searchstax.searchFacetsWidget)==null||f.openOverlay()}function K(){var f;(f=S.searchstax.searchFacetsWidget)==null||f.closeOverlay()}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-facets-container"+v,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!n.facetsTemplateDesktop&&u.jsx("div",{className:"searchstax-facets-container-desktop",children:e==null?void 0:e.facets.map(f=>u.jsx("div",{className:`searchstax-facet-container ${T(f.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{R(f.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",f.label," "]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container",children:[f.values.map((x,O)=>(d[O+f.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${x.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+f.name],children:[u.jsx("div",{className:"searchstax-facet-input desktop-"+O+f.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(x),"aria-label":x.value+" "+x.count,readOnly:!0,disabled:x.disabled,onClick:H=>{L(O+f.name,H,x)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:H=>{L(O+f.name,H,x)},children:x.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:H=>{L(O+f.name,H,x)},children:["(",x.count,")"]})]},x.value+x.parentName))),f.hasMoreFacets&&u.jsx("div",{className:"searchstax-facet-show-more-container",children:u.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:x=>{N(x,f)},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&N(x,f)},children:[f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},f.name+"desktop"))}),n.facetsTemplateDesktop&&u.jsx(u.Fragment,{children:n.facetsTemplateDesktop(e,d,T,R,L,P,N)}),(s==null?void 0:s.hasResultsOrExternalPromotions)&&!n.facetsTemplateMobile&&u.jsx("div",{className:"searchstax-facets-container-mobile",children:u.jsxs("div",{className:"searchstax-facets-pills-container",children:[u.jsx("div",{className:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:()=>{D()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),u.jsxs("div",{className:"searchstax-facets-pills-selected",children:[r.map(f=>u.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{C(f)},children:[u.jsxs("div",{className:"searchstax-facets-pill-label",children:[f.value," (",f.count,")"]}),u.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},f.value)),r.length!==0&&u.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{I()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),u.jsxs("div",{className:`searchstax-facets-mobile-overlay ${s.overlayOpened?"searchstax-show":""}`,children:[u.jsxs("div",{className:"searchstax-facets-mobile-overlay-header",children:[u.jsx("div",{className:"searchstax-facets-mobile-overlay-header-title",children:"Filter By"}),u.jsx("div",{className:"searchstax-search-close",onClick:()=>{K()}})]}),u.jsx("div",{className:"searchstax-facets-container-mobile",children:s==null?void 0:s.facets.map(f=>u.jsx("div",{className:`searchstax-facet-container ${T(f.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{R(f.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",f.label," "]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container",children:[f.values.map((x,O)=>(d[O+f.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${x.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+f.name],children:[u.jsx("div",{className:"searchstax-facet-input mobile-"+O+f.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(x),"aria-label":x.value+" "+x.count,readOnly:!0,disabled:x.disabled,onClick:H=>{L(O+f.name,H,x,!0,!0)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:H=>{L(O+f.name,H,x)},children:x.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:H=>{L(O+f.name,H,x)},children:["(",x.count,")"]})]},x.value+x.parentName))),u.jsx("div",{className:"searchstax-facet-show-more-container","v-if":"facet.hasMoreFacets",children:u.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:x=>{q(x,f)},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&q(x,f)},tabIndex:0,children:[f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},f.name+"mobile"))}),u.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{K()},children:"Done"})]})]})}),n.facetsTemplateMobile&&u.jsx(u.Fragment,{children:n.facetsTemplateMobile(s,r,d,T,R,L,P,C,q,D,K,I)})]})})}function Pa(n){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),S.searchstax)S.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+a,{relatedSearchesURL:n.relatedSearchesURL,relatedSearchesAPIKey:n.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(S.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(l=>{s(l)}),e=!0)}function i(l){var o;(o=S.searchstax.relatedSearchesWidget)==null||o.executeSearch(l)}return u.jsxs(u.Fragment,{children:[!n.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&u.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",u.jsx("span",{id:"searchstax-related-searches"}),t.relatedSearches&&u.jsx("span",{className:"searchstax-related-search",children:t.relatedSearches.map(l=>u.jsxs("span",{onClick:()=>{i(l)},onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&i(l)},tabIndex:0,className:"searchstax-related-search searchstax-related-search-item",children:[" ",l.related_search,!l.last&&u.jsx("span",{children:","})]},l.related_search))})]}),n.searchRelatedSearchesTemplate&&u.jsx(u.Fragment,{children:n.searchRelatedSearchesTemplate(t,i)})]})}function ja(n){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),S.searchstax)S.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(S.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(l=>{s(l)}),e=!0)}function i(l,o){var d;(d=S.searchstax.externalPromotionsWidget)==null||d.trackClick(l,o)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-external-promotions-layout-container"+a,children:[!n.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&u.jsx(u.Fragment,{children:t.externalPromotions.map(l=>u.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[u.jsx("div",{className:"icon-elevated"}),l.url&&u.jsx("a",{href:l.url,onClick:o=>{i(l,o)},className:"searchstax-result-item-link"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",children:l.name})}),l.description&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.description," "]}),l.url&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.url," "]})]},l.id))}),n.searchExternalPromotionsTemplate&&u.jsx(u.Fragment,{children:n.searchExternalPromotionsTemplate(t,i)})]})})}exports.SearchstaxExternalPromotionsWidget=ja;exports.SearchstaxFacetsWidget=Ia;exports.SearchstaxInputWidget=La;exports.SearchstaxOverviewWidget=Ea;exports.SearchstaxPaginationWidget=Ra;exports.SearchstaxRelatedSearchesWidget=Pa;exports.SearchstaxResultWidget=Ta;exports.SearchstaxSortingWidget=wa;exports.SearchstaxWrapper=ka;
|
|
268
|
+
`,selectId:"searchstax-search-order-select"}};class b{}h(b,"answer",ra),h(b,"externalPromotions",ia),h(b,"facets",na),h(b,"pagination",ca),h(b,"relatedSearches",la),h(b,"searchFeedback",oa),h(b,"searchInput",ha),h(b,"searchResults",ua),h(b,"sorting",da);class ga{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"externalPromotionsContainerId"),h(this,"searchExternalPromotionsMainContainer",null);var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((s=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:s.externalPromotionsContainerId)||b.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 t,s,a,r;const i=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(i){const l=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.externalPromotion)==null?void 0:a.template)||((r=b.externalPromotions.externalPromotion)==null?void 0:r.template);if(typeof document<"u"){const o=document==null?void 0:document.createElement("div");o.classList.add("searchstax-external-promotion"),o.addEventListener("click",d=>{this.trackClick(e,d)}),o.innerHTML=F.render(l,e),i.appendChild(o)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var t,s,a,r;const i=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.template)||((r=b.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===B.mustache){this.searchExternalPromotionsMainContainer.innerHTML=F.render(i,e);const l=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;l&&(l.innerHTML="");for(const o of e.externalPromotions)this.addExternalSearch(o)}}}class ee{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById("searchAccessibilityContainer")){const e=document.createElement("div");e.setAttribute("aria-live","polite"),e.setAttribute("id","searchAccessibilityContainer"),document.body.appendChild(e)}}static setAccessibilityText(e,t){this.addAccessibilityNotificationContainerToBody();const s=document.getElementById("searchAccessibility");s&&s.remove();const a=document.createElement("span");a.setAttribute("id","searchAccessibility"),a.innerHTML=e;const r=document.getElementById("searchAccessibilityContainer");r&&setTimeout(()=>{r.appendChild(a)},t??100)}}class pa{constructor(e,t){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"routerHelper"),h(this,"cachedPhrase",""),h(this,"isCached",!1),h(this,"overlayOpened",!1),h(this,"facetPaginationStep"),h(this,"facetPaginationStepMobile"),h(this,"searchFacetsMainContainer",null),h(this,"searchFacetsMobileContainer",null),h(this,"searchFacetsDesktopContainer",null),h(this,"facetLimits",{}),h(this,"facetLimitsMobile",{}),h(this,"deactivatedFacets",{}),h(this,"cachedData",null),h(this,"cacheFacets"),h(this,"onFacetSelect",(s,a,r,i,l)=>{if(s.stopPropagation(),!a.disabled){const o=r.querySelector("input");let d=i?o.checked:!o.checked;l!==void 0&&(d=!l),o.checked=d;const v=this.dataLayer.searchObject;let g=[...v.facets];const m=this.extractFacetValue(a);d?g.find(C=>X.deepEqual(C,m)?C:!1)||(this.config.facetingType==="tabs"&&(g=g.filter(C=>C.name!==m.name)),g.push(m)):g=g.filter(C=>!X.deepEqual(C,m)),setTimeout(()=>{this.dataLayer.setSearchObject({...v,facets:g,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 s=t?this.facetPaginationStepMobile:this.facetPaginationStep,a=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{a[r.name]||(a[r.name]=s)}),e.map(r=>({...r,values:r.values.slice(0,a[r.name]),showingAllFacets:r.values.length<=a[r.name],hasMoreFacets:r.values.length>s}))}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(a=>{var r;const i=(r=this.dataLayer.searchFacets)==null?void 0:r.find(l=>l.name===a.name);return i?{...a,values:a.values.map(l=>{const o=i.values.find(d=>l.type==="range"?!1:l.type==="checkbox"?d.value===l.value:!1);return{...l,disabled:!o,isMobile:e}})}:{...a,values:a.values.map(l=>({...l,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(a=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(a.name)}));const s={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(s),s}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,s){var a,r,i,l,o,d,v,g,m,C,I,T;if(typeof document<"u"){const R=document==null?void 0:document.createElement("div");R.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||R.classList.add("active");const P=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:i.template)||((l=b.facets.facetItemContainerTemplate)==null?void 0:l.template);R.innerHTML=F.render(P,e),t.appendChild(R);const L=R.querySelector("."+(((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.facetItemContainerTemplate)==null?void 0:v.facetListTitleContainerClass)||((g=b.facets.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)));L==null||L.addEventListener("click",()=>{R.classList.toggle("active")});const N=R.querySelector("."+(((I=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.facetItemContainerTemplate)==null?void 0:I.facetListContainerClass)||((T=b.facets.facetItemContainerTemplate)==null?void 0:T.facetListContainerClass)));N&&(e.values.forEach(q=>{this.createFacetListItem(q,N,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,N,s))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(s=>X.deepEqual(s,this.extractFacetValue(e))))}createFacetListItem(e,t,s){var a,r,i,l,o,d,v,g,m,C,I,T;if(typeof document<"u"){const R=document==null?void 0:document.createElement("div");R.classList.add("searchstax-facet-value-container"),e.disabled&&R.classList.add("searchstax-facet-value-disabled");const P=this.isChecked(e),L=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemTemplate)==null?void 0:i.template)||((l=b.facets.facetItemTemplate)==null?void 0:l.template);R.innerHTML=F.render(L,{...e,isChecked:P});let N=(o=b.facets.facetItemTemplate)==null?void 0:o.checkTriggerClasses;N=((g=(v=(d=this.config)==null?void 0:d.templates)==null?void 0:v.facetItemTemplate)==null?void 0:g.checkTriggerClasses)||N,N.forEach(D=>{const K=R.querySelector("."+D);K==null||K.addEventListener("click",f=>{this.onFacetSelect(f,e,R)})});const q=R.querySelector("."+(((I=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.facetItemTemplate)==null?void 0:I.inputCheckboxClass)||((T=b.facets.facetItemTemplate)==null?void 0:T.inputCheckboxClass)));q==null||q.addEventListener("click",D=>{this.onFacetSelect(D,e,R,!0)}),q&&(q==null||q.setAttribute("data-test-value",`${encodeURIComponent(s)}:"${encodeURIComponent(e.value)}"`)),t.appendChild(R)}}createHasMoreComponent(e,t,s){var a,r,i,l,o,d,v,g;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-show-more-container");const C=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:i.template)||((l=b.facets.showMoreButtonContainerTemplate)==null?void 0:l.template);m.innerHTML=F.render(C,e);const I=m.querySelector("."+(((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.showMoreButtonContainerTemplate)==null?void 0:v.showMoreButtonClass)||((g=b.facets.showMoreButtonContainerTemplate)==null?void 0:g.showMoreButtonClass)));I&&(this.attachOnclickToShowMore(e,I,s),t&&t.appendChild(I))}}attachOnclickToShowMore(e,t,s){t.addEventListener("click",a=>{this.onShowMoreLessClick(a,e,s)}),t.addEventListener("keyup",a=>{(a.code==="Space"||a.code==="Enter")&&this.onShowMoreLessClick(a,e,s)})}onShowMoreLessClick(e,t,s){e.preventDefault();const a=s?this.facetPaginationStepMobile:this.facetPaginationStep,r=s?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=a*2:r[t.name]<=t.values.length?(ee.setAccessibilityText(`More Facets shown for ${t.label}`),r[t.name]=r[t.name]+a):(ee.setAccessibilityText(`Less Facets shown for ${t.label}`),r[t.name]=a),this.generateTemplateData(s),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var s,a,r,i,l,o,d,v,g,m,C;if(e&&(!X.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const I=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.mainTemplateDesktop)==null?void 0:r.template)||((i=b.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===B.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=F.render(I,{...e});const T=(v=this.searchFacetsMainContainer)==null?void 0:v.querySelector("."+(((d=(o=(l=this.config)==null?void 0:l.templates)==null?void 0:o.mainTemplateDesktop)==null?void 0:d.facetsContainerClass)||b.facets.mainTemplateDesktop.facetsContainerClass));if(T){T.innerHTML="";for(const R of e.facets)this.createFacetItem(R,T);if(this.searchFacetsMainContainer){const R=this.searchFacetsMainContainer.querySelector("."+(((C=(m=(g=this.config)==null?void 0:g.templates)==null?void 0:m.mainTemplateDesktop)==null?void 0:C.selectedFacetsContainerClass)||b.facets.mainTemplateDesktop.selectedFacetsContainerClass));R&&(this.createSelectedFacetsComponents(R),this.createClearFacetsComponents(R))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const s of t){const a=decodeURIComponent(s.name),r=decodeURIComponent(s.value);if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,l=i==null?void 0:i.find(o=>o.name===a);if(l){const o=l.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?`"${d.value}"`==`"${r}"`:!1);o&&e.push(o)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(s=>{this.createSelectedFacetsComponent(e,s)})}createClearFacetsComponents(e){var t,s,a,r,i,l,o,d;if(typeof document<"u"){const v=this.dataLayer.searchObject,g=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.clearFacetsTemplate)==null?void 0:a.template)||((r=b.facets.clearFacetsTemplate)==null?void 0:r.template),m=document==null?void 0:document.createElement("div");m.innerHTML=F.render(g,{shouldShow:v.facets.length>0});const C=m.querySelector("."+(((o=(l=(i=this.config)==null?void 0:i.templates)==null?void 0:l.clearFacetsTemplate)==null?void 0:o.containerClass)||((d=b.facets.clearFacetsTemplate)==null?void 0:d.containerClass)));C&&(C.addEventListener("click",()=>{this.removeSelectedFacets()}),C.addEventListener("keyup",I=>{(I.code==="Space"||I.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(C))}}createSelectedFacetsComponent(e,t){var s,a,r,i,l,o,d,v;if(typeof document<"u"){const g=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.selectedFacetsTemplate)==null?void 0:r.template)||((i=b.facets.selectedFacetsTemplate)==null?void 0:i.template),m=document==null?void 0:document.createElement("div");m.innerHTML=F.render(g,t);const C=m.querySelector("."+(((d=(o=(l=this.config)==null?void 0:l.templates)==null?void 0:o.selectedFacetsTemplate)==null?void 0:d.containerClass)||((v=b.facets.selectedFacetsTemplate)==null?void 0:v.containerClass)));C&&(C.addEventListener("click",()=>{this.unselectFacet(t)}),C.addEventListener("keyup",I=>{(I.code==="Space"||I.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(C))}}unselectFacet(e){const t=this.dataLayer.searchObject;let s=[...t.facets];e.type==="checkbox"&&(s=s.filter(a=>JSON.stringify(a)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:s}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,s,a,r,i,l,o,d;if(typeof document<"u"){const v=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.filterByTemplate)==null?void 0:a.template)||((r=b.facets.filterByTemplate)==null?void 0:r.template),g=document==null?void 0:document.createElement("div");g.innerHTML=F.render(v,{});const m=g.querySelector("."+(((o=(l=(i=this.config)==null?void 0:i.templates)==null?void 0:l.filterByTemplate)==null?void 0:o.containerClass)||((d=b.facets.filterByTemplate)==null?void 0:d.containerClass)));m&&(e.prepend(m),m.addEventListener("click",this.openOverlay.bind(this)),m.addEventListener("keyup",C=>{(C.code==="Space"||C.code==="Enter")&&this.openOverlay()}))}}openOverlay(){var e;ee.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;ee.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,s,a,r,i,l,o,d,v,g,m,C,I,T,R,P,L,N,q;if(e&&typeof document<"u"){const D=document==null?void 0:document.createElement("div");D.classList.add("searchstax-facets-container-mobile");const K=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplateMobile)==null?void 0:a.template)||((r=b.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===B.mustache){if(D.innerHTML=F.render(K,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(D),(o=(l=this.config)==null?void 0:l.templates)!=null&&o.mainTemplateMobile)for(const H of((g=(v=(d=this.config)==null?void 0:d.templates)==null?void 0:v.mainTemplateMobile)==null?void 0:g.closeOverlayTriggerClasses)||[]){const Y=D.querySelector("."+H);Y&&(Y.addEventListener("click",this.closeOverlay.bind(this)),Y.addEventListener("keyup",G=>{(G.code==="Space"||G.code==="Enter")&&this.closeOverlay()}))}else for(const H of b.facets.mainTemplateMobile.closeOverlayTriggerClasses){const Y=D.querySelector("."+H);Y&&(Y.addEventListener("click",this.closeOverlay.bind(this)),Y.addEventListener("keyup",G=>{(G.code==="Space"||G.code==="Enter")&&this.closeOverlay()}))}const f=D.querySelector("."+(((I=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:I.filterByContainerClass)||b.facets.mainTemplateMobile.filterByContainerClass));f&&this.createFilterByComponent(f);const x=D.querySelector("."+(((P=(R=(T=this.config)==null?void 0:T.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:P.selectedFacetsContainerClass)||b.facets.mainTemplateMobile.selectedFacetsContainerClass));x&&(this.createSelectedFacetsComponents(x),this.createClearFacetsComponents(x));const O=D.querySelector("."+(((q=(N=(L=this.config)==null?void 0:L.templates)==null?void 0:N.mainTemplateMobile)==null?void 0:q.facetsContainerClass)||b.facets.mainTemplateMobile.facetsContainerClass));if(O){O.innerHTML="";for(const H of e.facets)this.createFacetItem(H,O,!0)}}}}}class ma{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"previousButtonClass"),h(this,"nextButtonClass"),h(this,"loadMoreButtonClass"),h(this,"routerHelper"),h(this,"searchPaginationMainContainer",null);var t,s,a,r,i,l,o,d,v;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.previousButtonClass)??b.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((l=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:l.nextButtonClass)??b.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:v.loadMoreButtonClass)??b.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 e,t,s,a;const r={...this.dataLayer.parsedData.data,previousPageLink:(t=this.routerHelper)==null?void 0:t.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(r),r}goToPage(e,t){const s=this.dataLayer.searchObject;s&&(s.page=e,this.dataLayer.setSearchObject(s)),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),s=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&(e.addEventListener("click",this.previousPage.bind(this)),e.addEventListener("keydown",a=>{(a.code==="Space"||a.code==="Enter")&&this.previousPage(a)})),t&&(t.addEventListener("click",this.nextPage.bind(this)),t.addEventListener("keydown",a=>{(a.code==="Space"||a.code==="Enter")&&this.nextPage(a)})),s&&(s.addEventListener("click",this.nextPage.bind(this)),s.addEventListener("keydown",a=>{(a.code==="Space"||a.code==="Enter")&&this.nextPage(a)}))}}renderMainTemplate(e){var t,s,a,r,i,l,o,d,v,g;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));let m=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:i.template)||((l=b.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.isInfiniteScroll&&(m=((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:v.template)||((g=b.pagination.infiniteScrollTemplate)==null?void 0:g.template)),this.dataLayer.renderingEngine===B.mustache&&(this.searchPaginationMainContainer.innerHTML=F.render(m,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class fa{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"relatedSearchesContainerClass"),h(this,"searchRelatedSearchesMainContainer",null),h(this,"track");var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((s=(t=this.config.templates)==null?void 0:t.main)==null?void 0:s.relatedSearchesContainerClass)||b.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 s,a,r,i,l;if(typeof document<"u"){const o=document==null?void 0:document.createElement("div"),d=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.relatedSearch)==null?void 0:r.template)||b.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===B.mustache){o.innerHTML=F.render(d,e);const v=o.querySelector("."+(((l=(i=this.config.templates)==null?void 0:i.relatedSearch)==null?void 0:l.relatedSearchContainerClass)||b.relatedSearches.relatedSearch.relatedSearchContainerClass));v&&(t.appendChild(v),v.addEventListener("click",()=>{this.executeSearch(e)}),v.addEventListener("keyup",g=>{(g.code==="Space"||g.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 t,s,a,r;const i=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.relatedSearches.main.template;if(this.dataLayer.renderingEngine===B.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=F.render(i,e);const l=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(l)for(const o of e.relatedSearches)this.addRelatedSearchComponent(o,l)}}}class va{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"searchFeedbackMainContainer",null),h(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 t;e.stopPropagation(),e.preventDefault();const s=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(s,!0)}attachClick(){var e,t,s,a,r;const i=(r=this.searchFeedbackMainContainer)==null?void 0:r.querySelector("."+(((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:s.originalQueryClass)||((a=b.searchFeedback.main)==null?void 0:a.originalQueryClass)));i&&i.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.searchFeedback.main.template;this.dataLayer.renderingEngine===B.mustache&&(this.searchFeedbackMainContainer.innerHTML=F.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class ya{constructor(e){h(this,"searchHelper"),h(this,"dataLayer"),h(this,"config"),h(this,"suggestAfterMinChars"),h(this,"containerId"),h(this,"currentInputValue",""),h(this,"autosuggestResults"),h(this,"searchInput"),h(this,"actionButton"),h(this,"autosuggestContainer"),h(this,"buttonState","search"),h(this,"selectedAutosuggestItem",-1),h(this,"suggestTrigger"),h(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,s,a;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)||b.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===B.mustache){const d=F.render(i,{});r.innerHTML=d}const l=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.searchInputId)||b.searchInput.mainTemplate.searchInputId,o=document==null?void 0:document.querySelector(`#${l}`);if(o)this.searchInput=o,o.addEventListener("keyup",this.inputKeyupEvent.bind(this)),o.addEventListener("blur",this.hideAutosuggest.bind(this)),o.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===B.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 s=e[t];t===this.selectedAutosuggestItem?(s.classList.add("active"),ee.setAccessibilityText(`Selected suggestion: ${s.innerText}`)):s.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 te.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,s,a;const r=document==null?void 0:document.createElement("div");r.classList.add("searchstax-autosuggest-item"),r.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),r.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const i=((s=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:s.template)||((a=b.searchInput.autosuggestItemTemplate)==null?void 0:a.template);return r.innerHTML=F.render(i,e),r}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const s=e.suggest[t];for(const a in s)if(Object.prototype.hasOwnProperty.call(s,a)){const r=s[a];r.numFound?ee.setAccessibilityText("Suggestions are available. Use up and down arrows to navigate while focusing input.",2e3):ee.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 xa{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"linkClickCallback"),h(this,"searchCallback"),h(this,"containerId"),h(this,"searchResultsMainContainer"),h(this,"searchResultsContainer"),h(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(()=>{ee.setAccessibilityText("Searching...")}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var e,t,s,a,r;const i=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:s.template)||((a=b.searchResults.noSearchResultTemplate)==null?void 0:a.template),l=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===B.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=F.render(i,{spellingSuggestion:l,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),l&&this.searchResultsContainer){const o=this.searchResultsContainer.querySelector("a");o&&o.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),this.searchCallback(l)})}}renderResults(e){var t,s,a,r,i;if(this.dataLayer.renderingEngine===B.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)ee.setAccessibilityText("Search has no results"),this.renderNoResultsTemplate();else{ee.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);const l=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.searchResultTemplate)==null?void 0:a.template)||((r=b.searchResults.searchResultTemplate)==null?void 0:r.template),o=e.map(d=>F.render(l,d));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=o.join(""):this.searchResultsContainer.innerHTML=o.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,s,a;return((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)||((a=b.searchResults.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const s=e.getAttribute(this.uniqueIdAttribute)??"";s&&this.linkClickCallback(s)}),e.addEventListener("keydown",t=>{if(t.code==="Space"||t.code==="Enter"){const s=e.getAttribute(this.uniqueIdAttribute)??"";s&&this.linkClickCallback(s)}})})}renderMainTemplate(){var e,t,s,a;const r=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:s.template)||((a=b.searchResults.mainTemplate)==null?void 0:a.template);this.dataLayer.renderingEngine===B.mustache&&(this.searchResultsMainContainer.innerHTML=F.render(r,{}),setTimeout(()=>{var i,l,o,d,v,g,m;const C=(o=(l=(i=this.config)==null?void 0:i.templates)==null?void 0:l.mainTemplate)!=null&&o.searchResultsContainerId?(g=(v=(d=this.config)==null?void 0:d.templates)==null?void 0:v.mainTemplate)==null?void 0:g.searchResultsContainerId:(m=b.searchResults.mainTemplate)==null?void 0:m.searchResultsContainerId,I=document==null?void 0:document.getElementById(C);if(I)this.searchResultsContainer=I;else throw new Error(`Search Results Container with id ${C} not found`)},0))}}class ba{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"selectId"),h(this,"searchSortingMainContainer",null);var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((s=(t=this.config.templates)==null?void 0:t.main)==null?void 0:s.selectId)||b.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 t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.sorting.main.template;if(this.dataLayer.renderingEngine===B.mustache){this.searchSortingMainContainer.innerHTML=F.render(r,e),this.markOptionSelected();const i=document==null?void 0:document.getElementById(this.selectId);i&&i.addEventListener("change",l=>{this.setOrderQuery(l.target.value)})}}}class Sa{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(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 t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.answer.main.template;this.dataLayer.renderingEngine===B.mustache&&(this.answerContainer.innerHTML=F.render(r,e))}}class Ca{constructor(e=B.mustache){h(this,"routerEnabled",!1),h(this,"cachedQuery",""),h(this,"routerHelper"),h(this,"searchHelper"),h(this,"searchResultsConfig"),h(this,"searchPaginationConfig"),h(this,"searchFeedbackConfig"),h(this,"searchSortingConfig"),h(this,"searchFacetsConfig"),h(this,"relatedSearchesConfig"),h(this,"externalPromotionsConfig"),h(this,"searchInputWidget"),h(this,"searchResultsWidget"),h(this,"searchFacetsWidget"),h(this,"searchPaginationWidget"),h(this,"searchFeedbackWidget"),h(this,"searchSortingWidget"),h(this,"relatedSearchesWidget"),h(this,"externalPromotionsWidget"),h(this,"answerWidget"),h(this,"dataLayer"),h(this,"firstRequest",!0),h(this,"renderEngine",B.mustache),e&&(this.renderEngine=e)}setRenderingEngine(e=B.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(s=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(s)}),this.dataLayer.$searchObject.subscribe(s=>{var a;s.query!==""&&s.query!==void 0&&s.query!=="undefined"&&(this.search(s),this.dataLayer.turnAIAnswerGenerationOn===!0&&((a=this.searchHelper)==null||a.startSSE(s.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(s=>{s&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ne.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 s=document.createElement("script");s.type="text/javascript",s.src=t;var a=document.getElementsByTagName("script")[0];a.parentNode&&a.parentNode.insertBefore(s,a)}initialize(e){var t,s;if(this.dataLayer=new qt("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 Ht({...e,sessionId:this.dataLayer.sessionId},this.dataLayer),this.dataLayer.searchHelper=this.searchHelper),((t=e.router)==null?void 0:t.enabled)===void 0||((s=e.router)==null?void 0:s.enabled)===!0){this.routerEnabled=!0,this.routerHelper=new rt(e.router?e.router:{enabled:!0});const a=this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"");this.dataLayer.searchObject.itemsPerPage&&(a.itemsPerPage=this.dataLayer.searchObject.itemsPerPage),this.dataLayer.setSearchObject(a),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 rt({})}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 t;const s=(((t=e.response)==null?void 0:t.docs)??[]).map((r,i)=>({...r,position:i+1})),a=[];for(const r of s)a.push({relatedSearch:r.related_search,position:r.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ne.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:a}),this.dataLayer.setSearchRelatedSearches(s)}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponse(e){var t,s;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows));let a=pe.combineResultsWithMetadata(e),r=pe.extractFacets(e);this.dataLayer.setSearchFacets(r),(s=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&s.afterSearch&&(a=this.dataLayer.searchstaxConfig.hooks.afterSearch(a)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const i=pe.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(i),this.dataLayer.setSearchResults(a)}parseAnswerResultsResponse(e){this.handleRouter(),e!==ie.question&&e!==ie.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,s;let a=e;(s=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&s.afterAutosuggest&&(a=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(a)}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 ya({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 Sa({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new xa({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 ma({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new va({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new ba({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig=t,this.relatedSearchesWidget=new fa({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 ga({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new pa({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var s,a;const r={...this.dataLayer.searchObject};r.query=te.removeXSSRiskyTags(e),r.page=1,r.facets=[],this.dataLayer.forceNotCorrect=!!t;let i=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(r);i&&(i=(a=this.routerHelper)==null?void 0:a.extractParamsThatDoNotStartWithRouteName(i)),i&&(r.additionalProps=Object.keys(i).map(l=>i?{key:l,value:i[l]}:{key:"",value:""})),this.dataLayer.setSearchObject(r),this.dataLayer.lastSearchValue=r.query}executeSuggest(e){var t,s;let a={term:e,queryParams:[]};(s=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&s.beforeAutosuggest&&(a=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(a)),a&&a.term!==void 0&&a.queryParams!==void 0&&this.suggest(a.term,a.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&ne.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,s;let a=pe.findResultByUniqueId(e,this.dataLayer.searchResults??[]);a&&((s=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&s.afterLinkClick&&(a=this.searchResultsConfig.hooks.afterLinkClick(a)),a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ne.trackClick({result:a,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(a==null?void 0:a.url)??"")}).catch(()=>{}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){var t,s,a;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(s=this.searchResultsConfig)==null?void 0:s.templates,...e}:e,(a=this.searchResultsWidget)==null||a.changeTemplate())}}const S={searchstax:new Ca("react")};function La(n){let e=!1;const[t,s]=E.useState([]);E.useEffect(()=>{if(a(),S.searchstax){const o={};n.afterAutosuggest&&(o.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(o.beforeAutosuggest=n.beforeAutosuggest),S.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:n.suggestAfterMinChars,hooks:o,templates:{mainTemplate:{template:"",searchInputId:n.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")},[]);function a(){e||(S.searchstax.dataLayer.$autosuggestResults.subscribe(o=>{s((o==null?void 0:o.suggestions)??[])}),e=!0)}function r(){var o,d;(o=S.searchstax.searchInputWidget)==null||o.resetAutosuggestSelection(),(d=S.searchstax.searchInputWidget)==null||d.markActiveAutosuggestItem()}function i(o){var d;(d=S.searchstax.searchInputWidget)==null||d.onSuggestionEnter(o)}function l(){var o;(o=S.searchstax.searchInputWidget)==null||o.suggestionChosen()}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-input-container",children:u.jsxs("div",{className:"searchstax-search-input-container",children:[!n.inputTemplate&&u.jsxs("div",{className:"searchstax-search-input-wrapper",children:[u.jsx("input",{type:"text",id:"searchstax-search-input",className:"searchstax-search-input",placeholder:"SEARCH FOR...","aria-label":"search"}),u.jsx("div",{className:`searchstax-autosuggest-container ${t.length===0?"hidden":""}`,onMouseLeave:r,children:t.map(function(o){return u.jsx("div",{className:"searchstax-autosuggest-item",children:u.jsx("div",{className:"searchstax-autosuggest-item-term-container",tabIndex:0,dangerouslySetInnerHTML:{__html:o.term},onMouseOver:()=>{i(o)},onClick:()=>{l()}})},o.term)})}),u.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button","aria-label":"search"})]}),n.inputTemplate&&u.jsx(u.Fragment,{children:n.inputTemplate(t,r,i,l)})]})})})}function ka(n){const[e,t]=E.useState(!1);return E.useEffect(()=>{const s={};n.beforeSearch&&(s.beforeSearch=n.beforeSearch),n!=null&&n.afterSearch&&(s.afterSearch=n.afterSearch),S.searchstax.initialize({language:n.language??"en",sessionId:n.sessionId,searchURL:n.searchURL,suggesterURL:n.suggesterURL,trackApiKey:n.trackApiKey,searchAuth:n.searchAuth,authType:n.authType??"basic",autoCorrect:n.autoCorrect,router:n.router,hooks:s,analyticsBaseUrl:n.analyticsBaseUrl,analyticsSrc:n.analyticsSrc}),setTimeout(()=>{t(!0)},100),n.initialized(S.searchstax)},[n.initialized]),u.jsx(u.Fragment,{children:e&&u.jsxs(u.Fragment,{children:[" ",n.children," "]})})}function Ta(n){const[e,t]=E.useState(null),s=E.useRef();s.current=e;const[a,r]=E.useState(""),[i,l]=E.useState(null),o=(g,m)=>{m.preventDefault(),m.stopPropagation(),S.searchstax.executeLinkClick(g.uniqueId)};E.useEffect(()=>{v();const g={};n.afterLinkClick&&(g.afterLinkClick=n.afterLinkClick),S.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},renderMethod:n.renderMethod??"pagination",hooks:g})},[]);function d(g){S.searchstax.executeSearch(g)}function v(){S.searchstax.dataLayer.$searchResults.subscribe(g=>{var T;const m=s.current??[],C=g??[],I=n.renderMethod==="infiniteScroll"?[...m,...C]:g;((T=S.searchstax.dataLayer.$searchObject.value)==null?void 0:T.page)===1?t(C):t(I)}),S.searchstax.dataLayer.$searchTermChange.subscribe(g=>{r(g)}),S.searchstax.dataLayer.$searchResultsMetadata.subscribe(g=>{l(g)})}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-results-container",children:u.jsx("div",{className:"searchstax-search-results-container",children:u.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&a!==""&&a!=="*"&&S.searchstax.dataLayer.parsedData.firstSearchHappened&&!n.noResultTemplate&&u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",u.jsx("strong",{children:"no results"})," for"," ",u.jsxs("strong",{children:['"',a,'"']}),u.jsx("br",{}),(i==null?void 0:i.spellingSuggestion)&&u.jsxs("span",{children:[" Did you mean"," ",u.jsx("a",{href:"#",className:"searchstax-suggestion-term",onClick:()=>{d(i==null?void 0:i.spellingSuggestion)},children:i==null?void 0:i.spellingSuggestion}),"?"]})]}),u.jsxs("ul",{children:[u.jsxs("li",{children:[" ","Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need."," "]}),u.jsx("li",{children:"Lost? Click on the ‘X” in the Search Box to reset your search."})]})]}),e&&e.length===0&&a!==""&&a!=="*"&&S.searchstax.dataLayer.parsedData.firstSearchHappened&&n.noResultTemplate&&u.jsx(u.Fragment,{children:n.noResultTemplate(a,i,d)}),e&&e.length>0&&!n.resultsTemplate&&u.jsx("div",{className:"searchstax-search-results",children:e!==null&&e.map(function(g){return u.jsx("a",{href:g.url??"",onClick:m=>{o(g,m)},onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&o(g,m)},tabIndex:0,"data-searchstax-unique-result-id":g.uniqueId,className:"searchstax-result-item-link searchstax-result-item-link-wrapping",children:u.jsxs("div",{className:`searchstax-search-result ${g.thumbnail?"has-thumbnail":""}`,children:[g.promoted&&u.jsx("div",{className:"searchstax-search-result-promoted"}),g.ribbon&&u.jsx("div",{className:"searchstax-search-result-ribbon",dangerouslySetInnerHTML:{__html:g.ribbon}}),g.thumbnail&&u.jsx("img",{src:g.thumbnail,className:"searchstax-thumbnail"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",dangerouslySetInnerHTML:{__html:g.title??""}})}),g.paths&&u.jsx("p",{className:"searchstax-search-result-common",dangerouslySetInnerHTML:{__html:g.paths}}),g.description&&u.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",dangerouslySetInnerHTML:{__html:g.description}}),g.unmappedFields.map(function(m){return u.jsxs("div",{children:[m.isImage&&typeof m.value=="string"&&u.jsx("div",{className:"searchstax-search-result-image-container",children:u.jsx("img",{src:m.value,className:"searchstax-result-image"})}),!m.isImage&&u.jsx("div",{children:u.jsx("p",{className:"searchstax-search-result-common",dangerouslySetInnerHTML:{__html:m.value}})})]},m.key)})]},g.uniqueId)},g.uniqueId)})}),e&&e.length>0&&n.resultsTemplate&&u.jsx(u.Fragment,{children:n.resultsTemplate(e,o)})]})})})})}function Ra(n){let e=!1;const[t,s]=E.useState(!1),[a,r]=E.useState(null),[i]=E.useState(Math.random());E.useEffect(()=>{if(l(),S.searchstax)S.searchstax.addPaginationWidget("searchstax-pagination-container"+i,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(S.searchstax.dataLayer.$searchObject.subscribe(()=>{o()}),S.searchstax.dataLayer.$paginationData.subscribe(g=>{r(g)}),e=!0)}function o(){!t&&S.searchstax.routerHelper&&(s(!0),S.searchstax.addPaginationWidget("searchstax-pagination-container"+i,{}))}function d(g){var m;(m=S.searchstax.searchPaginationWidget)==null||m.nextPage(g)}function v(g){var m;(m=S.searchstax.searchPaginationWidget)==null||m.previousPage(g)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-pagination-container"+i,children:[!n.paginationTemplate&&a&&!a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&u.jsx("div",{className:"searchstax-pagination-container",children:u.jsxs("div",{className:"searchstax-pagination-content",children:[u.jsxs("a",{className:`searchstax-pagination-previous ${a.isFirstPage?"disabled":""}`,style:a!=null&&a.isFirstPage?{pointerEvents:"none"}:{},onClick:g=>{v(g)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&v(g)},tabIndex:0,id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),u.jsxs("div",{className:"searchstax-pagination-details",children:[" ",a==null?void 0:a.startResultIndex," -"," ",a==null?void 0:a.endResultIndex," of"," ",a==null?void 0:a.totalResults]}),u.jsx("a",{className:`searchstax-pagination-next ${a.isLastPage?"disabled":""}`,tabIndex:0,style:a!=null&&a.isLastPage?{pointerEvents:"none"}:{},onClick:g=>{d(g)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&d(g)},id:"searchstax-pagination-next",children:"Next >"})]})}),n.paginationTemplate&&a&&!a.isInfiniteScroll&&u.jsx(u.Fragment,{children:n.paginationTemplate(a,d,v)}),!n.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx("div",{className:"searchstax-pagination-container",children:u.jsx("a",{className:"searchstax-pagination-load-more",tabIndex:0,onClick:g=>{d(g)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&d(g)},children:"Show More"})}),n.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx(u.Fragment,{children:n.infiniteScrollTemplate(a,d)})]})})}function wa(n){let e=!1;const[t,s]=E.useState(null),[a,r]=E.useState(""),[i]=E.useState(Math.random());E.useEffect(()=>{if(l(),S.searchstax)S.searchstax.addSearchSortingWidget("search-sorting-container"+i,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(S.searchstax.dataLayer.$searchSortingData.subscribe(d=>{s(d)}),S.searchstax.dataLayer.$searchObject.subscribe(d=>{r(decodeURIComponent((d==null?void 0:d.order)??""))}),e=!0)}function o(d){var v;(v=S.searchstax.searchSortingWidget)==null||v.setOrderQuery(d)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-sorting-container"+i,children:[!n.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&u.jsxs("div",{className:"searchstax-sorting-container",children:[u.jsx("label",{className:"searchstax-sorting-label",htmlFor:"searchstax-search-order-select",children:"Sort By"}),u.jsx("select",{id:"searchstax-search-order-select",className:"searchstax-search-order-select",value:a,onChange:d=>{o(d.target.value)},children:t.sortOptions.map(function(d){return u.jsx("option",{value:d.key,children:d.value},d.key)})})]}),n.searchSortingTemplate&&u.jsx(u.Fragment,{children:n.searchSortingTemplate(t,o,a)})]})})}function Ea(n){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),S.searchstax)S.searchstax.addSearchFeedbackWidget("search-feedback-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(S.searchstax.dataLayer.$searchFeedbackData.subscribe(l=>{s(l)}),e=!0)}function i(l){var o;(o=S.searchstax.searchFeedbackWidget)==null||o.onOriginalQueryClick(l)}return u.jsx(u.Fragment,{children:u.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+a,children:[!n.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)>0&&u.jsxs(u.Fragment,{children:["Showing"," ",u.jsxs("b",{children:[t.startResultIndex," - ",t.endResultIndex]})," ","of",u.jsxs("b",{children:[" ",t.totalResults]})," results",t.searchTerm&&u.jsxs("span",{children:[' for "',u.jsx("b",{children:t.searchTerm}),'"'," "]}),u.jsx("div",{className:"searchstax-feedback-container-suggested",children:t.autoCorrectedQuery&&u.jsxs("div",{children:[" ","Search instead for"," ",u.jsx("a",{href:"#",onClick:l=>{i(l)},className:"searchstax-feedback-original-query",children:t.originalQuery})]})})]}),n.searchOverviewTemplate&&u.jsx(u.Fragment,{children:n.searchOverviewTemplate(t,i)})]})})}function Ia(n){const[e,t]=E.useState(null),[s,a]=E.useState(null),[r,i]=E.useState([]),[l,o]=E.useState({}),d={},v=Math.random();let g=!1;E.useEffect(()=>{if(m(),S.searchstax)S.searchstax.addFacetsWidget("searchstax-facets-container"+v,{facetingType:n.facetingType,specificFacets:n.specificFacets,itemsPerPageDesktop:n.itemsPerPageDesktop,itemsPerPageMobile:n.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function m(){g||(S.searchstax.dataLayer.$facetsTemplateData.subscribe(f=>{f!=null&&f.isMobile?a(f):t(f)}),S.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(f=>{i((f??[]).filter(O=>O.type==="checkbox"))}),g=!0)}function C(f){var x;(x=S.searchstax.searchFacetsWidget)==null||x.unselectFacet(f)}function I(){var f;(f=S.searchstax.searchFacetsWidget)==null||f.removeSelectedFacets()}function T(f){return!l[f]}function R(f){T(f)?o({...l,[f]:!0}):o({...l,[f]:!1})}function P(f){var x;return(x=S.searchstax.searchFacetsWidget)==null?void 0:x.isChecked(f)}function L(f,x,O,H,Y){var Z;const G=Y?"mobile-":"desktop-",z=document.getElementsByClassName(G+f);z[0]&&((Z=S.searchstax.searchFacetsWidget)==null||Z.onFacetSelect(x,O,z[0],!1,P(O)))}function N(f,x){var O;(O=S.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(f,x,!1)}function q(f,x){var O;(O=S.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(f,x,!0)}function D(){var f;(f=S.searchstax.searchFacetsWidget)==null||f.openOverlay()}function K(){var f;(f=S.searchstax.searchFacetsWidget)==null||f.closeOverlay()}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-facets-container"+v,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!n.facetsTemplateDesktop&&u.jsx("div",{className:"searchstax-facets-container-desktop",children:e==null?void 0:e.facets.map(f=>u.jsx("div",{className:`searchstax-facet-container ${T(f.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{R(f.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",f.label," "]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container",children:[f.values.map((x,O)=>(d[O+f.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${x.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+f.name],children:[u.jsx("div",{className:"searchstax-facet-input desktop-"+O+f.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(x),"aria-label":x.value+" "+x.count,readOnly:!0,disabled:x.disabled,onClick:H=>{L(O+f.name,H,x)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:H=>{L(O+f.name,H,x)},children:x.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:H=>{L(O+f.name,H,x)},children:["(",x.count,")"]})]},x.value+x.parentName))),f.hasMoreFacets&&u.jsx("div",{className:"searchstax-facet-show-more-container",children:u.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:x=>{N(x,f)},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&N(x,f)},children:[f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},f.name+"desktop"))}),n.facetsTemplateDesktop&&u.jsx(u.Fragment,{children:n.facetsTemplateDesktop(e,d,T,R,L,P,N)}),(s==null?void 0:s.hasResultsOrExternalPromotions)&&!n.facetsTemplateMobile&&u.jsx("div",{className:"searchstax-facets-container-mobile",children:u.jsxs("div",{className:"searchstax-facets-pills-container",children:[u.jsx("div",{className:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:()=>{D()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),u.jsxs("div",{className:"searchstax-facets-pills-selected",children:[r.map(f=>u.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{C(f)},children:[u.jsxs("div",{className:"searchstax-facets-pill-label",children:[f.value," (",f.count,")"]}),u.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},f.value)),r.length!==0&&u.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{I()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),u.jsxs("div",{className:`searchstax-facets-mobile-overlay ${s.overlayOpened?"searchstax-show":""}`,children:[u.jsxs("div",{className:"searchstax-facets-mobile-overlay-header",children:[u.jsx("div",{className:"searchstax-facets-mobile-overlay-header-title",children:"Filter By"}),u.jsx("div",{className:"searchstax-search-close",onClick:()=>{K()}})]}),u.jsx("div",{className:"searchstax-facets-container-mobile",children:s==null?void 0:s.facets.map(f=>u.jsx("div",{className:`searchstax-facet-container ${T(f.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{R(f.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",f.label," "]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container",children:[f.values.map((x,O)=>(d[O+f.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${x.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+f.name],children:[u.jsx("div",{className:"searchstax-facet-input mobile-"+O+f.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(x),"aria-label":x.value+" "+x.count,readOnly:!0,disabled:x.disabled,onClick:H=>{L(O+f.name,H,x,!0,!0)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:H=>{L(O+f.name,H,x)},children:x.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:H=>{L(O+f.name,H,x)},children:["(",x.count,")"]})]},x.value+x.parentName))),u.jsx("div",{className:"searchstax-facet-show-more-container","v-if":"facet.hasMoreFacets",children:u.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:x=>{q(x,f)},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&q(x,f)},tabIndex:0,children:[f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},f.name+"mobile"))}),u.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{K()},children:"Done"})]})]})}),n.facetsTemplateMobile&&u.jsx(u.Fragment,{children:n.facetsTemplateMobile(s,r,d,T,R,L,P,C,q,D,K,I)})]})})}function Pa(n){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),S.searchstax)S.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+a,{relatedSearchesURL:n.relatedSearchesURL,relatedSearchesAPIKey:n.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(S.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(l=>{s(l)}),e=!0)}function i(l){var o;(o=S.searchstax.relatedSearchesWidget)==null||o.executeSearch(l)}return u.jsxs(u.Fragment,{children:[!n.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&u.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",u.jsx("span",{id:"searchstax-related-searches"}),t.relatedSearches&&u.jsx("span",{className:"searchstax-related-search",children:t.relatedSearches.map(l=>u.jsxs("span",{onClick:()=>{i(l)},onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&i(l)},tabIndex:0,className:"searchstax-related-search searchstax-related-search-item",children:[" ",l.related_search,!l.last&&u.jsx("span",{children:","})]},l.related_search))})]}),n.searchRelatedSearchesTemplate&&u.jsx(u.Fragment,{children:n.searchRelatedSearchesTemplate(t,i)})]})}function ja(n){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),S.searchstax)S.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(S.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(l=>{s(l)}),e=!0)}function i(l,o){var d;(d=S.searchstax.externalPromotionsWidget)==null||d.trackClick(l,o)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-external-promotions-layout-container"+a,children:[!n.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&u.jsx(u.Fragment,{children:t.externalPromotions.map(l=>u.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[u.jsx("div",{className:"icon-elevated"}),l.url&&u.jsx("a",{href:l.url,onClick:o=>{i(l,o)},className:"searchstax-result-item-link"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",children:l.name})}),l.description&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.description," "]}),l.url&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.url," "]})]},l.id))}),n.searchExternalPromotionsTemplate&&u.jsx(u.Fragment,{children:n.searchExternalPromotionsTemplate(t,i)})]})})}exports.SearchstaxExternalPromotionsWidget=ja;exports.SearchstaxFacetsWidget=Ia;exports.SearchstaxInputWidget=La;exports.SearchstaxOverviewWidget=Ea;exports.SearchstaxPaginationWidget=Ra;exports.SearchstaxRelatedSearchesWidget=Pa;exports.SearchstaxResultWidget=Ta;exports.SearchstaxSortingWidget=wa;exports.SearchstaxWrapper=ka;
|
|
@@ -265,4 +265,4 @@ React keys must be passed directly to JSX without using spread:
|
|
|
265
265
|
</div>
|
|
266
266
|
{{/hasResultsOrExternalPromotions}}
|
|
267
267
|
{{/searchExecuted}}
|
|
268
|
-
`,selectId:"searchstax-search-order-select"}};class b{}h(b,"answer",Ft),h(b,"externalPromotions",Ot),h(b,"facets",At),h(b,"pagination",Mt),h(b,"relatedSearches",Dt),h(b,"searchFeedback",Nt),h(b,"searchInput",_t),h(b,"searchResults",Ht),h(b,"sorting",Wt);class qt{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"externalPromotionsContainerId"),h(this,"searchExternalPromotionsMainContainer",null);var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((s=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:s.externalPromotionsContainerId)||b.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 t,s,a,r;const i=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(i){const l=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.externalPromotion)==null?void 0:a.template)||((r=b.externalPromotions.externalPromotion)==null?void 0:r.template);if(typeof document<"u"){const o=document==null?void 0:document.createElement("div");o.classList.add("searchstax-external-promotion"),o.addEventListener("click",d=>{this.trackClick(e,d)}),o.innerHTML=F.render(l,e),i.appendChild(o)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var t,s,a,r;const i=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.template)||((r=b.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===V.mustache){this.searchExternalPromotionsMainContainer.innerHTML=F.render(i,e);const l=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;l&&(l.innerHTML="");for(const o of e.externalPromotions)this.addExternalSearch(o)}}}class Z{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById("searchAccessibilityContainer")){const e=document.createElement("div");e.setAttribute("aria-live","polite"),e.setAttribute("id","searchAccessibilityContainer"),document.body.appendChild(e)}}static setAccessibilityText(e,t){this.addAccessibilityNotificationContainerToBody();const s=document.getElementById("searchAccessibility");s&&s.remove();const a=document.createElement("span");a.setAttribute("id","searchAccessibility"),a.innerHTML=e;const r=document.getElementById("searchAccessibilityContainer");r&&setTimeout(()=>{r.appendChild(a)},t??100)}}class Bt{constructor(e,t){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"routerHelper"),h(this,"cachedPhrase",""),h(this,"isCached",!1),h(this,"overlayOpened",!1),h(this,"facetPaginationStep"),h(this,"facetPaginationStepMobile"),h(this,"searchFacetsMainContainer",null),h(this,"searchFacetsMobileContainer",null),h(this,"searchFacetsDesktopContainer",null),h(this,"facetLimits",{}),h(this,"facetLimitsMobile",{}),h(this,"deactivatedFacets",{}),h(this,"cachedData",null),h(this,"cacheFacets"),h(this,"onFacetSelect",(s,a,r,i,l)=>{if(s.stopPropagation(),!a.disabled){const o=r.querySelector("input");let d=i?o.checked:!o.checked;l!==void 0&&(d=!l),o.checked=d;const v=this.dataLayer.searchObject;let g=[...v.facets];const m=this.extractFacetValue(a);d?g.find(C=>Y.deepEqual(C,m)?C:!1)||(this.config.facetingType==="tabs"&&(g=g.filter(C=>C.name!==m.name)),g.push(m)):g=g.filter(C=>!Y.deepEqual(C,m)),setTimeout(()=>{this.dataLayer.setSearchObject({...v,facets:g,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 s=t?this.facetPaginationStepMobile:this.facetPaginationStep,a=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{a[r.name]||(a[r.name]=s)}),e.map(r=>({...r,values:r.values.slice(0,a[r.name]),showingAllFacets:r.values.length<=a[r.name],hasMoreFacets:r.values.length>s}))}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(a=>{var r;const i=(r=this.dataLayer.searchFacets)==null?void 0:r.find(l=>l.name===a.name);return i?{...a,values:a.values.map(l=>{const o=i.values.find(d=>l.type==="range"?!1:l.type==="checkbox"?d.value===l.value:!1);return{...l,disabled:!o,isMobile:e}})}:{...a,values:a.values.map(l=>({...l,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(a=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(a.name)}));const s={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(s),s}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,s){var a,r,i,l,o,d,v,g,m,C,I,T;if(typeof document<"u"){const R=document==null?void 0:document.createElement("div");R.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||R.classList.add("active");const P=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:i.template)||((l=b.facets.facetItemContainerTemplate)==null?void 0:l.template);R.innerHTML=F.render(P,e),t.appendChild(R);const L=R.querySelector("."+(((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.facetItemContainerTemplate)==null?void 0:v.facetListTitleContainerClass)||((g=b.facets.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)));L==null||L.addEventListener("click",()=>{R.classList.toggle("active")});const _=R.querySelector("."+(((I=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.facetItemContainerTemplate)==null?void 0:I.facetListContainerClass)||((T=b.facets.facetItemContainerTemplate)==null?void 0:T.facetListContainerClass)));_&&(e.values.forEach(H=>{this.createFacetListItem(H,_,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,_,s))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(s=>Y.deepEqual(s,this.extractFacetValue(e))))}createFacetListItem(e,t,s){var a,r,i,l,o,d,v,g,m,C,I,T;if(typeof document<"u"){const R=document==null?void 0:document.createElement("div");R.classList.add("searchstax-facet-value-container"),e.disabled&&R.classList.add("searchstax-facet-value-disabled");const P=this.isChecked(e),L=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemTemplate)==null?void 0:i.template)||((l=b.facets.facetItemTemplate)==null?void 0:l.template);R.innerHTML=F.render(L,{...e,isChecked:P});let _=(o=b.facets.facetItemTemplate)==null?void 0:o.checkTriggerClasses;_=((g=(v=(d=this.config)==null?void 0:d.templates)==null?void 0:v.facetItemTemplate)==null?void 0:g.checkTriggerClasses)||_,_.forEach(D=>{const K=R.querySelector("."+D);K==null||K.addEventListener("click",f=>{this.onFacetSelect(f,e,R)})});const H=R.querySelector("."+(((I=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.facetItemTemplate)==null?void 0:I.inputCheckboxClass)||((T=b.facets.facetItemTemplate)==null?void 0:T.inputCheckboxClass)));H==null||H.addEventListener("click",D=>{this.onFacetSelect(D,e,R,!0)}),H&&(H==null||H.setAttribute("data-test-value",`${encodeURIComponent(s)}:"${encodeURIComponent(e.value)}"`)),t.appendChild(R)}}createHasMoreComponent(e,t,s){var a,r,i,l,o,d,v,g;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-show-more-container");const C=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:i.template)||((l=b.facets.showMoreButtonContainerTemplate)==null?void 0:l.template);m.innerHTML=F.render(C,e);const I=m.querySelector("."+(((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.showMoreButtonContainerTemplate)==null?void 0:v.showMoreButtonClass)||((g=b.facets.showMoreButtonContainerTemplate)==null?void 0:g.showMoreButtonClass)));I&&(this.attachOnclickToShowMore(e,I,s),t&&t.appendChild(I))}}attachOnclickToShowMore(e,t,s){t.addEventListener("click",a=>{this.onShowMoreLessClick(a,e,s)}),t.addEventListener("keyup",a=>{(a.code==="Space"||a.code==="Enter")&&this.onShowMoreLessClick(a,e,s)})}onShowMoreLessClick(e,t,s){e.preventDefault();const a=s?this.facetPaginationStepMobile:this.facetPaginationStep,r=s?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=a*2:r[t.name]<=t.values.length?(Z.setAccessibilityText(`More Facets shown for ${t.label}`),r[t.name]=r[t.name]+a):(Z.setAccessibilityText(`Less Facets shown for ${t.label}`),r[t.name]=a),this.generateTemplateData(s),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var s,a,r,i,l,o,d,v,g,m,C;if(e&&(!Y.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const I=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.mainTemplateDesktop)==null?void 0:r.template)||((i=b.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===V.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=F.render(I,{...e});const T=(v=this.searchFacetsMainContainer)==null?void 0:v.querySelector("."+(((d=(o=(l=this.config)==null?void 0:l.templates)==null?void 0:o.mainTemplateDesktop)==null?void 0:d.facetsContainerClass)||b.facets.mainTemplateDesktop.facetsContainerClass));if(T){T.innerHTML="";for(const R of e.facets)this.createFacetItem(R,T);if(this.searchFacetsMainContainer){const R=this.searchFacetsMainContainer.querySelector("."+(((C=(m=(g=this.config)==null?void 0:g.templates)==null?void 0:m.mainTemplateDesktop)==null?void 0:C.selectedFacetsContainerClass)||b.facets.mainTemplateDesktop.selectedFacetsContainerClass));R&&(this.createSelectedFacetsComponents(R),this.createClearFacetsComponents(R))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const s of t){const a=decodeURIComponent(s.name),r=decodeURIComponent(s.value);if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,l=i==null?void 0:i.find(o=>o.name===a);if(l){const o=l.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?`"${d.value}"`==`"${r}"`:!1);o&&e.push(o)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(s=>{this.createSelectedFacetsComponent(e,s)})}createClearFacetsComponents(e){var t,s,a,r,i,l,o,d;if(typeof document<"u"){const v=this.dataLayer.searchObject,g=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.clearFacetsTemplate)==null?void 0:a.template)||((r=b.facets.clearFacetsTemplate)==null?void 0:r.template),m=document==null?void 0:document.createElement("div");m.innerHTML=F.render(g,{shouldShow:v.facets.length>0});const C=m.querySelector("."+(((o=(l=(i=this.config)==null?void 0:i.templates)==null?void 0:l.clearFacetsTemplate)==null?void 0:o.containerClass)||((d=b.facets.clearFacetsTemplate)==null?void 0:d.containerClass)));C&&(C.addEventListener("click",()=>{this.removeSelectedFacets()}),C.addEventListener("keyup",I=>{(I.code==="Space"||I.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(C))}}createSelectedFacetsComponent(e,t){var s,a,r,i,l,o,d,v;if(typeof document<"u"){const g=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.selectedFacetsTemplate)==null?void 0:r.template)||((i=b.facets.selectedFacetsTemplate)==null?void 0:i.template),m=document==null?void 0:document.createElement("div");m.innerHTML=F.render(g,t);const C=m.querySelector("."+(((d=(o=(l=this.config)==null?void 0:l.templates)==null?void 0:o.selectedFacetsTemplate)==null?void 0:d.containerClass)||((v=b.facets.selectedFacetsTemplate)==null?void 0:v.containerClass)));C&&(C.addEventListener("click",()=>{this.unselectFacet(t)}),C.addEventListener("keyup",I=>{(I.code==="Space"||I.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(C))}}unselectFacet(e){const t=this.dataLayer.searchObject;let s=[...t.facets];e.type==="checkbox"&&(s=s.filter(a=>JSON.stringify(a)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:s}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,s,a,r,i,l,o,d;if(typeof document<"u"){const v=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.filterByTemplate)==null?void 0:a.template)||((r=b.facets.filterByTemplate)==null?void 0:r.template),g=document==null?void 0:document.createElement("div");g.innerHTML=F.render(v,{});const m=g.querySelector("."+(((o=(l=(i=this.config)==null?void 0:i.templates)==null?void 0:l.filterByTemplate)==null?void 0:o.containerClass)||((d=b.facets.filterByTemplate)==null?void 0:d.containerClass)));m&&(e.prepend(m),m.addEventListener("click",this.openOverlay.bind(this)),m.addEventListener("keyup",C=>{(C.code==="Space"||C.code==="Enter")&&this.openOverlay()}))}}openOverlay(){var e;Z.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;Z.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,s,a,r,i,l,o,d,v,g,m,C,I,T,R,P,L,_,H;if(e&&typeof document<"u"){const D=document==null?void 0:document.createElement("div");D.classList.add("searchstax-facets-container-mobile");const K=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplateMobile)==null?void 0:a.template)||((r=b.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===V.mustache){if(D.innerHTML=F.render(K,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(D),(o=(l=this.config)==null?void 0:l.templates)!=null&&o.mainTemplateMobile)for(const q of((g=(v=(d=this.config)==null?void 0:d.templates)==null?void 0:v.mainTemplateMobile)==null?void 0:g.closeOverlayTriggerClasses)||[]){const X=D.querySelector("."+q);X&&(X.addEventListener("click",this.closeOverlay.bind(this)),X.addEventListener("keyup",ee=>{(ee.code==="Space"||ee.code==="Enter")&&this.closeOverlay()}))}else for(const q of b.facets.mainTemplateMobile.closeOverlayTriggerClasses){const X=D.querySelector("."+q);X&&(X.addEventListener("click",this.closeOverlay.bind(this)),X.addEventListener("keyup",ee=>{(ee.code==="Space"||ee.code==="Enter")&&this.closeOverlay()}))}const f=D.querySelector("."+(((I=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:I.filterByContainerClass)||b.facets.mainTemplateMobile.filterByContainerClass));f&&this.createFilterByComponent(f);const x=D.querySelector("."+(((P=(R=(T=this.config)==null?void 0:T.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:P.selectedFacetsContainerClass)||b.facets.mainTemplateMobile.selectedFacetsContainerClass));x&&(this.createSelectedFacetsComponents(x),this.createClearFacetsComponents(x));const O=D.querySelector("."+(((H=(_=(L=this.config)==null?void 0:L.templates)==null?void 0:_.mainTemplateMobile)==null?void 0:H.facetsContainerClass)||b.facets.mainTemplateMobile.facetsContainerClass));if(O){O.innerHTML="";for(const q of e.facets)this.createFacetItem(q,O,!0)}}}}}class Vt{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"previousButtonClass"),h(this,"nextButtonClass"),h(this,"loadMoreButtonClass"),h(this,"routerHelper"),h(this,"searchPaginationMainContainer",null);var t,s,a,r,i,l,o,d,v;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.previousButtonClass)??b.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((l=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:l.nextButtonClass)??b.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:v.loadMoreButtonClass)??b.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 e,t,s,a;const r={...this.dataLayer.parsedData.data,previousPageLink:(t=this.routerHelper)==null?void 0:t.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(r),r}goToPage(e,t){const s=this.dataLayer.searchObject;s&&(s.page=e,this.dataLayer.setSearchObject(s)),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),s=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&(e.addEventListener("click",this.previousPage.bind(this)),e.addEventListener("keydown",a=>{(a.code==="Space"||a.code==="Enter")&&this.previousPage(a)})),t&&(t.addEventListener("click",this.nextPage.bind(this)),t.addEventListener("keydown",a=>{(a.code==="Space"||a.code==="Enter")&&this.nextPage(a)})),s&&(s.addEventListener("click",this.nextPage.bind(this)),s.addEventListener("keydown",a=>{(a.code==="Space"||a.code==="Enter")&&this.nextPage(a)}))}}renderMainTemplate(e){var t,s,a,r,i,l,o,d,v,g;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));let m=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:i.template)||((l=b.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.isInfiniteScroll&&(m=((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:v.template)||((g=b.pagination.infiniteScrollTemplate)==null?void 0:g.template)),this.dataLayer.renderingEngine===V.mustache&&(this.searchPaginationMainContainer.innerHTML=F.render(m,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class $t{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"relatedSearchesContainerClass"),h(this,"searchRelatedSearchesMainContainer",null),h(this,"track");var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((s=(t=this.config.templates)==null?void 0:t.main)==null?void 0:s.relatedSearchesContainerClass)||b.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 s,a,r,i,l;if(typeof document<"u"){const o=document==null?void 0:document.createElement("div"),d=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.relatedSearch)==null?void 0:r.template)||b.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===V.mustache){o.innerHTML=F.render(d,e);const v=o.querySelector("."+(((l=(i=this.config.templates)==null?void 0:i.relatedSearch)==null?void 0:l.relatedSearchContainerClass)||b.relatedSearches.relatedSearch.relatedSearchContainerClass));v&&(t.appendChild(v),v.addEventListener("click",()=>{this.executeSearch(e)}),v.addEventListener("keyup",g=>{(g.code==="Space"||g.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 t,s,a,r;const i=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.relatedSearches.main.template;if(this.dataLayer.renderingEngine===V.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=F.render(i,e);const l=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(l)for(const o of e.relatedSearches)this.addRelatedSearchComponent(o,l)}}}class Ut{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"searchFeedbackMainContainer",null),h(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 t;e.stopPropagation(),e.preventDefault();const s=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(s,!0)}attachClick(){var e,t,s,a,r;const i=(r=this.searchFeedbackMainContainer)==null?void 0:r.querySelector("."+(((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:s.originalQueryClass)||((a=b.searchFeedback.main)==null?void 0:a.originalQueryClass)));i&&i.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.searchFeedback.main.template;this.dataLayer.renderingEngine===V.mustache&&(this.searchFeedbackMainContainer.innerHTML=F.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class Kt{constructor(e){h(this,"searchHelper"),h(this,"dataLayer"),h(this,"config"),h(this,"suggestAfterMinChars"),h(this,"containerId"),h(this,"currentInputValue",""),h(this,"autosuggestResults"),h(this,"searchInput"),h(this,"actionButton"),h(this,"autosuggestContainer"),h(this,"buttonState","search"),h(this,"selectedAutosuggestItem",-1),h(this,"suggestTrigger"),h(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,s,a;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)||b.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===V.mustache){const d=F.render(i,{});r.innerHTML=d}const l=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.searchInputId)||b.searchInput.mainTemplate.searchInputId,o=document==null?void 0:document.querySelector(`#${l}`);if(o)this.searchInput=o,o.addEventListener("keyup",this.inputKeyupEvent.bind(this)),o.addEventListener("blur",this.hideAutosuggest.bind(this)),o.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===V.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 s=e[t];t===this.selectedAutosuggestItem?(s.classList.add("active"),Z.setAccessibilityText(`Selected suggestion: ${s.innerText}`)):s.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 ae.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,s,a;const r=document==null?void 0:document.createElement("div");r.classList.add("searchstax-autosuggest-item"),r.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),r.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const i=((s=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:s.template)||((a=b.searchInput.autosuggestItemTemplate)==null?void 0:a.template);return r.innerHTML=F.render(i,e),r}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const s=e.suggest[t];for(const a in s)if(Object.prototype.hasOwnProperty.call(s,a)){const r=s[a];r.numFound?Z.setAccessibilityText("Suggestions are available. Use up and down arrows to navigate while focusing input.",2e3):Z.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 Qt{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"linkClickCallback"),h(this,"searchCallback"),h(this,"containerId"),h(this,"searchResultsMainContainer"),h(this,"searchResultsContainer"),h(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(()=>{Z.setAccessibilityText("Searching...")}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var e,t,s,a,r;const i=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:s.template)||((a=b.searchResults.noSearchResultTemplate)==null?void 0:a.template),l=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===V.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=F.render(i,{spellingSuggestion:l,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),l&&this.searchResultsContainer){const o=this.searchResultsContainer.querySelector("a");o&&o.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),this.searchCallback(l)})}}renderResults(e){var t,s,a,r,i;if(this.dataLayer.renderingEngine===V.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)Z.setAccessibilityText("Search has no results"),this.renderNoResultsTemplate();else{Z.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);const l=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.searchResultTemplate)==null?void 0:a.template)||((r=b.searchResults.searchResultTemplate)==null?void 0:r.template),o=e.map(d=>F.render(l,d));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=o.join(""):this.searchResultsContainer.innerHTML=o.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,s,a;return((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)||((a=b.searchResults.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const s=e.getAttribute(this.uniqueIdAttribute)??"";s&&this.linkClickCallback(s)}),e.addEventListener("keydown",t=>{if(t.code==="Space"||t.code==="Enter"){const s=e.getAttribute(this.uniqueIdAttribute)??"";s&&this.linkClickCallback(s)}})})}renderMainTemplate(){var e,t,s,a;const r=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:s.template)||((a=b.searchResults.mainTemplate)==null?void 0:a.template);this.dataLayer.renderingEngine===V.mustache&&(this.searchResultsMainContainer.innerHTML=F.render(r,{}),setTimeout(()=>{var i,l,o,d,v,g,m;const C=(o=(l=(i=this.config)==null?void 0:i.templates)==null?void 0:l.mainTemplate)!=null&&o.searchResultsContainerId?(g=(v=(d=this.config)==null?void 0:d.templates)==null?void 0:v.mainTemplate)==null?void 0:g.searchResultsContainerId:(m=b.searchResults.mainTemplate)==null?void 0:m.searchResultsContainerId,I=document==null?void 0:document.getElementById(C);if(I)this.searchResultsContainer=I;else throw new Error(`Search Results Container with id ${C} not found`)},0))}}class zt{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"selectId"),h(this,"searchSortingMainContainer",null);var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((s=(t=this.config.templates)==null?void 0:t.main)==null?void 0:s.selectId)||b.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 t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.sorting.main.template;if(this.dataLayer.renderingEngine===V.mustache){this.searchSortingMainContainer.innerHTML=F.render(r,e),this.markOptionSelected();const i=document==null?void 0:document.getElementById(this.selectId);i&&i.addEventListener("change",l=>{this.setOrderQuery(l.target.value)})}}}class Jt{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(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 t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.answer.main.template;this.dataLayer.renderingEngine===V.mustache&&(this.answerContainer.innerHTML=F.render(r,e))}}class Yt{constructor(e=V.mustache){h(this,"routerEnabled",!1),h(this,"cachedQuery",""),h(this,"routerHelper"),h(this,"searchHelper"),h(this,"searchResultsConfig"),h(this,"searchPaginationConfig"),h(this,"searchFeedbackConfig"),h(this,"searchSortingConfig"),h(this,"searchFacetsConfig"),h(this,"relatedSearchesConfig"),h(this,"externalPromotionsConfig"),h(this,"searchInputWidget"),h(this,"searchResultsWidget"),h(this,"searchFacetsWidget"),h(this,"searchPaginationWidget"),h(this,"searchFeedbackWidget"),h(this,"searchSortingWidget"),h(this,"relatedSearchesWidget"),h(this,"externalPromotionsWidget"),h(this,"answerWidget"),h(this,"dataLayer"),h(this,"firstRequest",!0),h(this,"renderEngine",V.mustache),e&&(this.renderEngine=e)}setRenderingEngine(e=V.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(s=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(s)}),this.dataLayer.$searchObject.subscribe(s=>{var a;s.query!==""&&s.query!==void 0&&s.query!=="undefined"&&(this.search(s),this.dataLayer.turnAIAnswerGenerationOn===!0&&((a=this.searchHelper)==null||a.startSSE(s.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(s=>{s&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ie.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 s=document.createElement("script");s.type="text/javascript",s.src=t;var a=document.getElementsByTagName("script")[0];a.parentNode&&a.parentNode.insertBefore(s,a)}initialize(e){var t,s;if(this.dataLayer=new gt("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 mt({...e,sessionId:this.dataLayer.sessionId},this.dataLayer),this.dataLayer.searchHelper=this.searchHelper),((t=e.router)==null?void 0:t.enabled)===void 0||((s=e.router)==null?void 0:s.enabled)===!0){this.routerEnabled=!0,this.routerHelper=new Ne(e.router?e.router:{enabled:!0});const a=this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"");this.dataLayer.searchObject.itemsPerPage&&(a.itemsPerPage=this.dataLayer.searchObject.itemsPerPage),this.dataLayer.setSearchObject(a),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 Ne({})}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 t;const s=(((t=e.response)==null?void 0:t.docs)??[]).map((r,i)=>({...r,position:i+1})),a=[];for(const r of s)a.push({relatedSearch:r.related_search,position:r.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ie.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:a}),this.dataLayer.setSearchRelatedSearches(s)}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponse(e){var t,s;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows));let a=de.combineResultsWithMetadata(e),r=de.extractFacets(e);this.dataLayer.setSearchFacets(r),(s=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&s.afterSearch&&(a=this.dataLayer.searchstaxConfig.hooks.afterSearch(a)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const i=de.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(i),this.dataLayer.setSearchResults(a)}parseAnswerResultsResponse(e){this.handleRouter(),e!==re.question&&e!==re.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,s;let a=e;(s=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&s.afterAutosuggest&&(a=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(a)}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 Kt({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 Jt({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Qt({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 Vt({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Ut({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new zt({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new $t({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 qt({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Bt({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var s,a;const r={...this.dataLayer.searchObject};r.query=ae.removeXSSRiskyTags(e),r.page=1,r.facets=[],this.dataLayer.forceNotCorrect=!!t;let i=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(r);i&&(i=(a=this.routerHelper)==null?void 0:a.extractParamsThatDoNotStartWithRouteName(i)),i&&(r.additionalProps=Object.keys(i).map(l=>i?{key:l,value:i[l]}:{key:"",value:""})),this.dataLayer.setSearchObject(r),this.dataLayer.lastSearchValue=r.query}executeSuggest(e){var t,s;let a={term:e,queryParams:[]};(s=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&s.beforeAutosuggest&&(a=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(a)),a&&a.term!==void 0&&a.queryParams!==void 0&&this.suggest(a.term,a.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&ie.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,s;let a=de.findResultByUniqueId(e,this.dataLayer.searchResults??[]);a&&((s=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&s.afterLinkClick&&(a=this.searchResultsConfig.hooks.afterLinkClick(a)),a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ie.trackClick({result:a,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(a==null?void 0:a.url)??"")}).catch(()=>{}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){var t,s,a;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(s=this.searchResultsConfig)==null?void 0:s.templates,...e}:e,(a=this.searchResultsWidget)==null||a.changeTemplate())}}const S={searchstax:new Yt("react")};function Xt(n){let e=!1;const[t,s]=E.useState([]);E.useEffect(()=>{if(a(),S.searchstax){const o={};n.afterAutosuggest&&(o.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(o.beforeAutosuggest=n.beforeAutosuggest),S.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:n.suggestAfterMinChars,hooks:o,templates:{mainTemplate:{template:"",searchInputId:n.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")},[]);function a(){e||(S.searchstax.dataLayer.$autosuggestResults.subscribe(o=>{s((o==null?void 0:o.suggestions)??[])}),e=!0)}function r(){var o,d;(o=S.searchstax.searchInputWidget)==null||o.resetAutosuggestSelection(),(d=S.searchstax.searchInputWidget)==null||d.markActiveAutosuggestItem()}function i(o){var d;(d=S.searchstax.searchInputWidget)==null||d.onSuggestionEnter(o)}function l(){var o;(o=S.searchstax.searchInputWidget)==null||o.suggestionChosen()}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-input-container",children:u.jsxs("div",{className:"searchstax-search-input-container",children:[!n.inputTemplate&&u.jsxs("div",{className:"searchstax-search-input-wrapper",children:[u.jsx("input",{type:"text",id:"searchstax-search-input",className:"searchstax-search-input",placeholder:"SEARCH FOR...","aria-label":"search"}),u.jsx("div",{className:`searchstax-autosuggest-container ${t.length===0?"hidden":""}`,onMouseLeave:r,children:t.map(function(o){return u.jsx("div",{className:"searchstax-autosuggest-item",children:u.jsx("div",{className:"searchstax-autosuggest-item-term-container",tabIndex:0,dangerouslySetInnerHTML:{__html:o.term},onMouseOver:()=>{i(o)},onClick:()=>{l()}})},o.term)})}),u.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button","aria-label":"search"})]}),n.inputTemplate&&u.jsx(u.Fragment,{children:n.inputTemplate(t,r,i,l)})]})})})}function Gt(n){const[e,t]=E.useState(!1);return E.useEffect(()=>{const s={};n.beforeSearch&&(s.beforeSearch=n.beforeSearch),n!=null&&n.afterSearch&&(s.afterSearch=n.afterSearch),S.searchstax.initialize({language:n.language??"en",sessionId:n.sessionId,searchURL:n.searchURL,suggesterURL:n.suggesterURL,trackApiKey:n.trackApiKey,searchAuth:n.searchAuth,authType:n.authType??"basic",autoCorrect:n.autoCorrect,router:n.router,hooks:s,analyticsBaseUrl:n.analyticsBaseUrl,analyticsSrc:n.analyticsSrc}),setTimeout(()=>{t(!0)},100),n.initialized(S.searchstax)},[n.initialized]),u.jsx(u.Fragment,{children:e&&u.jsxs(u.Fragment,{children:[" ",n.children," "]})})}function Zt(n){const[e,t]=E.useState(null),s=E.useRef();s.current=e;const[a,r]=E.useState(""),[i,l]=E.useState(null),o=(g,m)=>{m.preventDefault(),m.stopPropagation(),S.searchstax.executeLinkClick(g.uniqueId)};E.useEffect(()=>{v();const g={};n.afterLinkClick&&(g.afterLinkClick=n.afterLinkClick),S.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},renderMethod:n.renderMethod??"pagination",hooks:g})},[]);function d(g){S.searchstax.executeSearch(g)}function v(){S.searchstax.dataLayer.$searchResults.subscribe(g=>{var T;const m=s.current??[],C=g??[],I=n.renderMethod==="infiniteScroll"?[...m,...C]:g;((T=S.searchstax.dataLayer.$searchObject.value)==null?void 0:T.page)===1?t(C):t(I)}),S.searchstax.dataLayer.$searchTermChange.subscribe(g=>{r(g)}),S.searchstax.dataLayer.$searchResultsMetadata.subscribe(g=>{l(g)})}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-results-container",children:u.jsx("div",{className:"searchstax-search-results-container",children:u.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&a!==""&&a!=="*"&&S.searchstax.dataLayer.parsedData.firstSearchHappened&&!n.noResultTemplate&&u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",u.jsx("strong",{children:"no results"})," for"," ",u.jsxs("strong",{children:['"',a,'"']}),u.jsx("br",{}),(i==null?void 0:i.spellingSuggestion)&&u.jsxs("span",{children:[" Did you mean"," ",u.jsx("a",{href:"#",className:"searchstax-suggestion-term",onClick:()=>{d(i==null?void 0:i.spellingSuggestion)},children:i==null?void 0:i.spellingSuggestion}),"?"]})]}),u.jsxs("ul",{children:[u.jsxs("li",{children:[" ","Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need."," "]}),u.jsx("li",{children:"Lost? Click on the ‘X” in the Search Box to reset your search."})]})]}),e&&e.length===0&&a!==""&&a!=="*"&&S.searchstax.dataLayer.parsedData.firstSearchHappened&&n.noResultTemplate&&u.jsx(u.Fragment,{children:n.noResultTemplate(a,i,d)}),e&&e.length>0&&!n.resultsTemplate&&u.jsx("div",{className:"searchstax-search-results",children:e!==null&&e.map(function(g){return u.jsx("a",{href:g.url??"",onClick:m=>{o(g,m)},onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&o(g,m)},tabIndex:0,"data-searchstax-unique-result-id":g.uniqueId,className:"searchstax-result-item-link searchstax-result-item-link-wrapping",children:u.jsxs("div",{className:`searchstax-search-result ${g.thumbnail?"has-thumbnail":""}`,children:[g.promoted&&u.jsx("div",{className:"searchstax-search-result-promoted"}),g.ribbon&&u.jsx("div",{className:"searchstax-search-result-ribbon",dangerouslySetInnerHTML:{__html:g.ribbon}}),g.thumbnail&&u.jsx("img",{src:g.thumbnail,className:"searchstax-thumbnail"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",dangerouslySetInnerHTML:{__html:g.title??""}})}),g.paths&&u.jsx("p",{className:"searchstax-search-result-common",dangerouslySetInnerHTML:{__html:g.paths}}),g.description&&u.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",dangerouslySetInnerHTML:{__html:g.description}}),g.unmappedFields.map(function(m){return u.jsxs("div",{children:[m.isImage&&typeof m.value=="string"&&u.jsx("div",{className:"searchstax-search-result-image-container",children:u.jsx("img",{src:m.value,className:"searchstax-result-image"})}),!m.isImage&&u.jsx("div",{children:u.jsx("p",{className:"searchstax-search-result-common",dangerouslySetInnerHTML:{__html:m.value}})})]},m.key)})]},g.uniqueId)},g.uniqueId)})}),e&&e.length>0&&n.resultsTemplate&&u.jsx(u.Fragment,{children:n.resultsTemplate(e,o)})]})})})})}function ea(n){let e=!1;const[t,s]=E.useState(!1),[a,r]=E.useState(null),[i]=E.useState(Math.random());E.useEffect(()=>{if(l(),S.searchstax)S.searchstax.addPaginationWidget("searchstax-pagination-container"+i,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(S.searchstax.dataLayer.$searchObject.subscribe(()=>{o()}),S.searchstax.dataLayer.$paginationData.subscribe(g=>{r(g)}),e=!0)}function o(){!t&&S.searchstax.routerHelper&&(s(!0),S.searchstax.addPaginationWidget("searchstax-pagination-container"+i,{}))}function d(g){var m;(m=S.searchstax.searchPaginationWidget)==null||m.nextPage(g)}function v(g){var m;(m=S.searchstax.searchPaginationWidget)==null||m.previousPage(g)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-pagination-container"+i,children:[!n.paginationTemplate&&a&&!a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&u.jsx("div",{className:"searchstax-pagination-container",children:u.jsxs("div",{className:"searchstax-pagination-content",children:[u.jsxs("a",{className:`searchstax-pagination-previous ${a.isFirstPage?"disabled":""}`,style:a!=null&&a.isFirstPage?{pointerEvents:"none"}:{},onClick:g=>{v(g)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&v(g)},tabIndex:0,id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),u.jsxs("div",{className:"searchstax-pagination-details",children:[" ",a==null?void 0:a.startResultIndex," -"," ",a==null?void 0:a.endResultIndex," of"," ",a==null?void 0:a.totalResults]}),u.jsx("a",{className:`searchstax-pagination-next ${a.isLastPage?"disabled":""}`,tabIndex:0,style:a!=null&&a.isLastPage?{pointerEvents:"none"}:{},onClick:g=>{d(g)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&d(g)},id:"searchstax-pagination-next",children:"Next >"})]})}),n.paginationTemplate&&a&&!a.isInfiniteScroll&&u.jsx(u.Fragment,{children:n.paginationTemplate(a,d,v)}),!n.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx("div",{className:"searchstax-pagination-container",children:u.jsx("a",{className:"searchstax-pagination-load-more",tabIndex:0,onClick:g=>{d(g)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&d(g)},children:"Show More"})}),n.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx(u.Fragment,{children:n.infiniteScrollTemplate(a,d)})]})})}function ta(n){let e=!1;const[t,s]=E.useState(null),[a,r]=E.useState(""),[i]=E.useState(Math.random());E.useEffect(()=>{if(l(),S.searchstax)S.searchstax.addSearchSortingWidget("search-sorting-container"+i,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(S.searchstax.dataLayer.$searchSortingData.subscribe(d=>{s(d)}),S.searchstax.dataLayer.$searchObject.subscribe(d=>{r(decodeURIComponent((d==null?void 0:d.order)??""))}),e=!0)}function o(d){var v;(v=S.searchstax.searchSortingWidget)==null||v.setOrderQuery(d)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-sorting-container"+i,children:[!n.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&u.jsxs("div",{className:"searchstax-sorting-container",children:[u.jsx("label",{className:"searchstax-sorting-label",htmlFor:"searchstax-search-order-select",children:"Sort By"}),u.jsx("select",{id:"searchstax-search-order-select",className:"searchstax-search-order-select",value:a,onChange:d=>{o(d.target.value)},children:t.sortOptions.map(function(d){return u.jsx("option",{value:d.key,children:d.value},d.key)})})]}),n.searchSortingTemplate&&u.jsx(u.Fragment,{children:n.searchSortingTemplate(t,o,a)})]})})}function aa(n){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),S.searchstax)S.searchstax.addSearchFeedbackWidget("search-feedback-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(S.searchstax.dataLayer.$searchFeedbackData.subscribe(l=>{s(l)}),e=!0)}function i(l){var o;(o=S.searchstax.searchFeedbackWidget)==null||o.onOriginalQueryClick(l)}return u.jsx(u.Fragment,{children:u.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+a,children:[!n.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)>0&&u.jsxs(u.Fragment,{children:["Showing"," ",u.jsxs("b",{children:[t.startResultIndex," - ",t.endResultIndex]})," ","of",u.jsxs("b",{children:[" ",t.totalResults]})," results",t.searchTerm&&u.jsxs("span",{children:[' for "',u.jsx("b",{children:t.searchTerm}),'"'," "]}),u.jsx("div",{className:"searchstax-feedback-container-suggested",children:t.autoCorrectedQuery&&u.jsxs("div",{children:[" ","Search instead for"," ",u.jsx("a",{href:"#",onClick:l=>{i(l)},className:"searchstax-feedback-original-query",children:t.originalQuery})]})})]}),n.searchOverviewTemplate&&u.jsx(u.Fragment,{children:n.searchOverviewTemplate(t,i)})]})})}function sa(n){const[e,t]=E.useState(null),[s,a]=E.useState(null),[r,i]=E.useState([]),[l,o]=E.useState({}),d={},v=Math.random();let g=!1;E.useEffect(()=>{if(m(),S.searchstax)S.searchstax.addFacetsWidget("searchstax-facets-container"+v,{facetingType:n.facetingType,specificFacets:n.specificFacets,itemsPerPageDesktop:n.itemsPerPageDesktop,itemsPerPageMobile:n.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function m(){g||(S.searchstax.dataLayer.$facetsTemplateData.subscribe(f=>{f!=null&&f.isMobile?a(f):t(f)}),S.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(f=>{i((f??[]).filter(O=>O.type==="checkbox"))}),g=!0)}function C(f){var x;(x=S.searchstax.searchFacetsWidget)==null||x.unselectFacet(f)}function I(){var f;(f=S.searchstax.searchFacetsWidget)==null||f.removeSelectedFacets()}function T(f){return!l[f]}function R(f){T(f)?o({...l,[f]:!0}):o({...l,[f]:!1})}function P(f){var x;return(x=S.searchstax.searchFacetsWidget)==null?void 0:x.isChecked(f)}function L(f,x,O,q,X){var te;const ee=X?"mobile-":"desktop-",z=document.getElementsByClassName(ee+f);z[0]&&((te=S.searchstax.searchFacetsWidget)==null||te.onFacetSelect(x,O,z[0],!1,P(O)))}function _(f,x){var O;(O=S.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(f,x,!1)}function H(f,x){var O;(O=S.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(f,x,!0)}function D(){var f;(f=S.searchstax.searchFacetsWidget)==null||f.openOverlay()}function K(){var f;(f=S.searchstax.searchFacetsWidget)==null||f.closeOverlay()}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-facets-container"+v,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!n.facetsTemplateDesktop&&u.jsx("div",{className:"searchstax-facets-container-desktop",children:e==null?void 0:e.facets.map(f=>u.jsx("div",{className:`searchstax-facet-container ${T(f.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{R(f.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",f.label," "]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container",children:[f.values.map((x,O)=>(d[O+f.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${x.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+f.name],children:[u.jsx("div",{className:"searchstax-facet-input desktop-"+O+f.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(x),"aria-label":x.value+" "+x.count,readOnly:!0,disabled:x.disabled,onClick:q=>{L(O+f.name,q,x)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:q=>{L(O+f.name,q,x)},children:x.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:q=>{L(O+f.name,q,x)},children:["(",x.count,")"]})]},x.value+x.parentName))),f.hasMoreFacets&&u.jsx("div",{className:"searchstax-facet-show-more-container",children:u.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:x=>{_(x,f)},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&_(x,f)},children:[f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},f.name+"desktop"))}),n.facetsTemplateDesktop&&u.jsx(u.Fragment,{children:n.facetsTemplateDesktop(e,d,T,R,L,P,_)}),(s==null?void 0:s.hasResultsOrExternalPromotions)&&!n.facetsTemplateMobile&&u.jsx("div",{className:"searchstax-facets-container-mobile",children:u.jsxs("div",{className:"searchstax-facets-pills-container",children:[u.jsx("div",{className:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:()=>{D()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),u.jsxs("div",{className:"searchstax-facets-pills-selected",children:[r.map(f=>u.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{C(f)},children:[u.jsxs("div",{className:"searchstax-facets-pill-label",children:[f.value," (",f.count,")"]}),u.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},f.value)),r.length!==0&&u.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{I()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),u.jsxs("div",{className:`searchstax-facets-mobile-overlay ${s.overlayOpened?"searchstax-show":""}`,children:[u.jsxs("div",{className:"searchstax-facets-mobile-overlay-header",children:[u.jsx("div",{className:"searchstax-facets-mobile-overlay-header-title",children:"Filter By"}),u.jsx("div",{className:"searchstax-search-close",onClick:()=>{K()}})]}),u.jsx("div",{className:"searchstax-facets-container-mobile",children:s==null?void 0:s.facets.map(f=>u.jsx("div",{className:`searchstax-facet-container ${T(f.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{R(f.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",f.label," "]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container",children:[f.values.map((x,O)=>(d[O+f.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${x.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+f.name],children:[u.jsx("div",{className:"searchstax-facet-input mobile-"+O+f.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(x),"aria-label":x.value+" "+x.count,readOnly:!0,disabled:x.disabled,onClick:q=>{L(O+f.name,q,x,!0,!0)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:q=>{L(O+f.name,q,x)},children:x.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:q=>{L(O+f.name,q,x)},children:["(",x.count,")"]})]},x.value+x.parentName))),u.jsx("div",{className:"searchstax-facet-show-more-container","v-if":"facet.hasMoreFacets",children:u.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:x=>{H(x,f)},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&H(x,f)},tabIndex:0,children:[f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},f.name+"mobile"))}),u.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{K()},children:"Done"})]})]})}),n.facetsTemplateMobile&&u.jsx(u.Fragment,{children:n.facetsTemplateMobile(s,r,d,T,R,L,P,C,H,D,K,I)})]})})}function ra(n){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),S.searchstax)S.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+a,{relatedSearchesURL:n.relatedSearchesURL,relatedSearchesAPIKey:n.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(S.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(l=>{s(l)}),e=!0)}function i(l){var o;(o=S.searchstax.relatedSearchesWidget)==null||o.executeSearch(l)}return u.jsxs(u.Fragment,{children:[!n.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&u.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",u.jsx("span",{id:"searchstax-related-searches"}),t.relatedSearches&&u.jsx("span",{className:"searchstax-related-search",children:t.relatedSearches.map(l=>u.jsxs("span",{onClick:()=>{i(l)},onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&i(l)},tabIndex:0,className:"searchstax-related-search searchstax-related-search-item",children:[" ",l.related_search,!l.last&&u.jsx("span",{children:","})]},l.related_search))})]}),n.searchRelatedSearchesTemplate&&u.jsx(u.Fragment,{children:n.searchRelatedSearchesTemplate(t,i)})]})}function ia(n){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),S.searchstax)S.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(S.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(l=>{s(l)}),e=!0)}function i(l,o){var d;(d=S.searchstax.externalPromotionsWidget)==null||d.trackClick(l,o)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-external-promotions-layout-container"+a,children:[!n.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&u.jsx(u.Fragment,{children:t.externalPromotions.map(l=>u.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[u.jsx("div",{className:"icon-elevated"}),l.url&&u.jsx("a",{href:l.url,onClick:o=>{i(l,o)},className:"searchstax-result-item-link"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",children:l.name})}),l.description&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.description," "]}),l.url&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.url," "]})]},l.id))}),n.searchExternalPromotionsTemplate&&u.jsx(u.Fragment,{children:n.searchExternalPromotionsTemplate(t,i)})]})})}G.SearchstaxExternalPromotionsWidget=ia,G.SearchstaxFacetsWidget=sa,G.SearchstaxInputWidget=Xt,G.SearchstaxOverviewWidget=aa,G.SearchstaxPaginationWidget=ea,G.SearchstaxRelatedSearchesWidget=ra,G.SearchstaxResultWidget=Zt,G.SearchstaxSortingWidget=ta,G.SearchstaxWrapper=Gt,Object.defineProperty(G,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxReact"]=this["@searchstaxInc/searchstudioUxReact"]||{},React);
|
|
268
|
+
`,selectId:"searchstax-search-order-select"}};class b{}h(b,"answer",Ft),h(b,"externalPromotions",Ot),h(b,"facets",At),h(b,"pagination",Mt),h(b,"relatedSearches",Dt),h(b,"searchFeedback",Nt),h(b,"searchInput",_t),h(b,"searchResults",Ht),h(b,"sorting",Wt);class qt{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"externalPromotionsContainerId"),h(this,"searchExternalPromotionsMainContainer",null);var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((s=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:s.externalPromotionsContainerId)||b.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 t,s,a,r;const i=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(i){const l=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.externalPromotion)==null?void 0:a.template)||((r=b.externalPromotions.externalPromotion)==null?void 0:r.template);if(typeof document<"u"){const o=document==null?void 0:document.createElement("div");o.classList.add("searchstax-external-promotion"),o.addEventListener("click",d=>{this.trackClick(e,d)}),o.innerHTML=F.render(l,e),i.appendChild(o)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var t,s,a,r;const i=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.template)||((r=b.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===V.mustache){this.searchExternalPromotionsMainContainer.innerHTML=F.render(i,e);const l=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;l&&(l.innerHTML="");for(const o of e.externalPromotions)this.addExternalSearch(o)}}}class Z{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById("searchAccessibilityContainer")){const e=document.createElement("div");e.setAttribute("aria-live","polite"),e.setAttribute("id","searchAccessibilityContainer"),document.body.appendChild(e)}}static setAccessibilityText(e,t){this.addAccessibilityNotificationContainerToBody();const s=document.getElementById("searchAccessibility");s&&s.remove();const a=document.createElement("span");a.setAttribute("id","searchAccessibility"),a.innerHTML=e;const r=document.getElementById("searchAccessibilityContainer");r&&setTimeout(()=>{r.appendChild(a)},t??100)}}class Bt{constructor(e,t){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"routerHelper"),h(this,"cachedPhrase",""),h(this,"isCached",!1),h(this,"overlayOpened",!1),h(this,"facetPaginationStep"),h(this,"facetPaginationStepMobile"),h(this,"searchFacetsMainContainer",null),h(this,"searchFacetsMobileContainer",null),h(this,"searchFacetsDesktopContainer",null),h(this,"facetLimits",{}),h(this,"facetLimitsMobile",{}),h(this,"deactivatedFacets",{}),h(this,"cachedData",null),h(this,"cacheFacets"),h(this,"onFacetSelect",(s,a,r,i,l)=>{if(s.stopPropagation(),!a.disabled){const o=r.querySelector("input");let d=i?o.checked:!o.checked;l!==void 0&&(d=!l),o.checked=d;const v=this.dataLayer.searchObject;let g=[...v.facets];const m=this.extractFacetValue(a);d?g.find(C=>Y.deepEqual(C,m)?C:!1)||(this.config.facetingType==="tabs"&&(g=g.filter(C=>C.name!==m.name)),g.push(m)):g=g.filter(C=>!Y.deepEqual(C,m)),setTimeout(()=>{this.dataLayer.setSearchObject({...v,facets:g,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 s=t?this.facetPaginationStepMobile:this.facetPaginationStep,a=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{a[r.name]||(a[r.name]=s)}),e.map(r=>({...r,values:r.values.slice(0,a[r.name]),showingAllFacets:r.values.length<=a[r.name],hasMoreFacets:r.values.length>s}))}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(a=>{var r;const i=(r=this.dataLayer.searchFacets)==null?void 0:r.find(l=>l.name===a.name);return i?{...a,values:a.values.map(l=>{const o=i.values.find(d=>l.type==="range"?!1:l.type==="checkbox"?d.value===l.value:!1);return{...l,disabled:!o,isMobile:e}})}:{...a,values:a.values.map(l=>({...l,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(a=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(a.name)}));const s={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(s),s}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,s){var a,r,i,l,o,d,v,g,m,C,I,T;if(typeof document<"u"){const R=document==null?void 0:document.createElement("div");R.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||R.classList.add("active");const P=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:i.template)||((l=b.facets.facetItemContainerTemplate)==null?void 0:l.template);R.innerHTML=F.render(P,e),t.appendChild(R);const L=R.querySelector("."+(((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.facetItemContainerTemplate)==null?void 0:v.facetListTitleContainerClass)||((g=b.facets.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)));L==null||L.addEventListener("click",()=>{R.classList.toggle("active")});const _=R.querySelector("."+(((I=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.facetItemContainerTemplate)==null?void 0:I.facetListContainerClass)||((T=b.facets.facetItemContainerTemplate)==null?void 0:T.facetListContainerClass)));_&&(e.values.forEach(H=>{this.createFacetListItem(H,_,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,_,s))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(s=>Y.deepEqual(s,this.extractFacetValue(e))))}createFacetListItem(e,t,s){var a,r,i,l,o,d,v,g,m,C,I,T;if(typeof document<"u"){const R=document==null?void 0:document.createElement("div");R.classList.add("searchstax-facet-value-container"),e.disabled&&R.classList.add("searchstax-facet-value-disabled");const P=this.isChecked(e),L=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemTemplate)==null?void 0:i.template)||((l=b.facets.facetItemTemplate)==null?void 0:l.template);R.innerHTML=F.render(L,{...e,isChecked:P});let _=(o=b.facets.facetItemTemplate)==null?void 0:o.checkTriggerClasses;_=((g=(v=(d=this.config)==null?void 0:d.templates)==null?void 0:v.facetItemTemplate)==null?void 0:g.checkTriggerClasses)||_,_.forEach(D=>{const K=R.querySelector("."+D);K==null||K.addEventListener("click",f=>{this.onFacetSelect(f,e,R)})});const H=R.querySelector("."+(((I=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.facetItemTemplate)==null?void 0:I.inputCheckboxClass)||((T=b.facets.facetItemTemplate)==null?void 0:T.inputCheckboxClass)));H==null||H.addEventListener("click",D=>{this.onFacetSelect(D,e,R,!0)}),H&&(H==null||H.setAttribute("data-test-value",`${encodeURIComponent(s)}:"${encodeURIComponent(e.value)}"`)),t.appendChild(R)}}createHasMoreComponent(e,t,s){var a,r,i,l,o,d,v,g;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-show-more-container");const C=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:i.template)||((l=b.facets.showMoreButtonContainerTemplate)==null?void 0:l.template);m.innerHTML=F.render(C,e);const I=m.querySelector("."+(((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.showMoreButtonContainerTemplate)==null?void 0:v.showMoreButtonClass)||((g=b.facets.showMoreButtonContainerTemplate)==null?void 0:g.showMoreButtonClass)));I&&(this.attachOnclickToShowMore(e,I,s),t&&t.appendChild(I))}}attachOnclickToShowMore(e,t,s){t.addEventListener("click",a=>{this.onShowMoreLessClick(a,e,s)}),t.addEventListener("keyup",a=>{(a.code==="Space"||a.code==="Enter")&&this.onShowMoreLessClick(a,e,s)})}onShowMoreLessClick(e,t,s){e.preventDefault();const a=s?this.facetPaginationStepMobile:this.facetPaginationStep,r=s?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=a*2:r[t.name]<=t.values.length?(Z.setAccessibilityText(`More Facets shown for ${t.label}`),r[t.name]=r[t.name]+a):(Z.setAccessibilityText(`Less Facets shown for ${t.label}`),r[t.name]=a),this.generateTemplateData(s),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var s,a,r,i,l,o,d,v,g,m,C;if(e&&(!Y.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const I=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.mainTemplateDesktop)==null?void 0:r.template)||((i=b.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===V.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=F.render(I,{...e});const T=(v=this.searchFacetsMainContainer)==null?void 0:v.querySelector("."+(((d=(o=(l=this.config)==null?void 0:l.templates)==null?void 0:o.mainTemplateDesktop)==null?void 0:d.facetsContainerClass)||b.facets.mainTemplateDesktop.facetsContainerClass));if(T){T.innerHTML="";for(const R of e.facets)this.createFacetItem(R,T);if(this.searchFacetsMainContainer){const R=this.searchFacetsMainContainer.querySelector("."+(((C=(m=(g=this.config)==null?void 0:g.templates)==null?void 0:m.mainTemplateDesktop)==null?void 0:C.selectedFacetsContainerClass)||b.facets.mainTemplateDesktop.selectedFacetsContainerClass));R&&(this.createSelectedFacetsComponents(R),this.createClearFacetsComponents(R))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const s of t){const a=decodeURIComponent(s.name),r=decodeURIComponent(s.value);if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,l=i==null?void 0:i.find(o=>o.name===a);if(l){const o=l.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?`"${d.value}"`==`"${r}"`:!1);o&&e.push(o)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(s=>{this.createSelectedFacetsComponent(e,s)})}createClearFacetsComponents(e){var t,s,a,r,i,l,o,d;if(typeof document<"u"){const v=this.dataLayer.searchObject,g=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.clearFacetsTemplate)==null?void 0:a.template)||((r=b.facets.clearFacetsTemplate)==null?void 0:r.template),m=document==null?void 0:document.createElement("div");m.innerHTML=F.render(g,{shouldShow:v.facets.length>0});const C=m.querySelector("."+(((o=(l=(i=this.config)==null?void 0:i.templates)==null?void 0:l.clearFacetsTemplate)==null?void 0:o.containerClass)||((d=b.facets.clearFacetsTemplate)==null?void 0:d.containerClass)));C&&(C.addEventListener("click",()=>{this.removeSelectedFacets()}),C.addEventListener("keyup",I=>{(I.code==="Space"||I.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(C))}}createSelectedFacetsComponent(e,t){var s,a,r,i,l,o,d,v;if(typeof document<"u"){const g=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.selectedFacetsTemplate)==null?void 0:r.template)||((i=b.facets.selectedFacetsTemplate)==null?void 0:i.template),m=document==null?void 0:document.createElement("div");m.innerHTML=F.render(g,t);const C=m.querySelector("."+(((d=(o=(l=this.config)==null?void 0:l.templates)==null?void 0:o.selectedFacetsTemplate)==null?void 0:d.containerClass)||((v=b.facets.selectedFacetsTemplate)==null?void 0:v.containerClass)));C&&(C.addEventListener("click",()=>{this.unselectFacet(t)}),C.addEventListener("keyup",I=>{(I.code==="Space"||I.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(C))}}unselectFacet(e){const t=this.dataLayer.searchObject;let s=[...t.facets];e.type==="checkbox"&&(s=s.filter(a=>JSON.stringify(a)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:s}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,s,a,r,i,l,o,d;if(typeof document<"u"){const v=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.filterByTemplate)==null?void 0:a.template)||((r=b.facets.filterByTemplate)==null?void 0:r.template),g=document==null?void 0:document.createElement("div");g.innerHTML=F.render(v,{});const m=g.querySelector("."+(((o=(l=(i=this.config)==null?void 0:i.templates)==null?void 0:l.filterByTemplate)==null?void 0:o.containerClass)||((d=b.facets.filterByTemplate)==null?void 0:d.containerClass)));m&&(e.prepend(m),m.addEventListener("click",this.openOverlay.bind(this)),m.addEventListener("keyup",C=>{(C.code==="Space"||C.code==="Enter")&&this.openOverlay()}))}}openOverlay(){var e;Z.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;Z.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,s,a,r,i,l,o,d,v,g,m,C,I,T,R,P,L,_,H;if(e&&typeof document<"u"){const D=document==null?void 0:document.createElement("div");D.classList.add("searchstax-facets-container-mobile");const K=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplateMobile)==null?void 0:a.template)||((r=b.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===V.mustache){if(D.innerHTML=F.render(K,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(D),(o=(l=this.config)==null?void 0:l.templates)!=null&&o.mainTemplateMobile)for(const q of((g=(v=(d=this.config)==null?void 0:d.templates)==null?void 0:v.mainTemplateMobile)==null?void 0:g.closeOverlayTriggerClasses)||[]){const X=D.querySelector("."+q);X&&(X.addEventListener("click",this.closeOverlay.bind(this)),X.addEventListener("keyup",ee=>{(ee.code==="Space"||ee.code==="Enter")&&this.closeOverlay()}))}else for(const q of b.facets.mainTemplateMobile.closeOverlayTriggerClasses){const X=D.querySelector("."+q);X&&(X.addEventListener("click",this.closeOverlay.bind(this)),X.addEventListener("keyup",ee=>{(ee.code==="Space"||ee.code==="Enter")&&this.closeOverlay()}))}const f=D.querySelector("."+(((I=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:I.filterByContainerClass)||b.facets.mainTemplateMobile.filterByContainerClass));f&&this.createFilterByComponent(f);const x=D.querySelector("."+(((P=(R=(T=this.config)==null?void 0:T.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:P.selectedFacetsContainerClass)||b.facets.mainTemplateMobile.selectedFacetsContainerClass));x&&(this.createSelectedFacetsComponents(x),this.createClearFacetsComponents(x));const O=D.querySelector("."+(((H=(_=(L=this.config)==null?void 0:L.templates)==null?void 0:_.mainTemplateMobile)==null?void 0:H.facetsContainerClass)||b.facets.mainTemplateMobile.facetsContainerClass));if(O){O.innerHTML="";for(const q of e.facets)this.createFacetItem(q,O,!0)}}}}}class Vt{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"previousButtonClass"),h(this,"nextButtonClass"),h(this,"loadMoreButtonClass"),h(this,"routerHelper"),h(this,"searchPaginationMainContainer",null);var t,s,a,r,i,l,o,d,v;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.previousButtonClass)??b.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((l=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:l.nextButtonClass)??b.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:v.loadMoreButtonClass)??b.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 e,t,s,a;const r={...this.dataLayer.parsedData.data,previousPageLink:(t=this.routerHelper)==null?void 0:t.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(r),r}goToPage(e,t){const s=this.dataLayer.searchObject;s&&(s.page=e,this.dataLayer.setSearchObject(s)),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),s=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&(e.addEventListener("click",this.previousPage.bind(this)),e.addEventListener("keydown",a=>{(a.code==="Space"||a.code==="Enter")&&this.previousPage(a)})),t&&(t.addEventListener("click",this.nextPage.bind(this)),t.addEventListener("keydown",a=>{(a.code==="Space"||a.code==="Enter")&&this.nextPage(a)})),s&&(s.addEventListener("click",this.nextPage.bind(this)),s.addEventListener("keydown",a=>{(a.code==="Space"||a.code==="Enter")&&this.nextPage(a)}))}}renderMainTemplate(e){var t,s,a,r,i,l,o,d,v,g;this.searchPaginationMainContainer&&((t=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||t.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));let m=((i=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:i.template)||((l=b.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.isInfiniteScroll&&(m=((v=(d=(o=this.config)==null?void 0:o.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:v.template)||((g=b.pagination.infiniteScrollTemplate)==null?void 0:g.template)),this.dataLayer.renderingEngine===V.mustache&&(this.searchPaginationMainContainer.innerHTML=F.render(m,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class $t{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"relatedSearchesContainerClass"),h(this,"searchRelatedSearchesMainContainer",null),h(this,"track");var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((s=(t=this.config.templates)==null?void 0:t.main)==null?void 0:s.relatedSearchesContainerClass)||b.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 s,a,r,i,l;if(typeof document<"u"){const o=document==null?void 0:document.createElement("div"),d=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.relatedSearch)==null?void 0:r.template)||b.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===V.mustache){o.innerHTML=F.render(d,e);const v=o.querySelector("."+(((l=(i=this.config.templates)==null?void 0:i.relatedSearch)==null?void 0:l.relatedSearchContainerClass)||b.relatedSearches.relatedSearch.relatedSearchContainerClass));v&&(t.appendChild(v),v.addEventListener("click",()=>{this.executeSearch(e)}),v.addEventListener("keyup",g=>{(g.code==="Space"||g.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 t,s,a,r;const i=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.relatedSearches.main.template;if(this.dataLayer.renderingEngine===V.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=F.render(i,e);const l=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(l)for(const o of e.relatedSearches)this.addRelatedSearchComponent(o,l)}}}class Ut{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"searchFeedbackMainContainer",null),h(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 t;e.stopPropagation(),e.preventDefault();const s=(t=e.target)==null?void 0:t.innerHTML;this.searchTrigger(s,!0)}attachClick(){var e,t,s,a,r;const i=(r=this.searchFeedbackMainContainer)==null?void 0:r.querySelector("."+(((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.main)==null?void 0:s.originalQueryClass)||((a=b.searchFeedback.main)==null?void 0:a.originalQueryClass)));i&&i.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.searchFeedback.main.template;this.dataLayer.renderingEngine===V.mustache&&(this.searchFeedbackMainContainer.innerHTML=F.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class Kt{constructor(e){h(this,"searchHelper"),h(this,"dataLayer"),h(this,"config"),h(this,"suggestAfterMinChars"),h(this,"containerId"),h(this,"currentInputValue",""),h(this,"autosuggestResults"),h(this,"searchInput"),h(this,"actionButton"),h(this,"autosuggestContainer"),h(this,"buttonState","search"),h(this,"selectedAutosuggestItem",-1),h(this,"suggestTrigger"),h(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,s,a;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)||b.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===V.mustache){const d=F.render(i,{});r.innerHTML=d}const l=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.searchInputId)||b.searchInput.mainTemplate.searchInputId,o=document==null?void 0:document.querySelector(`#${l}`);if(o)this.searchInput=o,o.addEventListener("keyup",this.inputKeyupEvent.bind(this)),o.addEventListener("blur",this.hideAutosuggest.bind(this)),o.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===V.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 s=e[t];t===this.selectedAutosuggestItem?(s.classList.add("active"),Z.setAccessibilityText(`Selected suggestion: ${s.innerText}`)):s.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 ae.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var t,s,a;const r=document==null?void 0:document.createElement("div");r.classList.add("searchstax-autosuggest-item"),r.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),r.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const i=((s=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:s.template)||((a=b.searchInput.autosuggestItemTemplate)==null?void 0:a.template);return r.innerHTML=F.render(i,e),r}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const s=e.suggest[t];for(const a in s)if(Object.prototype.hasOwnProperty.call(s,a)){const r=s[a];r.numFound?Z.setAccessibilityText("Suggestions are available. Use up and down arrows to navigate while focusing input.",2e3):Z.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 Qt{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"linkClickCallback"),h(this,"searchCallback"),h(this,"containerId"),h(this,"searchResultsMainContainer"),h(this,"searchResultsContainer"),h(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(()=>{Z.setAccessibilityText("Searching...")}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var e,t,s,a,r;const i=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:s.template)||((a=b.searchResults.noSearchResultTemplate)==null?void 0:a.template),l=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===V.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=F.render(i,{spellingSuggestion:l,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),l&&this.searchResultsContainer){const o=this.searchResultsContainer.querySelector("a");o&&o.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),this.searchCallback(l)})}}renderResults(e){var t,s,a,r,i;if(this.dataLayer.renderingEngine===V.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)Z.setAccessibilityText("Search has no results"),this.renderNoResultsTemplate();else{Z.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);const l=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.searchResultTemplate)==null?void 0:a.template)||((r=b.searchResults.searchResultTemplate)==null?void 0:r.template),o=e.map(d=>F.render(l,d));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=o.join(""):this.searchResultsContainer.innerHTML=o.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,s,a;return((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)||((a=b.searchResults.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const s=e.getAttribute(this.uniqueIdAttribute)??"";s&&this.linkClickCallback(s)}),e.addEventListener("keydown",t=>{if(t.code==="Space"||t.code==="Enter"){const s=e.getAttribute(this.uniqueIdAttribute)??"";s&&this.linkClickCallback(s)}})})}renderMainTemplate(){var e,t,s,a;const r=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.mainTemplate)==null?void 0:s.template)||((a=b.searchResults.mainTemplate)==null?void 0:a.template);this.dataLayer.renderingEngine===V.mustache&&(this.searchResultsMainContainer.innerHTML=F.render(r,{}),setTimeout(()=>{var i,l,o,d,v,g,m;const C=(o=(l=(i=this.config)==null?void 0:i.templates)==null?void 0:l.mainTemplate)!=null&&o.searchResultsContainerId?(g=(v=(d=this.config)==null?void 0:d.templates)==null?void 0:v.mainTemplate)==null?void 0:g.searchResultsContainerId:(m=b.searchResults.mainTemplate)==null?void 0:m.searchResultsContainerId,I=document==null?void 0:document.getElementById(C);if(I)this.searchResultsContainer=I;else throw new Error(`Search Results Container with id ${C} not found`)},0))}}class zt{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"selectId"),h(this,"searchSortingMainContainer",null);var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((s=(t=this.config.templates)==null?void 0:t.main)==null?void 0:s.selectId)||b.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 t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.sorting.main.template;if(this.dataLayer.renderingEngine===V.mustache){this.searchSortingMainContainer.innerHTML=F.render(r,e),this.markOptionSelected();const i=document==null?void 0:document.getElementById(this.selectId);i&&i.addEventListener("change",l=>{this.setOrderQuery(l.target.value)})}}}class Jt{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(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 t,s,a;const r=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||b.answer.main.template;this.dataLayer.renderingEngine===V.mustache&&(this.answerContainer.innerHTML=F.render(r,e))}}class Yt{constructor(e=V.mustache){h(this,"routerEnabled",!1),h(this,"cachedQuery",""),h(this,"routerHelper"),h(this,"searchHelper"),h(this,"searchResultsConfig"),h(this,"searchPaginationConfig"),h(this,"searchFeedbackConfig"),h(this,"searchSortingConfig"),h(this,"searchFacetsConfig"),h(this,"relatedSearchesConfig"),h(this,"externalPromotionsConfig"),h(this,"searchInputWidget"),h(this,"searchResultsWidget"),h(this,"searchFacetsWidget"),h(this,"searchPaginationWidget"),h(this,"searchFeedbackWidget"),h(this,"searchSortingWidget"),h(this,"relatedSearchesWidget"),h(this,"externalPromotionsWidget"),h(this,"answerWidget"),h(this,"dataLayer"),h(this,"firstRequest",!0),h(this,"renderEngine",V.mustache),e&&(this.renderEngine=e)}setRenderingEngine(e=V.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(s=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(s)}),this.dataLayer.$searchObject.subscribe(s=>{var a;s.query!==""&&s.query!==void 0&&s.query!=="undefined"&&(this.search(s),this.dataLayer.turnAIAnswerGenerationOn===!0&&((a=this.searchHelper)==null||a.startSSE(s.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(s=>{s&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ie.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 s=document.createElement("script");s.type="text/javascript",s.src=t;var a=document.getElementsByTagName("script")[0];a.parentNode&&a.parentNode.insertBefore(s,a)}initialize(e){var t,s;if(this.dataLayer=new gt("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 mt({...e,sessionId:this.dataLayer.sessionId},this.dataLayer),this.dataLayer.searchHelper=this.searchHelper),((t=e.router)==null?void 0:t.enabled)===void 0||((s=e.router)==null?void 0:s.enabled)===!0){this.routerEnabled=!0,this.routerHelper=new Ne(e.router?e.router:{enabled:!0});const a=this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"");this.dataLayer.searchObject.itemsPerPage&&(a.itemsPerPage=this.dataLayer.searchObject.itemsPerPage),this.dataLayer.setSearchObject(a),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 Ne({})}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 t;const s=(((t=e.response)==null?void 0:t.docs)??[]).map((r,i)=>({...r,position:i+1})),a=[];for(const r of s)a.push({relatedSearch:r.related_search,position:r.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ie.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:a}),this.dataLayer.setSearchRelatedSearches(s)}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponse(e){var t,s;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows));let a=de.combineResultsWithMetadata(e),r=de.extractFacets(e);this.dataLayer.setSearchFacets(r),(s=(t=this.dataLayer.searchstaxConfig)==null?void 0:t.hooks)!=null&&s.afterSearch&&(a=this.dataLayer.searchstaxConfig.hooks.afterSearch(a)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const i=de.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(i),this.dataLayer.setSearchResults(a)}parseAnswerResultsResponse(e){this.handleRouter(),e!==re.question&&e!==re.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var t,s;let a=e;(s=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&s.afterAutosuggest&&(a=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(a)}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 Kt({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 Jt({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Qt({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 Vt({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Ut({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new zt({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig=t,this.relatedSearchesWidget=new $t({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 qt({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Bt({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var s,a;const r={...this.dataLayer.searchObject};r.query=ae.removeXSSRiskyTags(e),r.page=1,r.facets=[],this.dataLayer.forceNotCorrect=!!t;let i=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(r);i&&(i=(a=this.routerHelper)==null?void 0:a.extractParamsThatDoNotStartWithRouteName(i)),i&&(r.additionalProps=Object.keys(i).map(l=>i?{key:l,value:i[l]}:{key:"",value:""})),this.dataLayer.setSearchObject(r),this.dataLayer.lastSearchValue=r.query}executeSuggest(e){var t,s;let a={term:e,queryParams:[]};(s=(t=this.dataLayer.searchInputConfig)==null?void 0:t.hooks)!=null&&s.beforeAutosuggest&&(a=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(a)),a&&a.term!==void 0&&a.queryParams!==void 0&&this.suggest(a.term,a.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&ie.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var t,s;let a=de.findResultByUniqueId(e,this.dataLayer.searchResults??[]);a&&((s=(t=this.searchResultsConfig)==null?void 0:t.hooks)!=null&&s.afterLinkClick&&(a=this.searchResultsConfig.hooks.afterLinkClick(a)),a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ie.trackClick({result:a,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(a==null?void 0:a.url)??"")}).catch(()=>{}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){var t,s,a;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(s=this.searchResultsConfig)==null?void 0:s.templates,...e}:e,(a=this.searchResultsWidget)==null||a.changeTemplate())}}const S={searchstax:new Yt("react")};function Xt(n){let e=!1;const[t,s]=E.useState([]);E.useEffect(()=>{if(a(),S.searchstax){const o={};n.afterAutosuggest&&(o.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(o.beforeAutosuggest=n.beforeAutosuggest),S.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:n.suggestAfterMinChars,hooks:o,templates:{mainTemplate:{template:"",searchInputId:n.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props")},[]);function a(){e||(S.searchstax.dataLayer.$autosuggestResults.subscribe(o=>{s((o==null?void 0:o.suggestions)??[])}),e=!0)}function r(){var o,d;(o=S.searchstax.searchInputWidget)==null||o.resetAutosuggestSelection(),(d=S.searchstax.searchInputWidget)==null||d.markActiveAutosuggestItem()}function i(o){var d;(d=S.searchstax.searchInputWidget)==null||d.onSuggestionEnter(o)}function l(){var o;(o=S.searchstax.searchInputWidget)==null||o.suggestionChosen()}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-input-container",children:u.jsxs("div",{className:"searchstax-search-input-container",children:[!n.inputTemplate&&u.jsxs("div",{className:"searchstax-search-input-wrapper",children:[u.jsx("input",{type:"text",id:"searchstax-search-input",className:"searchstax-search-input",placeholder:"SEARCH FOR...","aria-label":"search"}),u.jsx("div",{className:`searchstax-autosuggest-container ${t.length===0?"hidden":""}`,onMouseLeave:r,children:t.map(function(o){return u.jsx("div",{className:"searchstax-autosuggest-item",children:u.jsx("div",{className:"searchstax-autosuggest-item-term-container",tabIndex:0,dangerouslySetInnerHTML:{__html:o.term},onMouseOver:()=>{i(o)},onClick:()=>{l()}})},o.term)})}),u.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button","aria-label":"search"})]}),n.inputTemplate&&u.jsx(u.Fragment,{children:n.inputTemplate(t,r,i,l)})]})})})}function Gt(n){const[e,t]=E.useState(!1);return E.useEffect(()=>{const s={};n.beforeSearch&&(s.beforeSearch=n.beforeSearch),n!=null&&n.afterSearch&&(s.afterSearch=n.afterSearch),S.searchstax.initialize({language:n.language??"en",sessionId:n.sessionId,searchURL:n.searchURL,suggesterURL:n.suggesterURL,trackApiKey:n.trackApiKey,searchAuth:n.searchAuth,authType:n.authType??"basic",autoCorrect:n.autoCorrect,router:n.router,hooks:s,analyticsBaseUrl:n.analyticsBaseUrl,analyticsSrc:n.analyticsSrc}),setTimeout(()=>{t(!0)},100),n.initialized(S.searchstax)},[n.initialized]),u.jsx(u.Fragment,{children:e&&u.jsxs(u.Fragment,{children:[" ",n.children," "]})})}function Zt(n){const[e,t]=E.useState(null),s=E.useRef();s.current=e;const[a,r]=E.useState(""),[i,l]=E.useState(null),o=(g,m)=>{m.preventDefault(),m.stopPropagation(),S.searchstax.executeLinkClick(g.uniqueId)};E.useEffect(()=>{v();const g={};n.afterLinkClick&&(g.afterLinkClick=n.afterLinkClick),S.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},renderMethod:n.renderMethod??"pagination",hooks:g})},[]);function d(g){S.searchstax.executeSearch(g)}function v(){S.searchstax.dataLayer.$searchResults.subscribe(g=>{var T;const m=s.current??[],C=g??[],I=n.renderMethod==="infiniteScroll"?[...m,...C]:g;((T=S.searchstax.dataLayer.$searchObject.value)==null?void 0:T.page)===1?t(C):t(I)}),S.searchstax.dataLayer.$searchTermChange.subscribe(g=>{r(g)}),S.searchstax.dataLayer.$searchResultsMetadata.subscribe(g=>{l(g)})}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-results-container",children:u.jsx("div",{className:"searchstax-search-results-container",children:u.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&a!==""&&a!=="*"&&S.searchstax.dataLayer.parsedData.firstSearchHappened&&!n.noResultTemplate&&u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",u.jsx("strong",{children:"no results"})," for"," ",u.jsxs("strong",{children:['"',a,'"']}),u.jsx("br",{}),(i==null?void 0:i.spellingSuggestion)&&u.jsxs("span",{children:[" Did you mean"," ",u.jsx("a",{href:"#",className:"searchstax-suggestion-term",onClick:()=>{d(i==null?void 0:i.spellingSuggestion)},children:i==null?void 0:i.spellingSuggestion}),"?"]})]}),u.jsxs("ul",{children:[u.jsxs("li",{children:[" ","Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need."," "]}),u.jsx("li",{children:"Lost? Click on the ‘X” in the Search Box to reset your search."})]})]}),e&&e.length===0&&a!==""&&a!=="*"&&S.searchstax.dataLayer.parsedData.firstSearchHappened&&n.noResultTemplate&&u.jsx(u.Fragment,{children:n.noResultTemplate(a,i,d)}),e&&e.length>0&&!n.resultsTemplate&&u.jsx("div",{className:"searchstax-search-results",children:e!==null&&e.map(function(g){return u.jsx("a",{href:g.url??"",onClick:m=>{o(g,m)},onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&o(g,m)},tabIndex:0,"data-searchstax-unique-result-id":g.uniqueId,className:"searchstax-result-item-link searchstax-result-item-link-wrapping",children:u.jsxs("div",{className:`searchstax-search-result ${g.thumbnail?"has-thumbnail":""}`,children:[g.promoted&&u.jsx("div",{className:"searchstax-search-result-promoted"}),g.ribbon&&u.jsx("div",{className:"searchstax-search-result-ribbon",dangerouslySetInnerHTML:{__html:g.ribbon}}),g.thumbnail&&u.jsx("img",{src:g.thumbnail,className:"searchstax-thumbnail"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",dangerouslySetInnerHTML:{__html:g.title??""}})}),g.paths&&u.jsx("p",{className:"searchstax-search-result-common",dangerouslySetInnerHTML:{__html:g.paths}}),g.description&&u.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",dangerouslySetInnerHTML:{__html:g.description}}),g.unmappedFields.map(function(m){return u.jsxs("div",{children:[m.isImage&&typeof m.value=="string"&&u.jsx("div",{className:"searchstax-search-result-image-container",children:u.jsx("img",{src:m.value,className:"searchstax-result-image"})}),!m.isImage&&u.jsx("div",{children:u.jsx("p",{className:"searchstax-search-result-common",dangerouslySetInnerHTML:{__html:m.value}})})]},m.key)})]},g.uniqueId)},g.uniqueId)})}),e&&e.length>0&&n.resultsTemplate&&u.jsx(u.Fragment,{children:n.resultsTemplate(e,o)})]})})})})}function ea(n){let e=!1;const[t,s]=E.useState(!1),[a,r]=E.useState(null),[i]=E.useState(Math.random());E.useEffect(()=>{if(l(),S.searchstax)S.searchstax.addPaginationWidget("searchstax-pagination-container"+i,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(S.searchstax.dataLayer.$searchObject.subscribe(()=>{o()}),S.searchstax.dataLayer.$paginationData.subscribe(g=>{r(g)}),e=!0)}function o(){!t&&S.searchstax.routerHelper&&(s(!0),S.searchstax.addPaginationWidget("searchstax-pagination-container"+i,{}))}function d(g){var m;(m=S.searchstax.searchPaginationWidget)==null||m.nextPage(g)}function v(g){var m;(m=S.searchstax.searchPaginationWidget)==null||m.previousPage(g)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-pagination-container"+i,children:[!n.paginationTemplate&&a&&!a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&u.jsx("div",{className:"searchstax-pagination-container",children:u.jsxs("div",{className:"searchstax-pagination-content",children:[u.jsxs("a",{className:`searchstax-pagination-previous ${a.isFirstPage?"disabled":""}`,style:a!=null&&a.isFirstPage?{pointerEvents:"none"}:{},onClick:g=>{v(g)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&v(g)},tabIndex:0,id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),u.jsxs("div",{className:"searchstax-pagination-details",children:[" ",a==null?void 0:a.startResultIndex," -"," ",a==null?void 0:a.endResultIndex," of"," ",a==null?void 0:a.totalResults]}),u.jsx("a",{className:`searchstax-pagination-next ${a.isLastPage?"disabled":""}`,tabIndex:0,style:a!=null&&a.isLastPage?{pointerEvents:"none"}:{},onClick:g=>{d(g)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&d(g)},id:"searchstax-pagination-next",children:"Next >"})]})}),n.paginationTemplate&&a&&!a.isInfiniteScroll&&u.jsx(u.Fragment,{children:n.paginationTemplate(a,d,v)}),!n.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx("div",{className:"searchstax-pagination-container",children:u.jsx("a",{className:"searchstax-pagination-load-more",tabIndex:0,onClick:g=>{d(g)},onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&d(g)},children:"Show More"})}),n.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx(u.Fragment,{children:n.infiniteScrollTemplate(a,d)})]})})}function ta(n){let e=!1;const[t,s]=E.useState(null),[a,r]=E.useState(""),[i]=E.useState(Math.random());E.useEffect(()=>{if(l(),S.searchstax)S.searchstax.addSearchSortingWidget("search-sorting-container"+i,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function l(){e||(S.searchstax.dataLayer.$searchSortingData.subscribe(d=>{s(d)}),S.searchstax.dataLayer.$searchObject.subscribe(d=>{r(decodeURIComponent((d==null?void 0:d.order)??""))}),e=!0)}function o(d){var v;(v=S.searchstax.searchSortingWidget)==null||v.setOrderQuery(d)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-sorting-container"+i,children:[!n.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&u.jsxs("div",{className:"searchstax-sorting-container",children:[u.jsx("label",{className:"searchstax-sorting-label",htmlFor:"searchstax-search-order-select",children:"Sort By"}),u.jsx("select",{id:"searchstax-search-order-select",className:"searchstax-search-order-select",value:a,onChange:d=>{o(d.target.value)},children:t.sortOptions.map(function(d){return u.jsx("option",{value:d.key,children:d.value},d.key)})})]}),n.searchSortingTemplate&&u.jsx(u.Fragment,{children:n.searchSortingTemplate(t,o,a)})]})})}function aa(n){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),S.searchstax)S.searchstax.addSearchFeedbackWidget("search-feedback-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(S.searchstax.dataLayer.$searchFeedbackData.subscribe(l=>{s(l)}),e=!0)}function i(l){var o;(o=S.searchstax.searchFeedbackWidget)==null||o.onOriginalQueryClick(l)}return u.jsx(u.Fragment,{children:u.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+a,children:[!n.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)>0&&u.jsxs(u.Fragment,{children:["Showing"," ",u.jsxs("b",{children:[t.startResultIndex," - ",t.endResultIndex]})," ","of",u.jsxs("b",{children:[" ",t.totalResults]})," results",t.searchTerm&&u.jsxs("span",{children:[' for "',u.jsx("b",{children:t.searchTerm}),'"'," "]}),u.jsx("div",{className:"searchstax-feedback-container-suggested",children:t.autoCorrectedQuery&&u.jsxs("div",{children:[" ","Search instead for"," ",u.jsx("a",{href:"#",onClick:l=>{i(l)},className:"searchstax-feedback-original-query",children:t.originalQuery})]})})]}),n.searchOverviewTemplate&&u.jsx(u.Fragment,{children:n.searchOverviewTemplate(t,i)})]})})}function sa(n){const[e,t]=E.useState(null),[s,a]=E.useState(null),[r,i]=E.useState([]),[l,o]=E.useState({}),d={},v=Math.random();let g=!1;E.useEffect(()=>{if(m(),S.searchstax)S.searchstax.addFacetsWidget("searchstax-facets-container"+v,{facetingType:n.facetingType,specificFacets:n.specificFacets,itemsPerPageDesktop:n.itemsPerPageDesktop,itemsPerPageMobile:n.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function m(){g||(S.searchstax.dataLayer.$facetsTemplateData.subscribe(f=>{f!=null&&f.isMobile?a(f):t(f)}),S.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(f=>{i((f??[]).filter(O=>O.type==="checkbox"))}),g=!0)}function C(f){var x;(x=S.searchstax.searchFacetsWidget)==null||x.unselectFacet(f)}function I(){var f;(f=S.searchstax.searchFacetsWidget)==null||f.removeSelectedFacets()}function T(f){return!l[f]}function R(f){T(f)?o({...l,[f]:!0}):o({...l,[f]:!1})}function P(f){var x;return(x=S.searchstax.searchFacetsWidget)==null?void 0:x.isChecked(f)}function L(f,x,O,q,X){var te;const ee=X?"mobile-":"desktop-",z=document.getElementsByClassName(ee+f);z[0]&&((te=S.searchstax.searchFacetsWidget)==null||te.onFacetSelect(x,O,z[0],!1,P(O)))}function _(f,x){var O;(O=S.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(f,x,!1)}function H(f,x){var O;(O=S.searchstax.searchFacetsWidget)==null||O.onShowMoreLessClick(f,x,!0)}function D(){var f;(f=S.searchstax.searchFacetsWidget)==null||f.openOverlay()}function K(){var f;(f=S.searchstax.searchFacetsWidget)==null||f.closeOverlay()}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-facets-container"+v,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!n.facetsTemplateDesktop&&u.jsx("div",{className:"searchstax-facets-container-desktop",children:e==null?void 0:e.facets.map(f=>u.jsx("div",{className:`searchstax-facet-container ${T(f.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{R(f.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",f.label," "]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container",children:[f.values.map((x,O)=>(d[O+f.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${x.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+f.name],children:[u.jsx("div",{className:"searchstax-facet-input desktop-"+O+f.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(x),"aria-label":x.value+" "+x.count,readOnly:!0,disabled:x.disabled,onClick:q=>{L(O+f.name,q,x)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:q=>{L(O+f.name,q,x)},children:x.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:q=>{L(O+f.name,q,x)},children:["(",x.count,")"]})]},x.value+x.parentName))),f.hasMoreFacets&&u.jsx("div",{className:"searchstax-facet-show-more-container",children:u.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:x=>{_(x,f)},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&_(x,f)},children:[f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},f.name+"desktop"))}),n.facetsTemplateDesktop&&u.jsx(u.Fragment,{children:n.facetsTemplateDesktop(e,d,T,R,L,P,_)}),(s==null?void 0:s.hasResultsOrExternalPromotions)&&!n.facetsTemplateMobile&&u.jsx("div",{className:"searchstax-facets-container-mobile",children:u.jsxs("div",{className:"searchstax-facets-pills-container",children:[u.jsx("div",{className:"searchstax-facets-pill searchstax-facets-pill-filter-by",onClick:()=>{D()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),u.jsxs("div",{className:"searchstax-facets-pills-selected",children:[r.map(f=>u.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{C(f)},children:[u.jsxs("div",{className:"searchstax-facets-pill-label",children:[f.value," (",f.count,")"]}),u.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},f.value)),r.length!==0&&u.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{I()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),u.jsxs("div",{className:`searchstax-facets-mobile-overlay ${s.overlayOpened?"searchstax-show":""}`,children:[u.jsxs("div",{className:"searchstax-facets-mobile-overlay-header",children:[u.jsx("div",{className:"searchstax-facets-mobile-overlay-header-title",children:"Filter By"}),u.jsx("div",{className:"searchstax-search-close",onClick:()=>{K()}})]}),u.jsx("div",{className:"searchstax-facets-container-mobile",children:s==null?void 0:s.facets.map(f=>u.jsx("div",{className:`searchstax-facet-container ${T(f.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{R(f.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",f.label," "]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container",children:[f.values.map((x,O)=>(d[O+f.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${x.disabled?"searchstax-facet-value-disabled":""}`,ref:d[O+f.name],children:[u.jsx("div",{className:"searchstax-facet-input mobile-"+O+f.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:P(x),"aria-label":x.value+" "+x.count,readOnly:!0,disabled:x.disabled,onClick:q=>{L(O+f.name,q,x,!0,!0)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:q=>{L(O+f.name,q,x)},children:x.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:q=>{L(O+f.name,q,x)},children:["(",x.count,")"]})]},x.value+x.parentName))),u.jsx("div",{className:"searchstax-facet-show-more-container","v-if":"facet.hasMoreFacets",children:u.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:x=>{H(x,f)},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&H(x,f)},tabIndex:0,children:[f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!f.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},f.name+"mobile"))}),u.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{K()},children:"Done"})]})]})}),n.facetsTemplateMobile&&u.jsx(u.Fragment,{children:n.facetsTemplateMobile(s,r,d,T,R,L,P,C,H,D,K,I)})]})})}function ra(n){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),S.searchstax)S.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+a,{relatedSearchesURL:n.relatedSearchesURL,relatedSearchesAPIKey:n.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(S.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(l=>{s(l)}),e=!0)}function i(l){var o;(o=S.searchstax.relatedSearchesWidget)==null||o.executeSearch(l)}return u.jsxs(u.Fragment,{children:[!n.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&u.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",u.jsx("span",{id:"searchstax-related-searches"}),t.relatedSearches&&u.jsx("span",{className:"searchstax-related-search",children:t.relatedSearches.map(l=>u.jsxs("span",{onClick:()=>{i(l)},onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&i(l)},tabIndex:0,className:"searchstax-related-search searchstax-related-search-item",children:[" ",l.related_search,!l.last&&u.jsx("span",{children:","})]},l.related_search))})]}),n.searchRelatedSearchesTemplate&&u.jsx(u.Fragment,{children:n.searchRelatedSearchesTemplate(t,i)})]})}function ia(n){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),S.searchstax)S.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(S.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(l=>{s(l)}),e=!0)}function i(l,o){var d;(d=S.searchstax.externalPromotionsWidget)==null||d.trackClick(l,o)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-external-promotions-layout-container"+a,children:[!n.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&u.jsx(u.Fragment,{children:t.externalPromotions.map(l=>u.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[u.jsx("div",{className:"icon-elevated"}),l.url&&u.jsx("a",{href:l.url,onClick:o=>{i(l,o)},className:"searchstax-result-item-link"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",children:l.name})}),l.description&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.description," "]}),l.url&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",l.url," "]})]},l.id))}),n.searchExternalPromotionsTemplate&&u.jsx(u.Fragment,{children:n.searchExternalPromotionsTemplate(t,i)})]})})}G.SearchstaxExternalPromotionsWidget=ia,G.SearchstaxFacetsWidget=sa,G.SearchstaxInputWidget=Xt,G.SearchstaxOverviewWidget=aa,G.SearchstaxPaginationWidget=ea,G.SearchstaxRelatedSearchesWidget=ra,G.SearchstaxResultWidget=Zt,G.SearchstaxSortingWidget=ta,G.SearchstaxWrapper=Gt,Object.defineProperty(G,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxReact"]=this["@searchstaxInc/searchstudioUxReact"]||{},React);
|
|
@@ -3264,14 +3264,14 @@ class Ra {
|
|
|
3264
3264
|
});
|
|
3265
3265
|
}
|
|
3266
3266
|
addRelatedSearchesWidget(e, t) {
|
|
3267
|
-
this.relatedSearchesConfig
|
|
3267
|
+
this.relatedSearchesConfig = t, this.relatedSearchesWidget = new ba({
|
|
3268
3268
|
containerId: e,
|
|
3269
3269
|
config: t,
|
|
3270
3270
|
dataLayer: this.dataLayer,
|
|
3271
3271
|
trackRelatedSearchClick: this.trackRelatedSearchClick.bind(this)
|
|
3272
3272
|
}), setTimeout(() => {
|
|
3273
3273
|
this.getRelatedSearches();
|
|
3274
|
-
}, 0)
|
|
3274
|
+
}, 0);
|
|
3275
3275
|
}
|
|
3276
3276
|
addExternalPromotionsWidget(e, t) {
|
|
3277
3277
|
this.externalPromotionsConfig = t, this.externalPromotionsWidget = new va({
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@searchstax-inc/searchstudio-ux-react",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.8",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/@searchstax-inc/searchstudio-ux-react.cjs",
|
|
7
7
|
"module": "./dist/@searchstax-inc/searchstudio-ux-react.mjs",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"preview": "vite preview"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@searchstax-inc/searchstudio-ux-js": "npm:@searchstax-inc/searchstudio-ux-js@^1.0.
|
|
25
|
+
"@searchstax-inc/searchstudio-ux-js": "npm:@searchstax-inc/searchstudio-ux-js@^1.0.17",
|
|
26
26
|
"react": "^18.2.0",
|
|
27
27
|
"react-dom": "^18.2.0"
|
|
28
28
|
},
|