@searchstax-inc/searchstudio-ux-vue 4.2.24 → 4.2.25
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
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
3
|
All notable changes to the "searchstudio-ux-vue" project will be documented in this file.
|
|
4
|
+
## [4.2.25]
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
- Fixed conversation search appearing when its turned off
|
|
7
|
+
|
|
4
8
|
## [4.2.24]
|
|
5
9
|
### Features
|
|
6
10
|
- Added mvp for conversation search on JS library
|
|
@@ -460,4 +460,4 @@ ${t}`,d++;break;case`id`:l=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.t
|
|
|
460
460
|
|
|
461
461
|
</div>
|
|
462
462
|
</div>
|
|
463
|
-
`,thumbsUpButtonClass:`searchstax-lightweight-widget-thumbs-up`,thumbsDownButtonClass:`searchstax-lightweight-widget-thumbs-down`}},Z=class{static answer=Dr;static externalPromotions=Or;static facets=kr;static pagination=Ar;static relatedSearches=jr;static searchFeedback=Mr;static searchInput=Nr;static location=Pr;static searchResults=Fr;static sorting=Ir;static feedback=X},Lr=class{dataLayer;config;containerId;externalPromotionsContainerId;searchExternalPromotionsMainContainer=null;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=this.config.templates?.mainTemplate?.externalPromotionsContainerId||Z.externalPromotions.mainTemplate.externalPromotionsContainerId,typeof document<`u`&&(this.searchExternalPromotionsMainContainer=document?.getElementById(this.containerId)),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchExternalPromotions.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){let e={...this.dataLayer.parsedData.data,externalPromotions:this.dataLayer.parsedData.externalPromotions};return this.dataLayer.setExternalPromotionsData(e),e}addExternalSearch(e){let t=typeof document<`u`?document?.getElementById(this.externalPromotionsContainerId):null;if(t){let n=this.config?.templates?.externalPromotion?.template||Z.externalPromotions.externalPromotion?.template;if(typeof document<`u`){let r=document?.createElement(`div`);r.classList.add(`searchstax-external-promotion`),r.addEventListener(`click`,t=>{this.trackClick(e,t)}),r.innerHTML=Y.render(n,e),t.appendChild(r)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window?.open(e.url,`_blank`)}renderMainTemplate(e){let n=this.config?.templates?.mainTemplate?.template||Z.externalPromotions.mainTemplate?.template;if(this.dataLayer.renderingEngine===t.mustache){this.searchExternalPromotionsMainContainer.innerHTML=Y.render(n,e);let t=typeof document<`u`?document?.getElementById(this.externalPromotionsContainerId):null;t&&(t.innerHTML=``);for(let t of e.externalPromotions)this.addExternalSearch(t)}}},Q=class{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById(`searchAccessibilityContainer`)){let e=document.createElement(`div`);e.setAttribute(`aria-live`,`polite`),e.setAttribute(`id`,`searchAccessibilityContainer`),document.body.appendChild(e)}}static setAccessibilityText(e,t,n){this.addAccessibilityNotificationContainerToBody();let r=n??`searchAccessibility`,i=document.getElementById(r);i&&i.remove();let a=document.createElement(`span`);a.setAttribute(`id`,r),a.innerHTML=e;let o=document.getElementById(`searchAccessibilityContainer`);o&&setTimeout(()=>{o.appendChild(a)},t??100)}},Rr=class{dataLayer;config;containerId;routerHelper;cachedPhrase=``;cachedANDFacets=``;overlayOpened=!1;facetPaginationStep;facetPaginationStepMobile;searchFacetsMainContainer=null;searchFacetsMobileContainer=null;searchFacetsDesktopContainer=null;facetLimits={};facetLimitsMobile={};deactivatedFacets={};focusedElement=null;cachedData=null;cacheFacets;constructor(e,t){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?.getElementById(this.containerId)),t(this.config.facetingType),this.initializeSubscriptions()}get needDisabling(){return this.config.facetingType===`showUnavailable`}initializeSubscriptions(){this.dataLayer.$searchFacetsCachedand.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.$searchFacetsCachedor.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchResults.subscribe(e=>{e&&(this.cacheFacets(this.config.facetingType),this.renderMainTemplate(this.generateTemplateData()))})}extractFacetValue(e){return{type:this.config.facetingType,name:e.parentName,value:e.value}}applyFacetLimits(e,t){let n=t?this.facetPaginationStepMobile:this.facetPaginationStep,r=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(e=>{r[e.name]||(r[e.name]=n)}),e.map(e=>({...e,values:e.values.slice(0,r[e.name]),showingAllFacets:e.values.length<=r[e.name],hasMoreFacets:e.values.length>n}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.config.hooks?.beforeFacetsRender&&(t=this.config.hooks.beforeFacetsRender(t)),this.componentFacets&&(t=this.componentFacets,this.needDisabling&&(t=t.map(t=>{let n=this.dataLayer.searchFacets?.find(e=>e.name===t.name);return n?{...t,values:t.values.map(t=>{let r=n.values.find(e=>t.type!==`range`&&t.type===`checkbox`&&e.value===t.value);return{...t,disabled:!r,isMobile:e}})}:{...t,values:t.values.map(e=>({...e,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(e=>this.config.specificFacets?.includes(e.name)));let n={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(n),n}else{let t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,n){if(typeof document<`u`){let r=document?.createElement(`div`);r.classList.add(`searchstax-facet-container`),this.deactivatedFacets[e.name]||r.classList.add(`active`);let i=this.config?.templates?.facetItemContainerTemplate?.template||Z.facets.facetItemContainerTemplate?.template;r.innerHTML=Y.render(i,e),t.appendChild(r);let a=r.querySelector(`.`+(this.config?.templates?.facetItemContainerTemplate?.facetListTitleContainerClass||Z.facets.facetItemContainerTemplate?.facetListTitleContainerClass));a?.addEventListener(`click`,()=>{r.classList.toggle(`active`);let e=r.classList.contains(`active`),t=a.querySelector(`.searchstax-facet-title`);t&&t.setAttribute(`aria-expanded`,String(e))}),a?.querySelector(`.`+this.config?.templates?.facetItemContainerTemplate?.facetListTitleContainerInner)?.addEventListener(`keydown`,e=>{if(e.code===`Enter`||e.code===`Space`){e.preventDefault(),r.classList.toggle(`active`);let t=r.classList.contains(`active`),n=a.querySelector(`.searchstax-facet-title`);n&&n.setAttribute(`aria-expanded`,String(t))}});let o=r.querySelector(`.`+(this.config?.templates?.facetItemContainerTemplate?.facetListContainerClass||Z.facets.facetItemContainerTemplate?.facetListContainerClass));o&&(e.values.forEach(t=>{this.createFacetListItem(t,o,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,o,n))}}isChecked(e){return!!this.dataLayer.searchObject.facets?.find(t=>B.deepEqual(t,this.extractFacetValue(e)))}createFacetListItem(e,t,n){if(typeof document<`u`){let r=document?.createElement(`div`);r.classList.add(`searchstax-facet-value-container`),e.disabled&&r.classList.add(`searchstax-facet-value-disabled`);let i=this.isChecked(e),a=this.config?.templates?.facetItemTemplate?.template||Z.facets.facetItemTemplate?.template;r.innerHTML=Y.render(a,{...e,isChecked:i});let o=Z.facets.facetItemTemplate?.checkTriggerClasses;o=this.config?.templates?.facetItemTemplate?.checkTriggerClasses||o,o.forEach(t=>{r.querySelector(`.`+t)?.addEventListener(`click`,t=>{this.onFacetSelect(t,e,r)})});let s=r.querySelector(`.`+(this.config?.templates?.facetItemTemplate?.inputCheckboxClass||Z.facets.facetItemTemplate?.inputCheckboxClass));s?.addEventListener(`click`,t=>{this.onFacetSelect(t,e,r,!0)}),s&&s?.setAttribute(`data-test-value`,`${encodeURIComponent(n)}:"${encodeURIComponent(e.value)}"`),t.appendChild(r)}}onFacetSelect=(e,t,n,r,i)=>{if(e.stopPropagation(),!t.disabled){let e=n.querySelector(`input`),a=r?e.checked:!e.checked;i!==void 0&&(a=!i),e.checked=a;let o=this.dataLayer.searchObject,s=[...o.facets],c=this.extractFacetValue(t);a?s.find(e=>B.deepEqual(e,c)?e:!1)||(this.config.facetingType===`tabs`&&(s=s.filter(e=>e.name!==c.name)),s.push(c)):s=s.filter(e=>!B.deepEqual(e,c)),setTimeout(()=>{this.dataLayer.setSearchObject({...o,facets:s,page:1}),this.config.facetingType===`tabs`&&this.renderMainTemplate(this.generateTemplateData(),!0)},0)}};createHasMoreComponent(e,t,n){if(typeof document<`u`){let r=document?.createElement(`div`);r.classList.add(`searchstax-facet-show-more-container`);let i=this.config?.templates?.showMoreButtonContainerTemplate?.template||Z.facets.showMoreButtonContainerTemplate?.template;r.innerHTML=Y.render(i,{...e,focusId:`moreLess${e?.values?.[0]?.value}`});let a=r.querySelector(`.`+(this.config?.templates?.showMoreButtonContainerTemplate?.showMoreButtonClass||Z.facets.showMoreButtonContainerTemplate?.showMoreButtonClass));a&&(this.attachOnclickToShowMore(e,a,n),t&&t.appendChild(a))}}attachOnclickToShowMore(e,t,n){t.addEventListener(`click`,t=>{this.onShowMoreLessClick(t,e,n)}),t.addEventListener(`keydown`,e=>{e.code===`Space`&&e.preventDefault()}),t.addEventListener(`keyup`,t=>{(t.code===`Space`||t.code===`Enter`)&&(t.preventDefault(),this.onShowMoreLessClick(t,e,n))})}onShowMoreLessClick(e,t,n){e.preventDefault();let r=n?this.facetPaginationStepMobile:this.facetPaginationStep,i=n?this.facetLimits:this.facetLimitsMobile;i[t.name]===void 0?i[t.name]=r*2:i[t.name]<=t.values.length?(Q.setAccessibilityText(`More Facets shown for ${t.label}`,0,`moreLess${new Date().getTime()}`),i[t.name]=i[t.name]+r):(Q.setAccessibilityText(`Less Facets shown for ${t.label}`,0,`moreLess${new Date().getTime()}`),i[t.name]=r),this.generateTemplateData(n),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,n){if(e&&(!B.deepEqual(this.cachedData??{},e)||n)){this.cachedData=e;let n=this.config?.templates?.mainTemplateDesktop?.template||Z.facets.mainTemplateDesktop?.template;if(this.dataLayer.renderingEngine===t.mustache&&this.searchFacetsMainContainer){let t=document.activeElement;t instanceof HTMLInputElement&&t.type===`checkbox`||t?.classList.contains(`searchstax-facet-show-more-button`)||t?.classList.contains(`searchstax-facet-show-less-button`)?this.focusedElement=t:this.focusedElement=null,this.searchFacetsMainContainer.innerHTML=Y.render(n,{...e});let r=this.searchFacetsMainContainer?.querySelector(`.`+(this.config?.templates?.mainTemplateDesktop?.facetsContainerClass||Z.facets.mainTemplateDesktop.facetsContainerClass));if(r){r.innerHTML=``;for(let t of e.facets)this.createFacetItem(t,r);if(this.searchFacetsMainContainer){let e=this.searchFacetsMainContainer.querySelector(`.`+(this.config?.templates?.mainTemplateDesktop?.selectedFacetsContainerClass||Z.facets.mainTemplateDesktop.selectedFacetsContainerClass));e&&(this.createSelectedFacetsComponents(e),this.createClearFacetsComponents(e))}if(this.focusedElement){if(this.focusedElement.classList.contains(`searchstax-facet-show-more-button`)||this.focusedElement.classList.contains(`searchstax-facet-show-less-button`)){let e=this.focusedElement.getAttribute(`data-focus`),t=this.searchFacetsMainContainer.querySelector(`[data-focus="${e}"]`);t instanceof HTMLElement&&t.focus(),this.focusedElement=null;return}let e=this.focusedElement.getAttribute(`data-test-value`),t=this.searchFacetsMainContainer.querySelector(`[data-test-value="${e}"]`);t instanceof HTMLInputElement&&t.focus(),this.focusedElement=null}}}setTimeout(()=>{document.querySelectorAll(`.searchstax-facet-title`).forEach(e=>{e.setAttribute(`aria-expanded`,`true`),e.setAttribute(`tabindex`,`0`),e.setAttribute(`role`,`button`)})},100),this.renderMobileTemplate(this.generateTemplateData(!0))}else this.renderMobileTemplate(this.generateTemplateData(!0),!0),this.generateSelectedFacetsData()}get componentFacets(){let e=this.config.facetingType;return e===`and`?this.dataLayer.searchFacetsCachedand:e===`or`?this.dataLayer.searchFacetsCachedor:e===`tabs`?this.dataLayer.searchFacetsCachedtabs:e===`showUnavailable`?this.dataLayer.searchFacetsCachedand:null}generateSelectedFacetsData(){let e=[],t=this.dataLayer.searchObject.facets;for(let n of t){let t=decodeURIComponent(n.name),r=decodeURIComponent(n.value);if(this.dataLayer.searchFacets){let n=this.dataLayer.searchFacets?.find(e=>e.name===t);if(n){let t=n.values.find(e=>e.type!==`range`&&e.type===`checkbox`&&`"${e.value}"`==`"${r}"`);t&&e.push(t)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){this.generateSelectedFacetsData(),this.dataLayer.selectedFacetsTemplateData?.forEach(t=>{this.createSelectedFacetsComponent(e,t)})}createClearFacetsComponents(e){if(typeof document<`u`){let t=this.dataLayer.searchObject,n=this.config?.templates?.clearFacetsTemplate?.template||Z.facets.clearFacetsTemplate?.template,r=document?.createElement(`div`);r.innerHTML=Y.render(n,{shouldShow:t.facets.length>0});let i=r.querySelector(`.`+(this.config?.templates?.clearFacetsTemplate?.containerClass||Z.facets.clearFacetsTemplate?.containerClass));i&&(i.addEventListener(`click`,()=>{this.removeSelectedFacets()}),i.addEventListener(`keyup`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.removeSelectedFacets()}),e.appendChild(i))}}createSelectedFacetsComponent(e,t){if(typeof document<`u`){let n=this.config?.templates?.selectedFacetsTemplate?.template||Z.facets.selectedFacetsTemplate?.template,r=document?.createElement(`div`);r.innerHTML=Y.render(n,t);let i=r.querySelector(`.`+(this.config?.templates?.selectedFacetsTemplate?.containerClass||Z.facets.selectedFacetsTemplate?.containerClass));if(i){let n=i.querySelector(`.searchstax-facets-pill-icon-close`);n?n.addEventListener(`click`,()=>{this.unselectFacet(t)}):i.addEventListener(`click`,()=>{this.unselectFacet(t)}),i.addEventListener(`keyup`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.unselectFacet(t)}),e.appendChild(i)}}}unselectFacet(e){let t=this.dataLayer.searchObject,n=[...t.facets];e.type===`checkbox`&&(n=n.filter(t=>JSON.stringify(t)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:n}),setTimeout(()=>{this.generateSelectedFacetsData()},100)},100)}removeSelectedFacets(){let e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){if(typeof document<`u`){let t=this.config?.templates?.filterByTemplate?.template||Z.facets.filterByTemplate?.template,n=document?.createElement(`div`);n.innerHTML=Y.render(t,{});let r=n.querySelector(`.`+(this.config?.templates?.filterByTemplate?.containerClass||Z.facets.filterByTemplate?.containerClass));r&&(e.prepend(r),r.addEventListener(`click`,this.openOverlay.bind(this)),r.addEventListener(`keyup`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.openOverlay()}))}}openOverlay(){Q.setAccessibilityText(`Facet overlay opened. Tab to select facets.`),this.overlayOpened=!0,this.searchFacetsMainContainer&&(typeof document<`u`&&document.body.classList.toggle(`searchstax-no-scroll`),this.searchFacetsMainContainer.querySelector(`.searchstax-facets-mobile-overlay`)?.classList.add(`searchstax-show`))}closeOverlay(){Q.setAccessibilityText(`Facet overlay closed`),this.overlayOpened=!1,this.searchFacetsMainContainer&&(typeof document<`u`&&document.body.classList.toggle(`searchstax-no-scroll`),this.searchFacetsMainContainer.querySelector(`.searchstax-facets-mobile-overlay`)?.classList.remove(`searchstax-show`))}renderMobileTemplate(e,n){if(e&&typeof document<`u`){let r=document?.createElement(`div`);if(r.classList.add(`searchstax-facets-container-mobile`),n){let e=document.querySelector(`.searchstax-facets-container-mobile`);e&&(r=e)}let i=this.config?.templates?.mainTemplateMobile?.template||Z.facets.mainTemplateMobile?.template;if(this.dataLayer.renderingEngine===t.mustache){if(r.innerHTML=Y.render(i,{...e,overlayOpened:this.overlayOpened}),this.searchFacetsMainContainer?.appendChild(r),this.config?.templates?.mainTemplateMobile)for(let e of this.config?.templates?.mainTemplateMobile?.closeOverlayTriggerClasses||[]){let t=r.querySelector(`.`+e);t&&(t.addEventListener(`click`,this.closeOverlay.bind(this)),t.addEventListener(`keyup`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.closeOverlay()}))}else for(let e of Z.facets.mainTemplateMobile.closeOverlayTriggerClasses){let t=r.querySelector(`.`+e);t&&(t.addEventListener(`click`,this.closeOverlay.bind(this)),t.addEventListener(`keyup`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.closeOverlay()}))}let t=r.querySelector(`.`+(this.config?.templates?.mainTemplateMobile?.filterByContainerClass||Z.facets.mainTemplateMobile.filterByContainerClass));t&&this.createFilterByComponent(t);let n=r.querySelector(`.`+(this.config?.templates?.mainTemplateMobile?.selectedFacetsContainerClass||Z.facets.mainTemplateMobile.selectedFacetsContainerClass));n&&(this.createSelectedFacetsComponents(n),this.createClearFacetsComponents(n));let a=r.querySelector(`.`+(this.config?.templates?.mainTemplateMobile?.facetsContainerClass||Z.facets.mainTemplateMobile.facetsContainerClass));if(a){a.innerHTML=``;for(let t of e.facets)this.createFacetItem(t,a,!0)}}}}},zr=class{dataLayer;config;containerId;previousButtonClass;nextButtonClass;loadMoreButtonClass;routerHelper;searchPaginationMainContainer=null;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=this.config?.templates?.mainTemplate?.previousButtonClass??Z.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=this.config?.templates?.mainTemplate?.nextButtonClass??Z.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=this.config?.templates?.infiniteScrollTemplate?.loadMoreButtonClass??Z.pagination.infiniteScrollTemplate.loadMoreButtonClass,typeof document<`u`&&(this.searchPaginationMainContainer=document?.getElementById(this.containerId)),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){return this.dataLayer.searchObject?.page===1}get isLastPage(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){let e={...this.dataLayer.parsedData.data,previousPageLink:this.routerHelper?.searchObjectToUrl({...this.dataLayer.searchObject,page:this.dataLayer.searchObject?.page-1}),nextPageLink:this.routerHelper?.searchObjectToUrl({...this.dataLayer.searchObject,page:this.dataLayer.searchObject?.page+1})};return this.dataLayer.setPaginationData(e),e}goToPage(e,t){let n=this.dataLayer.searchObject;n&&(n.page=e,this.dataLayer.setSearchObject(n));let r=document.querySelector(`.searchstax-page-layout-result-container`);if(r instanceof HTMLElement){let e=r.querySelector(`[tabindex="0"]`);e instanceof HTMLElement&&e.focus()}else document.body.tabIndex=-1,document.body.focus();t||(r instanceof HTMLElement?r.scrollIntoView({block:`start`,behavior:`auto`}):window?.scrollTo(0,0))}nextPage(e){e?.preventDefault(),e?.stopPropagation(),this.isLastPage||this.goToPage(this.dataLayer.searchObject?.page+1,this.dataLayer.isInfiniteScroll)}previousPage(e){e?.preventDefault(),e?.stopPropagation(),this.isFirstPage||this.goToPage(this.dataLayer.searchObject?.page-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){let e=this.searchPaginationMainContainer.querySelector(`.`+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector(`.`+this.nextButtonClass),n=this.searchPaginationMainContainer.querySelector(`.`+this.loadMoreButtonClass);e&&(e.addEventListener(`click`,this.previousPage.bind(this)),e.addEventListener(`keydown`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.previousPage(e)})),t&&(t.addEventListener(`click`,this.nextPage.bind(this)),t.addEventListener(`keydown`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.nextPage(e)})),n&&(n.addEventListener(`click`,this.nextPage.bind(this)),n.addEventListener(`keydown`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.nextPage(e)}))}}renderMainTemplate(e){this.searchPaginationMainContainer&&(this.searchPaginationMainContainer.querySelector(`.`+this.previousButtonClass)?.removeEventListener(`click`,this.previousPage),this.searchPaginationMainContainer.querySelector(`.`+this.nextButtonClass)?.removeEventListener(`click`,this.nextPage));let n=this.config?.templates?.mainTemplate?.template||Z.pagination.mainTemplate?.template;this.dataLayer.isInfiniteScroll&&(n=this.config?.templates?.infiniteScrollTemplate?.template||Z.pagination.infiniteScrollTemplate?.template),this.dataLayer.renderingEngine===t.mustache&&(this.searchPaginationMainContainer.innerHTML=Y.render(n,e),setTimeout(()=>{this.overridePaginationEvents()},0))}},Br=class{dataLayer;config;containerId;relatedSearchesContainerClass;searchRelatedSearchesMainContainer=null;track;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=this.config.templates?.main?.relatedSearchesContainerClass||Z.relatedSearches.main.relatedSearchesContainerClass,typeof document<`u`&&(this.searchRelatedSearchesMainContainer=document?.getElementById(this.containerId)),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){let e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,n){if(typeof document<`u`){let r=document?.createElement(`div`),i=this.config?.templates?.relatedSearch?.template||Z.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===t.mustache){r.innerHTML=Y.render(i,e);let t=r.querySelector(`.`+(this.config.templates?.relatedSearch?.relatedSearchContainerClass||Z.relatedSearches.relatedSearch.relatedSearchContainerClass));t&&(n.appendChild(t),t.addEventListener(`click`,()=>{this.executeSearch(e)}),t.addEventListener(`keyup`,t=>{(t.code===`Space`||t.code===`Enter`)&&this.executeSearch(e)}))}}}executeSearch(e){let t=this.dataLayer.searchObject;t.query=e.related_search,this.dataLayer.setSearchObject(t),this.track(e)}renderMainTemplate(e){let n=this.config?.templates?.main?.template||Z.relatedSearches.main.template;if(this.dataLayer.renderingEngine===t.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML=``,this.searchRelatedSearchesMainContainer.innerHTML=Y.render(n,e);let t=this.searchRelatedSearchesMainContainer?.querySelector(`.${this.relatedSearchesContainerClass}`);if(t)for(let n of e.relatedSearches)this.addRelatedSearchComponent(n,t)}}},Vr=class{dataLayer;config;containerId;searchFeedbackMainContainer=null;searchTrigger;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,typeof document<`u`&&(this.searchFeedbackMainContainer=document?.getElementById(this.containerId)),this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){let e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchFeedbackData(e),e}onOriginalQueryClick(e){e.stopPropagation(),e.preventDefault();let t=e.target?.innerHTML;this.searchTrigger(t,!0)}attachClick(){let e=this.searchFeedbackMainContainer?.querySelector(`.`+(this.config?.templates?.main?.originalQueryClass||Z.searchFeedback.main?.originalQueryClass));e&&e.addEventListener(`click`,this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){let n=this.config?.templates?.main?.template||Z.searchFeedback.main.template;this.dataLayer.renderingEngine===t.mustache&&(this.searchFeedbackMainContainer.innerHTML=Y.render(n,e),setTimeout(()=>{this.attachClick()},0))}},Hr=class{searchHelper;dataLayer;config;suggestAfterMinChars;containerId;currentInputValue=``;autosuggestResults;suppressNextEnter=!1;searchInput;actionButton;autosuggestContainer;clearButton;separatorIcon;buttonState=`search`;selectedAutosuggestItem=-1;suggestTrigger;searchTrigger;constructor(e){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(){if(typeof document<`u`){let e=document?.getElementById(this.containerId);if(!e)throw Error(`Search input container not found`);let n=this.config.templates?.mainTemplate?.template||Z.searchInput.mainTemplate.template,r={...this.dataLayer.parsedData.data,locationEnabled:!!this.dataLayer.locationEnabled,hasInputValue:!1};this.dataLayer.setInputWidgetTemplateData(r),this.dataLayer.renderingEngine===t.mustache&&(e.innerHTML=Y.render(n,r),this.dataLayer.setInputTemplateRendered(!0));let i=this.config.templates?.mainTemplate?.searchInputId||Z.searchInput.mainTemplate.searchInputId,a=document?.querySelector(`#${i}`);if(a)this.searchInput=a,a.addEventListener(`keyup`,this.inputKeyupEvent.bind(this)),a.addEventListener(`blur`,this.hideAutosuggest.bind(this)),a.addEventListener(`paste`,this.inputPasteEvent.bind(this));else throw Error(`Input not found`)}}createAutosuggestContainer(){this.dataLayer.renderingEngine===t.mustache&&typeof document<`u`&&(this.autosuggestContainer=document?.createElement(`div`),this.autosuggestContainer.classList.add(`searchstax-autosuggest-container`),this.autosuggestContainer.addEventListener(`mouseleave`,()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),this.searchInput?.after(this.autosuggestContainer))}getSuggestAfterValue(){this.dataLayer.searchHelper&&this.dataLayer.searchHelper.suggest(`*`,e=>{this.suggestAfterMinChars=e.metadata.minPrefixChars},[])}actionButtonInit(){typeof document<`u`&&(this.actionButton=document?.getElementById(`searchstax-search-input-action-button`),this.actionButton&&this.actionButton.addEventListener(`click`,()=>{this.executeSearch(this.searchInput?.value??``)}),this.clearButton=document?.getElementById(`searchstax-clear-input-action-button`),this.separatorIcon=document?.getElementById(`searchstax-separator-icon`),this.clearButton&&this.clearButton.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),this.clearInput()}))}updateClearButtonVisibility(e){let t=e.length>0;t?(this.clearButton?.classList.remove(`hidden`),this.separatorIcon?.classList.remove(`hidden`)):(this.clearButton?.classList.add(`hidden`),this.separatorIcon?.classList.add(`hidden`));let n=this.dataLayer.inputWidgetTemplateData;n&&this.dataLayer.setInputWidgetTemplateData({...n,hasInputValue:t})}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??``),this.updateClearButtonVisibility(this.searchInput.value))})}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?.focus?.(),e.setSelectionRange(e.value.length,e.value.length)),Q.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,Q.setAccessibilityText(`No Suggestion selected`)):this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}clearInput(){this.suppressNextEnter=!0,this.searchInput&&(this.searchInput.value=``,this.currentInputValue=``),this.updateClearButtonVisibility(``),this.hideAutosuggest(),this.searchInput?.focus()}markActiveAutosuggestItem(){if(typeof document<`u`){let e=document?.getElementsByClassName(`searchstax-autosuggest-item`);for(let t=0;t<e.length;t++){let n=e[t];t===this.selectedAutosuggestItem?(n.classList.add(`active`),Q.setAccessibilityText(`Selected suggestion: ${n.innerText}`)):n.classList.remove(`active`)}}}inputKeyupEvent(e){let t=e.key;if(this.currentInputValue=e.target.value,t===`Enter`){if(this.suppressNextEnter){this.suppressNextEnter=!1;return}this.suggestionChosen()}else this.suppressNextEnter=!1,t===`Escape`?this.hideAutosuggest(e.target):t===`ArrowUp`?this.selectPreviousAutosuggestItem(e.target):t===`ArrowDown`?this.selectNextAutosuggestItem():this.autosuggestHandling(e);this.handleSearchTermChange(),this.updateClearButtonVisibility(this.currentInputValue)}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(),this.updateClearButtonVisibility(e.target.value)},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?.focus?.(),e.setSelectionRange(e.value.length,e.value.length)),Q.setAccessibilityText(`No Suggestion selected`)},200)}cleanSuggestionTerm(e){return H.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,``)).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??``),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){let t=document?.createElement(`div`);t.classList.add(`searchstax-autosuggest-item`),t.addEventListener(`click`,()=>{this.autosuggestItemClicked(e)}),t.addEventListener(`mouseenter`,()=>{this.onSuggestionEnter(e)});let n=this.config.templates?.autosuggestItemTemplate?.template||Z.searchInput.autosuggestItemTemplate?.template;return t.innerHTML=Y.render(n,e),t}onSuggestionEnter(e){this.selectedAutosuggestItem=this.autosuggestResults?.suggestions.indexOf(e)||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML=``,this.autosuggestContainer.classList.remove(`hidden`));for(let t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){let n=e.suggest[t];for(let e in n)if(Object.prototype.hasOwnProperty.call(n,e)){let t=n[e];t.numFound?Q.setAccessibilityText(`Suggestions are available. Use up and down arrows to navigate while focusing input. Use Escape key to escape out of the suggestions`,2e3):Q.setAccessibilityText(``,0),this.autosuggestResults=t,this.dataLayer.setAutosuggestResults(t),t.numFound>0?t.suggestions.forEach(e=>{this.autosuggestContainer&&typeof document<`u`&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(e))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add(`hidden`)}}}},Ur=class{dataLayer;config;linkClickCallback;searchCallback;containerId;searchResultsMainContainer;searchResultsContainer;searchResultLinks=[];constructor(e){this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId;let t=document?.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw 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(()=>{Q.setAccessibilityText(`Searching...`)}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){let e=this.config?.templates?.noSearchResultTemplate?.template||Z.searchResults.noSearchResultTemplate?.template,n=this.dataLayer.searchResultsMetadata?.spellingSuggestion??``;if(this.dataLayer.renderingEngine===t.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=Y.render(e,{spellingSuggestion:n,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),n&&this.searchResultsContainer){let e=this.searchResultsContainer.querySelector(`a`);e&&e.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.searchCallback(n)})}}renderResults(e){if(this.dataLayer.renderingEngine===t.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)Q.setAccessibilityText(`Search has no results`),this.renderNoResultsTemplate();else{Q.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);let t=this.config?.templates?.searchResultTemplate?.template||Z.searchResults.searchResultTemplate?.template,n=e.map(e=>Y.render(t,e));this.config?.renderMethod===`infiniteScroll`&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=n.join(``):this.searchResultsContainer.innerHTML=n.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(){return this.config?.templates?.searchResultTemplate?.searchResultUniqueIdAttribute||Z.searchResults.searchResultTemplate?.searchResultUniqueIdAttribute}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation();let n=e.getAttribute(this.uniqueIdAttribute)??``;n&&this.linkClickCallback(n)}),e.addEventListener(`keydown`,t=>{if(t.code===`Space`||t.code===`Enter`){let t=e.getAttribute(this.uniqueIdAttribute)??``;t&&this.linkClickCallback(t)}})})}renderMainTemplate(){let e=this.config?.templates?.mainTemplate?.template||Z.searchResults.mainTemplate?.template;this.dataLayer.renderingEngine===t.mustache&&(this.searchResultsMainContainer.innerHTML=Y.render(e,{}),setTimeout(()=>{let e=this.config?.templates?.mainTemplate?.searchResultsContainerId?this.config?.templates?.mainTemplate?.searchResultsContainerId:Z.searchResults.mainTemplate?.searchResultsContainerId,t=document?.getElementById(e);if(t)this.searchResultsContainer=t;else throw Error(`Search Results Container with id ${e} not found`)},0))}},Wr=class{dataLayer;config;containerId;selectId;searchSortingMainContainer=null;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=this.config.templates?.main?.selectId||Z.sorting.main.selectId,this.searchSortingMainContainer=document?.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){let e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchSortingData(e),e}setOrderQuery(e){let t=this.dataLayer.searchObject;t&&(t.order=e,this.dataLayer.setSearchObject(t))}markOptionSelected(){let e=document?.getElementById(this.selectId);if(e){let t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){let n=this.config?.templates?.main?.template||Z.sorting.main.template;if(this.dataLayer.renderingEngine===t.mustache){this.searchSortingMainContainer.innerHTML=Y.render(n,e),this.markOptionSelected();let t=document?.getElementById(this.selectId);t&&t.addEventListener(`change`,e=>{this.setOrderQuery(e.target.value)})}}},Gr=class{analyticsKey;containerId;mainContainer;isLightweight;emailOverride;feedbackTextAreaOverride;mainTemplateOverride;lightweightTemplateOverride;focusedElement=null;focusTrapListener=null;lastFocusedElementBeforeModal=null;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};thumbsUpValue=10;thumbsDownValue=1;ratedQuestion=``;language=``;model=``;analyticsSrc=``;constructor(e){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(){tr.attachAnalyticsScript(this.analyticsSrc),this.renderMainTemplate(this.generateTemplateData())}generateTemplateData(){return this.templateData}renderMainTemplate(e){let t=document.activeElement;(t instanceof HTMLInputElement||t instanceof HTMLButtonElement||t instanceof HTMLTextAreaElement||t instanceof HTMLAnchorElement)&&(t.type===`radio`||t.type===`button`||t.type===`textarea`||t instanceof HTMLAnchorElement)?this.focusedElement=t:this.focusedElement=null,this.mainContainer;let n=X?.mainTemplate?.template;if(this.mainTemplateOverride&&(n=this.mainTemplateOverride),this.isLightweight&&(n=X.lightweightTemplate?.template,this.lightweightTemplateOverride&&(n=this.lightweightTemplateOverride)),this.mainContainer.innerHTML=Y.render(n,e),this.focusedElement&&this.mainContainer){let e=this.focusedElement.type===`radio`?this.focusedElement.getAttribute(`id`):this.focusedElement.getAttribute(`class`),t=this.focusedElement.type===`radio`?`id`:`class`,n=this.mainContainer.querySelector(`[${t}="${e}"]`);(n instanceof HTMLInputElement||n instanceof HTMLButtonElement||n instanceof HTMLTextAreaElement||n instanceof HTMLAnchorElement)&&n.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;let t=this.getModalElement();if(!t)return;let n=this.getFocusableElements(t);if(n.length===0)return;let r=n[0],i=n[n.length-1];e.key===`Tab`&&(e.shiftKey?(document.activeElement===r||!t.contains(document.activeElement))&&(e.preventDefault(),i?.focus()):(document.activeElement===i||!t.contains(document.activeElement))&&(e.preventDefault(),r?.focus())),e.key===`Escape`&&(e.preventDefault(),this.closeFeedbackModal())},document.addEventListener(`keydown`,this.focusTrapListener)}getFocusableElements(e){let 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(){let e=X.mainTemplate?.modalContainerClass;return this.mainContainer?.querySelector(`.${e}`)||null}attachLightweightEvents(){let e=X.lightweightTemplate?.thumbsUpButtonClass,t=X.lightweightTemplate?.thumbsDownButtonClass,n=this.mainContainer?.querySelector(`.`+e),r=this.mainContainer?.querySelector(`.`+t);n&&n.addEventListener(`click`,()=>{let e=this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea;this.templateData.ratings[this.templateData.ratings.length-1].isSelected&&this.ratedQuestion===e||(this.templateData.thumbsUpActive=!0,this.templateData.thumbsDownActive=!1,this.templateData.ratings.forEach(e=>{e.isSelected=e.index===this.thumbsUpValue}),this.renderMainTemplate(this.generateTemplateData()),this.ratedQuestion=e,this.submit())}),r&&r.addEventListener(`click`,()=>{let e=this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea;this.templateData.ratings[0].isSelected&&this.ratedQuestion===e||(this.templateData.thumbsUpActive=!1,this.templateData.thumbsDownActive=!0,this.templateData.ratings.forEach(e=>{e.isSelected=e.index===this.thumbsDownValue}),this.renderMainTemplate(this.generateTemplateData()),this.ratedQuestion=e,this.submit())})}attachSubmitButtonEvents(){let e=X.mainTemplate?.submitButtonClass,t=this.mainContainer?.querySelector(`.`+e);t&&t.addEventListener(`click`,()=>{this.checkIfValid()})}checkIfValid(){let e=this.mainContainer?.querySelector(`#`+X.mainTemplate?.emailInputId);this.validateEmail(e.value)?this.templateData.errors.email=!1:(this.templateData.errors.email=!0,Q.setAccessibilityText(`Please enter a valid email address.`)),this.templateData.ratings.some(e=>e.isSelected)?this.templateData.errors.rating=!1:(this.templateData.errors.rating=!0,Q.setAccessibilityText(`Please Rate your experience.`)),this.templateData.errors.rating||this.templateData.errors.email?this.renderMainTemplate(this.generateTemplateData()):this.submit()}submit(){this.templateData.submitted=!0;let e=this.templateData.ratings.find(e=>e.isSelected)?.index;e!==void 0&&(tr.trackFeedback({trackApiKey:this.analyticsKey,email:this.emailOverride&&this.isLightweight?this.emailOverride():this.templateData.emailInput,rating:e,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(),Q.setAccessibilityText(`Feedback has been sent.`,1e3),this.mainContainer?.querySelector(`.`+X.mainTemplate?.checkmarkClass)?setTimeout(()=>{this.closeFeedbackModal(),this.renderMainTemplate(this.generateTemplateData())},2e3):(setTimeout(()=>{this.closeFeedbackModal()},500),this.renderMainTemplate(this.generateTemplateData())))}validateEmail(e){return e===``||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}attachEmailInputEvents(){let e=this.mainContainer?.querySelector(`#`+X.mainTemplate?.emailInputId);e&&(e.addEventListener(`input`,()=>{this.templateData.emailInput=e.value}),e.addEventListener(`blur`,()=>{setTimeout(()=>{this.validateEmail(e.value)?this.templateData.errors.email=!1:(this.templateData.errors.email=!0,Q.setAccessibilityText(`Please enter a valid email address.`)),this.renderMainTemplate(this.generateTemplateData())},300)}))}attachTextAreaEvents(){let e=this.mainContainer?.querySelector(`#`+X.mainTemplate?.feedbackTextAreaId);e&&e.addEventListener(`input`,()=>{this.templateData.feedbackTextArea=e.value,this.templateData.charactersLeft=this.templateData.maxLength-e.value.length;let t=this.mainContainer?.querySelector(`.`+X.mainTemplate?.charactersRemainingContainerclass);t&&(t.innerText=this.templateData.charactersLeft+``)})}attachRatingEvents(){let e=X.mainTemplate?.ratingInputclass,t=this.mainContainer?.querySelectorAll(`.`+e);t&&t.forEach(e=>{e.addEventListener(`click`,e=>{let t=e.target.value;this.templateData.ratings.forEach(e=>{e.isSelected=e.index+``===t}),this.templateData.errors.rating=!1,this.renderMainTemplate(this.generateTemplateData())})})}attachOpenModalEvent(){let e=X.mainTemplate?.openModalButtonClass,t=this.mainContainer?.querySelector(`.`+e);t&&t.addEventListener(`click`,e=>{e.preventDefault(),this.toggleModal()})}toggleModal(){this.templateData.feedbackOpen?this.closeFeedbackModal():this.openFeedbackModal()}closeModalEvent(){let e=X.mainTemplate?.closeModalButtonClass,t=this.mainContainer?.querySelector(`.`+e);t&&t.addEventListener(`click`,()=>{this.closeFeedbackModal()})}openFeedbackModal(){this.lastFocusedElementBeforeModal=document.activeElement,this.templateData.feedbackOpen=!0,this.renderMainTemplate(this.generateTemplateData()),setTimeout(()=>{let e=this.getModalElement();if(e){let t=this.getFocusableElements(e);t.length>0&&t[0].focus()}this.attachFocusTrap()},0),Q.setAccessibilityText(`Feedback form opened`,1e3)}closeFeedbackModal(){this.templateData.feedbackOpen=!1,this.focusTrapListener&&=(document.removeEventListener(`keydown`,this.focusTrapListener),null),this.renderMainTemplate(this.generateTemplateData()),this.lastFocusedElementBeforeModal&&=(this.lastFocusedElementBeforeModal.focus(),null),Q.setAccessibilityText(`Feedback form closed`,1e3)}showCheckmarkAnimation(){let e=X.mainTemplate?.submitButtonClass,t=this.mainContainer?.querySelector(`.`+e);t&&(t.disabled=!0);let n=X.mainTemplate?.checkmarkClass,r=this.mainContainer?.querySelector(`.`+n);r&&r.classList.remove(`hidden`);let i=X.mainTemplate?.submitButtonTextClass,a=this.mainContainer?.querySelector(`.`+i);a&&a.classList.add(`visibility`),setTimeout(()=>{r&&r.classList.add(`hidden`),a&&a.classList.remove(`visibility`),t&&(t.disabled=!1)},2e3)}destroy(){this.focusTrapListener&&=(document.removeEventListener(`keydown`,this.focusTrapListener),null)}},Kr=class{dataLayer;config;containerId;answerContainer=null;showMoreVisible=!1;renderFeedbackWidget=!1;clicked=!1;renderedWithShowMore=!1;showMoreListenerAttached=!1;conversationInputListenerAttached=!1;previousSearchQuery=``;conversationMessages=[];conversationEventSource=null;pendingConversationAnswer=``;waitingForConversationAnswer=!1;conversationPreviewUpdateFrameRequested=!1;shouldAutoScrollConversation=!1;hideFollowUpInputUntilNewMainSearch=!1;conversationInputDraftValue=``;shouldRestoreConversationInputFocus=!1;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.renderFeedbackWidget=this.config.feedbackwidget?.renderFeedbackWidget||!1,this.previousSearchQuery=this.dataLayer.searchObject.query,this.config.showMoreAfterWordCount&&(this.dataLayer.answerWidgetShowMoreLimit=this.config.showMoreAfterWordCount),typeof document<`u`&&(this.answerContainer=document?.getElementById(this.containerId),this.attachShowMoreClickListener(),this.attachConversationInputListener()),this.config.testString?(this.showMoreVisible=this.dataLayer.parsedData.shouldShowAnswerLoadMore,this.renderMainTemplate(this.generateTemplateData())):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(e=>{this.clicked=!1,this.renderedWithShowMore=!1,this.showMoreVisible=!1,e.query!==this.previousSearchQuery&&(this.conversationMessages=[],this.hideFollowUpInputUntilNewMainSearch=!1),this.previousSearchQuery=e.query}),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(){if(this.renderFeedbackWidget){let e=document.getElementById(`feedbackWidgetContainer`);e&&!this.dataLayer.answerLoading&&e.childElementCount===0&&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:this.config.feedbackwidget?.emailOverride,feedbackTextAreaOverride:this.config.feedbackwidget?.searchstaxFeedbackTextAreaOverride??this.searchstaxFeedbackTextAreaOverride.bind(this),thumbsUpValue:this.config.feedbackwidget?.thumbsUpValue??10,thumbsDownValue:this.config.feedbackwidget?.thumbsDownValue??0,lightweightTemplateOverride:this.config.feedbackwidget?.lightweightTemplateOverride})}}showMore(e){e.preventDefault(),this.clicked=!0,this.showMoreVisible=!1,tr.trackShowMoreClick?.({...this.dataLayer.parsedData.trackingData}),this.renderMainTemplate(this.generateTemplateData()),this.config.testString||setTimeout(()=>{this.initializeWidget()},600)}attachConversationInputListener(){!this.answerContainer||this.conversationInputListenerAttached||(this.conversationInputListenerAttached=!0,this.answerContainer.addEventListener(`keydown`,e=>{let t=e,n=e.target;!n||n.id!==`searchstax-conversation-input`||t.key===`Enter`&&(t.preventDefault(),this.submitConversationQuestion(n.value,n))}),this.answerContainer.addEventListener(`click`,e=>{if(!e.target?.closest?.(`.searchstax-conversation-search-icon`)||!this.answerContainer)return;let t=this.answerContainer.querySelector(`#searchstax-conversation-input`);t&&this.submitConversationQuestion(t.value,t)}))}submitConversationQuestion(e,t){let n=e.trim();if(!n||!this.dataLayer.searchHelper||this.waitingForConversationAnswer)return;this.conversationEventSource&&=(this.conversationEventSource.close(),null),this.conversationMessages.push({formattedMessage:this.formatConversationQuestion(n)}),this.pendingConversationAnswer=``,this.waitingForConversationAnswer=!0,this.shouldAutoScrollConversation=!0,t.value=``,this.renderMainTemplate(this.generateTemplateData());let r=this.dataLayer.searchHelper.startSSE(n,this.parseConversationAnswerChunk.bind(this),this.finalizeConversationAnswer.bind(this),!0);if(r){this.conversationEventSource=r;return}this.waitingForConversationAnswer=!1,this.dataLayer.setAnswerLoading(!1)}parseConversationAnswerChunk(e){e===gn.question||e===gn.notQuestion||((e.indexOf(`[!CAUTION]`)!==-1||e.indexOf(`searchstax-conversation-caution-message`)!==-1||e.indexOf(`Conversation has been ended due to too many follow-up questions`)!==-1)&&(this.hideFollowUpInputUntilNewMainSearch=!0,this.renderMainTemplate(this.generateTemplateData())),this.pendingConversationAnswer+=e,this.shouldAutoScrollConversation=!0,this.scheduleConversationPreviewUpdate())}finalizeConversationAnswer(){if(!this.waitingForConversationAnswer)return;let e=this.pendingConversationAnswer.trim();this.conversationMessages.push({formattedMessage:e?this.formatConversationAnswer(e):`<span class="searchstax-conversation-empty-answer" aria-hidden="true"> </span>`,messageClass:`searchstax-conversation-answer-enter`}),this.pendingConversationAnswer=``,this.waitingForConversationAnswer=!1,this.conversationEventSource=null,this.shouldAutoScrollConversation=!0,this.renderMainTemplate(this.generateTemplateData())}scrollConversationToBottom(){if(!this.answerContainer)return;let e=this.answerContainer.querySelector(`.searchstax-conversation-messages-container`);e&&(e.scrollTop=e.scrollHeight)}scheduleConversationPreviewUpdate(){if(this.conversationPreviewUpdateFrameRequested)return;this.conversationPreviewUpdateFrameRequested=!0;let e=()=>{this.conversationPreviewUpdateFrameRequested=!1,this.updateStreamingPreviewInPlace()};if(typeof window<`u`&&window.requestAnimationFrame){window.requestAnimationFrame(e);return}setTimeout(e,16)}updateStreamingPreviewInPlace(){if(!this.answerContainer||!this.waitingForConversationAnswer)return;let e=this.answerContainer.querySelector(`.searchstax-conversation-messages-container-message:last-child`),t=e?.querySelector(`.searchstax-conversation-streaming-message`);if(!e||!t){this.renderMainTemplate(this.generateTemplateData());return}let n=t.querySelector(`.searchstax-conversation-stream-text`);if(!n){n=document.createElement(`span`),n.className=`searchstax-conversation-stream-text`;let e=t.querySelector(`.searchstax-conversation-stream-loader`);e?t.insertBefore(n,e):t.appendChild(n)}n.innerHTML=this.renderConversationAnswerMarkdown(this.pendingConversationAnswer),t.classList.add(`searchstax-conversation-streaming-message-has-text`),this.shouldAutoScrollConversation&&this.scrollConversationToBottom()}formatConversationQuestion(e){return this.escapeHtml(e)}formatConversationAnswer(e){return this.renderConversationAnswerMarkdown(e)}formatConversationAnswerPreview(e){let t=this.renderConversationAnswerMarkdown(e).trim();return t?`<div class="searchstax-conversation-streaming-message searchstax-conversation-streaming-message-has-text"><span class="searchstax-conversation-stream-text">${t}</span><span class="searchstax-conversation-stream-loader"><span class="searchstax-answer-loading" aria-hidden="true"></span></span></div>`:`<div class="searchstax-conversation-streaming-message"><span class="searchstax-conversation-stream-loader"><span class="searchstax-answer-loading" aria-hidden="true"></span></span></div>`}renderConversationAnswerMarkdown(e){return ln.sanitize(A.parse(e)).replace(/<a /g,`<a target="_blank" class="searchstax-answer-link" rel="noopener noreferrer" `)}escapeHtml(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/\"/g,`"`).replace(/'/g,`'`)}attachShowMoreClickListener(){!this.answerContainer||this.showMoreListenerAttached||(this.showMoreListenerAttached=!0,this.answerContainer.addEventListener(`click`,e=>{e.target?.closest?.(`.searchstax-answer-load-more-button`)&&this.showMore(e)}))}captureConversationInputStateBeforeRender(){if(!this.answerContainer)return;let e=this.answerContainer.querySelector(`#searchstax-conversation-input`);e&&(this.conversationInputDraftValue=e.value,this.shouldRestoreConversationInputFocus=document.activeElement===e)}restoreConversationInputStateAfterRender(){if(!this.answerContainer||!this.conversationInputDraftValue&&!this.shouldRestoreConversationInputFocus)return;let e=this.answerContainer.querySelector(`#searchstax-conversation-input`);if(e&&(this.conversationInputDraftValue&&!e.value&&(e.value=this.conversationInputDraftValue),this.shouldRestoreConversationInputFocus)){e.focus();let t=e.value.length;e.setSelectionRange(t,t),this.shouldRestoreConversationInputFocus=!1}}trackLinkClick(e){e.preventDefault(),e.stopPropagation();let t=e.target.getAttribute(`href`);tr.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){let n=this.config?.templates?.main?.template||Z.answer.main.template;this.dataLayer.renderingEngine===t.mustache?(!this.renderedWithShowMore||!e.answerLoading||this.clicked||this.waitingForConversationAnswer)&&(this.captureConversationInputStateBeforeRender(),e.showMoreButtonVisible&&(this.renderedWithShowMore=!0),this.answerContainer.innerHTML=Y.render(n,e),setTimeout(()=>{this.restoreConversationInputStateAfterRender(),this.attachLinkTracking(),this.initializeWidget(),this.shouldAutoScrollConversation&&(this.scrollConversationToBottom(),this.waitingForConversationAnswer||(this.shouldAutoScrollConversation=!1))},100)):setTimeout(()=>{this.attachLinkTracking(),this.initializeWidget()},500)}generateTemplateData(){this.config.testString&&this.dataLayer.setAnswerData(this.config.testString??``);let e=this.waitingForConversationAnswer?[...this.conversationMessages,{formattedMessage:this.formatConversationAnswerPreview(this.pendingConversationAnswer)}]:this.conversationMessages,t={...this.dataLayer.parsedData.data,showMoreButtonVisible:this.showMoreVisible,answerLoading:!this.waitingForConversationAnswer&&this.dataLayer.parsedData.data.answerLoading,isConversation:this.waitingForConversationAnswer||this.conversationMessages.length>0||!!this.dataLayer.conversationId||this.dataLayer.getAnswerData!==``,showConversationInput:!this.hideFollowUpInputUntilNewMainSearch,conversationMessages:e};return this.config.testString&&(t.searchExecuted=!0),this.dataLayer.setAnswerFullData(t),t}},qr=class{dataLayer;config;containerId;currentSelectValue=``;locationInput;radiusInput;locationDecode;locationDecodeCoordinatesToAddress;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.locationDecode=e.config.hooks?.locationDecode,this.locationDecodeCoordinatesToAddress=e.config.hooks?.locationDecodeCoordinatesToAddress,this.dataLayer.locationEnabled&&this.dataLayer.$inputTemplateRendered.subscribeUntil(()=>{this.renderMainTemplate(),this.attachSubscriptions()},!0,500)}renderMainTemplate(){if(typeof document<`u`){let e=document?.getElementById(this.containerId);if(!e)throw Error(`Search input container not found`);let n=this.config.templates?.mainTemplate?.template||Z.location.mainTemplate.template,r={...this.dataLayer.parsedData.data};if(this.dataLayer.setLocationWidgetTemplateData(r),this.dataLayer.renderingEngine===t.mustache){e.innerHTML=Y.render(n,r);let t=this.config.templates?.mainTemplate?.locationInputId||Z.location.mainTemplate.locationInputId,i=document?.querySelector(`#${t}`);if(i)this.locationInput=i,i.addEventListener(`blur`,this.blurEvent.bind(this)),i.addEventListener(`focus`,this.focusEvent.bind(this));else throw Error(`Input not found`);let a=this.config.templates?.mainTemplate?.radiusInputId||Z.location.mainTemplate.radiusInputId,o=document?.querySelector(`#${a}`);o instanceof HTMLSelectElement&&(this.radiusInput=o,o.addEventListener(`change`,this.radiusSelectChangeEvent.bind(this)));let s=this.config.templates?.mainTemplate?.currentLocationActionButtonId||Z.location.mainTemplate.currentLocationActionButtonId,c=document?.querySelector(`#${s}`);c&&c.addEventListener(`click`,this.getCurrentLocation.bind(this))}}}setCurrentLocationFields(e){this.dataLayer.setLocationCoordinatesDecoded(e),this.dataLayer.setSearchLocation(this.dataLayer.searchLocationCoordinatesDecoded),this.dataLayer.renderingEngine===t.mustache&&this.locationInput&&(this.locationInput.value=this.dataLayer.searchLocationCoordinatesDecoded)}getCurrentLocation(){navigator.geolocation?navigator.geolocation.getCurrentPosition(e=>{let t=e.coords.latitude.toString(),n=e.coords.longitude.toString(),r=Math.floor(parseFloat(t)*100)/100,i=Math.floor(parseFloat(n)*100)/100;this.dataLayer.setSearchLat(r+``),this.dataLayer.setSearchLong(i+``);let a=this.locationDecodeCoordinatesToAddress;a?a(r+``,i+``).then(e=>{this.setCurrentLocationFields(e.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 H.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,``)).trim()}triggerGeocoder(e){let n=this.locationDecode;this.dataLayer.setLocationDecodingLoading(!0),e&&this.dataLayer.searchLocation!==e&&e!==this.dataLayer.searchLocationCoordinatesDecoded?n(e).then(e=>{this.dataLayer.setSearchLocation(e.address||``),this.dataLayer.setSearchLat(e.lat||``),this.dataLayer.setSearchLong(e.lon||``),this.locationInput&&(this.locationInput.value=this.cleanSuggestionTerm(e.address||``)),this.dataLayer.renderingEngine===t.mustache&&e.error&&this.locationInput&&this.locationInput.classList.add(`searchstax-input-location-error`),e.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){let t=e.target.value;this.triggerGeocoder(t)}},Jr=class{routerEnabled=!1;cachedQuery=``;routerHelper;searchHelper;searchResultsConfig;searchPaginationConfig;searchFeedbackConfig;searchSortingConfig;searchFacetsConfig;relatedSearchesConfig;externalPromotionsConfig;searchInputWidget;searchLocationWidget;searchResultsWidget;searchFacetsWidget=[];searchPaginationWidget;searchFeedbackWidget;searchSortingWidget;relatedSearchesWidget;externalPromotionsWidget;answerWidget;locationObserver=null;dataLayer;firstRequest=!0;previousQuery=``;eventSource=null;renderEngine=t.mustache;constructor(e=t.mustache){e&&(this.renderEngine=e)}setRenderingEngine(e=t.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){this.dataLayer.searchstaxConfig?.hooks?.afterSearch&&this.dataLayer.$searchResults.subscribe(e=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(e,this.dataLayer.searchResultUnparsedData)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!==this.previousQuery&&this.dataLayer.setAnswerData(``),e.query!==``&&e.query!==void 0&&e.query!==`undefined`?(this.search(e),e.query!==this.previousQuery&&this.startSSE(e.query)):this.dataLayer.searchLocationConfig?.locationSearchEnabled&&!this.dataLayer.searchLocationConfig?.locationValuesOverride?this.getMetadata(e):this.dataLayer.searchLocationConfig?.locationValuesOverride?.locationFilterDefaultValue&&this.dataLayer.setSearchRadius(this.dataLayer.searchLocationConfig?.locationValuesOverride?.locationFilterDefaultValue),this.previousQuery=e.query}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&tr.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}startSSE(e){this.eventSource&&(this.eventSource?.close(),this.dataLayer.setAnswerData(``)),this.dataLayer.turnAIAnswerGenerationOn===!0&&this.dataLayer.questionURL&&this.dataLayer.searchObject.query!==void 0&&this.dataLayer.searchObject.query!==`undefined`&&(this.eventSource=this.searchHelper?.startSSE(e,this.parseAnswerResultsResponse.bind(this)))}attachAnalyticsScript(e){tr.attachAnalyticsScript(e)}initialize(e){if(this.dataLayer=new fn(`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 nr({...e,sessionId:this.dataLayer.sessionId},this.dataLayer),this.dataLayer.searchHelper=this.searchHelper),e.router?.enabled===void 0||e.router?.enabled===!0){this.routerEnabled=!0,this.routerHelper=new mn(e.router?e.router:{enabled:!0});let t=this.routerHelper.urlToSearchObject(window?.location.href??``);this.dataLayer.searchObject.itemsPerPage?t.itemsPerPage=this.dataLayer.searchObject.itemsPerPage:t.itemsPerPage&&this.dataLayer.setItemsPerPage(t.itemsPerPage),t.model&&this.dataLayer.setModel(t.model),t.location&&(t.location.address&&this.dataLayer.setSearchLocation(t.location.address),t.location.lat&&this.dataLayer.setSearchLat(t.location.lat),t.location.lon&&this.dataLayer.setSearchLong(t.location.lon),t.location.radius&&this.dataLayer.setSearchRadius(t.location.radius)),this.dataLayer.setSearchObject(t),addEventListener(`popstate`,()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window?.location.href??``,this.dataLayer.searchObject.itemsPerPage))})}else this.routerHelper=new mn({})}getMetadata(e){this.searchHelper&&(e.query===`undefined`||e.query===void 0)&&this.dataLayer.setSearchObject({...e,query:`*`})}search(e){if(this.searchHelper){this.dataLayer.conversationId=void 0;let t=this.dataLayer.forceNotCorrect;this.searchHelper.url&&this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.relatedSearchesConfig?.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){let t=(e.response?.docs??[]).map((e,t)=>({...e,position:t+1})),n=[];for(let e of t)n.push({relatedSearch:e.related_search,position:e.position});this.dataLayer.setSearchRelatedSearches(t),this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&n.length&&tr.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:n,totalRelatredSearches:this.dataLayer.searchRelatedSearches?.length??0})}handleRouter(){if(this.routerEnabled){let e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponseMetadata(e){let t=pn.extractSearchResultsMetadata(e),n=this.dataLayer.searchLocationConfig?.locationValuesOverride?.locationFilterDefaultValue??t.location?.filter?.defaultValue;!this.dataLayer.searchRadius&&n&&this.dataLayer.setSearchRadius(n),this.dataLayer.setSearchResultsMetadata(t)}parseSearchResultsResponse(e){if(this.handleRouter(),!e)return;this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows)),this.dataLayer.setModel(e.responseHeader.params.model);let t=pn.combineResultsWithMetadata(e),n=pn.extractFacets(e);if(this.dataLayer.setSearchFacets(n),this.dataLayer.searchstaxConfig?.hooks?.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t,e)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]),this.parseSearchResultsResponseMetadata(e),this.dataLayer.setSearchResultUnparsedData(e),this.dataLayer.setSearchResults(t),this.firstRequest){let e=[];if(this.searchFacetsWidget.forEach(t=>{t.config.facetingType&&e.push(t.config.facetingType)}),!this.dataLayer.searchObject.facets.some(e=>e.type===`or`)){let t=e.indexOf(`or`);t!==-1&&e.splice(t,1)}this.dataLayer.searchObject.facets.length>0&&this.searchHelper?.cacheFacets(void 0,e)}this.firstRequest=!1}parseAnswerResultsResponse(e){this.handleRouter(),e!==gn.question&&e!==gn.notQuestion&&(this.dataLayer.setAnswerLoading(!0),this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e))}cacheFacets(e){this.searchHelper?.cacheFacets(e).then(()=>{})}parseSuggestSuggestResponse(e){let t=e;this.dataLayer.searchInputConfig?.hooks?.afterAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(t)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||this.dataLayer.$locationEnabled.subscribeUntilHasValue(()=>{this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Hr({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer})},200)}addSearchLocationWidget(e,t){this.dataLayer.searchLocationConfig||(t.locationSearchEnabled?(this.dataLayer.setLocationEnabled(!0),this.dataLayer.setSearchLocationConfig(t),t.locationValuesOverride?(this.searchLocationWidget=new qr({containerId:e,config:t,dataLayer:this.dataLayer}),t?.locationValuesOverride?.locationFilterDefaultValue&&this.dataLayer.setSearchRadius(t?.locationValuesOverride?.locationFilterDefaultValue)):this.dataLayer.$searchResultsMetadata.subscribeUntilHasValue(()=>{this.searchLocationWidget=new qr({containerId:e,config:t,dataLayer:this.dataLayer})},0)):this.dataLayer.setLocationEnabled(!1))}addAnswerWidget(e,t){this.dataLayer.turnAIAnswerGenerationOn=!0,t.testString||this.startSSE(this.dataLayer.searchObject.query),this.dataLayer.setAnswerData(t.testString??``),this.answerWidget=new Kr({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Ur({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 zr({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Vr({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 Br({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 Lr({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget.push(new Rr({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this)))}executeSearch(e,t){let n={...this.dataLayer.searchObject};n.query=H.removeXSSRiskyTags(e),n.page=1,n.facets=[],n.location={...n.location},this.locationObserver&&this.dataLayer.$locationDecodingLoading.unsubscribe(this.locationObserver),this.locationObserver=this.dataLayer.$locationDecodingLoading.subscribeUntil(()=>{n.location.address=this.dataLayer.searchLocation,n.location.radius=this.dataLayer.searchRadius,n.location.lat=this.dataLayer.searchLat,n.location.lon=this.dataLayer.searchLong,this.dataLayer.forceNotCorrect=!!t;let e=this.routerHelper?.searchObjectToParams(n);e&&=this.routerHelper?.extractParamsThatDoNotStartWithRouteName(e),e&&(n.additionalProps=Object.keys(e).map(t=>e?{key:t,value:e[t]}:{key:``,value:``})),this.dataLayer.setSearchObject(n),this.dataLayer.lastSearchValue=n.query},!1)}executeSuggest(e){let t={term:e,queryParams:[]};this.dataLayer.searchInputConfig?.hooks?.beforeAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(t)),t&&t.term!==void 0&&t.queryParams!==void 0&&this.suggest(t.term,t.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&tr.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e,totalRelatredSearches:this.dataLayer.searchRelatedSearches?.length??0})}executeLinkClick(e){let t=pn.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&(this.searchResultsConfig?.hooks?.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&tr.trackClick({result:t,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<`u`&&(window.location.href=t?.url??``)}).catch(()=>{typeof window<`u`&&(window.location.href=t?.url??``)}))}setPage(e){this.searchPaginationWidget?.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){this.searchResultsConfig&&(this.searchResultsConfig.templates=this.searchResultsConfig?.templates?{...this.searchResultsConfig?.templates,...e}:e,this.searchResultsWidget?.changeTemplate())}},$=(0,e.reactive)({searchstax:new Jr(`vue`)}),Yr={key:0},Xr=(0,e.defineComponent)({__name:`SearchstaxWrapper`,props:{language:{default:`en`},model:{},sessionId:{},searchURL:{},analyticsBaseUrl:{},analyticsSrc:{},suggesterURL:{},questionURL:{},trackApiKey:{},searchAuth:{},authType:{default:`basic`},autoCorrect:{type:Boolean,default:!0},router:{},beforeSearch:{},afterSearch:{},initialized:{}},emits:[`initialized`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.ref)(!1);return(0,e.onMounted)(()=>{let e={};r.beforeSearch&&(e.beforeSearch=r.beforeSearch),r.afterSearch&&(e.afterSearch=r.afterSearch),$.searchstax.initialize({language:r.language,model:r.model,searchURL:r.searchURL,suggesterURL:r.suggesterURL,trackApiKey:r.trackApiKey,searchAuth:r.searchAuth,authType:r.authType,autoCorrect:r.autoCorrect,router:r.router,hooks:e,analyticsBaseUrl:r.analyticsBaseUrl,analyticsSrc:r.analyticsSrc,sessionId:r.sessionId,questionURL:r.questionURL}),setTimeout(()=>{a.value=!0},10),i(`initialized`,$.searchstax)}),(t,n)=>a.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Yr,[(0,e.renderSlot)(t.$slots,`default`)])):(0,e.createCommentVNode)(``,!0)}}),Zr={class:`searchstax-location-input-container`,"data-test-id":`searchstax-location-input-container`},Qr={class:`searchstax-location-input-wrapper`},$r={class:`searchstax-location-input-wrapper-inner`},ei=[`value`],ti={key:0,class:`searchstax-location-input-label`},ni=[`value`],ri=[`value`],ii=(0,e.defineComponent)({__name:`SearchstaxLocationWidgetTemplate`,props:{locationData:{type:Object,required:!0},inputValue:{type:String,required:!0},selectValue:{type:String,required:!0},locationError:{type:Boolean,required:!0},inputChange:{type:Function,required:!0},radiusChange:{type:Function,required:!0},locationBlur:{type:Function,required:!0},getCurrentLocation:{type:Function,required:!0}},setup(t){return(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Zr,[(0,e.createElementVNode)(`div`,Qr,[r[4]||=(0,e.createElementVNode)(`span`,{class:`searchstax-location-input-label`},`NEAR`,-1),(0,e.createElementVNode)(`div`,$r,[(0,e.createElementVNode)(`input`,{type:`text`,id:`searchstax-location-input`,class:(0,e.normalizeClass)([`searchstax-location-input`,{"searchstax-input-location-error":t.locationError}]),placeholder:`Zip, Postal Code or City...`,"aria-label":`Search Location Input`,"data-test-id":`searchstax-location-input`,onChange:r[0]||=(...e)=>t.inputChange&&t.inputChange(...e),value:t.inputValue,onBlur:r[1]||=(...e)=>t.locationBlur&&t.locationBlur(...e)},null,42,ei),(0,e.createElementVNode)(`button`,{onClick:r[2]||=(...e)=>t.getCurrentLocation&&t.getCurrentLocation(...e),class:`searchstax-get-current-location-button`},` Use my current location `)]),t.locationData.shouldShowLocationDistanceDropdown?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,ti,`WITHIN`)):(0,e.createCommentVNode)(``,!0),t.locationData.shouldShowLocationDistanceDropdown?((0,e.openBlock)(),(0,e.createElementBlock)(`select`,{key:1,id:`searchstax-location-radius-select`,class:`searchstax-location-radius-select`,"aria-label":`Search Location Radius Select`,"data-test-id":`searchstax-location-radius-select`,onChange:r[3]||=(...e)=>t.radiusChange&&t.radiusChange(...e),value:t.selectValue},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.locationData.locationSearchDistanceValues,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`option`,{value:t.value,key:t.value},(0,e.toDisplayString)(t.label),9,ri))),128))],40,ni)):(0,e.createCommentVNode)(``,!0)])]))}}),ai=[`id`],oi=(0,e.defineComponent)({__name:`SearchstaxLocationWidget`,props:{locationDecode:{type:Function},locationDecodeCoordinatesToAddress:{type:Function},locationSearchEnabled:{type:Boolean},locationValuesOverride:{}},setup(t){let n=t,r=(0,e.useSlots)(),i=(0,e.ref)(null),a=Math.random(),o=(0,e.ref)(``),s=(0,e.ref)(``),c=(0,e.ref)(!1),l=(0,e.ref)(!1),u=()=>{$.searchstax.searchLocationWidget?.triggerGeocoder(o.value)},d=e=>{let t=e.target;s.value=t.value,$.searchstax.searchLocationWidget?.setRadiusValue(s.value)},f=e=>{let t=e.target;o.value=t.value},p=()=>{$.searchstax.searchLocationWidget?.getCurrentLocation()},m=()=>{$.searchstax.dataLayer.$locationWidgetTemplateData.subscribe(e=>{i.value=e}),$.searchstax.dataLayer.$searchObject.subscribe(e=>{o.value=e.location.address??``,s.value=e.location.radius||``}),$.searchstax.dataLayer.$locationError.subscribe(e=>{l.value=e}),$.searchstax.dataLayer.$searchLocationChange.subscribe(e=>{o.value=e}),$.searchstax.dataLayer.$searchRadiusChange.subscribe(e=>{s.value=String(e)})},h=()=>{!c.value&&$.searchstax.routerHelper&&(c.value=!0,$.searchstax.addSearchLocationWidget(`searchstax-location-container`+a,{hooks:{locationDecode:n.locationDecode,locationDecodeCoordinatesToAddress:n.locationDecodeCoordinatesToAddress},locationSearchEnabled:n.locationSearchEnabled,locationValuesOverride:n.locationValuesOverride}))},g=(0,e.computed)(()=>!!r.location);return(0,e.onMounted)(()=>{if($.searchstax)m(),h();else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{id:`searchstax-location-container`+(0,e.unref)(a),class:`searchstax-location-container`},[i.value&&!g.value?((0,e.openBlock)(),(0,e.createBlock)(ii,{key:0,locationData:i.value,inputValue:o.value,selectValue:s.value,locationError:l.value,inputChange:f,radiusChange:d,locationBlur:u,getCurrentLocation:p},null,8,[`locationData`,`inputValue`,`selectValue`,`locationError`])):(0,e.createCommentVNode)(``,!0),i.value&&g.value?(0,e.renderSlot)(t.$slots,`location`,{locationData:i.value,locationError:l.value,radiusChange:d,locationBlur:u,selectValue:s.value,getCurrentLocation:p,inputValue:o.value,inputChange:f},void 0,void 0,1):(0,e.createCommentVNode)(``,!0)],8,ai))}}),si={class:`searchstax-search-input-wrapper`},ci={key:1,id:`searchstax-separator-icon`,class:`searchstax-separator`},li=[`innerHTML`,`onMouseover`],ui=(0,e.defineComponent)({__name:`SearchstaxInputWidgetTemplate`,props:{suggestions:{type:Array,required:!0},onMouseLeave:{type:Function,required:!0},onMouseOver:{type:Function,required:!0},onMouseClick:{type:Function,required:!0},onClearClick:{type:Function,required:!1},hasInputValue:{type:Boolean,required:!1}},setup(t){return(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.createElementVNode)(`div`,si,[r[4]||=(0,e.createElementVNode)(`input`,{type:`text`,id:`searchstax-search-input`,class:`searchstax-search-input`,placeholder:`SEARCH FOR...`,"aria-label":`search`},null,-1),t.hasInputValue?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,onClick:r[0]||=(...e)=>t.onClearClick&&t.onClearClick(...e),onKeyup:r[1]||=(0,e.withKeys)((...e)=>t.onClearClick&&t.onClearClick(...e),[`enter`]),id:`searchstax-clear-input-action-button`,class:`searchstax-cross-icon`,"aria-label":`clear input`,role:`button`},null,32)):(0,e.createCommentVNode)(``,!0),t.hasInputValue?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,ci)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`searchstax-autosuggest-container`,{hidden:t.suggestions.length===0}]),onMouseleave:r[3]||=(...e)=>t.onMouseLeave&&t.onMouseLeave(...e)},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.suggestions,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`searchstax-autosuggest-item`,key:n.term},[(0,e.createElementVNode)(`div`,{class:`searchstax-autosuggest-item-term-container`,innerHTML:n.term,tabindex:`0`,onMouseover:e=>t.onMouseOver(n),onClick:r[2]||=(0,e.withModifiers)(e=>t.onMouseClick(),[`stop`])},null,40,li)]))),128))],34)]),(0,e.createVNode)(oi),r[5]||=(0,e.createElementVNode)(`button`,{class:`searchstax-spinner-icon`,id:`searchstax-search-input-action-button`,"aria-label":`search`,role:`button`},null,-1)],64))}}),di={id:`searchstax-input-container`},fi=(0,e.defineComponent)({__name:`SearchstaxInputWidget`,props:{afterAutosuggest:{type:Function},beforeAutosuggest:{type:Function},searchInputId:{},suggestAfterMinChars:{},locationDecode:{type:Function},locationDecodeCoordinatesToAddress:{type:Function}},setup(t){let n=t,r=(0,e.useSlots)(),i=(0,e.ref)([]),a=(0,e.ref)(null),o=()=>{$.searchstax.searchInputWidget.resetAutosuggestSelection(),$.searchstax.searchInputWidget.markActiveAutosuggestItem()},s=e=>{$.searchstax.searchInputWidget.onSuggestionEnter(e)},c=()=>{$.searchstax.searchInputWidget.suggestionChosen()},l=()=>{$.searchstax.searchInputWidget.clearInput()},u=()=>{$.searchstax.dataLayer.$autosuggestResults.subscribe(e=>{i.value=e?.suggestions??[]}),$.searchstax.dataLayer.$inputWidgetTemplateData.subscribe(e=>{a.value=e})},d=(0,e.computed)(()=>!!r.input);return(0,e.onMounted)(()=>{if($.searchstax){u();let e={};n.afterAutosuggest&&(e.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(e.beforeAutosuggest=n.beforeAutosuggest),$.searchstax.addSearchInputWidget(`searchstax-input-container`,{suggestAfterMinChars:n.suggestAfterMinChars,hooks:e,templates:{mainTemplate:{template:``,searchInputId:n.searchInputId??`searchstax-search-input`}}})}else throw Error(`Searchstax instance needs to be passed via props`);$.searchstax.dataLayer.setInputTemplateRendered(!0)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,di,[(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`searchstax-search-input-container searchstax-search-input-container-new`,{"searchstax-alternative-render":a.value?.locationEnabled}])},[d.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createBlock)(ui,{key:0,suggestions:i.value,onMouseClick:c,onMouseOver:s,onMouseLeave:o,onClearClick:l,hasInputValue:a.value?.hasInputValue??!1},null,8,[`suggestions`,`hasInputValue`])),(0,e.renderSlot)(t.$slots,`input`,{suggestions:i.value,onMouseClick:c,onMouseOver:s,onMouseLeave:o,onClearClick:l,hasInputValue:a.value?.hasInputValue??!1})],2)]))}}),pi={key:0,class:`searchstax-search-results`},mi=[`href`,`data-searchstax-unique-result-id`,`onClick`,`onKeyup`],hi={key:0,class:`searchstax-search-result-promoted`},gi=[`innerHTML`],_i=[`src`],vi={class:`searchstax-search-result-title-container`},yi=[`id`,`innerHTML`],bi=[`innerHTML`],xi=[`innerHTML`],Si={key:0,class:`searchstax-search-result-image-container`},Ci=[`src`],wi={key:1},Ti=[`innerHTML`],Ei=(0,e.defineComponent)({__name:`SearchstaxResultWidgetDefaultTemplate`,props:{searchResults:{type:Object,required:!0},resultClicked:{type:Function,required:!0}},setup(t){return(n,r)=>t.searchResults&&t.searchResults.length?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,pi,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.searchResults,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:n.uniqueId,href:n.url,"data-searchstax-unique-result-id":n.uniqueId,onClick:e=>t.resultClicked(n,e),onKeyup:[(0,e.withKeys)(e=>t.resultClicked(n,e),[`enter`]),(0,e.withKeys)(e=>t.resultClicked(n,e),[`space`])],"aria-labelledby":`title-{{searchResult.uniqueId}}`,class:`searchstax-result-item-link searchstax-result-item-link-wrapping`,tabindex:`0`},[(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`searchstax-search-result`,{"has-thumbnail":n.thumbnail,promoted:n.promoted}])},[n.promoted?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,hi)):(0,e.createCommentVNode)(``,!0),n.ribbon?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:1,innerHTML:n.ribbon,class:`searchstax-search-result-ribbon`},null,8,gi)):(0,e.createCommentVNode)(``,!0),n.thumbnail?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:2,alt:``,src:n.thumbnail,class:`searchstax-thumbnail`},null,8,_i)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,vi,[(0,e.createElementVNode)(`span`,{class:`searchstax-search-result-title`,id:`title-`+n.uniqueId,innerHTML:n.title},null,8,yi)]),n.paths?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,{key:3,innerHTML:n.paths,tabindex:`0`,class:`searchstax-search-result-common`},null,8,bi)):(0,e.createCommentVNode)(``,!0),n.description?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,{key:4,tabindex:`0`,innerHTML:n.description,class:`searchstax-search-result-description searchstax-search-result-common`},null,8,xi)):(0,e.createCommentVNode)(``,!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(n.unmappedFields,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:t.key},[t.isImage&&typeof t.value==`string`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Si,[(0,e.createElementVNode)(`img`,{alt:``,src:t.value,class:`searchstax-result-image`},null,8,Ci)])):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,wi,[(0,e.createElementVNode)(`p`,{tabindex:`0`,class:`searchstax-search-result-common`,innerHTML:t.value},null,8,Ti)]))]))),128))],2)],40,mi))),128))])):(0,e.createCommentVNode)(``,!0)}}),Di={key:0},Oi={class:`searchstax-no-results`},ki={key:0},Ai=(0,e.defineComponent)({__name:`SearchstaxResultWidgetNoResultsTemplate`,props:{searchResults:{type:Object,required:!0},resultClicked:{type:Function,required:!0},searchTerm:{type:String,required:!0},metadata:{type:Object,required:!1},store:{type:Object,required:!0},executeSearch:{type:Function,required:!0}},setup(t){return(n,r)=>t.searchResults&&t.searchResults.length===0&&t.searchTerm!==``&&t.searchTerm!==`*`&&t.store.searchstax.dataLayer.parsedData.firstSearchHappened?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Di,[(0,e.createElementVNode)(`div`,Oi,[r[3]||=(0,e.createTextVNode)(` Showing `,-1),r[4]||=(0,e.createElementVNode)(`strong`,null,`no results`,-1),r[5]||=(0,e.createTextVNode)(` for `,-1),(0,e.createElementVNode)(`strong`,null,`"`+(0,e.toDisplayString)(t.searchTerm)+`"`,1),r[6]||=(0,e.createElementVNode)(`br`,null,null,-1),t.metadata?.spellingSuggestion?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,ki,[r[1]||=(0,e.createTextVNode)(`Did you mean `,-1),(0,e.createElementVNode)(`a`,{href:`#`,class:`searchstax-suggestion-term`,onClick:r[0]||=e=>t.executeSearch(t.metadata?.spellingSuggestion,e)},(0,e.toDisplayString)(t.metadata?.spellingSuggestion),1),r[2]||=(0,e.createTextVNode)(`?`,-1)])):(0,e.createCommentVNode)(``,!0)]),r[7]||=(0,e.createElementVNode)(`ul`,null,[(0,e.createElementVNode)(`li`,null,` Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need. `)],-1)])):(0,e.createCommentVNode)(``,!0)}}),ji={id:`searchstax-results-container`},Mi={"aria-label":`search results container`,tabindex:`0`},Ni={class:`searchstax-search-results-container`,id:`searchstax-search-results-container`},Pi={id:`searchstax-result-container`},Fi={key:3},Ii=(0,e.defineComponent)({__name:`SearchstaxResultWidget`,props:{afterLinkClick:{type:Function},renderMethod:{},resultsPerPage:{}},setup(t){let n=t,r=(0,e.useSlots)(),i=(0,e.ref)(null),a=(0,e.ref)(null),o=(0,e.ref)(``),s=(0,e.computed)(()=>!!r.noResult),c=(0,e.computed)(()=>!!r.results),l=(0,e.computed)(()=>{let e={};return n.afterLinkClick&&(e.afterLinkClick=n.afterLinkClick),e}),u=(e,t)=>{t.preventDefault(),t.stopPropagation(),$.searchstax.executeLinkClick(e.uniqueId)},d=(e,t)=>{t.preventDefault(),$.searchstax.executeSearch(e)},f=()=>{$.searchstax.dataLayer.$searchResults.subscribe(e=>{let t=i.value??[],r=e??[],a=n.renderMethod===`infiniteScroll`?[...t,...r]:e;$.searchstax.dataLayer.$searchObject.value?.page===1?i.value=e:i.value=a}),$.searchstax.dataLayer.$searchTermChange.subscribe(e=>{o.value=e}),$.searchstax.dataLayer.$searchResultsMetadata.subscribe(e=>{a.value=e})};return(0,e.onMounted)(()=>{if($.searchstax)f(),$.searchstax.addSearchResultsWidget(`searchstax-results-container`,{templates:{},renderMethod:n.renderMethod??`pagination`,resultsPerPage:n.resultsPerPage,hooks:l.value});else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ji,[(0,e.createElementVNode)(`section`,Mi,[(0,e.createElementVNode)(`div`,Ni,[(0,e.createElementVNode)(`div`,Pi,[i.value&&i.value.length===0&&o.value!==``&&o.value!==`*`&&(0,e.unref)($).searchstax.dataLayer.parsedData.firstSearchHappened&&!s.value?((0,e.openBlock)(),(0,e.createBlock)(Ai,{key:0,searchTerm:o.value,metadata:a.value,executeSearch:d,store:(0,e.unref)($),searchResults:i.value,resultClicked:u},null,8,[`searchTerm`,`metadata`,`store`,`searchResults`])):(0,e.createCommentVNode)(``,!0),i.value&&i.value.length===0&&o.value!==``&&o.value!==`*`&&(0,e.unref)($).searchstax.dataLayer.parsedData.firstSearchHappened&&s.value?(0,e.renderSlot)(t.$slots,`noResult`,{searchTerm:o.value,metadata:a.value,executeSearch:d,store:(0,e.unref)($),searchResults:i.value,resultClicked:u},void 0,void 0,1):(0,e.createCommentVNode)(``,!0),i.value&&i.value.length&&!c.value?((0,e.openBlock)(),(0,e.createBlock)(Ei,{key:2,searchResults:i.value,resultClicked:u},null,8,[`searchResults`])):(0,e.createCommentVNode)(``,!0),i.value&&i.value.length&&c.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Fi,[(0,e.renderSlot)(t.$slots,`results`,{searchResults:i.value,resultClicked:u})])):(0,e.createCommentVNode)(``,!0)])])])]))}}),Li={key:0,class:`searchstax-facets-container-desktop`},Ri=[`onClick`],zi={class:`searchstax-facet-title`},Bi={class:`searchstax-facet-values-container`,"aria-live":`polite`},Vi={class:`searchstax-facet-input`},Hi=[`checked`,`disabled`,`aria-label`,`onClick`],Ui=[`onClick`],Wi=[`onClick`],Gi={key:0,class:`searchstax-facet-show-more-container`},Ki=[`onClick`,`onKeyup`],qi={key:0,class:`searchstax-facet-show-less-button searchstax-facet-show-button`},Ji={key:1,class:`searchstax-facet-show-more-button searchstax-facet-show-button`},Yi=(0,e.defineComponent)({__name:`SearchstaxFacetsWidgetDesktopTemplate`,props:{facetsTemplateDataDesktop:{type:Object,required:!0},isNotDeactivated:{type:Function,required:!0},toggleFacetGroup:{type:Function,required:!0},isChecked:{type:Function,required:!0},selectFacet:{type:Function,required:!0},showMoreLessDesktop:{type:Function,required:!0},facetContainers:{type:Object,required:!0}},emits:[`updateRefDesktop`],setup(t,{emit:n}){let r=t,i=n,a=(e,t)=>(i(`updateRefDesktop`,e,t),r.facetContainers);return(n,r)=>t.facetsTemplateDataDesktop?.hasResultsOrExternalPromotions?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Li,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.facetsTemplateDataDesktop.facets,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:n.name+`desktop`,class:(0,e.normalizeClass)([`searchstax-facet-container`,{active:t.isNotDeactivated(n.name)}])},[(0,e.createElementVNode)(`div`,null,[(0,e.createElementVNode)(`div`,{class:`searchstax-facet-title-container`,onClick:e=>t.toggleFacetGroup(n.name)},[(0,e.createElementVNode)(`div`,zi,(0,e.toDisplayString)(n.label),1),r[0]||=(0,e.createElementVNode)(`div`,{class:`searchstax-facet-title-arrow active`},null,-1)],8,Ri),(0,e.createElementVNode)(`div`,Bi,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(n.values,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:n.value+n.parentName,class:(0,e.normalizeClass)([`searchstax-facet-value-container`,{"searchstax-facet-value-disabled":n.disabled}]),ref_for:!0,ref:e=>a(e,n)},[(0,e.createElementVNode)(`div`,Vi,[(0,e.createElementVNode)(`input`,{type:`checkbox`,class:`searchstax-facet-input-checkbox`,checked:t.isChecked(n),disabled:n.disabled,"aria-label":n.value+` `+n.count,onClick:e=>t.selectFacet(n.value+`-desktop`,e,n,!0)},null,8,Hi)]),(0,e.createElementVNode)(`div`,{class:`searchstax-facet-value-label`,onClick:e=>t.selectFacet(n.value+`-desktop`,e,n,!1)},(0,e.toDisplayString)(n.value),9,Ui),(0,e.createElementVNode)(`div`,{class:`searchstax-facet-value-count`,onClick:e=>t.selectFacet(n.value+`-desktop`,e,n,!1)},` (`+(0,e.toDisplayString)(n.count)+`) `,9,Wi)],2))),128)),n.hasMoreFacets?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Gi,[(0,e.createElementVNode)(`div`,{class:`searchstax-facet-show-more-container`,onClick:e=>t.showMoreLessDesktop(e,n),onKeyup:[(0,e.withKeys)(e=>{e.preventDefault(),t.showMoreLessDesktop(e,n)},[`space`]),(0,e.withKeys)(e=>t.showMoreLessDesktop(e,n),[`enter`])],tabindex:`0`,role:`button`},[n.showingAllFacets?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,qi,` less `)):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ji,` more `))],40,Ki)])):(0,e.createCommentVNode)(``,!0)])])],2))),128))])):(0,e.createCommentVNode)(``,!0)}}),Xi={key:0,class:`searchstax-facets-container-mobile`},Zi={class:`searchstax-facets-pills-container`},Qi={class:`searchstax-facets-pills-selected`},$i=[`onClick`],ea={class:`searchstax-facets-pill-label`},ta={class:`searchstax-facets-mobile-overlay-header`},na={class:`searchstax-facets-container-mobile`},ra=[`onClick`],ia={class:`searchstax-facet-title`},aa={class:`searchstax-facet-values-container`,"aria-live":`polite`},oa={class:`searchstax-facet-input`},sa=[`checked`,`disabled`,`aria-label`,`onClick`],ca=[`onClick`],la=[`onClick`],ua={key:0,class:`searchstax-facet-show-more-container`},da=[`onClick`,`onKeyup`],fa={key:0,class:`searchstax-facet-show-less-button searchstax-facet-show-button`},pa={key:1,class:`searchstax-facet-show-more-button searchstax-facet-show-button`},ma=(0,e.defineComponent)({__name:`SearchstaxFacetsWidgetMobileTemplate`,props:{facetsTemplateDataMobile:{type:Object,required:!0},isNotDeactivated:{type:Function,required:!0},toggleFacetGroup:{type:Function,required:!0},isChecked:{type:Function,required:!0},selectFacet:{type:Function,required:!0},showMoreLessDesktop:{type:Function,required:!0},showMoreLessMobile:{type:Function,required:!0},facetContainers:{type:Object,required:!0},openOverlay:{type:Function,required:!0},selectedFacetsCheckboxes:{type:Array,required:!0},unselectFacet:{type:Function,required:!0},unselectAll:{type:Function,required:!0},closeOverlay:{type:Function,required:!0}},emits:[`updateRefMobile`],setup(t,{emit:n}){let r=t,i=n,a=(e,t)=>(i(`updateRefMobile`,e,t),r.facetContainers);return(n,r)=>t.facetsTemplateDataMobile?.hasResultsOrExternalPromotions?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Xi,[(0,e.createElementVNode)(`div`,Zi,[(0,e.createElementVNode)(`div`,{class:`searchstax-facets-pill searchstax-facets-pill-filter-by`,onClick:r[0]||=(...e)=>t.openOverlay&&t.openOverlay(...e)},[...r[4]||=[(0,e.createElementVNode)(`div`,{class:`searchstax-facets-pill-label`},`Filter By`,-1)]]),(0,e.createElementVNode)(`div`,Qi,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.selectedFacetsCheckboxes,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`searchstax-facets-pill searchstax-facets-pill-facets`,key:n.value,onClick:e=>t.unselectFacet(n)},[(0,e.createElementVNode)(`div`,ea,(0,e.toDisplayString)(n.value)+` (`+(0,e.toDisplayString)(n.count)+`)`,1),r[5]||=(0,e.createElementVNode)(`div`,{class:`searchstax-facets-pill-icon-close`},null,-1)],8,$i))),128))]),t.selectedFacetsCheckboxes.length?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:`searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all`,onClick:r[1]||=(...e)=>t.unselectAll&&t.unselectAll(...e)},[...r[6]||=[(0,e.createElementVNode)(`div`,{class:`searchstax-facets-pill-label`},`Clear Filters`,-1)]])):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`searchstax-facets-mobile-overlay`,{"searchstax-show":t.facetsTemplateDataMobile?.overlayOpened}])},[(0,e.createElementVNode)(`div`,ta,[r[7]||=(0,e.createElementVNode)(`div`,{class:`searchstax-facets-mobile-overlay-header-title`},`Filter By`,-1),(0,e.createElementVNode)(`div`,{class:`searchstax-search-close`,onClick:r[2]||=(...e)=>t.closeOverlay&&t.closeOverlay(...e)})]),(0,e.createElementVNode)(`div`,na,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.facetsTemplateDataMobile?.facets,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:n.name+`mobile`,class:(0,e.normalizeClass)([`searchstax-facet-container`,{active:t.isNotDeactivated(n.name)}])},[(0,e.createElementVNode)(`div`,null,[(0,e.createElementVNode)(`div`,{class:`searchstax-facet-title-container`,onClick:e=>t.toggleFacetGroup(n.name)},[(0,e.createElementVNode)(`div`,ia,(0,e.toDisplayString)(n.label),1),r[8]||=(0,e.createElementVNode)(`div`,{class:`searchstax-facet-title-arrow active`},null,-1)],8,ra),(0,e.createElementVNode)(`div`,aa,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(n.values,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:n.value+n.parentName,class:(0,e.normalizeClass)([`searchstax-facet-value-container`,{"searchstax-facet-value-disabled":n.disabled}]),ref_for:!0,ref:e=>{a(e,n)}},[(0,e.createElementVNode)(`div`,oa,[(0,e.createElementVNode)(`input`,{type:`checkbox`,class:`searchstax-facet-input-checkbox`,checked:t.isChecked(n),disabled:n.disabled,"aria-label":n.value+` `+n.count,onClick:e=>t.selectFacet(n.value+`-mobile`,e,n,!0)},null,8,sa)]),(0,e.createElementVNode)(`div`,{class:`searchstax-facet-value-label`,onClick:e=>t.selectFacet(n.value+`-mobile`,e,n,!1)},(0,e.toDisplayString)(n.value),9,ca),(0,e.createElementVNode)(`div`,{class:`searchstax-facet-value-count`,onClick:e=>t.selectFacet(n.value+`-mobile`,e,n,!1)},` (`+(0,e.toDisplayString)(n.count)+`) `,9,la)],2))),128)),n.hasMoreFacets?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ua,[(0,e.createElementVNode)(`div`,{class:`searchstax-facet-show-more-container`,onClick:e=>t.showMoreLessMobile(e,n),onKeyup:[(0,e.withKeys)(e=>t.showMoreLessMobile(e,n),[`space`]),(0,e.withKeys)(e=>t.showMoreLessMobile(e,n),[`enter`])],tabindex:`0`},[n.showingAllFacets?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,fa,` less `)):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,pa,` more `))],40,da)])):(0,e.createCommentVNode)(``,!0)])])],2))),128))]),(0,e.createElementVNode)(`button`,{class:`searchstax-facets-mobile-overlay-done`,onClick:r[3]||=(...e)=>t.closeOverlay&&t.closeOverlay(...e)},`Done`)],2)])):(0,e.createCommentVNode)(``,!0)}}),ha=[`id`],ga={key:1},_a={key:3},va=(0,e.defineComponent)({__name:`SearchstaxFacetsWidget`,props:{facetingType:{},itemsPerPageDesktop:{},itemsPerPageMobile:{},specificFacets:{},beforeFacetsRender:{type:Function}},setup(t){let n=t,r=(0,e.useSlots)(),i=(0,e.ref)(null),a=(0,e.ref)(null),o=(0,e.ref)([]),s=(0,e.ref)([]),c=Math.random(),l=(0,e.computed)(()=>!!r.desktopFacets),u=(0,e.computed)(()=>!!r.mobileFacets),d=()=>{$.searchstax.dataLayer.$facetsTemplateData.subscribe(e=>{e?.isMobile?a.value=e:i.value=e}),$.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(e=>{s.value=(e??[]).filter(e=>e.type===`checkbox`)})},f=e=>{$.searchstax.searchFacetsWidget[0].unselectFacet(e)},p=()=>{$.searchstax.searchFacetsWidget[0].removeSelectedFacets()},m=e=>!$.searchstax.searchFacetsWidget[0].deactivatedFacets[e],h=e=>{m(e)?$.searchstax.searchFacetsWidget[0].deactivatedFacets[e]=!0:$.searchstax.searchFacetsWidget[0].deactivatedFacets[e]=!1},g=e=>$.searchstax.searchFacetsWidget[0].isChecked(e),_=(e,t,n,r)=>{let i=document.createElement(`div`);i.innerHTML=o.value[e].outerHTML,$.searchstax.searchFacetsWidget[0].onFacetSelect(t,n,o.value[e],r)},v=(e,t)=>{$.searchstax.searchFacetsWidget[0].onShowMoreLessClick(e,t,!1)},y=(e,t)=>{$.searchstax.searchFacetsWidget[0].onShowMoreLessClick(e,t,!0)},b=()=>{$.searchstax.searchFacetsWidget[0].openOverlay()},x=()=>{$.searchstax.searchFacetsWidget[0].closeOverlay()},S=e=>{o.value[e.facetValue]=e.element},ee=(e,t)=>(S({facetValue:t.value+`-desktop`,element:e}),o.value),te=(e,t)=>(S({facetValue:t.value+`-mobile`,element:e}),o.value);return(0,e.onMounted)(()=>{$.searchstax.addFacetsWidget(`searchstax-facets-container`+c,{facetingType:n.facetingType,specificFacets:n.specificFacets,itemsPerPageDesktop:n.itemsPerPageDesktop,itemsPerPageMobile:n.itemsPerPageMobile,hooks:{beforeFacetsRender:n.beforeFacetsRender}}),d()}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{id:`searchstax-facets-container`+(0,e.unref)(c)},[l.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createBlock)(Yi,{key:0,facetsTemplateDataDesktop:i.value,isNotDeactivated:m,toggleFacetGroup:h,isChecked:g,selectFacet:_,showMoreLessDesktop:v,facetContainers:o.value,onUpdateRef:S,onUpdateRefDesktop:ee},null,8,[`facetsTemplateDataDesktop`,`facetContainers`])),l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ga,[(0,e.renderSlot)(t.$slots,`desktopFacets`,{facetsTemplateDataDesktop:i.value,isNotDeactivated:m,toggleFacetGroup:h,isChecked:g,selectFacet:_,showMoreLessDesktop:v,facetContainers:o.value,onUpdateRef:S,onUpdateRefDesktop:ee})])):(0,e.createCommentVNode)(``,!0),u.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createBlock)(ma,{key:2,facetsTemplateDataMobile:a.value,isNotDeactivated:m,toggleFacetGroup:h,isChecked:g,selectFacet:_,showMoreLessDesktop:v,showMoreLessMobile:y,facetContainers:o.value,openOverlay:b,selectedFacetsCheckboxes:s.value,unselectFacet:f,unselectAll:p,closeOverlay:x,onUpdateRef:S,onUpdateRefMobile:te},null,8,[`facetsTemplateDataMobile`,`facetContainers`,`selectedFacetsCheckboxes`])),u.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,_a,[(0,e.renderSlot)(t.$slots,`mobileFacets`,{facetsTemplateDataMobile:a.value,selectedFacetsCheckboxes:s.value,isNotDeactivated:m,toggleFacetGroup:h,isChecked:g,selectFacet:_,showMoreLessDesktop:v,facetContainers:o.value,openOverlay:b,unselectFacet:f,unselectAll:p,closeOverlay:x,onUpdateRef:S,onUpdateRefMobile:te})])):(0,e.createCommentVNode)(``,!0)],8,ha))}}),ya={key:0,class:`searchstax-pagination-container`},ba={class:`searchstax-pagination-content`},xa=[`disabled`],Sa={class:`searchstax-pagination-details`},Ca=[`disabled`],wa=(0,e.defineComponent)({__name:`SearchstaxPaginationWidgetDefaultTemplate`,props:{paginationData:{type:Object,required:!0},nextPage:{type:Function,required:!0},previousPage:{type:Function,required:!0}},setup(t){return(n,r)=>t.paginationData?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ya,[(0,e.createElementVNode)(`div`,ba,[(0,e.createElementVNode)(`a`,{class:(0,e.normalizeClass)([`searchstax-pagination-previous`,t.paginationData.isFirstPage?`disabled`:``]),disabled:t.paginationData?.isFirstPage,onClick:r[0]||=(...e)=>t.previousPage&&t.previousPage(...e),onKeyup:[r[1]||=(0,e.withKeys)((...e)=>t.previousPage&&t.previousPage(...e),[`enter`]),r[2]||=(0,e.withKeys)((...e)=>t.previousPage&&t.previousPage(...e),[`space`])],tabindex:`0`,id:`searchstax-pagination-previous`},` < Previous `,42,xa),(0,e.createElementVNode)(`div`,Sa,(0,e.toDisplayString)(t.paginationData?.startResultIndex)+` - `+(0,e.toDisplayString)(t.paginationData?.endResultIndex)+` of `+(0,e.toDisplayString)(t.paginationData?.totalResults),1),(0,e.createElementVNode)(`a`,{class:(0,e.normalizeClass)([`searchstax-pagination-next`,t.paginationData.isLastPage?`disabled`:``]),disabled:t.paginationData?.isLastPage,tabindex:`0`,onClick:r[3]||=(...e)=>t.nextPage&&t.nextPage(...e),onKeyup:[r[4]||=(0,e.withKeys)((...e)=>t.nextPage&&t.nextPage(...e),[`enter`]),r[5]||=(0,e.withKeys)((...e)=>t.nextPage&&t.nextPage(...e),[`space`])],id:`searchstax-pagination-next`},`Next >`,42,Ca)])])):(0,e.createCommentVNode)(``,!0)}}),Ta={className:`searchstax-pagination-container`},Ea=(0,e.defineComponent)({__name:`SearchstaxPaginationWidgetInfiniteScrollTemplate`,props:{nextPage:{type:Function,required:!0}},setup(t){return(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ta,[(0,e.createElementVNode)(`a`,{class:`searchstax-pagination-load-more`,tabindex:`0`,onClick:r[0]||=(...e)=>t.nextPage&&t.nextPage(...e),onKeyup:[r[1]||=(0,e.withKeys)((...e)=>t.nextPage&&t.nextPage(...e),[`enter`]),r[2]||=(0,e.withKeys)((...e)=>t.nextPage&&t.nextPage(...e),[`space`])]},`Load More`,32)]))}}),Da=[`id`],Oa={key:1},ka={key:3},Aa=(0,e.defineComponent)({__name:`SearchstaxPaginationWidget`,setup(t){let n=(0,e.useSlots)(),r=(0,e.ref)(null),i=Math.random(),a=(0,e.ref)(!1),o=e=>{$.searchstax.searchPaginationWidget.nextPage(e)},s=e=>{$.searchstax.searchPaginationWidget.previousPage(e)},c=()=>{$.searchstax.dataLayer.$searchObject.subscribe(()=>{l()}),$.searchstax.dataLayer.$paginationData.subscribe(e=>{r.value=e})},l=()=>{!a.value&&$.searchstax.routerHelper&&(a.value=!0,$.searchstax.addPaginationWidget(`searchstax-pagination-container`+i,{}))},u=(0,e.computed)(()=>!!n.pagination),d=(0,e.computed)(()=>!!n.infiniteScroll);return(0,e.onMounted)(()=>{if($.searchstax)c(),l();else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{id:`searchstax-pagination-container`+(0,e.unref)(i)},[r.value&&!r.value?.isInfiniteScroll&&r.value?.totalResults!==0&&!u.value?((0,e.openBlock)(),(0,e.createBlock)(wa,{key:0,paginationData:r.value,nextPage:o,previousPage:s},null,8,[`paginationData`])):(0,e.createCommentVNode)(``,!0),u.value&&r.value?.totalResults!==0&&!r.value?.isInfiniteScroll?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Oa,[(0,e.renderSlot)(t.$slots,`pagination`,{paginationData:r.value,nextPage:o,previousPage:s})])):(0,e.createCommentVNode)(``,!0),r.value&&r.value?.isInfiniteScroll&&!r.value?.isLastPage&&r.value?.hasResults&&r.value?.totalResults!==0&&!d.value?((0,e.openBlock)(),(0,e.createBlock)(Ea,{key:2,nextPage:o})):(0,e.createCommentVNode)(``,!0),d.value&&!r.value?.isLastPage&&r.value?.hasResults&&r.value?.totalResults!==0&&r.value?.isInfiniteScroll?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ka,[(0,e.renderSlot)(t.$slots,`infiniteScroll`,{paginationData:r.value,nextPage:o})])):(0,e.createCommentVNode)(``,!0)],8,Da))}}),ja={key:0,class:`searchstax-feedback-container`},Ma={key:0},Na={class:`searchstax-feedback-container-suggested`},Pa={key:0},Fa=[`aria-label`],Ia=(0,e.defineComponent)({__name:`SearchstaxSearchFeedbackWidgetTemplate`,props:{searchFeedbackData:{type:Object,required:!0},onOriginalQueryClick:{type:Function,required:!0}},setup(t){return(n,r)=>t.searchFeedbackData&&t.searchFeedbackData?.searchExecuted&&t.searchFeedbackData?.totalResults?((0,e.openBlock)(),(0,e.createElementBlock)(`h2`,ja,[r[4]||=(0,e.createTextVNode)(` Showing `,-1),(0,e.createElementVNode)(`b`,null,(0,e.toDisplayString)(t.searchFeedbackData.startResultIndex)+` - `+(0,e.toDisplayString)(t.searchFeedbackData.endResultIndex),1),r[5]||=(0,e.createTextVNode)(` of `,-1),(0,e.createElementVNode)(`b`,null,(0,e.toDisplayString)(t.searchFeedbackData.totalResults),1),r[6]||=(0,e.createTextVNode)(` results `,-1),t.searchFeedbackData.searchTerm?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Ma,[r[1]||=(0,e.createTextVNode)(`for "`,-1),(0,e.createElementVNode)(`b`,null,(0,e.toDisplayString)(t.searchFeedbackData.searchTerm),1),r[2]||=(0,e.createTextVNode)(`" `,-1)])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Na,[t.searchFeedbackData.autoCorrectedQuery?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Pa,[r[3]||=(0,e.createTextVNode)(` Search instead for `,-1),(0,e.createElementVNode)(`a`,{href:`#`,onClick:r[0]||=(0,e.withModifiers)(e=>t.onOriginalQueryClick(e),[`prevent`]),class:`searchstax-feedback-original-query`,"aria-label":`Search instead for `+t.searchFeedbackData.originalQuery},(0,e.toDisplayString)(t.searchFeedbackData.originalQuery),9,Fa)])):(0,e.createCommentVNode)(``,!0)])])):(0,e.createCommentVNode)(``,!0)}}),La=[`id`],Ra=(0,e.defineComponent)({__name:`SearchstaxSearchFeedbackWidget`,setup(t){let n=(0,e.useSlots)(),r=(0,e.ref)(null),i=Math.random(),a=e=>{$.searchstax.searchFeedbackWidget.onOriginalQueryClick(e)},o=()=>{$.searchstax.dataLayer.$searchFeedbackData.subscribe(e=>{r.value=e})},s=(0,e.computed)(()=>!!n.searchFeedback);return(0,e.onMounted)(()=>{if($.searchstax)o(),$.searchstax.addSearchFeedbackWidget(`search-feedback-container`+i,{});else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`search-feedback-container`,id:`search-feedback-container`+(0,e.unref)(i)},[r.value&&r.value.searchExecuted&&!s.value&&r.value?.totalResults?((0,e.openBlock)(),(0,e.createBlock)(Ia,{key:0,searchFeedbackData:r.value,onOriginalQueryClick:a},null,8,[`searchFeedbackData`])):(0,e.createCommentVNode)(``,!0),(0,e.renderSlot)(t.$slots,`searchFeedback`,{searchFeedbackData:r.value,onOriginalQueryClick:a})],8,La))}}),za={key:0,class:`searchstax-sorting-container`},Ba=[`value`],Va=[`value`],Ha=(0,e.defineComponent)({__name:`SearchstaxSortingWidgetTemplate`,props:{sortingData:{type:Object,required:!0},selectedSorting:{type:String,required:!0},orderChange:{type:Function,required:!0}},setup(t){return(n,r)=>t.sortingData&&t.sortingData?.searchExecuted&&t.sortingData?.hasResultsOrExternalPromotions&&t.sortingData.sortOptions.length>0?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,za,[r[1]||=(0,e.createElementVNode)(`label`,{class:`searchstax-sorting-label`,for:`searchstax-search-order-select`},`Sort By`,-1),(0,e.createElementVNode)(`select`,{id:`searchstax-search-order-select`,class:`searchstax-search-order-select`,value:t.selectedSorting,onChange:r[0]||=e=>t.orderChange(e)},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.sortingData.sortOptions,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`option`,{key:t.key,value:t.key},(0,e.toDisplayString)(t.value),9,Va))),128))],40,Ba)])):(0,e.createCommentVNode)(``,!0)}}),Ua=[`id`],Wa=(0,e.defineComponent)({__name:`SearchstaxSortingWidget`,setup(t){let n=(0,e.useSlots)(),r=(0,e.ref)(null),i=(0,e.ref)(``),a=Math.random(),o=e=>{$.searchstax.searchSortingWidget.setOrderQuery(e.target.value)},s=()=>{$.searchstax.dataLayer.$searchSortingData.subscribe(e=>{r.value=e}),$.searchstax.dataLayer.$searchObject.subscribe(e=>{i.value=decodeURIComponent(e.order)})},c=(0,e.computed)(()=>!!n.sorting);return(0,e.onMounted)(()=>{if($.searchstax)s(),$.searchstax.addSearchSortingWidget(`search-sorting-container`+a,{});else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{id:`search-sorting-container`+(0,e.unref)(a)},[r.value&&r.value?.searchExecuted&&r.value?.hasResultsOrExternalPromotions&&!c.value?((0,e.openBlock)(),(0,e.createBlock)(Ha,{key:0,sortingData:r.value,selectedSorting:i.value,orderChange:o},null,8,[`sortingData`,`selectedSorting`])):(0,e.createCommentVNode)(``,!0),(0,e.renderSlot)(t.$slots,`sorting`,{sortingData:r.value,orderChange:o,selectedSorting:i.value})],8,Ua))}}),Ga={key:0,class:`searchstax-external-promotions-container`,id:`searchstax-external-promotions-container`},Ka=[`onClick`],qa={class:`searchstax-search-result-title-container`},Ja={class:`searchstax-search-result-title`},Ya={key:1,class:`searchstax-search-result-description searchstax-search-result-common`},Xa={key:2,class:`searchstax-search-result-description searchstax-search-result-common`},Za=(0,e.defineComponent)({__name:`SearchstaxExternalPromotionsWidgetTemplate`,props:{externalPromotionsData:{type:Object,required:!0},trackClick:{type:Function,required:!1}},setup(t){return(n,r)=>t.externalPromotionsData&&t.externalPromotionsData?.searchExecuted&&t.externalPromotionsData?.hasExternalPromotions?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ga,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.externalPromotionsData.externalPromotions,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`searchstax-external-promotion searchstax-search-result`,key:n.id},[r[0]||=(0,e.createElementVNode)(`div`,{class:`icon-elevated`},null,-1),n.url?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:`{{externalPromotion.url}}`,onClick:e=>t.trackClick(n,e),class:`searchstax-result-item-link`},null,8,Ka)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,qa,[(0,e.createElementVNode)(`span`,Ja,(0,e.toDisplayString)(n.name),1)]),n.description?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ya,(0,e.toDisplayString)(n.description),1)):(0,e.createCommentVNode)(``,!0),n.url?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Xa,(0,e.toDisplayString)(n.url),1)):(0,e.createCommentVNode)(``,!0)]))),128))])):(0,e.createCommentVNode)(``,!0)}}),Qa=[`id`],$a=(0,e.defineComponent)({__name:`SearchstaxExternalPromotionsWidget`,setup(t){let n=(0,e.useSlots)(),r=(0,e.ref)(null),i=Math.random(),a=()=>{$.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(e=>{r.value=e})},o=(e,t)=>{$.searchstax.externalPromotionsWidget.trackClick(e,t)},s=(0,e.computed)(()=>!!n.externalPromotions);return(0,e.onMounted)(()=>{if($.searchstax)a(),$.searchstax.addExternalPromotionsWidget(`searchstax-external-promotions-layout-container`+i,{});else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{id:`searchstax-external-promotions-layout-container`+(0,e.unref)(i)},[s.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createBlock)(Za,{key:0,externalPromotionsData:r.value,trackClick:o},null,8,[`externalPromotionsData`])),(0,e.renderSlot)(t.$slots,`externalPromotions`,{externalPromotionsData:r.value,trackClick:o})],8,Qa))}}),eo={key:0,class:`searchstax-related-searches-container`,id:`searchstax-related-searches-container`},to={key:0,class:`searchstax-related-search`},no=[`onClick`,`onKeyup`,`aria-label`],ro={key:0},io=(0,e.defineComponent)({__name:`SearchstaxRelatedSearchesWidgetTemplate`,props:{relatedData:{type:Object,required:!0},executeSearch:{type:Function,required:!0}},setup(t){return(n,r)=>t.relatedData&&t.relatedData?.searchExecuted&&t.relatedData?.hasRelatedSearches?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,eo,[r[0]||=(0,e.createTextVNode)(` Related searches: `,-1),r[1]||=(0,e.createElementVNode)(`span`,{id:`searchstax-related-searches`},null,-1),t.relatedData.relatedSearches?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,to,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.relatedData.relatedSearches,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{key:n.related_search,onClick:e=>t.executeSearch(n),onKeyup:[(0,e.withKeys)(e=>t.executeSearch(n),[`enter`]),(0,e.withKeys)(e=>t.executeSearch(n),[`space`])],tabindex:`0`,class:`searchstax-related-search searchstax-related-search-item`,"aria-label":`Related search: `+n.related_search},[(0,e.createTextVNode)((0,e.toDisplayString)(n.related_search),1),n.last?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,ro,`,`))],40,no))),128))])):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0)}}),ao=(0,e.defineComponent)({__name:`SearchstaxRelatedSearchesWidget`,props:{relatedSearchesURL:{},relatedSearchesAPIKey:{}},setup(t){let n=t,r=(0,e.useSlots)(),i=(0,e.ref)(null),a=e=>{$.searchstax.relatedSearchesWidget.executeSearch(e)},o=()=>{$.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(e=>{i.value=e})},s=(0,e.computed)(()=>!!r.related);return(0,e.onMounted)(()=>{if($.searchstax)o(),$.searchstax.addRelatedSearchesWidget(`searchstax-related-searches-container`,{relatedSearchesURL:n.relatedSearchesURL,relatedSearchesAPIKey:n.relatedSearchesAPIKey});else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[i.value&&i.value?.searchExecuted&&i.value?.hasRelatedSearches&&!s.value?((0,e.openBlock)(),(0,e.createBlock)(io,{key:0,relatedData:i.value,executeSearch:a},null,8,[`relatedData`])):(0,e.createCommentVNode)(``,!0),(0,e.renderSlot)(t.$slots,`related`,{relatedData:i.value,executeSearch:a})],64))}}),oo={key:0},so={class:`searchstax-answer-wrap`},co=[`innerHTML`],lo=[`innerHTML`],uo={key:1,class:`searchstax-answer-loading`},fo={key:0,class:`searchstax-answer-load-more-button-container`},po=(0,e.defineComponent)({__name:`SearchstaxAnswerWidgetTemplate`,props:{answerData:{type:Object,required:!0},showMore:{type:Function,required:!1}},setup(t){return(n,r)=>t.answerData&&t.answerData?.searchExecuted&&t.answerData.shouldShowAnswer?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,oo,[(0,e.createElementVNode)(`div`,so,[r[2]||=(0,e.createElementVNode)(`div`,{class:`searchstax-answer-icon`},null,-1),(0,e.createElementVNode)(`div`,null,[(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)({"searchstax-answer-container":!0,"searchstax-answer-show-more":t.answerData.showMoreButtonVisible})},[r[1]||=(0,e.createElementVNode)(`div`,{class:`searchstax-answer-title`},`Smart Answers`,-1),t.answerData.shouldShowAnswerError?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:`searchstax-answer-error`,innerHTML:t.answerData.answerErrorMessage},null,8,co)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,{class:`searchstax-answer-description`,innerHTML:t.answerData.fullAnswerFormatted},null,8,lo),t.answerData.answerLoading?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,uo)):(0,e.createCommentVNode)(``,!0)],2),t.answerData.showMoreButtonVisible?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,fo,[(0,e.createElementVNode)(`button`,{class:`searchstax-answer-load-more-button`,onClick:r[0]||=(...e)=>t.showMore&&t.showMore(...e)},`Show More`)])):(0,e.createCommentVNode)(``,!0)]),r[3]||=(0,e.createElementVNode)(`div`,{class:`searchstax-answer-footer`},[(0,e.createElementVNode)(`div`,{id:`feedbackWidgetContainer`}),(0,e.createElementVNode)(`div`,{class:`searchstax-lightweight-widget-separator-inline`}),(0,e.createElementVNode)(`p`,{class:`searchstax-disclaimer`},`Generative AI is Experimental`)],-1)])])):(0,e.createCommentVNode)(``,!0)}}),mo=[`id`],ho=(0,e.defineComponent)({__name:`SearchstaxAnswerWidget`,props:{showMoreAfterWordCount:{},feedbackwidget:{},testString:{}},setup(t){let n=t,r=(0,e.useSlots)(),i=(0,e.ref)(null),a=Math.random(),o=()=>{$.searchstax.dataLayer.$answerData.subscribe(e=>{i.value=e})},s=e=>{$.searchstax&&$.searchstax.answerWidget?.showMore(e)},c=(0,e.computed)(()=>!!r.answer);return(0,e.onMounted)(()=>{if($.searchstax)o(),$.searchstax.addAnswerWidget(`searchstax-answer-container`+a,{showMoreAfterWordCount:n.showMoreAfterWordCount,feedbackwidget:n.feedbackwidget,testString:n.testString});else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{id:`searchstax-answer-container`+(0,e.unref)(a)},[!c.value&&i.value?((0,e.openBlock)(),(0,e.createBlock)(po,{key:0,answerData:i.value,showMore:s},null,8,[`answerData`])):(0,e.createCommentVNode)(``,!0),(0,e.renderSlot)(t.$slots,`answer`,{answerData:i.value,showMore:s})],8,mo))}});exports.SearchstaxAnswerWidget=ho,exports.SearchstaxExternalPromotionsWidget=$a,exports.SearchstaxFacetsWidget=va,exports.SearchstaxInputWidget=fi,exports.SearchstaxLocationWidget=oi,exports.SearchstaxPaginationWidget=Aa,exports.SearchstaxRelatedSearchesWidget=ao,exports.SearchstaxResultWidget=Ii,exports.SearchstaxSearchFeedbackWidget=Ra,exports.SearchstaxSortingWidget=Wa,exports.SearchstaxWrapper=Xr;
|
|
463
|
+
`,thumbsUpButtonClass:`searchstax-lightweight-widget-thumbs-up`,thumbsDownButtonClass:`searchstax-lightweight-widget-thumbs-down`}},Z=class{static answer=Dr;static externalPromotions=Or;static facets=kr;static pagination=Ar;static relatedSearches=jr;static searchFeedback=Mr;static searchInput=Nr;static location=Pr;static searchResults=Fr;static sorting=Ir;static feedback=X},Lr=class{dataLayer;config;containerId;externalPromotionsContainerId;searchExternalPromotionsMainContainer=null;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=this.config.templates?.mainTemplate?.externalPromotionsContainerId||Z.externalPromotions.mainTemplate.externalPromotionsContainerId,typeof document<`u`&&(this.searchExternalPromotionsMainContainer=document?.getElementById(this.containerId)),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchExternalPromotions.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){let e={...this.dataLayer.parsedData.data,externalPromotions:this.dataLayer.parsedData.externalPromotions};return this.dataLayer.setExternalPromotionsData(e),e}addExternalSearch(e){let t=typeof document<`u`?document?.getElementById(this.externalPromotionsContainerId):null;if(t){let n=this.config?.templates?.externalPromotion?.template||Z.externalPromotions.externalPromotion?.template;if(typeof document<`u`){let r=document?.createElement(`div`);r.classList.add(`searchstax-external-promotion`),r.addEventListener(`click`,t=>{this.trackClick(e,t)}),r.innerHTML=Y.render(n,e),t.appendChild(r)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window?.open(e.url,`_blank`)}renderMainTemplate(e){let n=this.config?.templates?.mainTemplate?.template||Z.externalPromotions.mainTemplate?.template;if(this.dataLayer.renderingEngine===t.mustache){this.searchExternalPromotionsMainContainer.innerHTML=Y.render(n,e);let t=typeof document<`u`?document?.getElementById(this.externalPromotionsContainerId):null;t&&(t.innerHTML=``);for(let t of e.externalPromotions)this.addExternalSearch(t)}}},Q=class{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById(`searchAccessibilityContainer`)){let e=document.createElement(`div`);e.setAttribute(`aria-live`,`polite`),e.setAttribute(`id`,`searchAccessibilityContainer`),document.body.appendChild(e)}}static setAccessibilityText(e,t,n){this.addAccessibilityNotificationContainerToBody();let r=n??`searchAccessibility`,i=document.getElementById(r);i&&i.remove();let a=document.createElement(`span`);a.setAttribute(`id`,r),a.innerHTML=e;let o=document.getElementById(`searchAccessibilityContainer`);o&&setTimeout(()=>{o.appendChild(a)},t??100)}},Rr=class{dataLayer;config;containerId;routerHelper;cachedPhrase=``;cachedANDFacets=``;overlayOpened=!1;facetPaginationStep;facetPaginationStepMobile;searchFacetsMainContainer=null;searchFacetsMobileContainer=null;searchFacetsDesktopContainer=null;facetLimits={};facetLimitsMobile={};deactivatedFacets={};focusedElement=null;cachedData=null;cacheFacets;constructor(e,t){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?.getElementById(this.containerId)),t(this.config.facetingType),this.initializeSubscriptions()}get needDisabling(){return this.config.facetingType===`showUnavailable`}initializeSubscriptions(){this.dataLayer.$searchFacetsCachedand.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.$searchFacetsCachedor.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchResults.subscribe(e=>{e&&(this.cacheFacets(this.config.facetingType),this.renderMainTemplate(this.generateTemplateData()))})}extractFacetValue(e){return{type:this.config.facetingType,name:e.parentName,value:e.value}}applyFacetLimits(e,t){let n=t?this.facetPaginationStepMobile:this.facetPaginationStep,r=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(e=>{r[e.name]||(r[e.name]=n)}),e.map(e=>({...e,values:e.values.slice(0,r[e.name]),showingAllFacets:e.values.length<=r[e.name],hasMoreFacets:e.values.length>n}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.config.hooks?.beforeFacetsRender&&(t=this.config.hooks.beforeFacetsRender(t)),this.componentFacets&&(t=this.componentFacets,this.needDisabling&&(t=t.map(t=>{let n=this.dataLayer.searchFacets?.find(e=>e.name===t.name);return n?{...t,values:t.values.map(t=>{let r=n.values.find(e=>t.type!==`range`&&t.type===`checkbox`&&e.value===t.value);return{...t,disabled:!r,isMobile:e}})}:{...t,values:t.values.map(e=>({...e,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(e=>this.config.specificFacets?.includes(e.name)));let n={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(n),n}else{let t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,n){if(typeof document<`u`){let r=document?.createElement(`div`);r.classList.add(`searchstax-facet-container`),this.deactivatedFacets[e.name]||r.classList.add(`active`);let i=this.config?.templates?.facetItemContainerTemplate?.template||Z.facets.facetItemContainerTemplate?.template;r.innerHTML=Y.render(i,e),t.appendChild(r);let a=r.querySelector(`.`+(this.config?.templates?.facetItemContainerTemplate?.facetListTitleContainerClass||Z.facets.facetItemContainerTemplate?.facetListTitleContainerClass));a?.addEventListener(`click`,()=>{r.classList.toggle(`active`);let e=r.classList.contains(`active`),t=a.querySelector(`.searchstax-facet-title`);t&&t.setAttribute(`aria-expanded`,String(e))}),a?.querySelector(`.`+this.config?.templates?.facetItemContainerTemplate?.facetListTitleContainerInner)?.addEventListener(`keydown`,e=>{if(e.code===`Enter`||e.code===`Space`){e.preventDefault(),r.classList.toggle(`active`);let t=r.classList.contains(`active`),n=a.querySelector(`.searchstax-facet-title`);n&&n.setAttribute(`aria-expanded`,String(t))}});let o=r.querySelector(`.`+(this.config?.templates?.facetItemContainerTemplate?.facetListContainerClass||Z.facets.facetItemContainerTemplate?.facetListContainerClass));o&&(e.values.forEach(t=>{this.createFacetListItem(t,o,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,o,n))}}isChecked(e){return!!this.dataLayer.searchObject.facets?.find(t=>B.deepEqual(t,this.extractFacetValue(e)))}createFacetListItem(e,t,n){if(typeof document<`u`){let r=document?.createElement(`div`);r.classList.add(`searchstax-facet-value-container`),e.disabled&&r.classList.add(`searchstax-facet-value-disabled`);let i=this.isChecked(e),a=this.config?.templates?.facetItemTemplate?.template||Z.facets.facetItemTemplate?.template;r.innerHTML=Y.render(a,{...e,isChecked:i});let o=Z.facets.facetItemTemplate?.checkTriggerClasses;o=this.config?.templates?.facetItemTemplate?.checkTriggerClasses||o,o.forEach(t=>{r.querySelector(`.`+t)?.addEventListener(`click`,t=>{this.onFacetSelect(t,e,r)})});let s=r.querySelector(`.`+(this.config?.templates?.facetItemTemplate?.inputCheckboxClass||Z.facets.facetItemTemplate?.inputCheckboxClass));s?.addEventListener(`click`,t=>{this.onFacetSelect(t,e,r,!0)}),s&&s?.setAttribute(`data-test-value`,`${encodeURIComponent(n)}:"${encodeURIComponent(e.value)}"`),t.appendChild(r)}}onFacetSelect=(e,t,n,r,i)=>{if(e.stopPropagation(),!t.disabled){let e=n.querySelector(`input`),a=r?e.checked:!e.checked;i!==void 0&&(a=!i),e.checked=a;let o=this.dataLayer.searchObject,s=[...o.facets],c=this.extractFacetValue(t);a?s.find(e=>B.deepEqual(e,c)?e:!1)||(this.config.facetingType===`tabs`&&(s=s.filter(e=>e.name!==c.name)),s.push(c)):s=s.filter(e=>!B.deepEqual(e,c)),setTimeout(()=>{this.dataLayer.setSearchObject({...o,facets:s,page:1}),this.config.facetingType===`tabs`&&this.renderMainTemplate(this.generateTemplateData(),!0)},0)}};createHasMoreComponent(e,t,n){if(typeof document<`u`){let r=document?.createElement(`div`);r.classList.add(`searchstax-facet-show-more-container`);let i=this.config?.templates?.showMoreButtonContainerTemplate?.template||Z.facets.showMoreButtonContainerTemplate?.template;r.innerHTML=Y.render(i,{...e,focusId:`moreLess${e?.values?.[0]?.value}`});let a=r.querySelector(`.`+(this.config?.templates?.showMoreButtonContainerTemplate?.showMoreButtonClass||Z.facets.showMoreButtonContainerTemplate?.showMoreButtonClass));a&&(this.attachOnclickToShowMore(e,a,n),t&&t.appendChild(a))}}attachOnclickToShowMore(e,t,n){t.addEventListener(`click`,t=>{this.onShowMoreLessClick(t,e,n)}),t.addEventListener(`keydown`,e=>{e.code===`Space`&&e.preventDefault()}),t.addEventListener(`keyup`,t=>{(t.code===`Space`||t.code===`Enter`)&&(t.preventDefault(),this.onShowMoreLessClick(t,e,n))})}onShowMoreLessClick(e,t,n){e.preventDefault();let r=n?this.facetPaginationStepMobile:this.facetPaginationStep,i=n?this.facetLimits:this.facetLimitsMobile;i[t.name]===void 0?i[t.name]=r*2:i[t.name]<=t.values.length?(Q.setAccessibilityText(`More Facets shown for ${t.label}`,0,`moreLess${new Date().getTime()}`),i[t.name]=i[t.name]+r):(Q.setAccessibilityText(`Less Facets shown for ${t.label}`,0,`moreLess${new Date().getTime()}`),i[t.name]=r),this.generateTemplateData(n),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,n){if(e&&(!B.deepEqual(this.cachedData??{},e)||n)){this.cachedData=e;let n=this.config?.templates?.mainTemplateDesktop?.template||Z.facets.mainTemplateDesktop?.template;if(this.dataLayer.renderingEngine===t.mustache&&this.searchFacetsMainContainer){let t=document.activeElement;t instanceof HTMLInputElement&&t.type===`checkbox`||t?.classList.contains(`searchstax-facet-show-more-button`)||t?.classList.contains(`searchstax-facet-show-less-button`)?this.focusedElement=t:this.focusedElement=null,this.searchFacetsMainContainer.innerHTML=Y.render(n,{...e});let r=this.searchFacetsMainContainer?.querySelector(`.`+(this.config?.templates?.mainTemplateDesktop?.facetsContainerClass||Z.facets.mainTemplateDesktop.facetsContainerClass));if(r){r.innerHTML=``;for(let t of e.facets)this.createFacetItem(t,r);if(this.searchFacetsMainContainer){let e=this.searchFacetsMainContainer.querySelector(`.`+(this.config?.templates?.mainTemplateDesktop?.selectedFacetsContainerClass||Z.facets.mainTemplateDesktop.selectedFacetsContainerClass));e&&(this.createSelectedFacetsComponents(e),this.createClearFacetsComponents(e))}if(this.focusedElement){if(this.focusedElement.classList.contains(`searchstax-facet-show-more-button`)||this.focusedElement.classList.contains(`searchstax-facet-show-less-button`)){let e=this.focusedElement.getAttribute(`data-focus`),t=this.searchFacetsMainContainer.querySelector(`[data-focus="${e}"]`);t instanceof HTMLElement&&t.focus(),this.focusedElement=null;return}let e=this.focusedElement.getAttribute(`data-test-value`),t=this.searchFacetsMainContainer.querySelector(`[data-test-value="${e}"]`);t instanceof HTMLInputElement&&t.focus(),this.focusedElement=null}}}setTimeout(()=>{document.querySelectorAll(`.searchstax-facet-title`).forEach(e=>{e.setAttribute(`aria-expanded`,`true`),e.setAttribute(`tabindex`,`0`),e.setAttribute(`role`,`button`)})},100),this.renderMobileTemplate(this.generateTemplateData(!0))}else this.renderMobileTemplate(this.generateTemplateData(!0),!0),this.generateSelectedFacetsData()}get componentFacets(){let e=this.config.facetingType;return e===`and`?this.dataLayer.searchFacetsCachedand:e===`or`?this.dataLayer.searchFacetsCachedor:e===`tabs`?this.dataLayer.searchFacetsCachedtabs:e===`showUnavailable`?this.dataLayer.searchFacetsCachedand:null}generateSelectedFacetsData(){let e=[],t=this.dataLayer.searchObject.facets;for(let n of t){let t=decodeURIComponent(n.name),r=decodeURIComponent(n.value);if(this.dataLayer.searchFacets){let n=this.dataLayer.searchFacets?.find(e=>e.name===t);if(n){let t=n.values.find(e=>e.type!==`range`&&e.type===`checkbox`&&`"${e.value}"`==`"${r}"`);t&&e.push(t)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){this.generateSelectedFacetsData(),this.dataLayer.selectedFacetsTemplateData?.forEach(t=>{this.createSelectedFacetsComponent(e,t)})}createClearFacetsComponents(e){if(typeof document<`u`){let t=this.dataLayer.searchObject,n=this.config?.templates?.clearFacetsTemplate?.template||Z.facets.clearFacetsTemplate?.template,r=document?.createElement(`div`);r.innerHTML=Y.render(n,{shouldShow:t.facets.length>0});let i=r.querySelector(`.`+(this.config?.templates?.clearFacetsTemplate?.containerClass||Z.facets.clearFacetsTemplate?.containerClass));i&&(i.addEventListener(`click`,()=>{this.removeSelectedFacets()}),i.addEventListener(`keyup`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.removeSelectedFacets()}),e.appendChild(i))}}createSelectedFacetsComponent(e,t){if(typeof document<`u`){let n=this.config?.templates?.selectedFacetsTemplate?.template||Z.facets.selectedFacetsTemplate?.template,r=document?.createElement(`div`);r.innerHTML=Y.render(n,t);let i=r.querySelector(`.`+(this.config?.templates?.selectedFacetsTemplate?.containerClass||Z.facets.selectedFacetsTemplate?.containerClass));if(i){let n=i.querySelector(`.searchstax-facets-pill-icon-close`);n?n.addEventListener(`click`,()=>{this.unselectFacet(t)}):i.addEventListener(`click`,()=>{this.unselectFacet(t)}),i.addEventListener(`keyup`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.unselectFacet(t)}),e.appendChild(i)}}}unselectFacet(e){let t=this.dataLayer.searchObject,n=[...t.facets];e.type===`checkbox`&&(n=n.filter(t=>JSON.stringify(t)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:n}),setTimeout(()=>{this.generateSelectedFacetsData()},100)},100)}removeSelectedFacets(){let e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){if(typeof document<`u`){let t=this.config?.templates?.filterByTemplate?.template||Z.facets.filterByTemplate?.template,n=document?.createElement(`div`);n.innerHTML=Y.render(t,{});let r=n.querySelector(`.`+(this.config?.templates?.filterByTemplate?.containerClass||Z.facets.filterByTemplate?.containerClass));r&&(e.prepend(r),r.addEventListener(`click`,this.openOverlay.bind(this)),r.addEventListener(`keyup`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.openOverlay()}))}}openOverlay(){Q.setAccessibilityText(`Facet overlay opened. Tab to select facets.`),this.overlayOpened=!0,this.searchFacetsMainContainer&&(typeof document<`u`&&document.body.classList.toggle(`searchstax-no-scroll`),this.searchFacetsMainContainer.querySelector(`.searchstax-facets-mobile-overlay`)?.classList.add(`searchstax-show`))}closeOverlay(){Q.setAccessibilityText(`Facet overlay closed`),this.overlayOpened=!1,this.searchFacetsMainContainer&&(typeof document<`u`&&document.body.classList.toggle(`searchstax-no-scroll`),this.searchFacetsMainContainer.querySelector(`.searchstax-facets-mobile-overlay`)?.classList.remove(`searchstax-show`))}renderMobileTemplate(e,n){if(e&&typeof document<`u`){let r=document?.createElement(`div`);if(r.classList.add(`searchstax-facets-container-mobile`),n){let e=document.querySelector(`.searchstax-facets-container-mobile`);e&&(r=e)}let i=this.config?.templates?.mainTemplateMobile?.template||Z.facets.mainTemplateMobile?.template;if(this.dataLayer.renderingEngine===t.mustache){if(r.innerHTML=Y.render(i,{...e,overlayOpened:this.overlayOpened}),this.searchFacetsMainContainer?.appendChild(r),this.config?.templates?.mainTemplateMobile)for(let e of this.config?.templates?.mainTemplateMobile?.closeOverlayTriggerClasses||[]){let t=r.querySelector(`.`+e);t&&(t.addEventListener(`click`,this.closeOverlay.bind(this)),t.addEventListener(`keyup`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.closeOverlay()}))}else for(let e of Z.facets.mainTemplateMobile.closeOverlayTriggerClasses){let t=r.querySelector(`.`+e);t&&(t.addEventListener(`click`,this.closeOverlay.bind(this)),t.addEventListener(`keyup`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.closeOverlay()}))}let t=r.querySelector(`.`+(this.config?.templates?.mainTemplateMobile?.filterByContainerClass||Z.facets.mainTemplateMobile.filterByContainerClass));t&&this.createFilterByComponent(t);let n=r.querySelector(`.`+(this.config?.templates?.mainTemplateMobile?.selectedFacetsContainerClass||Z.facets.mainTemplateMobile.selectedFacetsContainerClass));n&&(this.createSelectedFacetsComponents(n),this.createClearFacetsComponents(n));let a=r.querySelector(`.`+(this.config?.templates?.mainTemplateMobile?.facetsContainerClass||Z.facets.mainTemplateMobile.facetsContainerClass));if(a){a.innerHTML=``;for(let t of e.facets)this.createFacetItem(t,a,!0)}}}}},zr=class{dataLayer;config;containerId;previousButtonClass;nextButtonClass;loadMoreButtonClass;routerHelper;searchPaginationMainContainer=null;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=this.config?.templates?.mainTemplate?.previousButtonClass??Z.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=this.config?.templates?.mainTemplate?.nextButtonClass??Z.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=this.config?.templates?.infiniteScrollTemplate?.loadMoreButtonClass??Z.pagination.infiniteScrollTemplate.loadMoreButtonClass,typeof document<`u`&&(this.searchPaginationMainContainer=document?.getElementById(this.containerId)),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){return this.dataLayer.searchObject?.page===1}get isLastPage(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){let e={...this.dataLayer.parsedData.data,previousPageLink:this.routerHelper?.searchObjectToUrl({...this.dataLayer.searchObject,page:this.dataLayer.searchObject?.page-1}),nextPageLink:this.routerHelper?.searchObjectToUrl({...this.dataLayer.searchObject,page:this.dataLayer.searchObject?.page+1})};return this.dataLayer.setPaginationData(e),e}goToPage(e,t){let n=this.dataLayer.searchObject;n&&(n.page=e,this.dataLayer.setSearchObject(n));let r=document.querySelector(`.searchstax-page-layout-result-container`);if(r instanceof HTMLElement){let e=r.querySelector(`[tabindex="0"]`);e instanceof HTMLElement&&e.focus()}else document.body.tabIndex=-1,document.body.focus();t||(r instanceof HTMLElement?r.scrollIntoView({block:`start`,behavior:`auto`}):window?.scrollTo(0,0))}nextPage(e){e?.preventDefault(),e?.stopPropagation(),this.isLastPage||this.goToPage(this.dataLayer.searchObject?.page+1,this.dataLayer.isInfiniteScroll)}previousPage(e){e?.preventDefault(),e?.stopPropagation(),this.isFirstPage||this.goToPage(this.dataLayer.searchObject?.page-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){let e=this.searchPaginationMainContainer.querySelector(`.`+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector(`.`+this.nextButtonClass),n=this.searchPaginationMainContainer.querySelector(`.`+this.loadMoreButtonClass);e&&(e.addEventListener(`click`,this.previousPage.bind(this)),e.addEventListener(`keydown`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.previousPage(e)})),t&&(t.addEventListener(`click`,this.nextPage.bind(this)),t.addEventListener(`keydown`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.nextPage(e)})),n&&(n.addEventListener(`click`,this.nextPage.bind(this)),n.addEventListener(`keydown`,e=>{(e.code===`Space`||e.code===`Enter`)&&this.nextPage(e)}))}}renderMainTemplate(e){this.searchPaginationMainContainer&&(this.searchPaginationMainContainer.querySelector(`.`+this.previousButtonClass)?.removeEventListener(`click`,this.previousPage),this.searchPaginationMainContainer.querySelector(`.`+this.nextButtonClass)?.removeEventListener(`click`,this.nextPage));let n=this.config?.templates?.mainTemplate?.template||Z.pagination.mainTemplate?.template;this.dataLayer.isInfiniteScroll&&(n=this.config?.templates?.infiniteScrollTemplate?.template||Z.pagination.infiniteScrollTemplate?.template),this.dataLayer.renderingEngine===t.mustache&&(this.searchPaginationMainContainer.innerHTML=Y.render(n,e),setTimeout(()=>{this.overridePaginationEvents()},0))}},Br=class{dataLayer;config;containerId;relatedSearchesContainerClass;searchRelatedSearchesMainContainer=null;track;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=this.config.templates?.main?.relatedSearchesContainerClass||Z.relatedSearches.main.relatedSearchesContainerClass,typeof document<`u`&&(this.searchRelatedSearchesMainContainer=document?.getElementById(this.containerId)),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){let e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,n){if(typeof document<`u`){let r=document?.createElement(`div`),i=this.config?.templates?.relatedSearch?.template||Z.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===t.mustache){r.innerHTML=Y.render(i,e);let t=r.querySelector(`.`+(this.config.templates?.relatedSearch?.relatedSearchContainerClass||Z.relatedSearches.relatedSearch.relatedSearchContainerClass));t&&(n.appendChild(t),t.addEventListener(`click`,()=>{this.executeSearch(e)}),t.addEventListener(`keyup`,t=>{(t.code===`Space`||t.code===`Enter`)&&this.executeSearch(e)}))}}}executeSearch(e){let t=this.dataLayer.searchObject;t.query=e.related_search,this.dataLayer.setSearchObject(t),this.track(e)}renderMainTemplate(e){let n=this.config?.templates?.main?.template||Z.relatedSearches.main.template;if(this.dataLayer.renderingEngine===t.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML=``,this.searchRelatedSearchesMainContainer.innerHTML=Y.render(n,e);let t=this.searchRelatedSearchesMainContainer?.querySelector(`.${this.relatedSearchesContainerClass}`);if(t)for(let n of e.relatedSearches)this.addRelatedSearchComponent(n,t)}}},Vr=class{dataLayer;config;containerId;searchFeedbackMainContainer=null;searchTrigger;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,typeof document<`u`&&(this.searchFeedbackMainContainer=document?.getElementById(this.containerId)),this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){let e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchFeedbackData(e),e}onOriginalQueryClick(e){e.stopPropagation(),e.preventDefault();let t=e.target?.innerHTML;this.searchTrigger(t,!0)}attachClick(){let e=this.searchFeedbackMainContainer?.querySelector(`.`+(this.config?.templates?.main?.originalQueryClass||Z.searchFeedback.main?.originalQueryClass));e&&e.addEventListener(`click`,this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){let n=this.config?.templates?.main?.template||Z.searchFeedback.main.template;this.dataLayer.renderingEngine===t.mustache&&(this.searchFeedbackMainContainer.innerHTML=Y.render(n,e),setTimeout(()=>{this.attachClick()},0))}},Hr=class{searchHelper;dataLayer;config;suggestAfterMinChars;containerId;currentInputValue=``;autosuggestResults;suppressNextEnter=!1;searchInput;actionButton;autosuggestContainer;clearButton;separatorIcon;buttonState=`search`;selectedAutosuggestItem=-1;suggestTrigger;searchTrigger;constructor(e){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(){if(typeof document<`u`){let e=document?.getElementById(this.containerId);if(!e)throw Error(`Search input container not found`);let n=this.config.templates?.mainTemplate?.template||Z.searchInput.mainTemplate.template,r={...this.dataLayer.parsedData.data,locationEnabled:!!this.dataLayer.locationEnabled,hasInputValue:!1};this.dataLayer.setInputWidgetTemplateData(r),this.dataLayer.renderingEngine===t.mustache&&(e.innerHTML=Y.render(n,r),this.dataLayer.setInputTemplateRendered(!0));let i=this.config.templates?.mainTemplate?.searchInputId||Z.searchInput.mainTemplate.searchInputId,a=document?.querySelector(`#${i}`);if(a)this.searchInput=a,a.addEventListener(`keyup`,this.inputKeyupEvent.bind(this)),a.addEventListener(`blur`,this.hideAutosuggest.bind(this)),a.addEventListener(`paste`,this.inputPasteEvent.bind(this));else throw Error(`Input not found`)}}createAutosuggestContainer(){this.dataLayer.renderingEngine===t.mustache&&typeof document<`u`&&(this.autosuggestContainer=document?.createElement(`div`),this.autosuggestContainer.classList.add(`searchstax-autosuggest-container`),this.autosuggestContainer.addEventListener(`mouseleave`,()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),this.searchInput?.after(this.autosuggestContainer))}getSuggestAfterValue(){this.dataLayer.searchHelper&&this.dataLayer.searchHelper.suggest(`*`,e=>{this.suggestAfterMinChars=e.metadata.minPrefixChars},[])}actionButtonInit(){typeof document<`u`&&(this.actionButton=document?.getElementById(`searchstax-search-input-action-button`),this.actionButton&&this.actionButton.addEventListener(`click`,()=>{this.executeSearch(this.searchInput?.value??``)}),this.clearButton=document?.getElementById(`searchstax-clear-input-action-button`),this.separatorIcon=document?.getElementById(`searchstax-separator-icon`),this.clearButton&&this.clearButton.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),this.clearInput()}))}updateClearButtonVisibility(e){let t=e.length>0;t?(this.clearButton?.classList.remove(`hidden`),this.separatorIcon?.classList.remove(`hidden`)):(this.clearButton?.classList.add(`hidden`),this.separatorIcon?.classList.add(`hidden`));let n=this.dataLayer.inputWidgetTemplateData;n&&this.dataLayer.setInputWidgetTemplateData({...n,hasInputValue:t})}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??``),this.updateClearButtonVisibility(this.searchInput.value))})}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?.focus?.(),e.setSelectionRange(e.value.length,e.value.length)),Q.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,Q.setAccessibilityText(`No Suggestion selected`)):this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}clearInput(){this.suppressNextEnter=!0,this.searchInput&&(this.searchInput.value=``,this.currentInputValue=``),this.updateClearButtonVisibility(``),this.hideAutosuggest(),this.searchInput?.focus()}markActiveAutosuggestItem(){if(typeof document<`u`){let e=document?.getElementsByClassName(`searchstax-autosuggest-item`);for(let t=0;t<e.length;t++){let n=e[t];t===this.selectedAutosuggestItem?(n.classList.add(`active`),Q.setAccessibilityText(`Selected suggestion: ${n.innerText}`)):n.classList.remove(`active`)}}}inputKeyupEvent(e){let t=e.key;if(this.currentInputValue=e.target.value,t===`Enter`){if(this.suppressNextEnter){this.suppressNextEnter=!1;return}this.suggestionChosen()}else this.suppressNextEnter=!1,t===`Escape`?this.hideAutosuggest(e.target):t===`ArrowUp`?this.selectPreviousAutosuggestItem(e.target):t===`ArrowDown`?this.selectNextAutosuggestItem():this.autosuggestHandling(e);this.handleSearchTermChange(),this.updateClearButtonVisibility(this.currentInputValue)}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(),this.updateClearButtonVisibility(e.target.value)},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?.focus?.(),e.setSelectionRange(e.value.length,e.value.length)),Q.setAccessibilityText(`No Suggestion selected`)},200)}cleanSuggestionTerm(e){return H.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,``)).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??``),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){let t=document?.createElement(`div`);t.classList.add(`searchstax-autosuggest-item`),t.addEventListener(`click`,()=>{this.autosuggestItemClicked(e)}),t.addEventListener(`mouseenter`,()=>{this.onSuggestionEnter(e)});let n=this.config.templates?.autosuggestItemTemplate?.template||Z.searchInput.autosuggestItemTemplate?.template;return t.innerHTML=Y.render(n,e),t}onSuggestionEnter(e){this.selectedAutosuggestItem=this.autosuggestResults?.suggestions.indexOf(e)||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML=``,this.autosuggestContainer.classList.remove(`hidden`));for(let t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){let n=e.suggest[t];for(let e in n)if(Object.prototype.hasOwnProperty.call(n,e)){let t=n[e];t.numFound?Q.setAccessibilityText(`Suggestions are available. Use up and down arrows to navigate while focusing input. Use Escape key to escape out of the suggestions`,2e3):Q.setAccessibilityText(``,0),this.autosuggestResults=t,this.dataLayer.setAutosuggestResults(t),t.numFound>0?t.suggestions.forEach(e=>{this.autosuggestContainer&&typeof document<`u`&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(e))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add(`hidden`)}}}},Ur=class{dataLayer;config;linkClickCallback;searchCallback;containerId;searchResultsMainContainer;searchResultsContainer;searchResultLinks=[];constructor(e){this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId;let t=document?.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw 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(()=>{Q.setAccessibilityText(`Searching...`)}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){let e=this.config?.templates?.noSearchResultTemplate?.template||Z.searchResults.noSearchResultTemplate?.template,n=this.dataLayer.searchResultsMetadata?.spellingSuggestion??``;if(this.dataLayer.renderingEngine===t.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=Y.render(e,{spellingSuggestion:n,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),n&&this.searchResultsContainer){let e=this.searchResultsContainer.querySelector(`a`);e&&e.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.searchCallback(n)})}}renderResults(e){if(this.dataLayer.renderingEngine===t.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)Q.setAccessibilityText(`Search has no results`),this.renderNoResultsTemplate();else{Q.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);let t=this.config?.templates?.searchResultTemplate?.template||Z.searchResults.searchResultTemplate?.template,n=e.map(e=>Y.render(t,e));this.config?.renderMethod===`infiniteScroll`&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=n.join(``):this.searchResultsContainer.innerHTML=n.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(){return this.config?.templates?.searchResultTemplate?.searchResultUniqueIdAttribute||Z.searchResults.searchResultTemplate?.searchResultUniqueIdAttribute}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation();let n=e.getAttribute(this.uniqueIdAttribute)??``;n&&this.linkClickCallback(n)}),e.addEventListener(`keydown`,t=>{if(t.code===`Space`||t.code===`Enter`){let t=e.getAttribute(this.uniqueIdAttribute)??``;t&&this.linkClickCallback(t)}})})}renderMainTemplate(){let e=this.config?.templates?.mainTemplate?.template||Z.searchResults.mainTemplate?.template;this.dataLayer.renderingEngine===t.mustache&&(this.searchResultsMainContainer.innerHTML=Y.render(e,{}),setTimeout(()=>{let e=this.config?.templates?.mainTemplate?.searchResultsContainerId?this.config?.templates?.mainTemplate?.searchResultsContainerId:Z.searchResults.mainTemplate?.searchResultsContainerId,t=document?.getElementById(e);if(t)this.searchResultsContainer=t;else throw Error(`Search Results Container with id ${e} not found`)},0))}},Wr=class{dataLayer;config;containerId;selectId;searchSortingMainContainer=null;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=this.config.templates?.main?.selectId||Z.sorting.main.selectId,this.searchSortingMainContainer=document?.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){let e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchSortingData(e),e}setOrderQuery(e){let t=this.dataLayer.searchObject;t&&(t.order=e,this.dataLayer.setSearchObject(t))}markOptionSelected(){let e=document?.getElementById(this.selectId);if(e){let t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){let n=this.config?.templates?.main?.template||Z.sorting.main.template;if(this.dataLayer.renderingEngine===t.mustache){this.searchSortingMainContainer.innerHTML=Y.render(n,e),this.markOptionSelected();let t=document?.getElementById(this.selectId);t&&t.addEventListener(`change`,e=>{this.setOrderQuery(e.target.value)})}}},Gr=class{analyticsKey;containerId;mainContainer;isLightweight;emailOverride;feedbackTextAreaOverride;mainTemplateOverride;lightweightTemplateOverride;focusedElement=null;focusTrapListener=null;lastFocusedElementBeforeModal=null;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};thumbsUpValue=10;thumbsDownValue=1;ratedQuestion=``;language=``;model=``;analyticsSrc=``;constructor(e){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(){tr.attachAnalyticsScript(this.analyticsSrc),this.renderMainTemplate(this.generateTemplateData())}generateTemplateData(){return this.templateData}renderMainTemplate(e){let t=document.activeElement;(t instanceof HTMLInputElement||t instanceof HTMLButtonElement||t instanceof HTMLTextAreaElement||t instanceof HTMLAnchorElement)&&(t.type===`radio`||t.type===`button`||t.type===`textarea`||t instanceof HTMLAnchorElement)?this.focusedElement=t:this.focusedElement=null,this.mainContainer;let n=X?.mainTemplate?.template;if(this.mainTemplateOverride&&(n=this.mainTemplateOverride),this.isLightweight&&(n=X.lightweightTemplate?.template,this.lightweightTemplateOverride&&(n=this.lightweightTemplateOverride)),this.mainContainer.innerHTML=Y.render(n,e),this.focusedElement&&this.mainContainer){let e=this.focusedElement.type===`radio`?this.focusedElement.getAttribute(`id`):this.focusedElement.getAttribute(`class`),t=this.focusedElement.type===`radio`?`id`:`class`,n=this.mainContainer.querySelector(`[${t}="${e}"]`);(n instanceof HTMLInputElement||n instanceof HTMLButtonElement||n instanceof HTMLTextAreaElement||n instanceof HTMLAnchorElement)&&n.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;let t=this.getModalElement();if(!t)return;let n=this.getFocusableElements(t);if(n.length===0)return;let r=n[0],i=n[n.length-1];e.key===`Tab`&&(e.shiftKey?(document.activeElement===r||!t.contains(document.activeElement))&&(e.preventDefault(),i?.focus()):(document.activeElement===i||!t.contains(document.activeElement))&&(e.preventDefault(),r?.focus())),e.key===`Escape`&&(e.preventDefault(),this.closeFeedbackModal())},document.addEventListener(`keydown`,this.focusTrapListener)}getFocusableElements(e){let 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(){let e=X.mainTemplate?.modalContainerClass;return this.mainContainer?.querySelector(`.${e}`)||null}attachLightweightEvents(){let e=X.lightweightTemplate?.thumbsUpButtonClass,t=X.lightweightTemplate?.thumbsDownButtonClass,n=this.mainContainer?.querySelector(`.`+e),r=this.mainContainer?.querySelector(`.`+t);n&&n.addEventListener(`click`,()=>{let e=this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea;this.templateData.ratings[this.templateData.ratings.length-1].isSelected&&this.ratedQuestion===e||(this.templateData.thumbsUpActive=!0,this.templateData.thumbsDownActive=!1,this.templateData.ratings.forEach(e=>{e.isSelected=e.index===this.thumbsUpValue}),this.renderMainTemplate(this.generateTemplateData()),this.ratedQuestion=e,this.submit())}),r&&r.addEventListener(`click`,()=>{let e=this.feedbackTextAreaOverride&&this.isLightweight?this.feedbackTextAreaOverride():this.templateData.feedbackTextArea;this.templateData.ratings[0].isSelected&&this.ratedQuestion===e||(this.templateData.thumbsUpActive=!1,this.templateData.thumbsDownActive=!0,this.templateData.ratings.forEach(e=>{e.isSelected=e.index===this.thumbsDownValue}),this.renderMainTemplate(this.generateTemplateData()),this.ratedQuestion=e,this.submit())})}attachSubmitButtonEvents(){let e=X.mainTemplate?.submitButtonClass,t=this.mainContainer?.querySelector(`.`+e);t&&t.addEventListener(`click`,()=>{this.checkIfValid()})}checkIfValid(){let e=this.mainContainer?.querySelector(`#`+X.mainTemplate?.emailInputId);this.validateEmail(e.value)?this.templateData.errors.email=!1:(this.templateData.errors.email=!0,Q.setAccessibilityText(`Please enter a valid email address.`)),this.templateData.ratings.some(e=>e.isSelected)?this.templateData.errors.rating=!1:(this.templateData.errors.rating=!0,Q.setAccessibilityText(`Please Rate your experience.`)),this.templateData.errors.rating||this.templateData.errors.email?this.renderMainTemplate(this.generateTemplateData()):this.submit()}submit(){this.templateData.submitted=!0;let e=this.templateData.ratings.find(e=>e.isSelected)?.index;e!==void 0&&(tr.trackFeedback({trackApiKey:this.analyticsKey,email:this.emailOverride&&this.isLightweight?this.emailOverride():this.templateData.emailInput,rating:e,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(),Q.setAccessibilityText(`Feedback has been sent.`,1e3),this.mainContainer?.querySelector(`.`+X.mainTemplate?.checkmarkClass)?setTimeout(()=>{this.closeFeedbackModal(),this.renderMainTemplate(this.generateTemplateData())},2e3):(setTimeout(()=>{this.closeFeedbackModal()},500),this.renderMainTemplate(this.generateTemplateData())))}validateEmail(e){return e===``||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}attachEmailInputEvents(){let e=this.mainContainer?.querySelector(`#`+X.mainTemplate?.emailInputId);e&&(e.addEventListener(`input`,()=>{this.templateData.emailInput=e.value}),e.addEventListener(`blur`,()=>{setTimeout(()=>{this.validateEmail(e.value)?this.templateData.errors.email=!1:(this.templateData.errors.email=!0,Q.setAccessibilityText(`Please enter a valid email address.`)),this.renderMainTemplate(this.generateTemplateData())},300)}))}attachTextAreaEvents(){let e=this.mainContainer?.querySelector(`#`+X.mainTemplate?.feedbackTextAreaId);e&&e.addEventListener(`input`,()=>{this.templateData.feedbackTextArea=e.value,this.templateData.charactersLeft=this.templateData.maxLength-e.value.length;let t=this.mainContainer?.querySelector(`.`+X.mainTemplate?.charactersRemainingContainerclass);t&&(t.innerText=this.templateData.charactersLeft+``)})}attachRatingEvents(){let e=X.mainTemplate?.ratingInputclass,t=this.mainContainer?.querySelectorAll(`.`+e);t&&t.forEach(e=>{e.addEventListener(`click`,e=>{let t=e.target.value;this.templateData.ratings.forEach(e=>{e.isSelected=e.index+``===t}),this.templateData.errors.rating=!1,this.renderMainTemplate(this.generateTemplateData())})})}attachOpenModalEvent(){let e=X.mainTemplate?.openModalButtonClass,t=this.mainContainer?.querySelector(`.`+e);t&&t.addEventListener(`click`,e=>{e.preventDefault(),this.toggleModal()})}toggleModal(){this.templateData.feedbackOpen?this.closeFeedbackModal():this.openFeedbackModal()}closeModalEvent(){let e=X.mainTemplate?.closeModalButtonClass,t=this.mainContainer?.querySelector(`.`+e);t&&t.addEventListener(`click`,()=>{this.closeFeedbackModal()})}openFeedbackModal(){this.lastFocusedElementBeforeModal=document.activeElement,this.templateData.feedbackOpen=!0,this.renderMainTemplate(this.generateTemplateData()),setTimeout(()=>{let e=this.getModalElement();if(e){let t=this.getFocusableElements(e);t.length>0&&t[0].focus()}this.attachFocusTrap()},0),Q.setAccessibilityText(`Feedback form opened`,1e3)}closeFeedbackModal(){this.templateData.feedbackOpen=!1,this.focusTrapListener&&=(document.removeEventListener(`keydown`,this.focusTrapListener),null),this.renderMainTemplate(this.generateTemplateData()),this.lastFocusedElementBeforeModal&&=(this.lastFocusedElementBeforeModal.focus(),null),Q.setAccessibilityText(`Feedback form closed`,1e3)}showCheckmarkAnimation(){let e=X.mainTemplate?.submitButtonClass,t=this.mainContainer?.querySelector(`.`+e);t&&(t.disabled=!0);let n=X.mainTemplate?.checkmarkClass,r=this.mainContainer?.querySelector(`.`+n);r&&r.classList.remove(`hidden`);let i=X.mainTemplate?.submitButtonTextClass,a=this.mainContainer?.querySelector(`.`+i);a&&a.classList.add(`visibility`),setTimeout(()=>{r&&r.classList.add(`hidden`),a&&a.classList.remove(`visibility`),t&&(t.disabled=!1)},2e3)}destroy(){this.focusTrapListener&&=(document.removeEventListener(`keydown`,this.focusTrapListener),null)}},Kr=class{dataLayer;config;containerId;answerContainer=null;showMoreVisible=!1;renderFeedbackWidget=!1;clicked=!1;renderedWithShowMore=!1;showMoreListenerAttached=!1;conversationInputListenerAttached=!1;previousSearchQuery=``;conversationMessages=[];conversationEventSource=null;pendingConversationAnswer=``;waitingForConversationAnswer=!1;conversationPreviewUpdateFrameRequested=!1;shouldAutoScrollConversation=!1;hideFollowUpInputUntilNewMainSearch=!1;conversationInputDraftValue=``;shouldRestoreConversationInputFocus=!1;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.renderFeedbackWidget=this.config.feedbackwidget?.renderFeedbackWidget||!1,this.previousSearchQuery=this.dataLayer.searchObject.query,this.config.showMoreAfterWordCount&&(this.dataLayer.answerWidgetShowMoreLimit=this.config.showMoreAfterWordCount),typeof document<`u`&&(this.answerContainer=document?.getElementById(this.containerId),this.attachShowMoreClickListener(),this.attachConversationInputListener()),this.config.testString?(this.showMoreVisible=this.dataLayer.parsedData.shouldShowAnswerLoadMore,this.renderMainTemplate(this.generateTemplateData())):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(e=>{this.clicked=!1,this.renderedWithShowMore=!1,this.showMoreVisible=!1,e.query!==this.previousSearchQuery&&(this.conversationMessages=[],this.hideFollowUpInputUntilNewMainSearch=!1),this.previousSearchQuery=e.query}),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(){if(this.renderFeedbackWidget){let e=document.getElementById(`feedbackWidgetContainer`);e&&!this.dataLayer.answerLoading&&e.childElementCount===0&&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:this.config.feedbackwidget?.emailOverride,feedbackTextAreaOverride:this.config.feedbackwidget?.searchstaxFeedbackTextAreaOverride??this.searchstaxFeedbackTextAreaOverride.bind(this),thumbsUpValue:this.config.feedbackwidget?.thumbsUpValue??10,thumbsDownValue:this.config.feedbackwidget?.thumbsDownValue??0,lightweightTemplateOverride:this.config.feedbackwidget?.lightweightTemplateOverride})}}showMore(e){e.preventDefault(),this.clicked=!0,this.showMoreVisible=!1,tr.trackShowMoreClick?.({...this.dataLayer.parsedData.trackingData}),this.renderMainTemplate(this.generateTemplateData()),this.config.testString||setTimeout(()=>{this.initializeWidget()},600)}attachConversationInputListener(){!this.answerContainer||this.conversationInputListenerAttached||(this.conversationInputListenerAttached=!0,this.answerContainer.addEventListener(`keydown`,e=>{let t=e,n=e.target;!n||n.id!==`searchstax-conversation-input`||t.key===`Enter`&&(t.preventDefault(),this.submitConversationQuestion(n.value,n))}),this.answerContainer.addEventListener(`click`,e=>{if(!e.target?.closest?.(`.searchstax-conversation-search-icon`)||!this.answerContainer)return;let t=this.answerContainer.querySelector(`#searchstax-conversation-input`);t&&this.submitConversationQuestion(t.value,t)}))}submitConversationQuestion(e,t){let n=e.trim();if(!n||!this.dataLayer.searchHelper||this.waitingForConversationAnswer)return;this.conversationEventSource&&=(this.conversationEventSource.close(),null),this.conversationMessages.push({formattedMessage:this.formatConversationQuestion(n)}),this.pendingConversationAnswer=``,this.waitingForConversationAnswer=!0,this.shouldAutoScrollConversation=!0,t.value=``,this.renderMainTemplate(this.generateTemplateData());let r=this.dataLayer.searchHelper.startSSE(n,this.parseConversationAnswerChunk.bind(this),this.finalizeConversationAnswer.bind(this),!0);if(r){this.conversationEventSource=r;return}this.waitingForConversationAnswer=!1,this.dataLayer.setAnswerLoading(!1)}parseConversationAnswerChunk(e){e===gn.question||e===gn.notQuestion||((e.indexOf(`[!CAUTION]`)!==-1||e.indexOf(`searchstax-conversation-caution-message`)!==-1||e.indexOf(`Conversation has been ended due to too many follow-up questions`)!==-1)&&(this.hideFollowUpInputUntilNewMainSearch=!0,this.renderMainTemplate(this.generateTemplateData())),this.pendingConversationAnswer+=e,this.shouldAutoScrollConversation=!0,this.scheduleConversationPreviewUpdate())}finalizeConversationAnswer(){if(!this.waitingForConversationAnswer)return;let e=this.pendingConversationAnswer.trim();this.conversationMessages.push({formattedMessage:e?this.formatConversationAnswer(e):`<span class="searchstax-conversation-empty-answer" aria-hidden="true"> </span>`,messageClass:`searchstax-conversation-answer-enter`}),this.pendingConversationAnswer=``,this.waitingForConversationAnswer=!1,this.conversationEventSource=null,this.shouldAutoScrollConversation=!0,this.renderMainTemplate(this.generateTemplateData())}scrollConversationToBottom(){if(!this.answerContainer)return;let e=this.answerContainer.querySelector(`.searchstax-conversation-messages-container`);e&&(e.scrollTop=e.scrollHeight)}scheduleConversationPreviewUpdate(){if(this.conversationPreviewUpdateFrameRequested)return;this.conversationPreviewUpdateFrameRequested=!0;let e=()=>{this.conversationPreviewUpdateFrameRequested=!1,this.updateStreamingPreviewInPlace()};if(typeof window<`u`&&window.requestAnimationFrame){window.requestAnimationFrame(e);return}setTimeout(e,16)}updateStreamingPreviewInPlace(){if(!this.answerContainer||!this.waitingForConversationAnswer)return;let e=this.answerContainer.querySelector(`.searchstax-conversation-messages-container-message:last-child`),t=e?.querySelector(`.searchstax-conversation-streaming-message`);if(!e||!t){this.renderMainTemplate(this.generateTemplateData());return}let n=t.querySelector(`.searchstax-conversation-stream-text`);if(!n){n=document.createElement(`span`),n.className=`searchstax-conversation-stream-text`;let e=t.querySelector(`.searchstax-conversation-stream-loader`);e?t.insertBefore(n,e):t.appendChild(n)}n.innerHTML=this.renderConversationAnswerMarkdown(this.pendingConversationAnswer),t.classList.add(`searchstax-conversation-streaming-message-has-text`),this.shouldAutoScrollConversation&&this.scrollConversationToBottom()}formatConversationQuestion(e){return this.escapeHtml(e)}formatConversationAnswer(e){return this.renderConversationAnswerMarkdown(e)}formatConversationAnswerPreview(e){let t=this.renderConversationAnswerMarkdown(e).trim();return t?`<div class="searchstax-conversation-streaming-message searchstax-conversation-streaming-message-has-text"><span class="searchstax-conversation-stream-text">${t}</span><span class="searchstax-conversation-stream-loader"><span class="searchstax-answer-loading" aria-hidden="true"></span></span></div>`:`<div class="searchstax-conversation-streaming-message"><span class="searchstax-conversation-stream-loader"><span class="searchstax-answer-loading" aria-hidden="true"></span></span></div>`}renderConversationAnswerMarkdown(e){return ln.sanitize(A.parse(e)).replace(/<a /g,`<a target="_blank" class="searchstax-answer-link" rel="noopener noreferrer" `)}escapeHtml(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/\"/g,`"`).replace(/'/g,`'`)}attachShowMoreClickListener(){!this.answerContainer||this.showMoreListenerAttached||(this.showMoreListenerAttached=!0,this.answerContainer.addEventListener(`click`,e=>{e.target?.closest?.(`.searchstax-answer-load-more-button`)&&this.showMore(e)}))}captureConversationInputStateBeforeRender(){if(!this.answerContainer)return;let e=this.answerContainer.querySelector(`#searchstax-conversation-input`);e&&(this.conversationInputDraftValue=e.value,this.shouldRestoreConversationInputFocus=document.activeElement===e)}restoreConversationInputStateAfterRender(){if(!this.answerContainer||!this.conversationInputDraftValue&&!this.shouldRestoreConversationInputFocus)return;let e=this.answerContainer.querySelector(`#searchstax-conversation-input`);if(e&&(this.conversationInputDraftValue&&!e.value&&(e.value=this.conversationInputDraftValue),this.shouldRestoreConversationInputFocus)){e.focus();let t=e.value.length;e.setSelectionRange(t,t),this.shouldRestoreConversationInputFocus=!1}}trackLinkClick(e){e.preventDefault(),e.stopPropagation();let t=e.target.getAttribute(`href`);tr.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){let n=this.config?.templates?.main?.template||Z.answer.main.template;this.dataLayer.renderingEngine===t.mustache?(!this.renderedWithShowMore||!e.answerLoading||this.clicked||this.waitingForConversationAnswer)&&(this.captureConversationInputStateBeforeRender(),e.showMoreButtonVisible&&(this.renderedWithShowMore=!0),this.answerContainer.innerHTML=Y.render(n,e),setTimeout(()=>{this.restoreConversationInputStateAfterRender(),this.attachLinkTracking(),this.initializeWidget(),this.shouldAutoScrollConversation&&(this.scrollConversationToBottom(),this.waitingForConversationAnswer||(this.shouldAutoScrollConversation=!1))},100)):setTimeout(()=>{this.attachLinkTracking(),this.initializeWidget()},500)}generateTemplateData(){this.config.testString&&this.dataLayer.setAnswerData(this.config.testString??``);let e=this.waitingForConversationAnswer?[...this.conversationMessages,{formattedMessage:this.formatConversationAnswerPreview(this.pendingConversationAnswer)}]:this.conversationMessages,t={...this.dataLayer.parsedData.data,showMoreButtonVisible:this.showMoreVisible,answerLoading:!this.waitingForConversationAnswer&&this.dataLayer.parsedData.data.answerLoading,isConversation:(this.waitingForConversationAnswer||this.conversationMessages.length>0||this.dataLayer.getAnswerData!==``)&&!!this.dataLayer.conversationId,showConversationInput:!this.hideFollowUpInputUntilNewMainSearch,conversationMessages:e};return this.config.testString&&(t.searchExecuted=!0),this.dataLayer.setAnswerFullData(t),t}},qr=class{dataLayer;config;containerId;currentSelectValue=``;locationInput;radiusInput;locationDecode;locationDecodeCoordinatesToAddress;constructor(e){this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.locationDecode=e.config.hooks?.locationDecode,this.locationDecodeCoordinatesToAddress=e.config.hooks?.locationDecodeCoordinatesToAddress,this.dataLayer.locationEnabled&&this.dataLayer.$inputTemplateRendered.subscribeUntil(()=>{this.renderMainTemplate(),this.attachSubscriptions()},!0,500)}renderMainTemplate(){if(typeof document<`u`){let e=document?.getElementById(this.containerId);if(!e)throw Error(`Search input container not found`);let n=this.config.templates?.mainTemplate?.template||Z.location.mainTemplate.template,r={...this.dataLayer.parsedData.data};if(this.dataLayer.setLocationWidgetTemplateData(r),this.dataLayer.renderingEngine===t.mustache){e.innerHTML=Y.render(n,r);let t=this.config.templates?.mainTemplate?.locationInputId||Z.location.mainTemplate.locationInputId,i=document?.querySelector(`#${t}`);if(i)this.locationInput=i,i.addEventListener(`blur`,this.blurEvent.bind(this)),i.addEventListener(`focus`,this.focusEvent.bind(this));else throw Error(`Input not found`);let a=this.config.templates?.mainTemplate?.radiusInputId||Z.location.mainTemplate.radiusInputId,o=document?.querySelector(`#${a}`);o instanceof HTMLSelectElement&&(this.radiusInput=o,o.addEventListener(`change`,this.radiusSelectChangeEvent.bind(this)));let s=this.config.templates?.mainTemplate?.currentLocationActionButtonId||Z.location.mainTemplate.currentLocationActionButtonId,c=document?.querySelector(`#${s}`);c&&c.addEventListener(`click`,this.getCurrentLocation.bind(this))}}}setCurrentLocationFields(e){this.dataLayer.setLocationCoordinatesDecoded(e),this.dataLayer.setSearchLocation(this.dataLayer.searchLocationCoordinatesDecoded),this.dataLayer.renderingEngine===t.mustache&&this.locationInput&&(this.locationInput.value=this.dataLayer.searchLocationCoordinatesDecoded)}getCurrentLocation(){navigator.geolocation?navigator.geolocation.getCurrentPosition(e=>{let t=e.coords.latitude.toString(),n=e.coords.longitude.toString(),r=Math.floor(parseFloat(t)*100)/100,i=Math.floor(parseFloat(n)*100)/100;this.dataLayer.setSearchLat(r+``),this.dataLayer.setSearchLong(i+``);let a=this.locationDecodeCoordinatesToAddress;a?a(r+``,i+``).then(e=>{this.setCurrentLocationFields(e.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 H.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,``)).trim()}triggerGeocoder(e){let n=this.locationDecode;this.dataLayer.setLocationDecodingLoading(!0),e&&this.dataLayer.searchLocation!==e&&e!==this.dataLayer.searchLocationCoordinatesDecoded?n(e).then(e=>{this.dataLayer.setSearchLocation(e.address||``),this.dataLayer.setSearchLat(e.lat||``),this.dataLayer.setSearchLong(e.lon||``),this.locationInput&&(this.locationInput.value=this.cleanSuggestionTerm(e.address||``)),this.dataLayer.renderingEngine===t.mustache&&e.error&&this.locationInput&&this.locationInput.classList.add(`searchstax-input-location-error`),e.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){let t=e.target.value;this.triggerGeocoder(t)}},Jr=class{routerEnabled=!1;cachedQuery=``;routerHelper;searchHelper;searchResultsConfig;searchPaginationConfig;searchFeedbackConfig;searchSortingConfig;searchFacetsConfig;relatedSearchesConfig;externalPromotionsConfig;searchInputWidget;searchLocationWidget;searchResultsWidget;searchFacetsWidget=[];searchPaginationWidget;searchFeedbackWidget;searchSortingWidget;relatedSearchesWidget;externalPromotionsWidget;answerWidget;locationObserver=null;dataLayer;firstRequest=!0;previousQuery=``;eventSource=null;renderEngine=t.mustache;constructor(e=t.mustache){e&&(this.renderEngine=e)}setRenderingEngine(e=t.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){this.dataLayer.searchstaxConfig?.hooks?.afterSearch&&this.dataLayer.$searchResults.subscribe(e=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(e,this.dataLayer.searchResultUnparsedData)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!==this.previousQuery&&this.dataLayer.setAnswerData(``),e.query!==``&&e.query!==void 0&&e.query!==`undefined`?(this.search(e),e.query!==this.previousQuery&&this.startSSE(e.query)):this.dataLayer.searchLocationConfig?.locationSearchEnabled&&!this.dataLayer.searchLocationConfig?.locationValuesOverride?this.getMetadata(e):this.dataLayer.searchLocationConfig?.locationValuesOverride?.locationFilterDefaultValue&&this.dataLayer.setSearchRadius(this.dataLayer.searchLocationConfig?.locationValuesOverride?.locationFilterDefaultValue),this.previousQuery=e.query}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&tr.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}startSSE(e){this.eventSource&&(this.eventSource?.close(),this.dataLayer.setAnswerData(``)),this.dataLayer.turnAIAnswerGenerationOn===!0&&this.dataLayer.questionURL&&this.dataLayer.searchObject.query!==void 0&&this.dataLayer.searchObject.query!==`undefined`&&(this.eventSource=this.searchHelper?.startSSE(e,this.parseAnswerResultsResponse.bind(this)))}attachAnalyticsScript(e){tr.attachAnalyticsScript(e)}initialize(e){if(this.dataLayer=new fn(`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 nr({...e,sessionId:this.dataLayer.sessionId},this.dataLayer),this.dataLayer.searchHelper=this.searchHelper),e.router?.enabled===void 0||e.router?.enabled===!0){this.routerEnabled=!0,this.routerHelper=new mn(e.router?e.router:{enabled:!0});let t=this.routerHelper.urlToSearchObject(window?.location.href??``);this.dataLayer.searchObject.itemsPerPage?t.itemsPerPage=this.dataLayer.searchObject.itemsPerPage:t.itemsPerPage&&this.dataLayer.setItemsPerPage(t.itemsPerPage),t.model&&this.dataLayer.setModel(t.model),t.location&&(t.location.address&&this.dataLayer.setSearchLocation(t.location.address),t.location.lat&&this.dataLayer.setSearchLat(t.location.lat),t.location.lon&&this.dataLayer.setSearchLong(t.location.lon),t.location.radius&&this.dataLayer.setSearchRadius(t.location.radius)),this.dataLayer.setSearchObject(t),addEventListener(`popstate`,()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window?.location.href??``,this.dataLayer.searchObject.itemsPerPage))})}else this.routerHelper=new mn({})}getMetadata(e){this.searchHelper&&(e.query===`undefined`||e.query===void 0)&&this.dataLayer.setSearchObject({...e,query:`*`})}search(e){if(this.searchHelper){this.dataLayer.conversationId=void 0;let t=this.dataLayer.forceNotCorrect;this.searchHelper.url&&this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.relatedSearchesConfig?.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){let t=(e.response?.docs??[]).map((e,t)=>({...e,position:t+1})),n=[];for(let e of t)n.push({relatedSearch:e.related_search,position:e.position});this.dataLayer.setSearchRelatedSearches(t),this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&n.length&&tr.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:n,totalRelatredSearches:this.dataLayer.searchRelatedSearches?.length??0})}handleRouter(){if(this.routerEnabled){let e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponseMetadata(e){let t=pn.extractSearchResultsMetadata(e),n=this.dataLayer.searchLocationConfig?.locationValuesOverride?.locationFilterDefaultValue??t.location?.filter?.defaultValue;!this.dataLayer.searchRadius&&n&&this.dataLayer.setSearchRadius(n),this.dataLayer.setSearchResultsMetadata(t)}parseSearchResultsResponse(e){if(this.handleRouter(),!e)return;this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows)),this.dataLayer.setModel(e.responseHeader.params.model);let t=pn.combineResultsWithMetadata(e),n=pn.extractFacets(e);if(this.dataLayer.setSearchFacets(n),this.dataLayer.searchstaxConfig?.hooks?.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t,e)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]),this.parseSearchResultsResponseMetadata(e),this.dataLayer.setSearchResultUnparsedData(e),this.dataLayer.setSearchResults(t),this.firstRequest){let e=[];if(this.searchFacetsWidget.forEach(t=>{t.config.facetingType&&e.push(t.config.facetingType)}),!this.dataLayer.searchObject.facets.some(e=>e.type===`or`)){let t=e.indexOf(`or`);t!==-1&&e.splice(t,1)}this.dataLayer.searchObject.facets.length>0&&this.searchHelper?.cacheFacets(void 0,e)}this.firstRequest=!1}parseAnswerResultsResponse(e){this.handleRouter(),e!==gn.question&&e!==gn.notQuestion&&(this.dataLayer.setAnswerLoading(!0),this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e))}cacheFacets(e){this.searchHelper?.cacheFacets(e).then(()=>{})}parseSuggestSuggestResponse(e){let t=e;this.dataLayer.searchInputConfig?.hooks?.afterAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(t)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||this.dataLayer.$locationEnabled.subscribeUntilHasValue(()=>{this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Hr({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer})},200)}addSearchLocationWidget(e,t){this.dataLayer.searchLocationConfig||(t.locationSearchEnabled?(this.dataLayer.setLocationEnabled(!0),this.dataLayer.setSearchLocationConfig(t),t.locationValuesOverride?(this.searchLocationWidget=new qr({containerId:e,config:t,dataLayer:this.dataLayer}),t?.locationValuesOverride?.locationFilterDefaultValue&&this.dataLayer.setSearchRadius(t?.locationValuesOverride?.locationFilterDefaultValue)):this.dataLayer.$searchResultsMetadata.subscribeUntilHasValue(()=>{this.searchLocationWidget=new qr({containerId:e,config:t,dataLayer:this.dataLayer})},0)):this.dataLayer.setLocationEnabled(!1))}addAnswerWidget(e,t){this.dataLayer.turnAIAnswerGenerationOn=!0,t.testString||this.startSSE(this.dataLayer.searchObject.query),this.dataLayer.setAnswerData(t.testString??``),this.answerWidget=new Kr({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Ur({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 zr({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Vr({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 Br({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 Lr({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget.push(new Rr({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this)))}executeSearch(e,t){let n={...this.dataLayer.searchObject};n.query=H.removeXSSRiskyTags(e),n.page=1,n.facets=[],n.location={...n.location},this.locationObserver&&this.dataLayer.$locationDecodingLoading.unsubscribe(this.locationObserver),this.locationObserver=this.dataLayer.$locationDecodingLoading.subscribeUntil(()=>{n.location.address=this.dataLayer.searchLocation,n.location.radius=this.dataLayer.searchRadius,n.location.lat=this.dataLayer.searchLat,n.location.lon=this.dataLayer.searchLong,this.dataLayer.forceNotCorrect=!!t;let e=this.routerHelper?.searchObjectToParams(n);e&&=this.routerHelper?.extractParamsThatDoNotStartWithRouteName(e),e&&(n.additionalProps=Object.keys(e).map(t=>e?{key:t,value:e[t]}:{key:``,value:``})),this.dataLayer.setSearchObject(n),this.dataLayer.lastSearchValue=n.query},!1)}executeSuggest(e){let t={term:e,queryParams:[]};this.dataLayer.searchInputConfig?.hooks?.beforeAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(t)),t&&t.term!==void 0&&t.queryParams!==void 0&&this.suggest(t.term,t.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&tr.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e,totalRelatredSearches:this.dataLayer.searchRelatedSearches?.length??0})}executeLinkClick(e){let t=pn.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&(this.searchResultsConfig?.hooks?.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&tr.trackClick({result:t,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<`u`&&(window.location.href=t?.url??``)}).catch(()=>{typeof window<`u`&&(window.location.href=t?.url??``)}))}setPage(e){this.searchPaginationWidget?.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){this.searchResultsConfig&&(this.searchResultsConfig.templates=this.searchResultsConfig?.templates?{...this.searchResultsConfig?.templates,...e}:e,this.searchResultsWidget?.changeTemplate())}},$=(0,e.reactive)({searchstax:new Jr(`vue`)}),Yr={key:0},Xr=(0,e.defineComponent)({__name:`SearchstaxWrapper`,props:{language:{default:`en`},model:{},sessionId:{},searchURL:{},analyticsBaseUrl:{},analyticsSrc:{},suggesterURL:{},questionURL:{},trackApiKey:{},searchAuth:{},authType:{default:`basic`},autoCorrect:{type:Boolean,default:!0},router:{},beforeSearch:{},afterSearch:{},initialized:{}},emits:[`initialized`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.ref)(!1);return(0,e.onMounted)(()=>{let e={};r.beforeSearch&&(e.beforeSearch=r.beforeSearch),r.afterSearch&&(e.afterSearch=r.afterSearch),$.searchstax.initialize({language:r.language,model:r.model,searchURL:r.searchURL,suggesterURL:r.suggesterURL,trackApiKey:r.trackApiKey,searchAuth:r.searchAuth,authType:r.authType,autoCorrect:r.autoCorrect,router:r.router,hooks:e,analyticsBaseUrl:r.analyticsBaseUrl,analyticsSrc:r.analyticsSrc,sessionId:r.sessionId,questionURL:r.questionURL}),setTimeout(()=>{a.value=!0},10),i(`initialized`,$.searchstax)}),(t,n)=>a.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Yr,[(0,e.renderSlot)(t.$slots,`default`)])):(0,e.createCommentVNode)(``,!0)}}),Zr={class:`searchstax-location-input-container`,"data-test-id":`searchstax-location-input-container`},Qr={class:`searchstax-location-input-wrapper`},$r={class:`searchstax-location-input-wrapper-inner`},ei=[`value`],ti={key:0,class:`searchstax-location-input-label`},ni=[`value`],ri=[`value`],ii=(0,e.defineComponent)({__name:`SearchstaxLocationWidgetTemplate`,props:{locationData:{type:Object,required:!0},inputValue:{type:String,required:!0},selectValue:{type:String,required:!0},locationError:{type:Boolean,required:!0},inputChange:{type:Function,required:!0},radiusChange:{type:Function,required:!0},locationBlur:{type:Function,required:!0},getCurrentLocation:{type:Function,required:!0}},setup(t){return(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Zr,[(0,e.createElementVNode)(`div`,Qr,[r[4]||=(0,e.createElementVNode)(`span`,{class:`searchstax-location-input-label`},`NEAR`,-1),(0,e.createElementVNode)(`div`,$r,[(0,e.createElementVNode)(`input`,{type:`text`,id:`searchstax-location-input`,class:(0,e.normalizeClass)([`searchstax-location-input`,{"searchstax-input-location-error":t.locationError}]),placeholder:`Zip, Postal Code or City...`,"aria-label":`Search Location Input`,"data-test-id":`searchstax-location-input`,onChange:r[0]||=(...e)=>t.inputChange&&t.inputChange(...e),value:t.inputValue,onBlur:r[1]||=(...e)=>t.locationBlur&&t.locationBlur(...e)},null,42,ei),(0,e.createElementVNode)(`button`,{onClick:r[2]||=(...e)=>t.getCurrentLocation&&t.getCurrentLocation(...e),class:`searchstax-get-current-location-button`},` Use my current location `)]),t.locationData.shouldShowLocationDistanceDropdown?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,ti,`WITHIN`)):(0,e.createCommentVNode)(``,!0),t.locationData.shouldShowLocationDistanceDropdown?((0,e.openBlock)(),(0,e.createElementBlock)(`select`,{key:1,id:`searchstax-location-radius-select`,class:`searchstax-location-radius-select`,"aria-label":`Search Location Radius Select`,"data-test-id":`searchstax-location-radius-select`,onChange:r[3]||=(...e)=>t.radiusChange&&t.radiusChange(...e),value:t.selectValue},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.locationData.locationSearchDistanceValues,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`option`,{value:t.value,key:t.value},(0,e.toDisplayString)(t.label),9,ri))),128))],40,ni)):(0,e.createCommentVNode)(``,!0)])]))}}),ai=[`id`],oi=(0,e.defineComponent)({__name:`SearchstaxLocationWidget`,props:{locationDecode:{type:Function},locationDecodeCoordinatesToAddress:{type:Function},locationSearchEnabled:{type:Boolean},locationValuesOverride:{}},setup(t){let n=t,r=(0,e.useSlots)(),i=(0,e.ref)(null),a=Math.random(),o=(0,e.ref)(``),s=(0,e.ref)(``),c=(0,e.ref)(!1),l=(0,e.ref)(!1),u=()=>{$.searchstax.searchLocationWidget?.triggerGeocoder(o.value)},d=e=>{let t=e.target;s.value=t.value,$.searchstax.searchLocationWidget?.setRadiusValue(s.value)},f=e=>{let t=e.target;o.value=t.value},p=()=>{$.searchstax.searchLocationWidget?.getCurrentLocation()},m=()=>{$.searchstax.dataLayer.$locationWidgetTemplateData.subscribe(e=>{i.value=e}),$.searchstax.dataLayer.$searchObject.subscribe(e=>{o.value=e.location.address??``,s.value=e.location.radius||``}),$.searchstax.dataLayer.$locationError.subscribe(e=>{l.value=e}),$.searchstax.dataLayer.$searchLocationChange.subscribe(e=>{o.value=e}),$.searchstax.dataLayer.$searchRadiusChange.subscribe(e=>{s.value=String(e)})},h=()=>{!c.value&&$.searchstax.routerHelper&&(c.value=!0,$.searchstax.addSearchLocationWidget(`searchstax-location-container`+a,{hooks:{locationDecode:n.locationDecode,locationDecodeCoordinatesToAddress:n.locationDecodeCoordinatesToAddress},locationSearchEnabled:n.locationSearchEnabled,locationValuesOverride:n.locationValuesOverride}))},g=(0,e.computed)(()=>!!r.location);return(0,e.onMounted)(()=>{if($.searchstax)m(),h();else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{id:`searchstax-location-container`+(0,e.unref)(a),class:`searchstax-location-container`},[i.value&&!g.value?((0,e.openBlock)(),(0,e.createBlock)(ii,{key:0,locationData:i.value,inputValue:o.value,selectValue:s.value,locationError:l.value,inputChange:f,radiusChange:d,locationBlur:u,getCurrentLocation:p},null,8,[`locationData`,`inputValue`,`selectValue`,`locationError`])):(0,e.createCommentVNode)(``,!0),i.value&&g.value?(0,e.renderSlot)(t.$slots,`location`,{locationData:i.value,locationError:l.value,radiusChange:d,locationBlur:u,selectValue:s.value,getCurrentLocation:p,inputValue:o.value,inputChange:f},void 0,void 0,1):(0,e.createCommentVNode)(``,!0)],8,ai))}}),si={class:`searchstax-search-input-wrapper`},ci={key:1,id:`searchstax-separator-icon`,class:`searchstax-separator`},li=[`innerHTML`,`onMouseover`],ui=(0,e.defineComponent)({__name:`SearchstaxInputWidgetTemplate`,props:{suggestions:{type:Array,required:!0},onMouseLeave:{type:Function,required:!0},onMouseOver:{type:Function,required:!0},onMouseClick:{type:Function,required:!0},onClearClick:{type:Function,required:!1},hasInputValue:{type:Boolean,required:!1}},setup(t){return(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.createElementVNode)(`div`,si,[r[4]||=(0,e.createElementVNode)(`input`,{type:`text`,id:`searchstax-search-input`,class:`searchstax-search-input`,placeholder:`SEARCH FOR...`,"aria-label":`search`},null,-1),t.hasInputValue?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,onClick:r[0]||=(...e)=>t.onClearClick&&t.onClearClick(...e),onKeyup:r[1]||=(0,e.withKeys)((...e)=>t.onClearClick&&t.onClearClick(...e),[`enter`]),id:`searchstax-clear-input-action-button`,class:`searchstax-cross-icon`,"aria-label":`clear input`,role:`button`},null,32)):(0,e.createCommentVNode)(``,!0),t.hasInputValue?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,ci)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`searchstax-autosuggest-container`,{hidden:t.suggestions.length===0}]),onMouseleave:r[3]||=(...e)=>t.onMouseLeave&&t.onMouseLeave(...e)},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.suggestions,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`searchstax-autosuggest-item`,key:n.term},[(0,e.createElementVNode)(`div`,{class:`searchstax-autosuggest-item-term-container`,innerHTML:n.term,tabindex:`0`,onMouseover:e=>t.onMouseOver(n),onClick:r[2]||=(0,e.withModifiers)(e=>t.onMouseClick(),[`stop`])},null,40,li)]))),128))],34)]),(0,e.createVNode)(oi),r[5]||=(0,e.createElementVNode)(`button`,{class:`searchstax-spinner-icon`,id:`searchstax-search-input-action-button`,"aria-label":`search`,role:`button`},null,-1)],64))}}),di={id:`searchstax-input-container`},fi=(0,e.defineComponent)({__name:`SearchstaxInputWidget`,props:{afterAutosuggest:{type:Function},beforeAutosuggest:{type:Function},searchInputId:{},suggestAfterMinChars:{},locationDecode:{type:Function},locationDecodeCoordinatesToAddress:{type:Function}},setup(t){let n=t,r=(0,e.useSlots)(),i=(0,e.ref)([]),a=(0,e.ref)(null),o=()=>{$.searchstax.searchInputWidget.resetAutosuggestSelection(),$.searchstax.searchInputWidget.markActiveAutosuggestItem()},s=e=>{$.searchstax.searchInputWidget.onSuggestionEnter(e)},c=()=>{$.searchstax.searchInputWidget.suggestionChosen()},l=()=>{$.searchstax.searchInputWidget.clearInput()},u=()=>{$.searchstax.dataLayer.$autosuggestResults.subscribe(e=>{i.value=e?.suggestions??[]}),$.searchstax.dataLayer.$inputWidgetTemplateData.subscribe(e=>{a.value=e})},d=(0,e.computed)(()=>!!r.input);return(0,e.onMounted)(()=>{if($.searchstax){u();let e={};n.afterAutosuggest&&(e.afterAutosuggest=n.afterAutosuggest),n.beforeAutosuggest&&(e.beforeAutosuggest=n.beforeAutosuggest),$.searchstax.addSearchInputWidget(`searchstax-input-container`,{suggestAfterMinChars:n.suggestAfterMinChars,hooks:e,templates:{mainTemplate:{template:``,searchInputId:n.searchInputId??`searchstax-search-input`}}})}else throw Error(`Searchstax instance needs to be passed via props`);$.searchstax.dataLayer.setInputTemplateRendered(!0)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,di,[(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`searchstax-search-input-container searchstax-search-input-container-new`,{"searchstax-alternative-render":a.value?.locationEnabled}])},[d.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createBlock)(ui,{key:0,suggestions:i.value,onMouseClick:c,onMouseOver:s,onMouseLeave:o,onClearClick:l,hasInputValue:a.value?.hasInputValue??!1},null,8,[`suggestions`,`hasInputValue`])),(0,e.renderSlot)(t.$slots,`input`,{suggestions:i.value,onMouseClick:c,onMouseOver:s,onMouseLeave:o,onClearClick:l,hasInputValue:a.value?.hasInputValue??!1})],2)]))}}),pi={key:0,class:`searchstax-search-results`},mi=[`href`,`data-searchstax-unique-result-id`,`onClick`,`onKeyup`],hi={key:0,class:`searchstax-search-result-promoted`},gi=[`innerHTML`],_i=[`src`],vi={class:`searchstax-search-result-title-container`},yi=[`id`,`innerHTML`],bi=[`innerHTML`],xi=[`innerHTML`],Si={key:0,class:`searchstax-search-result-image-container`},Ci=[`src`],wi={key:1},Ti=[`innerHTML`],Ei=(0,e.defineComponent)({__name:`SearchstaxResultWidgetDefaultTemplate`,props:{searchResults:{type:Object,required:!0},resultClicked:{type:Function,required:!0}},setup(t){return(n,r)=>t.searchResults&&t.searchResults.length?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,pi,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.searchResults,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:n.uniqueId,href:n.url,"data-searchstax-unique-result-id":n.uniqueId,onClick:e=>t.resultClicked(n,e),onKeyup:[(0,e.withKeys)(e=>t.resultClicked(n,e),[`enter`]),(0,e.withKeys)(e=>t.resultClicked(n,e),[`space`])],"aria-labelledby":`title-{{searchResult.uniqueId}}`,class:`searchstax-result-item-link searchstax-result-item-link-wrapping`,tabindex:`0`},[(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`searchstax-search-result`,{"has-thumbnail":n.thumbnail,promoted:n.promoted}])},[n.promoted?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,hi)):(0,e.createCommentVNode)(``,!0),n.ribbon?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:1,innerHTML:n.ribbon,class:`searchstax-search-result-ribbon`},null,8,gi)):(0,e.createCommentVNode)(``,!0),n.thumbnail?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:2,alt:``,src:n.thumbnail,class:`searchstax-thumbnail`},null,8,_i)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,vi,[(0,e.createElementVNode)(`span`,{class:`searchstax-search-result-title`,id:`title-`+n.uniqueId,innerHTML:n.title},null,8,yi)]),n.paths?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,{key:3,innerHTML:n.paths,tabindex:`0`,class:`searchstax-search-result-common`},null,8,bi)):(0,e.createCommentVNode)(``,!0),n.description?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,{key:4,tabindex:`0`,innerHTML:n.description,class:`searchstax-search-result-description searchstax-search-result-common`},null,8,xi)):(0,e.createCommentVNode)(``,!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(n.unmappedFields,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:t.key},[t.isImage&&typeof t.value==`string`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Si,[(0,e.createElementVNode)(`img`,{alt:``,src:t.value,class:`searchstax-result-image`},null,8,Ci)])):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,wi,[(0,e.createElementVNode)(`p`,{tabindex:`0`,class:`searchstax-search-result-common`,innerHTML:t.value},null,8,Ti)]))]))),128))],2)],40,mi))),128))])):(0,e.createCommentVNode)(``,!0)}}),Di={key:0},Oi={class:`searchstax-no-results`},ki={key:0},Ai=(0,e.defineComponent)({__name:`SearchstaxResultWidgetNoResultsTemplate`,props:{searchResults:{type:Object,required:!0},resultClicked:{type:Function,required:!0},searchTerm:{type:String,required:!0},metadata:{type:Object,required:!1},store:{type:Object,required:!0},executeSearch:{type:Function,required:!0}},setup(t){return(n,r)=>t.searchResults&&t.searchResults.length===0&&t.searchTerm!==``&&t.searchTerm!==`*`&&t.store.searchstax.dataLayer.parsedData.firstSearchHappened?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Di,[(0,e.createElementVNode)(`div`,Oi,[r[3]||=(0,e.createTextVNode)(` Showing `,-1),r[4]||=(0,e.createElementVNode)(`strong`,null,`no results`,-1),r[5]||=(0,e.createTextVNode)(` for `,-1),(0,e.createElementVNode)(`strong`,null,`"`+(0,e.toDisplayString)(t.searchTerm)+`"`,1),r[6]||=(0,e.createElementVNode)(`br`,null,null,-1),t.metadata?.spellingSuggestion?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,ki,[r[1]||=(0,e.createTextVNode)(`Did you mean `,-1),(0,e.createElementVNode)(`a`,{href:`#`,class:`searchstax-suggestion-term`,onClick:r[0]||=e=>t.executeSearch(t.metadata?.spellingSuggestion,e)},(0,e.toDisplayString)(t.metadata?.spellingSuggestion),1),r[2]||=(0,e.createTextVNode)(`?`,-1)])):(0,e.createCommentVNode)(``,!0)]),r[7]||=(0,e.createElementVNode)(`ul`,null,[(0,e.createElementVNode)(`li`,null,` Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need. `)],-1)])):(0,e.createCommentVNode)(``,!0)}}),ji={id:`searchstax-results-container`},Mi={"aria-label":`search results container`,tabindex:`0`},Ni={class:`searchstax-search-results-container`,id:`searchstax-search-results-container`},Pi={id:`searchstax-result-container`},Fi={key:3},Ii=(0,e.defineComponent)({__name:`SearchstaxResultWidget`,props:{afterLinkClick:{type:Function},renderMethod:{},resultsPerPage:{}},setup(t){let n=t,r=(0,e.useSlots)(),i=(0,e.ref)(null),a=(0,e.ref)(null),o=(0,e.ref)(``),s=(0,e.computed)(()=>!!r.noResult),c=(0,e.computed)(()=>!!r.results),l=(0,e.computed)(()=>{let e={};return n.afterLinkClick&&(e.afterLinkClick=n.afterLinkClick),e}),u=(e,t)=>{t.preventDefault(),t.stopPropagation(),$.searchstax.executeLinkClick(e.uniqueId)},d=(e,t)=>{t.preventDefault(),$.searchstax.executeSearch(e)},f=()=>{$.searchstax.dataLayer.$searchResults.subscribe(e=>{let t=i.value??[],r=e??[],a=n.renderMethod===`infiniteScroll`?[...t,...r]:e;$.searchstax.dataLayer.$searchObject.value?.page===1?i.value=e:i.value=a}),$.searchstax.dataLayer.$searchTermChange.subscribe(e=>{o.value=e}),$.searchstax.dataLayer.$searchResultsMetadata.subscribe(e=>{a.value=e})};return(0,e.onMounted)(()=>{if($.searchstax)f(),$.searchstax.addSearchResultsWidget(`searchstax-results-container`,{templates:{},renderMethod:n.renderMethod??`pagination`,resultsPerPage:n.resultsPerPage,hooks:l.value});else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ji,[(0,e.createElementVNode)(`section`,Mi,[(0,e.createElementVNode)(`div`,Ni,[(0,e.createElementVNode)(`div`,Pi,[i.value&&i.value.length===0&&o.value!==``&&o.value!==`*`&&(0,e.unref)($).searchstax.dataLayer.parsedData.firstSearchHappened&&!s.value?((0,e.openBlock)(),(0,e.createBlock)(Ai,{key:0,searchTerm:o.value,metadata:a.value,executeSearch:d,store:(0,e.unref)($),searchResults:i.value,resultClicked:u},null,8,[`searchTerm`,`metadata`,`store`,`searchResults`])):(0,e.createCommentVNode)(``,!0),i.value&&i.value.length===0&&o.value!==``&&o.value!==`*`&&(0,e.unref)($).searchstax.dataLayer.parsedData.firstSearchHappened&&s.value?(0,e.renderSlot)(t.$slots,`noResult`,{searchTerm:o.value,metadata:a.value,executeSearch:d,store:(0,e.unref)($),searchResults:i.value,resultClicked:u},void 0,void 0,1):(0,e.createCommentVNode)(``,!0),i.value&&i.value.length&&!c.value?((0,e.openBlock)(),(0,e.createBlock)(Ei,{key:2,searchResults:i.value,resultClicked:u},null,8,[`searchResults`])):(0,e.createCommentVNode)(``,!0),i.value&&i.value.length&&c.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Fi,[(0,e.renderSlot)(t.$slots,`results`,{searchResults:i.value,resultClicked:u})])):(0,e.createCommentVNode)(``,!0)])])])]))}}),Li={key:0,class:`searchstax-facets-container-desktop`},Ri=[`onClick`],zi={class:`searchstax-facet-title`},Bi={class:`searchstax-facet-values-container`,"aria-live":`polite`},Vi={class:`searchstax-facet-input`},Hi=[`checked`,`disabled`,`aria-label`,`onClick`],Ui=[`onClick`],Wi=[`onClick`],Gi={key:0,class:`searchstax-facet-show-more-container`},Ki=[`onClick`,`onKeyup`],qi={key:0,class:`searchstax-facet-show-less-button searchstax-facet-show-button`},Ji={key:1,class:`searchstax-facet-show-more-button searchstax-facet-show-button`},Yi=(0,e.defineComponent)({__name:`SearchstaxFacetsWidgetDesktopTemplate`,props:{facetsTemplateDataDesktop:{type:Object,required:!0},isNotDeactivated:{type:Function,required:!0},toggleFacetGroup:{type:Function,required:!0},isChecked:{type:Function,required:!0},selectFacet:{type:Function,required:!0},showMoreLessDesktop:{type:Function,required:!0},facetContainers:{type:Object,required:!0}},emits:[`updateRefDesktop`],setup(t,{emit:n}){let r=t,i=n,a=(e,t)=>(i(`updateRefDesktop`,e,t),r.facetContainers);return(n,r)=>t.facetsTemplateDataDesktop?.hasResultsOrExternalPromotions?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Li,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.facetsTemplateDataDesktop.facets,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:n.name+`desktop`,class:(0,e.normalizeClass)([`searchstax-facet-container`,{active:t.isNotDeactivated(n.name)}])},[(0,e.createElementVNode)(`div`,null,[(0,e.createElementVNode)(`div`,{class:`searchstax-facet-title-container`,onClick:e=>t.toggleFacetGroup(n.name)},[(0,e.createElementVNode)(`div`,zi,(0,e.toDisplayString)(n.label),1),r[0]||=(0,e.createElementVNode)(`div`,{class:`searchstax-facet-title-arrow active`},null,-1)],8,Ri),(0,e.createElementVNode)(`div`,Bi,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(n.values,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:n.value+n.parentName,class:(0,e.normalizeClass)([`searchstax-facet-value-container`,{"searchstax-facet-value-disabled":n.disabled}]),ref_for:!0,ref:e=>a(e,n)},[(0,e.createElementVNode)(`div`,Vi,[(0,e.createElementVNode)(`input`,{type:`checkbox`,class:`searchstax-facet-input-checkbox`,checked:t.isChecked(n),disabled:n.disabled,"aria-label":n.value+` `+n.count,onClick:e=>t.selectFacet(n.value+`-desktop`,e,n,!0)},null,8,Hi)]),(0,e.createElementVNode)(`div`,{class:`searchstax-facet-value-label`,onClick:e=>t.selectFacet(n.value+`-desktop`,e,n,!1)},(0,e.toDisplayString)(n.value),9,Ui),(0,e.createElementVNode)(`div`,{class:`searchstax-facet-value-count`,onClick:e=>t.selectFacet(n.value+`-desktop`,e,n,!1)},` (`+(0,e.toDisplayString)(n.count)+`) `,9,Wi)],2))),128)),n.hasMoreFacets?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Gi,[(0,e.createElementVNode)(`div`,{class:`searchstax-facet-show-more-container`,onClick:e=>t.showMoreLessDesktop(e,n),onKeyup:[(0,e.withKeys)(e=>{e.preventDefault(),t.showMoreLessDesktop(e,n)},[`space`]),(0,e.withKeys)(e=>t.showMoreLessDesktop(e,n),[`enter`])],tabindex:`0`,role:`button`},[n.showingAllFacets?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,qi,` less `)):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ji,` more `))],40,Ki)])):(0,e.createCommentVNode)(``,!0)])])],2))),128))])):(0,e.createCommentVNode)(``,!0)}}),Xi={key:0,class:`searchstax-facets-container-mobile`},Zi={class:`searchstax-facets-pills-container`},Qi={class:`searchstax-facets-pills-selected`},$i=[`onClick`],ea={class:`searchstax-facets-pill-label`},ta={class:`searchstax-facets-mobile-overlay-header`},na={class:`searchstax-facets-container-mobile`},ra=[`onClick`],ia={class:`searchstax-facet-title`},aa={class:`searchstax-facet-values-container`,"aria-live":`polite`},oa={class:`searchstax-facet-input`},sa=[`checked`,`disabled`,`aria-label`,`onClick`],ca=[`onClick`],la=[`onClick`],ua={key:0,class:`searchstax-facet-show-more-container`},da=[`onClick`,`onKeyup`],fa={key:0,class:`searchstax-facet-show-less-button searchstax-facet-show-button`},pa={key:1,class:`searchstax-facet-show-more-button searchstax-facet-show-button`},ma=(0,e.defineComponent)({__name:`SearchstaxFacetsWidgetMobileTemplate`,props:{facetsTemplateDataMobile:{type:Object,required:!0},isNotDeactivated:{type:Function,required:!0},toggleFacetGroup:{type:Function,required:!0},isChecked:{type:Function,required:!0},selectFacet:{type:Function,required:!0},showMoreLessDesktop:{type:Function,required:!0},showMoreLessMobile:{type:Function,required:!0},facetContainers:{type:Object,required:!0},openOverlay:{type:Function,required:!0},selectedFacetsCheckboxes:{type:Array,required:!0},unselectFacet:{type:Function,required:!0},unselectAll:{type:Function,required:!0},closeOverlay:{type:Function,required:!0}},emits:[`updateRefMobile`],setup(t,{emit:n}){let r=t,i=n,a=(e,t)=>(i(`updateRefMobile`,e,t),r.facetContainers);return(n,r)=>t.facetsTemplateDataMobile?.hasResultsOrExternalPromotions?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Xi,[(0,e.createElementVNode)(`div`,Zi,[(0,e.createElementVNode)(`div`,{class:`searchstax-facets-pill searchstax-facets-pill-filter-by`,onClick:r[0]||=(...e)=>t.openOverlay&&t.openOverlay(...e)},[...r[4]||=[(0,e.createElementVNode)(`div`,{class:`searchstax-facets-pill-label`},`Filter By`,-1)]]),(0,e.createElementVNode)(`div`,Qi,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.selectedFacetsCheckboxes,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`searchstax-facets-pill searchstax-facets-pill-facets`,key:n.value,onClick:e=>t.unselectFacet(n)},[(0,e.createElementVNode)(`div`,ea,(0,e.toDisplayString)(n.value)+` (`+(0,e.toDisplayString)(n.count)+`)`,1),r[5]||=(0,e.createElementVNode)(`div`,{class:`searchstax-facets-pill-icon-close`},null,-1)],8,$i))),128))]),t.selectedFacetsCheckboxes.length?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:`searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all`,onClick:r[1]||=(...e)=>t.unselectAll&&t.unselectAll(...e)},[...r[6]||=[(0,e.createElementVNode)(`div`,{class:`searchstax-facets-pill-label`},`Clear Filters`,-1)]])):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`searchstax-facets-mobile-overlay`,{"searchstax-show":t.facetsTemplateDataMobile?.overlayOpened}])},[(0,e.createElementVNode)(`div`,ta,[r[7]||=(0,e.createElementVNode)(`div`,{class:`searchstax-facets-mobile-overlay-header-title`},`Filter By`,-1),(0,e.createElementVNode)(`div`,{class:`searchstax-search-close`,onClick:r[2]||=(...e)=>t.closeOverlay&&t.closeOverlay(...e)})]),(0,e.createElementVNode)(`div`,na,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.facetsTemplateDataMobile?.facets,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:n.name+`mobile`,class:(0,e.normalizeClass)([`searchstax-facet-container`,{active:t.isNotDeactivated(n.name)}])},[(0,e.createElementVNode)(`div`,null,[(0,e.createElementVNode)(`div`,{class:`searchstax-facet-title-container`,onClick:e=>t.toggleFacetGroup(n.name)},[(0,e.createElementVNode)(`div`,ia,(0,e.toDisplayString)(n.label),1),r[8]||=(0,e.createElementVNode)(`div`,{class:`searchstax-facet-title-arrow active`},null,-1)],8,ra),(0,e.createElementVNode)(`div`,aa,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(n.values,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:n.value+n.parentName,class:(0,e.normalizeClass)([`searchstax-facet-value-container`,{"searchstax-facet-value-disabled":n.disabled}]),ref_for:!0,ref:e=>{a(e,n)}},[(0,e.createElementVNode)(`div`,oa,[(0,e.createElementVNode)(`input`,{type:`checkbox`,class:`searchstax-facet-input-checkbox`,checked:t.isChecked(n),disabled:n.disabled,"aria-label":n.value+` `+n.count,onClick:e=>t.selectFacet(n.value+`-mobile`,e,n,!0)},null,8,sa)]),(0,e.createElementVNode)(`div`,{class:`searchstax-facet-value-label`,onClick:e=>t.selectFacet(n.value+`-mobile`,e,n,!1)},(0,e.toDisplayString)(n.value),9,ca),(0,e.createElementVNode)(`div`,{class:`searchstax-facet-value-count`,onClick:e=>t.selectFacet(n.value+`-mobile`,e,n,!1)},` (`+(0,e.toDisplayString)(n.count)+`) `,9,la)],2))),128)),n.hasMoreFacets?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ua,[(0,e.createElementVNode)(`div`,{class:`searchstax-facet-show-more-container`,onClick:e=>t.showMoreLessMobile(e,n),onKeyup:[(0,e.withKeys)(e=>t.showMoreLessMobile(e,n),[`space`]),(0,e.withKeys)(e=>t.showMoreLessMobile(e,n),[`enter`])],tabindex:`0`},[n.showingAllFacets?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,fa,` less `)):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,pa,` more `))],40,da)])):(0,e.createCommentVNode)(``,!0)])])],2))),128))]),(0,e.createElementVNode)(`button`,{class:`searchstax-facets-mobile-overlay-done`,onClick:r[3]||=(...e)=>t.closeOverlay&&t.closeOverlay(...e)},`Done`)],2)])):(0,e.createCommentVNode)(``,!0)}}),ha=[`id`],ga={key:1},_a={key:3},va=(0,e.defineComponent)({__name:`SearchstaxFacetsWidget`,props:{facetingType:{},itemsPerPageDesktop:{},itemsPerPageMobile:{},specificFacets:{},beforeFacetsRender:{type:Function}},setup(t){let n=t,r=(0,e.useSlots)(),i=(0,e.ref)(null),a=(0,e.ref)(null),o=(0,e.ref)([]),s=(0,e.ref)([]),c=Math.random(),l=(0,e.computed)(()=>!!r.desktopFacets),u=(0,e.computed)(()=>!!r.mobileFacets),d=()=>{$.searchstax.dataLayer.$facetsTemplateData.subscribe(e=>{e?.isMobile?a.value=e:i.value=e}),$.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe(e=>{s.value=(e??[]).filter(e=>e.type===`checkbox`)})},f=e=>{$.searchstax.searchFacetsWidget[0].unselectFacet(e)},p=()=>{$.searchstax.searchFacetsWidget[0].removeSelectedFacets()},m=e=>!$.searchstax.searchFacetsWidget[0].deactivatedFacets[e],h=e=>{m(e)?$.searchstax.searchFacetsWidget[0].deactivatedFacets[e]=!0:$.searchstax.searchFacetsWidget[0].deactivatedFacets[e]=!1},g=e=>$.searchstax.searchFacetsWidget[0].isChecked(e),_=(e,t,n,r)=>{let i=document.createElement(`div`);i.innerHTML=o.value[e].outerHTML,$.searchstax.searchFacetsWidget[0].onFacetSelect(t,n,o.value[e],r)},v=(e,t)=>{$.searchstax.searchFacetsWidget[0].onShowMoreLessClick(e,t,!1)},y=(e,t)=>{$.searchstax.searchFacetsWidget[0].onShowMoreLessClick(e,t,!0)},b=()=>{$.searchstax.searchFacetsWidget[0].openOverlay()},x=()=>{$.searchstax.searchFacetsWidget[0].closeOverlay()},S=e=>{o.value[e.facetValue]=e.element},ee=(e,t)=>(S({facetValue:t.value+`-desktop`,element:e}),o.value),te=(e,t)=>(S({facetValue:t.value+`-mobile`,element:e}),o.value);return(0,e.onMounted)(()=>{$.searchstax.addFacetsWidget(`searchstax-facets-container`+c,{facetingType:n.facetingType,specificFacets:n.specificFacets,itemsPerPageDesktop:n.itemsPerPageDesktop,itemsPerPageMobile:n.itemsPerPageMobile,hooks:{beforeFacetsRender:n.beforeFacetsRender}}),d()}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{id:`searchstax-facets-container`+(0,e.unref)(c)},[l.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createBlock)(Yi,{key:0,facetsTemplateDataDesktop:i.value,isNotDeactivated:m,toggleFacetGroup:h,isChecked:g,selectFacet:_,showMoreLessDesktop:v,facetContainers:o.value,onUpdateRef:S,onUpdateRefDesktop:ee},null,8,[`facetsTemplateDataDesktop`,`facetContainers`])),l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ga,[(0,e.renderSlot)(t.$slots,`desktopFacets`,{facetsTemplateDataDesktop:i.value,isNotDeactivated:m,toggleFacetGroup:h,isChecked:g,selectFacet:_,showMoreLessDesktop:v,facetContainers:o.value,onUpdateRef:S,onUpdateRefDesktop:ee})])):(0,e.createCommentVNode)(``,!0),u.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createBlock)(ma,{key:2,facetsTemplateDataMobile:a.value,isNotDeactivated:m,toggleFacetGroup:h,isChecked:g,selectFacet:_,showMoreLessDesktop:v,showMoreLessMobile:y,facetContainers:o.value,openOverlay:b,selectedFacetsCheckboxes:s.value,unselectFacet:f,unselectAll:p,closeOverlay:x,onUpdateRef:S,onUpdateRefMobile:te},null,8,[`facetsTemplateDataMobile`,`facetContainers`,`selectedFacetsCheckboxes`])),u.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,_a,[(0,e.renderSlot)(t.$slots,`mobileFacets`,{facetsTemplateDataMobile:a.value,selectedFacetsCheckboxes:s.value,isNotDeactivated:m,toggleFacetGroup:h,isChecked:g,selectFacet:_,showMoreLessDesktop:v,facetContainers:o.value,openOverlay:b,unselectFacet:f,unselectAll:p,closeOverlay:x,onUpdateRef:S,onUpdateRefMobile:te})])):(0,e.createCommentVNode)(``,!0)],8,ha))}}),ya={key:0,class:`searchstax-pagination-container`},ba={class:`searchstax-pagination-content`},xa=[`disabled`],Sa={class:`searchstax-pagination-details`},Ca=[`disabled`],wa=(0,e.defineComponent)({__name:`SearchstaxPaginationWidgetDefaultTemplate`,props:{paginationData:{type:Object,required:!0},nextPage:{type:Function,required:!0},previousPage:{type:Function,required:!0}},setup(t){return(n,r)=>t.paginationData?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ya,[(0,e.createElementVNode)(`div`,ba,[(0,e.createElementVNode)(`a`,{class:(0,e.normalizeClass)([`searchstax-pagination-previous`,t.paginationData.isFirstPage?`disabled`:``]),disabled:t.paginationData?.isFirstPage,onClick:r[0]||=(...e)=>t.previousPage&&t.previousPage(...e),onKeyup:[r[1]||=(0,e.withKeys)((...e)=>t.previousPage&&t.previousPage(...e),[`enter`]),r[2]||=(0,e.withKeys)((...e)=>t.previousPage&&t.previousPage(...e),[`space`])],tabindex:`0`,id:`searchstax-pagination-previous`},` < Previous `,42,xa),(0,e.createElementVNode)(`div`,Sa,(0,e.toDisplayString)(t.paginationData?.startResultIndex)+` - `+(0,e.toDisplayString)(t.paginationData?.endResultIndex)+` of `+(0,e.toDisplayString)(t.paginationData?.totalResults),1),(0,e.createElementVNode)(`a`,{class:(0,e.normalizeClass)([`searchstax-pagination-next`,t.paginationData.isLastPage?`disabled`:``]),disabled:t.paginationData?.isLastPage,tabindex:`0`,onClick:r[3]||=(...e)=>t.nextPage&&t.nextPage(...e),onKeyup:[r[4]||=(0,e.withKeys)((...e)=>t.nextPage&&t.nextPage(...e),[`enter`]),r[5]||=(0,e.withKeys)((...e)=>t.nextPage&&t.nextPage(...e),[`space`])],id:`searchstax-pagination-next`},`Next >`,42,Ca)])])):(0,e.createCommentVNode)(``,!0)}}),Ta={className:`searchstax-pagination-container`},Ea=(0,e.defineComponent)({__name:`SearchstaxPaginationWidgetInfiniteScrollTemplate`,props:{nextPage:{type:Function,required:!0}},setup(t){return(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ta,[(0,e.createElementVNode)(`a`,{class:`searchstax-pagination-load-more`,tabindex:`0`,onClick:r[0]||=(...e)=>t.nextPage&&t.nextPage(...e),onKeyup:[r[1]||=(0,e.withKeys)((...e)=>t.nextPage&&t.nextPage(...e),[`enter`]),r[2]||=(0,e.withKeys)((...e)=>t.nextPage&&t.nextPage(...e),[`space`])]},`Load More`,32)]))}}),Da=[`id`],Oa={key:1},ka={key:3},Aa=(0,e.defineComponent)({__name:`SearchstaxPaginationWidget`,setup(t){let n=(0,e.useSlots)(),r=(0,e.ref)(null),i=Math.random(),a=(0,e.ref)(!1),o=e=>{$.searchstax.searchPaginationWidget.nextPage(e)},s=e=>{$.searchstax.searchPaginationWidget.previousPage(e)},c=()=>{$.searchstax.dataLayer.$searchObject.subscribe(()=>{l()}),$.searchstax.dataLayer.$paginationData.subscribe(e=>{r.value=e})},l=()=>{!a.value&&$.searchstax.routerHelper&&(a.value=!0,$.searchstax.addPaginationWidget(`searchstax-pagination-container`+i,{}))},u=(0,e.computed)(()=>!!n.pagination),d=(0,e.computed)(()=>!!n.infiniteScroll);return(0,e.onMounted)(()=>{if($.searchstax)c(),l();else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{id:`searchstax-pagination-container`+(0,e.unref)(i)},[r.value&&!r.value?.isInfiniteScroll&&r.value?.totalResults!==0&&!u.value?((0,e.openBlock)(),(0,e.createBlock)(wa,{key:0,paginationData:r.value,nextPage:o,previousPage:s},null,8,[`paginationData`])):(0,e.createCommentVNode)(``,!0),u.value&&r.value?.totalResults!==0&&!r.value?.isInfiniteScroll?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Oa,[(0,e.renderSlot)(t.$slots,`pagination`,{paginationData:r.value,nextPage:o,previousPage:s})])):(0,e.createCommentVNode)(``,!0),r.value&&r.value?.isInfiniteScroll&&!r.value?.isLastPage&&r.value?.hasResults&&r.value?.totalResults!==0&&!d.value?((0,e.openBlock)(),(0,e.createBlock)(Ea,{key:2,nextPage:o})):(0,e.createCommentVNode)(``,!0),d.value&&!r.value?.isLastPage&&r.value?.hasResults&&r.value?.totalResults!==0&&r.value?.isInfiniteScroll?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ka,[(0,e.renderSlot)(t.$slots,`infiniteScroll`,{paginationData:r.value,nextPage:o})])):(0,e.createCommentVNode)(``,!0)],8,Da))}}),ja={key:0,class:`searchstax-feedback-container`},Ma={key:0},Na={class:`searchstax-feedback-container-suggested`},Pa={key:0},Fa=[`aria-label`],Ia=(0,e.defineComponent)({__name:`SearchstaxSearchFeedbackWidgetTemplate`,props:{searchFeedbackData:{type:Object,required:!0},onOriginalQueryClick:{type:Function,required:!0}},setup(t){return(n,r)=>t.searchFeedbackData&&t.searchFeedbackData?.searchExecuted&&t.searchFeedbackData?.totalResults?((0,e.openBlock)(),(0,e.createElementBlock)(`h2`,ja,[r[4]||=(0,e.createTextVNode)(` Showing `,-1),(0,e.createElementVNode)(`b`,null,(0,e.toDisplayString)(t.searchFeedbackData.startResultIndex)+` - `+(0,e.toDisplayString)(t.searchFeedbackData.endResultIndex),1),r[5]||=(0,e.createTextVNode)(` of `,-1),(0,e.createElementVNode)(`b`,null,(0,e.toDisplayString)(t.searchFeedbackData.totalResults),1),r[6]||=(0,e.createTextVNode)(` results `,-1),t.searchFeedbackData.searchTerm?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Ma,[r[1]||=(0,e.createTextVNode)(`for "`,-1),(0,e.createElementVNode)(`b`,null,(0,e.toDisplayString)(t.searchFeedbackData.searchTerm),1),r[2]||=(0,e.createTextVNode)(`" `,-1)])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Na,[t.searchFeedbackData.autoCorrectedQuery?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Pa,[r[3]||=(0,e.createTextVNode)(` Search instead for `,-1),(0,e.createElementVNode)(`a`,{href:`#`,onClick:r[0]||=(0,e.withModifiers)(e=>t.onOriginalQueryClick(e),[`prevent`]),class:`searchstax-feedback-original-query`,"aria-label":`Search instead for `+t.searchFeedbackData.originalQuery},(0,e.toDisplayString)(t.searchFeedbackData.originalQuery),9,Fa)])):(0,e.createCommentVNode)(``,!0)])])):(0,e.createCommentVNode)(``,!0)}}),La=[`id`],Ra=(0,e.defineComponent)({__name:`SearchstaxSearchFeedbackWidget`,setup(t){let n=(0,e.useSlots)(),r=(0,e.ref)(null),i=Math.random(),a=e=>{$.searchstax.searchFeedbackWidget.onOriginalQueryClick(e)},o=()=>{$.searchstax.dataLayer.$searchFeedbackData.subscribe(e=>{r.value=e})},s=(0,e.computed)(()=>!!n.searchFeedback);return(0,e.onMounted)(()=>{if($.searchstax)o(),$.searchstax.addSearchFeedbackWidget(`search-feedback-container`+i,{});else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`search-feedback-container`,id:`search-feedback-container`+(0,e.unref)(i)},[r.value&&r.value.searchExecuted&&!s.value&&r.value?.totalResults?((0,e.openBlock)(),(0,e.createBlock)(Ia,{key:0,searchFeedbackData:r.value,onOriginalQueryClick:a},null,8,[`searchFeedbackData`])):(0,e.createCommentVNode)(``,!0),(0,e.renderSlot)(t.$slots,`searchFeedback`,{searchFeedbackData:r.value,onOriginalQueryClick:a})],8,La))}}),za={key:0,class:`searchstax-sorting-container`},Ba=[`value`],Va=[`value`],Ha=(0,e.defineComponent)({__name:`SearchstaxSortingWidgetTemplate`,props:{sortingData:{type:Object,required:!0},selectedSorting:{type:String,required:!0},orderChange:{type:Function,required:!0}},setup(t){return(n,r)=>t.sortingData&&t.sortingData?.searchExecuted&&t.sortingData?.hasResultsOrExternalPromotions&&t.sortingData.sortOptions.length>0?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,za,[r[1]||=(0,e.createElementVNode)(`label`,{class:`searchstax-sorting-label`,for:`searchstax-search-order-select`},`Sort By`,-1),(0,e.createElementVNode)(`select`,{id:`searchstax-search-order-select`,class:`searchstax-search-order-select`,value:t.selectedSorting,onChange:r[0]||=e=>t.orderChange(e)},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.sortingData.sortOptions,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`option`,{key:t.key,value:t.key},(0,e.toDisplayString)(t.value),9,Va))),128))],40,Ba)])):(0,e.createCommentVNode)(``,!0)}}),Ua=[`id`],Wa=(0,e.defineComponent)({__name:`SearchstaxSortingWidget`,setup(t){let n=(0,e.useSlots)(),r=(0,e.ref)(null),i=(0,e.ref)(``),a=Math.random(),o=e=>{$.searchstax.searchSortingWidget.setOrderQuery(e.target.value)},s=()=>{$.searchstax.dataLayer.$searchSortingData.subscribe(e=>{r.value=e}),$.searchstax.dataLayer.$searchObject.subscribe(e=>{i.value=decodeURIComponent(e.order)})},c=(0,e.computed)(()=>!!n.sorting);return(0,e.onMounted)(()=>{if($.searchstax)s(),$.searchstax.addSearchSortingWidget(`search-sorting-container`+a,{});else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{id:`search-sorting-container`+(0,e.unref)(a)},[r.value&&r.value?.searchExecuted&&r.value?.hasResultsOrExternalPromotions&&!c.value?((0,e.openBlock)(),(0,e.createBlock)(Ha,{key:0,sortingData:r.value,selectedSorting:i.value,orderChange:o},null,8,[`sortingData`,`selectedSorting`])):(0,e.createCommentVNode)(``,!0),(0,e.renderSlot)(t.$slots,`sorting`,{sortingData:r.value,orderChange:o,selectedSorting:i.value})],8,Ua))}}),Ga={key:0,class:`searchstax-external-promotions-container`,id:`searchstax-external-promotions-container`},Ka=[`onClick`],qa={class:`searchstax-search-result-title-container`},Ja={class:`searchstax-search-result-title`},Ya={key:1,class:`searchstax-search-result-description searchstax-search-result-common`},Xa={key:2,class:`searchstax-search-result-description searchstax-search-result-common`},Za=(0,e.defineComponent)({__name:`SearchstaxExternalPromotionsWidgetTemplate`,props:{externalPromotionsData:{type:Object,required:!0},trackClick:{type:Function,required:!1}},setup(t){return(n,r)=>t.externalPromotionsData&&t.externalPromotionsData?.searchExecuted&&t.externalPromotionsData?.hasExternalPromotions?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ga,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.externalPromotionsData.externalPromotions,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`searchstax-external-promotion searchstax-search-result`,key:n.id},[r[0]||=(0,e.createElementVNode)(`div`,{class:`icon-elevated`},null,-1),n.url?((0,e.openBlock)(),(0,e.createElementBlock)(`a`,{key:0,href:`{{externalPromotion.url}}`,onClick:e=>t.trackClick(n,e),class:`searchstax-result-item-link`},null,8,Ka)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,qa,[(0,e.createElementVNode)(`span`,Ja,(0,e.toDisplayString)(n.name),1)]),n.description?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Ya,(0,e.toDisplayString)(n.description),1)):(0,e.createCommentVNode)(``,!0),n.url?((0,e.openBlock)(),(0,e.createElementBlock)(`p`,Xa,(0,e.toDisplayString)(n.url),1)):(0,e.createCommentVNode)(``,!0)]))),128))])):(0,e.createCommentVNode)(``,!0)}}),Qa=[`id`],$a=(0,e.defineComponent)({__name:`SearchstaxExternalPromotionsWidget`,setup(t){let n=(0,e.useSlots)(),r=(0,e.ref)(null),i=Math.random(),a=()=>{$.searchstax.dataLayer.$searchExternalPromotionsData.subscribe(e=>{r.value=e})},o=(e,t)=>{$.searchstax.externalPromotionsWidget.trackClick(e,t)},s=(0,e.computed)(()=>!!n.externalPromotions);return(0,e.onMounted)(()=>{if($.searchstax)a(),$.searchstax.addExternalPromotionsWidget(`searchstax-external-promotions-layout-container`+i,{});else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{id:`searchstax-external-promotions-layout-container`+(0,e.unref)(i)},[s.value?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createBlock)(Za,{key:0,externalPromotionsData:r.value,trackClick:o},null,8,[`externalPromotionsData`])),(0,e.renderSlot)(t.$slots,`externalPromotions`,{externalPromotionsData:r.value,trackClick:o})],8,Qa))}}),eo={key:0,class:`searchstax-related-searches-container`,id:`searchstax-related-searches-container`},to={key:0,class:`searchstax-related-search`},no=[`onClick`,`onKeyup`,`aria-label`],ro={key:0},io=(0,e.defineComponent)({__name:`SearchstaxRelatedSearchesWidgetTemplate`,props:{relatedData:{type:Object,required:!0},executeSearch:{type:Function,required:!0}},setup(t){return(n,r)=>t.relatedData&&t.relatedData?.searchExecuted&&t.relatedData?.hasRelatedSearches?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,eo,[r[0]||=(0,e.createTextVNode)(` Related searches: `,-1),r[1]||=(0,e.createElementVNode)(`span`,{id:`searchstax-related-searches`},null,-1),t.relatedData.relatedSearches?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,to,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.relatedData.relatedSearches,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{key:n.related_search,onClick:e=>t.executeSearch(n),onKeyup:[(0,e.withKeys)(e=>t.executeSearch(n),[`enter`]),(0,e.withKeys)(e=>t.executeSearch(n),[`space`])],tabindex:`0`,class:`searchstax-related-search searchstax-related-search-item`,"aria-label":`Related search: `+n.related_search},[(0,e.createTextVNode)((0,e.toDisplayString)(n.related_search),1),n.last?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,ro,`,`))],40,no))),128))])):(0,e.createCommentVNode)(``,!0)])):(0,e.createCommentVNode)(``,!0)}}),ao=(0,e.defineComponent)({__name:`SearchstaxRelatedSearchesWidget`,props:{relatedSearchesURL:{},relatedSearchesAPIKey:{}},setup(t){let n=t,r=(0,e.useSlots)(),i=(0,e.ref)(null),a=e=>{$.searchstax.relatedSearchesWidget.executeSearch(e)},o=()=>{$.searchstax.dataLayer.$searchRelatedSearchesData.subscribe(e=>{i.value=e})},s=(0,e.computed)(()=>!!r.related);return(0,e.onMounted)(()=>{if($.searchstax)o(),$.searchstax.addRelatedSearchesWidget(`searchstax-related-searches-container`,{relatedSearchesURL:n.relatedSearchesURL,relatedSearchesAPIKey:n.relatedSearchesAPIKey});else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[i.value&&i.value?.searchExecuted&&i.value?.hasRelatedSearches&&!s.value?((0,e.openBlock)(),(0,e.createBlock)(io,{key:0,relatedData:i.value,executeSearch:a},null,8,[`relatedData`])):(0,e.createCommentVNode)(``,!0),(0,e.renderSlot)(t.$slots,`related`,{relatedData:i.value,executeSearch:a})],64))}}),oo={key:0},so={class:`searchstax-answer-wrap`},co=[`innerHTML`],lo=[`innerHTML`],uo={key:1,class:`searchstax-answer-loading`},fo={key:0,class:`searchstax-answer-load-more-button-container`},po=(0,e.defineComponent)({__name:`SearchstaxAnswerWidgetTemplate`,props:{answerData:{type:Object,required:!0},showMore:{type:Function,required:!1}},setup(t){return(n,r)=>t.answerData&&t.answerData?.searchExecuted&&t.answerData.shouldShowAnswer?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,oo,[(0,e.createElementVNode)(`div`,so,[r[2]||=(0,e.createElementVNode)(`div`,{class:`searchstax-answer-icon`},null,-1),(0,e.createElementVNode)(`div`,null,[(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)({"searchstax-answer-container":!0,"searchstax-answer-show-more":t.answerData.showMoreButtonVisible})},[r[1]||=(0,e.createElementVNode)(`div`,{class:`searchstax-answer-title`},`Smart Answers`,-1),t.answerData.shouldShowAnswerError?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:`searchstax-answer-error`,innerHTML:t.answerData.answerErrorMessage},null,8,co)):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,{class:`searchstax-answer-description`,innerHTML:t.answerData.fullAnswerFormatted},null,8,lo),t.answerData.answerLoading?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,uo)):(0,e.createCommentVNode)(``,!0)],2),t.answerData.showMoreButtonVisible?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,fo,[(0,e.createElementVNode)(`button`,{class:`searchstax-answer-load-more-button`,onClick:r[0]||=(...e)=>t.showMore&&t.showMore(...e)},`Show More`)])):(0,e.createCommentVNode)(``,!0)]),r[3]||=(0,e.createElementVNode)(`div`,{class:`searchstax-answer-footer`},[(0,e.createElementVNode)(`div`,{id:`feedbackWidgetContainer`}),(0,e.createElementVNode)(`div`,{class:`searchstax-lightweight-widget-separator-inline`}),(0,e.createElementVNode)(`p`,{class:`searchstax-disclaimer`},`Generative AI is Experimental`)],-1)])])):(0,e.createCommentVNode)(``,!0)}}),mo=[`id`],ho=(0,e.defineComponent)({__name:`SearchstaxAnswerWidget`,props:{showMoreAfterWordCount:{},feedbackwidget:{},testString:{}},setup(t){let n=t,r=(0,e.useSlots)(),i=(0,e.ref)(null),a=Math.random(),o=()=>{$.searchstax.dataLayer.$answerData.subscribe(e=>{i.value=e})},s=e=>{$.searchstax&&$.searchstax.answerWidget?.showMore(e)},c=(0,e.computed)(()=>!!r.answer);return(0,e.onMounted)(()=>{if($.searchstax)o(),$.searchstax.addAnswerWidget(`searchstax-answer-container`+a,{showMoreAfterWordCount:n.showMoreAfterWordCount,feedbackwidget:n.feedbackwidget,testString:n.testString});else throw Error(`Searchstax instance needs to be passed via props`)}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{id:`searchstax-answer-container`+(0,e.unref)(a)},[!c.value&&i.value?((0,e.openBlock)(),(0,e.createBlock)(po,{key:0,answerData:i.value,showMore:s},null,8,[`answerData`])):(0,e.createCommentVNode)(``,!0),(0,e.renderSlot)(t.$slots,`answer`,{answerData:i.value,showMore:s})],8,mo))}});exports.SearchstaxAnswerWidget=ho,exports.SearchstaxExternalPromotionsWidget=$a,exports.SearchstaxFacetsWidget=va,exports.SearchstaxInputWidget=fi,exports.SearchstaxLocationWidget=oi,exports.SearchstaxPaginationWidget=Aa,exports.SearchstaxRelatedSearchesWidget=ao,exports.SearchstaxResultWidget=Ii,exports.SearchstaxSearchFeedbackWidget=Ra,exports.SearchstaxSortingWidget=Wa,exports.SearchstaxWrapper=Xr;
|