@searchstax-inc/searchstudio-ux-react 4.1.49 → 4.1.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the "searchstudio-ux-react" project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [4.1.54]
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
- fixed various console errors in headles libraries
|
|
8
|
+
- fixed autosuggest flickering in certain scenarios
|
|
9
|
+
|
|
5
10
|
## [4.1.49]
|
|
6
11
|
|
|
7
12
|
### Bug Fixes
|
|
@@ -452,4 +452,4 @@ Please report this to https://github.com/markedjs/marked.`,i){const s="<p>An err
|
|
|
452
452
|
|
|
453
453
|
</div>
|
|
454
454
|
</div>
|
|
455
|
-
`,thumbsUpButtonClass:"searchstax-lightweight-widget-thumbs-up",thumbsDownButtonClass:"searchstax-lightweight-widget-thumbs-down"}};class C{}h(C,"answer",Rr),h(C,"externalPromotions",Nr),h(C,"facets",Dr),h(C,"pagination",Or),h(C,"relatedSearches",Pr),h(C,"searchFeedback",Fr),h(C,"searchInput",$r),h(C,"location",zr),h(C,"searchResults",_r),h(C,"sorting",Wr),h(C,"feedback",K);class Vr{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)||C.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 o=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(o){const n=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.externalPromotion)==null?void 0:a.template)||((r=C.externalPromotions.externalPromotion)==null?void 0:r.template);if(typeof document<"u"){const l=document==null?void 0:document.createElement("div");l.classList.add("searchstax-external-promotion"),l.addEventListener("click",c=>{this.trackClick(e,c)}),l.innerHTML=$.render(n,e),o.appendChild(l)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var t,s,a,r;const o=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.template)||((r=C.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===G.mustache){this.searchExternalPromotionsMainContainer.innerHTML=$.render(o,e);const n=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;n&&(n.innerHTML="");for(const l of e.externalPromotions)this.addExternalSearch(l)}}}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,s){this.addAccessibilityNotificationContainerToBody();const a=s??"searchAccessibility",r=document.getElementById(a);r&&r.remove();const o=document.createElement("span");o.setAttribute("id",a),o.innerHTML=e;const n=document.getElementById("searchAccessibilityContainer");n&&setTimeout(()=>{n.appendChild(o)},t??100)}}class Qr{constructor(e,t){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"routerHelper"),h(this,"cachedPhrase",""),h(this,"cachedANDFacets",""),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,"focusedElement",null),h(this,"cachedData",null),h(this,"cacheFacets"),h(this,"onFacetSelect",(s,a,r,o,n)=>{if(s.stopPropagation(),!a.disabled){const l=r.querySelector("input");let c=o?l.checked:!l.checked;n!==void 0&&(c=!n),l.checked=c;const g=this.dataLayer.searchObject;let m=[...g.facets];const p=this.extractFacetValue(a);c?m.find(y=>ge.deepEqual(y,p)?y:!1)||(this.config.facetingType==="tabs"&&(m=m.filter(y=>y.name!==p.name)),m.push(p)):m=m.filter(y=>!ge.deepEqual(y,p)),setTimeout(()=>{this.dataLayer.setSearchObject({...g,facets:m,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.config.facetingType==="tabs"),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.$searchFacetsCachedTabs.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.config.facetingType==="tabs")),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query||this.cachedANDFacets!==this.dataLayer.parsedData.cachedANDFacets?(this.cachedANDFacets=this.dataLayer.parsedData.cachedANDFacets,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.config.facetingType==="tabs"&&this.dataLayer.searchFacetsCachedTabs&&(t=this.dataLayer.searchFacetsCachedTabs),this.needDisabling&&(t=t.map(a=>{var r;const o=(r=this.dataLayer.searchFacets)==null?void 0:r.find(n=>n.name===a.name);return o?{...a,values:a.values.map(n=>{const l=o.values.find(c=>n.type==="range"?!1:n.type==="checkbox"?c.value===n.value:!1);return{...n,disabled:!l,isMobile:e}})}:{...a,values:a.values.map(n=>({...n,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,o,n,l,c,g,m,p,y,x,f,w,S,A,F;if(typeof document<"u"){const k=document==null?void 0:document.createElement("div");k.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||k.classList.add("active");const P=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:o.template)||((n=C.facets.facetItemContainerTemplate)==null?void 0:n.template);k.innerHTML=$.render(P,e),t.appendChild(k);const z=k.querySelector("."+(((g=(c=(l=this.config)==null?void 0:l.templates)==null?void 0:c.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)||((m=C.facets.facetItemContainerTemplate)==null?void 0:m.facetListTitleContainerClass)));z==null||z.addEventListener("click",()=>{k.classList.toggle("active");const N=k.classList.contains("active"),H=z.querySelector(".searchstax-facet-title");H&&H.setAttribute("aria-expanded",String(N))}),(f=z==null?void 0:z.querySelector("."+((x=(y=(p=this.config)==null?void 0:p.templates)==null?void 0:y.facetItemContainerTemplate)==null?void 0:x.facetListTitleContainerInner)))==null||f.addEventListener("keydown",N=>{if(N.code==="Enter"||N.code==="Space"){N.preventDefault(),k.classList.toggle("active");const H=k.classList.contains("active"),ue=z.querySelector(".searchstax-facet-title");ue&&ue.setAttribute("aria-expanded",String(H))}});const T=k.querySelector("."+(((A=(S=(w=this.config)==null?void 0:w.templates)==null?void 0:S.facetItemContainerTemplate)==null?void 0:A.facetListContainerClass)||((F=C.facets.facetItemContainerTemplate)==null?void 0:F.facetListContainerClass)));T&&(e.values.forEach(N=>{this.createFacetListItem(N,T,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,T,s))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(s=>ge.deepEqual(s,this.extractFacetValue(e))))}createFacetListItem(e,t,s){var a,r,o,n,l,c,g,m,p,y,x,f;if(typeof document<"u"){const w=document==null?void 0:document.createElement("div");w.classList.add("searchstax-facet-value-container"),e.disabled&&w.classList.add("searchstax-facet-value-disabled");const S=this.isChecked(e),A=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemTemplate)==null?void 0:o.template)||((n=C.facets.facetItemTemplate)==null?void 0:n.template);w.innerHTML=$.render(A,{...e,isChecked:S});let F=(l=C.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;F=((m=(g=(c=this.config)==null?void 0:c.templates)==null?void 0:g.facetItemTemplate)==null?void 0:m.checkTriggerClasses)||F,F.forEach(P=>{const z=w.querySelector("."+P);z==null||z.addEventListener("click",T=>{this.onFacetSelect(T,e,w)})});const k=w.querySelector("."+(((x=(y=(p=this.config)==null?void 0:p.templates)==null?void 0:y.facetItemTemplate)==null?void 0:x.inputCheckboxClass)||((f=C.facets.facetItemTemplate)==null?void 0:f.inputCheckboxClass)));k==null||k.addEventListener("click",P=>{this.onFacetSelect(P,e,w,!0)}),k&&(k==null||k.setAttribute("data-test-value",`${encodeURIComponent(s)}:"${encodeURIComponent(e.value)}"`)),t.appendChild(w)}}createHasMoreComponent(e,t,s){var a,r,o,n,l,c,g,m,p,y;if(typeof document<"u"){const x=document==null?void 0:document.createElement("div");x.classList.add("searchstax-facet-show-more-container");const f=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:o.template)||((n=C.facets.showMoreButtonContainerTemplate)==null?void 0:n.template);x.innerHTML=$.render(f,{...e,focusId:`moreLess${(c=(l=e==null?void 0:e.values)==null?void 0:l[0])==null?void 0:c.value}`});const w=x.querySelector("."+(((p=(m=(g=this.config)==null?void 0:g.templates)==null?void 0:m.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)||((y=C.facets.showMoreButtonContainerTemplate)==null?void 0:y.showMoreButtonClass)));w&&(this.attachOnclickToShowMore(e,w,s),t&&t.appendChild(w))}}attachOnclickToShowMore(e,t,s){t.addEventListener("click",a=>{this.onShowMoreLessClick(a,e,s)}),t.addEventListener("keydown",a=>{a.code==="Space"&&a.preventDefault()}),t.addEventListener("keyup",a=>{(a.code==="Space"||a.code==="Enter")&&(a.preventDefault(),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}`,0,`moreLess${new Date().getTime()}`),r[t.name]=r[t.name]+a):(ee.setAccessibilityText(`Less Facets shown for ${t.label}`,0,`moreLess${new Date().getTime()}`),r[t.name]=a),this.generateTemplateData(s),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var s,a,r,o,n,l,c,g,m,p,y;if(e&&(!ge.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const x=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.mainTemplateDesktop)==null?void 0:r.template)||((o=C.facets.mainTemplateDesktop)==null?void 0:o.template);if(this.dataLayer.renderingEngine===G.mustache&&this.searchFacetsMainContainer){const f=document.activeElement;f instanceof HTMLInputElement&&f.type==="checkbox"||f!=null&&f.classList.contains("searchstax-facet-show-more-button")||f!=null&&f.classList.contains("searchstax-facet-show-less-button")?this.focusedElement=f:this.focusedElement=null,this.searchFacetsMainContainer.innerHTML=$.render(x,{...e});const w=(g=this.searchFacetsMainContainer)==null?void 0:g.querySelector("."+(((c=(l=(n=this.config)==null?void 0:n.templates)==null?void 0:l.mainTemplateDesktop)==null?void 0:c.facetsContainerClass)||C.facets.mainTemplateDesktop.facetsContainerClass));if(w){w.innerHTML="";for(const S of e.facets)this.createFacetItem(S,w);if(this.searchFacetsMainContainer){const S=this.searchFacetsMainContainer.querySelector("."+(((y=(p=(m=this.config)==null?void 0:m.templates)==null?void 0:p.mainTemplateDesktop)==null?void 0:y.selectedFacetsContainerClass)||C.facets.mainTemplateDesktop.selectedFacetsContainerClass));S&&(this.createSelectedFacetsComponents(S),this.createClearFacetsComponents(S))}if(this.focusedElement){if(this.focusedElement.classList.contains("searchstax-facet-show-more-button")||this.focusedElement.classList.contains("searchstax-facet-show-less-button")){const F=this.focusedElement.getAttribute("data-focus"),k=this.searchFacetsMainContainer.querySelector(`[data-focus="${F}"]`);k instanceof HTMLElement&&k.focus(),this.focusedElement=null;return}const S=this.focusedElement.getAttribute("data-test-value"),A=this.searchFacetsMainContainer.querySelector(`[data-test-value="${S}"]`);A instanceof HTMLInputElement&&A.focus(),this.focusedElement=null}}}setTimeout(()=>{document.querySelectorAll(".searchstax-facet-title").forEach(f=>{f.setAttribute("aria-expanded",String(!0)),f.setAttribute("tabindex","0"),f.setAttribute("role","button")})},100),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 o=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,n=o==null?void 0:o.find(l=>l.name===a);if(n){const l=n.values.find(c=>c.type==="range"?!1:c.type==="checkbox"?`"${c.value}"`==`"${r}"`:!1);l&&e.push(l)}}}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,o,n,l,c;if(typeof document<"u"){const g=this.dataLayer.searchObject,m=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.clearFacetsTemplate)==null?void 0:a.template)||((r=C.facets.clearFacetsTemplate)==null?void 0:r.template),p=document==null?void 0:document.createElement("div");p.innerHTML=$.render(m,{shouldShow:g.facets.length>0});const y=p.querySelector("."+(((l=(n=(o=this.config)==null?void 0:o.templates)==null?void 0:n.clearFacetsTemplate)==null?void 0:l.containerClass)||((c=C.facets.clearFacetsTemplate)==null?void 0:c.containerClass)));y&&(y.addEventListener("click",()=>{this.removeSelectedFacets()}),y.addEventListener("keyup",x=>{(x.code==="Space"||x.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(y))}}createSelectedFacetsComponent(e,t){var s,a,r,o,n,l,c,g;if(typeof document<"u"){const m=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.selectedFacetsTemplate)==null?void 0:r.template)||((o=C.facets.selectedFacetsTemplate)==null?void 0:o.template),p=document==null?void 0:document.createElement("div");p.innerHTML=$.render(m,t);const y=p.querySelector("."+(((c=(l=(n=this.config)==null?void 0:n.templates)==null?void 0:l.selectedFacetsTemplate)==null?void 0:c.containerClass)||((g=C.facets.selectedFacetsTemplate)==null?void 0:g.containerClass)));y&&(y.addEventListener("click",()=>{this.unselectFacet(t)}),y.addEventListener("keyup",x=>{(x.code==="Space"||x.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(y))}}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,o,n,l,c;if(typeof document<"u"){const g=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.filterByTemplate)==null?void 0:a.template)||((r=C.facets.filterByTemplate)==null?void 0:r.template),m=document==null?void 0:document.createElement("div");m.innerHTML=$.render(g,{});const p=m.querySelector("."+(((l=(n=(o=this.config)==null?void 0:o.templates)==null?void 0:n.filterByTemplate)==null?void 0:l.containerClass)||((c=C.facets.filterByTemplate)==null?void 0:c.containerClass)));p&&(e.prepend(p),p.addEventListener("click",this.openOverlay.bind(this)),p.addEventListener("keyup",y=>{(y.code==="Space"||y.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,o,n,l,c,g,m,p,y,x,f,w,S,A,F,k;if(e&&typeof document<"u"){const P=document==null?void 0:document.createElement("div");P.classList.add("searchstax-facets-container-mobile");const z=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplateMobile)==null?void 0:a.template)||((r=C.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===G.mustache){if(P.innerHTML=$.render(z,{...e,overlayOpened:this.overlayOpened}),(o=this.searchFacetsMainContainer)==null||o.appendChild(P),(l=(n=this.config)==null?void 0:n.templates)!=null&&l.mainTemplateMobile)for(const ue of((m=(g=(c=this.config)==null?void 0:c.templates)==null?void 0:g.mainTemplateMobile)==null?void 0:m.closeOverlayTriggerClasses)||[]){const Q=P.querySelector("."+ue);Q&&(Q.addEventListener("click",this.closeOverlay.bind(this)),Q.addEventListener("keyup",ie=>{(ie.code==="Space"||ie.code==="Enter")&&this.closeOverlay()}))}else for(const ue of C.facets.mainTemplateMobile.closeOverlayTriggerClasses){const Q=P.querySelector("."+ue);Q&&(Q.addEventListener("click",this.closeOverlay.bind(this)),Q.addEventListener("keyup",ie=>{(ie.code==="Space"||ie.code==="Enter")&&this.closeOverlay()}))}const T=P.querySelector("."+(((x=(y=(p=this.config)==null?void 0:p.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:x.filterByContainerClass)||C.facets.mainTemplateMobile.filterByContainerClass));T&&this.createFilterByComponent(T);const N=P.querySelector("."+(((S=(w=(f=this.config)==null?void 0:f.templates)==null?void 0:w.mainTemplateMobile)==null?void 0:S.selectedFacetsContainerClass)||C.facets.mainTemplateMobile.selectedFacetsContainerClass));N&&(this.createSelectedFacetsComponents(N),this.createClearFacetsComponents(N));const H=P.querySelector("."+(((k=(F=(A=this.config)==null?void 0:A.templates)==null?void 0:F.mainTemplateMobile)==null?void 0:k.facetsContainerClass)||C.facets.mainTemplateMobile.facetsContainerClass));if(H){H.innerHTML="";for(const ue of e.facets)this.createFacetItem(ue,H,!0)}}}}}class qr{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,o,n,l,c,g;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)??C.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((n=(o=(r=this.config)==null?void 0:r.templates)==null?void 0:o.mainTemplate)==null?void 0:n.nextButtonClass)??C.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((g=(c=(l=this.config)==null?void 0:l.templates)==null?void 0:c.infiniteScrollTemplate)==null?void 0:g.loadMoreButtonClass)??C.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),document.body.tabIndex=-1,document.body.focus()}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,o,n,l,c,g,m;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 p=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:o.template)||((n=C.pagination.mainTemplate)==null?void 0:n.template);this.dataLayer.isInfiniteScroll&&(p=((g=(c=(l=this.config)==null?void 0:l.templates)==null?void 0:c.infiniteScrollTemplate)==null?void 0:g.template)||((m=C.pagination.infiniteScrollTemplate)==null?void 0:m.template)),this.dataLayer.renderingEngine===G.mustache&&(this.searchPaginationMainContainer.innerHTML=$.render(p,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Hr{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)||C.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,o,n;if(typeof document<"u"){const l=document==null?void 0:document.createElement("div"),c=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.relatedSearch)==null?void 0:r.template)||C.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===G.mustache){l.innerHTML=$.render(c,e);const g=l.querySelector("."+(((n=(o=this.config.templates)==null?void 0:o.relatedSearch)==null?void 0:n.relatedSearchContainerClass)||C.relatedSearches.relatedSearch.relatedSearchContainerClass));g&&(t.appendChild(g),g.addEventListener("click",()=>{this.executeSearch(e)}),g.addEventListener("keyup",m=>{(m.code==="Space"||m.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 o=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||C.relatedSearches.main.template;if(this.dataLayer.renderingEngine===G.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=$.render(o,e);const n=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(n)for(const l of e.relatedSearches)this.addRelatedSearchComponent(l,n)}}}class Br{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 o=(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=C.searchFeedback.main)==null?void 0:a.originalQueryClass)));o&&o.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)||C.searchFeedback.main.template;this.dataLayer.renderingEngine===G.mustache&&(this.searchFeedbackMainContainer.innerHTML=$.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class Ur{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.dataLayer.$locationEnabled.subscribeUntilHasValue(()=>{this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())},200)}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 o=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||C.searchInput.mainTemplate.template,n={...this.dataLayer.parsedData.data,locationEnabled:!!this.dataLayer.locationEnabled};if(this.dataLayer.setInputWidgetTemplateData(n),this.dataLayer.renderingEngine===G.mustache){const g=$.render(o,n);r.innerHTML=g,this.dataLayer.setInputTemplateRendered(!0)}const l=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.searchInputId)||C.searchInput.mainTemplate.searchInputId,c=document==null?void 0:document.querySelector(`#${l}`);if(c)this.searchInput=c,c.addEventListener("keyup",this.inputKeyupEvent.bind(this)),c.addEventListener("blur",this.hideAutosuggest.bind(this)),c.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===G.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.executeSearch(((e=this.searchInput)==null?void 0:e.value)??"")}))}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(){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-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}}selectPreviousAutosuggestItem(e){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem===0?(this.selectedAutosuggestItem=-1,e&&(e.focus(),e.setSelectionRange(e.value.length,e.value.length)),ee.setAccessibilityText("No Suggestion selected")):this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem===this.autosuggestResults.suggestions.length-1?(this.selectedAutosuggestItem=-1,ee.setAccessibilityText("No Suggestion selected")):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(e.target):t==="ArrowUp"?this.selectPreviousAutosuggestItem(e.target):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(e){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection(),e&&(e.focus(),e.setSelectionRange(e.value.length,e.value.length)),ee.setAccessibilityText("No Suggestion selected")},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 o=((s=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:s.template)||((a=C.searchInput.autosuggestItemTemplate)==null?void 0:a.template);return r.innerHTML=$.render(o,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. Use Escape key to escape out of the suggestions",2e3):ee.setAccessibilityText("",0),this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(o=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(o))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Yr{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 o=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:s.template)||((a=C.searchResults.noSearchResultTemplate)==null?void 0:a.template),n=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===G.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=$.render(o,{spellingSuggestion:n,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),n&&this.searchResultsContainer){const l=this.searchResultsContainer.querySelector("a");l&&l.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),this.searchCallback(n)})}}renderResults(e){var t,s,a,r,o;if(this.dataLayer.renderingEngine===G.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 n=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.searchResultTemplate)==null?void 0:a.template)||((r=C.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(c=>$.render(n,c));((o=this.config)==null?void 0:o.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=l.join(""):this.searchResultsContainer.innerHTML=l.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}get uniqueIdAttribute(){var e,t,s,a;return((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)||((a=C.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=C.searchResults.mainTemplate)==null?void 0:a.template);this.dataLayer.renderingEngine===G.mustache&&(this.searchResultsMainContainer.innerHTML=$.render(r,{}),setTimeout(()=>{var o,n,l,c,g,m,p;const y=(l=(n=(o=this.config)==null?void 0:o.templates)==null?void 0:n.mainTemplate)!=null&&l.searchResultsContainerId?(m=(g=(c=this.config)==null?void 0:c.templates)==null?void 0:g.mainTemplate)==null?void 0:m.searchResultsContainerId:(p=C.searchResults.mainTemplate)==null?void 0:p.searchResultsContainerId,x=document==null?void 0:document.getElementById(y);if(x)this.searchResultsContainer=x;else throw new Error(`Search Results Container with id ${y} not found`)},0))}}class Jr{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)||C.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)||C.sorting.main.template;if(this.dataLayer.renderingEngine===G.mustache){this.searchSortingMainContainer.innerHTML=$.render(r,e),this.markOptionSelected();const o=document==null?void 0:document.getElementById(this.selectId);o&&o.addEventListener("change",n=>{this.setOrderQuery(n.target.value)})}}}class Gr{constructor(e){h(this,"analyticsKey"),h(this,"containerId"),h(this,"mainContainer"),h(this,"isLightweight"),h(this,"emailOverride"),h(this,"feedbackTextAreaOverride"),h(this,"mainTemplateOverride"),h(this,"lightweightTemplateOverride"),h(this,"focusedElement",null),h(this,"focusTrapListener",null),h(this,"lastFocusedElementBeforeModal",null),h(this,"templateData",{feedbackOpen:!1,ratings:[{index:1,isSelected:!1},{index:2,isSelected:!1},{index:3,isSelected:!1},{index:4,isSelected:!1},{index:5,isSelected:!1},{index:6,isSelected:!1},{index:7,isSelected:!1},{index:8,isSelected:!1},{index:9,isSelected:!1},{index:10,isSelected:!1}],emailInput:"",feedbackTextArea:"",charactersLeft:2e3,maxLength:2e3,errors:{rating:!1,email:!1},submitted:!1,thumbsUpActive:!1,thumbsDownActive:!1}),h(this,"thumbsUpValue",10),h(this,"thumbsDownValue",1),h(this,"ratedQuestion",""),h(this,"language",""),h(this,"model",""),h(this,"analyticsSrc",""),this.analyticsKey=e.analyticsKey,this.containerId=e.containerId??"sf-feedback",this.isLightweight=e.lightweight??!1,this.isLightweight&&this.templateData.ratings.unshift({index:0,isSelected:!1}),this.thumbsUpValue=e.thumbsUpValue??10,this.thumbsDownValue=e.thumbsDownValue??1,this.emailOverride=e.emailOverride,this.feedbackTextAreaOverride=e.feedbackTextAreaOverride,this.mainTemplateOverride=e.mainTemplateOverride,this.lightweightTemplateOverride=e.lightweightTemplateOverride,this.mainContainer=document.getElementById(this.containerId),this.language=e.language??"",this.model=e.model??"",this.analyticsSrc=e.analyticsSrc??"",this.init()}init(){xe.attachAnalyticsScript(this.analyticsSrc),this.renderMainTemplate(this.generateTemplateData())}generateTemplateData(){return this.templateData}renderMainTemplate(e){var t,s;const a=document.activeElement;(a instanceof HTMLInputElement||a instanceof HTMLButtonElement||a instanceof HTMLTextAreaElement||a instanceof HTMLAnchorElement)&&(a.type==="radio"||a.type==="button"||a.type==="textarea"||a instanceof HTMLAnchorElement)?this.focusedElement=a:this.focusedElement=null,this.mainContainer;let r=(t=K==null?void 0:K.mainTemplate)==null?void 0:t.template;if(this.mainTemplateOverride&&(r=this.mainTemplateOverride),this.isLightweight&&(r=(s=K.lightweightTemplate)==null?void 0:s.template,this.lightweightTemplateOverride&&(r=this.lightweightTemplateOverride)),this.mainContainer.innerHTML=$.render(r,e),this.focusedElement&&this.mainContainer){const o=this.focusedElement.type==="radio"?this.focusedElement.getAttribute("id"):this.focusedElement.getAttribute("class"),n=this.focusedElement.type==="radio"?"id":"class",l=this.mainContainer.querySelector(`[${n}="${o}"]`);(l instanceof HTMLInputElement||l instanceof HTMLButtonElement||l instanceof HTMLTextAreaElement||l instanceof HTMLAnchorElement)&&l.focus(),this.focusedElement=null}this.attachEvents()}attachEvents(){this.isLightweight?this.attachLightweightEvents():(this.attachOpenModalEvent(),this.closeModalEvent(),this.attachRatingEvents(),this.attachTextAreaEvents(),this.attachEmailInputEvents(),this.attachSubmitButtonEvents())}attachFocusTrap(){this.focusTrapListener&&document.removeEventListener("keydown",this.focusTrapListener),this.focusTrapListener=e=>{if(!this.templateData.feedbackOpen)return;const t=this.getModalElement();if(!t)return;const s=this.getFocusableElements(t);if(s.length===0)return;const a=s[0],r=s[s.length-1];e.key==="Tab"&&(e.shiftKey?(document.activeElement===a||!t.contains(document.activeElement))&&(e.preventDefault(),r==null||r.focus()):(document.activeElement===r||!t.contains(document.activeElement))&&(e.preventDefault(),a==null||a.focus())),e.key==="Escape"&&(e.preventDefault(),this.closeFeedbackModal())},document.addEventListener("keydown",this.focusTrapListener)}getFocusableElements(e){const t=["button:not([disabled])","input:not([disabled])","textarea:not([disabled])","select:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])'].join(", ");return Array.from(e.querySelectorAll(t))}getModalElement(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.modalContainerClass;return((t=this.mainContainer)==null?void 0:t.querySelector(`.${s}`))||null}attachLightweightEvents(){var e,t,s,a;const r=(e=K.lightweightTemplate)==null?void 0:e.thumbsUpButtonClass,o=(t=K.lightweightTemplate)==null?void 0:t.thumbsDownButtonClass,n=(s=this.mainContainer)==null?void 0:s.querySelector("."+r),l=(a=this.mainContainer)==null?void 0:a.querySelector("."+o);n&&n.addEventListener("click",()=>{const c=this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea;this.templateData.ratings[this.templateData.ratings.length-1].isSelected&&this.ratedQuestion===c||(this.templateData.thumbsUpActive=!0,this.templateData.thumbsDownActive=!1,this.templateData.ratings.forEach(g=>{g.isSelected=g.index===this.thumbsUpValue}),this.renderMainTemplate(this.generateTemplateData()),this.ratedQuestion=c,this.submit())}),l&&l.addEventListener("click",()=>{const c=this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea;this.templateData.ratings[0].isSelected&&this.ratedQuestion===c||(this.templateData.thumbsUpActive=!1,this.templateData.thumbsDownActive=!0,this.templateData.ratings.forEach(g=>{g.isSelected=g.index===this.thumbsDownValue}),this.renderMainTemplate(this.generateTemplateData()),this.ratedQuestion=c,this.submit())})}attachSubmitButtonEvents(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.submitButtonClass,a=(t=this.mainContainer)==null?void 0:t.querySelector("."+s);a&&a.addEventListener("click",()=>{this.checkIfValid()})}checkIfValid(){var e,t;const s=(t=this.mainContainer)==null?void 0:t.querySelector("#"+((e=K.mainTemplate)==null?void 0:e.emailInputId));this.validateEmail(s.value)?this.templateData.errors.email=!1:(this.templateData.errors.email=!0,ee.setAccessibilityText("Please enter a valid email address.")),this.templateData.ratings.some(a=>a.isSelected)?this.templateData.errors.rating=!1:(this.templateData.errors.rating=!0,ee.setAccessibilityText("Please Rate your experience.")),this.templateData.errors.rating||this.templateData.errors.email?this.renderMainTemplate(this.generateTemplateData()):this.submit()}submit(){var e,t,s;this.templateData.submitted=!0;const a=(e=this.templateData.ratings.find(r=>r.isSelected))==null?void 0:e.index;a!==void 0&&(xe.trackFeedback({trackApiKey:this.analyticsKey,email:this.emailOverride&&this.isLightweight?this.emailOverride():this.templateData.emailInput,rating:a,feedback:this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea,model:this.model?this.model:void 0,language:this.language?this.language:void 0}),this.showCheckmarkAnimation(),ee.setAccessibilityText("Feedback has been sent.",1e3),(s=this.mainContainer)!=null&&s.querySelector("."+((t=K.mainTemplate)==null?void 0:t.checkmarkClass))?setTimeout(()=>{this.closeFeedbackModal(),this.renderMainTemplate(this.generateTemplateData())},2e3):(setTimeout(()=>{this.closeFeedbackModal()},500),this.renderMainTemplate(this.generateTemplateData())))}validateEmail(e){return e===""?!0:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}attachEmailInputEvents(){var e,t;const s=(t=this.mainContainer)==null?void 0:t.querySelector("#"+((e=K.mainTemplate)==null?void 0:e.emailInputId));s&&(s.addEventListener("input",()=>{this.templateData.emailInput=s.value}),s.addEventListener("blur",()=>{setTimeout(()=>{this.validateEmail(s.value)?this.templateData.errors.email=!1:(this.templateData.errors.email=!0,ee.setAccessibilityText("Please enter a valid email address.")),this.renderMainTemplate(this.generateTemplateData())},300)}))}attachTextAreaEvents(){var e,t;const s=(t=this.mainContainer)==null?void 0:t.querySelector("#"+((e=K.mainTemplate)==null?void 0:e.feedbackTextAreaId));s&&s.addEventListener("input",()=>{var a,r;this.templateData.feedbackTextArea=s.value,this.templateData.charactersLeft=this.templateData.maxLength-s.value.length;const o=(r=this.mainContainer)==null?void 0:r.querySelector("."+((a=K.mainTemplate)==null?void 0:a.charactersRemainingContainerclass));o&&(o.innerText=this.templateData.charactersLeft+"")})}attachRatingEvents(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.ratingInputclass,a=(t=this.mainContainer)==null?void 0:t.querySelectorAll("."+s);a&&a.forEach(r=>{r.addEventListener("click",o=>{const n=o.target.value;this.templateData.ratings.forEach(l=>{l.isSelected=l.index+""===n}),this.templateData.errors.rating=!1,this.renderMainTemplate(this.generateTemplateData())})})}attachOpenModalEvent(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.openModalButtonClass,a=(t=this.mainContainer)==null?void 0:t.querySelector("."+s);a&&a.addEventListener("click",r=>{r.preventDefault(),this.toggleModal()})}toggleModal(){this.templateData.feedbackOpen?this.closeFeedbackModal():this.openFeedbackModal()}closeModalEvent(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.closeModalButtonClass,a=(t=this.mainContainer)==null?void 0:t.querySelector("."+s);a&&a.addEventListener("click",()=>{this.closeFeedbackModal()})}openFeedbackModal(){this.lastFocusedElementBeforeModal=document.activeElement,this.templateData.feedbackOpen=!0,this.renderMainTemplate(this.generateTemplateData()),setTimeout(()=>{const e=this.getModalElement();if(e){const t=this.getFocusableElements(e);t.length>0&&t[0].focus()}this.attachFocusTrap()},0),ee.setAccessibilityText("Feedback form opened",1e3)}closeFeedbackModal(){this.templateData.feedbackOpen=!1,this.focusTrapListener&&(document.removeEventListener("keydown",this.focusTrapListener),this.focusTrapListener=null),this.renderMainTemplate(this.generateTemplateData()),this.lastFocusedElementBeforeModal&&(this.lastFocusedElementBeforeModal.focus(),this.lastFocusedElementBeforeModal=null),ee.setAccessibilityText("Feedback form closed",1e3)}showCheckmarkAnimation(){var e,t,s,a,r,o;const n=(e=K.mainTemplate)==null?void 0:e.submitButtonClass,l=(t=this.mainContainer)==null?void 0:t.querySelector("."+n);l&&(l.disabled=!0);const c=(s=K.mainTemplate)==null?void 0:s.checkmarkClass,g=(a=this.mainContainer)==null?void 0:a.querySelector("."+c);g&&g.classList.remove("hidden");const m=(r=K.mainTemplate)==null?void 0:r.submitButtonTextClass,p=(o=this.mainContainer)==null?void 0:o.querySelector("."+m);p&&p.classList.add("visibility"),setTimeout(()=>{g&&g.classList.add("hidden"),p&&p.classList.remove("visibility"),l&&(l.disabled=!1)},2e3)}destroy(){this.focusTrapListener&&(document.removeEventListener("keydown",this.focusTrapListener),this.focusTrapListener=null)}}class Kr{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"answerContainer",null),h(this,"showMoreVisible",!1),h(this,"renderFeedbackWidget",!1),h(this,"clicked",!1),h(this,"renderedWithShowMore",!1);var t;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.renderFeedbackWidget=((t=this.config.feedbackwidget)==null?void 0:t.renderFeedbackWidget)||!1,this.config.showMoreAfterWordCount&&(this.dataLayer.answerWidgetShowMoreLimit=this.config.showMoreAfterWordCount),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.clicked?this.showMoreVisible=!1:this.showMoreVisible=this.dataLayer.parsedData.shouldShowAnswerLoadMore,this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answerLoading.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answerError.subscribe(e=>{e&&setTimeout(()=>{this.renderMainTemplate(this.generateTemplateData())},100)}),this.dataLayer.$searchObject.subscribe(()=>{this.clicked=!1,this.renderedWithShowMore=!1,this.showMoreVisible=!1}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answer.subscribe(e=>{e&&setTimeout(()=>{this.initializeWidget()},600)}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.dataLayer.$answer.getValue()&&setTimeout(()=>{this.initializeWidget()},600)})}searchstaxFeedbackTextAreaOverride(){return"Question: "+(this.dataLayer.searchObject.query==="undefined"?"":this.dataLayer.searchObject.query)+" Answer: "+this.dataLayer.parsedData.getAnswerData}initializeWidget(){var e,t,s,a,r;this.renderFeedbackWidget&&document.getElementById("feedbackWidgetContainer")&&!this.dataLayer.answerLoading&&new Gr({analyticsKey:this.dataLayer.parsedData.trackingData.trackApiKey,containerId:"feedbackWidgetContainer",lightweight:!0,model:this.dataLayer.parsedData.trackingData.model,language:this.dataLayer.parsedData.trackingData.language,emailOverride:(e=this.config.feedbackwidget)==null?void 0:e.emailOverride,feedbackTextAreaOverride:((t=this.config.feedbackwidget)==null?void 0:t.searchstaxFeedbackTextAreaOverride)??this.searchstaxFeedbackTextAreaOverride.bind(this),thumbsUpValue:((s=this.config.feedbackwidget)==null?void 0:s.thumbsUpValue)??10,thumbsDownValue:((a=this.config.feedbackwidget)==null?void 0:a.thumbsDownValue)??0,lightweightTemplateOverride:(r=this.config.feedbackwidget)==null?void 0:r.lightweightTemplateOverride})}showMore(e){e.preventDefault(),this.clicked=!0,this.showMoreVisible=!1,this.renderMainTemplate(this.generateTemplateData()),setTimeout(()=>{this.initializeWidget()},600)}attachClickEventToShowMore(){const e=document.querySelector(".searchstax-answer-load-more-button");e&&e.addEventListener("click",this.showMore.bind(this))}trackLinkClick(e){e.preventDefault(),e.stopPropagation();const t=e.target.getAttribute("href");xe.trackAnswerLinkClick({href:t,answer:this.dataLayer.parsedData.getAnswerData,...this.dataLayer.parsedData.trackingData}).then(()=>{window.open(t,"_blank")}).catch(()=>{window.open(t,"_blank")})}attachLinkTracking(){document.querySelectorAll(".searchstax-answer-link").forEach(e=>{e.getAttribute("listener")!=="true"&&(e.setAttribute("listener","true"),e.addEventListener("click",this.trackLinkClick.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)||C.answer.main.template;this.dataLayer.renderingEngine===G.mustache?(!this.renderedWithShowMore||!e.answerLoading||this.clicked)&&(e.showMoreButtonVisible&&(this.renderedWithShowMore=!0),this.answerContainer.innerHTML=$.render(r,e),setTimeout(()=>{this.attachClickEventToShowMore(),this.attachLinkTracking()},100)):setTimeout(()=>{this.attachLinkTracking()},500)}generateTemplateData(){const e={...this.dataLayer.parsedData.data,showMoreButtonVisible:this.showMoreVisible};return this.dataLayer.setAnswerFullData(e),e}}class Ts{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"currentSelectValue",""),h(this,"locationInput"),h(this,"radiusInput"),h(this,"locationDecode"),h(this,"locationDecodeCoordinatesToAddress");var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.locationDecode=(t=e.config.hooks)==null?void 0:t.locationDecode,this.locationDecodeCoordinatesToAddress=(s=e.config.hooks)==null?void 0:s.locationDecodeCoordinatesToAddress,this.dataLayer.locationEnabled&&this.dataLayer.$inputTemplateRendered.subscribeUntil(()=>{this.renderMainTemplate(),this.attachSubscriptions()},!0,500)}renderMainTemplate(){var e,t,s,a,r,o,n,l;if(typeof document<"u"){const c=document==null?void 0:document.getElementById(this.containerId);if(!c)throw new Error("Search input container not found");const g=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||C.location.mainTemplate.template,m={...this.dataLayer.parsedData.data};if(this.dataLayer.setLocationWidgetTemplateData(m),this.dataLayer.renderingEngine===G.mustache){const p=$.render(g,m);c.innerHTML=p;const y=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.locationInputId)||C.location.mainTemplate.locationInputId,x=document==null?void 0:document.querySelector(`#${y}`);if(x)this.locationInput=x,x.addEventListener("blur",this.blurEvent.bind(this)),x.addEventListener("focus",this.focusEvent.bind(this));else throw new Error("Input not found");const f=((o=(r=this.config.templates)==null?void 0:r.mainTemplate)==null?void 0:o.radiusInputId)||C.location.mainTemplate.radiusInputId,w=document==null?void 0:document.querySelector(`#${f}`);w instanceof HTMLSelectElement&&(this.radiusInput=w,w.addEventListener("change",this.radiusSelectChangeEvent.bind(this)));const S=((l=(n=this.config.templates)==null?void 0:n.mainTemplate)==null?void 0:l.currentLocationActionButtonId)||C.location.mainTemplate.currentLocationActionButtonId,A=document==null?void 0:document.querySelector(`#${S}`);A&&A.addEventListener("click",this.getCurrentLocation.bind(this))}}}setCurrentLocationFields(e){this.dataLayer.setLocationCoordinatesDecoded(e),this.dataLayer.setSearchLocation(this.dataLayer.searchLocationCoordinatesDecoded),this.dataLayer.renderingEngine===G.mustache&&this.locationInput&&(this.locationInput.value=this.dataLayer.searchLocationCoordinatesDecoded)}getCurrentLocation(){navigator.geolocation?navigator.geolocation.getCurrentPosition(e=>{const t=e.coords.latitude.toString(),s=e.coords.longitude.toString(),a=Math.floor(parseFloat(t)*100)/100,r=Math.floor(parseFloat(s)*100)/100;this.dataLayer.setSearchLat(a+""),this.dataLayer.setSearchLong(r+"");const o=this.locationDecodeCoordinatesToAddress;o?o(a+"",r+"").then(n=>{this.setCurrentLocationFields(n.address||"Current Location")}).catch(()=>{this.setCurrentLocationFields("Current Location")}):this.setCurrentLocationFields("Current Location")},()=>{console.error("Unable to retrieve your location")}):console.error("Geolocation is not supported by this browser.")}setRadiusValue(e){this.dataLayer.setSearchRadius(e)}radiusSelectChangeEvent(e){this.currentSelectValue=e.target.value,this.setRadiusValue(this.currentSelectValue)}attachSubscriptions(){this.dataLayer.$searchObject.subscribe(e=>{this.locationInput&&(this.locationInput.value=this.cleanSuggestionTerm(e.location.address??"")),this.radiusInput&&e.location.radius&&(this.radiusInput.value=e.location.radius||"")})}cleanSuggestionTerm(e){return te.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}triggerGeocoder(e){const t=this.locationDecode;this.dataLayer.setLocationDecodingLoading(!0),e&&this.dataLayer.searchLocation!==e&&e!==this.dataLayer.searchLocationCoordinatesDecoded?t(e).then(s=>{this.dataLayer.setSearchLocation(s.address||""),this.dataLayer.setSearchLat(s.lat||""),this.dataLayer.setSearchLong(s.lon||""),this.locationInput&&(this.locationInput.value=this.cleanSuggestionTerm(s.address||"")),this.dataLayer.renderingEngine===G.mustache&&s.error&&this.locationInput&&this.locationInput.classList.add("searchstax-input-location-error"),s.error?this.dataLayer.setLocationError(!0):this.dataLayer.setLocationError(!1),this.dataLayer.setLocationDecodingLoading(!1)}).catch(()=>{this.dataLayer.setLocationDecodingLoading(!1)}):e===""&&(this.dataLayer.setSearchLocation(void 0),this.dataLayer.setSearchLat(void 0),this.dataLayer.setSearchLong(void 0),this.dataLayer.setLocationDecodingLoading(!1))}focusEvent(e){e.target.classList.remove("searchstax-input-location-error"),this.dataLayer.setLocationError(!1)}blurEvent(e){const t=e.target.value;this.triggerGeocoder(t)}}class Zr{constructor(e=G.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,"searchLocationWidget"),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,"locationObserver",null),h(this,"dataLayer"),h(this,"firstRequest",!0),h(this,"previousQuery",""),h(this,"eventSource",null),h(this,"renderEngine",G.mustache),e&&(this.renderEngine=e)}setRenderingEngine(e=G.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)}),setTimeout(()=>{this.dataLayer.$searchObject.subscribe(s=>{var a,r,o,n,l,c;s.query!==this.previousQuery&&this.dataLayer.setAnswerData(""),s.query!==""&&s.query!==void 0&&s.query!=="undefined"?(this.search(s),s.query!==this.previousQuery&&this.startSSE(s.query)):(a=this.dataLayer.searchLocationConfig)!=null&&a.locationSearchEnabled&&!((r=this.dataLayer.searchLocationConfig)!=null&&r.locationValuesOverride)?this.getMetadata(s):(n=(o=this.dataLayer.searchLocationConfig)==null?void 0:o.locationValuesOverride)!=null&&n.locationFilterDefaultValue&&this.dataLayer.setSearchRadius((c=(l=this.dataLayer.searchLocationConfig)==null?void 0:l.locationValuesOverride)==null?void 0:c.locationFilterDefaultValue),this.previousQuery=s.query})},10),this.dataLayer.$searchResults.subscribe(s=>{s&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&xe.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}startSSE(e){var t,s;this.eventSource&&((t=this.eventSource)==null||t.close(),this.dataLayer.setAnswerData("")),this.dataLayer.turnAIAnswerGenerationOn===!0&&this.dataLayer.questionURL&&this.dataLayer.searchObject.query!==void 0&&this.dataLayer.searchObject.query!=="undefined"&&(this.eventSource=(s=this.searchHelper)==null?void 0:s.startSSE(e,this.parseAnswerResultsResponse.bind(this)))}attachAnalyticsScript(e){xe.attachAnalyticsScript(e)}initialize(e){var t,s;if(this.dataLayer=new cr("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.questionURL&&(this.dataLayer.questionURL=e.questionURL),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),e.language&&this.dataLayer.setLanguage(e.language),e.model&&this.dataLayer.setModel(e.model),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new mr({...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 ws(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:a.itemsPerPage&&this.dataLayer.setItemsPerPage(a.itemsPerPage),a.model&&this.dataLayer.setModel(a.model),a.location&&(a.location.address&&this.dataLayer.setSearchLocation(a.location.address),a.location.lat&&this.dataLayer.setSearchLat(a.location.lat),a.location.lon&&this.dataLayer.setSearchLong(a.location.lon),a.location.radius&&this.dataLayer.setSearchRadius(a.location.radius)),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 ws({})}getMetadata(e){this.searchHelper&&(e.query==="undefined"||e.query===void 0)&&this.dataLayer.setSearchObject({...e,query:"*"})}search(e){if(this.searchHelper){const t=this.dataLayer.forceNotCorrect;this.searchHelper.url&&(this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1),this.getRelatedSearches()}}getRelatedSearches(){var e;this.searchHelper&&this.relatedSearchesConfig&&(e=this.relatedSearchesConfig)!=null&&e.relatedSearchesURL&&this.dataLayer.searchObject.query!==void 0&&this.dataLayer.searchObject.query!=="undefined"&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var t,s;const a=(((t=e.response)==null?void 0:t.docs)??[]).map((o,n)=>({...o,position:n+1})),r=[];for(const o of a)r.push({relatedSearch:o.related_search,position:o.position});this.dataLayer.setSearchRelatedSearches(a),this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&r.length&&xe.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:r,totalRelatredSearches:((s=this.dataLayer.searchRelatedSearches)==null?void 0:s.length)??0})}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponseMetadata(e){var t,s,a,r;const o=pt.extractSearchResultsMetadata(e),n=((s=(t=this.dataLayer.searchLocationConfig)==null?void 0:t.locationValuesOverride)==null?void 0:s.locationFilterDefaultValue)??((r=(a=o.location)==null?void 0:a.filter)==null?void 0:r.defaultValue);!this.dataLayer.searchRadius&&n&&this.dataLayer.setSearchRadius(n),this.dataLayer.setSearchResultsMetadata(o)}parseSearchResultsResponse(e){var t,s;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows)),this.dataLayer.setModel(e.responseHeader.params.model);let a=pt.combineResultsWithMetadata(e),r=pt.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??[]),this.parseSearchResultsResponseMetadata(e),this.dataLayer.setSearchResults(a)}parseAnswerResultsResponse(e){this.handleRouter(),e!==Ye.question&&e!==Ye.notQuestion&&(this.dataLayer.setAnswerLoading(!0),this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e))}cacheFacets(e){var t,s;e?(t=this.searchHelper)==null||t.cacheFacets(!0).then(()=>{}):(s=this.searchHelper)==null||s.cacheFacets().then(()=>{})}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.$locationEnabled.subscribeUntilHasValue(()=>{this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Ur({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer})},200)}addSearchLocationWidget(e,t){var s,a;this.dataLayer.searchLocationConfig||(t.locationSearchEnabled?(this.dataLayer.setLocationEnabled(!0),this.dataLayer.setSearchLocationConfig(t),t.locationValuesOverride?(this.searchLocationWidget=new Ts({containerId:e,config:t,dataLayer:this.dataLayer}),(s=t==null?void 0:t.locationValuesOverride)!=null&&s.locationFilterDefaultValue&&this.dataLayer.setSearchRadius((a=t==null?void 0:t.locationValuesOverride)==null?void 0:a.locationFilterDefaultValue)):this.dataLayer.$searchResultsMetadata.subscribeUntilHasValue(()=>{this.searchLocationWidget=new Ts({containerId:e,config:t,dataLayer:this.dataLayer})},0)):this.dataLayer.setLocationEnabled(!1))}addAnswerWidget(e,t){this.dataLayer.turnAIAnswerGenerationOn=!0,this.startSSE(this.dataLayer.searchObject.query),this.dataLayer.setAnswerData(""),this.answerWidget=new Kr({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Yr({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 qr({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Br({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new Jr({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Hr({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 Vr({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Qr({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){const s={...this.dataLayer.searchObject};s.query=te.removeXSSRiskyTags(e),s.page=1,s.facets=[],s.location={...s.location},this.locationObserver&&this.dataLayer.$locationDecodingLoading.unsubscribe(this.locationObserver),this.locationObserver=this.dataLayer.$locationDecodingLoading.subscribeUntil(()=>{var a,r;s.location.address=this.dataLayer.searchLocation,s.location.radius=this.dataLayer.searchRadius,s.location.lat=this.dataLayer.searchLat,s.location.lon=this.dataLayer.searchLong,this.dataLayer.forceNotCorrect=!!t;let o=(a=this.routerHelper)==null?void 0:a.searchObjectToParams(s);o&&(o=(r=this.routerHelper)==null?void 0:r.extractParamsThatDoNotStartWithRouteName(o)),o&&(s.additionalProps=Object.keys(o).map(n=>o?{key:n,value:o[n]}:{key:"",value:""})),this.dataLayer.setSearchObject(s),this.dataLayer.lastSearchValue=s.query},!1)}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){var t;this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&xe.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e,totalRelatredSearches:((t=this.dataLayer.searchRelatedSearches)==null?void 0:t.length)??0})}executeLinkClick(e){var t,s;let a=pt.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&&xe.trackClick({result:a,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(a==null?void 0:a.url)??"")}).catch(()=>{typeof window<"u"&&(window.location.href=(a==null?void 0:a.url)??"")}))}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 b={searchstax:new Zr("react")};function qs(i,e,t,s,a,r,o,n){return u.jsx(u.Fragment,{children:i&&u.jsx("div",{className:"searchstax-location-input-container","data-test-id":"searchstax-location-input-container",children:u.jsxs("div",{className:"searchstax-location-input-wrapper",children:[u.jsx("span",{className:"searchstax-location-input-label",children:"NEAR"}),u.jsxs("div",{className:"searchstax-location-input-wrapper-inner",children:[u.jsx("input",{type:"text",id:"searchstax-location-input",className:"searchstax-location-input"+(n?" searchstax-input-location-error":""),placeholder:"Zip, Postal Code or City...","aria-label":"Search Location Input","data-test-id":"searchstax-location-input",value:r??"",onChange:l=>e(l.target.value),onBlur:l=>t(l.target.value)}),u.jsx("button",{onClick:a,className:"searchstax-get-current-location-button",children:"Use my current location"})]}),i.shouldShowLocationDistanceDropdown&&u.jsx("span",{className:"searchstax-location-input-label",children:"WITHIN"}),i.shouldShowLocationDistanceDropdown&&u.jsx("select",{id:"searchstax-location-radius-select",className:"searchstax-location-radius-select","aria-label":"Search Location Radius Select","data-test-id":"searchstax-location-radius-select",onChange:l=>s(l.target.value),value:o,children:i.locationSearchDistanceValues.map(({value:l,label:c})=>u.jsx("option",{value:l,children:c},l))})]})})})}function Hs(i){let e=!1;const[t,s]=E.useState(null),[a,r]=E.useState(null),[o,n]=E.useState(!1),[l,c]=E.useState(void 0),[g]=E.useState(Math.random());E.useEffect(()=>{if(m(),b.searchstax)b.searchstax.addSearchLocationWidget("search-location-container"+g,{hooks:i.hooks,locationSearchEnabled:i.locationSearchEnabled,locationValuesOverride:i.locationValuesOverride});else throw Error("Searchstax instance needs to be passed via props")},[]);function m(){e||(b.searchstax.dataLayer.$locationWidgetTemplateData.subscribe(f=>{s(f)}),b.searchstax.dataLayer.$searchObject.subscribe(f=>{r(f.location.address??""),c(f.location.radius||"")}),b.searchstax.dataLayer.$searchLocationChange.subscribe(f=>{r(f)}),b.searchstax.dataLayer.$searchRadiusChange.subscribe(f=>{c(f)}),b.searchstax.dataLayer.$locationError.subscribe(f=>{n(f)}),e=!0)}function p(){var f;(f=b.searchstax.searchLocationWidget)==null||f.getCurrentLocation()}function y(f){var w;c(f),(w=b.searchstax.searchLocationWidget)==null||w.setRadiusValue(f+"")}function x(f){var w;r(f),(w=b.searchstax.searchLocationWidget)==null||w.triggerGeocoder(f)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-location-container"+g,children:[!i.searchLocationTemplate&&t&&u.jsx(u.Fragment,{children:qs(t,r,x,y,p,a,l,o)}),i.searchLocationTemplate&&u.jsx(u.Fragment,{children:i.searchLocationTemplate(t,r,x,y,p,a,l,o)})]})})}const Es={appId:"APP_ID",relatedSearchesAPIKey:"KEY"},Pt={locationDecode:i=>new Promise(e=>{const t="GEOCODING_API_KEY",s=`https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(i)}&key=${t}`;fetch(s).then(a=>a.json()).then(a=>{if(a.status==="OK"&&a.results.length>0){const r=a.results[0],o={lat:r.geometry.location.lat,lon:r.geometry.location.lng,address:r.formatted_address};e(o)}else e({address:void 0,lat:void 0,lon:void 0,error:!0})}).catch(()=>{e({address:void 0,lat:void 0,lon:void 0,error:!0})})}),locationDecodeCoordinatesToAddress:(i,e)=>new Promise(t=>{fetch(`https://geocoding-staging.searchstax.co/reverse?location=${i},${e}&components=country:US&app_id=${Es.appId}`,{method:"GET",headers:{Authorization:`Token ${Es.relatedSearchesAPIKey}`}}).then(s=>s.json()).then(s=>{if(s.status==="OK"&&s.results.length>0){const a=s.results[0];t({address:a.formatted_address,lat:i,lon:e,error:!1})}else t({address:void 0,lat:i,lon:e,error:!0})}).catch(()=>{t({address:void 0,lat:i,lon:e,error:!0})})}),locationSearchEnabled:!1,locationValuesOverride:{locationDistanceEnabled:!0,filterValues:["any","1000"],filterUnit:"miles",locationFilterDefaultValue:"any"}};function Xr(i,e,t,s){return u.jsxs(u.Fragment,{children:[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 ${i.length===0?"hidden":""}`,onMouseLeave:e,children:i.map(function(a){return u.jsx("div",{className:"searchstax-autosuggest-item",children:u.jsx("div",{className:"searchstax-autosuggest-item-term-container",tabIndex:0,dangerouslySetInnerHTML:{__html:a.term},onMouseOver:()=>{t(a)},onClick:()=>{s()}})},a.term)})})]}),u.jsx(Hs,{searchLocationTemplate:qs,hooks:{locationDecode:Pt.locationDecode,locationDecodeCoordinatesToAddress:Pt.locationDecodeCoordinatesToAddress},locationSearchEnabled:Pt.locationSearchEnabled,locationValuesOverride:Pt.locationValuesOverride}),u.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button","aria-label":"search"})]})}function en(i){let e=!1;const[t,s]=E.useState([]),[a,r]=E.useState(null);E.useEffect(()=>{if(o(),b.searchstax){const g={};i.afterAutosuggest&&(g.afterAutosuggest=i.afterAutosuggest),i.beforeAutosuggest&&(g.beforeAutosuggest=i.beforeAutosuggest),b.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:i.suggestAfterMinChars,hooks:g,templates:{mainTemplate:{template:"",searchInputId:i.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props");b.searchstax.dataLayer.setInputTemplateRendered(!0)},[]);function o(){e||(b.searchstax.dataLayer.$autosuggestResults.subscribe(g=>{s((g==null?void 0:g.suggestions)??[])}),b.searchstax.dataLayer.$inputWidgetTemplateData.subscribe(g=>{r(g)}),e=!0)}function n(){var g,m;(g=b.searchstax.searchInputWidget)==null||g.resetAutosuggestSelection(),(m=b.searchstax.searchInputWidget)==null||m.markActiveAutosuggestItem()}function l(g){var m;(m=b.searchstax.searchInputWidget)==null||m.onSuggestionEnter(g)}function c(){var g;(g=b.searchstax.searchInputWidget)==null||g.suggestionChosen()}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-input-container",children:u.jsxs("div",{className:`searchstax-search-input-container searchstax-search-input-container-new ${a!=null&&a.locationEnabled?"searchstax-alternative-render":""}`,children:[!i.inputTemplate&&u.jsx(u.Fragment,{children:Xr(t,n,l,c)}),i.inputTemplate&&u.jsx(u.Fragment,{children:i.inputTemplate(t,n,l,c,a)})]})})})}function tn(i){const[e,t]=E.useState(!1);return E.useEffect(()=>{const s={};i.beforeSearch&&(s.beforeSearch=i.beforeSearch),i!=null&&i.afterSearch&&(s.afterSearch=i.afterSearch),b.searchstax.initialize({language:i.language??"en",model:i.model,sessionId:i.sessionId,searchURL:i.searchURL,questionURL:i.questionURL,suggesterURL:i.suggesterURL,trackApiKey:i.trackApiKey,searchAuth:i.searchAuth,authType:i.authType??"basic",autoCorrect:i.autoCorrect,router:i.router,hooks:s,analyticsBaseUrl:i.analyticsBaseUrl,analyticsSrc:i.analyticsSrc}),setTimeout(()=>{t(!0)},100),i.initialized(b.searchstax)},[]),u.jsx(u.Fragment,{children:e&&u.jsxs(u.Fragment,{children:[" ",i.children," "]})})}function an(i,e,t){return u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",u.jsx("strong",{children:"no results"})," for ",u.jsxs("strong",{children:['"',i,'"']}),u.jsx("br",{}),(e==null?void 0:e.spellingSuggestion)&&u.jsxs("span",{children:[" Did you mean"," ",u.jsx("a",{href:"#","aria-label":`Did you mean ${e==null?void 0:e.spellingSuggestion}`,className:"searchstax-suggestion-term",onClick:s=>{s.preventDefault(),t(e==null?void 0:e.spellingSuggestion)},children:e==null?void 0:e.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."})]})]})}function sn(i,e){return u.jsx(u.Fragment,{children:i&&i.length&&u.jsx("div",{className:"searchstax-search-results","aria-live":"polite",children:i!==null&&i.map(function(t){return u.jsx("a",{href:t.url??"",onClick:s=>{e(t,s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&e(t,s)},"data-searchstax-unique-result-id":t.uniqueId,"aria-labelledby":`title-${t.uniqueId}`,className:"searchstax-result-item-link searchstax-result-item-link-wrapping",tabIndex:0,children:u.jsxs("div",{className:`searchstax-search-result ${t.thumbnail?"has-thumbnail":""}`,children:[t.promoted&&u.jsx("div",{className:"searchstax-search-result-promoted"}),t.ribbon&&u.jsx("div",{className:"searchstax-search-result-ribbon",dangerouslySetInnerHTML:{__html:t.ribbon}}),t.thumbnail&&u.jsx("img",{alt:"",src:t.thumbnail,className:"searchstax-thumbnail"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",id:`title-${t.uniqueId}`,dangerouslySetInnerHTML:{__html:t.title??""}})}),t.paths&&u.jsx("p",{className:"searchstax-search-result-common",tabIndex:0,dangerouslySetInnerHTML:{__html:t.paths}}),t.description&&u.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",tabIndex:0,dangerouslySetInnerHTML:{__html:t.description}}),t.unmappedFields.map(function(s){return u.jsxs("div",{children:[s.isImage&&typeof s.value=="string"&&u.jsx("div",{className:"searchstax-search-result-image-container",children:u.jsx("img",{alt:"",src:s.value,className:"searchstax-result-image"})}),!s.isImage&&u.jsx("div",{children:u.jsx("p",{tabIndex:0,className:"searchstax-search-result-common",dangerouslySetInnerHTML:{__html:s.value}})})]},s.key)})]},t.uniqueId)},t.uniqueId)})})})}function rn(i){const[e,t]=E.useState(null),s=E.useRef();s.current=e;const[a,r]=E.useState(""),[o,n]=E.useState(null),l=(m,p)=>{p.preventDefault(),p.stopPropagation(),b.searchstax.executeLinkClick(m.uniqueId)};E.useEffect(()=>{g();const m={};i.afterLinkClick&&(m.afterLinkClick=i.afterLinkClick),b.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},renderMethod:i.renderMethod??"pagination",resultsPerPage:i.resultsPerPage,hooks:m})},[]);function c(m){b.searchstax.executeSearch(m)}function g(){b.searchstax.dataLayer.$searchResults.subscribe(m=>{var f;const p=s.current??[],y=m??[],x=i.renderMethod==="infiniteScroll"?[...p,...y]:m;((f=b.searchstax.dataLayer.$searchObject.value)==null?void 0:f.page)===1?t(y):t(x)}),b.searchstax.dataLayer.$searchTermChange.subscribe(m=>{r(m)}),b.searchstax.dataLayer.$searchResultsMetadata.subscribe(m=>{n(m)})}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-results-container",children:u.jsx("section",{"aria-label":"search results container",tabIndex:0,children:u.jsx("div",{className:"searchstax-search-results-container",id:"searchstax-search-results-container",children:u.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&a!==""&&a!=="*"&&b.searchstax.dataLayer.parsedData.firstSearchHappened&&!i.noResultTemplate&&u.jsx(u.Fragment,{children:an(a,o,c)}),e&&e.length===0&&a!==""&&a!=="*"&&b.searchstax.dataLayer.parsedData.firstSearchHappened&&i.noResultTemplate&&u.jsx(u.Fragment,{children:i.noResultTemplate(a,o,c)}),e&&e.length>0&&!i.resultsTemplate&&sn(e,l),e&&e.length>0&&i.resultsTemplate&&u.jsx(u.Fragment,{children:i.resultsTemplate(e,l)})]})})})})})}function nn(i,e,t){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.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 ${i.isFirstPage?"disabled":""}`,tabIndex:0,style:i!=null&&i.isFirstPage?{pointerEvents:"none"}:{},onClick:s=>{t(s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&t(s)},id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),u.jsxs("div",{className:"searchstax-pagination-details",children:[" ",i==null?void 0:i.startResultIndex," -"," ",i==null?void 0:i.endResultIndex," of"," ",i==null?void 0:i.totalResults]}),u.jsx("a",{className:`searchstax-pagination-next ${i.isLastPage?"disabled":""}`,tabIndex:0,style:i!=null&&i.isLastPage?{pointerEvents:"none"}:{},onClick:s=>{e(s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&e(s)},id:"searchstax-pagination-next",children:"Next >"})]})})})}function on(i,e){return u.jsx(u.Fragment,{children:i&&i.isInfiniteScroll&&(i==null?void 0:i.totalResults)!==0&&!(i!=null&&i.isLastPage)&&u.jsx("div",{className:"searchstax-pagination-container",children:u.jsx("a",{className:"searchstax-pagination-load-more",tabIndex:0,onClick:t=>{e(t)},onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&e(t)},children:"Show More >"})})})}function ln(i){let e=!1;const[t,s]=E.useState(!1),[a,r]=E.useState(null),[o]=E.useState(Math.random());E.useEffect(()=>{if(n(),b.searchstax)b.searchstax.addPaginationWidget("searchstax-pagination-container"+o,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function n(){e||(b.searchstax.dataLayer.$searchObject.subscribe(()=>{l()}),b.searchstax.dataLayer.$paginationData.subscribe(m=>{r(m)}),e=!0)}function l(){!t&&b.searchstax.routerHelper&&(s(!0),b.searchstax.addPaginationWidget("searchstax-pagination-container"+o,{}))}function c(m){var p;(p=b.searchstax.searchPaginationWidget)==null||p.nextPage(m)}function g(m){var p;(p=b.searchstax.searchPaginationWidget)==null||p.previousPage(m)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-pagination-container"+o,children:[!i.paginationTemplate&&a&&!a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&u.jsx(u.Fragment,{children:nn(a,c,g)}),i.paginationTemplate&&a&&!a.isInfiniteScroll&&u.jsx(u.Fragment,{children:i.paginationTemplate(a,c,g)}),!i.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx(u.Fragment,{children:on(a,c)}),i.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx(u.Fragment,{children:i.infiniteScrollTemplate(a,c)})]})})}function cn(i,e,t){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.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:t,onChange:s=>{e(s.target.value)},children:i.sortOptions.map(function(s){return u.jsx("option",{value:s.key,children:s.value},s.key)})})]})})}function hn(i){let e=!1;const[t,s]=E.useState(null),[a,r]=E.useState(""),[o]=E.useState(Math.random());E.useEffect(()=>{if(n(),b.searchstax)b.searchstax.addSearchSortingWidget("search-sorting-container"+o,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function n(){e||(b.searchstax.dataLayer.$searchSortingData.subscribe(c=>{s(c)}),b.searchstax.dataLayer.$searchObject.subscribe(c=>{r(decodeURIComponent((c==null?void 0:c.order)??""))}),e=!0)}function l(c){var g;(g=b.searchstax.searchSortingWidget)==null||g.setOrderQuery(c)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-sorting-container"+o,children:[!i.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&u.jsx(u.Fragment,{children:cn(t,l,a)}),i.searchSortingTemplate&&u.jsx(u.Fragment,{children:i.searchSortingTemplate(t,l,a)})]})})}function un(i,e){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.totalResults)>0&&u.jsxs(u.Fragment,{children:["Showing"," ",u.jsxs("b",{children:[i.startResultIndex," -"," ",i.endResultIndex]})," ","of",u.jsxs("b",{children:[" ",i.totalResults]})," results",i.searchTerm&&u.jsxs("span",{children:[' for "',u.jsx("b",{children:i.searchTerm}),'"'," "]}),u.jsx("div",{className:"searchstax-feedback-container-suggested",children:i.autoCorrectedQuery&&u.jsxs("div",{children:[" ","Search instead for"," ",u.jsx("a",{href:"#",onClick:t=>{e(t)},className:"searchstax-feedback-original-query","aria-label":`Search instead for ${i.originalQuery}`,children:i.originalQuery})]})})]})})}function dn(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addSearchFeedbackWidget("search-feedback-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchFeedbackData.subscribe(n=>{s(n)}),e=!0)}function o(n){var l;(l=b.searchstax.searchFeedbackWidget)==null||l.onOriginalQueryClick(n)}return u.jsx(u.Fragment,{children:u.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+a,children:[!i.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)>0&&u.jsx(u.Fragment,{children:un(t,o)}),i.searchOverviewTemplate&&u.jsx(u.Fragment,{children:i.searchOverviewTemplate(t,o)})]})})}function gn(i,e,t,s,a,r,o){return u.jsx("div",{className:"searchstax-facets-container-desktop",children:i==null?void 0:i.facets.map(n=>u.jsx("div",{className:`searchstax-facet-container ${t(n.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{s(n.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",n.label]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container","aria-live":"polite",children:[n.values.map((l,c)=>(e[c+n.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${l.disabled?"searchstax-facet-value-disabled":""}`,ref:e[c+n.name],children:[u.jsx("div",{className:"searchstax-facet-input desktop-"+c+n.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:r(l),readOnly:!0,"aria-label":l.value+" "+l.count,disabled:l.disabled,onClick:g=>{a(c+n.name,g,l,!0)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:g=>{a(c+n.name,g,l,!1)},children:l.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:g=>{a(c+n.name,g,l,!1)},children:["(",l.count,")"]})]},l.value+l.parentName))),n.hasMoreFacets&&u.jsx("div",{className:"searchstax-facet-show-more-container",children:u.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:l=>{o(l,n)},onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&o(l,n)},tabIndex:0,children:[n.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!n.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},n.name+"desktop"))})}function pn(i,e,t,s,a,r,o,n,l,c,g,m){return i?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:()=>{c()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),u.jsxs("div",{className:"searchstax-facets-pills-selected",children:[e.map(p=>u.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{n(p)},children:[u.jsxs("div",{className:"searchstax-facets-pill-label",children:[p.value," (",p.count,")"]}),u.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},p.value)),e.length!==0&&u.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{m()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),u.jsxs("div",{className:`searchstax-facets-mobile-overlay ${i.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:()=>{g()}})]}),u.jsx("div",{className:"searchstax-facets-container-mobile",children:i==null?void 0:i.facets.map(p=>u.jsx("div",{className:`searchstax-facet-container ${s(p.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{a(p.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",p.label," "]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container","aria-live":"polite",children:[p.values.map((y,x)=>(t[x+p.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:t[x+p.name],children:[u.jsx("div",{className:"searchstax-facet-input mobile-"+x+p.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:o(y),readOnly:!0,"aria-label":y.value+" "+y.count,disabled:y.disabled,onClick:f=>{r(x+p.name,f,y,!0,!0)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:f=>{r(x+p.name,f,y,!1)},children:y.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:f=>{r(x+p.name,f,y,!1)},children:["(",y.count,")"]})]},y.value+y.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:y=>{l(y,p)},onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&l(y,p)},tabIndex:0,role:"button",children:[p.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!p.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},p.name+"mobile"))}),u.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{g()},children:"Done"})]})]})}):u.jsx(u.Fragment,{})}function mn(i){const[e,t]=E.useState(null),[s,a]=E.useState(null),[r,o]=E.useState([]),[n,l]=E.useState({}),c={},g=Math.random();let m=!1;E.useEffect(()=>{if(p(),b.searchstax)b.searchstax.addFacetsWidget("searchstax-facets-container"+g,{facetingType:i.facetingType,specificFacets:i.specificFacets,itemsPerPageDesktop:i.itemsPerPageDesktop,itemsPerPageMobile:i.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function p(){m||(b.searchstax.dataLayer.$facetsTemplateData.subscribe(T=>{T!=null&&T.isMobile?a(T):t(T)}),b.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(T=>{o((T??[]).filter(H=>H.type==="checkbox"))}),m=!0)}function y(T){var N;(N=b.searchstax.searchFacetsWidget)==null||N.unselectFacet(T)}function x(){var T;(T=b.searchstax.searchFacetsWidget)==null||T.removeSelectedFacets()}function f(T){return!n[T]}function w(T){f(T)?l({...n,[T]:!0}):l({...n,[T]:!1})}function S(T){var N;return(N=b.searchstax.searchFacetsWidget)==null?void 0:N.isChecked(T)}function A(T,N,H,ue,Q){var Ie;const ie=Q?"mobile-":"desktop-",Me=document.getElementsByClassName(ie+T);Me[0]&&((Ie=b.searchstax.searchFacetsWidget)==null||Ie.onFacetSelect(N,H,Me[0],!1,S(H)))}function F(T,N){var H;(H=b.searchstax.searchFacetsWidget)==null||H.onShowMoreLessClick(T,N,!1)}function k(T,N){var H;(H=b.searchstax.searchFacetsWidget)==null||H.onShowMoreLessClick(T,N,!0)}function P(){var T;(T=b.searchstax.searchFacetsWidget)==null||T.openOverlay()}function z(){var T;(T=b.searchstax.searchFacetsWidget)==null||T.closeOverlay()}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-facets-container"+g,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!i.facetsTemplateDesktop&&u.jsx(u.Fragment,{children:gn(e,c,f,w,A,S,F)}),i.facetsTemplateDesktop&&u.jsx(u.Fragment,{children:i.facetsTemplateDesktop(e,c,f,w,A,S,F)}),(s==null?void 0:s.hasResultsOrExternalPromotions)&&!i.facetsTemplateMobile&&u.jsx(u.Fragment,{children:pn(s,r,c,f,w,A,S,y,k,P,z,x)}),i.facetsTemplateMobile&&u.jsx(u.Fragment,{children:i.facetsTemplateMobile(s,r,c,f,w,A,S,y,k,P,z,x)})]})})}function fn(i,e){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.hasRelatedSearches)&&u.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",u.jsx("span",{id:"searchstax-related-searches"}),i.relatedSearches&&u.jsx("span",{className:"searchstax-related-search",children:i.relatedSearches.map(t=>u.jsxs("span",{onClick:()=>{e(t)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&e(t)},tabIndex:0,className:"searchstax-related-search searchstax-related-search-item","aria-label":"Related search: "+t.related_search,children:[" ",t.related_search,!t.last&&u.jsx("span",{children:","})]},t.related_search))})]})})}function Ln(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+a,{relatedSearchesURL:i.relatedSearchesURL,relatedSearchesAPIKey:i.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(n=>{s(n)}),e=!0)}function o(n){var l;(l=b.searchstax.relatedSearchesWidget)==null||l.executeSearch(n)}return u.jsxs(u.Fragment,{children:[!i.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&u.jsx(u.Fragment,{children:fn(t,o)}),i.searchRelatedSearchesTemplate&&u.jsx(u.Fragment,{children:i.searchRelatedSearchesTemplate(t,o)})]})}function yn(i,e){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.hasExternalPromotions)&&i.externalPromotions.map(t=>u.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[u.jsx("div",{className:"icon-elevated"}),t.url&&u.jsx("a",{href:t.url,onClick:s=>{e(t,s)},className:"searchstax-result-item-link"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",children:t.name})}),t.description&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",t.description," "]}),t.url&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",t.url," "]})]},t.id))})}function xn(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(n=>{s(n)}),e=!0)}function o(n,l){var c;(c=b.searchstax.externalPromotionsWidget)==null||c.trackClick(n,l)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-external-promotions-layout-container"+a,children:[!i.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&u.jsx(u.Fragment,{children:yn(t,o)}),i.searchExternalPromotionsTemplate&&u.jsx(u.Fragment,{children:i.searchExternalPromotionsTemplate(t,o)})]})})}function wn(i,e){return u.jsx(u.Fragment,{children:i&&u.jsxs("div",{className:"searchstax-answer-wrap",children:[u.jsx("div",{className:"searchstax-answer-icon"}),u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-answer-container "+(i.showMoreButtonVisible===!0?"searchstax-answer-show-more":""),children:[u.jsx("div",{className:"searchstax-answer-title",children:"Smart Answers"}),i.shouldShowAnswerError&&u.jsx("div",{className:"searchstax-answer-error",dangerouslySetInnerHTML:{__html:i.answerErrorMessage}}),u.jsx("div",{className:"searchstax-answer-description",dangerouslySetInnerHTML:{__html:i.fullAnswerFormatted}}),i.answerLoading&&u.jsx("div",{className:"searchstax-answer-loading"})]}),i.showMoreButtonVisible===!0&&u.jsx("div",{className:"searchstax-answer-load-more-button-container",children:u.jsx("button",{className:"searchstax-answer-load-more-button",onClick:t=>{e(t)},children:"Read more"})})]}),u.jsxs("div",{className:"searchstax-answer-footer",children:[u.jsx("div",{id:"feedbackWidgetContainer"}),u.jsx("div",{className:"searchstax-lightweight-widget-separator-inline"}),u.jsx("p",{className:"searchstax-disclaimer",children:"Generative AI is Experimental"})]})]})})}function vn(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(o(),b.searchstax){const n=i.feedbackwidget??void 0;b.searchstax.addAnswerWidget("searchstax-answer-container"+a,{showMoreAfterWordCount:i.showMoreAfterWordCount,feedbackwidget:n})}else throw Error("Searchstax instance needs to be passed via props")},[]);function r(n){var l;b.searchstax&&((l=b.searchstax.answerWidget)==null||l.showMore(n))}function o(){e||(b.searchstax.dataLayer.$answerData.subscribe(n=>{s(n)}),e=!0)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-answer-container"+a,children:[!i.searchAnswerTemplate&&t&&t.shouldShowAnswer&&(t==null?void 0:t.searchExecuted)&&u.jsx(u.Fragment,{children:wn(t,r)}),i.searchAnswerTemplate&&t&&t.shouldShowAnswer&&u.jsx(u.Fragment,{children:i.searchAnswerTemplate(t,r)})]})})}exports.SearchstaxAnswerWidget=vn;exports.SearchstaxExternalPromotionsWidget=xn;exports.SearchstaxFacetsWidget=mn;exports.SearchstaxInputWidget=en;exports.SearchstaxLocationWidget=Hs;exports.SearchstaxOverviewWidget=dn;exports.SearchstaxPaginationWidget=ln;exports.SearchstaxRelatedSearchesWidget=Ln;exports.SearchstaxResultWidget=rn;exports.SearchstaxSortingWidget=hn;exports.SearchstaxWrapper=tn;
|
|
455
|
+
`,thumbsUpButtonClass:"searchstax-lightweight-widget-thumbs-up",thumbsDownButtonClass:"searchstax-lightweight-widget-thumbs-down"}};class C{}h(C,"answer",Rr),h(C,"externalPromotions",Nr),h(C,"facets",Dr),h(C,"pagination",Or),h(C,"relatedSearches",Pr),h(C,"searchFeedback",Fr),h(C,"searchInput",$r),h(C,"location",zr),h(C,"searchResults",_r),h(C,"sorting",Wr),h(C,"feedback",K);class Vr{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)||C.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 o=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(o){const n=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.externalPromotion)==null?void 0:a.template)||((r=C.externalPromotions.externalPromotion)==null?void 0:r.template);if(typeof document<"u"){const l=document==null?void 0:document.createElement("div");l.classList.add("searchstax-external-promotion"),l.addEventListener("click",c=>{this.trackClick(e,c)}),l.innerHTML=$.render(n,e),o.appendChild(l)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var t,s,a,r;const o=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.template)||((r=C.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===G.mustache){this.searchExternalPromotionsMainContainer.innerHTML=$.render(o,e);const n=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;n&&(n.innerHTML="");for(const l of e.externalPromotions)this.addExternalSearch(l)}}}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,s){this.addAccessibilityNotificationContainerToBody();const a=s??"searchAccessibility",r=document.getElementById(a);r&&r.remove();const o=document.createElement("span");o.setAttribute("id",a),o.innerHTML=e;const n=document.getElementById("searchAccessibilityContainer");n&&setTimeout(()=>{n.appendChild(o)},t??100)}}class Qr{constructor(e,t){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"routerHelper"),h(this,"cachedPhrase",""),h(this,"cachedANDFacets",""),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,"focusedElement",null),h(this,"cachedData",null),h(this,"cacheFacets"),h(this,"onFacetSelect",(s,a,r,o,n)=>{if(s.stopPropagation(),!a.disabled){const l=r.querySelector("input");let c=o?l.checked:!l.checked;n!==void 0&&(c=!n),l.checked=c;const g=this.dataLayer.searchObject;let m=[...g.facets];const p=this.extractFacetValue(a);c?m.find(y=>ge.deepEqual(y,p)?y:!1)||(this.config.facetingType==="tabs"&&(m=m.filter(y=>y.name!==p.name)),m.push(p)):m=m.filter(y=>!ge.deepEqual(y,p)),setTimeout(()=>{this.dataLayer.setSearchObject({...g,facets:m,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.config.facetingType==="tabs"),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.$searchFacetsCachedTabs.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.config.facetingType==="tabs")),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query||this.cachedANDFacets!==this.dataLayer.parsedData.cachedANDFacets?(this.cachedANDFacets=this.dataLayer.parsedData.cachedANDFacets,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.config.facetingType==="tabs"&&this.dataLayer.searchFacetsCachedTabs&&(t=this.dataLayer.searchFacetsCachedTabs),this.needDisabling&&(t=t.map(a=>{var r;const o=(r=this.dataLayer.searchFacets)==null?void 0:r.find(n=>n.name===a.name);return o?{...a,values:a.values.map(n=>{const l=o.values.find(c=>n.type==="range"?!1:n.type==="checkbox"?c.value===n.value:!1);return{...n,disabled:!l,isMobile:e}})}:{...a,values:a.values.map(n=>({...n,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,o,n,l,c,g,m,p,y,x,f,w,S,A,F;if(typeof document<"u"){const k=document==null?void 0:document.createElement("div");k.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||k.classList.add("active");const P=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:o.template)||((n=C.facets.facetItemContainerTemplate)==null?void 0:n.template);k.innerHTML=$.render(P,e),t.appendChild(k);const z=k.querySelector("."+(((g=(c=(l=this.config)==null?void 0:l.templates)==null?void 0:c.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)||((m=C.facets.facetItemContainerTemplate)==null?void 0:m.facetListTitleContainerClass)));z==null||z.addEventListener("click",()=>{k.classList.toggle("active");const N=k.classList.contains("active"),H=z.querySelector(".searchstax-facet-title");H&&H.setAttribute("aria-expanded",String(N))}),(f=z==null?void 0:z.querySelector("."+((x=(y=(p=this.config)==null?void 0:p.templates)==null?void 0:y.facetItemContainerTemplate)==null?void 0:x.facetListTitleContainerInner)))==null||f.addEventListener("keydown",N=>{if(N.code==="Enter"||N.code==="Space"){N.preventDefault(),k.classList.toggle("active");const H=k.classList.contains("active"),ue=z.querySelector(".searchstax-facet-title");ue&&ue.setAttribute("aria-expanded",String(H))}});const T=k.querySelector("."+(((A=(S=(w=this.config)==null?void 0:w.templates)==null?void 0:S.facetItemContainerTemplate)==null?void 0:A.facetListContainerClass)||((F=C.facets.facetItemContainerTemplate)==null?void 0:F.facetListContainerClass)));T&&(e.values.forEach(N=>{this.createFacetListItem(N,T,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,T,s))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(s=>ge.deepEqual(s,this.extractFacetValue(e))))}createFacetListItem(e,t,s){var a,r,o,n,l,c,g,m,p,y,x,f;if(typeof document<"u"){const w=document==null?void 0:document.createElement("div");w.classList.add("searchstax-facet-value-container"),e.disabled&&w.classList.add("searchstax-facet-value-disabled");const S=this.isChecked(e),A=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemTemplate)==null?void 0:o.template)||((n=C.facets.facetItemTemplate)==null?void 0:n.template);w.innerHTML=$.render(A,{...e,isChecked:S});let F=(l=C.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;F=((m=(g=(c=this.config)==null?void 0:c.templates)==null?void 0:g.facetItemTemplate)==null?void 0:m.checkTriggerClasses)||F,F.forEach(P=>{const z=w.querySelector("."+P);z==null||z.addEventListener("click",T=>{this.onFacetSelect(T,e,w)})});const k=w.querySelector("."+(((x=(y=(p=this.config)==null?void 0:p.templates)==null?void 0:y.facetItemTemplate)==null?void 0:x.inputCheckboxClass)||((f=C.facets.facetItemTemplate)==null?void 0:f.inputCheckboxClass)));k==null||k.addEventListener("click",P=>{this.onFacetSelect(P,e,w,!0)}),k&&(k==null||k.setAttribute("data-test-value",`${encodeURIComponent(s)}:"${encodeURIComponent(e.value)}"`)),t.appendChild(w)}}createHasMoreComponent(e,t,s){var a,r,o,n,l,c,g,m,p,y;if(typeof document<"u"){const x=document==null?void 0:document.createElement("div");x.classList.add("searchstax-facet-show-more-container");const f=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:o.template)||((n=C.facets.showMoreButtonContainerTemplate)==null?void 0:n.template);x.innerHTML=$.render(f,{...e,focusId:`moreLess${(c=(l=e==null?void 0:e.values)==null?void 0:l[0])==null?void 0:c.value}`});const w=x.querySelector("."+(((p=(m=(g=this.config)==null?void 0:g.templates)==null?void 0:m.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)||((y=C.facets.showMoreButtonContainerTemplate)==null?void 0:y.showMoreButtonClass)));w&&(this.attachOnclickToShowMore(e,w,s),t&&t.appendChild(w))}}attachOnclickToShowMore(e,t,s){t.addEventListener("click",a=>{this.onShowMoreLessClick(a,e,s)}),t.addEventListener("keydown",a=>{a.code==="Space"&&a.preventDefault()}),t.addEventListener("keyup",a=>{(a.code==="Space"||a.code==="Enter")&&(a.preventDefault(),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}`,0,`moreLess${new Date().getTime()}`),r[t.name]=r[t.name]+a):(ee.setAccessibilityText(`Less Facets shown for ${t.label}`,0,`moreLess${new Date().getTime()}`),r[t.name]=a),this.generateTemplateData(s),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var s,a,r,o,n,l,c,g,m,p,y;if(e&&(!ge.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const x=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.mainTemplateDesktop)==null?void 0:r.template)||((o=C.facets.mainTemplateDesktop)==null?void 0:o.template);if(this.dataLayer.renderingEngine===G.mustache&&this.searchFacetsMainContainer){const f=document.activeElement;f instanceof HTMLInputElement&&f.type==="checkbox"||f!=null&&f.classList.contains("searchstax-facet-show-more-button")||f!=null&&f.classList.contains("searchstax-facet-show-less-button")?this.focusedElement=f:this.focusedElement=null,this.searchFacetsMainContainer.innerHTML=$.render(x,{...e});const w=(g=this.searchFacetsMainContainer)==null?void 0:g.querySelector("."+(((c=(l=(n=this.config)==null?void 0:n.templates)==null?void 0:l.mainTemplateDesktop)==null?void 0:c.facetsContainerClass)||C.facets.mainTemplateDesktop.facetsContainerClass));if(w){w.innerHTML="";for(const S of e.facets)this.createFacetItem(S,w);if(this.searchFacetsMainContainer){const S=this.searchFacetsMainContainer.querySelector("."+(((y=(p=(m=this.config)==null?void 0:m.templates)==null?void 0:p.mainTemplateDesktop)==null?void 0:y.selectedFacetsContainerClass)||C.facets.mainTemplateDesktop.selectedFacetsContainerClass));S&&(this.createSelectedFacetsComponents(S),this.createClearFacetsComponents(S))}if(this.focusedElement){if(this.focusedElement.classList.contains("searchstax-facet-show-more-button")||this.focusedElement.classList.contains("searchstax-facet-show-less-button")){const F=this.focusedElement.getAttribute("data-focus"),k=this.searchFacetsMainContainer.querySelector(`[data-focus="${F}"]`);k instanceof HTMLElement&&k.focus(),this.focusedElement=null;return}const S=this.focusedElement.getAttribute("data-test-value"),A=this.searchFacetsMainContainer.querySelector(`[data-test-value="${S}"]`);A instanceof HTMLInputElement&&A.focus(),this.focusedElement=null}}}setTimeout(()=>{document.querySelectorAll(".searchstax-facet-title").forEach(f=>{f.setAttribute("aria-expanded",String(!0)),f.setAttribute("tabindex","0"),f.setAttribute("role","button")})},100),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 o=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,n=o==null?void 0:o.find(l=>l.name===a);if(n){const l=n.values.find(c=>c.type==="range"?!1:c.type==="checkbox"?`"${c.value}"`==`"${r}"`:!1);l&&e.push(l)}}}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,o,n,l,c;if(typeof document<"u"){const g=this.dataLayer.searchObject,m=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.clearFacetsTemplate)==null?void 0:a.template)||((r=C.facets.clearFacetsTemplate)==null?void 0:r.template),p=document==null?void 0:document.createElement("div");p.innerHTML=$.render(m,{shouldShow:g.facets.length>0});const y=p.querySelector("."+(((l=(n=(o=this.config)==null?void 0:o.templates)==null?void 0:n.clearFacetsTemplate)==null?void 0:l.containerClass)||((c=C.facets.clearFacetsTemplate)==null?void 0:c.containerClass)));y&&(y.addEventListener("click",()=>{this.removeSelectedFacets()}),y.addEventListener("keyup",x=>{(x.code==="Space"||x.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(y))}}createSelectedFacetsComponent(e,t){var s,a,r,o,n,l,c,g;if(typeof document<"u"){const m=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.selectedFacetsTemplate)==null?void 0:r.template)||((o=C.facets.selectedFacetsTemplate)==null?void 0:o.template),p=document==null?void 0:document.createElement("div");p.innerHTML=$.render(m,t);const y=p.querySelector("."+(((c=(l=(n=this.config)==null?void 0:n.templates)==null?void 0:l.selectedFacetsTemplate)==null?void 0:c.containerClass)||((g=C.facets.selectedFacetsTemplate)==null?void 0:g.containerClass)));y&&(y.addEventListener("click",()=>{this.unselectFacet(t)}),y.addEventListener("keyup",x=>{(x.code==="Space"||x.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(y))}}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,o,n,l,c;if(typeof document<"u"){const g=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.filterByTemplate)==null?void 0:a.template)||((r=C.facets.filterByTemplate)==null?void 0:r.template),m=document==null?void 0:document.createElement("div");m.innerHTML=$.render(g,{});const p=m.querySelector("."+(((l=(n=(o=this.config)==null?void 0:o.templates)==null?void 0:n.filterByTemplate)==null?void 0:l.containerClass)||((c=C.facets.filterByTemplate)==null?void 0:c.containerClass)));p&&(e.prepend(p),p.addEventListener("click",this.openOverlay.bind(this)),p.addEventListener("keyup",y=>{(y.code==="Space"||y.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,o,n,l,c,g,m,p,y,x,f,w,S,A,F,k;if(e&&typeof document<"u"){const P=document==null?void 0:document.createElement("div");P.classList.add("searchstax-facets-container-mobile");const z=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplateMobile)==null?void 0:a.template)||((r=C.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===G.mustache){if(P.innerHTML=$.render(z,{...e,overlayOpened:this.overlayOpened}),(o=this.searchFacetsMainContainer)==null||o.appendChild(P),(l=(n=this.config)==null?void 0:n.templates)!=null&&l.mainTemplateMobile)for(const ue of((m=(g=(c=this.config)==null?void 0:c.templates)==null?void 0:g.mainTemplateMobile)==null?void 0:m.closeOverlayTriggerClasses)||[]){const Q=P.querySelector("."+ue);Q&&(Q.addEventListener("click",this.closeOverlay.bind(this)),Q.addEventListener("keyup",ie=>{(ie.code==="Space"||ie.code==="Enter")&&this.closeOverlay()}))}else for(const ue of C.facets.mainTemplateMobile.closeOverlayTriggerClasses){const Q=P.querySelector("."+ue);Q&&(Q.addEventListener("click",this.closeOverlay.bind(this)),Q.addEventListener("keyup",ie=>{(ie.code==="Space"||ie.code==="Enter")&&this.closeOverlay()}))}const T=P.querySelector("."+(((x=(y=(p=this.config)==null?void 0:p.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:x.filterByContainerClass)||C.facets.mainTemplateMobile.filterByContainerClass));T&&this.createFilterByComponent(T);const N=P.querySelector("."+(((S=(w=(f=this.config)==null?void 0:f.templates)==null?void 0:w.mainTemplateMobile)==null?void 0:S.selectedFacetsContainerClass)||C.facets.mainTemplateMobile.selectedFacetsContainerClass));N&&(this.createSelectedFacetsComponents(N),this.createClearFacetsComponents(N));const H=P.querySelector("."+(((k=(F=(A=this.config)==null?void 0:A.templates)==null?void 0:F.mainTemplateMobile)==null?void 0:k.facetsContainerClass)||C.facets.mainTemplateMobile.facetsContainerClass));if(H){H.innerHTML="";for(const ue of e.facets)this.createFacetItem(ue,H,!0)}}}}}class qr{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,o,n,l,c,g;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)??C.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((n=(o=(r=this.config)==null?void 0:r.templates)==null?void 0:o.mainTemplate)==null?void 0:n.nextButtonClass)??C.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((g=(c=(l=this.config)==null?void 0:l.templates)==null?void 0:c.infiniteScrollTemplate)==null?void 0:g.loadMoreButtonClass)??C.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),document.body.tabIndex=-1,document.body.focus()}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,o,n,l,c,g,m;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 p=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:o.template)||((n=C.pagination.mainTemplate)==null?void 0:n.template);this.dataLayer.isInfiniteScroll&&(p=((g=(c=(l=this.config)==null?void 0:l.templates)==null?void 0:c.infiniteScrollTemplate)==null?void 0:g.template)||((m=C.pagination.infiniteScrollTemplate)==null?void 0:m.template)),this.dataLayer.renderingEngine===G.mustache&&(this.searchPaginationMainContainer.innerHTML=$.render(p,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Hr{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)||C.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,o,n;if(typeof document<"u"){const l=document==null?void 0:document.createElement("div"),c=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.relatedSearch)==null?void 0:r.template)||C.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===G.mustache){l.innerHTML=$.render(c,e);const g=l.querySelector("."+(((n=(o=this.config.templates)==null?void 0:o.relatedSearch)==null?void 0:n.relatedSearchContainerClass)||C.relatedSearches.relatedSearch.relatedSearchContainerClass));g&&(t.appendChild(g),g.addEventListener("click",()=>{this.executeSearch(e)}),g.addEventListener("keyup",m=>{(m.code==="Space"||m.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 o=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||C.relatedSearches.main.template;if(this.dataLayer.renderingEngine===G.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=$.render(o,e);const n=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(n)for(const l of e.relatedSearches)this.addRelatedSearchComponent(l,n)}}}class Br{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 o=(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=C.searchFeedback.main)==null?void 0:a.originalQueryClass)));o&&o.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)||C.searchFeedback.main.template;this.dataLayer.renderingEngine===G.mustache&&(this.searchFeedbackMainContainer.innerHTML=$.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class Ur{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.dataLayer.$locationEnabled.subscribeUntilHasValue(()=>{this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())},200)}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 o=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||C.searchInput.mainTemplate.template,n={...this.dataLayer.parsedData.data,locationEnabled:!!this.dataLayer.locationEnabled};if(this.dataLayer.setInputWidgetTemplateData(n),this.dataLayer.renderingEngine===G.mustache){const g=$.render(o,n);r.innerHTML=g,this.dataLayer.setInputTemplateRendered(!0)}const l=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.searchInputId)||C.searchInput.mainTemplate.searchInputId,c=document==null?void 0:document.querySelector(`#${l}`);if(c)this.searchInput=c,c.addEventListener("keyup",this.inputKeyupEvent.bind(this)),c.addEventListener("blur",this.hideAutosuggest.bind(this)),c.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===G.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.executeSearch(((e=this.searchInput)==null?void 0:e.value)??"")}))}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(){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-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}}selectPreviousAutosuggestItem(e){var t;this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem===0?(this.selectedAutosuggestItem=-1,e&&e!=null&&e.focus&&((t=e==null?void 0:e.focus)==null||t.call(e),e.setSelectionRange(e.value.length,e.value.length)),ee.setAccessibilityText("No Suggestion selected")):this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem===this.autosuggestResults.suggestions.length-1?(this.selectedAutosuggestItem=-1,ee.setAccessibilityText("No Suggestion selected")):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(e.target):t==="ArrowUp"?this.selectPreviousAutosuggestItem(e.target):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(e){setTimeout(()=>{var t;this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection(),e&&e!=null&&e.focus&&((t=e==null?void 0:e.focus)==null||t.call(e),e.setSelectionRange(e.value.length,e.value.length)),ee.setAccessibilityText("No Suggestion selected")},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 o=((s=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:s.template)||((a=C.searchInput.autosuggestItemTemplate)==null?void 0:a.template);return r.innerHTML=$.render(o,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. Use Escape key to escape out of the suggestions",2e3):ee.setAccessibilityText("",0),this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(o=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(o))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Yr{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 o=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:s.template)||((a=C.searchResults.noSearchResultTemplate)==null?void 0:a.template),n=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===G.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=$.render(o,{spellingSuggestion:n,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),n&&this.searchResultsContainer){const l=this.searchResultsContainer.querySelector("a");l&&l.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),this.searchCallback(n)})}}renderResults(e){var t,s,a,r,o;if(this.dataLayer.renderingEngine===G.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 n=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.searchResultTemplate)==null?void 0:a.template)||((r=C.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(c=>$.render(n,c));((o=this.config)==null?void 0:o.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=l.join(""):this.searchResultsContainer.innerHTML=l.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}get uniqueIdAttribute(){var e,t,s,a;return((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)||((a=C.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=C.searchResults.mainTemplate)==null?void 0:a.template);this.dataLayer.renderingEngine===G.mustache&&(this.searchResultsMainContainer.innerHTML=$.render(r,{}),setTimeout(()=>{var o,n,l,c,g,m,p;const y=(l=(n=(o=this.config)==null?void 0:o.templates)==null?void 0:n.mainTemplate)!=null&&l.searchResultsContainerId?(m=(g=(c=this.config)==null?void 0:c.templates)==null?void 0:g.mainTemplate)==null?void 0:m.searchResultsContainerId:(p=C.searchResults.mainTemplate)==null?void 0:p.searchResultsContainerId,x=document==null?void 0:document.getElementById(y);if(x)this.searchResultsContainer=x;else throw new Error(`Search Results Container with id ${y} not found`)},0))}}class Jr{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)||C.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)||C.sorting.main.template;if(this.dataLayer.renderingEngine===G.mustache){this.searchSortingMainContainer.innerHTML=$.render(r,e),this.markOptionSelected();const o=document==null?void 0:document.getElementById(this.selectId);o&&o.addEventListener("change",n=>{this.setOrderQuery(n.target.value)})}}}class Gr{constructor(e){h(this,"analyticsKey"),h(this,"containerId"),h(this,"mainContainer"),h(this,"isLightweight"),h(this,"emailOverride"),h(this,"feedbackTextAreaOverride"),h(this,"mainTemplateOverride"),h(this,"lightweightTemplateOverride"),h(this,"focusedElement",null),h(this,"focusTrapListener",null),h(this,"lastFocusedElementBeforeModal",null),h(this,"templateData",{feedbackOpen:!1,ratings:[{index:1,isSelected:!1},{index:2,isSelected:!1},{index:3,isSelected:!1},{index:4,isSelected:!1},{index:5,isSelected:!1},{index:6,isSelected:!1},{index:7,isSelected:!1},{index:8,isSelected:!1},{index:9,isSelected:!1},{index:10,isSelected:!1}],emailInput:"",feedbackTextArea:"",charactersLeft:2e3,maxLength:2e3,errors:{rating:!1,email:!1},submitted:!1,thumbsUpActive:!1,thumbsDownActive:!1}),h(this,"thumbsUpValue",10),h(this,"thumbsDownValue",1),h(this,"ratedQuestion",""),h(this,"language",""),h(this,"model",""),h(this,"analyticsSrc",""),this.analyticsKey=e.analyticsKey,this.containerId=e.containerId??"sf-feedback",this.isLightweight=e.lightweight??!1,this.isLightweight&&this.templateData.ratings.unshift({index:0,isSelected:!1}),this.thumbsUpValue=e.thumbsUpValue??10,this.thumbsDownValue=e.thumbsDownValue??1,this.emailOverride=e.emailOverride,this.feedbackTextAreaOverride=e.feedbackTextAreaOverride,this.mainTemplateOverride=e.mainTemplateOverride,this.lightweightTemplateOverride=e.lightweightTemplateOverride,this.mainContainer=document.getElementById(this.containerId),this.language=e.language??"",this.model=e.model??"",this.analyticsSrc=e.analyticsSrc??"",this.init()}init(){xe.attachAnalyticsScript(this.analyticsSrc),this.renderMainTemplate(this.generateTemplateData())}generateTemplateData(){return this.templateData}renderMainTemplate(e){var t,s;const a=document.activeElement;(a instanceof HTMLInputElement||a instanceof HTMLButtonElement||a instanceof HTMLTextAreaElement||a instanceof HTMLAnchorElement)&&(a.type==="radio"||a.type==="button"||a.type==="textarea"||a instanceof HTMLAnchorElement)?this.focusedElement=a:this.focusedElement=null,this.mainContainer;let r=(t=K==null?void 0:K.mainTemplate)==null?void 0:t.template;if(this.mainTemplateOverride&&(r=this.mainTemplateOverride),this.isLightweight&&(r=(s=K.lightweightTemplate)==null?void 0:s.template,this.lightweightTemplateOverride&&(r=this.lightweightTemplateOverride)),this.mainContainer.innerHTML=$.render(r,e),this.focusedElement&&this.mainContainer){const o=this.focusedElement.type==="radio"?this.focusedElement.getAttribute("id"):this.focusedElement.getAttribute("class"),n=this.focusedElement.type==="radio"?"id":"class",l=this.mainContainer.querySelector(`[${n}="${o}"]`);(l instanceof HTMLInputElement||l instanceof HTMLButtonElement||l instanceof HTMLTextAreaElement||l instanceof HTMLAnchorElement)&&l.focus(),this.focusedElement=null}this.attachEvents()}attachEvents(){this.isLightweight?this.attachLightweightEvents():(this.attachOpenModalEvent(),this.closeModalEvent(),this.attachRatingEvents(),this.attachTextAreaEvents(),this.attachEmailInputEvents(),this.attachSubmitButtonEvents())}attachFocusTrap(){this.focusTrapListener&&document.removeEventListener("keydown",this.focusTrapListener),this.focusTrapListener=e=>{if(!this.templateData.feedbackOpen)return;const t=this.getModalElement();if(!t)return;const s=this.getFocusableElements(t);if(s.length===0)return;const a=s[0],r=s[s.length-1];e.key==="Tab"&&(e.shiftKey?(document.activeElement===a||!t.contains(document.activeElement))&&(e.preventDefault(),r==null||r.focus()):(document.activeElement===r||!t.contains(document.activeElement))&&(e.preventDefault(),a==null||a.focus())),e.key==="Escape"&&(e.preventDefault(),this.closeFeedbackModal())},document.addEventListener("keydown",this.focusTrapListener)}getFocusableElements(e){const t=["button:not([disabled])","input:not([disabled])","textarea:not([disabled])","select:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])'].join(", ");return Array.from(e.querySelectorAll(t))}getModalElement(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.modalContainerClass;return((t=this.mainContainer)==null?void 0:t.querySelector(`.${s}`))||null}attachLightweightEvents(){var e,t,s,a;const r=(e=K.lightweightTemplate)==null?void 0:e.thumbsUpButtonClass,o=(t=K.lightweightTemplate)==null?void 0:t.thumbsDownButtonClass,n=(s=this.mainContainer)==null?void 0:s.querySelector("."+r),l=(a=this.mainContainer)==null?void 0:a.querySelector("."+o);n&&n.addEventListener("click",()=>{const c=this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea;this.templateData.ratings[this.templateData.ratings.length-1].isSelected&&this.ratedQuestion===c||(this.templateData.thumbsUpActive=!0,this.templateData.thumbsDownActive=!1,this.templateData.ratings.forEach(g=>{g.isSelected=g.index===this.thumbsUpValue}),this.renderMainTemplate(this.generateTemplateData()),this.ratedQuestion=c,this.submit())}),l&&l.addEventListener("click",()=>{const c=this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea;this.templateData.ratings[0].isSelected&&this.ratedQuestion===c||(this.templateData.thumbsUpActive=!1,this.templateData.thumbsDownActive=!0,this.templateData.ratings.forEach(g=>{g.isSelected=g.index===this.thumbsDownValue}),this.renderMainTemplate(this.generateTemplateData()),this.ratedQuestion=c,this.submit())})}attachSubmitButtonEvents(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.submitButtonClass,a=(t=this.mainContainer)==null?void 0:t.querySelector("."+s);a&&a.addEventListener("click",()=>{this.checkIfValid()})}checkIfValid(){var e,t;const s=(t=this.mainContainer)==null?void 0:t.querySelector("#"+((e=K.mainTemplate)==null?void 0:e.emailInputId));this.validateEmail(s.value)?this.templateData.errors.email=!1:(this.templateData.errors.email=!0,ee.setAccessibilityText("Please enter a valid email address.")),this.templateData.ratings.some(a=>a.isSelected)?this.templateData.errors.rating=!1:(this.templateData.errors.rating=!0,ee.setAccessibilityText("Please Rate your experience.")),this.templateData.errors.rating||this.templateData.errors.email?this.renderMainTemplate(this.generateTemplateData()):this.submit()}submit(){var e,t,s;this.templateData.submitted=!0;const a=(e=this.templateData.ratings.find(r=>r.isSelected))==null?void 0:e.index;a!==void 0&&(xe.trackFeedback({trackApiKey:this.analyticsKey,email:this.emailOverride&&this.isLightweight?this.emailOverride():this.templateData.emailInput,rating:a,feedback:this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea,model:this.model?this.model:void 0,language:this.language?this.language:void 0}),this.showCheckmarkAnimation(),ee.setAccessibilityText("Feedback has been sent.",1e3),(s=this.mainContainer)!=null&&s.querySelector("."+((t=K.mainTemplate)==null?void 0:t.checkmarkClass))?setTimeout(()=>{this.closeFeedbackModal(),this.renderMainTemplate(this.generateTemplateData())},2e3):(setTimeout(()=>{this.closeFeedbackModal()},500),this.renderMainTemplate(this.generateTemplateData())))}validateEmail(e){return e===""?!0:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}attachEmailInputEvents(){var e,t;const s=(t=this.mainContainer)==null?void 0:t.querySelector("#"+((e=K.mainTemplate)==null?void 0:e.emailInputId));s&&(s.addEventListener("input",()=>{this.templateData.emailInput=s.value}),s.addEventListener("blur",()=>{setTimeout(()=>{this.validateEmail(s.value)?this.templateData.errors.email=!1:(this.templateData.errors.email=!0,ee.setAccessibilityText("Please enter a valid email address.")),this.renderMainTemplate(this.generateTemplateData())},300)}))}attachTextAreaEvents(){var e,t;const s=(t=this.mainContainer)==null?void 0:t.querySelector("#"+((e=K.mainTemplate)==null?void 0:e.feedbackTextAreaId));s&&s.addEventListener("input",()=>{var a,r;this.templateData.feedbackTextArea=s.value,this.templateData.charactersLeft=this.templateData.maxLength-s.value.length;const o=(r=this.mainContainer)==null?void 0:r.querySelector("."+((a=K.mainTemplate)==null?void 0:a.charactersRemainingContainerclass));o&&(o.innerText=this.templateData.charactersLeft+"")})}attachRatingEvents(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.ratingInputclass,a=(t=this.mainContainer)==null?void 0:t.querySelectorAll("."+s);a&&a.forEach(r=>{r.addEventListener("click",o=>{const n=o.target.value;this.templateData.ratings.forEach(l=>{l.isSelected=l.index+""===n}),this.templateData.errors.rating=!1,this.renderMainTemplate(this.generateTemplateData())})})}attachOpenModalEvent(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.openModalButtonClass,a=(t=this.mainContainer)==null?void 0:t.querySelector("."+s);a&&a.addEventListener("click",r=>{r.preventDefault(),this.toggleModal()})}toggleModal(){this.templateData.feedbackOpen?this.closeFeedbackModal():this.openFeedbackModal()}closeModalEvent(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.closeModalButtonClass,a=(t=this.mainContainer)==null?void 0:t.querySelector("."+s);a&&a.addEventListener("click",()=>{this.closeFeedbackModal()})}openFeedbackModal(){this.lastFocusedElementBeforeModal=document.activeElement,this.templateData.feedbackOpen=!0,this.renderMainTemplate(this.generateTemplateData()),setTimeout(()=>{const e=this.getModalElement();if(e){const t=this.getFocusableElements(e);t.length>0&&t[0].focus()}this.attachFocusTrap()},0),ee.setAccessibilityText("Feedback form opened",1e3)}closeFeedbackModal(){this.templateData.feedbackOpen=!1,this.focusTrapListener&&(document.removeEventListener("keydown",this.focusTrapListener),this.focusTrapListener=null),this.renderMainTemplate(this.generateTemplateData()),this.lastFocusedElementBeforeModal&&(this.lastFocusedElementBeforeModal.focus(),this.lastFocusedElementBeforeModal=null),ee.setAccessibilityText("Feedback form closed",1e3)}showCheckmarkAnimation(){var e,t,s,a,r,o;const n=(e=K.mainTemplate)==null?void 0:e.submitButtonClass,l=(t=this.mainContainer)==null?void 0:t.querySelector("."+n);l&&(l.disabled=!0);const c=(s=K.mainTemplate)==null?void 0:s.checkmarkClass,g=(a=this.mainContainer)==null?void 0:a.querySelector("."+c);g&&g.classList.remove("hidden");const m=(r=K.mainTemplate)==null?void 0:r.submitButtonTextClass,p=(o=this.mainContainer)==null?void 0:o.querySelector("."+m);p&&p.classList.add("visibility"),setTimeout(()=>{g&&g.classList.add("hidden"),p&&p.classList.remove("visibility"),l&&(l.disabled=!1)},2e3)}destroy(){this.focusTrapListener&&(document.removeEventListener("keydown",this.focusTrapListener),this.focusTrapListener=null)}}class Kr{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"answerContainer",null),h(this,"showMoreVisible",!1),h(this,"renderFeedbackWidget",!1),h(this,"clicked",!1),h(this,"renderedWithShowMore",!1);var t;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.renderFeedbackWidget=((t=this.config.feedbackwidget)==null?void 0:t.renderFeedbackWidget)||!1,this.config.showMoreAfterWordCount&&(this.dataLayer.answerWidgetShowMoreLimit=this.config.showMoreAfterWordCount),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.clicked?this.showMoreVisible=!1:this.showMoreVisible=this.dataLayer.parsedData.shouldShowAnswerLoadMore,this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answerLoading.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answerError.subscribe(e=>{e&&setTimeout(()=>{this.renderMainTemplate(this.generateTemplateData())},100)}),this.dataLayer.$searchObject.subscribe(()=>{this.clicked=!1,this.renderedWithShowMore=!1,this.showMoreVisible=!1}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answer.subscribe(e=>{e&&setTimeout(()=>{this.initializeWidget()},600)}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.dataLayer.$answer.getValue()&&setTimeout(()=>{this.initializeWidget()},600)})}searchstaxFeedbackTextAreaOverride(){return"Question: "+(this.dataLayer.searchObject.query==="undefined"?"":this.dataLayer.searchObject.query)+" Answer: "+this.dataLayer.parsedData.getAnswerData}initializeWidget(){var e,t,s,a,r;this.renderFeedbackWidget&&document.getElementById("feedbackWidgetContainer")&&!this.dataLayer.answerLoading&&new Gr({analyticsKey:this.dataLayer.parsedData.trackingData.trackApiKey,containerId:"feedbackWidgetContainer",lightweight:!0,model:this.dataLayer.parsedData.trackingData.model,language:this.dataLayer.parsedData.trackingData.language,emailOverride:(e=this.config.feedbackwidget)==null?void 0:e.emailOverride,feedbackTextAreaOverride:((t=this.config.feedbackwidget)==null?void 0:t.searchstaxFeedbackTextAreaOverride)??this.searchstaxFeedbackTextAreaOverride.bind(this),thumbsUpValue:((s=this.config.feedbackwidget)==null?void 0:s.thumbsUpValue)??10,thumbsDownValue:((a=this.config.feedbackwidget)==null?void 0:a.thumbsDownValue)??0,lightweightTemplateOverride:(r=this.config.feedbackwidget)==null?void 0:r.lightweightTemplateOverride})}showMore(e){e.preventDefault(),this.clicked=!0,this.showMoreVisible=!1,this.renderMainTemplate(this.generateTemplateData()),setTimeout(()=>{this.initializeWidget()},600)}attachClickEventToShowMore(){const e=document.querySelector(".searchstax-answer-load-more-button");e&&e.addEventListener("click",this.showMore.bind(this))}trackLinkClick(e){e.preventDefault(),e.stopPropagation();const t=e.target.getAttribute("href");xe.trackAnswerLinkClick({href:t,answer:this.dataLayer.parsedData.getAnswerData,...this.dataLayer.parsedData.trackingData}).then(()=>{window.open(t,"_blank")}).catch(()=>{window.open(t,"_blank")})}attachLinkTracking(){document.querySelectorAll(".searchstax-answer-link").forEach(e=>{e.getAttribute("listener")!=="true"&&(e.setAttribute("listener","true"),e.addEventListener("click",this.trackLinkClick.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)||C.answer.main.template;this.dataLayer.renderingEngine===G.mustache?(!this.renderedWithShowMore||!e.answerLoading||this.clicked)&&(e.showMoreButtonVisible&&(this.renderedWithShowMore=!0),this.answerContainer.innerHTML=$.render(r,e),setTimeout(()=>{this.attachClickEventToShowMore(),this.attachLinkTracking()},100)):setTimeout(()=>{this.attachLinkTracking()},500)}generateTemplateData(){const e={...this.dataLayer.parsedData.data,showMoreButtonVisible:this.showMoreVisible};return this.dataLayer.setAnswerFullData(e),e}}class Ts{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"currentSelectValue",""),h(this,"locationInput"),h(this,"radiusInput"),h(this,"locationDecode"),h(this,"locationDecodeCoordinatesToAddress");var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.locationDecode=(t=e.config.hooks)==null?void 0:t.locationDecode,this.locationDecodeCoordinatesToAddress=(s=e.config.hooks)==null?void 0:s.locationDecodeCoordinatesToAddress,this.dataLayer.locationEnabled&&this.dataLayer.$inputTemplateRendered.subscribeUntil(()=>{this.renderMainTemplate(),this.attachSubscriptions()},!0,500)}renderMainTemplate(){var e,t,s,a,r,o,n,l;if(typeof document<"u"){const c=document==null?void 0:document.getElementById(this.containerId);if(!c)throw new Error("Search input container not found");const g=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||C.location.mainTemplate.template,m={...this.dataLayer.parsedData.data};if(this.dataLayer.setLocationWidgetTemplateData(m),this.dataLayer.renderingEngine===G.mustache){const p=$.render(g,m);c.innerHTML=p;const y=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.locationInputId)||C.location.mainTemplate.locationInputId,x=document==null?void 0:document.querySelector(`#${y}`);if(x)this.locationInput=x,x.addEventListener("blur",this.blurEvent.bind(this)),x.addEventListener("focus",this.focusEvent.bind(this));else throw new Error("Input not found");const f=((o=(r=this.config.templates)==null?void 0:r.mainTemplate)==null?void 0:o.radiusInputId)||C.location.mainTemplate.radiusInputId,w=document==null?void 0:document.querySelector(`#${f}`);w instanceof HTMLSelectElement&&(this.radiusInput=w,w.addEventListener("change",this.radiusSelectChangeEvent.bind(this)));const S=((l=(n=this.config.templates)==null?void 0:n.mainTemplate)==null?void 0:l.currentLocationActionButtonId)||C.location.mainTemplate.currentLocationActionButtonId,A=document==null?void 0:document.querySelector(`#${S}`);A&&A.addEventListener("click",this.getCurrentLocation.bind(this))}}}setCurrentLocationFields(e){this.dataLayer.setLocationCoordinatesDecoded(e),this.dataLayer.setSearchLocation(this.dataLayer.searchLocationCoordinatesDecoded),this.dataLayer.renderingEngine===G.mustache&&this.locationInput&&(this.locationInput.value=this.dataLayer.searchLocationCoordinatesDecoded)}getCurrentLocation(){navigator.geolocation?navigator.geolocation.getCurrentPosition(e=>{const t=e.coords.latitude.toString(),s=e.coords.longitude.toString(),a=Math.floor(parseFloat(t)*100)/100,r=Math.floor(parseFloat(s)*100)/100;this.dataLayer.setSearchLat(a+""),this.dataLayer.setSearchLong(r+"");const o=this.locationDecodeCoordinatesToAddress;o?o(a+"",r+"").then(n=>{this.setCurrentLocationFields(n.address||"Current Location")}).catch(()=>{this.setCurrentLocationFields("Current Location")}):this.setCurrentLocationFields("Current Location")},()=>{console.error("Unable to retrieve your location")}):console.error("Geolocation is not supported by this browser.")}setRadiusValue(e){this.dataLayer.setSearchRadius(e)}radiusSelectChangeEvent(e){this.currentSelectValue=e.target.value,this.setRadiusValue(this.currentSelectValue)}attachSubscriptions(){this.dataLayer.$searchObject.subscribe(e=>{this.locationInput&&(this.locationInput.value=this.cleanSuggestionTerm(e.location.address??"")),this.radiusInput&&e.location.radius&&(this.radiusInput.value=e.location.radius||"")})}cleanSuggestionTerm(e){return te.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}triggerGeocoder(e){const t=this.locationDecode;this.dataLayer.setLocationDecodingLoading(!0),e&&this.dataLayer.searchLocation!==e&&e!==this.dataLayer.searchLocationCoordinatesDecoded?t(e).then(s=>{this.dataLayer.setSearchLocation(s.address||""),this.dataLayer.setSearchLat(s.lat||""),this.dataLayer.setSearchLong(s.lon||""),this.locationInput&&(this.locationInput.value=this.cleanSuggestionTerm(s.address||"")),this.dataLayer.renderingEngine===G.mustache&&s.error&&this.locationInput&&this.locationInput.classList.add("searchstax-input-location-error"),s.error?this.dataLayer.setLocationError(!0):this.dataLayer.setLocationError(!1),this.dataLayer.setLocationDecodingLoading(!1)}).catch(()=>{this.dataLayer.setLocationDecodingLoading(!1)}):e===""&&(this.dataLayer.setSearchLocation(void 0),this.dataLayer.setSearchLat(void 0),this.dataLayer.setSearchLong(void 0),this.dataLayer.setLocationDecodingLoading(!1))}focusEvent(e){e.target.classList.remove("searchstax-input-location-error"),this.dataLayer.setLocationError(!1)}blurEvent(e){const t=e.target.value;this.triggerGeocoder(t)}}class Zr{constructor(e=G.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,"searchLocationWidget"),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,"locationObserver",null),h(this,"dataLayer"),h(this,"firstRequest",!0),h(this,"previousQuery",""),h(this,"eventSource",null),h(this,"renderEngine",G.mustache),e&&(this.renderEngine=e)}setRenderingEngine(e=G.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)}),setTimeout(()=>{this.dataLayer.$searchObject.subscribe(s=>{var a,r,o,n,l,c;s.query!==this.previousQuery&&this.dataLayer.setAnswerData(""),s.query!==""&&s.query!==void 0&&s.query!=="undefined"?(this.search(s),s.query!==this.previousQuery&&this.startSSE(s.query)):(a=this.dataLayer.searchLocationConfig)!=null&&a.locationSearchEnabled&&!((r=this.dataLayer.searchLocationConfig)!=null&&r.locationValuesOverride)?this.getMetadata(s):(n=(o=this.dataLayer.searchLocationConfig)==null?void 0:o.locationValuesOverride)!=null&&n.locationFilterDefaultValue&&this.dataLayer.setSearchRadius((c=(l=this.dataLayer.searchLocationConfig)==null?void 0:l.locationValuesOverride)==null?void 0:c.locationFilterDefaultValue),this.previousQuery=s.query})},10),this.dataLayer.$searchResults.subscribe(s=>{s&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&xe.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}startSSE(e){var t,s;this.eventSource&&((t=this.eventSource)==null||t.close(),this.dataLayer.setAnswerData("")),this.dataLayer.turnAIAnswerGenerationOn===!0&&this.dataLayer.questionURL&&this.dataLayer.searchObject.query!==void 0&&this.dataLayer.searchObject.query!=="undefined"&&(this.eventSource=(s=this.searchHelper)==null?void 0:s.startSSE(e,this.parseAnswerResultsResponse.bind(this)))}attachAnalyticsScript(e){xe.attachAnalyticsScript(e)}initialize(e){var t,s;if(this.dataLayer=new cr("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.questionURL&&(this.dataLayer.questionURL=e.questionURL),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),e.language&&this.dataLayer.setLanguage(e.language),e.model&&this.dataLayer.setModel(e.model),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new mr({...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 ws(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:a.itemsPerPage&&this.dataLayer.setItemsPerPage(a.itemsPerPage),a.model&&this.dataLayer.setModel(a.model),a.location&&(a.location.address&&this.dataLayer.setSearchLocation(a.location.address),a.location.lat&&this.dataLayer.setSearchLat(a.location.lat),a.location.lon&&this.dataLayer.setSearchLong(a.location.lon),a.location.radius&&this.dataLayer.setSearchRadius(a.location.radius)),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 ws({})}getMetadata(e){this.searchHelper&&(e.query==="undefined"||e.query===void 0)&&this.dataLayer.setSearchObject({...e,query:"*"})}search(e){if(this.searchHelper){const t=this.dataLayer.forceNotCorrect;this.searchHelper.url&&(this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1),this.getRelatedSearches()}}getRelatedSearches(){var e;this.searchHelper&&this.relatedSearchesConfig&&(e=this.relatedSearchesConfig)!=null&&e.relatedSearchesURL&&this.dataLayer.searchObject.query!==void 0&&this.dataLayer.searchObject.query!=="undefined"&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var t,s;const a=(((t=e.response)==null?void 0:t.docs)??[]).map((o,n)=>({...o,position:n+1})),r=[];for(const o of a)r.push({relatedSearch:o.related_search,position:o.position});this.dataLayer.setSearchRelatedSearches(a),this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&r.length&&xe.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:r,totalRelatredSearches:((s=this.dataLayer.searchRelatedSearches)==null?void 0:s.length)??0})}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponseMetadata(e){var t,s,a,r;const o=pt.extractSearchResultsMetadata(e),n=((s=(t=this.dataLayer.searchLocationConfig)==null?void 0:t.locationValuesOverride)==null?void 0:s.locationFilterDefaultValue)??((r=(a=o.location)==null?void 0:a.filter)==null?void 0:r.defaultValue);!this.dataLayer.searchRadius&&n&&this.dataLayer.setSearchRadius(n),this.dataLayer.setSearchResultsMetadata(o)}parseSearchResultsResponse(e){var t,s;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows)),this.dataLayer.setModel(e.responseHeader.params.model);let a=pt.combineResultsWithMetadata(e),r=pt.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??[]),this.parseSearchResultsResponseMetadata(e),this.dataLayer.setSearchResults(a)}parseAnswerResultsResponse(e){this.handleRouter(),e!==Ye.question&&e!==Ye.notQuestion&&(this.dataLayer.setAnswerLoading(!0),this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e))}cacheFacets(e){var t,s;e?(t=this.searchHelper)==null||t.cacheFacets(!0).then(()=>{}):(s=this.searchHelper)==null||s.cacheFacets().then(()=>{})}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.$locationEnabled.subscribeUntilHasValue(()=>{this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Ur({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer})},200)}addSearchLocationWidget(e,t){var s,a;this.dataLayer.searchLocationConfig||(t.locationSearchEnabled?(this.dataLayer.setLocationEnabled(!0),this.dataLayer.setSearchLocationConfig(t),t.locationValuesOverride?(this.searchLocationWidget=new Ts({containerId:e,config:t,dataLayer:this.dataLayer}),(s=t==null?void 0:t.locationValuesOverride)!=null&&s.locationFilterDefaultValue&&this.dataLayer.setSearchRadius((a=t==null?void 0:t.locationValuesOverride)==null?void 0:a.locationFilterDefaultValue)):this.dataLayer.$searchResultsMetadata.subscribeUntilHasValue(()=>{this.searchLocationWidget=new Ts({containerId:e,config:t,dataLayer:this.dataLayer})},0)):this.dataLayer.setLocationEnabled(!1))}addAnswerWidget(e,t){this.dataLayer.turnAIAnswerGenerationOn=!0,this.startSSE(this.dataLayer.searchObject.query),this.dataLayer.setAnswerData(""),this.answerWidget=new Kr({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Yr({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 qr({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Br({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new Jr({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Hr({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 Vr({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Qr({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){const s={...this.dataLayer.searchObject};s.query=te.removeXSSRiskyTags(e),s.page=1,s.facets=[],s.location={...s.location},this.locationObserver&&this.dataLayer.$locationDecodingLoading.unsubscribe(this.locationObserver),this.locationObserver=this.dataLayer.$locationDecodingLoading.subscribeUntil(()=>{var a,r;s.location.address=this.dataLayer.searchLocation,s.location.radius=this.dataLayer.searchRadius,s.location.lat=this.dataLayer.searchLat,s.location.lon=this.dataLayer.searchLong,this.dataLayer.forceNotCorrect=!!t;let o=(a=this.routerHelper)==null?void 0:a.searchObjectToParams(s);o&&(o=(r=this.routerHelper)==null?void 0:r.extractParamsThatDoNotStartWithRouteName(o)),o&&(s.additionalProps=Object.keys(o).map(n=>o?{key:n,value:o[n]}:{key:"",value:""})),this.dataLayer.setSearchObject(s),this.dataLayer.lastSearchValue=s.query},!1)}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){var t;this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&xe.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e,totalRelatredSearches:((t=this.dataLayer.searchRelatedSearches)==null?void 0:t.length)??0})}executeLinkClick(e){var t,s;let a=pt.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&&xe.trackClick({result:a,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(a==null?void 0:a.url)??"")}).catch(()=>{typeof window<"u"&&(window.location.href=(a==null?void 0:a.url)??"")}))}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 b={searchstax:new Zr("react")};function qs(i,e,t,s,a,r,o,n){return u.jsx(u.Fragment,{children:i&&u.jsx("div",{className:"searchstax-location-input-container","data-test-id":"searchstax-location-input-container",children:u.jsxs("div",{className:"searchstax-location-input-wrapper",children:[u.jsx("span",{className:"searchstax-location-input-label",children:"NEAR"}),u.jsxs("div",{className:"searchstax-location-input-wrapper-inner",children:[u.jsx("input",{type:"text",id:"searchstax-location-input",className:"searchstax-location-input"+(n?" searchstax-input-location-error":""),placeholder:"Zip, Postal Code or City...","aria-label":"Search Location Input","data-test-id":"searchstax-location-input",value:r??"",onChange:l=>e(l.target.value),onBlur:l=>t(l.target.value)}),u.jsx("button",{onClick:a,className:"searchstax-get-current-location-button",children:"Use my current location"})]}),i.shouldShowLocationDistanceDropdown&&u.jsx("span",{className:"searchstax-location-input-label",children:"WITHIN"}),i.shouldShowLocationDistanceDropdown&&u.jsx("select",{id:"searchstax-location-radius-select",className:"searchstax-location-radius-select","aria-label":"Search Location Radius Select","data-test-id":"searchstax-location-radius-select",onChange:l=>s(l.target.value),value:o,children:i.locationSearchDistanceValues.map(({value:l,label:c})=>u.jsx("option",{value:l,children:c},l))})]})})})}function Hs(i){let e=!1;const[t,s]=E.useState(null),[a,r]=E.useState(null),[o,n]=E.useState(!1),[l,c]=E.useState(void 0),[g]=E.useState(Math.random());E.useEffect(()=>{if(m(),b.searchstax)b.searchstax.addSearchLocationWidget("search-location-container"+g,{hooks:i.hooks,locationSearchEnabled:i.locationSearchEnabled,locationValuesOverride:i.locationValuesOverride});else throw Error("Searchstax instance needs to be passed via props")},[]);function m(){e||(b.searchstax.dataLayer.$locationWidgetTemplateData.subscribe(f=>{s(f)}),b.searchstax.dataLayer.$searchObject.subscribe(f=>{r(f.location.address??""),c(f.location.radius||"")}),b.searchstax.dataLayer.$searchLocationChange.subscribe(f=>{r(f)}),b.searchstax.dataLayer.$searchRadiusChange.subscribe(f=>{c(f)}),b.searchstax.dataLayer.$locationError.subscribe(f=>{n(f)}),e=!0)}function p(){var f;(f=b.searchstax.searchLocationWidget)==null||f.getCurrentLocation()}function y(f){var w;c(f),(w=b.searchstax.searchLocationWidget)==null||w.setRadiusValue(f+"")}function x(f){var w;r(f),(w=b.searchstax.searchLocationWidget)==null||w.triggerGeocoder(f)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-location-container"+g,children:[!i.searchLocationTemplate&&t&&u.jsx(u.Fragment,{children:qs(t,r,x,y,p,a,l,o)}),i.searchLocationTemplate&&u.jsx(u.Fragment,{children:i.searchLocationTemplate(t,r,x,y,p,a,l,o)})]})})}const Es={appId:"APP_ID",relatedSearchesAPIKey:"KEY"},Pt={locationDecode:i=>new Promise(e=>{const t="GEOCODING_API_KEY",s=`https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(i)}&key=${t}`;fetch(s).then(a=>a.json()).then(a=>{if(a.status==="OK"&&a.results.length>0){const r=a.results[0],o={lat:r.geometry.location.lat,lon:r.geometry.location.lng,address:r.formatted_address};e(o)}else e({address:void 0,lat:void 0,lon:void 0,error:!0})}).catch(()=>{e({address:void 0,lat:void 0,lon:void 0,error:!0})})}),locationDecodeCoordinatesToAddress:(i,e)=>new Promise(t=>{fetch(`https://geocoding-staging.searchstax.co/reverse?location=${i},${e}&components=country:US&app_id=${Es.appId}`,{method:"GET",headers:{Authorization:`Token ${Es.relatedSearchesAPIKey}`}}).then(s=>s.json()).then(s=>{if(s.status==="OK"&&s.results.length>0){const a=s.results[0];t({address:a.formatted_address,lat:i,lon:e,error:!1})}else t({address:void 0,lat:i,lon:e,error:!0})}).catch(()=>{t({address:void 0,lat:i,lon:e,error:!0})})}),locationSearchEnabled:!1,locationValuesOverride:{locationDistanceEnabled:!0,filterValues:["any","1000"],filterUnit:"miles",locationFilterDefaultValue:"any"}};function Xr(i,e,t,s){return u.jsxs(u.Fragment,{children:[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 ${i.length===0?"hidden":""}`,onMouseLeave:e,children:i.map(function(a){return u.jsx("div",{className:"searchstax-autosuggest-item",children:u.jsx("div",{className:"searchstax-autosuggest-item-term-container",tabIndex:0,dangerouslySetInnerHTML:{__html:a.term},onMouseOver:()=>{t(a)},onClick:()=>{s()}})},a.term)})})]}),u.jsx(Hs,{searchLocationTemplate:qs,hooks:{locationDecode:Pt.locationDecode,locationDecodeCoordinatesToAddress:Pt.locationDecodeCoordinatesToAddress},locationSearchEnabled:Pt.locationSearchEnabled,locationValuesOverride:Pt.locationValuesOverride}),u.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button","aria-label":"search"})]})}function en(i){let e=!1;const[t,s]=E.useState([]),[a,r]=E.useState(null);E.useEffect(()=>{if(o(),b.searchstax){const g={};i.afterAutosuggest&&(g.afterAutosuggest=i.afterAutosuggest),i.beforeAutosuggest&&(g.beforeAutosuggest=i.beforeAutosuggest),b.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:i.suggestAfterMinChars,hooks:g,templates:{mainTemplate:{template:"",searchInputId:i.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props");b.searchstax.dataLayer.setInputTemplateRendered(!0)},[]);function o(){e||(b.searchstax.dataLayer.$autosuggestResults.subscribe(g=>{s((g==null?void 0:g.suggestions)??[])}),b.searchstax.dataLayer.$inputWidgetTemplateData.subscribe(g=>{r(g)}),e=!0)}function n(){var g,m;(g=b.searchstax.searchInputWidget)==null||g.resetAutosuggestSelection(),(m=b.searchstax.searchInputWidget)==null||m.markActiveAutosuggestItem()}function l(g){var m;(m=b.searchstax.searchInputWidget)==null||m.onSuggestionEnter(g)}function c(){var g;(g=b.searchstax.searchInputWidget)==null||g.suggestionChosen()}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-input-container",children:u.jsxs("div",{className:`searchstax-search-input-container searchstax-search-input-container-new ${a!=null&&a.locationEnabled?"searchstax-alternative-render":""}`,children:[!i.inputTemplate&&u.jsx(u.Fragment,{children:Xr(t,n,l,c)}),i.inputTemplate&&u.jsx(u.Fragment,{children:i.inputTemplate(t,n,l,c,a)})]})})})}function tn(i){const[e,t]=E.useState(!1);return E.useEffect(()=>{const s={};i.beforeSearch&&(s.beforeSearch=i.beforeSearch),i!=null&&i.afterSearch&&(s.afterSearch=i.afterSearch),b.searchstax.initialize({language:i.language??"en",model:i.model,sessionId:i.sessionId,searchURL:i.searchURL,questionURL:i.questionURL,suggesterURL:i.suggesterURL,trackApiKey:i.trackApiKey,searchAuth:i.searchAuth,authType:i.authType??"basic",autoCorrect:i.autoCorrect,router:i.router,hooks:s,analyticsBaseUrl:i.analyticsBaseUrl,analyticsSrc:i.analyticsSrc}),setTimeout(()=>{t(!0)},100),i.initialized(b.searchstax)},[]),u.jsx(u.Fragment,{children:e&&u.jsxs(u.Fragment,{children:[" ",i.children," "]})})}function an(i,e,t){return u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",u.jsx("strong",{children:"no results"})," for ",u.jsxs("strong",{children:['"',i,'"']}),u.jsx("br",{}),(e==null?void 0:e.spellingSuggestion)&&u.jsxs("span",{children:[" Did you mean"," ",u.jsx("a",{href:"#","aria-label":`Did you mean ${e==null?void 0:e.spellingSuggestion}`,className:"searchstax-suggestion-term",onClick:s=>{s.preventDefault(),t(e==null?void 0:e.spellingSuggestion)},children:e==null?void 0:e.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."})]})]})}function sn(i,e){return u.jsx(u.Fragment,{children:i&&i.length&&u.jsx("div",{className:"searchstax-search-results","aria-live":"polite",children:i!==null&&i.map(function(t){return u.jsx("a",{href:t.url??"",onClick:s=>{e(t,s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&e(t,s)},"data-searchstax-unique-result-id":t.uniqueId,"aria-labelledby":`title-${t.uniqueId}`,className:"searchstax-result-item-link searchstax-result-item-link-wrapping",tabIndex:0,children:u.jsxs("div",{className:`searchstax-search-result ${t.thumbnail?"has-thumbnail":""}`,children:[t.promoted&&u.jsx("div",{className:"searchstax-search-result-promoted"}),t.ribbon&&u.jsx("div",{className:"searchstax-search-result-ribbon",dangerouslySetInnerHTML:{__html:t.ribbon}}),t.thumbnail&&u.jsx("img",{alt:"",src:t.thumbnail,className:"searchstax-thumbnail"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",id:`title-${t.uniqueId}`,dangerouslySetInnerHTML:{__html:t.title??""}})}),t.paths&&u.jsx("p",{className:"searchstax-search-result-common",tabIndex:0,dangerouslySetInnerHTML:{__html:t.paths}}),t.description&&u.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",tabIndex:0,dangerouslySetInnerHTML:{__html:t.description}}),t.unmappedFields.map(function(s){return u.jsxs("div",{children:[s.isImage&&typeof s.value=="string"&&u.jsx("div",{className:"searchstax-search-result-image-container",children:u.jsx("img",{alt:"",src:s.value,className:"searchstax-result-image"})}),!s.isImage&&u.jsx("div",{children:u.jsx("p",{tabIndex:0,className:"searchstax-search-result-common",dangerouslySetInnerHTML:{__html:s.value}})})]},s.key)})]},t.uniqueId)},t.uniqueId)})})})}function rn(i){const[e,t]=E.useState(null),s=E.useRef();s.current=e;const[a,r]=E.useState(""),[o,n]=E.useState(null),l=(m,p)=>{p.preventDefault(),p.stopPropagation(),b.searchstax.executeLinkClick(m.uniqueId)};E.useEffect(()=>{g();const m={};i.afterLinkClick&&(m.afterLinkClick=i.afterLinkClick),b.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},renderMethod:i.renderMethod??"pagination",resultsPerPage:i.resultsPerPage,hooks:m})},[]);function c(m){b.searchstax.executeSearch(m)}function g(){b.searchstax.dataLayer.$searchResults.subscribe(m=>{var f;const p=s.current??[],y=m??[],x=i.renderMethod==="infiniteScroll"?[...p,...y]:m;((f=b.searchstax.dataLayer.$searchObject.value)==null?void 0:f.page)===1?t(y):t(x)}),b.searchstax.dataLayer.$searchTermChange.subscribe(m=>{r(m)}),b.searchstax.dataLayer.$searchResultsMetadata.subscribe(m=>{n(m)})}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-results-container",children:u.jsx("section",{"aria-label":"search results container",tabIndex:0,children:u.jsx("div",{className:"searchstax-search-results-container",id:"searchstax-search-results-container",children:u.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&a!==""&&a!=="*"&&b.searchstax.dataLayer.parsedData.firstSearchHappened&&!i.noResultTemplate&&u.jsx(u.Fragment,{children:an(a,o,c)}),e&&e.length===0&&a!==""&&a!=="*"&&b.searchstax.dataLayer.parsedData.firstSearchHappened&&i.noResultTemplate&&u.jsx(u.Fragment,{children:i.noResultTemplate(a,o,c)}),e&&e.length>0&&!i.resultsTemplate&&sn(e,l),e&&e.length>0&&i.resultsTemplate&&u.jsx(u.Fragment,{children:i.resultsTemplate(e,l)})]})})})})})}function nn(i,e,t){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.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 ${i.isFirstPage?"disabled":""}`,tabIndex:0,style:i!=null&&i.isFirstPage?{pointerEvents:"none"}:{},onClick:s=>{t(s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&t(s)},id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),u.jsxs("div",{className:"searchstax-pagination-details",children:[" ",i==null?void 0:i.startResultIndex," -"," ",i==null?void 0:i.endResultIndex," of"," ",i==null?void 0:i.totalResults]}),u.jsx("a",{className:`searchstax-pagination-next ${i.isLastPage?"disabled":""}`,tabIndex:0,style:i!=null&&i.isLastPage?{pointerEvents:"none"}:{},onClick:s=>{e(s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&e(s)},id:"searchstax-pagination-next",children:"Next >"})]})})})}function on(i,e){return u.jsx(u.Fragment,{children:i&&i.isInfiniteScroll&&(i==null?void 0:i.totalResults)!==0&&!(i!=null&&i.isLastPage)&&u.jsx("div",{className:"searchstax-pagination-container",children:u.jsx("a",{className:"searchstax-pagination-load-more",tabIndex:0,onClick:t=>{e(t)},onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&e(t)},children:"Show More >"})})})}function ln(i){let e=!1;const[t,s]=E.useState(!1),[a,r]=E.useState(null),[o]=E.useState(Math.random());E.useEffect(()=>{if(n(),b.searchstax)b.searchstax.addPaginationWidget("searchstax-pagination-container"+o,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function n(){e||(b.searchstax.dataLayer.$searchObject.subscribe(()=>{l()}),b.searchstax.dataLayer.$paginationData.subscribe(m=>{r(m)}),e=!0)}function l(){!t&&b.searchstax.routerHelper&&(s(!0),b.searchstax.addPaginationWidget("searchstax-pagination-container"+o,{}))}function c(m){var p;(p=b.searchstax.searchPaginationWidget)==null||p.nextPage(m)}function g(m){var p;(p=b.searchstax.searchPaginationWidget)==null||p.previousPage(m)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-pagination-container"+o,children:[!i.paginationTemplate&&a&&!a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&u.jsx(u.Fragment,{children:nn(a,c,g)}),i.paginationTemplate&&a&&!a.isInfiniteScroll&&u.jsx(u.Fragment,{children:i.paginationTemplate(a,c,g)}),!i.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx(u.Fragment,{children:on(a,c)}),i.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx(u.Fragment,{children:i.infiniteScrollTemplate(a,c)})]})})}function cn(i,e,t){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.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:t,onChange:s=>{e(s.target.value)},children:i.sortOptions.map(function(s){return u.jsx("option",{value:s.key,children:s.value},s.key)})})]})})}function hn(i){let e=!1;const[t,s]=E.useState(null),[a,r]=E.useState(""),[o]=E.useState(Math.random());E.useEffect(()=>{if(n(),b.searchstax)b.searchstax.addSearchSortingWidget("search-sorting-container"+o,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function n(){e||(b.searchstax.dataLayer.$searchSortingData.subscribe(c=>{s(c)}),b.searchstax.dataLayer.$searchObject.subscribe(c=>{r(decodeURIComponent((c==null?void 0:c.order)??""))}),e=!0)}function l(c){var g;(g=b.searchstax.searchSortingWidget)==null||g.setOrderQuery(c)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-sorting-container"+o,children:[!i.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&u.jsx(u.Fragment,{children:cn(t,l,a)}),i.searchSortingTemplate&&u.jsx(u.Fragment,{children:i.searchSortingTemplate(t,l,a)})]})})}function un(i,e){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.totalResults)>0&&u.jsxs(u.Fragment,{children:["Showing"," ",u.jsxs("b",{children:[i.startResultIndex," -"," ",i.endResultIndex]})," ","of",u.jsxs("b",{children:[" ",i.totalResults]})," results",i.searchTerm&&u.jsxs("span",{children:[' for "',u.jsx("b",{children:i.searchTerm}),'"'," "]}),u.jsx("div",{className:"searchstax-feedback-container-suggested",children:i.autoCorrectedQuery&&u.jsxs("div",{children:[" ","Search instead for"," ",u.jsx("a",{href:"#",onClick:t=>{e(t)},className:"searchstax-feedback-original-query","aria-label":`Search instead for ${i.originalQuery}`,children:i.originalQuery})]})})]})})}function dn(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addSearchFeedbackWidget("search-feedback-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchFeedbackData.subscribe(n=>{s(n)}),e=!0)}function o(n){var l;(l=b.searchstax.searchFeedbackWidget)==null||l.onOriginalQueryClick(n)}return u.jsx(u.Fragment,{children:u.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+a,children:[!i.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)>0&&u.jsx(u.Fragment,{children:un(t,o)}),i.searchOverviewTemplate&&u.jsx(u.Fragment,{children:i.searchOverviewTemplate(t,o)})]})})}function gn(i,e,t,s,a,r,o){return u.jsx("div",{className:"searchstax-facets-container-desktop",children:i==null?void 0:i.facets.map(n=>u.jsx("div",{className:`searchstax-facet-container ${t(n.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{s(n.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",n.label]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container","aria-live":"polite",children:[n.values.map((l,c)=>(e[c+n.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${l.disabled?"searchstax-facet-value-disabled":""}`,ref:e[c+n.name],children:[u.jsx("div",{className:"searchstax-facet-input desktop-"+c+n.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:r(l),readOnly:!0,"aria-label":l.value+" "+l.count,disabled:l.disabled,onClick:g=>{a(c+n.name,g,l,!0)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:g=>{a(c+n.name,g,l,!1)},children:l.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:g=>{a(c+n.name,g,l,!1)},children:["(",l.count,")"]})]},l.value+l.parentName))),n.hasMoreFacets&&u.jsx("div",{className:"searchstax-facet-show-more-container",children:u.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:l=>{o(l,n)},onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&o(l,n)},tabIndex:0,children:[n.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!n.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},n.name+"desktop"))})}function pn(i,e,t,s,a,r,o,n,l,c,g,m){return i?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:()=>{c()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),u.jsxs("div",{className:"searchstax-facets-pills-selected",children:[e.map(p=>u.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{n(p)},children:[u.jsxs("div",{className:"searchstax-facets-pill-label",children:[p.value," (",p.count,")"]}),u.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},p.value)),e.length!==0&&u.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{m()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),u.jsxs("div",{className:`searchstax-facets-mobile-overlay ${i.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:()=>{g()}})]}),u.jsx("div",{className:"searchstax-facets-container-mobile",children:i==null?void 0:i.facets.map(p=>u.jsx("div",{className:`searchstax-facet-container ${s(p.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{a(p.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",p.label," "]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container","aria-live":"polite",children:[p.values.map((y,x)=>(t[x+p.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:t[x+p.name],children:[u.jsx("div",{className:"searchstax-facet-input mobile-"+x+p.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:o(y),readOnly:!0,"aria-label":y.value+" "+y.count,disabled:y.disabled,onClick:f=>{r(x+p.name,f,y,!0,!0)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:f=>{r(x+p.name,f,y,!1)},children:y.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:f=>{r(x+p.name,f,y,!1)},children:["(",y.count,")"]})]},y.value+y.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:y=>{l(y,p)},onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&l(y,p)},tabIndex:0,role:"button",children:[p.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!p.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},p.name+"mobile"))}),u.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{g()},children:"Done"})]})]})}):u.jsx(u.Fragment,{})}function mn(i){const[e,t]=E.useState(null),[s,a]=E.useState(null),[r,o]=E.useState([]),[n,l]=E.useState({}),c={},g=Math.random();let m=!1;E.useEffect(()=>{if(p(),b.searchstax)b.searchstax.addFacetsWidget("searchstax-facets-container"+g,{facetingType:i.facetingType,specificFacets:i.specificFacets,itemsPerPageDesktop:i.itemsPerPageDesktop,itemsPerPageMobile:i.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function p(){m||(b.searchstax.dataLayer.$facetsTemplateData.subscribe(T=>{T!=null&&T.isMobile?a(T):t(T)}),b.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(T=>{o((T??[]).filter(H=>H.type==="checkbox"))}),m=!0)}function y(T){var N;(N=b.searchstax.searchFacetsWidget)==null||N.unselectFacet(T)}function x(){var T;(T=b.searchstax.searchFacetsWidget)==null||T.removeSelectedFacets()}function f(T){return!n[T]}function w(T){f(T)?l({...n,[T]:!0}):l({...n,[T]:!1})}function S(T){var N;return(N=b.searchstax.searchFacetsWidget)==null?void 0:N.isChecked(T)}function A(T,N,H,ue,Q){var Ie;const ie=Q?"mobile-":"desktop-",Me=document.getElementsByClassName(ie+T);Me[0]&&((Ie=b.searchstax.searchFacetsWidget)==null||Ie.onFacetSelect(N,H,Me[0],!1,S(H)))}function F(T,N){var H;(H=b.searchstax.searchFacetsWidget)==null||H.onShowMoreLessClick(T,N,!1)}function k(T,N){var H;(H=b.searchstax.searchFacetsWidget)==null||H.onShowMoreLessClick(T,N,!0)}function P(){var T;(T=b.searchstax.searchFacetsWidget)==null||T.openOverlay()}function z(){var T;(T=b.searchstax.searchFacetsWidget)==null||T.closeOverlay()}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-facets-container"+g,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!i.facetsTemplateDesktop&&u.jsx(u.Fragment,{children:gn(e,c,f,w,A,S,F)}),i.facetsTemplateDesktop&&u.jsx(u.Fragment,{children:i.facetsTemplateDesktop(e,c,f,w,A,S,F)}),(s==null?void 0:s.hasResultsOrExternalPromotions)&&!i.facetsTemplateMobile&&u.jsx(u.Fragment,{children:pn(s,r,c,f,w,A,S,y,k,P,z,x)}),i.facetsTemplateMobile&&u.jsx(u.Fragment,{children:i.facetsTemplateMobile(s,r,c,f,w,A,S,y,k,P,z,x)})]})})}function fn(i,e){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.hasRelatedSearches)&&u.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",u.jsx("span",{id:"searchstax-related-searches"}),i.relatedSearches&&u.jsx("span",{className:"searchstax-related-search",children:i.relatedSearches.map(t=>u.jsxs("span",{onClick:()=>{e(t)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&e(t)},tabIndex:0,className:"searchstax-related-search searchstax-related-search-item","aria-label":"Related search: "+t.related_search,children:[" ",t.related_search,!t.last&&u.jsx("span",{children:","})]},t.related_search))})]})})}function Ln(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+a,{relatedSearchesURL:i.relatedSearchesURL,relatedSearchesAPIKey:i.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(n=>{s(n)}),e=!0)}function o(n){var l;(l=b.searchstax.relatedSearchesWidget)==null||l.executeSearch(n)}return u.jsxs(u.Fragment,{children:[!i.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&u.jsx(u.Fragment,{children:fn(t,o)}),i.searchRelatedSearchesTemplate&&u.jsx(u.Fragment,{children:i.searchRelatedSearchesTemplate(t,o)})]})}function yn(i,e){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.hasExternalPromotions)&&i.externalPromotions.map(t=>u.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[u.jsx("div",{className:"icon-elevated"}),t.url&&u.jsx("a",{href:t.url,onClick:s=>{e(t,s)},className:"searchstax-result-item-link"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",children:t.name})}),t.description&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",t.description," "]}),t.url&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",t.url," "]})]},t.id))})}function xn(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(n=>{s(n)}),e=!0)}function o(n,l){var c;(c=b.searchstax.externalPromotionsWidget)==null||c.trackClick(n,l)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-external-promotions-layout-container"+a,children:[!i.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&u.jsx(u.Fragment,{children:yn(t,o)}),i.searchExternalPromotionsTemplate&&u.jsx(u.Fragment,{children:i.searchExternalPromotionsTemplate(t,o)})]})})}function wn(i,e){return u.jsx(u.Fragment,{children:i&&u.jsxs("div",{className:"searchstax-answer-wrap",children:[u.jsx("div",{className:"searchstax-answer-icon"}),u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-answer-container "+(i.showMoreButtonVisible===!0?"searchstax-answer-show-more":""),children:[u.jsx("div",{className:"searchstax-answer-title",children:"Smart Answers"}),i.shouldShowAnswerError&&u.jsx("div",{className:"searchstax-answer-error",dangerouslySetInnerHTML:{__html:i.answerErrorMessage}}),u.jsx("div",{className:"searchstax-answer-description",dangerouslySetInnerHTML:{__html:i.fullAnswerFormatted}}),i.answerLoading&&u.jsx("div",{className:"searchstax-answer-loading"})]}),i.showMoreButtonVisible===!0&&u.jsx("div",{className:"searchstax-answer-load-more-button-container",children:u.jsx("button",{className:"searchstax-answer-load-more-button",onClick:t=>{e(t)},children:"Read more"})})]}),u.jsxs("div",{className:"searchstax-answer-footer",children:[u.jsx("div",{id:"feedbackWidgetContainer"}),u.jsx("div",{className:"searchstax-lightweight-widget-separator-inline"}),u.jsx("p",{className:"searchstax-disclaimer",children:"Generative AI is Experimental"})]})]})})}function vn(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(o(),b.searchstax){const n=i.feedbackwidget??void 0;b.searchstax.addAnswerWidget("searchstax-answer-container"+a,{showMoreAfterWordCount:i.showMoreAfterWordCount,feedbackwidget:n})}else throw Error("Searchstax instance needs to be passed via props")},[]);function r(n){var l;b.searchstax&&((l=b.searchstax.answerWidget)==null||l.showMore(n))}function o(){e||(b.searchstax.dataLayer.$answerData.subscribe(n=>{s(n)}),e=!0)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-answer-container"+a,children:[!i.searchAnswerTemplate&&t&&t.shouldShowAnswer&&(t==null?void 0:t.searchExecuted)&&u.jsx(u.Fragment,{children:wn(t,r)}),i.searchAnswerTemplate&&t&&t.shouldShowAnswer&&u.jsx(u.Fragment,{children:i.searchAnswerTemplate(t,r)})]})})}exports.SearchstaxAnswerWidget=vn;exports.SearchstaxExternalPromotionsWidget=xn;exports.SearchstaxFacetsWidget=mn;exports.SearchstaxInputWidget=en;exports.SearchstaxLocationWidget=Hs;exports.SearchstaxOverviewWidget=dn;exports.SearchstaxPaginationWidget=ln;exports.SearchstaxRelatedSearchesWidget=Ln;exports.SearchstaxResultWidget=rn;exports.SearchstaxSortingWidget=hn;exports.SearchstaxWrapper=tn;
|
|
@@ -452,4 +452,4 @@ Please report this to https://github.com/markedjs/marked.`,i){const s="<p>An err
|
|
|
452
452
|
|
|
453
453
|
</div>
|
|
454
454
|
</div>
|
|
455
|
-
`,thumbsUpButtonClass:"searchstax-lightweight-widget-thumbs-up",thumbsDownButtonClass:"searchstax-lightweight-widget-thumbs-down"}};class C{}h(C,"answer",Cr),h(C,"externalPromotions",Sr),h(C,"facets",kr),h(C,"pagination",Tr),h(C,"relatedSearches",Er),h(C,"searchFeedback",jr),h(C,"searchInput",Ar),h(C,"location",Ir),h(C,"searchResults",Rr),h(C,"sorting",Nr),h(C,"feedback",K);class Dr{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)||C.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 o=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(o){const n=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.externalPromotion)==null?void 0:a.template)||((r=C.externalPromotions.externalPromotion)==null?void 0:r.template);if(typeof document<"u"){const l=document==null?void 0:document.createElement("div");l.classList.add("searchstax-external-promotion"),l.addEventListener("click",c=>{this.trackClick(e,c)}),l.innerHTML=F.render(n,e),o.appendChild(l)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var t,s,a,r;const o=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.template)||((r=C.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===J.mustache){this.searchExternalPromotionsMainContainer.innerHTML=F.render(o,e);const n=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;n&&(n.innerHTML="");for(const l of e.externalPromotions)this.addExternalSearch(l)}}}class X{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,s){this.addAccessibilityNotificationContainerToBody();const a=s??"searchAccessibility",r=document.getElementById(a);r&&r.remove();const o=document.createElement("span");o.setAttribute("id",a),o.innerHTML=e;const n=document.getElementById("searchAccessibilityContainer");n&&setTimeout(()=>{n.appendChild(o)},t??100)}}class Or{constructor(e,t){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"routerHelper"),h(this,"cachedPhrase",""),h(this,"cachedANDFacets",""),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,"focusedElement",null),h(this,"cachedData",null),h(this,"cacheFacets"),h(this,"onFacetSelect",(s,a,r,o,n)=>{if(s.stopPropagation(),!a.disabled){const l=r.querySelector("input");let c=o?l.checked:!l.checked;n!==void 0&&(c=!n),l.checked=c;const g=this.dataLayer.searchObject;let m=[...g.facets];const p=this.extractFacetValue(a);c?m.find(y=>me.deepEqual(y,p)?y:!1)||(this.config.facetingType==="tabs"&&(m=m.filter(y=>y.name!==p.name)),m.push(p)):m=m.filter(y=>!me.deepEqual(y,p)),setTimeout(()=>{this.dataLayer.setSearchObject({...g,facets:m,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.config.facetingType==="tabs"),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.$searchFacetsCachedTabs.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.config.facetingType==="tabs")),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query||this.cachedANDFacets!==this.dataLayer.parsedData.cachedANDFacets?(this.cachedANDFacets=this.dataLayer.parsedData.cachedANDFacets,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.config.facetingType==="tabs"&&this.dataLayer.searchFacetsCachedTabs&&(t=this.dataLayer.searchFacetsCachedTabs),this.needDisabling&&(t=t.map(a=>{var r;const o=(r=this.dataLayer.searchFacets)==null?void 0:r.find(n=>n.name===a.name);return o?{...a,values:a.values.map(n=>{const l=o.values.find(c=>n.type==="range"?!1:n.type==="checkbox"?c.value===n.value:!1);return{...n,disabled:!l,isMobile:e}})}:{...a,values:a.values.map(n=>({...n,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,o,n,l,c,g,m,p,y,x,f,w,S,A,z;if(typeof document<"u"){const k=document==null?void 0:document.createElement("div");k.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||k.classList.add("active");const P=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:o.template)||((n=C.facets.facetItemContainerTemplate)==null?void 0:n.template);k.innerHTML=F.render(P,e),t.appendChild(k);const _=k.querySelector("."+(((g=(c=(l=this.config)==null?void 0:l.templates)==null?void 0:c.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)||((m=C.facets.facetItemContainerTemplate)==null?void 0:m.facetListTitleContainerClass)));_==null||_.addEventListener("click",()=>{k.classList.toggle("active");const D=k.classList.contains("active"),B=_.querySelector(".searchstax-facet-title");B&&B.setAttribute("aria-expanded",String(D))}),(f=_==null?void 0:_.querySelector("."+((x=(y=(p=this.config)==null?void 0:p.templates)==null?void 0:y.facetItemContainerTemplate)==null?void 0:x.facetListTitleContainerInner)))==null||f.addEventListener("keydown",D=>{if(D.code==="Enter"||D.code==="Space"){D.preventDefault(),k.classList.toggle("active");const B=k.classList.contains("active"),ue=_.querySelector(".searchstax-facet-title");ue&&ue.setAttribute("aria-expanded",String(B))}});const T=k.querySelector("."+(((A=(S=(w=this.config)==null?void 0:w.templates)==null?void 0:S.facetItemContainerTemplate)==null?void 0:A.facetListContainerClass)||((z=C.facets.facetItemContainerTemplate)==null?void 0:z.facetListContainerClass)));T&&(e.values.forEach(D=>{this.createFacetListItem(D,T,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,T,s))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(s=>me.deepEqual(s,this.extractFacetValue(e))))}createFacetListItem(e,t,s){var a,r,o,n,l,c,g,m,p,y,x,f;if(typeof document<"u"){const w=document==null?void 0:document.createElement("div");w.classList.add("searchstax-facet-value-container"),e.disabled&&w.classList.add("searchstax-facet-value-disabled");const S=this.isChecked(e),A=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemTemplate)==null?void 0:o.template)||((n=C.facets.facetItemTemplate)==null?void 0:n.template);w.innerHTML=F.render(A,{...e,isChecked:S});let z=(l=C.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;z=((m=(g=(c=this.config)==null?void 0:c.templates)==null?void 0:g.facetItemTemplate)==null?void 0:m.checkTriggerClasses)||z,z.forEach(P=>{const _=w.querySelector("."+P);_==null||_.addEventListener("click",T=>{this.onFacetSelect(T,e,w)})});const k=w.querySelector("."+(((x=(y=(p=this.config)==null?void 0:p.templates)==null?void 0:y.facetItemTemplate)==null?void 0:x.inputCheckboxClass)||((f=C.facets.facetItemTemplate)==null?void 0:f.inputCheckboxClass)));k==null||k.addEventListener("click",P=>{this.onFacetSelect(P,e,w,!0)}),k&&(k==null||k.setAttribute("data-test-value",`${encodeURIComponent(s)}:"${encodeURIComponent(e.value)}"`)),t.appendChild(w)}}createHasMoreComponent(e,t,s){var a,r,o,n,l,c,g,m,p,y;if(typeof document<"u"){const x=document==null?void 0:document.createElement("div");x.classList.add("searchstax-facet-show-more-container");const f=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:o.template)||((n=C.facets.showMoreButtonContainerTemplate)==null?void 0:n.template);x.innerHTML=F.render(f,{...e,focusId:`moreLess${(c=(l=e==null?void 0:e.values)==null?void 0:l[0])==null?void 0:c.value}`});const w=x.querySelector("."+(((p=(m=(g=this.config)==null?void 0:g.templates)==null?void 0:m.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)||((y=C.facets.showMoreButtonContainerTemplate)==null?void 0:y.showMoreButtonClass)));w&&(this.attachOnclickToShowMore(e,w,s),t&&t.appendChild(w))}}attachOnclickToShowMore(e,t,s){t.addEventListener("click",a=>{this.onShowMoreLessClick(a,e,s)}),t.addEventListener("keydown",a=>{a.code==="Space"&&a.preventDefault()}),t.addEventListener("keyup",a=>{(a.code==="Space"||a.code==="Enter")&&(a.preventDefault(),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?(X.setAccessibilityText(`More Facets shown for ${t.label}`,0,`moreLess${new Date().getTime()}`),r[t.name]=r[t.name]+a):(X.setAccessibilityText(`Less Facets shown for ${t.label}`,0,`moreLess${new Date().getTime()}`),r[t.name]=a),this.generateTemplateData(s),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var s,a,r,o,n,l,c,g,m,p,y;if(e&&(!me.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const x=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.mainTemplateDesktop)==null?void 0:r.template)||((o=C.facets.mainTemplateDesktop)==null?void 0:o.template);if(this.dataLayer.renderingEngine===J.mustache&&this.searchFacetsMainContainer){const f=document.activeElement;f instanceof HTMLInputElement&&f.type==="checkbox"||f!=null&&f.classList.contains("searchstax-facet-show-more-button")||f!=null&&f.classList.contains("searchstax-facet-show-less-button")?this.focusedElement=f:this.focusedElement=null,this.searchFacetsMainContainer.innerHTML=F.render(x,{...e});const w=(g=this.searchFacetsMainContainer)==null?void 0:g.querySelector("."+(((c=(l=(n=this.config)==null?void 0:n.templates)==null?void 0:l.mainTemplateDesktop)==null?void 0:c.facetsContainerClass)||C.facets.mainTemplateDesktop.facetsContainerClass));if(w){w.innerHTML="";for(const S of e.facets)this.createFacetItem(S,w);if(this.searchFacetsMainContainer){const S=this.searchFacetsMainContainer.querySelector("."+(((y=(p=(m=this.config)==null?void 0:m.templates)==null?void 0:p.mainTemplateDesktop)==null?void 0:y.selectedFacetsContainerClass)||C.facets.mainTemplateDesktop.selectedFacetsContainerClass));S&&(this.createSelectedFacetsComponents(S),this.createClearFacetsComponents(S))}if(this.focusedElement){if(this.focusedElement.classList.contains("searchstax-facet-show-more-button")||this.focusedElement.classList.contains("searchstax-facet-show-less-button")){const z=this.focusedElement.getAttribute("data-focus"),k=this.searchFacetsMainContainer.querySelector(`[data-focus="${z}"]`);k instanceof HTMLElement&&k.focus(),this.focusedElement=null;return}const S=this.focusedElement.getAttribute("data-test-value"),A=this.searchFacetsMainContainer.querySelector(`[data-test-value="${S}"]`);A instanceof HTMLInputElement&&A.focus(),this.focusedElement=null}}}setTimeout(()=>{document.querySelectorAll(".searchstax-facet-title").forEach(f=>{f.setAttribute("aria-expanded",String(!0)),f.setAttribute("tabindex","0"),f.setAttribute("role","button")})},100),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 o=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,n=o==null?void 0:o.find(l=>l.name===a);if(n){const l=n.values.find(c=>c.type==="range"?!1:c.type==="checkbox"?`"${c.value}"`==`"${r}"`:!1);l&&e.push(l)}}}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,o,n,l,c;if(typeof document<"u"){const g=this.dataLayer.searchObject,m=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.clearFacetsTemplate)==null?void 0:a.template)||((r=C.facets.clearFacetsTemplate)==null?void 0:r.template),p=document==null?void 0:document.createElement("div");p.innerHTML=F.render(m,{shouldShow:g.facets.length>0});const y=p.querySelector("."+(((l=(n=(o=this.config)==null?void 0:o.templates)==null?void 0:n.clearFacetsTemplate)==null?void 0:l.containerClass)||((c=C.facets.clearFacetsTemplate)==null?void 0:c.containerClass)));y&&(y.addEventListener("click",()=>{this.removeSelectedFacets()}),y.addEventListener("keyup",x=>{(x.code==="Space"||x.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(y))}}createSelectedFacetsComponent(e,t){var s,a,r,o,n,l,c,g;if(typeof document<"u"){const m=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.selectedFacetsTemplate)==null?void 0:r.template)||((o=C.facets.selectedFacetsTemplate)==null?void 0:o.template),p=document==null?void 0:document.createElement("div");p.innerHTML=F.render(m,t);const y=p.querySelector("."+(((c=(l=(n=this.config)==null?void 0:n.templates)==null?void 0:l.selectedFacetsTemplate)==null?void 0:c.containerClass)||((g=C.facets.selectedFacetsTemplate)==null?void 0:g.containerClass)));y&&(y.addEventListener("click",()=>{this.unselectFacet(t)}),y.addEventListener("keyup",x=>{(x.code==="Space"||x.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(y))}}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,o,n,l,c;if(typeof document<"u"){const g=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.filterByTemplate)==null?void 0:a.template)||((r=C.facets.filterByTemplate)==null?void 0:r.template),m=document==null?void 0:document.createElement("div");m.innerHTML=F.render(g,{});const p=m.querySelector("."+(((l=(n=(o=this.config)==null?void 0:o.templates)==null?void 0:n.filterByTemplate)==null?void 0:l.containerClass)||((c=C.facets.filterByTemplate)==null?void 0:c.containerClass)));p&&(e.prepend(p),p.addEventListener("click",this.openOverlay.bind(this)),p.addEventListener("keyup",y=>{(y.code==="Space"||y.code==="Enter")&&this.openOverlay()}))}}openOverlay(){var e;X.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;X.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,o,n,l,c,g,m,p,y,x,f,w,S,A,z,k;if(e&&typeof document<"u"){const P=document==null?void 0:document.createElement("div");P.classList.add("searchstax-facets-container-mobile");const _=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplateMobile)==null?void 0:a.template)||((r=C.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===J.mustache){if(P.innerHTML=F.render(_,{...e,overlayOpened:this.overlayOpened}),(o=this.searchFacetsMainContainer)==null||o.appendChild(P),(l=(n=this.config)==null?void 0:n.templates)!=null&&l.mainTemplateMobile)for(const ue of((m=(g=(c=this.config)==null?void 0:c.templates)==null?void 0:g.mainTemplateMobile)==null?void 0:m.closeOverlayTriggerClasses)||[]){const Q=P.querySelector("."+ue);Q&&(Q.addEventListener("click",this.closeOverlay.bind(this)),Q.addEventListener("keyup",ce=>{(ce.code==="Space"||ce.code==="Enter")&&this.closeOverlay()}))}else for(const ue of C.facets.mainTemplateMobile.closeOverlayTriggerClasses){const Q=P.querySelector("."+ue);Q&&(Q.addEventListener("click",this.closeOverlay.bind(this)),Q.addEventListener("keyup",ce=>{(ce.code==="Space"||ce.code==="Enter")&&this.closeOverlay()}))}const T=P.querySelector("."+(((x=(y=(p=this.config)==null?void 0:p.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:x.filterByContainerClass)||C.facets.mainTemplateMobile.filterByContainerClass));T&&this.createFilterByComponent(T);const D=P.querySelector("."+(((S=(w=(f=this.config)==null?void 0:f.templates)==null?void 0:w.mainTemplateMobile)==null?void 0:S.selectedFacetsContainerClass)||C.facets.mainTemplateMobile.selectedFacetsContainerClass));D&&(this.createSelectedFacetsComponents(D),this.createClearFacetsComponents(D));const B=P.querySelector("."+(((k=(z=(A=this.config)==null?void 0:A.templates)==null?void 0:z.mainTemplateMobile)==null?void 0:k.facetsContainerClass)||C.facets.mainTemplateMobile.facetsContainerClass));if(B){B.innerHTML="";for(const ue of e.facets)this.createFacetItem(ue,B,!0)}}}}}class Pr{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,o,n,l,c,g;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)??C.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((n=(o=(r=this.config)==null?void 0:r.templates)==null?void 0:o.mainTemplate)==null?void 0:n.nextButtonClass)??C.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((g=(c=(l=this.config)==null?void 0:l.templates)==null?void 0:c.infiniteScrollTemplate)==null?void 0:g.loadMoreButtonClass)??C.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),document.body.tabIndex=-1,document.body.focus()}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,o,n,l,c,g,m;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 p=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:o.template)||((n=C.pagination.mainTemplate)==null?void 0:n.template);this.dataLayer.isInfiniteScroll&&(p=((g=(c=(l=this.config)==null?void 0:l.templates)==null?void 0:c.infiniteScrollTemplate)==null?void 0:g.template)||((m=C.pagination.infiniteScrollTemplate)==null?void 0:m.template)),this.dataLayer.renderingEngine===J.mustache&&(this.searchPaginationMainContainer.innerHTML=F.render(p,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Fr{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)||C.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,o,n;if(typeof document<"u"){const l=document==null?void 0:document.createElement("div"),c=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.relatedSearch)==null?void 0:r.template)||C.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===J.mustache){l.innerHTML=F.render(c,e);const g=l.querySelector("."+(((n=(o=this.config.templates)==null?void 0:o.relatedSearch)==null?void 0:n.relatedSearchContainerClass)||C.relatedSearches.relatedSearch.relatedSearchContainerClass));g&&(t.appendChild(g),g.addEventListener("click",()=>{this.executeSearch(e)}),g.addEventListener("keyup",m=>{(m.code==="Space"||m.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 o=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||C.relatedSearches.main.template;if(this.dataLayer.renderingEngine===J.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=F.render(o,e);const n=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(n)for(const l of e.relatedSearches)this.addRelatedSearchComponent(l,n)}}}class zr{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 o=(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=C.searchFeedback.main)==null?void 0:a.originalQueryClass)));o&&o.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)||C.searchFeedback.main.template;this.dataLayer.renderingEngine===J.mustache&&(this.searchFeedbackMainContainer.innerHTML=F.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class _r{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.dataLayer.$locationEnabled.subscribeUntilHasValue(()=>{this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())},200)}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 o=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||C.searchInput.mainTemplate.template,n={...this.dataLayer.parsedData.data,locationEnabled:!!this.dataLayer.locationEnabled};if(this.dataLayer.setInputWidgetTemplateData(n),this.dataLayer.renderingEngine===J.mustache){const g=F.render(o,n);r.innerHTML=g,this.dataLayer.setInputTemplateRendered(!0)}const l=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.searchInputId)||C.searchInput.mainTemplate.searchInputId,c=document==null?void 0:document.querySelector(`#${l}`);if(c)this.searchInput=c,c.addEventListener("keyup",this.inputKeyupEvent.bind(this)),c.addEventListener("blur",this.hideAutosuggest.bind(this)),c.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===J.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.executeSearch(((e=this.searchInput)==null?void 0:e.value)??"")}))}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(){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-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}}selectPreviousAutosuggestItem(e){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem===0?(this.selectedAutosuggestItem=-1,e&&(e.focus(),e.setSelectionRange(e.value.length,e.value.length)),X.setAccessibilityText("No Suggestion selected")):this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem===this.autosuggestResults.suggestions.length-1?(this.selectedAutosuggestItem=-1,X.setAccessibilityText("No Suggestion selected")):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"),X.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(e.target):t==="ArrowUp"?this.selectPreviousAutosuggestItem(e.target):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(e){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection(),e&&(e.focus(),e.setSelectionRange(e.value.length,e.value.length)),X.setAccessibilityText("No Suggestion selected")},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 o=((s=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:s.template)||((a=C.searchInput.autosuggestItemTemplate)==null?void 0:a.template);return r.innerHTML=F.render(o,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?X.setAccessibilityText("Suggestions are available. Use up and down arrows to navigate while focusing input. Use Escape key to escape out of the suggestions",2e3):X.setAccessibilityText("",0),this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(o=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(o))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class $r{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(()=>{X.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 o=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:s.template)||((a=C.searchResults.noSearchResultTemplate)==null?void 0:a.template),n=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===J.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=F.render(o,{spellingSuggestion:n,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),n&&this.searchResultsContainer){const l=this.searchResultsContainer.querySelector("a");l&&l.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),this.searchCallback(n)})}}renderResults(e){var t,s,a,r,o;if(this.dataLayer.renderingEngine===J.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)X.setAccessibilityText("Search has no results"),this.renderNoResultsTemplate();else{X.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);const n=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.searchResultTemplate)==null?void 0:a.template)||((r=C.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(c=>F.render(n,c));((o=this.config)==null?void 0:o.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=l.join(""):this.searchResultsContainer.innerHTML=l.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}get uniqueIdAttribute(){var e,t,s,a;return((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)||((a=C.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=C.searchResults.mainTemplate)==null?void 0:a.template);this.dataLayer.renderingEngine===J.mustache&&(this.searchResultsMainContainer.innerHTML=F.render(r,{}),setTimeout(()=>{var o,n,l,c,g,m,p;const y=(l=(n=(o=this.config)==null?void 0:o.templates)==null?void 0:n.mainTemplate)!=null&&l.searchResultsContainerId?(m=(g=(c=this.config)==null?void 0:c.templates)==null?void 0:g.mainTemplate)==null?void 0:m.searchResultsContainerId:(p=C.searchResults.mainTemplate)==null?void 0:p.searchResultsContainerId,x=document==null?void 0:document.getElementById(y);if(x)this.searchResultsContainer=x;else throw new Error(`Search Results Container with id ${y} not found`)},0))}}class Wr{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)||C.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)||C.sorting.main.template;if(this.dataLayer.renderingEngine===J.mustache){this.searchSortingMainContainer.innerHTML=F.render(r,e),this.markOptionSelected();const o=document==null?void 0:document.getElementById(this.selectId);o&&o.addEventListener("change",n=>{this.setOrderQuery(n.target.value)})}}}class Vr{constructor(e){h(this,"analyticsKey"),h(this,"containerId"),h(this,"mainContainer"),h(this,"isLightweight"),h(this,"emailOverride"),h(this,"feedbackTextAreaOverride"),h(this,"mainTemplateOverride"),h(this,"lightweightTemplateOverride"),h(this,"focusedElement",null),h(this,"focusTrapListener",null),h(this,"lastFocusedElementBeforeModal",null),h(this,"templateData",{feedbackOpen:!1,ratings:[{index:1,isSelected:!1},{index:2,isSelected:!1},{index:3,isSelected:!1},{index:4,isSelected:!1},{index:5,isSelected:!1},{index:6,isSelected:!1},{index:7,isSelected:!1},{index:8,isSelected:!1},{index:9,isSelected:!1},{index:10,isSelected:!1}],emailInput:"",feedbackTextArea:"",charactersLeft:2e3,maxLength:2e3,errors:{rating:!1,email:!1},submitted:!1,thumbsUpActive:!1,thumbsDownActive:!1}),h(this,"thumbsUpValue",10),h(this,"thumbsDownValue",1),h(this,"ratedQuestion",""),h(this,"language",""),h(this,"model",""),h(this,"analyticsSrc",""),this.analyticsKey=e.analyticsKey,this.containerId=e.containerId??"sf-feedback",this.isLightweight=e.lightweight??!1,this.isLightweight&&this.templateData.ratings.unshift({index:0,isSelected:!1}),this.thumbsUpValue=e.thumbsUpValue??10,this.thumbsDownValue=e.thumbsDownValue??1,this.emailOverride=e.emailOverride,this.feedbackTextAreaOverride=e.feedbackTextAreaOverride,this.mainTemplateOverride=e.mainTemplateOverride,this.lightweightTemplateOverride=e.lightweightTemplateOverride,this.mainContainer=document.getElementById(this.containerId),this.language=e.language??"",this.model=e.model??"",this.analyticsSrc=e.analyticsSrc??"",this.init()}init(){ye.attachAnalyticsScript(this.analyticsSrc),this.renderMainTemplate(this.generateTemplateData())}generateTemplateData(){return this.templateData}renderMainTemplate(e){var t,s;const a=document.activeElement;(a instanceof HTMLInputElement||a instanceof HTMLButtonElement||a instanceof HTMLTextAreaElement||a instanceof HTMLAnchorElement)&&(a.type==="radio"||a.type==="button"||a.type==="textarea"||a instanceof HTMLAnchorElement)?this.focusedElement=a:this.focusedElement=null,this.mainContainer;let r=(t=K==null?void 0:K.mainTemplate)==null?void 0:t.template;if(this.mainTemplateOverride&&(r=this.mainTemplateOverride),this.isLightweight&&(r=(s=K.lightweightTemplate)==null?void 0:s.template,this.lightweightTemplateOverride&&(r=this.lightweightTemplateOverride)),this.mainContainer.innerHTML=F.render(r,e),this.focusedElement&&this.mainContainer){const o=this.focusedElement.type==="radio"?this.focusedElement.getAttribute("id"):this.focusedElement.getAttribute("class"),n=this.focusedElement.type==="radio"?"id":"class",l=this.mainContainer.querySelector(`[${n}="${o}"]`);(l instanceof HTMLInputElement||l instanceof HTMLButtonElement||l instanceof HTMLTextAreaElement||l instanceof HTMLAnchorElement)&&l.focus(),this.focusedElement=null}this.attachEvents()}attachEvents(){this.isLightweight?this.attachLightweightEvents():(this.attachOpenModalEvent(),this.closeModalEvent(),this.attachRatingEvents(),this.attachTextAreaEvents(),this.attachEmailInputEvents(),this.attachSubmitButtonEvents())}attachFocusTrap(){this.focusTrapListener&&document.removeEventListener("keydown",this.focusTrapListener),this.focusTrapListener=e=>{if(!this.templateData.feedbackOpen)return;const t=this.getModalElement();if(!t)return;const s=this.getFocusableElements(t);if(s.length===0)return;const a=s[0],r=s[s.length-1];e.key==="Tab"&&(e.shiftKey?(document.activeElement===a||!t.contains(document.activeElement))&&(e.preventDefault(),r==null||r.focus()):(document.activeElement===r||!t.contains(document.activeElement))&&(e.preventDefault(),a==null||a.focus())),e.key==="Escape"&&(e.preventDefault(),this.closeFeedbackModal())},document.addEventListener("keydown",this.focusTrapListener)}getFocusableElements(e){const t=["button:not([disabled])","input:not([disabled])","textarea:not([disabled])","select:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])'].join(", ");return Array.from(e.querySelectorAll(t))}getModalElement(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.modalContainerClass;return((t=this.mainContainer)==null?void 0:t.querySelector(`.${s}`))||null}attachLightweightEvents(){var e,t,s,a;const r=(e=K.lightweightTemplate)==null?void 0:e.thumbsUpButtonClass,o=(t=K.lightweightTemplate)==null?void 0:t.thumbsDownButtonClass,n=(s=this.mainContainer)==null?void 0:s.querySelector("."+r),l=(a=this.mainContainer)==null?void 0:a.querySelector("."+o);n&&n.addEventListener("click",()=>{const c=this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea;this.templateData.ratings[this.templateData.ratings.length-1].isSelected&&this.ratedQuestion===c||(this.templateData.thumbsUpActive=!0,this.templateData.thumbsDownActive=!1,this.templateData.ratings.forEach(g=>{g.isSelected=g.index===this.thumbsUpValue}),this.renderMainTemplate(this.generateTemplateData()),this.ratedQuestion=c,this.submit())}),l&&l.addEventListener("click",()=>{const c=this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea;this.templateData.ratings[0].isSelected&&this.ratedQuestion===c||(this.templateData.thumbsUpActive=!1,this.templateData.thumbsDownActive=!0,this.templateData.ratings.forEach(g=>{g.isSelected=g.index===this.thumbsDownValue}),this.renderMainTemplate(this.generateTemplateData()),this.ratedQuestion=c,this.submit())})}attachSubmitButtonEvents(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.submitButtonClass,a=(t=this.mainContainer)==null?void 0:t.querySelector("."+s);a&&a.addEventListener("click",()=>{this.checkIfValid()})}checkIfValid(){var e,t;const s=(t=this.mainContainer)==null?void 0:t.querySelector("#"+((e=K.mainTemplate)==null?void 0:e.emailInputId));this.validateEmail(s.value)?this.templateData.errors.email=!1:(this.templateData.errors.email=!0,X.setAccessibilityText("Please enter a valid email address.")),this.templateData.ratings.some(a=>a.isSelected)?this.templateData.errors.rating=!1:(this.templateData.errors.rating=!0,X.setAccessibilityText("Please Rate your experience.")),this.templateData.errors.rating||this.templateData.errors.email?this.renderMainTemplate(this.generateTemplateData()):this.submit()}submit(){var e,t,s;this.templateData.submitted=!0;const a=(e=this.templateData.ratings.find(r=>r.isSelected))==null?void 0:e.index;a!==void 0&&(ye.trackFeedback({trackApiKey:this.analyticsKey,email:this.emailOverride&&this.isLightweight?this.emailOverride():this.templateData.emailInput,rating:a,feedback:this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea,model:this.model?this.model:void 0,language:this.language?this.language:void 0}),this.showCheckmarkAnimation(),X.setAccessibilityText("Feedback has been sent.",1e3),(s=this.mainContainer)!=null&&s.querySelector("."+((t=K.mainTemplate)==null?void 0:t.checkmarkClass))?setTimeout(()=>{this.closeFeedbackModal(),this.renderMainTemplate(this.generateTemplateData())},2e3):(setTimeout(()=>{this.closeFeedbackModal()},500),this.renderMainTemplate(this.generateTemplateData())))}validateEmail(e){return e===""?!0:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}attachEmailInputEvents(){var e,t;const s=(t=this.mainContainer)==null?void 0:t.querySelector("#"+((e=K.mainTemplate)==null?void 0:e.emailInputId));s&&(s.addEventListener("input",()=>{this.templateData.emailInput=s.value}),s.addEventListener("blur",()=>{setTimeout(()=>{this.validateEmail(s.value)?this.templateData.errors.email=!1:(this.templateData.errors.email=!0,X.setAccessibilityText("Please enter a valid email address.")),this.renderMainTemplate(this.generateTemplateData())},300)}))}attachTextAreaEvents(){var e,t;const s=(t=this.mainContainer)==null?void 0:t.querySelector("#"+((e=K.mainTemplate)==null?void 0:e.feedbackTextAreaId));s&&s.addEventListener("input",()=>{var a,r;this.templateData.feedbackTextArea=s.value,this.templateData.charactersLeft=this.templateData.maxLength-s.value.length;const o=(r=this.mainContainer)==null?void 0:r.querySelector("."+((a=K.mainTemplate)==null?void 0:a.charactersRemainingContainerclass));o&&(o.innerText=this.templateData.charactersLeft+"")})}attachRatingEvents(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.ratingInputclass,a=(t=this.mainContainer)==null?void 0:t.querySelectorAll("."+s);a&&a.forEach(r=>{r.addEventListener("click",o=>{const n=o.target.value;this.templateData.ratings.forEach(l=>{l.isSelected=l.index+""===n}),this.templateData.errors.rating=!1,this.renderMainTemplate(this.generateTemplateData())})})}attachOpenModalEvent(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.openModalButtonClass,a=(t=this.mainContainer)==null?void 0:t.querySelector("."+s);a&&a.addEventListener("click",r=>{r.preventDefault(),this.toggleModal()})}toggleModal(){this.templateData.feedbackOpen?this.closeFeedbackModal():this.openFeedbackModal()}closeModalEvent(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.closeModalButtonClass,a=(t=this.mainContainer)==null?void 0:t.querySelector("."+s);a&&a.addEventListener("click",()=>{this.closeFeedbackModal()})}openFeedbackModal(){this.lastFocusedElementBeforeModal=document.activeElement,this.templateData.feedbackOpen=!0,this.renderMainTemplate(this.generateTemplateData()),setTimeout(()=>{const e=this.getModalElement();if(e){const t=this.getFocusableElements(e);t.length>0&&t[0].focus()}this.attachFocusTrap()},0),X.setAccessibilityText("Feedback form opened",1e3)}closeFeedbackModal(){this.templateData.feedbackOpen=!1,this.focusTrapListener&&(document.removeEventListener("keydown",this.focusTrapListener),this.focusTrapListener=null),this.renderMainTemplate(this.generateTemplateData()),this.lastFocusedElementBeforeModal&&(this.lastFocusedElementBeforeModal.focus(),this.lastFocusedElementBeforeModal=null),X.setAccessibilityText("Feedback form closed",1e3)}showCheckmarkAnimation(){var e,t,s,a,r,o;const n=(e=K.mainTemplate)==null?void 0:e.submitButtonClass,l=(t=this.mainContainer)==null?void 0:t.querySelector("."+n);l&&(l.disabled=!0);const c=(s=K.mainTemplate)==null?void 0:s.checkmarkClass,g=(a=this.mainContainer)==null?void 0:a.querySelector("."+c);g&&g.classList.remove("hidden");const m=(r=K.mainTemplate)==null?void 0:r.submitButtonTextClass,p=(o=this.mainContainer)==null?void 0:o.querySelector("."+m);p&&p.classList.add("visibility"),setTimeout(()=>{g&&g.classList.add("hidden"),p&&p.classList.remove("visibility"),l&&(l.disabled=!1)},2e3)}destroy(){this.focusTrapListener&&(document.removeEventListener("keydown",this.focusTrapListener),this.focusTrapListener=null)}}class Qr{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"answerContainer",null),h(this,"showMoreVisible",!1),h(this,"renderFeedbackWidget",!1),h(this,"clicked",!1),h(this,"renderedWithShowMore",!1);var t;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.renderFeedbackWidget=((t=this.config.feedbackwidget)==null?void 0:t.renderFeedbackWidget)||!1,this.config.showMoreAfterWordCount&&(this.dataLayer.answerWidgetShowMoreLimit=this.config.showMoreAfterWordCount),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.clicked?this.showMoreVisible=!1:this.showMoreVisible=this.dataLayer.parsedData.shouldShowAnswerLoadMore,this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answerLoading.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answerError.subscribe(e=>{e&&setTimeout(()=>{this.renderMainTemplate(this.generateTemplateData())},100)}),this.dataLayer.$searchObject.subscribe(()=>{this.clicked=!1,this.renderedWithShowMore=!1,this.showMoreVisible=!1}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answer.subscribe(e=>{e&&setTimeout(()=>{this.initializeWidget()},600)}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.dataLayer.$answer.getValue()&&setTimeout(()=>{this.initializeWidget()},600)})}searchstaxFeedbackTextAreaOverride(){return"Question: "+(this.dataLayer.searchObject.query==="undefined"?"":this.dataLayer.searchObject.query)+" Answer: "+this.dataLayer.parsedData.getAnswerData}initializeWidget(){var e,t,s,a,r;this.renderFeedbackWidget&&document.getElementById("feedbackWidgetContainer")&&!this.dataLayer.answerLoading&&new Vr({analyticsKey:this.dataLayer.parsedData.trackingData.trackApiKey,containerId:"feedbackWidgetContainer",lightweight:!0,model:this.dataLayer.parsedData.trackingData.model,language:this.dataLayer.parsedData.trackingData.language,emailOverride:(e=this.config.feedbackwidget)==null?void 0:e.emailOverride,feedbackTextAreaOverride:((t=this.config.feedbackwidget)==null?void 0:t.searchstaxFeedbackTextAreaOverride)??this.searchstaxFeedbackTextAreaOverride.bind(this),thumbsUpValue:((s=this.config.feedbackwidget)==null?void 0:s.thumbsUpValue)??10,thumbsDownValue:((a=this.config.feedbackwidget)==null?void 0:a.thumbsDownValue)??0,lightweightTemplateOverride:(r=this.config.feedbackwidget)==null?void 0:r.lightweightTemplateOverride})}showMore(e){e.preventDefault(),this.clicked=!0,this.showMoreVisible=!1,this.renderMainTemplate(this.generateTemplateData()),setTimeout(()=>{this.initializeWidget()},600)}attachClickEventToShowMore(){const e=document.querySelector(".searchstax-answer-load-more-button");e&&e.addEventListener("click",this.showMore.bind(this))}trackLinkClick(e){e.preventDefault(),e.stopPropagation();const t=e.target.getAttribute("href");ye.trackAnswerLinkClick({href:t,answer:this.dataLayer.parsedData.getAnswerData,...this.dataLayer.parsedData.trackingData}).then(()=>{window.open(t,"_blank")}).catch(()=>{window.open(t,"_blank")})}attachLinkTracking(){document.querySelectorAll(".searchstax-answer-link").forEach(e=>{e.getAttribute("listener")!=="true"&&(e.setAttribute("listener","true"),e.addEventListener("click",this.trackLinkClick.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)||C.answer.main.template;this.dataLayer.renderingEngine===J.mustache?(!this.renderedWithShowMore||!e.answerLoading||this.clicked)&&(e.showMoreButtonVisible&&(this.renderedWithShowMore=!0),this.answerContainer.innerHTML=F.render(r,e),setTimeout(()=>{this.attachClickEventToShowMore(),this.attachLinkTracking()},100)):setTimeout(()=>{this.attachLinkTracking()},500)}generateTemplateData(){const e={...this.dataLayer.parsedData.data,showMoreButtonVisible:this.showMoreVisible};return this.dataLayer.setAnswerFullData(e),e}}class Ss{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"currentSelectValue",""),h(this,"locationInput"),h(this,"radiusInput"),h(this,"locationDecode"),h(this,"locationDecodeCoordinatesToAddress");var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.locationDecode=(t=e.config.hooks)==null?void 0:t.locationDecode,this.locationDecodeCoordinatesToAddress=(s=e.config.hooks)==null?void 0:s.locationDecodeCoordinatesToAddress,this.dataLayer.locationEnabled&&this.dataLayer.$inputTemplateRendered.subscribeUntil(()=>{this.renderMainTemplate(),this.attachSubscriptions()},!0,500)}renderMainTemplate(){var e,t,s,a,r,o,n,l;if(typeof document<"u"){const c=document==null?void 0:document.getElementById(this.containerId);if(!c)throw new Error("Search input container not found");const g=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||C.location.mainTemplate.template,m={...this.dataLayer.parsedData.data};if(this.dataLayer.setLocationWidgetTemplateData(m),this.dataLayer.renderingEngine===J.mustache){const p=F.render(g,m);c.innerHTML=p;const y=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.locationInputId)||C.location.mainTemplate.locationInputId,x=document==null?void 0:document.querySelector(`#${y}`);if(x)this.locationInput=x,x.addEventListener("blur",this.blurEvent.bind(this)),x.addEventListener("focus",this.focusEvent.bind(this));else throw new Error("Input not found");const f=((o=(r=this.config.templates)==null?void 0:r.mainTemplate)==null?void 0:o.radiusInputId)||C.location.mainTemplate.radiusInputId,w=document==null?void 0:document.querySelector(`#${f}`);w instanceof HTMLSelectElement&&(this.radiusInput=w,w.addEventListener("change",this.radiusSelectChangeEvent.bind(this)));const S=((l=(n=this.config.templates)==null?void 0:n.mainTemplate)==null?void 0:l.currentLocationActionButtonId)||C.location.mainTemplate.currentLocationActionButtonId,A=document==null?void 0:document.querySelector(`#${S}`);A&&A.addEventListener("click",this.getCurrentLocation.bind(this))}}}setCurrentLocationFields(e){this.dataLayer.setLocationCoordinatesDecoded(e),this.dataLayer.setSearchLocation(this.dataLayer.searchLocationCoordinatesDecoded),this.dataLayer.renderingEngine===J.mustache&&this.locationInput&&(this.locationInput.value=this.dataLayer.searchLocationCoordinatesDecoded)}getCurrentLocation(){navigator.geolocation?navigator.geolocation.getCurrentPosition(e=>{const t=e.coords.latitude.toString(),s=e.coords.longitude.toString(),a=Math.floor(parseFloat(t)*100)/100,r=Math.floor(parseFloat(s)*100)/100;this.dataLayer.setSearchLat(a+""),this.dataLayer.setSearchLong(r+"");const o=this.locationDecodeCoordinatesToAddress;o?o(a+"",r+"").then(n=>{this.setCurrentLocationFields(n.address||"Current Location")}).catch(()=>{this.setCurrentLocationFields("Current Location")}):this.setCurrentLocationFields("Current Location")},()=>{console.error("Unable to retrieve your location")}):console.error("Geolocation is not supported by this browser.")}setRadiusValue(e){this.dataLayer.setSearchRadius(e)}radiusSelectChangeEvent(e){this.currentSelectValue=e.target.value,this.setRadiusValue(this.currentSelectValue)}attachSubscriptions(){this.dataLayer.$searchObject.subscribe(e=>{this.locationInput&&(this.locationInput.value=this.cleanSuggestionTerm(e.location.address??"")),this.radiusInput&&e.location.radius&&(this.radiusInput.value=e.location.radius||"")})}cleanSuggestionTerm(e){return te.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}triggerGeocoder(e){const t=this.locationDecode;this.dataLayer.setLocationDecodingLoading(!0),e&&this.dataLayer.searchLocation!==e&&e!==this.dataLayer.searchLocationCoordinatesDecoded?t(e).then(s=>{this.dataLayer.setSearchLocation(s.address||""),this.dataLayer.setSearchLat(s.lat||""),this.dataLayer.setSearchLong(s.lon||""),this.locationInput&&(this.locationInput.value=this.cleanSuggestionTerm(s.address||"")),this.dataLayer.renderingEngine===J.mustache&&s.error&&this.locationInput&&this.locationInput.classList.add("searchstax-input-location-error"),s.error?this.dataLayer.setLocationError(!0):this.dataLayer.setLocationError(!1),this.dataLayer.setLocationDecodingLoading(!1)}).catch(()=>{this.dataLayer.setLocationDecodingLoading(!1)}):e===""&&(this.dataLayer.setSearchLocation(void 0),this.dataLayer.setSearchLat(void 0),this.dataLayer.setSearchLong(void 0),this.dataLayer.setLocationDecodingLoading(!1))}focusEvent(e){e.target.classList.remove("searchstax-input-location-error"),this.dataLayer.setLocationError(!1)}blurEvent(e){const t=e.target.value;this.triggerGeocoder(t)}}class Hr{constructor(e=J.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,"searchLocationWidget"),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,"locationObserver",null),h(this,"dataLayer"),h(this,"firstRequest",!0),h(this,"previousQuery",""),h(this,"eventSource",null),h(this,"renderEngine",J.mustache),e&&(this.renderEngine=e)}setRenderingEngine(e=J.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)}),setTimeout(()=>{this.dataLayer.$searchObject.subscribe(s=>{var a,r,o,n,l,c;s.query!==this.previousQuery&&this.dataLayer.setAnswerData(""),s.query!==""&&s.query!==void 0&&s.query!=="undefined"?(this.search(s),s.query!==this.previousQuery&&this.startSSE(s.query)):(a=this.dataLayer.searchLocationConfig)!=null&&a.locationSearchEnabled&&!((r=this.dataLayer.searchLocationConfig)!=null&&r.locationValuesOverride)?this.getMetadata(s):(n=(o=this.dataLayer.searchLocationConfig)==null?void 0:o.locationValuesOverride)!=null&&n.locationFilterDefaultValue&&this.dataLayer.setSearchRadius((c=(l=this.dataLayer.searchLocationConfig)==null?void 0:l.locationValuesOverride)==null?void 0:c.locationFilterDefaultValue),this.previousQuery=s.query})},10),this.dataLayer.$searchResults.subscribe(s=>{s&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ye.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}startSSE(e){var t,s;this.eventSource&&((t=this.eventSource)==null||t.close(),this.dataLayer.setAnswerData("")),this.dataLayer.turnAIAnswerGenerationOn===!0&&this.dataLayer.questionURL&&this.dataLayer.searchObject.query!==void 0&&this.dataLayer.searchObject.query!=="undefined"&&(this.eventSource=(s=this.searchHelper)==null?void 0:s.startSSE(e,this.parseAnswerResultsResponse.bind(this)))}attachAnalyticsScript(e){ye.attachAnalyticsScript(e)}initialize(e){var t,s;if(this.dataLayer=new tr("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.questionURL&&(this.dataLayer.questionURL=e.questionURL),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),e.language&&this.dataLayer.setLanguage(e.language),e.model&&this.dataLayer.setModel(e.model),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new or({...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 Ls(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:a.itemsPerPage&&this.dataLayer.setItemsPerPage(a.itemsPerPage),a.model&&this.dataLayer.setModel(a.model),a.location&&(a.location.address&&this.dataLayer.setSearchLocation(a.location.address),a.location.lat&&this.dataLayer.setSearchLat(a.location.lat),a.location.lon&&this.dataLayer.setSearchLong(a.location.lon),a.location.radius&&this.dataLayer.setSearchRadius(a.location.radius)),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 Ls({})}getMetadata(e){this.searchHelper&&(e.query==="undefined"||e.query===void 0)&&this.dataLayer.setSearchObject({...e,query:"*"})}search(e){if(this.searchHelper){const t=this.dataLayer.forceNotCorrect;this.searchHelper.url&&(this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1),this.getRelatedSearches()}}getRelatedSearches(){var e;this.searchHelper&&this.relatedSearchesConfig&&(e=this.relatedSearchesConfig)!=null&&e.relatedSearchesURL&&this.dataLayer.searchObject.query!==void 0&&this.dataLayer.searchObject.query!=="undefined"&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var t,s;const a=(((t=e.response)==null?void 0:t.docs)??[]).map((o,n)=>({...o,position:n+1})),r=[];for(const o of a)r.push({relatedSearch:o.related_search,position:o.position});this.dataLayer.setSearchRelatedSearches(a),this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&r.length&&ye.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:r,totalRelatredSearches:((s=this.dataLayer.searchRelatedSearches)==null?void 0:s.length)??0})}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponseMetadata(e){var t,s,a,r;const o=ut.extractSearchResultsMetadata(e),n=((s=(t=this.dataLayer.searchLocationConfig)==null?void 0:t.locationValuesOverride)==null?void 0:s.locationFilterDefaultValue)??((r=(a=o.location)==null?void 0:a.filter)==null?void 0:r.defaultValue);!this.dataLayer.searchRadius&&n&&this.dataLayer.setSearchRadius(n),this.dataLayer.setSearchResultsMetadata(o)}parseSearchResultsResponse(e){var t,s;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows)),this.dataLayer.setModel(e.responseHeader.params.model);let a=ut.combineResultsWithMetadata(e),r=ut.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??[]),this.parseSearchResultsResponseMetadata(e),this.dataLayer.setSearchResults(a)}parseAnswerResultsResponse(e){this.handleRouter(),e!==$e.question&&e!==$e.notQuestion&&(this.dataLayer.setAnswerLoading(!0),this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e))}cacheFacets(e){var t,s;e?(t=this.searchHelper)==null||t.cacheFacets(!0).then(()=>{}):(s=this.searchHelper)==null||s.cacheFacets().then(()=>{})}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.$locationEnabled.subscribeUntilHasValue(()=>{this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new _r({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer})},200)}addSearchLocationWidget(e,t){var s,a;this.dataLayer.searchLocationConfig||(t.locationSearchEnabled?(this.dataLayer.setLocationEnabled(!0),this.dataLayer.setSearchLocationConfig(t),t.locationValuesOverride?(this.searchLocationWidget=new Ss({containerId:e,config:t,dataLayer:this.dataLayer}),(s=t==null?void 0:t.locationValuesOverride)!=null&&s.locationFilterDefaultValue&&this.dataLayer.setSearchRadius((a=t==null?void 0:t.locationValuesOverride)==null?void 0:a.locationFilterDefaultValue)):this.dataLayer.$searchResultsMetadata.subscribeUntilHasValue(()=>{this.searchLocationWidget=new Ss({containerId:e,config:t,dataLayer:this.dataLayer})},0)):this.dataLayer.setLocationEnabled(!1))}addAnswerWidget(e,t){this.dataLayer.turnAIAnswerGenerationOn=!0,this.startSSE(this.dataLayer.searchObject.query),this.dataLayer.setAnswerData(""),this.answerWidget=new Qr({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new $r({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 Pr({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new zr({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new Wr({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Fr({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 Dr({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Or({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){const s={...this.dataLayer.searchObject};s.query=te.removeXSSRiskyTags(e),s.page=1,s.facets=[],s.location={...s.location},this.locationObserver&&this.dataLayer.$locationDecodingLoading.unsubscribe(this.locationObserver),this.locationObserver=this.dataLayer.$locationDecodingLoading.subscribeUntil(()=>{var a,r;s.location.address=this.dataLayer.searchLocation,s.location.radius=this.dataLayer.searchRadius,s.location.lat=this.dataLayer.searchLat,s.location.lon=this.dataLayer.searchLong,this.dataLayer.forceNotCorrect=!!t;let o=(a=this.routerHelper)==null?void 0:a.searchObjectToParams(s);o&&(o=(r=this.routerHelper)==null?void 0:r.extractParamsThatDoNotStartWithRouteName(o)),o&&(s.additionalProps=Object.keys(o).map(n=>o?{key:n,value:o[n]}:{key:"",value:""})),this.dataLayer.setSearchObject(s),this.dataLayer.lastSearchValue=s.query},!1)}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){var t;this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&ye.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e,totalRelatredSearches:((t=this.dataLayer.searchRelatedSearches)==null?void 0:t.length)??0})}executeLinkClick(e){var t,s;let a=ut.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&&ye.trackClick({result:a,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(a==null?void 0:a.url)??"")}).catch(()=>{typeof window<"u"&&(window.location.href=(a==null?void 0:a.url)??"")}))}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 b={searchstax:new Hr("react")};function ks(i,e,t,s,a,r,o,n){return u.jsx(u.Fragment,{children:i&&u.jsx("div",{className:"searchstax-location-input-container","data-test-id":"searchstax-location-input-container",children:u.jsxs("div",{className:"searchstax-location-input-wrapper",children:[u.jsx("span",{className:"searchstax-location-input-label",children:"NEAR"}),u.jsxs("div",{className:"searchstax-location-input-wrapper-inner",children:[u.jsx("input",{type:"text",id:"searchstax-location-input",className:"searchstax-location-input"+(n?" searchstax-input-location-error":""),placeholder:"Zip, Postal Code or City...","aria-label":"Search Location Input","data-test-id":"searchstax-location-input",value:r??"",onChange:l=>e(l.target.value),onBlur:l=>t(l.target.value)}),u.jsx("button",{onClick:a,className:"searchstax-get-current-location-button",children:"Use my current location"})]}),i.shouldShowLocationDistanceDropdown&&u.jsx("span",{className:"searchstax-location-input-label",children:"WITHIN"}),i.shouldShowLocationDistanceDropdown&&u.jsx("select",{id:"searchstax-location-radius-select",className:"searchstax-location-radius-select","aria-label":"Search Location Radius Select","data-test-id":"searchstax-location-radius-select",onChange:l=>s(l.target.value),value:o,children:i.locationSearchDistanceValues.map(({value:l,label:c})=>u.jsx("option",{value:l,children:c},l))})]})})})}function Ts(i){let e=!1;const[t,s]=E.useState(null),[a,r]=E.useState(null),[o,n]=E.useState(!1),[l,c]=E.useState(void 0),[g]=E.useState(Math.random());E.useEffect(()=>{if(m(),b.searchstax)b.searchstax.addSearchLocationWidget("search-location-container"+g,{hooks:i.hooks,locationSearchEnabled:i.locationSearchEnabled,locationValuesOverride:i.locationValuesOverride});else throw Error("Searchstax instance needs to be passed via props")},[]);function m(){e||(b.searchstax.dataLayer.$locationWidgetTemplateData.subscribe(f=>{s(f)}),b.searchstax.dataLayer.$searchObject.subscribe(f=>{r(f.location.address??""),c(f.location.radius||"")}),b.searchstax.dataLayer.$searchLocationChange.subscribe(f=>{r(f)}),b.searchstax.dataLayer.$searchRadiusChange.subscribe(f=>{c(f)}),b.searchstax.dataLayer.$locationError.subscribe(f=>{n(f)}),e=!0)}function p(){var f;(f=b.searchstax.searchLocationWidget)==null||f.getCurrentLocation()}function y(f){var w;c(f),(w=b.searchstax.searchLocationWidget)==null||w.setRadiusValue(f+"")}function x(f){var w;r(f),(w=b.searchstax.searchLocationWidget)==null||w.triggerGeocoder(f)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-location-container"+g,children:[!i.searchLocationTemplate&&t&&u.jsx(u.Fragment,{children:ks(t,r,x,y,p,a,l,o)}),i.searchLocationTemplate&&u.jsx(u.Fragment,{children:i.searchLocationTemplate(t,r,x,y,p,a,l,o)})]})})}const Es={appId:"APP_ID",relatedSearchesAPIKey:"KEY"},Ft={locationDecode:i=>new Promise(e=>{const t="GEOCODING_API_KEY",s=`https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(i)}&key=${t}`;fetch(s).then(a=>a.json()).then(a=>{if(a.status==="OK"&&a.results.length>0){const r=a.results[0],o={lat:r.geometry.location.lat,lon:r.geometry.location.lng,address:r.formatted_address};e(o)}else e({address:void 0,lat:void 0,lon:void 0,error:!0})}).catch(()=>{e({address:void 0,lat:void 0,lon:void 0,error:!0})})}),locationDecodeCoordinatesToAddress:(i,e)=>new Promise(t=>{fetch(`https://geocoding-staging.searchstax.co/reverse?location=${i},${e}&components=country:US&app_id=${Es.appId}`,{method:"GET",headers:{Authorization:`Token ${Es.relatedSearchesAPIKey}`}}).then(s=>s.json()).then(s=>{if(s.status==="OK"&&s.results.length>0){const a=s.results[0];t({address:a.formatted_address,lat:i,lon:e,error:!1})}else t({address:void 0,lat:i,lon:e,error:!0})}).catch(()=>{t({address:void 0,lat:i,lon:e,error:!0})})}),locationSearchEnabled:!1,locationValuesOverride:{locationDistanceEnabled:!0,filterValues:["any","1000"],filterUnit:"miles",locationFilterDefaultValue:"any"}};function Br(i,e,t,s){return u.jsxs(u.Fragment,{children:[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 ${i.length===0?"hidden":""}`,onMouseLeave:e,children:i.map(function(a){return u.jsx("div",{className:"searchstax-autosuggest-item",children:u.jsx("div",{className:"searchstax-autosuggest-item-term-container",tabIndex:0,dangerouslySetInnerHTML:{__html:a.term},onMouseOver:()=>{t(a)},onClick:()=>{s()}})},a.term)})})]}),u.jsx(Ts,{searchLocationTemplate:ks,hooks:{locationDecode:Ft.locationDecode,locationDecodeCoordinatesToAddress:Ft.locationDecodeCoordinatesToAddress},locationSearchEnabled:Ft.locationSearchEnabled,locationValuesOverride:Ft.locationValuesOverride}),u.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button","aria-label":"search"})]})}function Ur(i){let e=!1;const[t,s]=E.useState([]),[a,r]=E.useState(null);E.useEffect(()=>{if(o(),b.searchstax){const g={};i.afterAutosuggest&&(g.afterAutosuggest=i.afterAutosuggest),i.beforeAutosuggest&&(g.beforeAutosuggest=i.beforeAutosuggest),b.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:i.suggestAfterMinChars,hooks:g,templates:{mainTemplate:{template:"",searchInputId:i.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props");b.searchstax.dataLayer.setInputTemplateRendered(!0)},[]);function o(){e||(b.searchstax.dataLayer.$autosuggestResults.subscribe(g=>{s((g==null?void 0:g.suggestions)??[])}),b.searchstax.dataLayer.$inputWidgetTemplateData.subscribe(g=>{r(g)}),e=!0)}function n(){var g,m;(g=b.searchstax.searchInputWidget)==null||g.resetAutosuggestSelection(),(m=b.searchstax.searchInputWidget)==null||m.markActiveAutosuggestItem()}function l(g){var m;(m=b.searchstax.searchInputWidget)==null||m.onSuggestionEnter(g)}function c(){var g;(g=b.searchstax.searchInputWidget)==null||g.suggestionChosen()}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-input-container",children:u.jsxs("div",{className:`searchstax-search-input-container searchstax-search-input-container-new ${a!=null&&a.locationEnabled?"searchstax-alternative-render":""}`,children:[!i.inputTemplate&&u.jsx(u.Fragment,{children:Br(t,n,l,c)}),i.inputTemplate&&u.jsx(u.Fragment,{children:i.inputTemplate(t,n,l,c,a)})]})})})}function Yr(i){const[e,t]=E.useState(!1);return E.useEffect(()=>{const s={};i.beforeSearch&&(s.beforeSearch=i.beforeSearch),i!=null&&i.afterSearch&&(s.afterSearch=i.afterSearch),b.searchstax.initialize({language:i.language??"en",model:i.model,sessionId:i.sessionId,searchURL:i.searchURL,questionURL:i.questionURL,suggesterURL:i.suggesterURL,trackApiKey:i.trackApiKey,searchAuth:i.searchAuth,authType:i.authType??"basic",autoCorrect:i.autoCorrect,router:i.router,hooks:s,analyticsBaseUrl:i.analyticsBaseUrl,analyticsSrc:i.analyticsSrc}),setTimeout(()=>{t(!0)},100),i.initialized(b.searchstax)},[]),u.jsx(u.Fragment,{children:e&&u.jsxs(u.Fragment,{children:[" ",i.children," "]})})}function qr(i,e,t){return u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",u.jsx("strong",{children:"no results"})," for ",u.jsxs("strong",{children:['"',i,'"']}),u.jsx("br",{}),(e==null?void 0:e.spellingSuggestion)&&u.jsxs("span",{children:[" Did you mean"," ",u.jsx("a",{href:"#","aria-label":`Did you mean ${e==null?void 0:e.spellingSuggestion}`,className:"searchstax-suggestion-term",onClick:s=>{s.preventDefault(),t(e==null?void 0:e.spellingSuggestion)},children:e==null?void 0:e.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."})]})]})}function Jr(i,e){return u.jsx(u.Fragment,{children:i&&i.length&&u.jsx("div",{className:"searchstax-search-results","aria-live":"polite",children:i!==null&&i.map(function(t){return u.jsx("a",{href:t.url??"",onClick:s=>{e(t,s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&e(t,s)},"data-searchstax-unique-result-id":t.uniqueId,"aria-labelledby":`title-${t.uniqueId}`,className:"searchstax-result-item-link searchstax-result-item-link-wrapping",tabIndex:0,children:u.jsxs("div",{className:`searchstax-search-result ${t.thumbnail?"has-thumbnail":""}`,children:[t.promoted&&u.jsx("div",{className:"searchstax-search-result-promoted"}),t.ribbon&&u.jsx("div",{className:"searchstax-search-result-ribbon",dangerouslySetInnerHTML:{__html:t.ribbon}}),t.thumbnail&&u.jsx("img",{alt:"",src:t.thumbnail,className:"searchstax-thumbnail"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",id:`title-${t.uniqueId}`,dangerouslySetInnerHTML:{__html:t.title??""}})}),t.paths&&u.jsx("p",{className:"searchstax-search-result-common",tabIndex:0,dangerouslySetInnerHTML:{__html:t.paths}}),t.description&&u.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",tabIndex:0,dangerouslySetInnerHTML:{__html:t.description}}),t.unmappedFields.map(function(s){return u.jsxs("div",{children:[s.isImage&&typeof s.value=="string"&&u.jsx("div",{className:"searchstax-search-result-image-container",children:u.jsx("img",{alt:"",src:s.value,className:"searchstax-result-image"})}),!s.isImage&&u.jsx("div",{children:u.jsx("p",{tabIndex:0,className:"searchstax-search-result-common",dangerouslySetInnerHTML:{__html:s.value}})})]},s.key)})]},t.uniqueId)},t.uniqueId)})})})}function Gr(i){const[e,t]=E.useState(null),s=E.useRef();s.current=e;const[a,r]=E.useState(""),[o,n]=E.useState(null),l=(m,p)=>{p.preventDefault(),p.stopPropagation(),b.searchstax.executeLinkClick(m.uniqueId)};E.useEffect(()=>{g();const m={};i.afterLinkClick&&(m.afterLinkClick=i.afterLinkClick),b.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},renderMethod:i.renderMethod??"pagination",resultsPerPage:i.resultsPerPage,hooks:m})},[]);function c(m){b.searchstax.executeSearch(m)}function g(){b.searchstax.dataLayer.$searchResults.subscribe(m=>{var f;const p=s.current??[],y=m??[],x=i.renderMethod==="infiniteScroll"?[...p,...y]:m;((f=b.searchstax.dataLayer.$searchObject.value)==null?void 0:f.page)===1?t(y):t(x)}),b.searchstax.dataLayer.$searchTermChange.subscribe(m=>{r(m)}),b.searchstax.dataLayer.$searchResultsMetadata.subscribe(m=>{n(m)})}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-results-container",children:u.jsx("section",{"aria-label":"search results container",tabIndex:0,children:u.jsx("div",{className:"searchstax-search-results-container",id:"searchstax-search-results-container",children:u.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&a!==""&&a!=="*"&&b.searchstax.dataLayer.parsedData.firstSearchHappened&&!i.noResultTemplate&&u.jsx(u.Fragment,{children:qr(a,o,c)}),e&&e.length===0&&a!==""&&a!=="*"&&b.searchstax.dataLayer.parsedData.firstSearchHappened&&i.noResultTemplate&&u.jsx(u.Fragment,{children:i.noResultTemplate(a,o,c)}),e&&e.length>0&&!i.resultsTemplate&&Jr(e,l),e&&e.length>0&&i.resultsTemplate&&u.jsx(u.Fragment,{children:i.resultsTemplate(e,l)})]})})})})})}function Kr(i,e,t){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.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 ${i.isFirstPage?"disabled":""}`,tabIndex:0,style:i!=null&&i.isFirstPage?{pointerEvents:"none"}:{},onClick:s=>{t(s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&t(s)},id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),u.jsxs("div",{className:"searchstax-pagination-details",children:[" ",i==null?void 0:i.startResultIndex," -"," ",i==null?void 0:i.endResultIndex," of"," ",i==null?void 0:i.totalResults]}),u.jsx("a",{className:`searchstax-pagination-next ${i.isLastPage?"disabled":""}`,tabIndex:0,style:i!=null&&i.isLastPage?{pointerEvents:"none"}:{},onClick:s=>{e(s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&e(s)},id:"searchstax-pagination-next",children:"Next >"})]})})})}function Zr(i,e){return u.jsx(u.Fragment,{children:i&&i.isInfiniteScroll&&(i==null?void 0:i.totalResults)!==0&&!(i!=null&&i.isLastPage)&&u.jsx("div",{className:"searchstax-pagination-container",children:u.jsx("a",{className:"searchstax-pagination-load-more",tabIndex:0,onClick:t=>{e(t)},onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&e(t)},children:"Show More >"})})})}function Xr(i){let e=!1;const[t,s]=E.useState(!1),[a,r]=E.useState(null),[o]=E.useState(Math.random());E.useEffect(()=>{if(n(),b.searchstax)b.searchstax.addPaginationWidget("searchstax-pagination-container"+o,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function n(){e||(b.searchstax.dataLayer.$searchObject.subscribe(()=>{l()}),b.searchstax.dataLayer.$paginationData.subscribe(m=>{r(m)}),e=!0)}function l(){!t&&b.searchstax.routerHelper&&(s(!0),b.searchstax.addPaginationWidget("searchstax-pagination-container"+o,{}))}function c(m){var p;(p=b.searchstax.searchPaginationWidget)==null||p.nextPage(m)}function g(m){var p;(p=b.searchstax.searchPaginationWidget)==null||p.previousPage(m)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-pagination-container"+o,children:[!i.paginationTemplate&&a&&!a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&u.jsx(u.Fragment,{children:Kr(a,c,g)}),i.paginationTemplate&&a&&!a.isInfiniteScroll&&u.jsx(u.Fragment,{children:i.paginationTemplate(a,c,g)}),!i.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx(u.Fragment,{children:Zr(a,c)}),i.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx(u.Fragment,{children:i.infiniteScrollTemplate(a,c)})]})})}function en(i,e,t){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.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:t,onChange:s=>{e(s.target.value)},children:i.sortOptions.map(function(s){return u.jsx("option",{value:s.key,children:s.value},s.key)})})]})})}function tn(i){let e=!1;const[t,s]=E.useState(null),[a,r]=E.useState(""),[o]=E.useState(Math.random());E.useEffect(()=>{if(n(),b.searchstax)b.searchstax.addSearchSortingWidget("search-sorting-container"+o,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function n(){e||(b.searchstax.dataLayer.$searchSortingData.subscribe(c=>{s(c)}),b.searchstax.dataLayer.$searchObject.subscribe(c=>{r(decodeURIComponent((c==null?void 0:c.order)??""))}),e=!0)}function l(c){var g;(g=b.searchstax.searchSortingWidget)==null||g.setOrderQuery(c)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-sorting-container"+o,children:[!i.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&u.jsx(u.Fragment,{children:en(t,l,a)}),i.searchSortingTemplate&&u.jsx(u.Fragment,{children:i.searchSortingTemplate(t,l,a)})]})})}function an(i,e){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.totalResults)>0&&u.jsxs(u.Fragment,{children:["Showing"," ",u.jsxs("b",{children:[i.startResultIndex," -"," ",i.endResultIndex]})," ","of",u.jsxs("b",{children:[" ",i.totalResults]})," results",i.searchTerm&&u.jsxs("span",{children:[' for "',u.jsx("b",{children:i.searchTerm}),'"'," "]}),u.jsx("div",{className:"searchstax-feedback-container-suggested",children:i.autoCorrectedQuery&&u.jsxs("div",{children:[" ","Search instead for"," ",u.jsx("a",{href:"#",onClick:t=>{e(t)},className:"searchstax-feedback-original-query","aria-label":`Search instead for ${i.originalQuery}`,children:i.originalQuery})]})})]})})}function sn(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addSearchFeedbackWidget("search-feedback-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchFeedbackData.subscribe(n=>{s(n)}),e=!0)}function o(n){var l;(l=b.searchstax.searchFeedbackWidget)==null||l.onOriginalQueryClick(n)}return u.jsx(u.Fragment,{children:u.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+a,children:[!i.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)>0&&u.jsx(u.Fragment,{children:an(t,o)}),i.searchOverviewTemplate&&u.jsx(u.Fragment,{children:i.searchOverviewTemplate(t,o)})]})})}function rn(i,e,t,s,a,r,o){return u.jsx("div",{className:"searchstax-facets-container-desktop",children:i==null?void 0:i.facets.map(n=>u.jsx("div",{className:`searchstax-facet-container ${t(n.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{s(n.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",n.label]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container","aria-live":"polite",children:[n.values.map((l,c)=>(e[c+n.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${l.disabled?"searchstax-facet-value-disabled":""}`,ref:e[c+n.name],children:[u.jsx("div",{className:"searchstax-facet-input desktop-"+c+n.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:r(l),readOnly:!0,"aria-label":l.value+" "+l.count,disabled:l.disabled,onClick:g=>{a(c+n.name,g,l,!0)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:g=>{a(c+n.name,g,l,!1)},children:l.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:g=>{a(c+n.name,g,l,!1)},children:["(",l.count,")"]})]},l.value+l.parentName))),n.hasMoreFacets&&u.jsx("div",{className:"searchstax-facet-show-more-container",children:u.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:l=>{o(l,n)},onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&o(l,n)},tabIndex:0,children:[n.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!n.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},n.name+"desktop"))})}function nn(i,e,t,s,a,r,o,n,l,c,g,m){return i?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:()=>{c()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),u.jsxs("div",{className:"searchstax-facets-pills-selected",children:[e.map(p=>u.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{n(p)},children:[u.jsxs("div",{className:"searchstax-facets-pill-label",children:[p.value," (",p.count,")"]}),u.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},p.value)),e.length!==0&&u.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{m()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),u.jsxs("div",{className:`searchstax-facets-mobile-overlay ${i.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:()=>{g()}})]}),u.jsx("div",{className:"searchstax-facets-container-mobile",children:i==null?void 0:i.facets.map(p=>u.jsx("div",{className:`searchstax-facet-container ${s(p.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{a(p.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",p.label," "]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container","aria-live":"polite",children:[p.values.map((y,x)=>(t[x+p.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:t[x+p.name],children:[u.jsx("div",{className:"searchstax-facet-input mobile-"+x+p.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:o(y),readOnly:!0,"aria-label":y.value+" "+y.count,disabled:y.disabled,onClick:f=>{r(x+p.name,f,y,!0,!0)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:f=>{r(x+p.name,f,y,!1)},children:y.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:f=>{r(x+p.name,f,y,!1)},children:["(",y.count,")"]})]},y.value+y.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:y=>{l(y,p)},onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&l(y,p)},tabIndex:0,role:"button",children:[p.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!p.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},p.name+"mobile"))}),u.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{g()},children:"Done"})]})]})}):u.jsx(u.Fragment,{})}function on(i){const[e,t]=E.useState(null),[s,a]=E.useState(null),[r,o]=E.useState([]),[n,l]=E.useState({}),c={},g=Math.random();let m=!1;E.useEffect(()=>{if(p(),b.searchstax)b.searchstax.addFacetsWidget("searchstax-facets-container"+g,{facetingType:i.facetingType,specificFacets:i.specificFacets,itemsPerPageDesktop:i.itemsPerPageDesktop,itemsPerPageMobile:i.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function p(){m||(b.searchstax.dataLayer.$facetsTemplateData.subscribe(T=>{T!=null&&T.isMobile?a(T):t(T)}),b.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(T=>{o((T??[]).filter(B=>B.type==="checkbox"))}),m=!0)}function y(T){var D;(D=b.searchstax.searchFacetsWidget)==null||D.unselectFacet(T)}function x(){var T;(T=b.searchstax.searchFacetsWidget)==null||T.removeSelectedFacets()}function f(T){return!n[T]}function w(T){f(T)?l({...n,[T]:!0}):l({...n,[T]:!1})}function S(T){var D;return(D=b.searchstax.searchFacetsWidget)==null?void 0:D.isChecked(T)}function A(T,D,B,ue,Q){var Ne;const ce=Q?"mobile-":"desktop-",Te=document.getElementsByClassName(ce+T);Te[0]&&((Ne=b.searchstax.searchFacetsWidget)==null||Ne.onFacetSelect(D,B,Te[0],!1,S(B)))}function z(T,D){var B;(B=b.searchstax.searchFacetsWidget)==null||B.onShowMoreLessClick(T,D,!1)}function k(T,D){var B;(B=b.searchstax.searchFacetsWidget)==null||B.onShowMoreLessClick(T,D,!0)}function P(){var T;(T=b.searchstax.searchFacetsWidget)==null||T.openOverlay()}function _(){var T;(T=b.searchstax.searchFacetsWidget)==null||T.closeOverlay()}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-facets-container"+g,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!i.facetsTemplateDesktop&&u.jsx(u.Fragment,{children:rn(e,c,f,w,A,S,z)}),i.facetsTemplateDesktop&&u.jsx(u.Fragment,{children:i.facetsTemplateDesktop(e,c,f,w,A,S,z)}),(s==null?void 0:s.hasResultsOrExternalPromotions)&&!i.facetsTemplateMobile&&u.jsx(u.Fragment,{children:nn(s,r,c,f,w,A,S,y,k,P,_,x)}),i.facetsTemplateMobile&&u.jsx(u.Fragment,{children:i.facetsTemplateMobile(s,r,c,f,w,A,S,y,k,P,_,x)})]})})}function ln(i,e){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.hasRelatedSearches)&&u.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",u.jsx("span",{id:"searchstax-related-searches"}),i.relatedSearches&&u.jsx("span",{className:"searchstax-related-search",children:i.relatedSearches.map(t=>u.jsxs("span",{onClick:()=>{e(t)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&e(t)},tabIndex:0,className:"searchstax-related-search searchstax-related-search-item","aria-label":"Related search: "+t.related_search,children:[" ",t.related_search,!t.last&&u.jsx("span",{children:","})]},t.related_search))})]})})}function cn(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+a,{relatedSearchesURL:i.relatedSearchesURL,relatedSearchesAPIKey:i.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(n=>{s(n)}),e=!0)}function o(n){var l;(l=b.searchstax.relatedSearchesWidget)==null||l.executeSearch(n)}return u.jsxs(u.Fragment,{children:[!i.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&u.jsx(u.Fragment,{children:ln(t,o)}),i.searchRelatedSearchesTemplate&&u.jsx(u.Fragment,{children:i.searchRelatedSearchesTemplate(t,o)})]})}function hn(i,e){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.hasExternalPromotions)&&i.externalPromotions.map(t=>u.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[u.jsx("div",{className:"icon-elevated"}),t.url&&u.jsx("a",{href:t.url,onClick:s=>{e(t,s)},className:"searchstax-result-item-link"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",children:t.name})}),t.description&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",t.description," "]}),t.url&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",t.url," "]})]},t.id))})}function un(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(n=>{s(n)}),e=!0)}function o(n,l){var c;(c=b.searchstax.externalPromotionsWidget)==null||c.trackClick(n,l)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-external-promotions-layout-container"+a,children:[!i.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&u.jsx(u.Fragment,{children:hn(t,o)}),i.searchExternalPromotionsTemplate&&u.jsx(u.Fragment,{children:i.searchExternalPromotionsTemplate(t,o)})]})})}function dn(i,e){return u.jsx(u.Fragment,{children:i&&u.jsxs("div",{className:"searchstax-answer-wrap",children:[u.jsx("div",{className:"searchstax-answer-icon"}),u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-answer-container "+(i.showMoreButtonVisible===!0?"searchstax-answer-show-more":""),children:[u.jsx("div",{className:"searchstax-answer-title",children:"Smart Answers"}),i.shouldShowAnswerError&&u.jsx("div",{className:"searchstax-answer-error",dangerouslySetInnerHTML:{__html:i.answerErrorMessage}}),u.jsx("div",{className:"searchstax-answer-description",dangerouslySetInnerHTML:{__html:i.fullAnswerFormatted}}),i.answerLoading&&u.jsx("div",{className:"searchstax-answer-loading"})]}),i.showMoreButtonVisible===!0&&u.jsx("div",{className:"searchstax-answer-load-more-button-container",children:u.jsx("button",{className:"searchstax-answer-load-more-button",onClick:t=>{e(t)},children:"Read more"})})]}),u.jsxs("div",{className:"searchstax-answer-footer",children:[u.jsx("div",{id:"feedbackWidgetContainer"}),u.jsx("div",{className:"searchstax-lightweight-widget-separator-inline"}),u.jsx("p",{className:"searchstax-disclaimer",children:"Generative AI is Experimental"})]})]})})}function gn(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(o(),b.searchstax){const n=i.feedbackwidget??void 0;b.searchstax.addAnswerWidget("searchstax-answer-container"+a,{showMoreAfterWordCount:i.showMoreAfterWordCount,feedbackwidget:n})}else throw Error("Searchstax instance needs to be passed via props")},[]);function r(n){var l;b.searchstax&&((l=b.searchstax.answerWidget)==null||l.showMore(n))}function o(){e||(b.searchstax.dataLayer.$answerData.subscribe(n=>{s(n)}),e=!0)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-answer-container"+a,children:[!i.searchAnswerTemplate&&t&&t.shouldShowAnswer&&(t==null?void 0:t.searchExecuted)&&u.jsx(u.Fragment,{children:dn(t,r)}),i.searchAnswerTemplate&&t&&t.shouldShowAnswer&&u.jsx(u.Fragment,{children:i.searchAnswerTemplate(t,r)})]})})}ge.SearchstaxAnswerWidget=gn,ge.SearchstaxExternalPromotionsWidget=un,ge.SearchstaxFacetsWidget=on,ge.SearchstaxInputWidget=Ur,ge.SearchstaxLocationWidget=Ts,ge.SearchstaxOverviewWidget=sn,ge.SearchstaxPaginationWidget=Xr,ge.SearchstaxRelatedSearchesWidget=cn,ge.SearchstaxResultWidget=Gr,ge.SearchstaxSortingWidget=tn,ge.SearchstaxWrapper=Yr,Object.defineProperty(ge,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxReact"]=this["@searchstaxInc/searchstudioUxReact"]||{},React);
|
|
455
|
+
`,thumbsUpButtonClass:"searchstax-lightweight-widget-thumbs-up",thumbsDownButtonClass:"searchstax-lightweight-widget-thumbs-down"}};class C{}h(C,"answer",Cr),h(C,"externalPromotions",Sr),h(C,"facets",kr),h(C,"pagination",Tr),h(C,"relatedSearches",Er),h(C,"searchFeedback",jr),h(C,"searchInput",Ar),h(C,"location",Ir),h(C,"searchResults",Rr),h(C,"sorting",Nr),h(C,"feedback",K);class Dr{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)||C.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 o=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(o){const n=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.externalPromotion)==null?void 0:a.template)||((r=C.externalPromotions.externalPromotion)==null?void 0:r.template);if(typeof document<"u"){const l=document==null?void 0:document.createElement("div");l.classList.add("searchstax-external-promotion"),l.addEventListener("click",c=>{this.trackClick(e,c)}),l.innerHTML=F.render(n,e),o.appendChild(l)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var t,s,a,r;const o=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplate)==null?void 0:a.template)||((r=C.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===J.mustache){this.searchExternalPromotionsMainContainer.innerHTML=F.render(o,e);const n=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;n&&(n.innerHTML="");for(const l of e.externalPromotions)this.addExternalSearch(l)}}}class X{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,s){this.addAccessibilityNotificationContainerToBody();const a=s??"searchAccessibility",r=document.getElementById(a);r&&r.remove();const o=document.createElement("span");o.setAttribute("id",a),o.innerHTML=e;const n=document.getElementById("searchAccessibilityContainer");n&&setTimeout(()=>{n.appendChild(o)},t??100)}}class Or{constructor(e,t){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"routerHelper"),h(this,"cachedPhrase",""),h(this,"cachedANDFacets",""),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,"focusedElement",null),h(this,"cachedData",null),h(this,"cacheFacets"),h(this,"onFacetSelect",(s,a,r,o,n)=>{if(s.stopPropagation(),!a.disabled){const l=r.querySelector("input");let c=o?l.checked:!l.checked;n!==void 0&&(c=!n),l.checked=c;const g=this.dataLayer.searchObject;let m=[...g.facets];const p=this.extractFacetValue(a);c?m.find(y=>me.deepEqual(y,p)?y:!1)||(this.config.facetingType==="tabs"&&(m=m.filter(y=>y.name!==p.name)),m.push(p)):m=m.filter(y=>!me.deepEqual(y,p)),setTimeout(()=>{this.dataLayer.setSearchObject({...g,facets:m,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.config.facetingType==="tabs"),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.$searchFacetsCachedTabs.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.config.facetingType==="tabs")),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query||this.cachedANDFacets!==this.dataLayer.parsedData.cachedANDFacets?(this.cachedANDFacets=this.dataLayer.parsedData.cachedANDFacets,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.config.facetingType==="tabs"&&this.dataLayer.searchFacetsCachedTabs&&(t=this.dataLayer.searchFacetsCachedTabs),this.needDisabling&&(t=t.map(a=>{var r;const o=(r=this.dataLayer.searchFacets)==null?void 0:r.find(n=>n.name===a.name);return o?{...a,values:a.values.map(n=>{const l=o.values.find(c=>n.type==="range"?!1:n.type==="checkbox"?c.value===n.value:!1);return{...n,disabled:!l,isMobile:e}})}:{...a,values:a.values.map(n=>({...n,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,o,n,l,c,g,m,p,y,x,f,w,S,A,z;if(typeof document<"u"){const k=document==null?void 0:document.createElement("div");k.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||k.classList.add("active");const P=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:o.template)||((n=C.facets.facetItemContainerTemplate)==null?void 0:n.template);k.innerHTML=F.render(P,e),t.appendChild(k);const _=k.querySelector("."+(((g=(c=(l=this.config)==null?void 0:l.templates)==null?void 0:c.facetItemContainerTemplate)==null?void 0:g.facetListTitleContainerClass)||((m=C.facets.facetItemContainerTemplate)==null?void 0:m.facetListTitleContainerClass)));_==null||_.addEventListener("click",()=>{k.classList.toggle("active");const D=k.classList.contains("active"),B=_.querySelector(".searchstax-facet-title");B&&B.setAttribute("aria-expanded",String(D))}),(f=_==null?void 0:_.querySelector("."+((x=(y=(p=this.config)==null?void 0:p.templates)==null?void 0:y.facetItemContainerTemplate)==null?void 0:x.facetListTitleContainerInner)))==null||f.addEventListener("keydown",D=>{if(D.code==="Enter"||D.code==="Space"){D.preventDefault(),k.classList.toggle("active");const B=k.classList.contains("active"),ue=_.querySelector(".searchstax-facet-title");ue&&ue.setAttribute("aria-expanded",String(B))}});const T=k.querySelector("."+(((A=(S=(w=this.config)==null?void 0:w.templates)==null?void 0:S.facetItemContainerTemplate)==null?void 0:A.facetListContainerClass)||((z=C.facets.facetItemContainerTemplate)==null?void 0:z.facetListContainerClass)));T&&(e.values.forEach(D=>{this.createFacetListItem(D,T,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,T,s))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(s=>me.deepEqual(s,this.extractFacetValue(e))))}createFacetListItem(e,t,s){var a,r,o,n,l,c,g,m,p,y,x,f;if(typeof document<"u"){const w=document==null?void 0:document.createElement("div");w.classList.add("searchstax-facet-value-container"),e.disabled&&w.classList.add("searchstax-facet-value-disabled");const S=this.isChecked(e),A=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.facetItemTemplate)==null?void 0:o.template)||((n=C.facets.facetItemTemplate)==null?void 0:n.template);w.innerHTML=F.render(A,{...e,isChecked:S});let z=(l=C.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;z=((m=(g=(c=this.config)==null?void 0:c.templates)==null?void 0:g.facetItemTemplate)==null?void 0:m.checkTriggerClasses)||z,z.forEach(P=>{const _=w.querySelector("."+P);_==null||_.addEventListener("click",T=>{this.onFacetSelect(T,e,w)})});const k=w.querySelector("."+(((x=(y=(p=this.config)==null?void 0:p.templates)==null?void 0:y.facetItemTemplate)==null?void 0:x.inputCheckboxClass)||((f=C.facets.facetItemTemplate)==null?void 0:f.inputCheckboxClass)));k==null||k.addEventListener("click",P=>{this.onFacetSelect(P,e,w,!0)}),k&&(k==null||k.setAttribute("data-test-value",`${encodeURIComponent(s)}:"${encodeURIComponent(e.value)}"`)),t.appendChild(w)}}createHasMoreComponent(e,t,s){var a,r,o,n,l,c,g,m,p,y;if(typeof document<"u"){const x=document==null?void 0:document.createElement("div");x.classList.add("searchstax-facet-show-more-container");const f=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:o.template)||((n=C.facets.showMoreButtonContainerTemplate)==null?void 0:n.template);x.innerHTML=F.render(f,{...e,focusId:`moreLess${(c=(l=e==null?void 0:e.values)==null?void 0:l[0])==null?void 0:c.value}`});const w=x.querySelector("."+(((p=(m=(g=this.config)==null?void 0:g.templates)==null?void 0:m.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)||((y=C.facets.showMoreButtonContainerTemplate)==null?void 0:y.showMoreButtonClass)));w&&(this.attachOnclickToShowMore(e,w,s),t&&t.appendChild(w))}}attachOnclickToShowMore(e,t,s){t.addEventListener("click",a=>{this.onShowMoreLessClick(a,e,s)}),t.addEventListener("keydown",a=>{a.code==="Space"&&a.preventDefault()}),t.addEventListener("keyup",a=>{(a.code==="Space"||a.code==="Enter")&&(a.preventDefault(),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?(X.setAccessibilityText(`More Facets shown for ${t.label}`,0,`moreLess${new Date().getTime()}`),r[t.name]=r[t.name]+a):(X.setAccessibilityText(`Less Facets shown for ${t.label}`,0,`moreLess${new Date().getTime()}`),r[t.name]=a),this.generateTemplateData(s),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var s,a,r,o,n,l,c,g,m,p,y;if(e&&(!me.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const x=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.mainTemplateDesktop)==null?void 0:r.template)||((o=C.facets.mainTemplateDesktop)==null?void 0:o.template);if(this.dataLayer.renderingEngine===J.mustache&&this.searchFacetsMainContainer){const f=document.activeElement;f instanceof HTMLInputElement&&f.type==="checkbox"||f!=null&&f.classList.contains("searchstax-facet-show-more-button")||f!=null&&f.classList.contains("searchstax-facet-show-less-button")?this.focusedElement=f:this.focusedElement=null,this.searchFacetsMainContainer.innerHTML=F.render(x,{...e});const w=(g=this.searchFacetsMainContainer)==null?void 0:g.querySelector("."+(((c=(l=(n=this.config)==null?void 0:n.templates)==null?void 0:l.mainTemplateDesktop)==null?void 0:c.facetsContainerClass)||C.facets.mainTemplateDesktop.facetsContainerClass));if(w){w.innerHTML="";for(const S of e.facets)this.createFacetItem(S,w);if(this.searchFacetsMainContainer){const S=this.searchFacetsMainContainer.querySelector("."+(((y=(p=(m=this.config)==null?void 0:m.templates)==null?void 0:p.mainTemplateDesktop)==null?void 0:y.selectedFacetsContainerClass)||C.facets.mainTemplateDesktop.selectedFacetsContainerClass));S&&(this.createSelectedFacetsComponents(S),this.createClearFacetsComponents(S))}if(this.focusedElement){if(this.focusedElement.classList.contains("searchstax-facet-show-more-button")||this.focusedElement.classList.contains("searchstax-facet-show-less-button")){const z=this.focusedElement.getAttribute("data-focus"),k=this.searchFacetsMainContainer.querySelector(`[data-focus="${z}"]`);k instanceof HTMLElement&&k.focus(),this.focusedElement=null;return}const S=this.focusedElement.getAttribute("data-test-value"),A=this.searchFacetsMainContainer.querySelector(`[data-test-value="${S}"]`);A instanceof HTMLInputElement&&A.focus(),this.focusedElement=null}}}setTimeout(()=>{document.querySelectorAll(".searchstax-facet-title").forEach(f=>{f.setAttribute("aria-expanded",String(!0)),f.setAttribute("tabindex","0"),f.setAttribute("role","button")})},100),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 o=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,n=o==null?void 0:o.find(l=>l.name===a);if(n){const l=n.values.find(c=>c.type==="range"?!1:c.type==="checkbox"?`"${c.value}"`==`"${r}"`:!1);l&&e.push(l)}}}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,o,n,l,c;if(typeof document<"u"){const g=this.dataLayer.searchObject,m=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.clearFacetsTemplate)==null?void 0:a.template)||((r=C.facets.clearFacetsTemplate)==null?void 0:r.template),p=document==null?void 0:document.createElement("div");p.innerHTML=F.render(m,{shouldShow:g.facets.length>0});const y=p.querySelector("."+(((l=(n=(o=this.config)==null?void 0:o.templates)==null?void 0:n.clearFacetsTemplate)==null?void 0:l.containerClass)||((c=C.facets.clearFacetsTemplate)==null?void 0:c.containerClass)));y&&(y.addEventListener("click",()=>{this.removeSelectedFacets()}),y.addEventListener("keyup",x=>{(x.code==="Space"||x.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(y))}}createSelectedFacetsComponent(e,t){var s,a,r,o,n,l,c,g;if(typeof document<"u"){const m=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.selectedFacetsTemplate)==null?void 0:r.template)||((o=C.facets.selectedFacetsTemplate)==null?void 0:o.template),p=document==null?void 0:document.createElement("div");p.innerHTML=F.render(m,t);const y=p.querySelector("."+(((c=(l=(n=this.config)==null?void 0:n.templates)==null?void 0:l.selectedFacetsTemplate)==null?void 0:c.containerClass)||((g=C.facets.selectedFacetsTemplate)==null?void 0:g.containerClass)));y&&(y.addEventListener("click",()=>{this.unselectFacet(t)}),y.addEventListener("keyup",x=>{(x.code==="Space"||x.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(y))}}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,o,n,l,c;if(typeof document<"u"){const g=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.filterByTemplate)==null?void 0:a.template)||((r=C.facets.filterByTemplate)==null?void 0:r.template),m=document==null?void 0:document.createElement("div");m.innerHTML=F.render(g,{});const p=m.querySelector("."+(((l=(n=(o=this.config)==null?void 0:o.templates)==null?void 0:n.filterByTemplate)==null?void 0:l.containerClass)||((c=C.facets.filterByTemplate)==null?void 0:c.containerClass)));p&&(e.prepend(p),p.addEventListener("click",this.openOverlay.bind(this)),p.addEventListener("keyup",y=>{(y.code==="Space"||y.code==="Enter")&&this.openOverlay()}))}}openOverlay(){var e;X.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;X.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,o,n,l,c,g,m,p,y,x,f,w,S,A,z,k;if(e&&typeof document<"u"){const P=document==null?void 0:document.createElement("div");P.classList.add("searchstax-facets-container-mobile");const _=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.mainTemplateMobile)==null?void 0:a.template)||((r=C.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===J.mustache){if(P.innerHTML=F.render(_,{...e,overlayOpened:this.overlayOpened}),(o=this.searchFacetsMainContainer)==null||o.appendChild(P),(l=(n=this.config)==null?void 0:n.templates)!=null&&l.mainTemplateMobile)for(const ue of((m=(g=(c=this.config)==null?void 0:c.templates)==null?void 0:g.mainTemplateMobile)==null?void 0:m.closeOverlayTriggerClasses)||[]){const Q=P.querySelector("."+ue);Q&&(Q.addEventListener("click",this.closeOverlay.bind(this)),Q.addEventListener("keyup",ce=>{(ce.code==="Space"||ce.code==="Enter")&&this.closeOverlay()}))}else for(const ue of C.facets.mainTemplateMobile.closeOverlayTriggerClasses){const Q=P.querySelector("."+ue);Q&&(Q.addEventListener("click",this.closeOverlay.bind(this)),Q.addEventListener("keyup",ce=>{(ce.code==="Space"||ce.code==="Enter")&&this.closeOverlay()}))}const T=P.querySelector("."+(((x=(y=(p=this.config)==null?void 0:p.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:x.filterByContainerClass)||C.facets.mainTemplateMobile.filterByContainerClass));T&&this.createFilterByComponent(T);const D=P.querySelector("."+(((S=(w=(f=this.config)==null?void 0:f.templates)==null?void 0:w.mainTemplateMobile)==null?void 0:S.selectedFacetsContainerClass)||C.facets.mainTemplateMobile.selectedFacetsContainerClass));D&&(this.createSelectedFacetsComponents(D),this.createClearFacetsComponents(D));const B=P.querySelector("."+(((k=(z=(A=this.config)==null?void 0:A.templates)==null?void 0:z.mainTemplateMobile)==null?void 0:k.facetsContainerClass)||C.facets.mainTemplateMobile.facetsContainerClass));if(B){B.innerHTML="";for(const ue of e.facets)this.createFacetItem(ue,B,!0)}}}}}class Pr{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,o,n,l,c,g;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)??C.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((n=(o=(r=this.config)==null?void 0:r.templates)==null?void 0:o.mainTemplate)==null?void 0:n.nextButtonClass)??C.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((g=(c=(l=this.config)==null?void 0:l.templates)==null?void 0:c.infiniteScrollTemplate)==null?void 0:g.loadMoreButtonClass)??C.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),document.body.tabIndex=-1,document.body.focus()}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,o,n,l,c,g,m;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 p=((o=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:o.template)||((n=C.pagination.mainTemplate)==null?void 0:n.template);this.dataLayer.isInfiniteScroll&&(p=((g=(c=(l=this.config)==null?void 0:l.templates)==null?void 0:c.infiniteScrollTemplate)==null?void 0:g.template)||((m=C.pagination.infiniteScrollTemplate)==null?void 0:m.template)),this.dataLayer.renderingEngine===J.mustache&&(this.searchPaginationMainContainer.innerHTML=F.render(p,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Fr{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)||C.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,o,n;if(typeof document<"u"){const l=document==null?void 0:document.createElement("div"),c=((r=(a=(s=this.config)==null?void 0:s.templates)==null?void 0:a.relatedSearch)==null?void 0:r.template)||C.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===J.mustache){l.innerHTML=F.render(c,e);const g=l.querySelector("."+(((n=(o=this.config.templates)==null?void 0:o.relatedSearch)==null?void 0:n.relatedSearchContainerClass)||C.relatedSearches.relatedSearch.relatedSearchContainerClass));g&&(t.appendChild(g),g.addEventListener("click",()=>{this.executeSearch(e)}),g.addEventListener("keyup",m=>{(m.code==="Space"||m.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 o=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.main)==null?void 0:a.template)||C.relatedSearches.main.template;if(this.dataLayer.renderingEngine===J.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=F.render(o,e);const n=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(n)for(const l of e.relatedSearches)this.addRelatedSearchComponent(l,n)}}}class zr{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 o=(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=C.searchFeedback.main)==null?void 0:a.originalQueryClass)));o&&o.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)||C.searchFeedback.main.template;this.dataLayer.renderingEngine===J.mustache&&(this.searchFeedbackMainContainer.innerHTML=F.render(r,e),setTimeout(()=>{this.attachClick()},0))}}class _r{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.dataLayer.$locationEnabled.subscribeUntilHasValue(()=>{this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())},200)}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 o=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||C.searchInput.mainTemplate.template,n={...this.dataLayer.parsedData.data,locationEnabled:!!this.dataLayer.locationEnabled};if(this.dataLayer.setInputWidgetTemplateData(n),this.dataLayer.renderingEngine===J.mustache){const g=F.render(o,n);r.innerHTML=g,this.dataLayer.setInputTemplateRendered(!0)}const l=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.searchInputId)||C.searchInput.mainTemplate.searchInputId,c=document==null?void 0:document.querySelector(`#${l}`);if(c)this.searchInput=c,c.addEventListener("keyup",this.inputKeyupEvent.bind(this)),c.addEventListener("blur",this.hideAutosuggest.bind(this)),c.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===J.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.executeSearch(((e=this.searchInput)==null?void 0:e.value)??"")}))}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(){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-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}}selectPreviousAutosuggestItem(e){var t;this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem===0?(this.selectedAutosuggestItem=-1,e&&e!=null&&e.focus&&((t=e==null?void 0:e.focus)==null||t.call(e),e.setSelectionRange(e.value.length,e.value.length)),X.setAccessibilityText("No Suggestion selected")):this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem===this.autosuggestResults.suggestions.length-1?(this.selectedAutosuggestItem=-1,X.setAccessibilityText("No Suggestion selected")):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"),X.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(e.target):t==="ArrowUp"?this.selectPreviousAutosuggestItem(e.target):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(e){setTimeout(()=>{var t;this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection(),e&&e!=null&&e.focus&&((t=e==null?void 0:e.focus)==null||t.call(e),e.setSelectionRange(e.value.length,e.value.length)),X.setAccessibilityText("No Suggestion selected")},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 o=((s=(t=this.config.templates)==null?void 0:t.autosuggestItemTemplate)==null?void 0:s.template)||((a=C.searchInput.autosuggestItemTemplate)==null?void 0:a.template);return r.innerHTML=F.render(o,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?X.setAccessibilityText("Suggestions are available. Use up and down arrows to navigate while focusing input. Use Escape key to escape out of the suggestions",2e3):X.setAccessibilityText("",0),this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(o=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(o))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class $r{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(()=>{X.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 o=((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.noSearchResultTemplate)==null?void 0:s.template)||((a=C.searchResults.noSearchResultTemplate)==null?void 0:a.template),n=((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===J.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=F.render(o,{spellingSuggestion:n,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),n&&this.searchResultsContainer){const l=this.searchResultsContainer.querySelector("a");l&&l.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),this.searchCallback(n)})}}renderResults(e){var t,s,a,r,o;if(this.dataLayer.renderingEngine===J.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)X.setAccessibilityText("Search has no results"),this.renderNoResultsTemplate();else{X.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);const n=((a=(s=(t=this.config)==null?void 0:t.templates)==null?void 0:s.searchResultTemplate)==null?void 0:a.template)||((r=C.searchResults.searchResultTemplate)==null?void 0:r.template),l=e.map(c=>F.render(n,c));((o=this.config)==null?void 0:o.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=l.join(""):this.searchResultsContainer.innerHTML=l.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}get uniqueIdAttribute(){var e,t,s,a;return((s=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)||((a=C.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=C.searchResults.mainTemplate)==null?void 0:a.template);this.dataLayer.renderingEngine===J.mustache&&(this.searchResultsMainContainer.innerHTML=F.render(r,{}),setTimeout(()=>{var o,n,l,c,g,m,p;const y=(l=(n=(o=this.config)==null?void 0:o.templates)==null?void 0:n.mainTemplate)!=null&&l.searchResultsContainerId?(m=(g=(c=this.config)==null?void 0:c.templates)==null?void 0:g.mainTemplate)==null?void 0:m.searchResultsContainerId:(p=C.searchResults.mainTemplate)==null?void 0:p.searchResultsContainerId,x=document==null?void 0:document.getElementById(y);if(x)this.searchResultsContainer=x;else throw new Error(`Search Results Container with id ${y} not found`)},0))}}class Wr{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)||C.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)||C.sorting.main.template;if(this.dataLayer.renderingEngine===J.mustache){this.searchSortingMainContainer.innerHTML=F.render(r,e),this.markOptionSelected();const o=document==null?void 0:document.getElementById(this.selectId);o&&o.addEventListener("change",n=>{this.setOrderQuery(n.target.value)})}}}class Vr{constructor(e){h(this,"analyticsKey"),h(this,"containerId"),h(this,"mainContainer"),h(this,"isLightweight"),h(this,"emailOverride"),h(this,"feedbackTextAreaOverride"),h(this,"mainTemplateOverride"),h(this,"lightweightTemplateOverride"),h(this,"focusedElement",null),h(this,"focusTrapListener",null),h(this,"lastFocusedElementBeforeModal",null),h(this,"templateData",{feedbackOpen:!1,ratings:[{index:1,isSelected:!1},{index:2,isSelected:!1},{index:3,isSelected:!1},{index:4,isSelected:!1},{index:5,isSelected:!1},{index:6,isSelected:!1},{index:7,isSelected:!1},{index:8,isSelected:!1},{index:9,isSelected:!1},{index:10,isSelected:!1}],emailInput:"",feedbackTextArea:"",charactersLeft:2e3,maxLength:2e3,errors:{rating:!1,email:!1},submitted:!1,thumbsUpActive:!1,thumbsDownActive:!1}),h(this,"thumbsUpValue",10),h(this,"thumbsDownValue",1),h(this,"ratedQuestion",""),h(this,"language",""),h(this,"model",""),h(this,"analyticsSrc",""),this.analyticsKey=e.analyticsKey,this.containerId=e.containerId??"sf-feedback",this.isLightweight=e.lightweight??!1,this.isLightweight&&this.templateData.ratings.unshift({index:0,isSelected:!1}),this.thumbsUpValue=e.thumbsUpValue??10,this.thumbsDownValue=e.thumbsDownValue??1,this.emailOverride=e.emailOverride,this.feedbackTextAreaOverride=e.feedbackTextAreaOverride,this.mainTemplateOverride=e.mainTemplateOverride,this.lightweightTemplateOverride=e.lightweightTemplateOverride,this.mainContainer=document.getElementById(this.containerId),this.language=e.language??"",this.model=e.model??"",this.analyticsSrc=e.analyticsSrc??"",this.init()}init(){ye.attachAnalyticsScript(this.analyticsSrc),this.renderMainTemplate(this.generateTemplateData())}generateTemplateData(){return this.templateData}renderMainTemplate(e){var t,s;const a=document.activeElement;(a instanceof HTMLInputElement||a instanceof HTMLButtonElement||a instanceof HTMLTextAreaElement||a instanceof HTMLAnchorElement)&&(a.type==="radio"||a.type==="button"||a.type==="textarea"||a instanceof HTMLAnchorElement)?this.focusedElement=a:this.focusedElement=null,this.mainContainer;let r=(t=K==null?void 0:K.mainTemplate)==null?void 0:t.template;if(this.mainTemplateOverride&&(r=this.mainTemplateOverride),this.isLightweight&&(r=(s=K.lightweightTemplate)==null?void 0:s.template,this.lightweightTemplateOverride&&(r=this.lightweightTemplateOverride)),this.mainContainer.innerHTML=F.render(r,e),this.focusedElement&&this.mainContainer){const o=this.focusedElement.type==="radio"?this.focusedElement.getAttribute("id"):this.focusedElement.getAttribute("class"),n=this.focusedElement.type==="radio"?"id":"class",l=this.mainContainer.querySelector(`[${n}="${o}"]`);(l instanceof HTMLInputElement||l instanceof HTMLButtonElement||l instanceof HTMLTextAreaElement||l instanceof HTMLAnchorElement)&&l.focus(),this.focusedElement=null}this.attachEvents()}attachEvents(){this.isLightweight?this.attachLightweightEvents():(this.attachOpenModalEvent(),this.closeModalEvent(),this.attachRatingEvents(),this.attachTextAreaEvents(),this.attachEmailInputEvents(),this.attachSubmitButtonEvents())}attachFocusTrap(){this.focusTrapListener&&document.removeEventListener("keydown",this.focusTrapListener),this.focusTrapListener=e=>{if(!this.templateData.feedbackOpen)return;const t=this.getModalElement();if(!t)return;const s=this.getFocusableElements(t);if(s.length===0)return;const a=s[0],r=s[s.length-1];e.key==="Tab"&&(e.shiftKey?(document.activeElement===a||!t.contains(document.activeElement))&&(e.preventDefault(),r==null||r.focus()):(document.activeElement===r||!t.contains(document.activeElement))&&(e.preventDefault(),a==null||a.focus())),e.key==="Escape"&&(e.preventDefault(),this.closeFeedbackModal())},document.addEventListener("keydown",this.focusTrapListener)}getFocusableElements(e){const t=["button:not([disabled])","input:not([disabled])","textarea:not([disabled])","select:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])'].join(", ");return Array.from(e.querySelectorAll(t))}getModalElement(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.modalContainerClass;return((t=this.mainContainer)==null?void 0:t.querySelector(`.${s}`))||null}attachLightweightEvents(){var e,t,s,a;const r=(e=K.lightweightTemplate)==null?void 0:e.thumbsUpButtonClass,o=(t=K.lightweightTemplate)==null?void 0:t.thumbsDownButtonClass,n=(s=this.mainContainer)==null?void 0:s.querySelector("."+r),l=(a=this.mainContainer)==null?void 0:a.querySelector("."+o);n&&n.addEventListener("click",()=>{const c=this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea;this.templateData.ratings[this.templateData.ratings.length-1].isSelected&&this.ratedQuestion===c||(this.templateData.thumbsUpActive=!0,this.templateData.thumbsDownActive=!1,this.templateData.ratings.forEach(g=>{g.isSelected=g.index===this.thumbsUpValue}),this.renderMainTemplate(this.generateTemplateData()),this.ratedQuestion=c,this.submit())}),l&&l.addEventListener("click",()=>{const c=this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea;this.templateData.ratings[0].isSelected&&this.ratedQuestion===c||(this.templateData.thumbsUpActive=!1,this.templateData.thumbsDownActive=!0,this.templateData.ratings.forEach(g=>{g.isSelected=g.index===this.thumbsDownValue}),this.renderMainTemplate(this.generateTemplateData()),this.ratedQuestion=c,this.submit())})}attachSubmitButtonEvents(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.submitButtonClass,a=(t=this.mainContainer)==null?void 0:t.querySelector("."+s);a&&a.addEventListener("click",()=>{this.checkIfValid()})}checkIfValid(){var e,t;const s=(t=this.mainContainer)==null?void 0:t.querySelector("#"+((e=K.mainTemplate)==null?void 0:e.emailInputId));this.validateEmail(s.value)?this.templateData.errors.email=!1:(this.templateData.errors.email=!0,X.setAccessibilityText("Please enter a valid email address.")),this.templateData.ratings.some(a=>a.isSelected)?this.templateData.errors.rating=!1:(this.templateData.errors.rating=!0,X.setAccessibilityText("Please Rate your experience.")),this.templateData.errors.rating||this.templateData.errors.email?this.renderMainTemplate(this.generateTemplateData()):this.submit()}submit(){var e,t,s;this.templateData.submitted=!0;const a=(e=this.templateData.ratings.find(r=>r.isSelected))==null?void 0:e.index;a!==void 0&&(ye.trackFeedback({trackApiKey:this.analyticsKey,email:this.emailOverride&&this.isLightweight?this.emailOverride():this.templateData.emailInput,rating:a,feedback:this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea,model:this.model?this.model:void 0,language:this.language?this.language:void 0}),this.showCheckmarkAnimation(),X.setAccessibilityText("Feedback has been sent.",1e3),(s=this.mainContainer)!=null&&s.querySelector("."+((t=K.mainTemplate)==null?void 0:t.checkmarkClass))?setTimeout(()=>{this.closeFeedbackModal(),this.renderMainTemplate(this.generateTemplateData())},2e3):(setTimeout(()=>{this.closeFeedbackModal()},500),this.renderMainTemplate(this.generateTemplateData())))}validateEmail(e){return e===""?!0:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}attachEmailInputEvents(){var e,t;const s=(t=this.mainContainer)==null?void 0:t.querySelector("#"+((e=K.mainTemplate)==null?void 0:e.emailInputId));s&&(s.addEventListener("input",()=>{this.templateData.emailInput=s.value}),s.addEventListener("blur",()=>{setTimeout(()=>{this.validateEmail(s.value)?this.templateData.errors.email=!1:(this.templateData.errors.email=!0,X.setAccessibilityText("Please enter a valid email address.")),this.renderMainTemplate(this.generateTemplateData())},300)}))}attachTextAreaEvents(){var e,t;const s=(t=this.mainContainer)==null?void 0:t.querySelector("#"+((e=K.mainTemplate)==null?void 0:e.feedbackTextAreaId));s&&s.addEventListener("input",()=>{var a,r;this.templateData.feedbackTextArea=s.value,this.templateData.charactersLeft=this.templateData.maxLength-s.value.length;const o=(r=this.mainContainer)==null?void 0:r.querySelector("."+((a=K.mainTemplate)==null?void 0:a.charactersRemainingContainerclass));o&&(o.innerText=this.templateData.charactersLeft+"")})}attachRatingEvents(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.ratingInputclass,a=(t=this.mainContainer)==null?void 0:t.querySelectorAll("."+s);a&&a.forEach(r=>{r.addEventListener("click",o=>{const n=o.target.value;this.templateData.ratings.forEach(l=>{l.isSelected=l.index+""===n}),this.templateData.errors.rating=!1,this.renderMainTemplate(this.generateTemplateData())})})}attachOpenModalEvent(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.openModalButtonClass,a=(t=this.mainContainer)==null?void 0:t.querySelector("."+s);a&&a.addEventListener("click",r=>{r.preventDefault(),this.toggleModal()})}toggleModal(){this.templateData.feedbackOpen?this.closeFeedbackModal():this.openFeedbackModal()}closeModalEvent(){var e,t;const s=(e=K.mainTemplate)==null?void 0:e.closeModalButtonClass,a=(t=this.mainContainer)==null?void 0:t.querySelector("."+s);a&&a.addEventListener("click",()=>{this.closeFeedbackModal()})}openFeedbackModal(){this.lastFocusedElementBeforeModal=document.activeElement,this.templateData.feedbackOpen=!0,this.renderMainTemplate(this.generateTemplateData()),setTimeout(()=>{const e=this.getModalElement();if(e){const t=this.getFocusableElements(e);t.length>0&&t[0].focus()}this.attachFocusTrap()},0),X.setAccessibilityText("Feedback form opened",1e3)}closeFeedbackModal(){this.templateData.feedbackOpen=!1,this.focusTrapListener&&(document.removeEventListener("keydown",this.focusTrapListener),this.focusTrapListener=null),this.renderMainTemplate(this.generateTemplateData()),this.lastFocusedElementBeforeModal&&(this.lastFocusedElementBeforeModal.focus(),this.lastFocusedElementBeforeModal=null),X.setAccessibilityText("Feedback form closed",1e3)}showCheckmarkAnimation(){var e,t,s,a,r,o;const n=(e=K.mainTemplate)==null?void 0:e.submitButtonClass,l=(t=this.mainContainer)==null?void 0:t.querySelector("."+n);l&&(l.disabled=!0);const c=(s=K.mainTemplate)==null?void 0:s.checkmarkClass,g=(a=this.mainContainer)==null?void 0:a.querySelector("."+c);g&&g.classList.remove("hidden");const m=(r=K.mainTemplate)==null?void 0:r.submitButtonTextClass,p=(o=this.mainContainer)==null?void 0:o.querySelector("."+m);p&&p.classList.add("visibility"),setTimeout(()=>{g&&g.classList.add("hidden"),p&&p.classList.remove("visibility"),l&&(l.disabled=!1)},2e3)}destroy(){this.focusTrapListener&&(document.removeEventListener("keydown",this.focusTrapListener),this.focusTrapListener=null)}}class Qr{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"answerContainer",null),h(this,"showMoreVisible",!1),h(this,"renderFeedbackWidget",!1),h(this,"clicked",!1),h(this,"renderedWithShowMore",!1);var t;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.renderFeedbackWidget=((t=this.config.feedbackwidget)==null?void 0:t.renderFeedbackWidget)||!1,this.config.showMoreAfterWordCount&&(this.dataLayer.answerWidgetShowMoreLimit=this.config.showMoreAfterWordCount),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.clicked?this.showMoreVisible=!1:this.showMoreVisible=this.dataLayer.parsedData.shouldShowAnswerLoadMore,this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answerLoading.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answerError.subscribe(e=>{e&&setTimeout(()=>{this.renderMainTemplate(this.generateTemplateData())},100)}),this.dataLayer.$searchObject.subscribe(()=>{this.clicked=!1,this.renderedWithShowMore=!1,this.showMoreVisible=!1}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answer.subscribe(e=>{e&&setTimeout(()=>{this.initializeWidget()},600)}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.dataLayer.$answer.getValue()&&setTimeout(()=>{this.initializeWidget()},600)})}searchstaxFeedbackTextAreaOverride(){return"Question: "+(this.dataLayer.searchObject.query==="undefined"?"":this.dataLayer.searchObject.query)+" Answer: "+this.dataLayer.parsedData.getAnswerData}initializeWidget(){var e,t,s,a,r;this.renderFeedbackWidget&&document.getElementById("feedbackWidgetContainer")&&!this.dataLayer.answerLoading&&new Vr({analyticsKey:this.dataLayer.parsedData.trackingData.trackApiKey,containerId:"feedbackWidgetContainer",lightweight:!0,model:this.dataLayer.parsedData.trackingData.model,language:this.dataLayer.parsedData.trackingData.language,emailOverride:(e=this.config.feedbackwidget)==null?void 0:e.emailOverride,feedbackTextAreaOverride:((t=this.config.feedbackwidget)==null?void 0:t.searchstaxFeedbackTextAreaOverride)??this.searchstaxFeedbackTextAreaOverride.bind(this),thumbsUpValue:((s=this.config.feedbackwidget)==null?void 0:s.thumbsUpValue)??10,thumbsDownValue:((a=this.config.feedbackwidget)==null?void 0:a.thumbsDownValue)??0,lightweightTemplateOverride:(r=this.config.feedbackwidget)==null?void 0:r.lightweightTemplateOverride})}showMore(e){e.preventDefault(),this.clicked=!0,this.showMoreVisible=!1,this.renderMainTemplate(this.generateTemplateData()),setTimeout(()=>{this.initializeWidget()},600)}attachClickEventToShowMore(){const e=document.querySelector(".searchstax-answer-load-more-button");e&&e.addEventListener("click",this.showMore.bind(this))}trackLinkClick(e){e.preventDefault(),e.stopPropagation();const t=e.target.getAttribute("href");ye.trackAnswerLinkClick({href:t,answer:this.dataLayer.parsedData.getAnswerData,...this.dataLayer.parsedData.trackingData}).then(()=>{window.open(t,"_blank")}).catch(()=>{window.open(t,"_blank")})}attachLinkTracking(){document.querySelectorAll(".searchstax-answer-link").forEach(e=>{e.getAttribute("listener")!=="true"&&(e.setAttribute("listener","true"),e.addEventListener("click",this.trackLinkClick.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)||C.answer.main.template;this.dataLayer.renderingEngine===J.mustache?(!this.renderedWithShowMore||!e.answerLoading||this.clicked)&&(e.showMoreButtonVisible&&(this.renderedWithShowMore=!0),this.answerContainer.innerHTML=F.render(r,e),setTimeout(()=>{this.attachClickEventToShowMore(),this.attachLinkTracking()},100)):setTimeout(()=>{this.attachLinkTracking()},500)}generateTemplateData(){const e={...this.dataLayer.parsedData.data,showMoreButtonVisible:this.showMoreVisible};return this.dataLayer.setAnswerFullData(e),e}}class Ss{constructor(e){h(this,"dataLayer"),h(this,"config"),h(this,"containerId"),h(this,"currentSelectValue",""),h(this,"locationInput"),h(this,"radiusInput"),h(this,"locationDecode"),h(this,"locationDecodeCoordinatesToAddress");var t,s;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.locationDecode=(t=e.config.hooks)==null?void 0:t.locationDecode,this.locationDecodeCoordinatesToAddress=(s=e.config.hooks)==null?void 0:s.locationDecodeCoordinatesToAddress,this.dataLayer.locationEnabled&&this.dataLayer.$inputTemplateRendered.subscribeUntil(()=>{this.renderMainTemplate(),this.attachSubscriptions()},!0,500)}renderMainTemplate(){var e,t,s,a,r,o,n,l;if(typeof document<"u"){const c=document==null?void 0:document.getElementById(this.containerId);if(!c)throw new Error("Search input container not found");const g=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||C.location.mainTemplate.template,m={...this.dataLayer.parsedData.data};if(this.dataLayer.setLocationWidgetTemplateData(m),this.dataLayer.renderingEngine===J.mustache){const p=F.render(g,m);c.innerHTML=p;const y=((a=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:a.locationInputId)||C.location.mainTemplate.locationInputId,x=document==null?void 0:document.querySelector(`#${y}`);if(x)this.locationInput=x,x.addEventListener("blur",this.blurEvent.bind(this)),x.addEventListener("focus",this.focusEvent.bind(this));else throw new Error("Input not found");const f=((o=(r=this.config.templates)==null?void 0:r.mainTemplate)==null?void 0:o.radiusInputId)||C.location.mainTemplate.radiusInputId,w=document==null?void 0:document.querySelector(`#${f}`);w instanceof HTMLSelectElement&&(this.radiusInput=w,w.addEventListener("change",this.radiusSelectChangeEvent.bind(this)));const S=((l=(n=this.config.templates)==null?void 0:n.mainTemplate)==null?void 0:l.currentLocationActionButtonId)||C.location.mainTemplate.currentLocationActionButtonId,A=document==null?void 0:document.querySelector(`#${S}`);A&&A.addEventListener("click",this.getCurrentLocation.bind(this))}}}setCurrentLocationFields(e){this.dataLayer.setLocationCoordinatesDecoded(e),this.dataLayer.setSearchLocation(this.dataLayer.searchLocationCoordinatesDecoded),this.dataLayer.renderingEngine===J.mustache&&this.locationInput&&(this.locationInput.value=this.dataLayer.searchLocationCoordinatesDecoded)}getCurrentLocation(){navigator.geolocation?navigator.geolocation.getCurrentPosition(e=>{const t=e.coords.latitude.toString(),s=e.coords.longitude.toString(),a=Math.floor(parseFloat(t)*100)/100,r=Math.floor(parseFloat(s)*100)/100;this.dataLayer.setSearchLat(a+""),this.dataLayer.setSearchLong(r+"");const o=this.locationDecodeCoordinatesToAddress;o?o(a+"",r+"").then(n=>{this.setCurrentLocationFields(n.address||"Current Location")}).catch(()=>{this.setCurrentLocationFields("Current Location")}):this.setCurrentLocationFields("Current Location")},()=>{console.error("Unable to retrieve your location")}):console.error("Geolocation is not supported by this browser.")}setRadiusValue(e){this.dataLayer.setSearchRadius(e)}radiusSelectChangeEvent(e){this.currentSelectValue=e.target.value,this.setRadiusValue(this.currentSelectValue)}attachSubscriptions(){this.dataLayer.$searchObject.subscribe(e=>{this.locationInput&&(this.locationInput.value=this.cleanSuggestionTerm(e.location.address??"")),this.radiusInput&&e.location.radius&&(this.radiusInput.value=e.location.radius||"")})}cleanSuggestionTerm(e){return te.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}triggerGeocoder(e){const t=this.locationDecode;this.dataLayer.setLocationDecodingLoading(!0),e&&this.dataLayer.searchLocation!==e&&e!==this.dataLayer.searchLocationCoordinatesDecoded?t(e).then(s=>{this.dataLayer.setSearchLocation(s.address||""),this.dataLayer.setSearchLat(s.lat||""),this.dataLayer.setSearchLong(s.lon||""),this.locationInput&&(this.locationInput.value=this.cleanSuggestionTerm(s.address||"")),this.dataLayer.renderingEngine===J.mustache&&s.error&&this.locationInput&&this.locationInput.classList.add("searchstax-input-location-error"),s.error?this.dataLayer.setLocationError(!0):this.dataLayer.setLocationError(!1),this.dataLayer.setLocationDecodingLoading(!1)}).catch(()=>{this.dataLayer.setLocationDecodingLoading(!1)}):e===""&&(this.dataLayer.setSearchLocation(void 0),this.dataLayer.setSearchLat(void 0),this.dataLayer.setSearchLong(void 0),this.dataLayer.setLocationDecodingLoading(!1))}focusEvent(e){e.target.classList.remove("searchstax-input-location-error"),this.dataLayer.setLocationError(!1)}blurEvent(e){const t=e.target.value;this.triggerGeocoder(t)}}class Hr{constructor(e=J.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,"searchLocationWidget"),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,"locationObserver",null),h(this,"dataLayer"),h(this,"firstRequest",!0),h(this,"previousQuery",""),h(this,"eventSource",null),h(this,"renderEngine",J.mustache),e&&(this.renderEngine=e)}setRenderingEngine(e=J.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)}),setTimeout(()=>{this.dataLayer.$searchObject.subscribe(s=>{var a,r,o,n,l,c;s.query!==this.previousQuery&&this.dataLayer.setAnswerData(""),s.query!==""&&s.query!==void 0&&s.query!=="undefined"?(this.search(s),s.query!==this.previousQuery&&this.startSSE(s.query)):(a=this.dataLayer.searchLocationConfig)!=null&&a.locationSearchEnabled&&!((r=this.dataLayer.searchLocationConfig)!=null&&r.locationValuesOverride)?this.getMetadata(s):(n=(o=this.dataLayer.searchLocationConfig)==null?void 0:o.locationValuesOverride)!=null&&n.locationFilterDefaultValue&&this.dataLayer.setSearchRadius((c=(l=this.dataLayer.searchLocationConfig)==null?void 0:l.locationValuesOverride)==null?void 0:c.locationFilterDefaultValue),this.previousQuery=s.query})},10),this.dataLayer.$searchResults.subscribe(s=>{s&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&ye.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}startSSE(e){var t,s;this.eventSource&&((t=this.eventSource)==null||t.close(),this.dataLayer.setAnswerData("")),this.dataLayer.turnAIAnswerGenerationOn===!0&&this.dataLayer.questionURL&&this.dataLayer.searchObject.query!==void 0&&this.dataLayer.searchObject.query!=="undefined"&&(this.eventSource=(s=this.searchHelper)==null?void 0:s.startSSE(e,this.parseAnswerResultsResponse.bind(this)))}attachAnalyticsScript(e){ye.attachAnalyticsScript(e)}initialize(e){var t,s;if(this.dataLayer=new tr("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.questionURL&&(this.dataLayer.questionURL=e.questionURL),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),e.language&&this.dataLayer.setLanguage(e.language),e.model&&this.dataLayer.setModel(e.model),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new or({...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 Ls(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:a.itemsPerPage&&this.dataLayer.setItemsPerPage(a.itemsPerPage),a.model&&this.dataLayer.setModel(a.model),a.location&&(a.location.address&&this.dataLayer.setSearchLocation(a.location.address),a.location.lat&&this.dataLayer.setSearchLat(a.location.lat),a.location.lon&&this.dataLayer.setSearchLong(a.location.lon),a.location.radius&&this.dataLayer.setSearchRadius(a.location.radius)),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 Ls({})}getMetadata(e){this.searchHelper&&(e.query==="undefined"||e.query===void 0)&&this.dataLayer.setSearchObject({...e,query:"*"})}search(e){if(this.searchHelper){const t=this.dataLayer.forceNotCorrect;this.searchHelper.url&&(this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1),this.getRelatedSearches()}}getRelatedSearches(){var e;this.searchHelper&&this.relatedSearchesConfig&&(e=this.relatedSearchesConfig)!=null&&e.relatedSearchesURL&&this.dataLayer.searchObject.query!==void 0&&this.dataLayer.searchObject.query!=="undefined"&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var t,s;const a=(((t=e.response)==null?void 0:t.docs)??[]).map((o,n)=>({...o,position:n+1})),r=[];for(const o of a)r.push({relatedSearch:o.related_search,position:o.position});this.dataLayer.setSearchRelatedSearches(a),this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&r.length&&ye.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:r,totalRelatredSearches:((s=this.dataLayer.searchRelatedSearches)==null?void 0:s.length)??0})}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponseMetadata(e){var t,s,a,r;const o=ut.extractSearchResultsMetadata(e),n=((s=(t=this.dataLayer.searchLocationConfig)==null?void 0:t.locationValuesOverride)==null?void 0:s.locationFilterDefaultValue)??((r=(a=o.location)==null?void 0:a.filter)==null?void 0:r.defaultValue);!this.dataLayer.searchRadius&&n&&this.dataLayer.setSearchRadius(n),this.dataLayer.setSearchResultsMetadata(o)}parseSearchResultsResponse(e){var t,s;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows)),this.dataLayer.setModel(e.responseHeader.params.model);let a=ut.combineResultsWithMetadata(e),r=ut.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??[]),this.parseSearchResultsResponseMetadata(e),this.dataLayer.setSearchResults(a)}parseAnswerResultsResponse(e){this.handleRouter(),e!==$e.question&&e!==$e.notQuestion&&(this.dataLayer.setAnswerLoading(!0),this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e))}cacheFacets(e){var t,s;e?(t=this.searchHelper)==null||t.cacheFacets(!0).then(()=>{}):(s=this.searchHelper)==null||s.cacheFacets().then(()=>{})}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.$locationEnabled.subscribeUntilHasValue(()=>{this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new _r({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer})},200)}addSearchLocationWidget(e,t){var s,a;this.dataLayer.searchLocationConfig||(t.locationSearchEnabled?(this.dataLayer.setLocationEnabled(!0),this.dataLayer.setSearchLocationConfig(t),t.locationValuesOverride?(this.searchLocationWidget=new Ss({containerId:e,config:t,dataLayer:this.dataLayer}),(s=t==null?void 0:t.locationValuesOverride)!=null&&s.locationFilterDefaultValue&&this.dataLayer.setSearchRadius((a=t==null?void 0:t.locationValuesOverride)==null?void 0:a.locationFilterDefaultValue)):this.dataLayer.$searchResultsMetadata.subscribeUntilHasValue(()=>{this.searchLocationWidget=new Ss({containerId:e,config:t,dataLayer:this.dataLayer})},0)):this.dataLayer.setLocationEnabled(!1))}addAnswerWidget(e,t){this.dataLayer.turnAIAnswerGenerationOn=!0,this.startSSE(this.dataLayer.searchObject.query),this.dataLayer.setAnswerData(""),this.answerWidget=new Qr({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new $r({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 Pr({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new zr({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new Wr({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Fr({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 Dr({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Or({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){const s={...this.dataLayer.searchObject};s.query=te.removeXSSRiskyTags(e),s.page=1,s.facets=[],s.location={...s.location},this.locationObserver&&this.dataLayer.$locationDecodingLoading.unsubscribe(this.locationObserver),this.locationObserver=this.dataLayer.$locationDecodingLoading.subscribeUntil(()=>{var a,r;s.location.address=this.dataLayer.searchLocation,s.location.radius=this.dataLayer.searchRadius,s.location.lat=this.dataLayer.searchLat,s.location.lon=this.dataLayer.searchLong,this.dataLayer.forceNotCorrect=!!t;let o=(a=this.routerHelper)==null?void 0:a.searchObjectToParams(s);o&&(o=(r=this.routerHelper)==null?void 0:r.extractParamsThatDoNotStartWithRouteName(o)),o&&(s.additionalProps=Object.keys(o).map(n=>o?{key:n,value:o[n]}:{key:"",value:""})),this.dataLayer.setSearchObject(s),this.dataLayer.lastSearchValue=s.query},!1)}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){var t;this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&ye.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e,totalRelatredSearches:((t=this.dataLayer.searchRelatedSearches)==null?void 0:t.length)??0})}executeLinkClick(e){var t,s;let a=ut.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&&ye.trackClick({result:a,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(a==null?void 0:a.url)??"")}).catch(()=>{typeof window<"u"&&(window.location.href=(a==null?void 0:a.url)??"")}))}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 b={searchstax:new Hr("react")};function ks(i,e,t,s,a,r,o,n){return u.jsx(u.Fragment,{children:i&&u.jsx("div",{className:"searchstax-location-input-container","data-test-id":"searchstax-location-input-container",children:u.jsxs("div",{className:"searchstax-location-input-wrapper",children:[u.jsx("span",{className:"searchstax-location-input-label",children:"NEAR"}),u.jsxs("div",{className:"searchstax-location-input-wrapper-inner",children:[u.jsx("input",{type:"text",id:"searchstax-location-input",className:"searchstax-location-input"+(n?" searchstax-input-location-error":""),placeholder:"Zip, Postal Code or City...","aria-label":"Search Location Input","data-test-id":"searchstax-location-input",value:r??"",onChange:l=>e(l.target.value),onBlur:l=>t(l.target.value)}),u.jsx("button",{onClick:a,className:"searchstax-get-current-location-button",children:"Use my current location"})]}),i.shouldShowLocationDistanceDropdown&&u.jsx("span",{className:"searchstax-location-input-label",children:"WITHIN"}),i.shouldShowLocationDistanceDropdown&&u.jsx("select",{id:"searchstax-location-radius-select",className:"searchstax-location-radius-select","aria-label":"Search Location Radius Select","data-test-id":"searchstax-location-radius-select",onChange:l=>s(l.target.value),value:o,children:i.locationSearchDistanceValues.map(({value:l,label:c})=>u.jsx("option",{value:l,children:c},l))})]})})})}function Ts(i){let e=!1;const[t,s]=E.useState(null),[a,r]=E.useState(null),[o,n]=E.useState(!1),[l,c]=E.useState(void 0),[g]=E.useState(Math.random());E.useEffect(()=>{if(m(),b.searchstax)b.searchstax.addSearchLocationWidget("search-location-container"+g,{hooks:i.hooks,locationSearchEnabled:i.locationSearchEnabled,locationValuesOverride:i.locationValuesOverride});else throw Error("Searchstax instance needs to be passed via props")},[]);function m(){e||(b.searchstax.dataLayer.$locationWidgetTemplateData.subscribe(f=>{s(f)}),b.searchstax.dataLayer.$searchObject.subscribe(f=>{r(f.location.address??""),c(f.location.radius||"")}),b.searchstax.dataLayer.$searchLocationChange.subscribe(f=>{r(f)}),b.searchstax.dataLayer.$searchRadiusChange.subscribe(f=>{c(f)}),b.searchstax.dataLayer.$locationError.subscribe(f=>{n(f)}),e=!0)}function p(){var f;(f=b.searchstax.searchLocationWidget)==null||f.getCurrentLocation()}function y(f){var w;c(f),(w=b.searchstax.searchLocationWidget)==null||w.setRadiusValue(f+"")}function x(f){var w;r(f),(w=b.searchstax.searchLocationWidget)==null||w.triggerGeocoder(f)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-location-container"+g,children:[!i.searchLocationTemplate&&t&&u.jsx(u.Fragment,{children:ks(t,r,x,y,p,a,l,o)}),i.searchLocationTemplate&&u.jsx(u.Fragment,{children:i.searchLocationTemplate(t,r,x,y,p,a,l,o)})]})})}const Es={appId:"APP_ID",relatedSearchesAPIKey:"KEY"},Ft={locationDecode:i=>new Promise(e=>{const t="GEOCODING_API_KEY",s=`https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(i)}&key=${t}`;fetch(s).then(a=>a.json()).then(a=>{if(a.status==="OK"&&a.results.length>0){const r=a.results[0],o={lat:r.geometry.location.lat,lon:r.geometry.location.lng,address:r.formatted_address};e(o)}else e({address:void 0,lat:void 0,lon:void 0,error:!0})}).catch(()=>{e({address:void 0,lat:void 0,lon:void 0,error:!0})})}),locationDecodeCoordinatesToAddress:(i,e)=>new Promise(t=>{fetch(`https://geocoding-staging.searchstax.co/reverse?location=${i},${e}&components=country:US&app_id=${Es.appId}`,{method:"GET",headers:{Authorization:`Token ${Es.relatedSearchesAPIKey}`}}).then(s=>s.json()).then(s=>{if(s.status==="OK"&&s.results.length>0){const a=s.results[0];t({address:a.formatted_address,lat:i,lon:e,error:!1})}else t({address:void 0,lat:i,lon:e,error:!0})}).catch(()=>{t({address:void 0,lat:i,lon:e,error:!0})})}),locationSearchEnabled:!1,locationValuesOverride:{locationDistanceEnabled:!0,filterValues:["any","1000"],filterUnit:"miles",locationFilterDefaultValue:"any"}};function Br(i,e,t,s){return u.jsxs(u.Fragment,{children:[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 ${i.length===0?"hidden":""}`,onMouseLeave:e,children:i.map(function(a){return u.jsx("div",{className:"searchstax-autosuggest-item",children:u.jsx("div",{className:"searchstax-autosuggest-item-term-container",tabIndex:0,dangerouslySetInnerHTML:{__html:a.term},onMouseOver:()=>{t(a)},onClick:()=>{s()}})},a.term)})})]}),u.jsx(Ts,{searchLocationTemplate:ks,hooks:{locationDecode:Ft.locationDecode,locationDecodeCoordinatesToAddress:Ft.locationDecodeCoordinatesToAddress},locationSearchEnabled:Ft.locationSearchEnabled,locationValuesOverride:Ft.locationValuesOverride}),u.jsx("button",{className:"searchstax-spinner-icon",id:"searchstax-search-input-action-button","aria-label":"search"})]})}function Ur(i){let e=!1;const[t,s]=E.useState([]),[a,r]=E.useState(null);E.useEffect(()=>{if(o(),b.searchstax){const g={};i.afterAutosuggest&&(g.afterAutosuggest=i.afterAutosuggest),i.beforeAutosuggest&&(g.beforeAutosuggest=i.beforeAutosuggest),b.searchstax.addSearchInputWidget("searchstax-input-container",{suggestAfterMinChars:i.suggestAfterMinChars,hooks:g,templates:{mainTemplate:{template:"",searchInputId:i.searchInputId??"searchstax-search-input"}}})}else throw Error("Searchstax instance needs to be passed via props");b.searchstax.dataLayer.setInputTemplateRendered(!0)},[]);function o(){e||(b.searchstax.dataLayer.$autosuggestResults.subscribe(g=>{s((g==null?void 0:g.suggestions)??[])}),b.searchstax.dataLayer.$inputWidgetTemplateData.subscribe(g=>{r(g)}),e=!0)}function n(){var g,m;(g=b.searchstax.searchInputWidget)==null||g.resetAutosuggestSelection(),(m=b.searchstax.searchInputWidget)==null||m.markActiveAutosuggestItem()}function l(g){var m;(m=b.searchstax.searchInputWidget)==null||m.onSuggestionEnter(g)}function c(){var g;(g=b.searchstax.searchInputWidget)==null||g.suggestionChosen()}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-input-container",children:u.jsxs("div",{className:`searchstax-search-input-container searchstax-search-input-container-new ${a!=null&&a.locationEnabled?"searchstax-alternative-render":""}`,children:[!i.inputTemplate&&u.jsx(u.Fragment,{children:Br(t,n,l,c)}),i.inputTemplate&&u.jsx(u.Fragment,{children:i.inputTemplate(t,n,l,c,a)})]})})})}function Yr(i){const[e,t]=E.useState(!1);return E.useEffect(()=>{const s={};i.beforeSearch&&(s.beforeSearch=i.beforeSearch),i!=null&&i.afterSearch&&(s.afterSearch=i.afterSearch),b.searchstax.initialize({language:i.language??"en",model:i.model,sessionId:i.sessionId,searchURL:i.searchURL,questionURL:i.questionURL,suggesterURL:i.suggesterURL,trackApiKey:i.trackApiKey,searchAuth:i.searchAuth,authType:i.authType??"basic",autoCorrect:i.autoCorrect,router:i.router,hooks:s,analyticsBaseUrl:i.analyticsBaseUrl,analyticsSrc:i.analyticsSrc}),setTimeout(()=>{t(!0)},100),i.initialized(b.searchstax)},[]),u.jsx(u.Fragment,{children:e&&u.jsxs(u.Fragment,{children:[" ",i.children," "]})})}function qr(i,e,t){return u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-no-results",children:[" ","Showing ",u.jsx("strong",{children:"no results"})," for ",u.jsxs("strong",{children:['"',i,'"']}),u.jsx("br",{}),(e==null?void 0:e.spellingSuggestion)&&u.jsxs("span",{children:[" Did you mean"," ",u.jsx("a",{href:"#","aria-label":`Did you mean ${e==null?void 0:e.spellingSuggestion}`,className:"searchstax-suggestion-term",onClick:s=>{s.preventDefault(),t(e==null?void 0:e.spellingSuggestion)},children:e==null?void 0:e.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."})]})]})}function Jr(i,e){return u.jsx(u.Fragment,{children:i&&i.length&&u.jsx("div",{className:"searchstax-search-results","aria-live":"polite",children:i!==null&&i.map(function(t){return u.jsx("a",{href:t.url??"",onClick:s=>{e(t,s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&e(t,s)},"data-searchstax-unique-result-id":t.uniqueId,"aria-labelledby":`title-${t.uniqueId}`,className:"searchstax-result-item-link searchstax-result-item-link-wrapping",tabIndex:0,children:u.jsxs("div",{className:`searchstax-search-result ${t.thumbnail?"has-thumbnail":""}`,children:[t.promoted&&u.jsx("div",{className:"searchstax-search-result-promoted"}),t.ribbon&&u.jsx("div",{className:"searchstax-search-result-ribbon",dangerouslySetInnerHTML:{__html:t.ribbon}}),t.thumbnail&&u.jsx("img",{alt:"",src:t.thumbnail,className:"searchstax-thumbnail"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",id:`title-${t.uniqueId}`,dangerouslySetInnerHTML:{__html:t.title??""}})}),t.paths&&u.jsx("p",{className:"searchstax-search-result-common",tabIndex:0,dangerouslySetInnerHTML:{__html:t.paths}}),t.description&&u.jsx("p",{className:"searchstax-search-result-description searchstax-search-result-common",tabIndex:0,dangerouslySetInnerHTML:{__html:t.description}}),t.unmappedFields.map(function(s){return u.jsxs("div",{children:[s.isImage&&typeof s.value=="string"&&u.jsx("div",{className:"searchstax-search-result-image-container",children:u.jsx("img",{alt:"",src:s.value,className:"searchstax-result-image"})}),!s.isImage&&u.jsx("div",{children:u.jsx("p",{tabIndex:0,className:"searchstax-search-result-common",dangerouslySetInnerHTML:{__html:s.value}})})]},s.key)})]},t.uniqueId)},t.uniqueId)})})})}function Gr(i){const[e,t]=E.useState(null),s=E.useRef();s.current=e;const[a,r]=E.useState(""),[o,n]=E.useState(null),l=(m,p)=>{p.preventDefault(),p.stopPropagation(),b.searchstax.executeLinkClick(m.uniqueId)};E.useEffect(()=>{g();const m={};i.afterLinkClick&&(m.afterLinkClick=i.afterLinkClick),b.searchstax.addSearchResultsWidget("searchstax-results-container",{templates:{},renderMethod:i.renderMethod??"pagination",resultsPerPage:i.resultsPerPage,hooks:m})},[]);function c(m){b.searchstax.executeSearch(m)}function g(){b.searchstax.dataLayer.$searchResults.subscribe(m=>{var f;const p=s.current??[],y=m??[],x=i.renderMethod==="infiniteScroll"?[...p,...y]:m;((f=b.searchstax.dataLayer.$searchObject.value)==null?void 0:f.page)===1?t(y):t(x)}),b.searchstax.dataLayer.$searchTermChange.subscribe(m=>{r(m)}),b.searchstax.dataLayer.$searchResultsMetadata.subscribe(m=>{n(m)})}return u.jsx(u.Fragment,{children:u.jsx("div",{id:"searchstax-results-container",children:u.jsx("section",{"aria-label":"search results container",tabIndex:0,children:u.jsx("div",{className:"searchstax-search-results-container",id:"searchstax-search-results-container",children:u.jsxs("div",{id:"searchstax-result-container",children:[e&&e.length===0&&a!==""&&a!=="*"&&b.searchstax.dataLayer.parsedData.firstSearchHappened&&!i.noResultTemplate&&u.jsx(u.Fragment,{children:qr(a,o,c)}),e&&e.length===0&&a!==""&&a!=="*"&&b.searchstax.dataLayer.parsedData.firstSearchHappened&&i.noResultTemplate&&u.jsx(u.Fragment,{children:i.noResultTemplate(a,o,c)}),e&&e.length>0&&!i.resultsTemplate&&Jr(e,l),e&&e.length>0&&i.resultsTemplate&&u.jsx(u.Fragment,{children:i.resultsTemplate(e,l)})]})})})})})}function Kr(i,e,t){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.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 ${i.isFirstPage?"disabled":""}`,tabIndex:0,style:i!=null&&i.isFirstPage?{pointerEvents:"none"}:{},onClick:s=>{t(s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&t(s)},id:"searchstax-pagination-previous",children:[" ","< Previous"," "]}),u.jsxs("div",{className:"searchstax-pagination-details",children:[" ",i==null?void 0:i.startResultIndex," -"," ",i==null?void 0:i.endResultIndex," of"," ",i==null?void 0:i.totalResults]}),u.jsx("a",{className:`searchstax-pagination-next ${i.isLastPage?"disabled":""}`,tabIndex:0,style:i!=null&&i.isLastPage?{pointerEvents:"none"}:{},onClick:s=>{e(s)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&e(s)},id:"searchstax-pagination-next",children:"Next >"})]})})})}function Zr(i,e){return u.jsx(u.Fragment,{children:i&&i.isInfiniteScroll&&(i==null?void 0:i.totalResults)!==0&&!(i!=null&&i.isLastPage)&&u.jsx("div",{className:"searchstax-pagination-container",children:u.jsx("a",{className:"searchstax-pagination-load-more",tabIndex:0,onClick:t=>{e(t)},onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&e(t)},children:"Show More >"})})})}function Xr(i){let e=!1;const[t,s]=E.useState(!1),[a,r]=E.useState(null),[o]=E.useState(Math.random());E.useEffect(()=>{if(n(),b.searchstax)b.searchstax.addPaginationWidget("searchstax-pagination-container"+o,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function n(){e||(b.searchstax.dataLayer.$searchObject.subscribe(()=>{l()}),b.searchstax.dataLayer.$paginationData.subscribe(m=>{r(m)}),e=!0)}function l(){!t&&b.searchstax.routerHelper&&(s(!0),b.searchstax.addPaginationWidget("searchstax-pagination-container"+o,{}))}function c(m){var p;(p=b.searchstax.searchPaginationWidget)==null||p.nextPage(m)}function g(m){var p;(p=b.searchstax.searchPaginationWidget)==null||p.previousPage(m)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-pagination-container"+o,children:[!i.paginationTemplate&&a&&!a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&u.jsx(u.Fragment,{children:Kr(a,c,g)}),i.paginationTemplate&&a&&!a.isInfiniteScroll&&u.jsx(u.Fragment,{children:i.paginationTemplate(a,c,g)}),!i.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx(u.Fragment,{children:Zr(a,c)}),i.infiniteScrollTemplate&&a&&a.isInfiniteScroll&&(a==null?void 0:a.totalResults)!==0&&!(a!=null&&a.isLastPage)&&u.jsx(u.Fragment,{children:i.infiniteScrollTemplate(a,c)})]})})}function en(i,e,t){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.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:t,onChange:s=>{e(s.target.value)},children:i.sortOptions.map(function(s){return u.jsx("option",{value:s.key,children:s.value},s.key)})})]})})}function tn(i){let e=!1;const[t,s]=E.useState(null),[a,r]=E.useState(""),[o]=E.useState(Math.random());E.useEffect(()=>{if(n(),b.searchstax)b.searchstax.addSearchSortingWidget("search-sorting-container"+o,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function n(){e||(b.searchstax.dataLayer.$searchSortingData.subscribe(c=>{s(c)}),b.searchstax.dataLayer.$searchObject.subscribe(c=>{r(decodeURIComponent((c==null?void 0:c.order)??""))}),e=!0)}function l(c){var g;(g=b.searchstax.searchSortingWidget)==null||g.setOrderQuery(c)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-sorting-container"+o,children:[!i.searchSortingTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasResultsOrExternalPromotions)&&u.jsx(u.Fragment,{children:en(t,l,a)}),i.searchSortingTemplate&&u.jsx(u.Fragment,{children:i.searchSortingTemplate(t,l,a)})]})})}function an(i,e){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.totalResults)>0&&u.jsxs(u.Fragment,{children:["Showing"," ",u.jsxs("b",{children:[i.startResultIndex," -"," ",i.endResultIndex]})," ","of",u.jsxs("b",{children:[" ",i.totalResults]})," results",i.searchTerm&&u.jsxs("span",{children:[' for "',u.jsx("b",{children:i.searchTerm}),'"'," "]}),u.jsx("div",{className:"searchstax-feedback-container-suggested",children:i.autoCorrectedQuery&&u.jsxs("div",{children:[" ","Search instead for"," ",u.jsx("a",{href:"#",onClick:t=>{e(t)},className:"searchstax-feedback-original-query","aria-label":`Search instead for ${i.originalQuery}`,children:i.originalQuery})]})})]})})}function sn(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addSearchFeedbackWidget("search-feedback-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchFeedbackData.subscribe(n=>{s(n)}),e=!0)}function o(n){var l;(l=b.searchstax.searchFeedbackWidget)==null||l.onOriginalQueryClick(n)}return u.jsx(u.Fragment,{children:u.jsxs("div",{className:"search-feedback-container",id:"search-feedback-container"+a,children:[!i.searchOverviewTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.totalResults)>0&&u.jsx(u.Fragment,{children:an(t,o)}),i.searchOverviewTemplate&&u.jsx(u.Fragment,{children:i.searchOverviewTemplate(t,o)})]})})}function rn(i,e,t,s,a,r,o){return u.jsx("div",{className:"searchstax-facets-container-desktop",children:i==null?void 0:i.facets.map(n=>u.jsx("div",{className:`searchstax-facet-container ${t(n.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{s(n.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",n.label]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container","aria-live":"polite",children:[n.values.map((l,c)=>(e[c+n.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${l.disabled?"searchstax-facet-value-disabled":""}`,ref:e[c+n.name],children:[u.jsx("div",{className:"searchstax-facet-input desktop-"+c+n.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:r(l),readOnly:!0,"aria-label":l.value+" "+l.count,disabled:l.disabled,onClick:g=>{a(c+n.name,g,l,!0)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:g=>{a(c+n.name,g,l,!1)},children:l.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:g=>{a(c+n.name,g,l,!1)},children:["(",l.count,")"]})]},l.value+l.parentName))),n.hasMoreFacets&&u.jsx("div",{className:"searchstax-facet-show-more-container",children:u.jsxs("div",{className:"searchstax-facet-show-more-container",onClick:l=>{o(l,n)},onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&o(l,n)},tabIndex:0,children:[n.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!n.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},n.name+"desktop"))})}function nn(i,e,t,s,a,r,o,n,l,c,g,m){return i?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:()=>{c()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Filter By"})}),u.jsxs("div",{className:"searchstax-facets-pills-selected",children:[e.map(p=>u.jsxs("div",{className:"searchstax-facets-pill searchstax-facets-pill-facets",onClick:()=>{n(p)},children:[u.jsxs("div",{className:"searchstax-facets-pill-label",children:[p.value," (",p.count,")"]}),u.jsx("div",{className:"searchstax-facets-pill-icon-close"})]},p.value)),e.length!==0&&u.jsx("div",{className:"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all",onClick:()=>{m()},children:u.jsx("div",{className:"searchstax-facets-pill-label",children:"Clear Filters"})})]}),u.jsxs("div",{className:`searchstax-facets-mobile-overlay ${i.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:()=>{g()}})]}),u.jsx("div",{className:"searchstax-facets-container-mobile",children:i==null?void 0:i.facets.map(p=>u.jsx("div",{className:`searchstax-facet-container ${s(p.name)?"active":""}`,children:u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-facet-title-container",onClick:()=>{a(p.name)},children:[u.jsxs("div",{className:"searchstax-facet-title",children:[" ",p.label," "]}),u.jsx("div",{className:"searchstax-facet-title-arrow active"})]}),u.jsxs("div",{className:"searchstax-facet-values-container","aria-live":"polite",children:[p.values.map((y,x)=>(t[x+p.name]=E.createRef(),u.jsxs("div",{className:`searchstax-facet-value-container ${y.disabled?"searchstax-facet-value-disabled":""}`,ref:t[x+p.name],children:[u.jsx("div",{className:"searchstax-facet-input mobile-"+x+p.name,children:u.jsx("input",{type:"checkbox",className:"searchstax-facet-input-checkbox",checked:o(y),readOnly:!0,"aria-label":y.value+" "+y.count,disabled:y.disabled,onClick:f=>{r(x+p.name,f,y,!0,!0)}})}),u.jsx("div",{className:"searchstax-facet-value-label",onClick:f=>{r(x+p.name,f,y,!1)},children:y.value}),u.jsxs("div",{className:"searchstax-facet-value-count",onClick:f=>{r(x+p.name,f,y,!1)},children:["(",y.count,")"]})]},y.value+y.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:y=>{l(y,p)},onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&l(y,p)},tabIndex:0,role:"button",children:[p.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-less-button searchstax-facet-show-button",children:"less"}),!p.showingAllFacets&&u.jsx("div",{className:"searchstax-facet-show-more-button searchstax-facet-show-button",children:"more"})]})})]})]})},p.name+"mobile"))}),u.jsx("button",{className:"searchstax-facets-mobile-overlay-done",onClick:()=>{g()},children:"Done"})]})]})}):u.jsx(u.Fragment,{})}function on(i){const[e,t]=E.useState(null),[s,a]=E.useState(null),[r,o]=E.useState([]),[n,l]=E.useState({}),c={},g=Math.random();let m=!1;E.useEffect(()=>{if(p(),b.searchstax)b.searchstax.addFacetsWidget("searchstax-facets-container"+g,{facetingType:i.facetingType,specificFacets:i.specificFacets,itemsPerPageDesktop:i.itemsPerPageDesktop,itemsPerPageMobile:i.itemsPerPageMobile});else throw Error("Searchstax instance needs to be passed via props")},[]);function p(){m||(b.searchstax.dataLayer.$facetsTemplateData.subscribe(T=>{T!=null&&T.isMobile?a(T):t(T)}),b.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(T=>{o((T??[]).filter(B=>B.type==="checkbox"))}),m=!0)}function y(T){var D;(D=b.searchstax.searchFacetsWidget)==null||D.unselectFacet(T)}function x(){var T;(T=b.searchstax.searchFacetsWidget)==null||T.removeSelectedFacets()}function f(T){return!n[T]}function w(T){f(T)?l({...n,[T]:!0}):l({...n,[T]:!1})}function S(T){var D;return(D=b.searchstax.searchFacetsWidget)==null?void 0:D.isChecked(T)}function A(T,D,B,ue,Q){var Ne;const ce=Q?"mobile-":"desktop-",Te=document.getElementsByClassName(ce+T);Te[0]&&((Ne=b.searchstax.searchFacetsWidget)==null||Ne.onFacetSelect(D,B,Te[0],!1,S(B)))}function z(T,D){var B;(B=b.searchstax.searchFacetsWidget)==null||B.onShowMoreLessClick(T,D,!1)}function k(T,D){var B;(B=b.searchstax.searchFacetsWidget)==null||B.onShowMoreLessClick(T,D,!0)}function P(){var T;(T=b.searchstax.searchFacetsWidget)==null||T.openOverlay()}function _(){var T;(T=b.searchstax.searchFacetsWidget)==null||T.closeOverlay()}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-facets-container"+g,children:[(e==null?void 0:e.hasResultsOrExternalPromotions)&&!i.facetsTemplateDesktop&&u.jsx(u.Fragment,{children:rn(e,c,f,w,A,S,z)}),i.facetsTemplateDesktop&&u.jsx(u.Fragment,{children:i.facetsTemplateDesktop(e,c,f,w,A,S,z)}),(s==null?void 0:s.hasResultsOrExternalPromotions)&&!i.facetsTemplateMobile&&u.jsx(u.Fragment,{children:nn(s,r,c,f,w,A,S,y,k,P,_,x)}),i.facetsTemplateMobile&&u.jsx(u.Fragment,{children:i.facetsTemplateMobile(s,r,c,f,w,A,S,y,k,P,_,x)})]})})}function ln(i,e){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.hasRelatedSearches)&&u.jsxs("div",{className:"searchstax-related-searches-container",id:"searchstax-related-searches-container",children:[" ","Related searches: ",u.jsx("span",{id:"searchstax-related-searches"}),i.relatedSearches&&u.jsx("span",{className:"searchstax-related-search",children:i.relatedSearches.map(t=>u.jsxs("span",{onClick:()=>{e(t)},onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&e(t)},tabIndex:0,className:"searchstax-related-search searchstax-related-search-item","aria-label":"Related search: "+t.related_search,children:[" ",t.related_search,!t.last&&u.jsx("span",{children:","})]},t.related_search))})]})})}function cn(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container"+a,{relatedSearchesURL:i.relatedSearchesURL,relatedSearchesAPIKey:i.relatedSearchesAPIKey});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(n=>{s(n)}),e=!0)}function o(n){var l;(l=b.searchstax.relatedSearchesWidget)==null||l.executeSearch(n)}return u.jsxs(u.Fragment,{children:[!i.searchRelatedSearchesTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasRelatedSearches)&&u.jsx(u.Fragment,{children:ln(t,o)}),i.searchRelatedSearchesTemplate&&u.jsx(u.Fragment,{children:i.searchRelatedSearchesTemplate(t,o)})]})}function hn(i,e){return u.jsx(u.Fragment,{children:i&&(i==null?void 0:i.searchExecuted)&&(i==null?void 0:i.hasExternalPromotions)&&i.externalPromotions.map(t=>u.jsxs("div",{className:"searchstax-external-promotion searchstax-search-result",children:[u.jsx("div",{className:"icon-elevated"}),t.url&&u.jsx("a",{href:t.url,onClick:s=>{e(t,s)},className:"searchstax-result-item-link"}),u.jsx("div",{className:"searchstax-search-result-title-container",children:u.jsx("span",{className:"searchstax-search-result-title",children:t.name})}),t.description&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",t.description," "]}),t.url&&u.jsxs("p",{className:"searchstax-search-result-description searchstax-search-result-common",children:[" ",t.url," "]})]},t.id))})}function un(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(r(),b.searchstax)b.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container"+a,{});else throw Error("Searchstax instance needs to be passed via props")},[]);function r(){e||(b.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(n=>{s(n)}),e=!0)}function o(n,l){var c;(c=b.searchstax.externalPromotionsWidget)==null||c.trackClick(n,l)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"searchstax-external-promotions-layout-container"+a,children:[!i.searchExternalPromotionsTemplate&&t&&(t==null?void 0:t.searchExecuted)&&(t==null?void 0:t.hasExternalPromotions)&&u.jsx(u.Fragment,{children:hn(t,o)}),i.searchExternalPromotionsTemplate&&u.jsx(u.Fragment,{children:i.searchExternalPromotionsTemplate(t,o)})]})})}function dn(i,e){return u.jsx(u.Fragment,{children:i&&u.jsxs("div",{className:"searchstax-answer-wrap",children:[u.jsx("div",{className:"searchstax-answer-icon"}),u.jsxs("div",{children:[u.jsxs("div",{className:"searchstax-answer-container "+(i.showMoreButtonVisible===!0?"searchstax-answer-show-more":""),children:[u.jsx("div",{className:"searchstax-answer-title",children:"Smart Answers"}),i.shouldShowAnswerError&&u.jsx("div",{className:"searchstax-answer-error",dangerouslySetInnerHTML:{__html:i.answerErrorMessage}}),u.jsx("div",{className:"searchstax-answer-description",dangerouslySetInnerHTML:{__html:i.fullAnswerFormatted}}),i.answerLoading&&u.jsx("div",{className:"searchstax-answer-loading"})]}),i.showMoreButtonVisible===!0&&u.jsx("div",{className:"searchstax-answer-load-more-button-container",children:u.jsx("button",{className:"searchstax-answer-load-more-button",onClick:t=>{e(t)},children:"Read more"})})]}),u.jsxs("div",{className:"searchstax-answer-footer",children:[u.jsx("div",{id:"feedbackWidgetContainer"}),u.jsx("div",{className:"searchstax-lightweight-widget-separator-inline"}),u.jsx("p",{className:"searchstax-disclaimer",children:"Generative AI is Experimental"})]})]})})}function gn(i){let e=!1;const[t,s]=E.useState(null),[a]=E.useState(Math.random());E.useEffect(()=>{if(o(),b.searchstax){const n=i.feedbackwidget??void 0;b.searchstax.addAnswerWidget("searchstax-answer-container"+a,{showMoreAfterWordCount:i.showMoreAfterWordCount,feedbackwidget:n})}else throw Error("Searchstax instance needs to be passed via props")},[]);function r(n){var l;b.searchstax&&((l=b.searchstax.answerWidget)==null||l.showMore(n))}function o(){e||(b.searchstax.dataLayer.$answerData.subscribe(n=>{s(n)}),e=!0)}return u.jsx(u.Fragment,{children:u.jsxs("div",{id:"search-answer-container"+a,children:[!i.searchAnswerTemplate&&t&&t.shouldShowAnswer&&(t==null?void 0:t.searchExecuted)&&u.jsx(u.Fragment,{children:dn(t,r)}),i.searchAnswerTemplate&&t&&t.shouldShowAnswer&&u.jsx(u.Fragment,{children:i.searchAnswerTemplate(t,r)})]})})}ge.SearchstaxAnswerWidget=gn,ge.SearchstaxExternalPromotionsWidget=un,ge.SearchstaxFacetsWidget=on,ge.SearchstaxInputWidget=Ur,ge.SearchstaxLocationWidget=Ts,ge.SearchstaxOverviewWidget=sn,ge.SearchstaxPaginationWidget=Xr,ge.SearchstaxRelatedSearchesWidget=cn,ge.SearchstaxResultWidget=Gr,ge.SearchstaxSortingWidget=tn,ge.SearchstaxWrapper=Yr,Object.defineProperty(ge,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxReact"]=this["@searchstaxInc/searchstudioUxReact"]||{},React);
|
|
@@ -4080,7 +4080,8 @@ class Gr {
|
|
|
4080
4080
|
}
|
|
4081
4081
|
}
|
|
4082
4082
|
selectPreviousAutosuggestItem(e) {
|
|
4083
|
-
|
|
4083
|
+
var t;
|
|
4084
|
+
this.selectedAutosuggestItem > 0 ? this.selectedAutosuggestItem-- : this.selectedAutosuggestItem === 0 ? (this.selectedAutosuggestItem = -1, e && e != null && e.focus && ((t = e == null ? void 0 : e.focus) == null || t.call(e), e.setSelectionRange(e.value.length, e.value.length)), ee.setAccessibilityText("No Suggestion selected")) : this.selectedAutosuggestItem = this.autosuggestResults.suggestions.length - 1, this.markActiveAutosuggestItem();
|
|
4084
4085
|
}
|
|
4085
4086
|
selectNextAutosuggestItem() {
|
|
4086
4087
|
this.selectedAutosuggestItem < this.autosuggestResults.suggestions.length - 1 ? this.selectedAutosuggestItem++ : this.selectedAutosuggestItem === this.autosuggestResults.suggestions.length - 1 ? (this.selectedAutosuggestItem = -1, ee.setAccessibilityText("No Suggestion selected")) : this.selectedAutosuggestItem = 0, this.markActiveAutosuggestItem();
|
|
@@ -4120,7 +4121,8 @@ class Gr {
|
|
|
4120
4121
|
}
|
|
4121
4122
|
hideAutosuggest(e) {
|
|
4122
4123
|
setTimeout(() => {
|
|
4123
|
-
|
|
4124
|
+
var t;
|
|
4125
|
+
this.dataLayer.setAutosuggestResults({ numFound: 0, suggestions: [] }), this.autosuggestContainer && (this.autosuggestContainer.innerHTML = "", this.autosuggestContainer.classList.add("hidden")), this.resetAutosuggestSelection(), e && e != null && e.focus && ((t = e == null ? void 0 : e.focus) == null || t.call(e), e.setSelectionRange(e.value.length, e.value.length)), ee.setAccessibilityText("No Suggestion selected");
|
|
4124
4126
|
}, 200);
|
|
4125
4127
|
}
|
|
4126
4128
|
cleanSuggestionTerm(e) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@searchstax-inc/searchstudio-ux-react",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "4.1.
|
|
4
|
+
"version": "4.1.54",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/@searchstax-inc/searchstudio-ux-react.cjs",
|
|
7
7
|
"module": "./dist/@searchstax-inc/searchstudio-ux-react.mjs",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"create:release": "node createRelease.cjs"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@searchstax-inc/searchstudio-ux-js": "npm:@searchstax-inc/searchstudio-ux-js@^4.1.
|
|
28
|
+
"@searchstax-inc/searchstudio-ux-js": "npm:@searchstax-inc/searchstudio-ux-js@^4.1.54"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"react": "^18.0.0 || ^19.0.0",
|