@searchstax-inc/searchstudio-ux-js 0.1.3 → 0.1.5

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.
@@ -1,10 +1,10 @@
1
- "use strict";var _=Object.defineProperty;var Q=(l,e,t)=>e in l?_(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var c=(l,e,t)=>(Q(l,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var w=(l=>(l[l.mustache=0]="mustache",l[l.vue=1]="vue",l[l.react=2]="react",l))(w||{});class z{constructor(e){c(this,"dataLayer");this.dataLayer=e}get currentPage(){var e;return(e=this.dataLayer.searchObject)==null?void 0:e.page}get totalResults(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.totalResultsValue)||0}get resultsPerPage(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.recordsPerPageValue)||0}get startResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+1}get endResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+(this.resultsPerPage??0)}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil(this.totalResults/this.resultsPerPage)}get results(){return this.dataLayer.searchResults??[]}get searchTerm(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.query)||""}get searchExecuted(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.query)!==void 0&&((t=this.dataLayer.searchObject)==null?void 0:t.query)!==""}get selectedFacets(){var t;const e=this.dataLayer.searchFacetsCached??this.dataLayer.searchFacets;return e?(((t=this.dataLayer.searchObject)==null?void 0:t.facets)??[]).map(s=>{const i=decodeURIComponent(s).split(":"),n=i[0],h=i[1],o=e.find(u=>u.name===n);if(o){const u=o.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?'"'+d.value+'"'===h:!1);if(u)return u}return null}).filter(s=>s!==null):[]}get relatedSearches(){const e=this.dataLayer.searchRelatedSearches??[];return e[e.length-1]&&(e[e.length-1].last=!0),e}get externalPromotions(){return this.dataLayer.searchExternalPromotions??[]}get data(){return{currentPage:this.currentPage,totalResults:this.totalResults,resultsPerPage:this.resultsPerPage,startResultIndex:this.startResultIndex,endResultIndex:this.endResultIndex,isFirstPage:this.isFirstPage,isLastPage:this.isLastPage,results:this.results,searchTerm:this.searchTerm,selectedFacets:this.selectedFacets,searchExecuted:this.searchExecuted,relatedSearches:this.relatedSearches,hasRelatedSearches:this.relatedSearches.length>0,externalPromotions:this.externalPromotions,hasExternalPromotions:this.externalPromotions.length>0,hasResults:this.results.length>0,hasResultsOrExternalPromotions:this.results.length>0||this.externalPromotions.length>0}}get trackingData(){var e,t,a,r;return{searchTerm:this.dataLayer.searchTerm,trackApiKey:((e=this.dataLayer.searchstaxConfig)==null?void 0:e.trackApiKey)??"",session:this.dataLayer.sessionId,language:this.dataLayer.language,recordsPerPage:((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.recordsPerPageValue)??0,totalResults:((a=this.dataLayer.searchResultsMetadata)==null?void 0:a.totalResultsValue)??0,currentPage:this.dataLayer.currentPage,latencyVal:((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.latency)??0}}}class I{constructor(e){c(this,"value");c(this,"observers",[]);this.value=e,this.observers=[]}subscribe(e){this.observers.push(e),e(this.value)}unsubscribe(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}setValue(e){this.value=e,this.notify()}getValue(){return this.value}notify(){this.observers.forEach(e=>e(this.value))}}class G{constructor(e){c(this,"$searchTermChange",new I(""));c(this,"$loadingChange",new I(!1));c(this,"$searchResults",new I(null));c(this,"$searchResultsMetadata",new I(null));c(this,"$searchAutosuggest",new I(null));c(this,"$searchFacets",new I(null));c(this,"$searchFacetsCached",new I(null));c(this,"$searchstaxConfig",new I(null));c(this,"$searchObject",new I({query:"",page:2,order:"",facets:[],additionalProps:[]}));c(this,"$searchRelatedSearches",new I(null));c(this,"$searchExternalPromotions",new I(null));c(this,"$language",new I("en"));c(this,"currentPageValue",1);c(this,"renderingEngineValue",w.mustache);c(this,"parsedData",new z(this));c(this,"sessionId");this.sessionId=e}setSearchTerm(e){this.$searchTermChange.setValue(e)}setRenderingEngine(e){this.renderingEngineValue=e}setCurrentPage(e){this.currentPageValue=e}setLoading(e){this.$loadingChange.setValue(e)}setSearchResults(e){this.$searchResults.setValue(e)}setSearchResultsMetadata(e){this.$searchResultsMetadata.setValue(e)}setSearchAutosuggest(e){this.$searchAutosuggest.setValue(e)}setSearchObject(e){this.$searchObject.setValue(e)}setSearchFacets(e){this.$searchFacets.setValue(e)}setSearchFacetsCached(e){this.$searchFacetsCached.setValue(e)}setSearchRelatedSearches(e){this.$searchRelatedSearches.setValue(e)}setSearchExternalPromotions(e){this.$searchExternalPromotions.setValue(e)}setLanguage(e){this.$language.setValue(e)}setSearchstaxConfig(e){this.$searchstaxConfig.setValue(e)}get searchstaxConfig(){return this.$searchstaxConfig.getValue()}get searchFacets(){return this.$searchFacets.getValue()}get searchFacetsCached(){return this.$searchFacetsCached.getValue()}get searchResults(){return this.$searchResults.getValue()}get searchTerm(){return this.$searchTermChange.getValue()}get loading(){return this.$loadingChange.getValue()}get searchAutosuggest(){return this.$searchAutosuggest.getValue()}get searchResultsMetadata(){return this.$searchResultsMetadata.getValue()}get currentPage(){return this.currentPageValue}get renderingEngine(){return this.renderingEngineValue}get searchObject(){return this.$searchObject.getValue()}get searchRelatedSearches(){return this.$searchRelatedSearches.getValue()}get searchExternalPromotions(){return this.$searchExternalPromotions.getValue()}get language(){return this.$language.getValue()}}class q{static combineResultsWithMetadata(e){const t=[],a=parseInt(e.response.start+"")-1,r=parseInt(e.responseHeader.params.rows);return e.response.docs.forEach((s,i)=>{const n={custom:null,uniqueId:this.getValueByKey(e.responseHeader.params.uniqueId,s,e)??"",position:a*r+1+i,ribbon:this.doesMapExist("ribbon",e)?this.getValueByKey("ribbon",s,e):null,paths:this.doesMapExist("paths",e)?this.getValueByKey("paths",s,e):null,url:this.doesMapExist("url",e)?this.getValueByKey("url",s,e):null,title:this.doesMapExist("title",e)?this.getValueByKey("title",s,e):null,promoted:s["[elevated]"]?s["[elevated]"]:!1,thumbnail:this.doesMapExist("thumbnail",e)?this.getValueByKey("thumbnail",s,e):null,date:this.doesMapExist("date",e)?this.getValueByKey("date",s,e):null,snippet:this.doesMapExist("snippet",e)?this.getValueByKey("snippet",s,e):null,description:this.doesMapExist("description",e)?this.getValueByKey("description",s,e):null,unmappedFields:this.getUnmappedFields(s,e),allFields:this.getAllFields(s,e)};t.push(n)}),t}static extractFacets(e){const t=[];for(const a of e.metadata.facets){let r={values:[]};if(r.name=a.name,r.label=a.label,a.name in e.facet_counts.facet_fields){const s=e.facet_counts.facet_fields[a.name];for(let i=0;i<s.length;i+=2){const n={};n.value=s[i],n.parentName=r.name,n.count=s[i+1],n.type="checkbox",r.values.push(n)}}r.values.length>0&&t.push(r)}return t}static extractSearchResultsMetadata(e){var a,r,s,i;let t="";return t=((i=(s=(r=(a=e==null?void 0:e.spellcheck)==null?void 0:a.suggestions)==null?void 0:r[0])==null?void 0:s.suggestion)==null?void 0:i[0])??"",typeof t!="string"&&(t=(t==null?void 0:t.word)??""),{recordsPerPageValue:parseInt(e.responseHeader.params.rows),startDocVal:parseInt(e.response.start+""),totalResultsValue:parseInt(e.response.numFound+""),latency:parseInt(e.responseHeader.QTime+""),endDocValue:parseInt(e.responseHeader.params.rows)+parseInt(e.response.start+""),spellingSuggestion:t,impressions:this.getImpressions(e)}}static getImpressions(e){const t=[],a=this.combineResultsWithMetadata(e);for(const r in a){const s=a[r],i={};i.cDocId=this.getDataForAnalytics(s.uniqueId),s.title&&(i.cDocTitle=this.getDataForAnalytics(s.title)),i.position=s.position,t.push(i)}return t}static getDataForAnalytics(e){return e!==null?typeof e>"u"?"":typeof e=="string"?e:typeof e.join<"u"?e[0]:e:""}static findResultByUniqueId(e,t){return t.find(a=>a.uniqueId===e)??null}static getUnmappedFields(e,t){const a=t.metadata.results.filter(s=>s.result_card==="").map(s=>s.name),r=[];for(const s of Object.keys(e))if(a.indexOf(s)!==-1){const i=Array.isArray(e[s])?e[s].join(", "):e[s];r.push({key:s,value:i,isImage:this.checkIfImage(e[s])})}return r}static checkIfImage(e){return e===void 0||typeof e!="string"?!1:/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e)}static getAllFields(e,t){const a=t.metadata.results.map(s=>s.name),r=[];for(const s of Object.keys(e))a.indexOf(s)!==-1&&r.push({key:s,value:e[s],isImage:this.checkIfImage(e[s])});return r}static doesMapExist(e,t){return t.metadata.results.find(a=>a.result_card===e)!==void 0}static getValueByKey(e,t,a){const r=a.metadata.results.find(i=>i.result_card===e);if(r===void 0)return null;const s=t[r.name];return s===void 0?null:typeof s=="string"?s:Array.isArray(s)?s.join(", "):null}}class N{constructor(e){c(this,"routeName","searchstax");c(this,"ignoredKeys",[]);c(this,"queryStringHelper");c(this,"titleParser");e.routeName&&(this.routeName=e.routeName),e.ignoredKeys&&(this.ignoredKeys=e.ignoredKeys),e.title&&(this.titleParser=e.title),this.queryStringHelper=new J(this.routeName)}updateUrl(e){const t=this.searchObjectToUrl(e);let a=document.title;this.titleParser&&(a=this.titleParser(e)),document.title=a,window.location.href!==t&&window.history.pushState({},a,t)}searchObjectToUrl(e){return this.queryStringHelper.urlHasQueryParams(window.location.href)?window.location.href.split("?")[0]+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys}):window.location.href+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys})}searchObjectToParams(e){const t={};if(e.query&&(t[this.routeName+"[query]"]=e.query),e.page&&(t[this.routeName+"[page]"]=e.page+""),e.order&&(t[this.routeName+"[order]"]=e.order),e.facets)for(const a in e.facets)t[this.routeName+`[facets][${a}]`]=e.facets[a];if(this.queryStringHelper.urlHasQueryParams(window.location.href)){const a=this.queryStringHelper.urlToParams(window.location.href);for(const r in a)r.startsWith(this.routeName)&&delete a[r];return{...a,...t}}else return t}extractParamsThatDoNotStartWithRouteName(e){const t={};for(const a in e)a.startsWith(this.routeName)||(t[a]=e[a]);return t}extractArrayOfFacetsFromQueryParameters(e){const t=[];for(const a in e)a.startsWith(this.routeName+"[facets]")&&t.push(e[a]);return t}urlToSearchObject(e){const t=this.queryStringHelper.urlToParams(e);return{query:t[this.routeName+"[query]"]||"",page:t[this.routeName+"[page]"]?parseInt(t[this.routeName+"[page]"]):1,order:t[this.routeName+"[order]"]||"",facets:this.extractArrayOfFacetsFromQueryParameters(t)||[]}}}class J{constructor(e){c(this,"routeName","");c(this,"stringify",(e,t)=>{const a=this.filterOutIgnoredKeys(e,t.ignoredKeys);return Object.keys(a).map(r=>{const s=a[r];return Array.isArray(s)?s.map(i=>`${r}=${i}`).join("&"):`${r}=${s}`}).join("&")});this.routeName=e}filterOutIgnoredKeys(e,t){const a=t||[],r={};return Object.keys(e).forEach(s=>{a.includes(s)||e[s]!==""&&(r[s]=e[s])}),r}urlToParams(e){const t={},a=e.split("?")[1];return a&&a.split("&").forEach(r=>{const[s,i]=r.split("=");t[s]=i}),t}doesParamContainRouteName(e){return e.indexOf(this.routeName)!==-1}urlHasQueryParams(e){return e.indexOf("?")!==-1}}class X{constructor(e,t){c(this,"url","");c(this,"relatedSearches","");c(this,"suggester","");c(this,"authHeader");c(this,"authHeaderRelated");c(this,"trackApiKey","");c(this,"session","");c(this,"searchAuthType");c(this,"searchAuth","");c(this,"controllerSearch");c(this,"signalSearch");c(this,"controllerSuggest");c(this,"signalSuggest");c(this,"dataLayer");this.dataLayer=t,this.url=e.searchURL,this.dataLayer.setLanguage(e.language),this.suggester=e.suggesterURL,this.trackApiKey=e.trackApiKey,this.session=e.sessionId,this.searchAuthType=e.authType,this.searchAuth=e.searchAuth,this.authHeader=new Headers,this.authHeader.append("Accept","application/json");const a=this.searchAuthType==="token"?`Token ${e.searchAuth}`:`Basic ${e.searchAuth}`;this.authHeader.append("Authorization",a),this.authHeaderRelated=new Headers,this.authHeaderRelated.append("Accept","application/json"),this.authHeaderRelated.append("Authorization",e.searchAuth)}generateFacetQuery(e,t){let a=[];if(!t)e.facets.forEach(function(r){a=a.concat("fq="+decodeURIComponent(r).replace(" "," "))});else{const r={};e.facets.forEach(function(s){const i=decodeURIComponent(s).replace(" "," ").split(":");r[i[0]]?r[i[0]].push(i[1]):r[i[0]]=[i[1]]});for(const s in r)if(Object.prototype.hasOwnProperty.call(r,s)){const i=r[s],n=s;let h="";for(const o of i)h+=` ${n}:${o}`;a=a.concat("fq="+h.trim())}}return"&"+a.join("&")}getRelatedSearches(e,t,a,r){const s=new Headers;s.append("Accept","application/json"),s.append("Authorization",a),fetch(t+"?search="+encodeURIComponent(e.query)+"&language="+this.dataLayer.language,{method:"GET",headers:s,credentials:"same-origin"}).then(i=>i.json()).then(i=>{r(i)})}search(e,t,a=!1,r=!1){this.dataLayer.setSearchTerm(e.query),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const s=new Proxy(new URLSearchParams(window.location.search),{get:(u,d)=>u.get(d)??""}),i=s.languageVariant?"&fq=_language:"+s.languageVariant:"",n=e.order?`&sort=${e.order}`:"",h=this.url+"?q="+encodeURIComponent(e.query.trim())+"&start="+(e.page-1)+this.toQueryString(e.additionalProps??[])+this.generateFacetQuery(e,r)+n+"&language="+this.dataLayer.language+i,o={method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch};a&&delete o.signal,fetch(h,o).then(u=>u.json()).then(u=>{this.dataLayer.setLoading(!1),t(u)}).catch(()=>{this.dataLayer.setLoading(!1)})}suggest(e,t,a){this.controllerSuggest&&this.controllerSuggest.abort(),this.controllerSuggest=new AbortController,this.signalSuggest=this.controllerSuggest.signal;const r=this.suggester+"?q="+e.trim()+this.toQueryString(a)+"&language="+this.dataLayer.language;fetch(r,{method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSuggest}).then(s=>s.json()).then(s=>{t(s)}).catch(()=>()=>{})}fields(){return this.fields}toQueryString(e){if(e.length===0)return"";const t=[];for(let a=0;a<e.length;a++){const r=e[a].key,s=e[a].value;t.push(encodeURIComponent(r)+"="+encodeURIComponent(s))}return"&"+t.join("&")}}class Y{static getOrSetCookie(e){let t=this.getCookie(e);return t==null&&(t=this.makeid(25),this.setCookie(e,t,{secure:!0,"max-age":3600})),t}static makeid(e){let t="";const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=a.length;for(let s=0;s<e;s++)t+=a.charAt(Math.floor(Math.random()*r));return t}static getCookie(e){const t=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[\]\\/+^])/g,"\\$1")+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0}static setCookie(e,t,a){const r={path:"/",...a};a.expires instanceof Date&&(r.expires=a.expires.toUTCString());let s=encodeURIComponent(e)+"="+encodeURIComponent(t);for(const i in r){s+="; "+i;const n=r[i];n!==!0&&(s+="="+n)}document.cookie=s}}class O{static trackClick(e){const t={key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,totalHits:e.totalResults,pageNo:e.currentPage,latency:e.latencyVal,session:e.session,cDocId:e.result.uniqueId,cDocTitle:e.result.title,position:e.result.position,language:e.language};this.msq.push(["trackClick",t])}static trackSearch(e){const t={key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,totalHits:e.totalResults,pageNo:e.currentPage,latency:e.latencyVal,session:e.session,language:e.language,impressions:e.impressions};this.msq.push(["track",t])}static trackRelatedSearchClick(e){const t={session:e.session,key:e.trackApiKey,query:e.relatedSearch.search_term,position:e.relatedSearch.position,relatedSearch:e.relatedSearch.related_search,pageNo:e.currentPage,shownHits:e.recordsPerPage,totalHits:e.totalResults,language:e.language};this.msq.push(["trackRelatedSearchClick",t])}static trackRelatedSearches(e){const t={session:e.session,key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,latency:e.latencyVal,language:e.language,impressions:e.impressions};this.msq.push(["trackRelatedSearch",t])}}c(O,"msq",window._msq||[]);var B=(l=>(l[l.and=0]="and",l[l.or=1]="or",l[l.showUnavailable=2]="showUnavailable",l))(B||{});/*!
1
+ "use strict";var W=Object.defineProperty;var _=(l,e,t)=>e in l?W(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var c=(l,e,t)=>(_(l,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var w=(l=>(l[l.mustache=0]="mustache",l[l.vue=1]="vue",l[l.react=2]="react",l))(w||{});class Q{constructor(e){c(this,"dataLayer");this.dataLayer=e}get currentPage(){var e;return(e=this.dataLayer.searchObject)==null?void 0:e.page}get totalResults(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.totalResultsValue)||0}get resultsPerPage(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.recordsPerPageValue)||0}get startResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+1}get endResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+(this.resultsPerPage??0)}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil(this.totalResults/this.resultsPerPage)}get results(){return this.dataLayer.searchResults??[]}get searchTerm(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.query)||""}get searchExecuted(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.query)!==void 0&&((t=this.dataLayer.searchObject)==null?void 0:t.query)!==""}get selectedFacets(){var t;const e=this.dataLayer.searchFacetsCached??this.dataLayer.searchFacets;return e?(((t=this.dataLayer.searchObject)==null?void 0:t.facets)??[]).map(s=>{const i=decodeURIComponent(s).split(":"),n=i[0],h=i[1],o=e.find(u=>u.name===n);if(o){const u=o.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?'"'+d.value+'"'===h:!1);if(u)return u}return null}).filter(s=>s!==null):[]}get relatedSearches(){const e=this.dataLayer.searchRelatedSearches??[];return e[e.length-1]&&(e[e.length-1].last=!0),e}get externalPromotions(){return this.dataLayer.searchExternalPromotions??[]}get data(){return{currentPage:this.currentPage,totalResults:this.totalResults,resultsPerPage:this.resultsPerPage,startResultIndex:this.startResultIndex,endResultIndex:this.endResultIndex,isFirstPage:this.isFirstPage,isLastPage:this.isLastPage,results:this.results,searchTerm:this.searchTerm,selectedFacets:this.selectedFacets,searchExecuted:this.searchExecuted,relatedSearches:this.relatedSearches,hasRelatedSearches:this.relatedSearches.length>0,externalPromotions:this.externalPromotions,hasExternalPromotions:this.externalPromotions.length>0,hasResults:this.results.length>0,hasResultsOrExternalPromotions:this.results.length>0||this.externalPromotions.length>0}}get trackingData(){var e,t,a,r;return{searchTerm:this.dataLayer.searchTerm,trackApiKey:((e=this.dataLayer.searchstaxConfig)==null?void 0:e.trackApiKey)??"",session:this.dataLayer.sessionId,language:this.dataLayer.language,recordsPerPage:((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.recordsPerPageValue)??0,totalResults:((a=this.dataLayer.searchResultsMetadata)==null?void 0:a.totalResultsValue)??0,currentPage:this.dataLayer.currentPage,latencyVal:((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.latency)??0}}}class I{constructor(e){c(this,"value");c(this,"observers",[]);this.value=e,this.observers=[]}subscribe(e){this.observers.push(e),e(this.value)}unsubscribe(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}setValue(e){this.value=e,this.notify()}getValue(){return this.value}notify(){this.observers.forEach(e=>e(this.value))}}class z{constructor(e){c(this,"$searchTermChange",new I(""));c(this,"$loadingChange",new I(!1));c(this,"$searchResults",new I(null));c(this,"$searchResultsMetadata",new I(null));c(this,"$searchAutosuggest",new I(null));c(this,"$searchFacets",new I(null));c(this,"$searchFacetsCached",new I(null));c(this,"$searchstaxConfig",new I(null));c(this,"$searchObject",new I({query:"",page:2,order:"",facets:[],additionalProps:[]}));c(this,"$searchRelatedSearches",new I(null));c(this,"$searchExternalPromotions",new I(null));c(this,"$language",new I("en"));c(this,"currentPageValue",1);c(this,"renderingEngineValue",w.mustache);c(this,"parsedData",new Q(this));c(this,"sessionId");this.sessionId=e}setSearchTerm(e){this.$searchTermChange.setValue(e)}setRenderingEngine(e){this.renderingEngineValue=e}setCurrentPage(e){this.currentPageValue=e}setLoading(e){this.$loadingChange.setValue(e)}setSearchResults(e){this.$searchResults.setValue(e)}setSearchResultsMetadata(e){this.$searchResultsMetadata.setValue(e)}setSearchAutosuggest(e){this.$searchAutosuggest.setValue(e)}setSearchObject(e){this.$searchObject.setValue(e)}setSearchFacets(e){this.$searchFacets.setValue(e)}setSearchFacetsCached(e){this.$searchFacetsCached.setValue(e)}setSearchRelatedSearches(e){this.$searchRelatedSearches.setValue(e)}setSearchExternalPromotions(e){this.$searchExternalPromotions.setValue(e)}setLanguage(e){this.$language.setValue(e)}setSearchstaxConfig(e){this.$searchstaxConfig.setValue(e)}get searchstaxConfig(){return this.$searchstaxConfig.getValue()}get searchFacets(){return this.$searchFacets.getValue()}get searchFacetsCached(){return this.$searchFacetsCached.getValue()}get searchResults(){return this.$searchResults.getValue()}get searchTerm(){return this.$searchTermChange.getValue()}get loading(){return this.$loadingChange.getValue()}get searchAutosuggest(){return this.$searchAutosuggest.getValue()}get searchResultsMetadata(){return this.$searchResultsMetadata.getValue()}get currentPage(){return this.currentPageValue}get renderingEngine(){return this.renderingEngineValue}get searchObject(){return this.$searchObject.getValue()}get searchRelatedSearches(){return this.$searchRelatedSearches.getValue()}get searchExternalPromotions(){return this.$searchExternalPromotions.getValue()}get language(){return this.$language.getValue()}}class q{static combineResultsWithMetadata(e){const t=[],a=parseInt(e.response.start+"")-1,r=parseInt(e.responseHeader.params.rows);return e.response.docs.forEach((s,i)=>{const n={custom:null,uniqueId:this.getValueByKey(e.responseHeader.params.uniqueId,s,e)??"",position:a*r+1+i,ribbon:this.doesMapExist("ribbon",e)?this.getValueByKey("ribbon",s,e):null,paths:this.doesMapExist("paths",e)?this.getValueByKey("paths",s,e):null,url:this.doesMapExist("url",e)?this.getValueByKey("url",s,e):null,title:this.doesMapExist("title",e)?this.getValueByKey("title",s,e):null,promoted:s["[elevated]"]?s["[elevated]"]:!1,thumbnail:this.doesMapExist("thumbnail",e)?this.getValueByKey("thumbnail",s,e):null,date:this.doesMapExist("date",e)?this.getValueByKey("date",s,e):null,snippet:this.doesMapExist("snippet",e)?this.getValueByKey("snippet",s,e):null,description:this.doesMapExist("description",e)?this.getValueByKey("description",s,e):null,unmappedFields:this.getUnmappedFields(s,e),allFields:this.getAllFields(s,e)};t.push(n)}),t}static extractFacets(e){const t=[];for(const a of e.metadata.facets){let r={values:[]};if(r.name=a.name,r.label=a.label,a.name in e.facet_counts.facet_fields){const s=e.facet_counts.facet_fields[a.name];for(let i=0;i<s.length;i+=2){const n={};n.value=s[i],n.parentName=r.name,n.count=s[i+1],n.type="checkbox",r.values.push(n)}}r.values.length>0&&t.push(r)}return t}static extractSearchResultsMetadata(e){var a,r,s,i;let t="";return t=((i=(s=(r=(a=e==null?void 0:e.spellcheck)==null?void 0:a.suggestions)==null?void 0:r[0])==null?void 0:s.suggestion)==null?void 0:i[0])??"",typeof t!="string"&&(t=(t==null?void 0:t.word)??""),{recordsPerPageValue:parseInt(e.responseHeader.params.rows),startDocVal:parseInt(e.response.start+""),totalResultsValue:parseInt(e.response.numFound+""),latency:parseInt(e.responseHeader.QTime+""),endDocValue:parseInt(e.responseHeader.params.rows)+parseInt(e.response.start+""),spellingSuggestion:t,impressions:this.getImpressions(e)}}static getImpressions(e){const t=[],a=this.combineResultsWithMetadata(e);for(const r in a){const s=a[r],i={};i.cDocId=this.getDataForAnalytics(s.uniqueId),s.title&&(i.cDocTitle=this.getDataForAnalytics(s.title)),i.position=s.position,t.push(i)}return t}static getDataForAnalytics(e){return e!==null?typeof e>"u"?"":typeof e=="string"?e:typeof e.join<"u"?e[0]:e:""}static findResultByUniqueId(e,t){return t.find(a=>a.uniqueId===e)??null}static getUnmappedFields(e,t){const a=t.metadata.results.filter(s=>s.result_card==="").map(s=>s.name),r=[];for(const s of Object.keys(e))if(a.indexOf(s)!==-1){const i=Array.isArray(e[s])?e[s].join(", "):e[s];r.push({key:s,value:i,isImage:this.checkIfImage(e[s])})}return r}static checkIfImage(e){return e===void 0||typeof e!="string"?!1:/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e)}static getAllFields(e,t){const a=t.metadata.results.map(s=>s.name),r=[];for(const s of Object.keys(e))a.indexOf(s)!==-1&&r.push({key:s,value:e[s],isImage:this.checkIfImage(e[s])});return r}static doesMapExist(e,t){return t.metadata.results.find(a=>a.result_card===e)!==void 0}static getValueByKey(e,t,a){const r=a.metadata.results.find(i=>i.result_card===e);if(r===void 0)return null;const s=t[r.name];return s===void 0?null:typeof s=="string"?s:Array.isArray(s)?s.join(", "):null}}class U{constructor(e){c(this,"routeName","searchstax");c(this,"ignoredKeys",[]);c(this,"queryStringHelper");c(this,"titleParser");e.routeName&&(this.routeName=e.routeName),e.ignoredKeys&&(this.ignoredKeys=e.ignoredKeys),e.title&&(this.titleParser=e.title),this.queryStringHelper=new G(this.routeName)}updateUrl(e){const t=this.searchObjectToUrl(e);let a=document.title;this.titleParser&&(a=this.titleParser(e)),document.title=a,window.location.href!==t&&window.history.pushState({},a,t)}searchObjectToUrl(e){return this.queryStringHelper.urlHasQueryParams(window.location.href)?window.location.href.split("?")[0]+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys}):window.location.href+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys})}searchObjectToParams(e){const t={};if(e.query&&(t[this.routeName+"[query]"]=e.query),e.page&&(t[this.routeName+"[page]"]=e.page+""),e.order&&(t[this.routeName+"[order]"]=e.order),e.facets)for(const a in e.facets)t[this.routeName+`[facets][${a}]`]=e.facets[a];if(this.queryStringHelper.urlHasQueryParams(window.location.href)){const a=this.queryStringHelper.urlToParams(window.location.href);for(const r in a)r.startsWith(this.routeName)&&delete a[r];return{...a,...t}}else return t}extractParamsThatDoNotStartWithRouteName(e){const t={};for(const a in e)a.startsWith(this.routeName)||(t[a]=e[a]);return t}extractArrayOfFacetsFromQueryParameters(e){const t=[];for(const a in e)a.startsWith(this.routeName+"[facets]")&&t.push(e[a]);return t}urlToSearchObject(e){const t=this.queryStringHelper.urlToParams(e);return{query:t[this.routeName+"[query]"]||"",page:t[this.routeName+"[page]"]?parseInt(t[this.routeName+"[page]"]):1,order:t[this.routeName+"[order]"]||"",facets:this.extractArrayOfFacetsFromQueryParameters(t)||[]}}}class G{constructor(e){c(this,"routeName","");c(this,"stringify",(e,t)=>{const a=this.filterOutIgnoredKeys(e,t.ignoredKeys);return Object.keys(a).map(r=>{const s=a[r];return Array.isArray(s)?s.map(i=>`${r}=${i}`).join("&"):`${r}=${s}`}).join("&")});this.routeName=e}filterOutIgnoredKeys(e,t){const a=t||[],r={};return Object.keys(e).forEach(s=>{a.includes(s)||e[s]!==""&&(r[s]=e[s])}),r}urlToParams(e){const t={},a=e.split("?")[1];return a&&a.split("&").forEach(r=>{const[s,i]=r.split("=");t[s]=i}),t}doesParamContainRouteName(e){return e.indexOf(this.routeName)!==-1}urlHasQueryParams(e){return e.indexOf("?")!==-1}}class J{constructor(e,t){c(this,"url","");c(this,"relatedSearches","");c(this,"suggester","");c(this,"authHeader");c(this,"authHeaderRelated");c(this,"trackApiKey","");c(this,"session","");c(this,"searchAuthType");c(this,"searchAuth","");c(this,"controllerSearch");c(this,"signalSearch");c(this,"controllerSuggest");c(this,"signalSuggest");c(this,"dataLayer");this.dataLayer=t,this.url=e.searchURL,this.dataLayer.setLanguage(e.language),this.suggester=e.suggesterURL,this.trackApiKey=e.trackApiKey,this.session=e.sessionId,this.searchAuthType=e.authType,this.searchAuth=e.searchAuth,this.authHeader=new Headers,this.authHeader.append("Accept","application/json");const a=this.searchAuthType==="token"?`Token ${e.searchAuth}`:`Basic ${e.searchAuth}`;this.authHeader.append("Authorization",a),this.authHeaderRelated=new Headers,this.authHeaderRelated.append("Accept","application/json"),this.authHeaderRelated.append("Authorization",e.searchAuth)}generateFacetQuery(e,t){let a=[];if(!t)e.facets.forEach(function(r){a=a.concat("fq="+decodeURIComponent(r).replace(" "," "))});else{const r={};e.facets.forEach(function(s){const i=decodeURIComponent(s).replace(" "," ").split(":");r[i[0]]?r[i[0]].push(i[1]):r[i[0]]=[i[1]]});for(const s in r)if(Object.prototype.hasOwnProperty.call(r,s)){const i=r[s],n=s;let h="";for(const o of i)h+=` ${n}:${o}`;a=a.concat("fq="+h.trim())}}return"&"+a.join("&")}getRelatedSearches(e,t,a,r){const s=new Headers;s.append("Accept","application/json"),s.append("Authorization",a),fetch(t+"?search="+encodeURIComponent(e.query)+"&language="+this.dataLayer.language,{method:"GET",headers:s,credentials:"same-origin"}).then(i=>i.json()).then(i=>{r(i)})}search(e,t,a=!1,r=!1){this.dataLayer.setSearchTerm(e.query),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const s=new Proxy(new URLSearchParams(window.location.search),{get:(u,d)=>u.get(d)??""}),i=s.languageVariant?"&fq=_language:"+s.languageVariant:"",n=e.order?`&sort=${e.order}`:"",h=this.url+"?q="+encodeURIComponent(e.query.trim())+"&start="+(e.page-1)+this.toQueryString(e.additionalProps??[])+this.generateFacetQuery(e,r)+n+"&language="+this.dataLayer.language+i,o={method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch};a&&delete o.signal,fetch(h,o).then(u=>u.json()).then(u=>{this.dataLayer.setLoading(!1),t(u)}).catch(()=>{this.dataLayer.setLoading(!1)})}suggest(e,t,a){this.controllerSuggest&&this.controllerSuggest.abort(),this.controllerSuggest=new AbortController,this.signalSuggest=this.controllerSuggest.signal;const r=this.suggester+"?q="+e.trim()+this.toQueryString(a)+"&language="+this.dataLayer.language;fetch(r,{method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSuggest}).then(s=>s.json()).then(s=>{t(s)}).catch(()=>()=>{})}fields(){return this.fields}toQueryString(e){if(e.length===0)return"";const t=[];for(let a=0;a<e.length;a++){const r=e[a].key,s=e[a].value;t.push(encodeURIComponent(r)+"="+encodeURIComponent(s))}return"&"+t.join("&")}}class X{static getOrSetCookie(e){let t=this.getCookie(e);return t==null&&(t=this.makeid(25),this.setCookie(e,t,{secure:!0,"max-age":3600})),t}static makeid(e){let t="";const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=a.length;for(let s=0;s<e;s++)t+=a.charAt(Math.floor(Math.random()*r));return t}static getCookie(e){const t=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[\]\\/+^])/g,"\\$1")+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0}static setCookie(e,t,a){const r={path:"/",...a};a.expires instanceof Date&&(r.expires=a.expires.toUTCString());let s=encodeURIComponent(e)+"="+encodeURIComponent(t);for(const i in r){s+="; "+i;const n=r[i];n!==!0&&(s+="="+n)}document.cookie=s}}class O{static trackClick(e){const t={key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,totalHits:e.totalResults,pageNo:e.currentPage,latency:e.latencyVal,session:e.session,cDocId:e.result.uniqueId,cDocTitle:e.result.title,position:e.result.position,language:e.language};this.msq.push(["trackClick",t])}static trackSearch(e){const t={key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,totalHits:e.totalResults,pageNo:e.currentPage,latency:e.latencyVal,session:e.session,language:e.language,impressions:e.impressions};this.msq.push(["track",t])}static trackRelatedSearchClick(e){const t={session:e.session,key:e.trackApiKey,query:e.relatedSearch.search_term,position:e.relatedSearch.position,relatedSearch:e.relatedSearch.related_search,pageNo:e.currentPage,shownHits:e.recordsPerPage,totalHits:e.totalResults,language:e.language};this.msq.push(["trackRelatedSearchClick",t])}static trackRelatedSearches(e){const t={session:e.session,key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,latency:e.latencyVal,language:e.language,impressions:e.impressions};this.msq.push(["trackRelatedSearch",t])}}c(O,"msq",window._msq||[]);/*!
2
2
  * mustache.js - Logic-less {{mustache}} templates with JavaScript
3
3
  * http://github.com/janl/mustache.js
4
- */var Z=Object.prototype.toString,A=Array.isArray||function(e){return Z.call(e)==="[object Array]"};function U(l){return typeof l=="function"}function ee(l){return A(l)?"array":typeof l}function $(l){return l.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function K(l,e){return l!=null&&typeof l=="object"&&e in l}function te(l,e){return l!=null&&typeof l!="object"&&l.hasOwnProperty&&l.hasOwnProperty(e)}var ae=RegExp.prototype.test;function se(l,e){return ae.call(l,e)}var re=/\S/;function ie(l){return!se(re,l)}var ne={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function ce(l){return String(l).replace(/[&<>"'`=\/]/g,function(t){return ne[t]})}var le=/\s*/,he=/\s+/,W=/\s*=/,oe=/\s*\}/,ue=/#|\^|\/|>|\{|&|=|!/;function de(l,e){if(!l)return[];var t=!1,a=[],r=[],s=[],i=!1,n=!1,h="",o=0;function u(){if(i&&!n)for(;s.length;)delete r[s.pop()];else s=[];i=!1,n=!1}var d,p,m;function L(S){if(typeof S=="string"&&(S=S.split(he,2)),!A(S)||S.length!==2)throw new Error("Invalid tags: "+S);d=new RegExp($(S[0])+"\\s*"),p=new RegExp("\\s*"+$(S[1])),m=new RegExp("\\s*"+$("}"+S[1]))}L(e||y.tags);for(var f=new j(l),C,v,b,k,R,T;!f.eos();){if(C=f.pos,b=f.scanUntil(d),b)for(var P=0,F=b.length;P<F;++P)k=b.charAt(P),ie(k)?(s.push(r.length),h+=k):(n=!0,t=!0,h+=" "),r.push(["text",k,C,C+1]),C+=1,k===`
5
- `&&(u(),h="",o=0,t=!1);if(!f.scan(d))break;if(i=!0,v=f.scan(ue)||"name",f.scan(le),v==="="?(b=f.scanUntil(W),f.scan(W),f.scanUntil(p)):v==="{"?(b=f.scanUntil(m),f.scan(oe),f.scanUntil(p),v="&"):b=f.scanUntil(p),!f.scan(p))throw new Error("Unclosed tag at "+f.pos);if(v==">"?R=[v,b,C,f.pos,h,o,t]:R=[v,b,C,f.pos],o++,r.push(R),v==="#"||v==="^")a.push(R);else if(v==="/"){if(T=a.pop(),!T)throw new Error('Unopened section "'+b+'" at '+C);if(T[1]!==b)throw new Error('Unclosed section "'+T[1]+'" at '+C)}else v==="name"||v==="{"||v==="&"?n=!0:v==="="&&L(b)}if(u(),T=a.pop(),T)throw new Error('Unclosed section "'+T[1]+'" at '+f.pos);return pe(ge(r))}function ge(l){for(var e=[],t,a,r=0,s=l.length;r<s;++r)t=l[r],t&&(t[0]==="text"&&a&&a[0]==="text"?(a[1]+=t[1],a[3]=t[3]):(e.push(t),a=t));return e}function pe(l){for(var e=[],t=e,a=[],r,s,i=0,n=l.length;i<n;++i)switch(r=l[i],r[0]){case"#":case"^":t.push(r),a.push(r),t=r[4]=[];break;case"/":s=a.pop(),s[5]=r[2],t=a.length>0?a[a.length-1][4]:e;break;default:t.push(r)}return e}function j(l){this.string=l,this.tail=l,this.pos=0}j.prototype.eos=function(){return this.tail===""};j.prototype.scan=function(e){var t=this.tail.match(e);if(!t||t.index!==0)return"";var a=t[0];return this.tail=this.tail.substring(a.length),this.pos+=a.length,a};j.prototype.scanUntil=function(e){var t=this.tail.search(e),a;switch(t){case-1:a=this.tail,this.tail="";break;case 0:a="";break;default:a=this.tail.substring(0,t),this.tail=this.tail.substring(t)}return this.pos+=a.length,a};function M(l,e){this.view=l,this.cache={".":this.view},this.parent=e}M.prototype.push=function(e){return new M(e,this)};M.prototype.lookup=function(e){var t=this.cache,a;if(t.hasOwnProperty(e))a=t[e];else{for(var r=this,s,i,n,h=!1;r;){if(e.indexOf(".")>0)for(s=r.view,i=e.split("."),n=0;s!=null&&n<i.length;)n===i.length-1&&(h=K(s,i[n])||te(s,i[n])),s=s[i[n++]];else s=r.view[e],h=K(r.view,e);if(h){a=s;break}r=r.parent}t[e]=a}return U(a)&&(a=a.call(this.view)),a};function x(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}x.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()};x.prototype.parse=function(e,t){var a=this.templateCache,r=e+":"+(t||y.tags).join(":"),s=typeof a<"u",i=s?a.get(r):void 0;return i==null&&(i=de(e,t),s&&a.set(r,i)),i};x.prototype.render=function(e,t,a,r){var s=this.getConfigTags(r),i=this.parse(e,s),n=t instanceof M?t:new M(t,void 0);return this.renderTokens(i,n,a,e,r)};x.prototype.renderTokens=function(e,t,a,r,s){for(var i="",n,h,o,u=0,d=e.length;u<d;++u)o=void 0,n=e[u],h=n[0],h==="#"?o=this.renderSection(n,t,a,r,s):h==="^"?o=this.renderInverted(n,t,a,r,s):h===">"?o=this.renderPartial(n,t,a,s):h==="&"?o=this.unescapedValue(n,t):h==="name"?o=this.escapedValue(n,t,s):h==="text"&&(o=this.rawValue(n)),o!==void 0&&(i+=o);return i};x.prototype.renderSection=function(e,t,a,r,s){var i=this,n="",h=t.lookup(e[1]);function o(p){return i.render(p,t,a,s)}if(h){if(A(h))for(var u=0,d=h.length;u<d;++u)n+=this.renderTokens(e[4],t.push(h[u]),a,r,s);else if(typeof h=="object"||typeof h=="string"||typeof h=="number")n+=this.renderTokens(e[4],t.push(h),a,r,s);else if(U(h)){if(typeof r!="string")throw new Error("Cannot use higher-order sections without the original template");h=h.call(t.view,r.slice(e[3],e[5]),o),h!=null&&(n+=h)}else n+=this.renderTokens(e[4],t,a,r,s);return n}};x.prototype.renderInverted=function(e,t,a,r,s){var i=t.lookup(e[1]);if(!i||A(i)&&i.length===0)return this.renderTokens(e[4],t,a,r,s)};x.prototype.indentPartial=function(e,t,a){for(var r=t.replace(/[^ \t]/g,""),s=e.split(`
4
+ */var Y=Object.prototype.toString,A=Array.isArray||function(e){return Y.call(e)==="[object Array]"};function $(l){return typeof l=="function"}function Z(l){return A(l)?"array":typeof l}function D(l){return l.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function N(l,e){return l!=null&&typeof l=="object"&&e in l}function ee(l,e){return l!=null&&typeof l!="object"&&l.hasOwnProperty&&l.hasOwnProperty(e)}var te=RegExp.prototype.test;function ae(l,e){return te.call(l,e)}var se=/\S/;function re(l){return!ae(se,l)}var ie={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function ne(l){return String(l).replace(/[&<>"'`=\/]/g,function(t){return ie[t]})}var ce=/\s*/,le=/\s+/,K=/\s*=/,he=/\s*\}/,oe=/#|\^|\/|>|\{|&|=|!/;function ue(l,e){if(!l)return[];var t=!1,a=[],r=[],s=[],i=!1,n=!1,h="",o=0;function u(){if(i&&!n)for(;s.length;)delete r[s.pop()];else s=[];i=!1,n=!1}var d,p,m;function L(T){if(typeof T=="string"&&(T=T.split(le,2)),!A(T)||T.length!==2)throw new Error("Invalid tags: "+T);d=new RegExp(D(T[0])+"\\s*"),p=new RegExp("\\s*"+D(T[1])),m=new RegExp("\\s*"+D("}"+T[1]))}L(e||y.tags);for(var f=new V(l),C,v,b,k,R,S;!f.eos();){if(C=f.pos,b=f.scanUntil(d),b)for(var P=0,F=b.length;P<F;++P)k=b.charAt(P),re(k)?(s.push(r.length),h+=k):(n=!0,t=!0,h+=" "),r.push(["text",k,C,C+1]),C+=1,k===`
5
+ `&&(u(),h="",o=0,t=!1);if(!f.scan(d))break;if(i=!0,v=f.scan(oe)||"name",f.scan(ce),v==="="?(b=f.scanUntil(K),f.scan(K),f.scanUntil(p)):v==="{"?(b=f.scanUntil(m),f.scan(he),f.scanUntil(p),v="&"):b=f.scanUntil(p),!f.scan(p))throw new Error("Unclosed tag at "+f.pos);if(v==">"?R=[v,b,C,f.pos,h,o,t]:R=[v,b,C,f.pos],o++,r.push(R),v==="#"||v==="^")a.push(R);else if(v==="/"){if(S=a.pop(),!S)throw new Error('Unopened section "'+b+'" at '+C);if(S[1]!==b)throw new Error('Unclosed section "'+S[1]+'" at '+C)}else v==="name"||v==="{"||v==="&"?n=!0:v==="="&&L(b)}if(u(),S=a.pop(),S)throw new Error('Unclosed section "'+S[1]+'" at '+f.pos);return ge(de(r))}function de(l){for(var e=[],t,a,r=0,s=l.length;r<s;++r)t=l[r],t&&(t[0]==="text"&&a&&a[0]==="text"?(a[1]+=t[1],a[3]=t[3]):(e.push(t),a=t));return e}function ge(l){for(var e=[],t=e,a=[],r,s,i=0,n=l.length;i<n;++i)switch(r=l[i],r[0]){case"#":case"^":t.push(r),a.push(r),t=r[4]=[];break;case"/":s=a.pop(),s[5]=r[2],t=a.length>0?a[a.length-1][4]:e;break;default:t.push(r)}return e}function V(l){this.string=l,this.tail=l,this.pos=0}V.prototype.eos=function(){return this.tail===""};V.prototype.scan=function(e){var t=this.tail.match(e);if(!t||t.index!==0)return"";var a=t[0];return this.tail=this.tail.substring(a.length),this.pos+=a.length,a};V.prototype.scanUntil=function(e){var t=this.tail.search(e),a;switch(t){case-1:a=this.tail,this.tail="";break;case 0:a="";break;default:a=this.tail.substring(0,t),this.tail=this.tail.substring(t)}return this.pos+=a.length,a};function M(l,e){this.view=l,this.cache={".":this.view},this.parent=e}M.prototype.push=function(e){return new M(e,this)};M.prototype.lookup=function(e){var t=this.cache,a;if(t.hasOwnProperty(e))a=t[e];else{for(var r=this,s,i,n,h=!1;r;){if(e.indexOf(".")>0)for(s=r.view,i=e.split("."),n=0;s!=null&&n<i.length;)n===i.length-1&&(h=N(s,i[n])||ee(s,i[n])),s=s[i[n++]];else s=r.view[e],h=N(r.view,e);if(h){a=s;break}r=r.parent}t[e]=a}return $(a)&&(a=a.call(this.view)),a};function x(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}x.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()};x.prototype.parse=function(e,t){var a=this.templateCache,r=e+":"+(t||y.tags).join(":"),s=typeof a<"u",i=s?a.get(r):void 0;return i==null&&(i=ue(e,t),s&&a.set(r,i)),i};x.prototype.render=function(e,t,a,r){var s=this.getConfigTags(r),i=this.parse(e,s),n=t instanceof M?t:new M(t,void 0);return this.renderTokens(i,n,a,e,r)};x.prototype.renderTokens=function(e,t,a,r,s){for(var i="",n,h,o,u=0,d=e.length;u<d;++u)o=void 0,n=e[u],h=n[0],h==="#"?o=this.renderSection(n,t,a,r,s):h==="^"?o=this.renderInverted(n,t,a,r,s):h===">"?o=this.renderPartial(n,t,a,s):h==="&"?o=this.unescapedValue(n,t):h==="name"?o=this.escapedValue(n,t,s):h==="text"&&(o=this.rawValue(n)),o!==void 0&&(i+=o);return i};x.prototype.renderSection=function(e,t,a,r,s){var i=this,n="",h=t.lookup(e[1]);function o(p){return i.render(p,t,a,s)}if(h){if(A(h))for(var u=0,d=h.length;u<d;++u)n+=this.renderTokens(e[4],t.push(h[u]),a,r,s);else if(typeof h=="object"||typeof h=="string"||typeof h=="number")n+=this.renderTokens(e[4],t.push(h),a,r,s);else if($(h)){if(typeof r!="string")throw new Error("Cannot use higher-order sections without the original template");h=h.call(t.view,r.slice(e[3],e[5]),o),h!=null&&(n+=h)}else n+=this.renderTokens(e[4],t,a,r,s);return n}};x.prototype.renderInverted=function(e,t,a,r,s){var i=t.lookup(e[1]);if(!i||A(i)&&i.length===0)return this.renderTokens(e[4],t,a,r,s)};x.prototype.indentPartial=function(e,t,a){for(var r=t.replace(/[^ \t]/g,""),s=e.split(`
6
6
  `),i=0;i<s.length;i++)s[i].length&&(i>0||!a)&&(s[i]=r+s[i]);return s.join(`
7
- `)};x.prototype.renderPartial=function(e,t,a,r){if(a){var s=this.getConfigTags(r),i=U(a)?a(e[1]):a[e[1]];if(i!=null){var n=e[6],h=e[5],o=e[4],u=i;h==0&&o&&(u=this.indentPartial(i,o,n));var d=this.parse(u,s);return this.renderTokens(d,t,a,u,r)}}};x.prototype.unescapedValue=function(e,t){var a=t.lookup(e[1]);if(a!=null)return a};x.prototype.escapedValue=function(e,t,a){var r=this.getConfigEscape(a)||y.escape,s=t.lookup(e[1]);if(s!=null)return typeof s=="number"&&r===y.escape?String(s):r(s)};x.prototype.rawValue=function(e){return e[1]};x.prototype.getConfigTags=function(e){return A(e)?e:e&&typeof e=="object"?e.tags:void 0};x.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!A(e))return e.escape};var y={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(l){V.templateCache=l},get templateCache(){return V.templateCache}},V=new x;y.clearCache=function(){return V.clearCache()};y.parse=function(e,t){return V.parse(e,t)};y.render=function(e,t,a,r){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+ee(e)+'" was given as the first argument for mustache#render(template, view, partials)');return V.render(e,t,a,r)};y.escape=ce;y.Scanner=j;y.Context=M;y.Writer=x;const fe={mainTemplateDesktop:{template:`
7
+ `)};x.prototype.renderPartial=function(e,t,a,r){if(a){var s=this.getConfigTags(r),i=$(a)?a(e[1]):a[e[1]];if(i!=null){var n=e[6],h=e[5],o=e[4],u=i;h==0&&o&&(u=this.indentPartial(i,o,n));var d=this.parse(u,s);return this.renderTokens(d,t,a,u,r)}}};x.prototype.unescapedValue=function(e,t){var a=t.lookup(e[1]);if(a!=null)return a};x.prototype.escapedValue=function(e,t,a){var r=this.getConfigEscape(a)||y.escape,s=t.lookup(e[1]);if(s!=null)return typeof s=="number"&&r===y.escape?String(s):r(s)};x.prototype.rawValue=function(e){return e[1]};x.prototype.getConfigTags=function(e){return A(e)?e:e&&typeof e=="object"?e.tags:void 0};x.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!A(e))return e.escape};var y={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(l){B.templateCache=l},get templateCache(){return B.templateCache}},B=new x;y.clearCache=function(){return B.clearCache()};y.parse=function(e,t){return B.parse(e,t)};y.render=function(e,t,a,r){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+Z(e)+'" was given as the first argument for mustache#render(template, view, partials)');return B.render(e,t,a,r)};y.escape=ne;y.Scanner=V;y.Context=M;y.Writer=x;const pe={mainTemplateDesktop:{template:`
8
8
  {{#hasResultsOrExternalPromotions}}
9
9
  <div class="searchstax-facets-container-desktop"></div>
10
10
  {{/hasResultsOrExternalPromotions}}
@@ -63,7 +63,7 @@
63
63
  <div class="searchstax-facets-pill-label">{{value}} ({{count}})</div>
64
64
  <div class="searchstax-facets-pill-icon-close"></div>
65
65
  </div>
66
- `,containerClass:"searchstax-facets-pill-facets"}},me={mainTemplate:{template:`
66
+ `,containerClass:"searchstax-facets-pill-facets"}},fe={mainTemplate:{template:`
67
67
  {{#results.length}}
68
68
  <div class="searchstax-pagination-container">
69
69
  <div class="searchstax-pagination-content">
@@ -75,7 +75,7 @@
75
75
  </div>
76
76
  </div>
77
77
  {{/results.length}}
78
- `,nextButtonClass:"searchstax-pagination-next",previousButtonClass:"searchstax-pagination-previous"}},ye={mainTemplate:{template:`
78
+ `,nextButtonClass:"searchstax-pagination-next",previousButtonClass:"searchstax-pagination-previous"}},me={mainTemplate:{template:`
79
79
  <div class="searchstax-search-input-container">
80
80
  <div class="searchstax-search-input-wrapper">
81
81
  <input type="text" id="searchstax-search-input" class="searchstax-search-input" placeholder="SEARCH FOR..." />
@@ -84,7 +84,7 @@
84
84
  </div>
85
85
  `,searchInputId:"searchstax-search-input"},autosuggestItemTemplate:{template:`
86
86
  <div class="searchstax-autosuggest-item-term-container">{{{term}}}</div>
87
- `}},Ce={mainTemplate:{template:`
87
+ `}},ye={mainTemplate:{template:`
88
88
  <div class="searchstax-search-results-container">
89
89
  <div class="searchstax-search-results" id="searchstax-search-results"></div>
90
90
  </div>
@@ -148,4 +148,4 @@
148
148
  <p>Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need.</p>
149
149
  <p>Lost? Click on the ‘X” in the Search Box to reset your search.</p>
150
150
  </div>
151
- `}};class g{}c(g,"facets",fe),c(g,"pagination",me),c(g,"searchInput",ye),c(g,"searchResults",Ce);class ve{constructor(e,t){c(this,"dataLayer");c(this,"config");c(this,"containerId");c(this,"routerHelper");c(this,"cachedPhrase","");c(this,"isCached",!1);c(this,"overlayOpened",!1);c(this,"facetPaginationStep");c(this,"facetPaginationStepMobile");c(this,"searchFacetsMainContainer",null);c(this,"searchFacetsMobileContainer",null);c(this,"searchFacetsDesktopContainer",null);c(this,"facetLimits",{});c(this,"facetLimitsMobile",{});c(this,"deactivatedFacets",{});c(this,"renderedDataCache",{results:[],facets:[]});c(this,"cacheFacets");c(this,"onFacetSelect",(e,t,a,r)=>{if(e.stopPropagation(),!t.disabled){const s=a.querySelector("input");s.checked=r?s.checked:!s.checked;const i=this.dataLayer.searchObject;let n=[...i.facets];s.checked?n.find(o=>o===this.extractFacetValue(t)?o:!1)||n.push(this.extractFacetValue(t)):n=n.filter(h=>h!==this.extractFacetValue(t)),setTimeout(()=>{this.dataLayer.setSearchObject({...i,facets:n,page:1})},0)}});this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,this.searchFacetsMainContainer=document.getElementById(this.containerId),this.needCache&&t(),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get needCache(){return this.config.facetingType===B.showUnavailable||this.config.facetingType===B.or}get needDisabling(){return this.config.facetingType===B.showUnavailable}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchFacets.subscribe(e=>{e&&(this.dataLayer.searchFacetsCached||!this.needCache)&&this.renderMainTemplate(this.generateTemplateData()),this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets())}),this.dataLayer.$searchResultsMetadata.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return encodeURIComponent(`${e.parentName}:"${e.value}"`)}applyFacetLimits(e,t){const a=t?this.facetPaginationStepMobile:this.facetPaginationStep,r=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(s=>{r[s.name]||(r[s.name]=a)}),e.map(s=>({...s,values:s.values.slice(0,r[s.name]),showingAllFacets:s.values.length<=r[s.name],hasMoreFacets:s.values.length>a}))}generateTemplateData(e){if(this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;return this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(a=>{var s;const r=(s=this.dataLayer.searchFacets)==null?void 0:s.find(i=>i.name===a.name);return r?{...a,values:a.values.map(i=>{const n=r.values.find(h=>i.type==="range"?!1:i.type==="checkbox"?h.value===i.value:!1);return{...i,disabled:!n}})}:{...a,values:a.values.map(i=>({...i,disabled:!0}))}}))),{facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data}}else return{facets:[],...this.dataLayer.parsedData.data}}overrideFacetEvents(){}createFacetItem(e,t,a){var h,o,u,d,p,m,L,f,C,v,b,k;const r=document.createElement("div");r.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||r.classList.add("active");const s=((u=(o=(h=this.config)==null?void 0:h.templates)==null?void 0:o.facetItemContainerTemplate)==null?void 0:u.template)||((d=g.facets.facetItemContainerTemplate)==null?void 0:d.template);r.innerHTML=y.render(s,e),t.appendChild(r);const i=r.querySelector("."+(((L=(m=(p=this.config)==null?void 0:p.templates)==null?void 0:m.facetItemContainerTemplate)==null?void 0:L.facetListTitleContainerClass)||((f=g.facets.facetItemContainerTemplate)==null?void 0:f.facetListTitleContainerClass)));i==null||i.addEventListener("click",()=>{r.classList.toggle("active")});const n=r.querySelector("."+(((b=(v=(C=this.config)==null?void 0:C.templates)==null?void 0:v.facetItemContainerTemplate)==null?void 0:b.facetListContainerClass)||((k=g.facets.facetItemContainerTemplate)==null?void 0:k.facetListContainerClass)));n&&(e.values.forEach(R=>{this.createFacetListItem(R,n)}),e.hasMoreFacets&&this.createHasMoreComponent(e,n,a))}createFacetListItem(e,t){var h,o,u,d,p,m,L,f,C,v,b,k,R,T;const a=document.createElement("div");a.classList.add("searchstax-facet-value-container"),e.disabled&&a.classList.add("searchstax-facet-value-disabled");const s=!!((h=this.dataLayer.searchObject.facets)!=null&&h.find(P=>P===this.extractFacetValue(e))),i=((d=(u=(o=this.config)==null?void 0:o.templates)==null?void 0:u.facetItemTemplate)==null?void 0:d.template)||((p=g.facets.facetItemTemplate)==null?void 0:p.template);a.innerHTML=y.render(i,{...e,isChecked:s});let n=(m=g.facets.facetItemTemplate)==null?void 0:m.checkTriggerClasses;n=((C=(f=(L=this.config)==null?void 0:L.templates)==null?void 0:f.facetItemTemplate)==null?void 0:C.checkTriggerClasses)||n,n.forEach(P=>{var F;(F=a.querySelector("."+P))==null||F.addEventListener("click",S=>{this.onFacetSelect(S,e,a)})}),(T=a.querySelector("."+(((k=(b=(v=this.config)==null?void 0:v.templates)==null?void 0:b.facetItemTemplate)==null?void 0:k.inputCheckboxClass)||((R=g.facets.facetItemTemplate)==null?void 0:R.inputCheckboxClass))))==null||T.addEventListener("click",P=>{this.onFacetSelect(P,e,a,!0)}),t.appendChild(a)}createHasMoreComponent(e,t,a){var n,h,o,u,d,p,m,L;const r=document.createElement("div");r.classList.add("searchstax-facet-show-more-container");const s=((o=(h=(n=this.config)==null?void 0:n.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:o.template)||((u=g.facets.showMoreButtonContainerTemplate)==null?void 0:u.template);r.innerHTML=y.render(s,e);const i=r.querySelector("."+(((m=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.showMoreButtonContainerTemplate)==null?void 0:m.showMoreButtonClass)||((L=g.facets.showMoreButtonContainerTemplate)==null?void 0:L.showMoreButtonClass)));i&&(this.attachOnclickToShowMore(e,i,a),t&&t.appendChild(i))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",r=>{this.onShowMoreLessClick(r,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const r=a?this.facetPaginationStepMobile:this.facetPaginationStep,s=a?this.facetLimits:this.facetLimitsMobile;s[t.name]===void 0?s[t.name]=r*2:s[t.name]<=t.values.length?s[t.name]=s[t.name]+r:s[t.name]=r,this.renderMainTemplate(this.generateTemplateData(),!0)}renderMainTemplate(e,t){var a,r,s,i,n,h,o,u,d,p,m;if((JSON.stringify(this.renderedDataCache.results)!==JSON.stringify(e.results)||t)&&(this.renderedDataCache=e.results,e)){const L=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplateDesktop)==null?void 0:s.template)||((i=g.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===w.mustache){this.searchFacetsMainContainer.innerHTML=y.render(L,{...e});const f=(u=this.searchFacetsMainContainer)==null?void 0:u.querySelector("."+(((o=(h=(n=this.config)==null?void 0:n.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:o.facetsContainerClass)||g.facets.mainTemplateDesktop.facetsContainerClass));if(f){f.innerHTML="";for(const C of e.facets)this.createFacetItem(C,f);if(this.searchFacetsMainContainer){const C=this.searchFacetsMainContainer.querySelector("."+(((m=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplateDesktop)==null?void 0:m.selectedFacetsContainerClass)||g.facets.mainTemplateDesktop.selectedFacetsContainerClass));C&&(this.createSelectedFacetsComponents(C),this.createClearFacetsComponents(C))}}this.renderMobileTemplate(this.generateTemplateData(!0))}}}createSelectedFacetsComponents(e){const t=this.dataLayer.searchObject.facets;for(const a of t){const r=decodeURIComponent(a).split(":")[0],s=decodeURIComponent(a).split(":")[1];if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,n=i==null?void 0:i.find(h=>h.name===r);if(n){const h=n.values.find(o=>o.type==="range"?!1:o.type==="checkbox"?`"${o.value}"`===s:!1);h&&this.createSelectedFacetsComponent(e,h)}}}}createClearFacetsComponents(e){var i,n,h,o,u,d,p,m;const t=this.dataLayer.searchObject,a=((h=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.clearFacetsTemplate)==null?void 0:h.template)||((o=g.facets.clearFacetsTemplate)==null?void 0:o.template),r=document.createElement("div");r.innerHTML=y.render(a,{shouldShow:t.facets.length>0});const s=r.querySelector("."+(((p=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.clearFacetsTemplate)==null?void 0:p.containerClass)||((m=g.facets.clearFacetsTemplate)==null?void 0:m.containerClass)));s&&(s.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(s))}createSelectedFacetsComponent(e,t){var i,n,h,o,u,d,p,m;const a=((h=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.selectedFacetsTemplate)==null?void 0:h.template)||((o=g.facets.selectedFacetsTemplate)==null?void 0:o.template),r=document.createElement("div");r.innerHTML=y.render(a,t);const s=r.querySelector("."+(((p=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.selectedFacetsTemplate)==null?void 0:p.containerClass)||((m=g.facets.selectedFacetsTemplate)==null?void 0:m.containerClass)));s&&(s.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(s))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(r=>r!==this.extractFacetValue(e))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a})},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var s,i,n,h,o,u,d,p;const t=((n=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.filterByTemplate)==null?void 0:n.template)||((h=g.facets.filterByTemplate)==null?void 0:h.template),a=document.createElement("div");a.innerHTML=y.render(t,{});const r=a.querySelector("."+(((d=(u=(o=this.config)==null?void 0:o.templates)==null?void 0:u.filterByTemplate)==null?void 0:d.containerClass)||((p=g.facets.filterByTemplate)==null?void 0:p.containerClass)));r&&(e.prepend(r),r.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,r,s,i,n,h,o,u,d,p,m,L,f,C,v,b,k,R;if(e){const T=document.createElement("div");T.classList.add("searchstax-facets-container-mobile");const P=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:r.template)||((s=g.facets.mainTemplateMobile)==null?void 0:s.template);if(this.dataLayer.renderingEngine===w.mustache){if(T.innerHTML=y.render(P,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(T),(h=(n=this.config)==null?void 0:n.templates)!=null&&h.mainTemplateMobile)for(const E of((d=(u=(o=this.config)==null?void 0:o.templates)==null?void 0:u.mainTemplateMobile)==null?void 0:d.closeOverlayTriggerClasses)||[]){const H=T.querySelector("."+E);H&&H.addEventListener("click",this.closeOverlay.bind(this))}else for(const E of g.facets.mainTemplateMobile.closeOverlayTriggerClasses){const H=T.querySelector("."+E);H&&H.addEventListener("click",this.closeOverlay.bind(this))}const F=T.querySelector("."+(((L=(m=(p=this.config)==null?void 0:p.templates)==null?void 0:m.mainTemplateMobile)==null?void 0:L.filterByContainerClass)||g.facets.mainTemplateMobile.filterByContainerClass));F&&this.createFilterByComponent(F);const S=T.querySelector("."+(((v=(C=(f=this.config)==null?void 0:f.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:v.selectedFacetsContainerClass)||g.facets.mainTemplateMobile.selectedFacetsContainerClass));S&&(this.createSelectedFacetsComponents(S),this.createClearFacetsComponents(S));const D=T.querySelector("."+(((R=(k=(b=this.config)==null?void 0:b.templates)==null?void 0:k.mainTemplateMobile)==null?void 0:R.facetsContainerClass)||g.facets.mainTemplateMobile.facetsContainerClass));if(D){D.innerHTML="";for(const E of e.facets)this.createFacetItem(E,D,!0)}}}}}class be{constructor(e){c(this,"dataLayer");c(this,"config");c(this,"containerId");c(this,"previousButtonClass");c(this,"nextButtonClass");c(this,"routerHelper");c(this,"searchPaginationMainContainer",null);var t,a,r,s,i,n;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.previousButtonClass)??g.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((n=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:n.nextButtonClass)??g.pagination.mainTemplate.nextButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil((((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.totalResultsValue)??0)/10)}initializeSubscriptions(){this.dataLayer.$searchResultsMetadata.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var e,t;return{...this.dataLayer.parsedData.data,previousPageLink:this.routerHelper.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:this.routerHelper.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)+1})}}goToPage(e){const t=this.dataLayer.searchObject;t&&(t.page=e,this.dataLayer.setSearchObject(t)),window.scrollTo(0,0)}nextPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var a,r,s,i,n,h;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(r=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||r.removeEventListener("click",this.nextPage));const t=((n=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:n.template)||((h=g.pagination.mainTemplate)==null?void 0:h.template);this.dataLayer.renderingEngine===w.mustache&&(this.searchPaginationMainContainer.innerHTML=y.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Le{constructor(e){c(this,"dataLayer");c(this,"config");c(this,"suggestAfterMinChars");c(this,"containerId");c(this,"currentInputValue","");c(this,"autosuggestResults");c(this,"searchInput");c(this,"actionButton");c(this,"autosuggestContainer");c(this,"buttonState","search");c(this,"selectedAutosuggestItem",-1);c(this,"suggestTrigger");c(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var s,i,n,h;const e=document.getElementById(this.containerId);if(!e)throw new Error("Search input container not found");const t=((i=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:i.template)||g.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===w.mustache){const o=y.render(t,{});e.innerHTML=o}const a=((h=(n=this.config.templates)==null?void 0:n.mainTemplate)==null?void 0:h.searchInputId)||g.searchInput.mainTemplate.searchInputId,r=document.querySelector(`#${a}`);if(r)this.searchInput=r,r.addEventListener("keyup",this.inputKeyupEvent.bind(this)),r.addEventListener("blur",this.hideAutosuggest.bind(this)),r.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer)}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return e.replace(/(<([^>]+)>)/gi,"").trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var r,s,i;const t=document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{var n;this.selectedAutosuggestItem=((n=this.autosuggestResults)==null?void 0:n.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()});const a=((s=(r=this.config.templates)==null?void 0:r.autosuggestItemTemplate)==null?void 0:s.template)||((i=g.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=y.render(a,e),t}appendSuggestions(e){if(this.autosuggestContainer){this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden");for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const a=e.suggest[t];for(const r in a)if(Object.prototype.hasOwnProperty.call(a,r)){const s=a[r];this.autosuggestResults=s,s.numFound>0?s.suggestions.forEach(i=>{this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer.classList.add("hidden")}}}}}class Te{constructor(e){c(this,"dataLayer");c(this,"config");c(this,"linkClickCallback");c(this,"searchCallback");c(this,"containerId");c(this,"searchResultsMainContainer");c(this,"searchResultsContainer");c(this,"searchResultLinks",[]);this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId;const t=document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,r,s,i,n;const e=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.noSearchResultTemplate)==null?void 0:s.template)||((i=g.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((n=this.dataLayer.searchResultsMetadata)==null?void 0:n.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===w.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=y.render(e,{spellingSuggestion:t,searchTerm:this.dataLayer.searchTerm})),t&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,r,s;if(this.dataLayer.renderingEngine===w.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const i=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:r.template)||((s=g.searchResults.searchResultTemplate)==null?void 0:s.template),n=e.map(h=>y.render(i,h));this.searchResultsContainer.innerHTML=n.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,a,r;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((r=g.searchResults.searchResultTemplate)==null?void 0:r.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var t,a,r,s;const e=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.template)||((s=g.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===w.mustache&&(this.searchResultsMainContainer.innerHTML=y.render(e,{})),setTimeout(()=>{var h,o,u,d,p,m,L;const i=(u=(o=(h=this.config)==null?void 0:h.templates)==null?void 0:o.mainTemplate)!=null&&u.searchResultsContainerId?(m=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplate)==null?void 0:m.searchResultsContainerId:(L=g.searchResults.mainTemplate)==null?void 0:L.searchResultsContainerId,n=document.getElementById(i);if(n)this.searchResultsContainer=n;else throw new Error(`Search Results Container with id ${i} not found`)},0)}}class Se{constructor(e=w.mustache){c(this,"routerEnabled",!1);c(this,"routerHelper");c(this,"searchHelper");c(this,"searchInputConfig");c(this,"searchResultsConfig");c(this,"searchPaginationConfig");c(this,"searchFeedbackConfig");c(this,"searchSortingConfig");c(this,"searchFacetsConfig");c(this,"relatedSearchesConfig");c(this,"externalPromotionsConfig");c(this,"searchInputWidget");c(this,"searchResultsWidget");c(this,"searchFacetsWidget");c(this,"searchPaginationWidget");c(this,"dataLayer",new G(Y.getOrSetCookie("searchstax_session_id")));c(this,"firstRequest",!0);e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=w.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.searchInputConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.searchInputConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{a.query!==void 0&&this.search(a)}),this.dataLayer.$searchResultsMetadata.subscribe(()=>{this.dataLayer.searchResultsMetadata&&O.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t;this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new X({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),(t=e.router)!=null&&t.enabled?(this.routerEnabled=!0,this.routerHelper=new N(e.router),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new N({})}search(e){var t;if(this.searchHelper&&e.query!==""){const a=((t=this.searchFacetsConfig)==null?void 0:t.facetingType)===B.or;this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,a),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var s;const a=(((s=e.response)==null?void 0:s.docs)??[]).map((i,n)=>({...i,position:n+1})),r=[];for(const i of a)r.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&O.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:r}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var r,s;this.handleRouter();let t=q.combineResultsWithMetadata(e),a=q.extractFacets(e);this.dataLayer.setSearchFacets(a),(s=(r=this.searchInputConfig)==null?void 0:r.hooks)!=null&&s.afterSearch&&(t=this.searchInputConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]),this.dataLayer.setSearchResults(t),this.dataLayer.setSearchResultsMetadata(q.extractSearchResultsMetadata(e))}cacheFacets(){this.searchHelper&&this.searchHelper.search({query:this.dataLayer.searchObject.query??"*",page:1,order:"",facets:[],additionalProps:[]},this.cacheFacetsCallback.bind(this))}cacheFacetsCallback(e){let t=q.extractFacets(e);this.dataLayer.setSearchFacetsCached(t)}parseSuggestSuggestResponse(e){var a,r;let t=e;(r=(a=this.searchInputConfig)==null?void 0:a.hooks)!=null&&r.afterAutosuggest&&(t=this.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.searchInputConfig||(this.searchInputConfig=t,this.searchInputWidget=new Le({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Te({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 be({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new ve({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e){var s,i,n,h;const t={...this.dataLayer.searchObject};t.query=e,t.page=1;let a=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(t);a&&(a=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(a)),a&&(t.additionalProps=Object.keys(a).map(o=>a?{name:o,value:a[o]}:{name:"",value:""}));let r=t;(h=(n=this.searchInputConfig)==null?void 0:n.hooks)!=null&&h.beforeSearch&&r&&(r=this.searchInputConfig.hooks.beforeSearch(r)),r&&this.dataLayer.setSearchObject(r)}executeSuggest(e){var a,r;let t={term:e,queryParams:[]};(r=(a=this.searchInputConfig)==null?void 0:a.hooks)!=null&&r.beforeAutosuggest&&(t=this.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&&O.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,r;let t=q.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((r=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&r.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&O.trackClick({result:t,...this.dataLayer.parsedData.trackingData}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,a,r;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(r=this.searchResultsWidget)==null||r.changeTemplate())}}exports.Searchstax=Se;
151
+ `}};class g{}c(g,"facets",pe),c(g,"pagination",fe),c(g,"searchInput",me),c(g,"searchResults",ye);class Ce{constructor(e,t){c(this,"dataLayer");c(this,"config");c(this,"containerId");c(this,"routerHelper");c(this,"cachedPhrase","");c(this,"isCached",!1);c(this,"overlayOpened",!1);c(this,"facetPaginationStep");c(this,"facetPaginationStepMobile");c(this,"searchFacetsMainContainer",null);c(this,"searchFacetsMobileContainer",null);c(this,"searchFacetsDesktopContainer",null);c(this,"facetLimits",{});c(this,"facetLimitsMobile",{});c(this,"deactivatedFacets",{});c(this,"renderedDataCache",{results:[],facets:[]});c(this,"cacheFacets");c(this,"onFacetSelect",(e,t,a,r)=>{if(e.stopPropagation(),!t.disabled){const s=a.querySelector("input");s.checked=r?s.checked:!s.checked;const i=this.dataLayer.searchObject;let n=[...i.facets];s.checked?n.find(o=>o===this.extractFacetValue(t)?o:!1)||n.push(this.extractFacetValue(t)):n=n.filter(h=>h!==this.extractFacetValue(t)),setTimeout(()=>{this.dataLayer.setSearchObject({...i,facets:n,page:1})},0)}});this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,this.searchFacetsMainContainer=document.getElementById(this.containerId),this.needCache&&t(),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get needCache(){return this.config.facetingType==="showUnavailable"||this.config.facetingType==="or"}get needDisabling(){return this.config.facetingType==="showUnavailable"}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchFacets.subscribe(e=>{e&&(this.dataLayer.searchFacetsCached||!this.needCache)&&this.renderMainTemplate(this.generateTemplateData()),this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets())}),this.dataLayer.$searchResultsMetadata.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return encodeURIComponent(`${e.parentName}:"${e.value}"`)}applyFacetLimits(e,t){const a=t?this.facetPaginationStepMobile:this.facetPaginationStep,r=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(s=>{r[s.name]||(r[s.name]=a)}),e.map(s=>({...s,values:s.values.slice(0,r[s.name]),showingAllFacets:s.values.length<=r[s.name],hasMoreFacets:s.values.length>a}))}generateTemplateData(e){if(this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;return this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(a=>{var s;const r=(s=this.dataLayer.searchFacets)==null?void 0:s.find(i=>i.name===a.name);return r?{...a,values:a.values.map(i=>{const n=r.values.find(h=>i.type==="range"?!1:i.type==="checkbox"?h.value===i.value:!1);return{...i,disabled:!n}})}:{...a,values:a.values.map(i=>({...i,disabled:!0}))}}))),{facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data}}else return{facets:[],...this.dataLayer.parsedData.data}}overrideFacetEvents(){}createFacetItem(e,t,a){var h,o,u,d,p,m,L,f,C,v,b,k;const r=document.createElement("div");r.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||r.classList.add("active");const s=((u=(o=(h=this.config)==null?void 0:h.templates)==null?void 0:o.facetItemContainerTemplate)==null?void 0:u.template)||((d=g.facets.facetItemContainerTemplate)==null?void 0:d.template);r.innerHTML=y.render(s,e),t.appendChild(r);const i=r.querySelector("."+(((L=(m=(p=this.config)==null?void 0:p.templates)==null?void 0:m.facetItemContainerTemplate)==null?void 0:L.facetListTitleContainerClass)||((f=g.facets.facetItemContainerTemplate)==null?void 0:f.facetListTitleContainerClass)));i==null||i.addEventListener("click",()=>{r.classList.toggle("active")});const n=r.querySelector("."+(((b=(v=(C=this.config)==null?void 0:C.templates)==null?void 0:v.facetItemContainerTemplate)==null?void 0:b.facetListContainerClass)||((k=g.facets.facetItemContainerTemplate)==null?void 0:k.facetListContainerClass)));n&&(e.values.forEach(R=>{this.createFacetListItem(R,n)}),e.hasMoreFacets&&this.createHasMoreComponent(e,n,a))}createFacetListItem(e,t){var h,o,u,d,p,m,L,f,C,v,b,k,R,S;const a=document.createElement("div");a.classList.add("searchstax-facet-value-container"),e.disabled&&a.classList.add("searchstax-facet-value-disabled");const s=!!((h=this.dataLayer.searchObject.facets)!=null&&h.find(P=>P===this.extractFacetValue(e))),i=((d=(u=(o=this.config)==null?void 0:o.templates)==null?void 0:u.facetItemTemplate)==null?void 0:d.template)||((p=g.facets.facetItemTemplate)==null?void 0:p.template);a.innerHTML=y.render(i,{...e,isChecked:s});let n=(m=g.facets.facetItemTemplate)==null?void 0:m.checkTriggerClasses;n=((C=(f=(L=this.config)==null?void 0:L.templates)==null?void 0:f.facetItemTemplate)==null?void 0:C.checkTriggerClasses)||n,n.forEach(P=>{var F;(F=a.querySelector("."+P))==null||F.addEventListener("click",T=>{this.onFacetSelect(T,e,a)})}),(S=a.querySelector("."+(((k=(b=(v=this.config)==null?void 0:v.templates)==null?void 0:b.facetItemTemplate)==null?void 0:k.inputCheckboxClass)||((R=g.facets.facetItemTemplate)==null?void 0:R.inputCheckboxClass))))==null||S.addEventListener("click",P=>{this.onFacetSelect(P,e,a,!0)}),t.appendChild(a)}createHasMoreComponent(e,t,a){var n,h,o,u,d,p,m,L;const r=document.createElement("div");r.classList.add("searchstax-facet-show-more-container");const s=((o=(h=(n=this.config)==null?void 0:n.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:o.template)||((u=g.facets.showMoreButtonContainerTemplate)==null?void 0:u.template);r.innerHTML=y.render(s,e);const i=r.querySelector("."+(((m=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.showMoreButtonContainerTemplate)==null?void 0:m.showMoreButtonClass)||((L=g.facets.showMoreButtonContainerTemplate)==null?void 0:L.showMoreButtonClass)));i&&(this.attachOnclickToShowMore(e,i,a),t&&t.appendChild(i))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",r=>{this.onShowMoreLessClick(r,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const r=a?this.facetPaginationStepMobile:this.facetPaginationStep,s=a?this.facetLimits:this.facetLimitsMobile;s[t.name]===void 0?s[t.name]=r*2:s[t.name]<=t.values.length?s[t.name]=s[t.name]+r:s[t.name]=r,this.renderMainTemplate(this.generateTemplateData(),!0)}renderMainTemplate(e,t){var a,r,s,i,n,h,o,u,d,p,m;if((JSON.stringify(this.renderedDataCache.results)!==JSON.stringify(e.results)||t)&&(this.renderedDataCache=e.results,e)){const L=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplateDesktop)==null?void 0:s.template)||((i=g.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===w.mustache){this.searchFacetsMainContainer.innerHTML=y.render(L,{...e});const f=(u=this.searchFacetsMainContainer)==null?void 0:u.querySelector("."+(((o=(h=(n=this.config)==null?void 0:n.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:o.facetsContainerClass)||g.facets.mainTemplateDesktop.facetsContainerClass));if(f){f.innerHTML="";for(const C of e.facets)this.createFacetItem(C,f);if(this.searchFacetsMainContainer){const C=this.searchFacetsMainContainer.querySelector("."+(((m=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplateDesktop)==null?void 0:m.selectedFacetsContainerClass)||g.facets.mainTemplateDesktop.selectedFacetsContainerClass));C&&(this.createSelectedFacetsComponents(C),this.createClearFacetsComponents(C))}}this.renderMobileTemplate(this.generateTemplateData(!0))}}}createSelectedFacetsComponents(e){const t=this.dataLayer.searchObject.facets;for(const a of t){const r=decodeURIComponent(a).split(":")[0],s=decodeURIComponent(a).split(":")[1];if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,n=i==null?void 0:i.find(h=>h.name===r);if(n){const h=n.values.find(o=>o.type==="range"?!1:o.type==="checkbox"?`"${o.value}"`===s:!1);h&&this.createSelectedFacetsComponent(e,h)}}}}createClearFacetsComponents(e){var i,n,h,o,u,d,p,m;const t=this.dataLayer.searchObject,a=((h=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.clearFacetsTemplate)==null?void 0:h.template)||((o=g.facets.clearFacetsTemplate)==null?void 0:o.template),r=document.createElement("div");r.innerHTML=y.render(a,{shouldShow:t.facets.length>0});const s=r.querySelector("."+(((p=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.clearFacetsTemplate)==null?void 0:p.containerClass)||((m=g.facets.clearFacetsTemplate)==null?void 0:m.containerClass)));s&&(s.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(s))}createSelectedFacetsComponent(e,t){var i,n,h,o,u,d,p,m;const a=((h=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.selectedFacetsTemplate)==null?void 0:h.template)||((o=g.facets.selectedFacetsTemplate)==null?void 0:o.template),r=document.createElement("div");r.innerHTML=y.render(a,t);const s=r.querySelector("."+(((p=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.selectedFacetsTemplate)==null?void 0:p.containerClass)||((m=g.facets.selectedFacetsTemplate)==null?void 0:m.containerClass)));s&&(s.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(s))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(r=>r!==this.extractFacetValue(e))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a})},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var s,i,n,h,o,u,d,p;const t=((n=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.filterByTemplate)==null?void 0:n.template)||((h=g.facets.filterByTemplate)==null?void 0:h.template),a=document.createElement("div");a.innerHTML=y.render(t,{});const r=a.querySelector("."+(((d=(u=(o=this.config)==null?void 0:o.templates)==null?void 0:u.filterByTemplate)==null?void 0:d.containerClass)||((p=g.facets.filterByTemplate)==null?void 0:p.containerClass)));r&&(e.prepend(r),r.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,r,s,i,n,h,o,u,d,p,m,L,f,C,v,b,k,R;if(e){const S=document.createElement("div");S.classList.add("searchstax-facets-container-mobile");const P=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:r.template)||((s=g.facets.mainTemplateMobile)==null?void 0:s.template);if(this.dataLayer.renderingEngine===w.mustache){if(S.innerHTML=y.render(P,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(S),(h=(n=this.config)==null?void 0:n.templates)!=null&&h.mainTemplateMobile)for(const E of((d=(u=(o=this.config)==null?void 0:o.templates)==null?void 0:u.mainTemplateMobile)==null?void 0:d.closeOverlayTriggerClasses)||[]){const H=S.querySelector("."+E);H&&H.addEventListener("click",this.closeOverlay.bind(this))}else for(const E of g.facets.mainTemplateMobile.closeOverlayTriggerClasses){const H=S.querySelector("."+E);H&&H.addEventListener("click",this.closeOverlay.bind(this))}const F=S.querySelector("."+(((L=(m=(p=this.config)==null?void 0:p.templates)==null?void 0:m.mainTemplateMobile)==null?void 0:L.filterByContainerClass)||g.facets.mainTemplateMobile.filterByContainerClass));F&&this.createFilterByComponent(F);const T=S.querySelector("."+(((v=(C=(f=this.config)==null?void 0:f.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:v.selectedFacetsContainerClass)||g.facets.mainTemplateMobile.selectedFacetsContainerClass));T&&(this.createSelectedFacetsComponents(T),this.createClearFacetsComponents(T));const j=S.querySelector("."+(((R=(k=(b=this.config)==null?void 0:b.templates)==null?void 0:k.mainTemplateMobile)==null?void 0:R.facetsContainerClass)||g.facets.mainTemplateMobile.facetsContainerClass));if(j){j.innerHTML="";for(const E of e.facets)this.createFacetItem(E,j,!0)}}}}}class ve{constructor(e){c(this,"dataLayer");c(this,"config");c(this,"containerId");c(this,"previousButtonClass");c(this,"nextButtonClass");c(this,"routerHelper");c(this,"searchPaginationMainContainer",null);var t,a,r,s,i,n;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.previousButtonClass)??g.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((n=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:n.nextButtonClass)??g.pagination.mainTemplate.nextButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil((((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.totalResultsValue)??0)/10)}initializeSubscriptions(){this.dataLayer.$searchResultsMetadata.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var e,t;return{...this.dataLayer.parsedData.data,previousPageLink:this.routerHelper.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:this.routerHelper.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)+1})}}goToPage(e){const t=this.dataLayer.searchObject;t&&(t.page=e,this.dataLayer.setSearchObject(t)),window.scrollTo(0,0)}nextPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var a,r,s,i,n,h;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(r=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||r.removeEventListener("click",this.nextPage));const t=((n=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:n.template)||((h=g.pagination.mainTemplate)==null?void 0:h.template);this.dataLayer.renderingEngine===w.mustache&&(this.searchPaginationMainContainer.innerHTML=y.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class be{constructor(e){c(this,"dataLayer");c(this,"config");c(this,"suggestAfterMinChars");c(this,"containerId");c(this,"currentInputValue","");c(this,"autosuggestResults");c(this,"searchInput");c(this,"actionButton");c(this,"autosuggestContainer");c(this,"buttonState","search");c(this,"selectedAutosuggestItem",-1);c(this,"suggestTrigger");c(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var s,i,n,h;const e=document.getElementById(this.containerId);if(!e)throw new Error("Search input container not found");const t=((i=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:i.template)||g.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===w.mustache){const o=y.render(t,{});e.innerHTML=o}const a=((h=(n=this.config.templates)==null?void 0:n.mainTemplate)==null?void 0:h.searchInputId)||g.searchInput.mainTemplate.searchInputId,r=document.querySelector(`#${a}`);if(r)this.searchInput=r,r.addEventListener("keyup",this.inputKeyupEvent.bind(this)),r.addEventListener("blur",this.hideAutosuggest.bind(this)),r.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer)}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return e.replace(/(<([^>]+)>)/gi,"").trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var r,s,i;const t=document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{var n;this.selectedAutosuggestItem=((n=this.autosuggestResults)==null?void 0:n.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()});const a=((s=(r=this.config.templates)==null?void 0:r.autosuggestItemTemplate)==null?void 0:s.template)||((i=g.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=y.render(a,e),t}appendSuggestions(e){if(this.autosuggestContainer){this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden");for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const a=e.suggest[t];for(const r in a)if(Object.prototype.hasOwnProperty.call(a,r)){const s=a[r];this.autosuggestResults=s,s.numFound>0?s.suggestions.forEach(i=>{this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer.classList.add("hidden")}}}}}class Le{constructor(e){c(this,"dataLayer");c(this,"config");c(this,"linkClickCallback");c(this,"searchCallback");c(this,"containerId");c(this,"searchResultsMainContainer");c(this,"searchResultsContainer");c(this,"searchResultLinks",[]);this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId;const t=document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,r,s,i,n;const e=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.noSearchResultTemplate)==null?void 0:s.template)||((i=g.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((n=this.dataLayer.searchResultsMetadata)==null?void 0:n.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===w.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=y.render(e,{spellingSuggestion:t,searchTerm:this.dataLayer.searchTerm})),t&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,r,s;if(this.dataLayer.renderingEngine===w.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const i=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:r.template)||((s=g.searchResults.searchResultTemplate)==null?void 0:s.template),n=e.map(h=>y.render(i,h));this.searchResultsContainer.innerHTML=n.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,a,r;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((r=g.searchResults.searchResultTemplate)==null?void 0:r.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var t,a,r,s;const e=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.template)||((s=g.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===w.mustache&&(this.searchResultsMainContainer.innerHTML=y.render(e,{})),setTimeout(()=>{var h,o,u,d,p,m,L;const i=(u=(o=(h=this.config)==null?void 0:h.templates)==null?void 0:o.mainTemplate)!=null&&u.searchResultsContainerId?(m=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplate)==null?void 0:m.searchResultsContainerId:(L=g.searchResults.mainTemplate)==null?void 0:L.searchResultsContainerId,n=document.getElementById(i);if(n)this.searchResultsContainer=n;else throw new Error(`Search Results Container with id ${i} not found`)},0)}}class Se{constructor(e=w.mustache){c(this,"routerEnabled",!1);c(this,"routerHelper");c(this,"searchHelper");c(this,"searchInputConfig");c(this,"searchResultsConfig");c(this,"searchPaginationConfig");c(this,"searchFeedbackConfig");c(this,"searchSortingConfig");c(this,"searchFacetsConfig");c(this,"relatedSearchesConfig");c(this,"externalPromotionsConfig");c(this,"searchInputWidget");c(this,"searchResultsWidget");c(this,"searchFacetsWidget");c(this,"searchPaginationWidget");c(this,"dataLayer",new z(X.getOrSetCookie("searchstax_session_id")));c(this,"firstRequest",!0);e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=w.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.searchInputConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.searchInputConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{a.query!==void 0&&this.search(a)}),this.dataLayer.$searchResultsMetadata.subscribe(()=>{this.dataLayer.searchResultsMetadata&&O.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t;this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new J({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),(t=e.router)!=null&&t.enabled?(this.routerEnabled=!0,this.routerHelper=new U(e.router),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new U({})}search(e){var t;if(this.searchHelper&&e.query!==""){const a=((t=this.searchFacetsConfig)==null?void 0:t.facetingType)==="or";this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,a),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var s;const a=(((s=e.response)==null?void 0:s.docs)??[]).map((i,n)=>({...i,position:n+1})),r=[];for(const i of a)r.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&O.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:r}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var r,s;this.handleRouter();let t=q.combineResultsWithMetadata(e),a=q.extractFacets(e);this.dataLayer.setSearchFacets(a),(s=(r=this.searchInputConfig)==null?void 0:r.hooks)!=null&&s.afterSearch&&(t=this.searchInputConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]),this.dataLayer.setSearchResults(t),this.dataLayer.setSearchResultsMetadata(q.extractSearchResultsMetadata(e))}cacheFacets(){this.searchHelper&&this.searchHelper.search({query:this.dataLayer.searchObject.query??"*",page:1,order:"",facets:[],additionalProps:[]},this.cacheFacetsCallback.bind(this))}cacheFacetsCallback(e){let t=q.extractFacets(e);this.dataLayer.setSearchFacetsCached(t)}parseSuggestSuggestResponse(e){var a,r;let t=e;(r=(a=this.searchInputConfig)==null?void 0:a.hooks)!=null&&r.afterAutosuggest&&(t=this.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.searchInputConfig||(this.searchInputConfig=t,this.searchInputWidget=new be({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Le({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 ve({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Ce({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e){var s,i,n,h;const t={...this.dataLayer.searchObject};t.query=e,t.page=1;let a=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(t);a&&(a=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(a)),a&&(t.additionalProps=Object.keys(a).map(o=>a?{name:o,value:a[o]}:{name:"",value:""}));let r=t;(h=(n=this.searchInputConfig)==null?void 0:n.hooks)!=null&&h.beforeSearch&&r&&(r=this.searchInputConfig.hooks.beforeSearch(r)),r&&this.dataLayer.setSearchObject(r)}executeSuggest(e){var a,r;let t={term:e,queryParams:[]};(r=(a=this.searchInputConfig)==null?void 0:a.hooks)!=null&&r.beforeAutosuggest&&(t=this.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&&O.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,r;let t=q.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((r=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&r.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&O.trackClick({result:t,...this.dataLayer.parsedData.trackingData}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,a,r;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(r=this.searchResultsWidget)==null||r.changeTemplate())}}exports.Searchstax=Se;
@@ -114,7 +114,7 @@ export interface ISearchstaxConfig {
114
114
  export interface IRouterConfig extends IRouterOptions {
115
115
  enabled: boolean;
116
116
  }
117
- declare enum ISearchstaxRenderEngine {
117
+ export declare const enum ISearchstaxRenderEngine {
118
118
  "mustache" = 0,
119
119
  "vue" = 1,
120
120
  "react" = 2
@@ -229,16 +229,11 @@ declare class DataLAyer {
229
229
  get language(): string;
230
230
  }
231
231
  export interface ISearchstaxSearchFacetsConfig {
232
- facetingType: ISearchstaxSearchFacetingType;
232
+ facetingType: "and" | "or" | "showUnavailable";
233
233
  itemsPerPageDesktop: number;
234
234
  itemsPerPageMobile: number;
235
235
  templates?: ISearchstaxSearchFacetsClearFacetsTemplates;
236
236
  }
237
- declare enum ISearchstaxSearchFacetingType {
238
- "and" = 0,
239
- "or" = 1,
240
- "showUnavailable" = 2
241
- }
242
237
  export interface ISearchstaxSearchFacetsClearFacetsTemplates {
243
238
  mainTemplateDesktop?: ISearchstaxSearchFacetsMainTemplateData;
244
239
  mainTemplateMobile?: ISearchstaxSearchFacetsMainMobileTemplate;
@@ -114,7 +114,7 @@ export interface ISearchstaxConfig {
114
114
  export interface IRouterConfig extends IRouterOptions {
115
115
  enabled: boolean;
116
116
  }
117
- declare enum ISearchstaxRenderEngine {
117
+ export declare const enum ISearchstaxRenderEngine {
118
118
  "mustache" = 0,
119
119
  "vue" = 1,
120
120
  "react" = 2
@@ -229,16 +229,11 @@ declare class DataLAyer {
229
229
  get language(): string;
230
230
  }
231
231
  export interface ISearchstaxSearchFacetsConfig {
232
- facetingType: ISearchstaxSearchFacetingType;
232
+ facetingType: "and" | "or" | "showUnavailable";
233
233
  itemsPerPageDesktop: number;
234
234
  itemsPerPageMobile: number;
235
235
  templates?: ISearchstaxSearchFacetsClearFacetsTemplates;
236
236
  }
237
- declare enum ISearchstaxSearchFacetingType {
238
- "and" = 0,
239
- "or" = 1,
240
- "showUnavailable" = 2
241
- }
242
237
  export interface ISearchstaxSearchFacetsClearFacetsTemplates {
243
238
  mainTemplateDesktop?: ISearchstaxSearchFacetsMainTemplateData;
244
239
  mainTemplateMobile?: ISearchstaxSearchFacetsMainMobileTemplate;
@@ -1,10 +1,10 @@
1
- var Se=Object.defineProperty;var xe=(F,L,M)=>L in F?Se(F,L,{enumerable:!0,configurable:!0,writable:!0,value:M}):F[L]=M;var c=(F,L,M)=>(xe(F,typeof L!="symbol"?L+"":L,M),M);(function(F){"use strict";var L=(l=>(l[l.mustache=0]="mustache",l[l.vue=1]="vue",l[l.react=2]="react",l))(L||{});class M{constructor(e){c(this,"dataLayer");this.dataLayer=e}get currentPage(){var e;return(e=this.dataLayer.searchObject)==null?void 0:e.page}get totalResults(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.totalResultsValue)||0}get resultsPerPage(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.recordsPerPageValue)||0}get startResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+1}get endResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+(this.resultsPerPage??0)}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil(this.totalResults/this.resultsPerPage)}get results(){return this.dataLayer.searchResults??[]}get searchTerm(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.query)||""}get searchExecuted(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.query)!==void 0&&((t=this.dataLayer.searchObject)==null?void 0:t.query)!==""}get selectedFacets(){var t;const e=this.dataLayer.searchFacetsCached??this.dataLayer.searchFacets;return e?(((t=this.dataLayer.searchObject)==null?void 0:t.facets)??[]).map(s=>{const i=decodeURIComponent(s).split(":"),n=i[0],h=i[1],o=e.find(u=>u.name===n);if(o){const u=o.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?'"'+d.value+'"'===h:!1);if(u)return u}return null}).filter(s=>s!==null):[]}get relatedSearches(){const e=this.dataLayer.searchRelatedSearches??[];return e[e.length-1]&&(e[e.length-1].last=!0),e}get externalPromotions(){return this.dataLayer.searchExternalPromotions??[]}get data(){return{currentPage:this.currentPage,totalResults:this.totalResults,resultsPerPage:this.resultsPerPage,startResultIndex:this.startResultIndex,endResultIndex:this.endResultIndex,isFirstPage:this.isFirstPage,isLastPage:this.isLastPage,results:this.results,searchTerm:this.searchTerm,selectedFacets:this.selectedFacets,searchExecuted:this.searchExecuted,relatedSearches:this.relatedSearches,hasRelatedSearches:this.relatedSearches.length>0,externalPromotions:this.externalPromotions,hasExternalPromotions:this.externalPromotions.length>0,hasResults:this.results.length>0,hasResultsOrExternalPromotions:this.results.length>0||this.externalPromotions.length>0}}get trackingData(){var e,t,a,r;return{searchTerm:this.dataLayer.searchTerm,trackApiKey:((e=this.dataLayer.searchstaxConfig)==null?void 0:e.trackApiKey)??"",session:this.dataLayer.sessionId,language:this.dataLayer.language,recordsPerPage:((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.recordsPerPageValue)??0,totalResults:((a=this.dataLayer.searchResultsMetadata)==null?void 0:a.totalResultsValue)??0,currentPage:this.dataLayer.currentPage,latencyVal:((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.latency)??0}}}class I{constructor(e){c(this,"value");c(this,"observers",[]);this.value=e,this.observers=[]}subscribe(e){this.observers.push(e),e(this.value)}unsubscribe(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}setValue(e){this.value=e,this.notify()}getValue(){return this.value}notify(){this.observers.forEach(e=>e(this.value))}}class z{constructor(e){c(this,"$searchTermChange",new I(""));c(this,"$loadingChange",new I(!1));c(this,"$searchResults",new I(null));c(this,"$searchResultsMetadata",new I(null));c(this,"$searchAutosuggest",new I(null));c(this,"$searchFacets",new I(null));c(this,"$searchFacetsCached",new I(null));c(this,"$searchstaxConfig",new I(null));c(this,"$searchObject",new I({query:"",page:2,order:"",facets:[],additionalProps:[]}));c(this,"$searchRelatedSearches",new I(null));c(this,"$searchExternalPromotions",new I(null));c(this,"$language",new I("en"));c(this,"currentPageValue",1);c(this,"renderingEngineValue",L.mustache);c(this,"parsedData",new M(this));c(this,"sessionId");this.sessionId=e}setSearchTerm(e){this.$searchTermChange.setValue(e)}setRenderingEngine(e){this.renderingEngineValue=e}setCurrentPage(e){this.currentPageValue=e}setLoading(e){this.$loadingChange.setValue(e)}setSearchResults(e){this.$searchResults.setValue(e)}setSearchResultsMetadata(e){this.$searchResultsMetadata.setValue(e)}setSearchAutosuggest(e){this.$searchAutosuggest.setValue(e)}setSearchObject(e){this.$searchObject.setValue(e)}setSearchFacets(e){this.$searchFacets.setValue(e)}setSearchFacetsCached(e){this.$searchFacetsCached.setValue(e)}setSearchRelatedSearches(e){this.$searchRelatedSearches.setValue(e)}setSearchExternalPromotions(e){this.$searchExternalPromotions.setValue(e)}setLanguage(e){this.$language.setValue(e)}setSearchstaxConfig(e){this.$searchstaxConfig.setValue(e)}get searchstaxConfig(){return this.$searchstaxConfig.getValue()}get searchFacets(){return this.$searchFacets.getValue()}get searchFacetsCached(){return this.$searchFacetsCached.getValue()}get searchResults(){return this.$searchResults.getValue()}get searchTerm(){return this.$searchTermChange.getValue()}get loading(){return this.$loadingChange.getValue()}get searchAutosuggest(){return this.$searchAutosuggest.getValue()}get searchResultsMetadata(){return this.$searchResultsMetadata.getValue()}get currentPage(){return this.currentPageValue}get renderingEngine(){return this.renderingEngineValue}get searchObject(){return this.$searchObject.getValue()}get searchRelatedSearches(){return this.$searchRelatedSearches.getValue()}get searchExternalPromotions(){return this.$searchExternalPromotions.getValue()}get language(){return this.$language.getValue()}}class q{static combineResultsWithMetadata(e){const t=[],a=parseInt(e.response.start+"")-1,r=parseInt(e.responseHeader.params.rows);return e.response.docs.forEach((s,i)=>{const n={custom:null,uniqueId:this.getValueByKey(e.responseHeader.params.uniqueId,s,e)??"",position:a*r+1+i,ribbon:this.doesMapExist("ribbon",e)?this.getValueByKey("ribbon",s,e):null,paths:this.doesMapExist("paths",e)?this.getValueByKey("paths",s,e):null,url:this.doesMapExist("url",e)?this.getValueByKey("url",s,e):null,title:this.doesMapExist("title",e)?this.getValueByKey("title",s,e):null,promoted:s["[elevated]"]?s["[elevated]"]:!1,thumbnail:this.doesMapExist("thumbnail",e)?this.getValueByKey("thumbnail",s,e):null,date:this.doesMapExist("date",e)?this.getValueByKey("date",s,e):null,snippet:this.doesMapExist("snippet",e)?this.getValueByKey("snippet",s,e):null,description:this.doesMapExist("description",e)?this.getValueByKey("description",s,e):null,unmappedFields:this.getUnmappedFields(s,e),allFields:this.getAllFields(s,e)};t.push(n)}),t}static extractFacets(e){const t=[];for(const a of e.metadata.facets){let r={values:[]};if(r.name=a.name,r.label=a.label,a.name in e.facet_counts.facet_fields){const s=e.facet_counts.facet_fields[a.name];for(let i=0;i<s.length;i+=2){const n={};n.value=s[i],n.parentName=r.name,n.count=s[i+1],n.type="checkbox",r.values.push(n)}}r.values.length>0&&t.push(r)}return t}static extractSearchResultsMetadata(e){var a,r,s,i;let t="";return t=((i=(s=(r=(a=e==null?void 0:e.spellcheck)==null?void 0:a.suggestions)==null?void 0:r[0])==null?void 0:s.suggestion)==null?void 0:i[0])??"",typeof t!="string"&&(t=(t==null?void 0:t.word)??""),{recordsPerPageValue:parseInt(e.responseHeader.params.rows),startDocVal:parseInt(e.response.start+""),totalResultsValue:parseInt(e.response.numFound+""),latency:parseInt(e.responseHeader.QTime+""),endDocValue:parseInt(e.responseHeader.params.rows)+parseInt(e.response.start+""),spellingSuggestion:t,impressions:this.getImpressions(e)}}static getImpressions(e){const t=[],a=this.combineResultsWithMetadata(e);for(const r in a){const s=a[r],i={};i.cDocId=this.getDataForAnalytics(s.uniqueId),s.title&&(i.cDocTitle=this.getDataForAnalytics(s.title)),i.position=s.position,t.push(i)}return t}static getDataForAnalytics(e){return e!==null?typeof e>"u"?"":typeof e=="string"?e:typeof e.join<"u"?e[0]:e:""}static findResultByUniqueId(e,t){return t.find(a=>a.uniqueId===e)??null}static getUnmappedFields(e,t){const a=t.metadata.results.filter(s=>s.result_card==="").map(s=>s.name),r=[];for(const s of Object.keys(e))if(a.indexOf(s)!==-1){const i=Array.isArray(e[s])?e[s].join(", "):e[s];r.push({key:s,value:i,isImage:this.checkIfImage(e[s])})}return r}static checkIfImage(e){return e===void 0||typeof e!="string"?!1:/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e)}static getAllFields(e,t){const a=t.metadata.results.map(s=>s.name),r=[];for(const s of Object.keys(e))a.indexOf(s)!==-1&&r.push({key:s,value:e[s],isImage:this.checkIfImage(e[s])});return r}static doesMapExist(e,t){return t.metadata.results.find(a=>a.result_card===e)!==void 0}static getValueByKey(e,t,a){const r=a.metadata.results.find(i=>i.result_card===e);if(r===void 0)return null;const s=t[r.name];return s===void 0?null:typeof s=="string"?s:Array.isArray(s)?s.join(", "):null}}class W{constructor(e){c(this,"routeName","searchstax");c(this,"ignoredKeys",[]);c(this,"queryStringHelper");c(this,"titleParser");e.routeName&&(this.routeName=e.routeName),e.ignoredKeys&&(this.ignoredKeys=e.ignoredKeys),e.title&&(this.titleParser=e.title),this.queryStringHelper=new J(this.routeName)}updateUrl(e){const t=this.searchObjectToUrl(e);let a=document.title;this.titleParser&&(a=this.titleParser(e)),document.title=a,window.location.href!==t&&window.history.pushState({},a,t)}searchObjectToUrl(e){return this.queryStringHelper.urlHasQueryParams(window.location.href)?window.location.href.split("?")[0]+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys}):window.location.href+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys})}searchObjectToParams(e){const t={};if(e.query&&(t[this.routeName+"[query]"]=e.query),e.page&&(t[this.routeName+"[page]"]=e.page+""),e.order&&(t[this.routeName+"[order]"]=e.order),e.facets)for(const a in e.facets)t[this.routeName+`[facets][${a}]`]=e.facets[a];if(this.queryStringHelper.urlHasQueryParams(window.location.href)){const a=this.queryStringHelper.urlToParams(window.location.href);for(const r in a)r.startsWith(this.routeName)&&delete a[r];return{...a,...t}}else return t}extractParamsThatDoNotStartWithRouteName(e){const t={};for(const a in e)a.startsWith(this.routeName)||(t[a]=e[a]);return t}extractArrayOfFacetsFromQueryParameters(e){const t=[];for(const a in e)a.startsWith(this.routeName+"[facets]")&&t.push(e[a]);return t}urlToSearchObject(e){const t=this.queryStringHelper.urlToParams(e);return{query:t[this.routeName+"[query]"]||"",page:t[this.routeName+"[page]"]?parseInt(t[this.routeName+"[page]"]):1,order:t[this.routeName+"[order]"]||"",facets:this.extractArrayOfFacetsFromQueryParameters(t)||[]}}}class J{constructor(e){c(this,"routeName","");c(this,"stringify",(e,t)=>{const a=this.filterOutIgnoredKeys(e,t.ignoredKeys);return Object.keys(a).map(r=>{const s=a[r];return Array.isArray(s)?s.map(i=>`${r}=${i}`).join("&"):`${r}=${s}`}).join("&")});this.routeName=e}filterOutIgnoredKeys(e,t){const a=t||[],r={};return Object.keys(e).forEach(s=>{a.includes(s)||e[s]!==""&&(r[s]=e[s])}),r}urlToParams(e){const t={},a=e.split("?")[1];return a&&a.split("&").forEach(r=>{const[s,i]=r.split("=");t[s]=i}),t}doesParamContainRouteName(e){return e.indexOf(this.routeName)!==-1}urlHasQueryParams(e){return e.indexOf("?")!==-1}}class G{constructor(e,t){c(this,"url","");c(this,"relatedSearches","");c(this,"suggester","");c(this,"authHeader");c(this,"authHeaderRelated");c(this,"trackApiKey","");c(this,"session","");c(this,"searchAuthType");c(this,"searchAuth","");c(this,"controllerSearch");c(this,"signalSearch");c(this,"controllerSuggest");c(this,"signalSuggest");c(this,"dataLayer");this.dataLayer=t,this.url=e.searchURL,this.dataLayer.setLanguage(e.language),this.suggester=e.suggesterURL,this.trackApiKey=e.trackApiKey,this.session=e.sessionId,this.searchAuthType=e.authType,this.searchAuth=e.searchAuth,this.authHeader=new Headers,this.authHeader.append("Accept","application/json");const a=this.searchAuthType==="token"?`Token ${e.searchAuth}`:`Basic ${e.searchAuth}`;this.authHeader.append("Authorization",a),this.authHeaderRelated=new Headers,this.authHeaderRelated.append("Accept","application/json"),this.authHeaderRelated.append("Authorization",e.searchAuth)}generateFacetQuery(e,t){let a=[];if(!t)e.facets.forEach(function(r){a=a.concat("fq="+decodeURIComponent(r).replace(" "," "))});else{const r={};e.facets.forEach(function(s){const i=decodeURIComponent(s).replace(" "," ").split(":");r[i[0]]?r[i[0]].push(i[1]):r[i[0]]=[i[1]]});for(const s in r)if(Object.prototype.hasOwnProperty.call(r,s)){const i=r[s],n=s;let h="";for(const o of i)h+=` ${n}:${o}`;a=a.concat("fq="+h.trim())}}return"&"+a.join("&")}getRelatedSearches(e,t,a,r){const s=new Headers;s.append("Accept","application/json"),s.append("Authorization",a),fetch(t+"?search="+encodeURIComponent(e.query)+"&language="+this.dataLayer.language,{method:"GET",headers:s,credentials:"same-origin"}).then(i=>i.json()).then(i=>{r(i)})}search(e,t,a=!1,r=!1){this.dataLayer.setSearchTerm(e.query),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const s=new Proxy(new URLSearchParams(window.location.search),{get:(u,d)=>u.get(d)??""}),i=s.languageVariant?"&fq=_language:"+s.languageVariant:"",n=e.order?`&sort=${e.order}`:"",h=this.url+"?q="+encodeURIComponent(e.query.trim())+"&start="+(e.page-1)+this.toQueryString(e.additionalProps??[])+this.generateFacetQuery(e,r)+n+"&language="+this.dataLayer.language+i,o={method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch};a&&delete o.signal,fetch(h,o).then(u=>u.json()).then(u=>{this.dataLayer.setLoading(!1),t(u)}).catch(()=>{this.dataLayer.setLoading(!1)})}suggest(e,t,a){this.controllerSuggest&&this.controllerSuggest.abort(),this.controllerSuggest=new AbortController,this.signalSuggest=this.controllerSuggest.signal;const r=this.suggester+"?q="+e.trim()+this.toQueryString(a)+"&language="+this.dataLayer.language;fetch(r,{method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSuggest}).then(s=>s.json()).then(s=>{t(s)}).catch(()=>()=>{})}fields(){return this.fields}toQueryString(e){if(e.length===0)return"";const t=[];for(let a=0;a<e.length;a++){const r=e[a].key,s=e[a].value;t.push(encodeURIComponent(r)+"="+encodeURIComponent(s))}return"&"+t.join("&")}}class X{static getOrSetCookie(e){let t=this.getCookie(e);return t==null&&(t=this.makeid(25),this.setCookie(e,t,{secure:!0,"max-age":3600})),t}static makeid(e){let t="";const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=a.length;for(let s=0;s<e;s++)t+=a.charAt(Math.floor(Math.random()*r));return t}static getCookie(e){const t=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[\]\\/+^])/g,"\\$1")+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0}static setCookie(e,t,a){const r={path:"/",...a};a.expires instanceof Date&&(r.expires=a.expires.toUTCString());let s=encodeURIComponent(e)+"="+encodeURIComponent(t);for(const i in r){s+="; "+i;const n=r[i];n!==!0&&(s+="="+n)}document.cookie=s}}class O{static trackClick(e){const t={key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,totalHits:e.totalResults,pageNo:e.currentPage,latency:e.latencyVal,session:e.session,cDocId:e.result.uniqueId,cDocTitle:e.result.title,position:e.result.position,language:e.language};this.msq.push(["trackClick",t])}static trackSearch(e){const t={key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,totalHits:e.totalResults,pageNo:e.currentPage,latency:e.latencyVal,session:e.session,language:e.language,impressions:e.impressions};this.msq.push(["track",t])}static trackRelatedSearchClick(e){const t={session:e.session,key:e.trackApiKey,query:e.relatedSearch.search_term,position:e.relatedSearch.position,relatedSearch:e.relatedSearch.related_search,pageNo:e.currentPage,shownHits:e.recordsPerPage,totalHits:e.totalResults,language:e.language};this.msq.push(["trackRelatedSearchClick",t])}static trackRelatedSearches(e){const t={session:e.session,key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,latency:e.latencyVal,language:e.language,impressions:e.impressions};this.msq.push(["trackRelatedSearch",t])}}c(O,"msq",window._msq||[]);var B=(l=>(l[l.and=0]="and",l[l.or=1]="or",l[l.showUnavailable=2]="showUnavailable",l))(B||{});/*!
1
+ var Se=Object.defineProperty;var Te=(F,L,M)=>L in F?Se(F,L,{enumerable:!0,configurable:!0,writable:!0,value:M}):F[L]=M;var c=(F,L,M)=>(Te(F,typeof L!="symbol"?L+"":L,M),M);(function(F){"use strict";var L=(h=>(h[h.mustache=0]="mustache",h[h.vue=1]="vue",h[h.react=2]="react",h))(L||{});class M{constructor(e){c(this,"dataLayer");this.dataLayer=e}get currentPage(){var e;return(e=this.dataLayer.searchObject)==null?void 0:e.page}get totalResults(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.totalResultsValue)||0}get resultsPerPage(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.recordsPerPageValue)||0}get startResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+1}get endResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+(this.resultsPerPage??0)}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil(this.totalResults/this.resultsPerPage)}get results(){return this.dataLayer.searchResults??[]}get searchTerm(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.query)||""}get searchExecuted(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.query)!==void 0&&((t=this.dataLayer.searchObject)==null?void 0:t.query)!==""}get selectedFacets(){var t;const e=this.dataLayer.searchFacetsCached??this.dataLayer.searchFacets;return e?(((t=this.dataLayer.searchObject)==null?void 0:t.facets)??[]).map(s=>{const i=decodeURIComponent(s).split(":"),n=i[0],l=i[1],o=e.find(u=>u.name===n);if(o){const u=o.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?'"'+d.value+'"'===l:!1);if(u)return u}return null}).filter(s=>s!==null):[]}get relatedSearches(){const e=this.dataLayer.searchRelatedSearches??[];return e[e.length-1]&&(e[e.length-1].last=!0),e}get externalPromotions(){return this.dataLayer.searchExternalPromotions??[]}get data(){return{currentPage:this.currentPage,totalResults:this.totalResults,resultsPerPage:this.resultsPerPage,startResultIndex:this.startResultIndex,endResultIndex:this.endResultIndex,isFirstPage:this.isFirstPage,isLastPage:this.isLastPage,results:this.results,searchTerm:this.searchTerm,selectedFacets:this.selectedFacets,searchExecuted:this.searchExecuted,relatedSearches:this.relatedSearches,hasRelatedSearches:this.relatedSearches.length>0,externalPromotions:this.externalPromotions,hasExternalPromotions:this.externalPromotions.length>0,hasResults:this.results.length>0,hasResultsOrExternalPromotions:this.results.length>0||this.externalPromotions.length>0}}get trackingData(){var e,t,a,r;return{searchTerm:this.dataLayer.searchTerm,trackApiKey:((e=this.dataLayer.searchstaxConfig)==null?void 0:e.trackApiKey)??"",session:this.dataLayer.sessionId,language:this.dataLayer.language,recordsPerPage:((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.recordsPerPageValue)??0,totalResults:((a=this.dataLayer.searchResultsMetadata)==null?void 0:a.totalResultsValue)??0,currentPage:this.dataLayer.currentPage,latencyVal:((r=this.dataLayer.searchResultsMetadata)==null?void 0:r.latency)??0}}}class I{constructor(e){c(this,"value");c(this,"observers",[]);this.value=e,this.observers=[]}subscribe(e){this.observers.push(e),e(this.value)}unsubscribe(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}setValue(e){this.value=e,this.notify()}getValue(){return this.value}notify(){this.observers.forEach(e=>e(this.value))}}class Q{constructor(e){c(this,"$searchTermChange",new I(""));c(this,"$loadingChange",new I(!1));c(this,"$searchResults",new I(null));c(this,"$searchResultsMetadata",new I(null));c(this,"$searchAutosuggest",new I(null));c(this,"$searchFacets",new I(null));c(this,"$searchFacetsCached",new I(null));c(this,"$searchstaxConfig",new I(null));c(this,"$searchObject",new I({query:"",page:2,order:"",facets:[],additionalProps:[]}));c(this,"$searchRelatedSearches",new I(null));c(this,"$searchExternalPromotions",new I(null));c(this,"$language",new I("en"));c(this,"currentPageValue",1);c(this,"renderingEngineValue",L.mustache);c(this,"parsedData",new M(this));c(this,"sessionId");this.sessionId=e}setSearchTerm(e){this.$searchTermChange.setValue(e)}setRenderingEngine(e){this.renderingEngineValue=e}setCurrentPage(e){this.currentPageValue=e}setLoading(e){this.$loadingChange.setValue(e)}setSearchResults(e){this.$searchResults.setValue(e)}setSearchResultsMetadata(e){this.$searchResultsMetadata.setValue(e)}setSearchAutosuggest(e){this.$searchAutosuggest.setValue(e)}setSearchObject(e){this.$searchObject.setValue(e)}setSearchFacets(e){this.$searchFacets.setValue(e)}setSearchFacetsCached(e){this.$searchFacetsCached.setValue(e)}setSearchRelatedSearches(e){this.$searchRelatedSearches.setValue(e)}setSearchExternalPromotions(e){this.$searchExternalPromotions.setValue(e)}setLanguage(e){this.$language.setValue(e)}setSearchstaxConfig(e){this.$searchstaxConfig.setValue(e)}get searchstaxConfig(){return this.$searchstaxConfig.getValue()}get searchFacets(){return this.$searchFacets.getValue()}get searchFacetsCached(){return this.$searchFacetsCached.getValue()}get searchResults(){return this.$searchResults.getValue()}get searchTerm(){return this.$searchTermChange.getValue()}get loading(){return this.$loadingChange.getValue()}get searchAutosuggest(){return this.$searchAutosuggest.getValue()}get searchResultsMetadata(){return this.$searchResultsMetadata.getValue()}get currentPage(){return this.currentPageValue}get renderingEngine(){return this.renderingEngineValue}get searchObject(){return this.$searchObject.getValue()}get searchRelatedSearches(){return this.$searchRelatedSearches.getValue()}get searchExternalPromotions(){return this.$searchExternalPromotions.getValue()}get language(){return this.$language.getValue()}}class q{static combineResultsWithMetadata(e){const t=[],a=parseInt(e.response.start+"")-1,r=parseInt(e.responseHeader.params.rows);return e.response.docs.forEach((s,i)=>{const n={custom:null,uniqueId:this.getValueByKey(e.responseHeader.params.uniqueId,s,e)??"",position:a*r+1+i,ribbon:this.doesMapExist("ribbon",e)?this.getValueByKey("ribbon",s,e):null,paths:this.doesMapExist("paths",e)?this.getValueByKey("paths",s,e):null,url:this.doesMapExist("url",e)?this.getValueByKey("url",s,e):null,title:this.doesMapExist("title",e)?this.getValueByKey("title",s,e):null,promoted:s["[elevated]"]?s["[elevated]"]:!1,thumbnail:this.doesMapExist("thumbnail",e)?this.getValueByKey("thumbnail",s,e):null,date:this.doesMapExist("date",e)?this.getValueByKey("date",s,e):null,snippet:this.doesMapExist("snippet",e)?this.getValueByKey("snippet",s,e):null,description:this.doesMapExist("description",e)?this.getValueByKey("description",s,e):null,unmappedFields:this.getUnmappedFields(s,e),allFields:this.getAllFields(s,e)};t.push(n)}),t}static extractFacets(e){const t=[];for(const a of e.metadata.facets){let r={values:[]};if(r.name=a.name,r.label=a.label,a.name in e.facet_counts.facet_fields){const s=e.facet_counts.facet_fields[a.name];for(let i=0;i<s.length;i+=2){const n={};n.value=s[i],n.parentName=r.name,n.count=s[i+1],n.type="checkbox",r.values.push(n)}}r.values.length>0&&t.push(r)}return t}static extractSearchResultsMetadata(e){var a,r,s,i;let t="";return t=((i=(s=(r=(a=e==null?void 0:e.spellcheck)==null?void 0:a.suggestions)==null?void 0:r[0])==null?void 0:s.suggestion)==null?void 0:i[0])??"",typeof t!="string"&&(t=(t==null?void 0:t.word)??""),{recordsPerPageValue:parseInt(e.responseHeader.params.rows),startDocVal:parseInt(e.response.start+""),totalResultsValue:parseInt(e.response.numFound+""),latency:parseInt(e.responseHeader.QTime+""),endDocValue:parseInt(e.responseHeader.params.rows)+parseInt(e.response.start+""),spellingSuggestion:t,impressions:this.getImpressions(e)}}static getImpressions(e){const t=[],a=this.combineResultsWithMetadata(e);for(const r in a){const s=a[r],i={};i.cDocId=this.getDataForAnalytics(s.uniqueId),s.title&&(i.cDocTitle=this.getDataForAnalytics(s.title)),i.position=s.position,t.push(i)}return t}static getDataForAnalytics(e){return e!==null?typeof e>"u"?"":typeof e=="string"?e:typeof e.join<"u"?e[0]:e:""}static findResultByUniqueId(e,t){return t.find(a=>a.uniqueId===e)??null}static getUnmappedFields(e,t){const a=t.metadata.results.filter(s=>s.result_card==="").map(s=>s.name),r=[];for(const s of Object.keys(e))if(a.indexOf(s)!==-1){const i=Array.isArray(e[s])?e[s].join(", "):e[s];r.push({key:s,value:i,isImage:this.checkIfImage(e[s])})}return r}static checkIfImage(e){return e===void 0||typeof e!="string"?!1:/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e)}static getAllFields(e,t){const a=t.metadata.results.map(s=>s.name),r=[];for(const s of Object.keys(e))a.indexOf(s)!==-1&&r.push({key:s,value:e[s],isImage:this.checkIfImage(e[s])});return r}static doesMapExist(e,t){return t.metadata.results.find(a=>a.result_card===e)!==void 0}static getValueByKey(e,t,a){const r=a.metadata.results.find(i=>i.result_card===e);if(r===void 0)return null;const s=t[r.name];return s===void 0?null:typeof s=="string"?s:Array.isArray(s)?s.join(", "):null}}class K{constructor(e){c(this,"routeName","searchstax");c(this,"ignoredKeys",[]);c(this,"queryStringHelper");c(this,"titleParser");e.routeName&&(this.routeName=e.routeName),e.ignoredKeys&&(this.ignoredKeys=e.ignoredKeys),e.title&&(this.titleParser=e.title),this.queryStringHelper=new z(this.routeName)}updateUrl(e){const t=this.searchObjectToUrl(e);let a=document.title;this.titleParser&&(a=this.titleParser(e)),document.title=a,window.location.href!==t&&window.history.pushState({},a,t)}searchObjectToUrl(e){return this.queryStringHelper.urlHasQueryParams(window.location.href)?window.location.href.split("?")[0]+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys}):window.location.href+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys})}searchObjectToParams(e){const t={};if(e.query&&(t[this.routeName+"[query]"]=e.query),e.page&&(t[this.routeName+"[page]"]=e.page+""),e.order&&(t[this.routeName+"[order]"]=e.order),e.facets)for(const a in e.facets)t[this.routeName+`[facets][${a}]`]=e.facets[a];if(this.queryStringHelper.urlHasQueryParams(window.location.href)){const a=this.queryStringHelper.urlToParams(window.location.href);for(const r in a)r.startsWith(this.routeName)&&delete a[r];return{...a,...t}}else return t}extractParamsThatDoNotStartWithRouteName(e){const t={};for(const a in e)a.startsWith(this.routeName)||(t[a]=e[a]);return t}extractArrayOfFacetsFromQueryParameters(e){const t=[];for(const a in e)a.startsWith(this.routeName+"[facets]")&&t.push(e[a]);return t}urlToSearchObject(e){const t=this.queryStringHelper.urlToParams(e);return{query:t[this.routeName+"[query]"]||"",page:t[this.routeName+"[page]"]?parseInt(t[this.routeName+"[page]"]):1,order:t[this.routeName+"[order]"]||"",facets:this.extractArrayOfFacetsFromQueryParameters(t)||[]}}}class z{constructor(e){c(this,"routeName","");c(this,"stringify",(e,t)=>{const a=this.filterOutIgnoredKeys(e,t.ignoredKeys);return Object.keys(a).map(r=>{const s=a[r];return Array.isArray(s)?s.map(i=>`${r}=${i}`).join("&"):`${r}=${s}`}).join("&")});this.routeName=e}filterOutIgnoredKeys(e,t){const a=t||[],r={};return Object.keys(e).forEach(s=>{a.includes(s)||e[s]!==""&&(r[s]=e[s])}),r}urlToParams(e){const t={},a=e.split("?")[1];return a&&a.split("&").forEach(r=>{const[s,i]=r.split("=");t[s]=i}),t}doesParamContainRouteName(e){return e.indexOf(this.routeName)!==-1}urlHasQueryParams(e){return e.indexOf("?")!==-1}}class J{constructor(e,t){c(this,"url","");c(this,"relatedSearches","");c(this,"suggester","");c(this,"authHeader");c(this,"authHeaderRelated");c(this,"trackApiKey","");c(this,"session","");c(this,"searchAuthType");c(this,"searchAuth","");c(this,"controllerSearch");c(this,"signalSearch");c(this,"controllerSuggest");c(this,"signalSuggest");c(this,"dataLayer");this.dataLayer=t,this.url=e.searchURL,this.dataLayer.setLanguage(e.language),this.suggester=e.suggesterURL,this.trackApiKey=e.trackApiKey,this.session=e.sessionId,this.searchAuthType=e.authType,this.searchAuth=e.searchAuth,this.authHeader=new Headers,this.authHeader.append("Accept","application/json");const a=this.searchAuthType==="token"?`Token ${e.searchAuth}`:`Basic ${e.searchAuth}`;this.authHeader.append("Authorization",a),this.authHeaderRelated=new Headers,this.authHeaderRelated.append("Accept","application/json"),this.authHeaderRelated.append("Authorization",e.searchAuth)}generateFacetQuery(e,t){let a=[];if(!t)e.facets.forEach(function(r){a=a.concat("fq="+decodeURIComponent(r).replace(" "," "))});else{const r={};e.facets.forEach(function(s){const i=decodeURIComponent(s).replace(" "," ").split(":");r[i[0]]?r[i[0]].push(i[1]):r[i[0]]=[i[1]]});for(const s in r)if(Object.prototype.hasOwnProperty.call(r,s)){const i=r[s],n=s;let l="";for(const o of i)l+=` ${n}:${o}`;a=a.concat("fq="+l.trim())}}return"&"+a.join("&")}getRelatedSearches(e,t,a,r){const s=new Headers;s.append("Accept","application/json"),s.append("Authorization",a),fetch(t+"?search="+encodeURIComponent(e.query)+"&language="+this.dataLayer.language,{method:"GET",headers:s,credentials:"same-origin"}).then(i=>i.json()).then(i=>{r(i)})}search(e,t,a=!1,r=!1){this.dataLayer.setSearchTerm(e.query),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const s=new Proxy(new URLSearchParams(window.location.search),{get:(u,d)=>u.get(d)??""}),i=s.languageVariant?"&fq=_language:"+s.languageVariant:"",n=e.order?`&sort=${e.order}`:"",l=this.url+"?q="+encodeURIComponent(e.query.trim())+"&start="+(e.page-1)+this.toQueryString(e.additionalProps??[])+this.generateFacetQuery(e,r)+n+"&language="+this.dataLayer.language+i,o={method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch};a&&delete o.signal,fetch(l,o).then(u=>u.json()).then(u=>{this.dataLayer.setLoading(!1),t(u)}).catch(()=>{this.dataLayer.setLoading(!1)})}suggest(e,t,a){this.controllerSuggest&&this.controllerSuggest.abort(),this.controllerSuggest=new AbortController,this.signalSuggest=this.controllerSuggest.signal;const r=this.suggester+"?q="+e.trim()+this.toQueryString(a)+"&language="+this.dataLayer.language;fetch(r,{method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSuggest}).then(s=>s.json()).then(s=>{t(s)}).catch(()=>()=>{})}fields(){return this.fields}toQueryString(e){if(e.length===0)return"";const t=[];for(let a=0;a<e.length;a++){const r=e[a].key,s=e[a].value;t.push(encodeURIComponent(r)+"="+encodeURIComponent(s))}return"&"+t.join("&")}}class G{static getOrSetCookie(e){let t=this.getCookie(e);return t==null&&(t=this.makeid(25),this.setCookie(e,t,{secure:!0,"max-age":3600})),t}static makeid(e){let t="";const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=a.length;for(let s=0;s<e;s++)t+=a.charAt(Math.floor(Math.random()*r));return t}static getCookie(e){const t=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[\]\\/+^])/g,"\\$1")+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0}static setCookie(e,t,a){const r={path:"/",...a};a.expires instanceof Date&&(r.expires=a.expires.toUTCString());let s=encodeURIComponent(e)+"="+encodeURIComponent(t);for(const i in r){s+="; "+i;const n=r[i];n!==!0&&(s+="="+n)}document.cookie=s}}class O{static trackClick(e){const t={key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,totalHits:e.totalResults,pageNo:e.currentPage,latency:e.latencyVal,session:e.session,cDocId:e.result.uniqueId,cDocTitle:e.result.title,position:e.result.position,language:e.language};this.msq.push(["trackClick",t])}static trackSearch(e){const t={key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,totalHits:e.totalResults,pageNo:e.currentPage,latency:e.latencyVal,session:e.session,language:e.language,impressions:e.impressions};this.msq.push(["track",t])}static trackRelatedSearchClick(e){const t={session:e.session,key:e.trackApiKey,query:e.relatedSearch.search_term,position:e.relatedSearch.position,relatedSearch:e.relatedSearch.related_search,pageNo:e.currentPage,shownHits:e.recordsPerPage,totalHits:e.totalResults,language:e.language};this.msq.push(["trackRelatedSearchClick",t])}static trackRelatedSearches(e){const t={session:e.session,key:e.trackApiKey,query:e.searchTerm,shownHits:e.recordsPerPage,latency:e.latencyVal,language:e.language,impressions:e.impressions};this.msq.push(["trackRelatedSearch",t])}}c(O,"msq",window._msq||[]);/*!
2
2
  * mustache.js - Logic-less {{mustache}} templates with JavaScript
3
3
  * http://github.com/janl/mustache.js
4
- */var Y=Object.prototype.toString,E=Array.isArray||function(e){return Y.call(e)==="[object Array]"};function U(l){return typeof l=="function"}function Z(l){return E(l)?"array":typeof l}function N(l){return l.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function _(l,e){return l!=null&&typeof l=="object"&&e in l}function ee(l,e){return l!=null&&typeof l!="object"&&l.hasOwnProperty&&l.hasOwnProperty(e)}var te=RegExp.prototype.test;function ae(l,e){return te.call(l,e)}var se=/\S/;function re(l){return!ae(se,l)}var ie={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function ne(l){return String(l).replace(/[&<>"'`=\/]/g,function(t){return ie[t]})}var ce=/\s*/,le=/\s+/,Q=/\s*=/,he=/\s*\}/,oe=/#|\^|\/|>|\{|&|=|!/;function ue(l,e){if(!l)return[];var t=!1,a=[],r=[],s=[],i=!1,n=!1,h="",o=0;function u(){if(i&&!n)for(;s.length;)delete r[s.pop()];else s=[];i=!1,n=!1}var d,p,m;function T(k){if(typeof k=="string"&&(k=k.split(le,2)),!E(k)||k.length!==2)throw new Error("Invalid tags: "+k);d=new RegExp(N(k[0])+"\\s*"),p=new RegExp("\\s*"+N(k[1])),m=new RegExp("\\s*"+N("}"+k[1]))}T(e||y.tags);for(var f=new V(l),C,v,b,R,P,S;!f.eos();){if(C=f.pos,b=f.scanUntil(d),b)for(var w=0,A=b.length;w<A;++w)R=b.charAt(w),re(R)?(s.push(r.length),h+=R):(n=!0,t=!0,h+=" "),r.push(["text",R,C,C+1]),C+=1,R===`
5
- `&&(u(),h="",o=0,t=!1);if(!f.scan(d))break;if(i=!0,v=f.scan(oe)||"name",f.scan(ce),v==="="?(b=f.scanUntil(Q),f.scan(Q),f.scanUntil(p)):v==="{"?(b=f.scanUntil(m),f.scan(he),f.scanUntil(p),v="&"):b=f.scanUntil(p),!f.scan(p))throw new Error("Unclosed tag at "+f.pos);if(v==">"?P=[v,b,C,f.pos,h,o,t]:P=[v,b,C,f.pos],o++,r.push(P),v==="#"||v==="^")a.push(P);else if(v==="/"){if(S=a.pop(),!S)throw new Error('Unopened section "'+b+'" at '+C);if(S[1]!==b)throw new Error('Unclosed section "'+S[1]+'" at '+C)}else v==="name"||v==="{"||v==="&"?n=!0:v==="="&&T(b)}if(u(),S=a.pop(),S)throw new Error('Unclosed section "'+S[1]+'" at '+f.pos);return ge(de(r))}function de(l){for(var e=[],t,a,r=0,s=l.length;r<s;++r)t=l[r],t&&(t[0]==="text"&&a&&a[0]==="text"?(a[1]+=t[1],a[3]=t[3]):(e.push(t),a=t));return e}function ge(l){for(var e=[],t=e,a=[],r,s,i=0,n=l.length;i<n;++i)switch(r=l[i],r[0]){case"#":case"^":t.push(r),a.push(r),t=r[4]=[];break;case"/":s=a.pop(),s[5]=r[2],t=a.length>0?a[a.length-1][4]:e;break;default:t.push(r)}return e}function V(l){this.string=l,this.tail=l,this.pos=0}V.prototype.eos=function(){return this.tail===""},V.prototype.scan=function(e){var t=this.tail.match(e);if(!t||t.index!==0)return"";var a=t[0];return this.tail=this.tail.substring(a.length),this.pos+=a.length,a},V.prototype.scanUntil=function(e){var t=this.tail.search(e),a;switch(t){case-1:a=this.tail,this.tail="";break;case 0:a="";break;default:a=this.tail.substring(0,t),this.tail=this.tail.substring(t)}return this.pos+=a.length,a};function H(l,e){this.view=l,this.cache={".":this.view},this.parent=e}H.prototype.push=function(e){return new H(e,this)},H.prototype.lookup=function(e){var t=this.cache,a;if(t.hasOwnProperty(e))a=t[e];else{for(var r=this,s,i,n,h=!1;r;){if(e.indexOf(".")>0)for(s=r.view,i=e.split("."),n=0;s!=null&&n<i.length;)n===i.length-1&&(h=_(s,i[n])||ee(s,i[n])),s=s[i[n++]];else s=r.view[e],h=_(r.view,e);if(h){a=s;break}r=r.parent}t[e]=a}return U(a)&&(a=a.call(this.view)),a};function x(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}x.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()},x.prototype.parse=function(e,t){var a=this.templateCache,r=e+":"+(t||y.tags).join(":"),s=typeof a<"u",i=s?a.get(r):void 0;return i==null&&(i=ue(e,t),s&&a.set(r,i)),i},x.prototype.render=function(e,t,a,r){var s=this.getConfigTags(r),i=this.parse(e,s),n=t instanceof H?t:new H(t,void 0);return this.renderTokens(i,n,a,e,r)},x.prototype.renderTokens=function(e,t,a,r,s){for(var i="",n,h,o,u=0,d=e.length;u<d;++u)o=void 0,n=e[u],h=n[0],h==="#"?o=this.renderSection(n,t,a,r,s):h==="^"?o=this.renderInverted(n,t,a,r,s):h===">"?o=this.renderPartial(n,t,a,s):h==="&"?o=this.unescapedValue(n,t):h==="name"?o=this.escapedValue(n,t,s):h==="text"&&(o=this.rawValue(n)),o!==void 0&&(i+=o);return i},x.prototype.renderSection=function(e,t,a,r,s){var i=this,n="",h=t.lookup(e[1]);function o(p){return i.render(p,t,a,s)}if(h){if(E(h))for(var u=0,d=h.length;u<d;++u)n+=this.renderTokens(e[4],t.push(h[u]),a,r,s);else if(typeof h=="object"||typeof h=="string"||typeof h=="number")n+=this.renderTokens(e[4],t.push(h),a,r,s);else if(U(h)){if(typeof r!="string")throw new Error("Cannot use higher-order sections without the original template");h=h.call(t.view,r.slice(e[3],e[5]),o),h!=null&&(n+=h)}else n+=this.renderTokens(e[4],t,a,r,s);return n}},x.prototype.renderInverted=function(e,t,a,r,s){var i=t.lookup(e[1]);if(!i||E(i)&&i.length===0)return this.renderTokens(e[4],t,a,r,s)},x.prototype.indentPartial=function(e,t,a){for(var r=t.replace(/[^ \t]/g,""),s=e.split(`
4
+ */var X=Object.prototype.toString,E=Array.isArray||function(e){return X.call(e)==="[object Array]"};function $(h){return typeof h=="function"}function Y(h){return E(h)?"array":typeof h}function U(h){return h.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function W(h,e){return h!=null&&typeof h=="object"&&e in h}function Z(h,e){return h!=null&&typeof h!="object"&&h.hasOwnProperty&&h.hasOwnProperty(e)}var ee=RegExp.prototype.test;function te(h,e){return ee.call(h,e)}var ae=/\S/;function se(h){return!te(ae,h)}var re={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function ie(h){return String(h).replace(/[&<>"'`=\/]/g,function(t){return re[t]})}var ne=/\s*/,ce=/\s+/,_=/\s*=/,le=/\s*\}/,he=/#|\^|\/|>|\{|&|=|!/;function oe(h,e){if(!h)return[];var t=!1,a=[],r=[],s=[],i=!1,n=!1,l="",o=0;function u(){if(i&&!n)for(;s.length;)delete r[s.pop()];else s=[];i=!1,n=!1}var d,p,m;function S(k){if(typeof k=="string"&&(k=k.split(ce,2)),!E(k)||k.length!==2)throw new Error("Invalid tags: "+k);d=new RegExp(U(k[0])+"\\s*"),p=new RegExp("\\s*"+U(k[1])),m=new RegExp("\\s*"+U("}"+k[1]))}S(e||y.tags);for(var f=new B(h),C,v,b,R,P,T;!f.eos();){if(C=f.pos,b=f.scanUntil(d),b)for(var w=0,A=b.length;w<A;++w)R=b.charAt(w),se(R)?(s.push(r.length),l+=R):(n=!0,t=!0,l+=" "),r.push(["text",R,C,C+1]),C+=1,R===`
5
+ `&&(u(),l="",o=0,t=!1);if(!f.scan(d))break;if(i=!0,v=f.scan(he)||"name",f.scan(ne),v==="="?(b=f.scanUntil(_),f.scan(_),f.scanUntil(p)):v==="{"?(b=f.scanUntil(m),f.scan(le),f.scanUntil(p),v="&"):b=f.scanUntil(p),!f.scan(p))throw new Error("Unclosed tag at "+f.pos);if(v==">"?P=[v,b,C,f.pos,l,o,t]:P=[v,b,C,f.pos],o++,r.push(P),v==="#"||v==="^")a.push(P);else if(v==="/"){if(T=a.pop(),!T)throw new Error('Unopened section "'+b+'" at '+C);if(T[1]!==b)throw new Error('Unclosed section "'+T[1]+'" at '+C)}else v==="name"||v==="{"||v==="&"?n=!0:v==="="&&S(b)}if(u(),T=a.pop(),T)throw new Error('Unclosed section "'+T[1]+'" at '+f.pos);return de(ue(r))}function ue(h){for(var e=[],t,a,r=0,s=h.length;r<s;++r)t=h[r],t&&(t[0]==="text"&&a&&a[0]==="text"?(a[1]+=t[1],a[3]=t[3]):(e.push(t),a=t));return e}function de(h){for(var e=[],t=e,a=[],r,s,i=0,n=h.length;i<n;++i)switch(r=h[i],r[0]){case"#":case"^":t.push(r),a.push(r),t=r[4]=[];break;case"/":s=a.pop(),s[5]=r[2],t=a.length>0?a[a.length-1][4]:e;break;default:t.push(r)}return e}function B(h){this.string=h,this.tail=h,this.pos=0}B.prototype.eos=function(){return this.tail===""},B.prototype.scan=function(e){var t=this.tail.match(e);if(!t||t.index!==0)return"";var a=t[0];return this.tail=this.tail.substring(a.length),this.pos+=a.length,a},B.prototype.scanUntil=function(e){var t=this.tail.search(e),a;switch(t){case-1:a=this.tail,this.tail="";break;case 0:a="";break;default:a=this.tail.substring(0,t),this.tail=this.tail.substring(t)}return this.pos+=a.length,a};function H(h,e){this.view=h,this.cache={".":this.view},this.parent=e}H.prototype.push=function(e){return new H(e,this)},H.prototype.lookup=function(e){var t=this.cache,a;if(t.hasOwnProperty(e))a=t[e];else{for(var r=this,s,i,n,l=!1;r;){if(e.indexOf(".")>0)for(s=r.view,i=e.split("."),n=0;s!=null&&n<i.length;)n===i.length-1&&(l=W(s,i[n])||Z(s,i[n])),s=s[i[n++]];else s=r.view[e],l=W(r.view,e);if(l){a=s;break}r=r.parent}t[e]=a}return $(a)&&(a=a.call(this.view)),a};function x(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}x.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()},x.prototype.parse=function(e,t){var a=this.templateCache,r=e+":"+(t||y.tags).join(":"),s=typeof a<"u",i=s?a.get(r):void 0;return i==null&&(i=oe(e,t),s&&a.set(r,i)),i},x.prototype.render=function(e,t,a,r){var s=this.getConfigTags(r),i=this.parse(e,s),n=t instanceof H?t:new H(t,void 0);return this.renderTokens(i,n,a,e,r)},x.prototype.renderTokens=function(e,t,a,r,s){for(var i="",n,l,o,u=0,d=e.length;u<d;++u)o=void 0,n=e[u],l=n[0],l==="#"?o=this.renderSection(n,t,a,r,s):l==="^"?o=this.renderInverted(n,t,a,r,s):l===">"?o=this.renderPartial(n,t,a,s):l==="&"?o=this.unescapedValue(n,t):l==="name"?o=this.escapedValue(n,t,s):l==="text"&&(o=this.rawValue(n)),o!==void 0&&(i+=o);return i},x.prototype.renderSection=function(e,t,a,r,s){var i=this,n="",l=t.lookup(e[1]);function o(p){return i.render(p,t,a,s)}if(l){if(E(l))for(var u=0,d=l.length;u<d;++u)n+=this.renderTokens(e[4],t.push(l[u]),a,r,s);else if(typeof l=="object"||typeof l=="string"||typeof l=="number")n+=this.renderTokens(e[4],t.push(l),a,r,s);else if($(l)){if(typeof r!="string")throw new Error("Cannot use higher-order sections without the original template");l=l.call(t.view,r.slice(e[3],e[5]),o),l!=null&&(n+=l)}else n+=this.renderTokens(e[4],t,a,r,s);return n}},x.prototype.renderInverted=function(e,t,a,r,s){var i=t.lookup(e[1]);if(!i||E(i)&&i.length===0)return this.renderTokens(e[4],t,a,r,s)},x.prototype.indentPartial=function(e,t,a){for(var r=t.replace(/[^ \t]/g,""),s=e.split(`
6
6
  `),i=0;i<s.length;i++)s[i].length&&(i>0||!a)&&(s[i]=r+s[i]);return s.join(`
7
- `)},x.prototype.renderPartial=function(e,t,a,r){if(a){var s=this.getConfigTags(r),i=U(a)?a(e[1]):a[e[1]];if(i!=null){var n=e[6],h=e[5],o=e[4],u=i;h==0&&o&&(u=this.indentPartial(i,o,n));var d=this.parse(u,s);return this.renderTokens(d,t,a,u,r)}}},x.prototype.unescapedValue=function(e,t){var a=t.lookup(e[1]);if(a!=null)return a},x.prototype.escapedValue=function(e,t,a){var r=this.getConfigEscape(a)||y.escape,s=t.lookup(e[1]);if(s!=null)return typeof s=="number"&&r===y.escape?String(s):r(s)},x.prototype.rawValue=function(e){return e[1]},x.prototype.getConfigTags=function(e){return E(e)?e:e&&typeof e=="object"?e.tags:void 0},x.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!E(e))return e.escape};var y={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(l){j.templateCache=l},get templateCache(){return j.templateCache}},j=new x;y.clearCache=function(){return j.clearCache()},y.parse=function(e,t){return j.parse(e,t)},y.render=function(e,t,a,r){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+Z(e)+'" was given as the first argument for mustache#render(template, view, partials)');return j.render(e,t,a,r)},y.escape=ne,y.Scanner=V,y.Context=H,y.Writer=x;const pe={mainTemplateDesktop:{template:`
7
+ `)},x.prototype.renderPartial=function(e,t,a,r){if(a){var s=this.getConfigTags(r),i=$(a)?a(e[1]):a[e[1]];if(i!=null){var n=e[6],l=e[5],o=e[4],u=i;l==0&&o&&(u=this.indentPartial(i,o,n));var d=this.parse(u,s);return this.renderTokens(d,t,a,u,r)}}},x.prototype.unescapedValue=function(e,t){var a=t.lookup(e[1]);if(a!=null)return a},x.prototype.escapedValue=function(e,t,a){var r=this.getConfigEscape(a)||y.escape,s=t.lookup(e[1]);if(s!=null)return typeof s=="number"&&r===y.escape?String(s):r(s)},x.prototype.rawValue=function(e){return e[1]},x.prototype.getConfigTags=function(e){return E(e)?e:e&&typeof e=="object"?e.tags:void 0},x.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!E(e))return e.escape};var y={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(h){V.templateCache=h},get templateCache(){return V.templateCache}},V=new x;y.clearCache=function(){return V.clearCache()},y.parse=function(e,t){return V.parse(e,t)},y.render=function(e,t,a,r){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+Y(e)+'" was given as the first argument for mustache#render(template, view, partials)');return V.render(e,t,a,r)},y.escape=ie,y.Scanner=B,y.Context=H,y.Writer=x;const ge={mainTemplateDesktop:{template:`
8
8
  {{#hasResultsOrExternalPromotions}}
9
9
  <div class="searchstax-facets-container-desktop"></div>
10
10
  {{/hasResultsOrExternalPromotions}}
@@ -63,7 +63,7 @@ var Se=Object.defineProperty;var xe=(F,L,M)=>L in F?Se(F,L,{enumerable:!0,config
63
63
  <div class="searchstax-facets-pill-label">{{value}} ({{count}})</div>
64
64
  <div class="searchstax-facets-pill-icon-close"></div>
65
65
  </div>
66
- `,containerClass:"searchstax-facets-pill-facets"}},fe={mainTemplate:{template:`
66
+ `,containerClass:"searchstax-facets-pill-facets"}},pe={mainTemplate:{template:`
67
67
  {{#results.length}}
68
68
  <div class="searchstax-pagination-container">
69
69
  <div class="searchstax-pagination-content">
@@ -75,7 +75,7 @@ var Se=Object.defineProperty;var xe=(F,L,M)=>L in F?Se(F,L,{enumerable:!0,config
75
75
  </div>
76
76
  </div>
77
77
  {{/results.length}}
78
- `,nextButtonClass:"searchstax-pagination-next",previousButtonClass:"searchstax-pagination-previous"}},me={mainTemplate:{template:`
78
+ `,nextButtonClass:"searchstax-pagination-next",previousButtonClass:"searchstax-pagination-previous"}},fe={mainTemplate:{template:`
79
79
  <div class="searchstax-search-input-container">
80
80
  <div class="searchstax-search-input-wrapper">
81
81
  <input type="text" id="searchstax-search-input" class="searchstax-search-input" placeholder="SEARCH FOR..." />
@@ -84,7 +84,7 @@ var Se=Object.defineProperty;var xe=(F,L,M)=>L in F?Se(F,L,{enumerable:!0,config
84
84
  </div>
85
85
  `,searchInputId:"searchstax-search-input"},autosuggestItemTemplate:{template:`
86
86
  <div class="searchstax-autosuggest-item-term-container">{{{term}}}</div>
87
- `}},ye={mainTemplate:{template:`
87
+ `}},me={mainTemplate:{template:`
88
88
  <div class="searchstax-search-results-container">
89
89
  <div class="searchstax-search-results" id="searchstax-search-results"></div>
90
90
  </div>
@@ -148,4 +148,4 @@ var Se=Object.defineProperty;var xe=(F,L,M)=>L in F?Se(F,L,{enumerable:!0,config
148
148
  <p>Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need.</p>
149
149
  <p>Lost? Click on the ‘X” in the Search Box to reset your search.</p>
150
150
  </div>
151
- `}};class g{}c(g,"facets",pe),c(g,"pagination",fe),c(g,"searchInput",me),c(g,"searchResults",ye);class Ce{constructor(e,t){c(this,"dataLayer");c(this,"config");c(this,"containerId");c(this,"routerHelper");c(this,"cachedPhrase","");c(this,"isCached",!1);c(this,"overlayOpened",!1);c(this,"facetPaginationStep");c(this,"facetPaginationStepMobile");c(this,"searchFacetsMainContainer",null);c(this,"searchFacetsMobileContainer",null);c(this,"searchFacetsDesktopContainer",null);c(this,"facetLimits",{});c(this,"facetLimitsMobile",{});c(this,"deactivatedFacets",{});c(this,"renderedDataCache",{results:[],facets:[]});c(this,"cacheFacets");c(this,"onFacetSelect",(e,t,a,r)=>{if(e.stopPropagation(),!t.disabled){const s=a.querySelector("input");s.checked=r?s.checked:!s.checked;const i=this.dataLayer.searchObject;let n=[...i.facets];s.checked?n.find(o=>o===this.extractFacetValue(t)?o:!1)||n.push(this.extractFacetValue(t)):n=n.filter(h=>h!==this.extractFacetValue(t)),setTimeout(()=>{this.dataLayer.setSearchObject({...i,facets:n,page:1})},0)}});this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,this.searchFacetsMainContainer=document.getElementById(this.containerId),this.needCache&&t(),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get needCache(){return this.config.facetingType===B.showUnavailable||this.config.facetingType===B.or}get needDisabling(){return this.config.facetingType===B.showUnavailable}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchFacets.subscribe(e=>{e&&(this.dataLayer.searchFacetsCached||!this.needCache)&&this.renderMainTemplate(this.generateTemplateData()),this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets())}),this.dataLayer.$searchResultsMetadata.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return encodeURIComponent(`${e.parentName}:"${e.value}"`)}applyFacetLimits(e,t){const a=t?this.facetPaginationStepMobile:this.facetPaginationStep,r=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(s=>{r[s.name]||(r[s.name]=a)}),e.map(s=>({...s,values:s.values.slice(0,r[s.name]),showingAllFacets:s.values.length<=r[s.name],hasMoreFacets:s.values.length>a}))}generateTemplateData(e){if(this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;return this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(a=>{var s;const r=(s=this.dataLayer.searchFacets)==null?void 0:s.find(i=>i.name===a.name);return r?{...a,values:a.values.map(i=>{const n=r.values.find(h=>i.type==="range"?!1:i.type==="checkbox"?h.value===i.value:!1);return{...i,disabled:!n}})}:{...a,values:a.values.map(i=>({...i,disabled:!0}))}}))),{facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data}}else return{facets:[],...this.dataLayer.parsedData.data}}overrideFacetEvents(){}createFacetItem(e,t,a){var h,o,u,d,p,m,T,f,C,v,b,R;const r=document.createElement("div");r.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||r.classList.add("active");const s=((u=(o=(h=this.config)==null?void 0:h.templates)==null?void 0:o.facetItemContainerTemplate)==null?void 0:u.template)||((d=g.facets.facetItemContainerTemplate)==null?void 0:d.template);r.innerHTML=y.render(s,e),t.appendChild(r);const i=r.querySelector("."+(((T=(m=(p=this.config)==null?void 0:p.templates)==null?void 0:m.facetItemContainerTemplate)==null?void 0:T.facetListTitleContainerClass)||((f=g.facets.facetItemContainerTemplate)==null?void 0:f.facetListTitleContainerClass)));i==null||i.addEventListener("click",()=>{r.classList.toggle("active")});const n=r.querySelector("."+(((b=(v=(C=this.config)==null?void 0:C.templates)==null?void 0:v.facetItemContainerTemplate)==null?void 0:b.facetListContainerClass)||((R=g.facets.facetItemContainerTemplate)==null?void 0:R.facetListContainerClass)));n&&(e.values.forEach(P=>{this.createFacetListItem(P,n)}),e.hasMoreFacets&&this.createHasMoreComponent(e,n,a))}createFacetListItem(e,t){var h,o,u,d,p,m,T,f,C,v,b,R,P,S;const a=document.createElement("div");a.classList.add("searchstax-facet-value-container"),e.disabled&&a.classList.add("searchstax-facet-value-disabled");const s=!!((h=this.dataLayer.searchObject.facets)!=null&&h.find(w=>w===this.extractFacetValue(e))),i=((d=(u=(o=this.config)==null?void 0:o.templates)==null?void 0:u.facetItemTemplate)==null?void 0:d.template)||((p=g.facets.facetItemTemplate)==null?void 0:p.template);a.innerHTML=y.render(i,{...e,isChecked:s});let n=(m=g.facets.facetItemTemplate)==null?void 0:m.checkTriggerClasses;n=((C=(f=(T=this.config)==null?void 0:T.templates)==null?void 0:f.facetItemTemplate)==null?void 0:C.checkTriggerClasses)||n,n.forEach(w=>{var A;(A=a.querySelector("."+w))==null||A.addEventListener("click",k=>{this.onFacetSelect(k,e,a)})}),(S=a.querySelector("."+(((R=(b=(v=this.config)==null?void 0:v.templates)==null?void 0:b.facetItemTemplate)==null?void 0:R.inputCheckboxClass)||((P=g.facets.facetItemTemplate)==null?void 0:P.inputCheckboxClass))))==null||S.addEventListener("click",w=>{this.onFacetSelect(w,e,a,!0)}),t.appendChild(a)}createHasMoreComponent(e,t,a){var n,h,o,u,d,p,m,T;const r=document.createElement("div");r.classList.add("searchstax-facet-show-more-container");const s=((o=(h=(n=this.config)==null?void 0:n.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:o.template)||((u=g.facets.showMoreButtonContainerTemplate)==null?void 0:u.template);r.innerHTML=y.render(s,e);const i=r.querySelector("."+(((m=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.showMoreButtonContainerTemplate)==null?void 0:m.showMoreButtonClass)||((T=g.facets.showMoreButtonContainerTemplate)==null?void 0:T.showMoreButtonClass)));i&&(this.attachOnclickToShowMore(e,i,a),t&&t.appendChild(i))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",r=>{this.onShowMoreLessClick(r,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const r=a?this.facetPaginationStepMobile:this.facetPaginationStep,s=a?this.facetLimits:this.facetLimitsMobile;s[t.name]===void 0?s[t.name]=r*2:s[t.name]<=t.values.length?s[t.name]=s[t.name]+r:s[t.name]=r,this.renderMainTemplate(this.generateTemplateData(),!0)}renderMainTemplate(e,t){var a,r,s,i,n,h,o,u,d,p,m;if((JSON.stringify(this.renderedDataCache.results)!==JSON.stringify(e.results)||t)&&(this.renderedDataCache=e.results,e)){const T=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplateDesktop)==null?void 0:s.template)||((i=g.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===L.mustache){this.searchFacetsMainContainer.innerHTML=y.render(T,{...e});const f=(u=this.searchFacetsMainContainer)==null?void 0:u.querySelector("."+(((o=(h=(n=this.config)==null?void 0:n.templates)==null?void 0:h.mainTemplateDesktop)==null?void 0:o.facetsContainerClass)||g.facets.mainTemplateDesktop.facetsContainerClass));if(f){f.innerHTML="";for(const C of e.facets)this.createFacetItem(C,f);if(this.searchFacetsMainContainer){const C=this.searchFacetsMainContainer.querySelector("."+(((m=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplateDesktop)==null?void 0:m.selectedFacetsContainerClass)||g.facets.mainTemplateDesktop.selectedFacetsContainerClass));C&&(this.createSelectedFacetsComponents(C),this.createClearFacetsComponents(C))}}this.renderMobileTemplate(this.generateTemplateData(!0))}}}createSelectedFacetsComponents(e){const t=this.dataLayer.searchObject.facets;for(const a of t){const r=decodeURIComponent(a).split(":")[0],s=decodeURIComponent(a).split(":")[1];if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,n=i==null?void 0:i.find(h=>h.name===r);if(n){const h=n.values.find(o=>o.type==="range"?!1:o.type==="checkbox"?`"${o.value}"`===s:!1);h&&this.createSelectedFacetsComponent(e,h)}}}}createClearFacetsComponents(e){var i,n,h,o,u,d,p,m;const t=this.dataLayer.searchObject,a=((h=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.clearFacetsTemplate)==null?void 0:h.template)||((o=g.facets.clearFacetsTemplate)==null?void 0:o.template),r=document.createElement("div");r.innerHTML=y.render(a,{shouldShow:t.facets.length>0});const s=r.querySelector("."+(((p=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.clearFacetsTemplate)==null?void 0:p.containerClass)||((m=g.facets.clearFacetsTemplate)==null?void 0:m.containerClass)));s&&(s.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(s))}createSelectedFacetsComponent(e,t){var i,n,h,o,u,d,p,m;const a=((h=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.selectedFacetsTemplate)==null?void 0:h.template)||((o=g.facets.selectedFacetsTemplate)==null?void 0:o.template),r=document.createElement("div");r.innerHTML=y.render(a,t);const s=r.querySelector("."+(((p=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.selectedFacetsTemplate)==null?void 0:p.containerClass)||((m=g.facets.selectedFacetsTemplate)==null?void 0:m.containerClass)));s&&(s.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(s))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(r=>r!==this.extractFacetValue(e))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a})},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var s,i,n,h,o,u,d,p;const t=((n=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.filterByTemplate)==null?void 0:n.template)||((h=g.facets.filterByTemplate)==null?void 0:h.template),a=document.createElement("div");a.innerHTML=y.render(t,{});const r=a.querySelector("."+(((d=(u=(o=this.config)==null?void 0:o.templates)==null?void 0:u.filterByTemplate)==null?void 0:d.containerClass)||((p=g.facets.filterByTemplate)==null?void 0:p.containerClass)));r&&(e.prepend(r),r.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,r,s,i,n,h,o,u,d,p,m,T,f,C,v,b,R,P;if(e){const S=document.createElement("div");S.classList.add("searchstax-facets-container-mobile");const w=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:r.template)||((s=g.facets.mainTemplateMobile)==null?void 0:s.template);if(this.dataLayer.renderingEngine===L.mustache){if(S.innerHTML=y.render(w,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(S),(h=(n=this.config)==null?void 0:n.templates)!=null&&h.mainTemplateMobile)for(const D of((d=(u=(o=this.config)==null?void 0:o.templates)==null?void 0:u.mainTemplateMobile)==null?void 0:d.closeOverlayTriggerClasses)||[]){const $=S.querySelector("."+D);$&&$.addEventListener("click",this.closeOverlay.bind(this))}else for(const D of g.facets.mainTemplateMobile.closeOverlayTriggerClasses){const $=S.querySelector("."+D);$&&$.addEventListener("click",this.closeOverlay.bind(this))}const A=S.querySelector("."+(((T=(m=(p=this.config)==null?void 0:p.templates)==null?void 0:m.mainTemplateMobile)==null?void 0:T.filterByContainerClass)||g.facets.mainTemplateMobile.filterByContainerClass));A&&this.createFilterByComponent(A);const k=S.querySelector("."+(((v=(C=(f=this.config)==null?void 0:f.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:v.selectedFacetsContainerClass)||g.facets.mainTemplateMobile.selectedFacetsContainerClass));k&&(this.createSelectedFacetsComponents(k),this.createClearFacetsComponents(k));const K=S.querySelector("."+(((P=(R=(b=this.config)==null?void 0:b.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:P.facetsContainerClass)||g.facets.mainTemplateMobile.facetsContainerClass));if(K){K.innerHTML="";for(const D of e.facets)this.createFacetItem(D,K,!0)}}}}}class ve{constructor(e){c(this,"dataLayer");c(this,"config");c(this,"containerId");c(this,"previousButtonClass");c(this,"nextButtonClass");c(this,"routerHelper");c(this,"searchPaginationMainContainer",null);var t,a,r,s,i,n;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.previousButtonClass)??g.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((n=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:n.nextButtonClass)??g.pagination.mainTemplate.nextButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil((((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.totalResultsValue)??0)/10)}initializeSubscriptions(){this.dataLayer.$searchResultsMetadata.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var e,t;return{...this.dataLayer.parsedData.data,previousPageLink:this.routerHelper.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:this.routerHelper.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)+1})}}goToPage(e){const t=this.dataLayer.searchObject;t&&(t.page=e,this.dataLayer.setSearchObject(t)),window.scrollTo(0,0)}nextPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var a,r,s,i,n,h;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(r=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||r.removeEventListener("click",this.nextPage));const t=((n=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:n.template)||((h=g.pagination.mainTemplate)==null?void 0:h.template);this.dataLayer.renderingEngine===L.mustache&&(this.searchPaginationMainContainer.innerHTML=y.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class be{constructor(e){c(this,"dataLayer");c(this,"config");c(this,"suggestAfterMinChars");c(this,"containerId");c(this,"currentInputValue","");c(this,"autosuggestResults");c(this,"searchInput");c(this,"actionButton");c(this,"autosuggestContainer");c(this,"buttonState","search");c(this,"selectedAutosuggestItem",-1);c(this,"suggestTrigger");c(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var s,i,n,h;const e=document.getElementById(this.containerId);if(!e)throw new Error("Search input container not found");const t=((i=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:i.template)||g.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===L.mustache){const o=y.render(t,{});e.innerHTML=o}const a=((h=(n=this.config.templates)==null?void 0:n.mainTemplate)==null?void 0:h.searchInputId)||g.searchInput.mainTemplate.searchInputId,r=document.querySelector(`#${a}`);if(r)this.searchInput=r,r.addEventListener("keyup",this.inputKeyupEvent.bind(this)),r.addEventListener("blur",this.hideAutosuggest.bind(this)),r.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer)}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return e.replace(/(<([^>]+)>)/gi,"").trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var r,s,i;const t=document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{var n;this.selectedAutosuggestItem=((n=this.autosuggestResults)==null?void 0:n.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()});const a=((s=(r=this.config.templates)==null?void 0:r.autosuggestItemTemplate)==null?void 0:s.template)||((i=g.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=y.render(a,e),t}appendSuggestions(e){if(this.autosuggestContainer){this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden");for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const a=e.suggest[t];for(const r in a)if(Object.prototype.hasOwnProperty.call(a,r)){const s=a[r];this.autosuggestResults=s,s.numFound>0?s.suggestions.forEach(i=>{this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer.classList.add("hidden")}}}}}class Le{constructor(e){c(this,"dataLayer");c(this,"config");c(this,"linkClickCallback");c(this,"searchCallback");c(this,"containerId");c(this,"searchResultsMainContainer");c(this,"searchResultsContainer");c(this,"searchResultLinks",[]);this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId;const t=document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,r,s,i,n;const e=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.noSearchResultTemplate)==null?void 0:s.template)||((i=g.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((n=this.dataLayer.searchResultsMetadata)==null?void 0:n.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===L.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=y.render(e,{spellingSuggestion:t,searchTerm:this.dataLayer.searchTerm})),t&&this.searchResultsContainer){const h=this.searchResultsContainer.querySelector("a");h&&h.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,r,s;if(this.dataLayer.renderingEngine===L.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const i=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:r.template)||((s=g.searchResults.searchResultTemplate)==null?void 0:s.template),n=e.map(h=>y.render(i,h));this.searchResultsContainer.innerHTML=n.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,a,r;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((r=g.searchResults.searchResultTemplate)==null?void 0:r.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var t,a,r,s;const e=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.template)||((s=g.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===L.mustache&&(this.searchResultsMainContainer.innerHTML=y.render(e,{})),setTimeout(()=>{var h,o,u,d,p,m,T;const i=(u=(o=(h=this.config)==null?void 0:h.templates)==null?void 0:o.mainTemplate)!=null&&u.searchResultsContainerId?(m=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplate)==null?void 0:m.searchResultsContainerId:(T=g.searchResults.mainTemplate)==null?void 0:T.searchResultsContainerId,n=document.getElementById(i);if(n)this.searchResultsContainer=n;else throw new Error(`Search Results Container with id ${i} not found`)},0)}}class Te{constructor(e=L.mustache){c(this,"routerEnabled",!1);c(this,"routerHelper");c(this,"searchHelper");c(this,"searchInputConfig");c(this,"searchResultsConfig");c(this,"searchPaginationConfig");c(this,"searchFeedbackConfig");c(this,"searchSortingConfig");c(this,"searchFacetsConfig");c(this,"relatedSearchesConfig");c(this,"externalPromotionsConfig");c(this,"searchInputWidget");c(this,"searchResultsWidget");c(this,"searchFacetsWidget");c(this,"searchPaginationWidget");c(this,"dataLayer",new z(X.getOrSetCookie("searchstax_session_id")));c(this,"firstRequest",!0);e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=L.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.searchInputConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.searchInputConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{a.query!==void 0&&this.search(a)}),this.dataLayer.$searchResultsMetadata.subscribe(()=>{this.dataLayer.searchResultsMetadata&&O.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t;this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new G({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),(t=e.router)!=null&&t.enabled?(this.routerEnabled=!0,this.routerHelper=new W(e.router),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new W({})}search(e){var t;if(this.searchHelper&&e.query!==""){const a=((t=this.searchFacetsConfig)==null?void 0:t.facetingType)===B.or;this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,a),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var s;const a=(((s=e.response)==null?void 0:s.docs)??[]).map((i,n)=>({...i,position:n+1})),r=[];for(const i of a)r.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&O.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:r}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var r,s;this.handleRouter();let t=q.combineResultsWithMetadata(e),a=q.extractFacets(e);this.dataLayer.setSearchFacets(a),(s=(r=this.searchInputConfig)==null?void 0:r.hooks)!=null&&s.afterSearch&&(t=this.searchInputConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]),this.dataLayer.setSearchResults(t),this.dataLayer.setSearchResultsMetadata(q.extractSearchResultsMetadata(e))}cacheFacets(){this.searchHelper&&this.searchHelper.search({query:this.dataLayer.searchObject.query??"*",page:1,order:"",facets:[],additionalProps:[]},this.cacheFacetsCallback.bind(this))}cacheFacetsCallback(e){let t=q.extractFacets(e);this.dataLayer.setSearchFacetsCached(t)}parseSuggestSuggestResponse(e){var a,r;let t=e;(r=(a=this.searchInputConfig)==null?void 0:a.hooks)!=null&&r.afterAutosuggest&&(t=this.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.searchInputConfig||(this.searchInputConfig=t,this.searchInputWidget=new be({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Le({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 ve({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Ce({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e){var s,i,n,h;const t={...this.dataLayer.searchObject};t.query=e,t.page=1;let a=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(t);a&&(a=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(a)),a&&(t.additionalProps=Object.keys(a).map(o=>a?{name:o,value:a[o]}:{name:"",value:""}));let r=t;(h=(n=this.searchInputConfig)==null?void 0:n.hooks)!=null&&h.beforeSearch&&r&&(r=this.searchInputConfig.hooks.beforeSearch(r)),r&&this.dataLayer.setSearchObject(r)}executeSuggest(e){var a,r;let t={term:e,queryParams:[]};(r=(a=this.searchInputConfig)==null?void 0:a.hooks)!=null&&r.beforeAutosuggest&&(t=this.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&&O.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,r;let t=q.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((r=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&r.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&O.trackClick({result:t,...this.dataLayer.parsedData.trackingData}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,a,r;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(r=this.searchResultsWidget)==null||r.changeTemplate())}}F.Searchstax=Te,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxJs"]=this["@searchstaxInc/searchstudioUxJs"]||{});
151
+ `}};class g{}c(g,"facets",ge),c(g,"pagination",pe),c(g,"searchInput",fe),c(g,"searchResults",me);class ye{constructor(e,t){c(this,"dataLayer");c(this,"config");c(this,"containerId");c(this,"routerHelper");c(this,"cachedPhrase","");c(this,"isCached",!1);c(this,"overlayOpened",!1);c(this,"facetPaginationStep");c(this,"facetPaginationStepMobile");c(this,"searchFacetsMainContainer",null);c(this,"searchFacetsMobileContainer",null);c(this,"searchFacetsDesktopContainer",null);c(this,"facetLimits",{});c(this,"facetLimitsMobile",{});c(this,"deactivatedFacets",{});c(this,"renderedDataCache",{results:[],facets:[]});c(this,"cacheFacets");c(this,"onFacetSelect",(e,t,a,r)=>{if(e.stopPropagation(),!t.disabled){const s=a.querySelector("input");s.checked=r?s.checked:!s.checked;const i=this.dataLayer.searchObject;let n=[...i.facets];s.checked?n.find(o=>o===this.extractFacetValue(t)?o:!1)||n.push(this.extractFacetValue(t)):n=n.filter(l=>l!==this.extractFacetValue(t)),setTimeout(()=>{this.dataLayer.setSearchObject({...i,facets:n,page:1})},0)}});this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,this.searchFacetsMainContainer=document.getElementById(this.containerId),this.needCache&&t(),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get needCache(){return this.config.facetingType==="showUnavailable"||this.config.facetingType==="or"}get needDisabling(){return this.config.facetingType==="showUnavailable"}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchFacets.subscribe(e=>{e&&(this.dataLayer.searchFacetsCached||!this.needCache)&&this.renderMainTemplate(this.generateTemplateData()),this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets())}),this.dataLayer.$searchResultsMetadata.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return encodeURIComponent(`${e.parentName}:"${e.value}"`)}applyFacetLimits(e,t){const a=t?this.facetPaginationStepMobile:this.facetPaginationStep,r=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(s=>{r[s.name]||(r[s.name]=a)}),e.map(s=>({...s,values:s.values.slice(0,r[s.name]),showingAllFacets:s.values.length<=r[s.name],hasMoreFacets:s.values.length>a}))}generateTemplateData(e){if(this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;return this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(a=>{var s;const r=(s=this.dataLayer.searchFacets)==null?void 0:s.find(i=>i.name===a.name);return r?{...a,values:a.values.map(i=>{const n=r.values.find(l=>i.type==="range"?!1:i.type==="checkbox"?l.value===i.value:!1);return{...i,disabled:!n}})}:{...a,values:a.values.map(i=>({...i,disabled:!0}))}}))),{facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data}}else return{facets:[],...this.dataLayer.parsedData.data}}overrideFacetEvents(){}createFacetItem(e,t,a){var l,o,u,d,p,m,S,f,C,v,b,R;const r=document.createElement("div");r.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||r.classList.add("active");const s=((u=(o=(l=this.config)==null?void 0:l.templates)==null?void 0:o.facetItemContainerTemplate)==null?void 0:u.template)||((d=g.facets.facetItemContainerTemplate)==null?void 0:d.template);r.innerHTML=y.render(s,e),t.appendChild(r);const i=r.querySelector("."+(((S=(m=(p=this.config)==null?void 0:p.templates)==null?void 0:m.facetItemContainerTemplate)==null?void 0:S.facetListTitleContainerClass)||((f=g.facets.facetItemContainerTemplate)==null?void 0:f.facetListTitleContainerClass)));i==null||i.addEventListener("click",()=>{r.classList.toggle("active")});const n=r.querySelector("."+(((b=(v=(C=this.config)==null?void 0:C.templates)==null?void 0:v.facetItemContainerTemplate)==null?void 0:b.facetListContainerClass)||((R=g.facets.facetItemContainerTemplate)==null?void 0:R.facetListContainerClass)));n&&(e.values.forEach(P=>{this.createFacetListItem(P,n)}),e.hasMoreFacets&&this.createHasMoreComponent(e,n,a))}createFacetListItem(e,t){var l,o,u,d,p,m,S,f,C,v,b,R,P,T;const a=document.createElement("div");a.classList.add("searchstax-facet-value-container"),e.disabled&&a.classList.add("searchstax-facet-value-disabled");const s=!!((l=this.dataLayer.searchObject.facets)!=null&&l.find(w=>w===this.extractFacetValue(e))),i=((d=(u=(o=this.config)==null?void 0:o.templates)==null?void 0:u.facetItemTemplate)==null?void 0:d.template)||((p=g.facets.facetItemTemplate)==null?void 0:p.template);a.innerHTML=y.render(i,{...e,isChecked:s});let n=(m=g.facets.facetItemTemplate)==null?void 0:m.checkTriggerClasses;n=((C=(f=(S=this.config)==null?void 0:S.templates)==null?void 0:f.facetItemTemplate)==null?void 0:C.checkTriggerClasses)||n,n.forEach(w=>{var A;(A=a.querySelector("."+w))==null||A.addEventListener("click",k=>{this.onFacetSelect(k,e,a)})}),(T=a.querySelector("."+(((R=(b=(v=this.config)==null?void 0:v.templates)==null?void 0:b.facetItemTemplate)==null?void 0:R.inputCheckboxClass)||((P=g.facets.facetItemTemplate)==null?void 0:P.inputCheckboxClass))))==null||T.addEventListener("click",w=>{this.onFacetSelect(w,e,a,!0)}),t.appendChild(a)}createHasMoreComponent(e,t,a){var n,l,o,u,d,p,m,S;const r=document.createElement("div");r.classList.add("searchstax-facet-show-more-container");const s=((o=(l=(n=this.config)==null?void 0:n.templates)==null?void 0:l.showMoreButtonContainerTemplate)==null?void 0:o.template)||((u=g.facets.showMoreButtonContainerTemplate)==null?void 0:u.template);r.innerHTML=y.render(s,e);const i=r.querySelector("."+(((m=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.showMoreButtonContainerTemplate)==null?void 0:m.showMoreButtonClass)||((S=g.facets.showMoreButtonContainerTemplate)==null?void 0:S.showMoreButtonClass)));i&&(this.attachOnclickToShowMore(e,i,a),t&&t.appendChild(i))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",r=>{this.onShowMoreLessClick(r,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const r=a?this.facetPaginationStepMobile:this.facetPaginationStep,s=a?this.facetLimits:this.facetLimitsMobile;s[t.name]===void 0?s[t.name]=r*2:s[t.name]<=t.values.length?s[t.name]=s[t.name]+r:s[t.name]=r,this.renderMainTemplate(this.generateTemplateData(),!0)}renderMainTemplate(e,t){var a,r,s,i,n,l,o,u,d,p,m;if((JSON.stringify(this.renderedDataCache.results)!==JSON.stringify(e.results)||t)&&(this.renderedDataCache=e.results,e)){const S=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplateDesktop)==null?void 0:s.template)||((i=g.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===L.mustache){this.searchFacetsMainContainer.innerHTML=y.render(S,{...e});const f=(u=this.searchFacetsMainContainer)==null?void 0:u.querySelector("."+(((o=(l=(n=this.config)==null?void 0:n.templates)==null?void 0:l.mainTemplateDesktop)==null?void 0:o.facetsContainerClass)||g.facets.mainTemplateDesktop.facetsContainerClass));if(f){f.innerHTML="";for(const C of e.facets)this.createFacetItem(C,f);if(this.searchFacetsMainContainer){const C=this.searchFacetsMainContainer.querySelector("."+(((m=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplateDesktop)==null?void 0:m.selectedFacetsContainerClass)||g.facets.mainTemplateDesktop.selectedFacetsContainerClass));C&&(this.createSelectedFacetsComponents(C),this.createClearFacetsComponents(C))}}this.renderMobileTemplate(this.generateTemplateData(!0))}}}createSelectedFacetsComponents(e){const t=this.dataLayer.searchObject.facets;for(const a of t){const r=decodeURIComponent(a).split(":")[0],s=decodeURIComponent(a).split(":")[1];if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,n=i==null?void 0:i.find(l=>l.name===r);if(n){const l=n.values.find(o=>o.type==="range"?!1:o.type==="checkbox"?`"${o.value}"`===s:!1);l&&this.createSelectedFacetsComponent(e,l)}}}}createClearFacetsComponents(e){var i,n,l,o,u,d,p,m;const t=this.dataLayer.searchObject,a=((l=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.clearFacetsTemplate)==null?void 0:l.template)||((o=g.facets.clearFacetsTemplate)==null?void 0:o.template),r=document.createElement("div");r.innerHTML=y.render(a,{shouldShow:t.facets.length>0});const s=r.querySelector("."+(((p=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.clearFacetsTemplate)==null?void 0:p.containerClass)||((m=g.facets.clearFacetsTemplate)==null?void 0:m.containerClass)));s&&(s.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(s))}createSelectedFacetsComponent(e,t){var i,n,l,o,u,d,p,m;const a=((l=(n=(i=this.config)==null?void 0:i.templates)==null?void 0:n.selectedFacetsTemplate)==null?void 0:l.template)||((o=g.facets.selectedFacetsTemplate)==null?void 0:o.template),r=document.createElement("div");r.innerHTML=y.render(a,t);const s=r.querySelector("."+(((p=(d=(u=this.config)==null?void 0:u.templates)==null?void 0:d.selectedFacetsTemplate)==null?void 0:p.containerClass)||((m=g.facets.selectedFacetsTemplate)==null?void 0:m.containerClass)));s&&(s.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(s))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(r=>r!==this.extractFacetValue(e))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a})},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var s,i,n,l,o,u,d,p;const t=((n=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.filterByTemplate)==null?void 0:n.template)||((l=g.facets.filterByTemplate)==null?void 0:l.template),a=document.createElement("div");a.innerHTML=y.render(t,{});const r=a.querySelector("."+(((d=(u=(o=this.config)==null?void 0:o.templates)==null?void 0:u.filterByTemplate)==null?void 0:d.containerClass)||((p=g.facets.filterByTemplate)==null?void 0:p.containerClass)));r&&(e.prepend(r),r.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,r,s,i,n,l,o,u,d,p,m,S,f,C,v,b,R,P;if(e){const T=document.createElement("div");T.classList.add("searchstax-facets-container-mobile");const w=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:r.template)||((s=g.facets.mainTemplateMobile)==null?void 0:s.template);if(this.dataLayer.renderingEngine===L.mustache){if(T.innerHTML=y.render(w,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(T),(l=(n=this.config)==null?void 0:n.templates)!=null&&l.mainTemplateMobile)for(const j of((d=(u=(o=this.config)==null?void 0:o.templates)==null?void 0:u.mainTemplateMobile)==null?void 0:d.closeOverlayTriggerClasses)||[]){const D=T.querySelector("."+j);D&&D.addEventListener("click",this.closeOverlay.bind(this))}else for(const j of g.facets.mainTemplateMobile.closeOverlayTriggerClasses){const D=T.querySelector("."+j);D&&D.addEventListener("click",this.closeOverlay.bind(this))}const A=T.querySelector("."+(((S=(m=(p=this.config)==null?void 0:p.templates)==null?void 0:m.mainTemplateMobile)==null?void 0:S.filterByContainerClass)||g.facets.mainTemplateMobile.filterByContainerClass));A&&this.createFilterByComponent(A);const k=T.querySelector("."+(((v=(C=(f=this.config)==null?void 0:f.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:v.selectedFacetsContainerClass)||g.facets.mainTemplateMobile.selectedFacetsContainerClass));k&&(this.createSelectedFacetsComponents(k),this.createClearFacetsComponents(k));const N=T.querySelector("."+(((P=(R=(b=this.config)==null?void 0:b.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:P.facetsContainerClass)||g.facets.mainTemplateMobile.facetsContainerClass));if(N){N.innerHTML="";for(const j of e.facets)this.createFacetItem(j,N,!0)}}}}}class Ce{constructor(e){c(this,"dataLayer");c(this,"config");c(this,"containerId");c(this,"previousButtonClass");c(this,"nextButtonClass");c(this,"routerHelper");c(this,"searchPaginationMainContainer",null);var t,a,r,s,i,n;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.previousButtonClass)??g.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((n=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:n.nextButtonClass)??g.pagination.mainTemplate.nextButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){var e,t;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===Math.ceil((((t=this.dataLayer.searchResultsMetadata)==null?void 0:t.totalResultsValue)??0)/10)}initializeSubscriptions(){this.dataLayer.$searchResultsMetadata.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var e,t;return{...this.dataLayer.parsedData.data,previousPageLink:this.routerHelper.searchObjectToUrl({...this.dataLayer.searchObject,page:((e=this.dataLayer.searchObject)==null?void 0:e.page)-1}),nextPageLink:this.routerHelper.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)+1})}}goToPage(e){const t=this.dataLayer.searchObject;t&&(t.page=e,this.dataLayer.setSearchObject(t)),window.scrollTo(0,0)}nextPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var a,r,s,i,n,l;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(r=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||r.removeEventListener("click",this.nextPage));const t=((n=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:n.template)||((l=g.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.renderingEngine===L.mustache&&(this.searchPaginationMainContainer.innerHTML=y.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class ve{constructor(e){c(this,"dataLayer");c(this,"config");c(this,"suggestAfterMinChars");c(this,"containerId");c(this,"currentInputValue","");c(this,"autosuggestResults");c(this,"searchInput");c(this,"actionButton");c(this,"autosuggestContainer");c(this,"buttonState","search");c(this,"selectedAutosuggestItem",-1);c(this,"suggestTrigger");c(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var s,i,n,l;const e=document.getElementById(this.containerId);if(!e)throw new Error("Search input container not found");const t=((i=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:i.template)||g.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===L.mustache){const o=y.render(t,{});e.innerHTML=o}const a=((l=(n=this.config.templates)==null?void 0:n.mainTemplate)==null?void 0:l.searchInputId)||g.searchInput.mainTemplate.searchInputId,r=document.querySelector(`#${a}`);if(r)this.searchInput=r,r.addEventListener("keyup",this.inputKeyupEvent.bind(this)),r.addEventListener("blur",this.hideAutosuggest.bind(this)),r.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer)}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return e.replace(/(<([^>]+)>)/gi,"").trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var r,s,i;const t=document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{var n;this.selectedAutosuggestItem=((n=this.autosuggestResults)==null?void 0:n.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()});const a=((s=(r=this.config.templates)==null?void 0:r.autosuggestItemTemplate)==null?void 0:s.template)||((i=g.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=y.render(a,e),t}appendSuggestions(e){if(this.autosuggestContainer){this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden");for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const a=e.suggest[t];for(const r in a)if(Object.prototype.hasOwnProperty.call(a,r)){const s=a[r];this.autosuggestResults=s,s.numFound>0?s.suggestions.forEach(i=>{this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer.classList.add("hidden")}}}}}class be{constructor(e){c(this,"dataLayer");c(this,"config");c(this,"linkClickCallback");c(this,"searchCallback");c(this,"containerId");c(this,"searchResultsMainContainer");c(this,"searchResultsContainer");c(this,"searchResultLinks",[]);this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId;const t=document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,r,s,i,n;const e=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.noSearchResultTemplate)==null?void 0:s.template)||((i=g.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((n=this.dataLayer.searchResultsMetadata)==null?void 0:n.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===L.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=y.render(e,{spellingSuggestion:t,searchTerm:this.dataLayer.searchTerm})),t&&this.searchResultsContainer){const l=this.searchResultsContainer.querySelector("a");l&&l.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,r,s;if(this.dataLayer.renderingEngine===L.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const i=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:r.template)||((s=g.searchResults.searchResultTemplate)==null?void 0:s.template),n=e.map(l=>y.render(i,l));this.searchResultsContainer.innerHTML=n.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,a,r;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((r=g.searchResults.searchResultTemplate)==null?void 0:r.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var t,a,r,s;const e=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.template)||((s=g.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===L.mustache&&(this.searchResultsMainContainer.innerHTML=y.render(e,{})),setTimeout(()=>{var l,o,u,d,p,m,S;const i=(u=(o=(l=this.config)==null?void 0:l.templates)==null?void 0:o.mainTemplate)!=null&&u.searchResultsContainerId?(m=(p=(d=this.config)==null?void 0:d.templates)==null?void 0:p.mainTemplate)==null?void 0:m.searchResultsContainerId:(S=g.searchResults.mainTemplate)==null?void 0:S.searchResultsContainerId,n=document.getElementById(i);if(n)this.searchResultsContainer=n;else throw new Error(`Search Results Container with id ${i} not found`)},0)}}class Le{constructor(e=L.mustache){c(this,"routerEnabled",!1);c(this,"routerHelper");c(this,"searchHelper");c(this,"searchInputConfig");c(this,"searchResultsConfig");c(this,"searchPaginationConfig");c(this,"searchFeedbackConfig");c(this,"searchSortingConfig");c(this,"searchFacetsConfig");c(this,"relatedSearchesConfig");c(this,"externalPromotionsConfig");c(this,"searchInputWidget");c(this,"searchResultsWidget");c(this,"searchFacetsWidget");c(this,"searchPaginationWidget");c(this,"dataLayer",new Q(G.getOrSetCookie("searchstax_session_id")));c(this,"firstRequest",!0);e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=L.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.searchInputConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.searchInputConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{a.query!==void 0&&this.search(a)}),this.dataLayer.$searchResultsMetadata.subscribe(()=>{this.dataLayer.searchResultsMetadata&&O.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t;this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new J({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),(t=e.router)!=null&&t.enabled?(this.routerEnabled=!0,this.routerHelper=new K(e.router),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new K({})}search(e){var t;if(this.searchHelper&&e.query!==""){const a=((t=this.searchFacetsConfig)==null?void 0:t.facetingType)==="or";this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,a),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var s;const a=(((s=e.response)==null?void 0:s.docs)??[]).map((i,n)=>({...i,position:n+1})),r=[];for(const i of a)r.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&O.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:r}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){this.routerEnabled&&this.routerHelper.updateUrl(this.dataLayer.searchObject)}parseSearchResultsResponse(e){var r,s;this.handleRouter();let t=q.combineResultsWithMetadata(e),a=q.extractFacets(e);this.dataLayer.setSearchFacets(a),(s=(r=this.searchInputConfig)==null?void 0:r.hooks)!=null&&s.afterSearch&&(t=this.searchInputConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]),this.dataLayer.setSearchResults(t),this.dataLayer.setSearchResultsMetadata(q.extractSearchResultsMetadata(e))}cacheFacets(){this.searchHelper&&this.searchHelper.search({query:this.dataLayer.searchObject.query??"*",page:1,order:"",facets:[],additionalProps:[]},this.cacheFacetsCallback.bind(this))}cacheFacetsCallback(e){let t=q.extractFacets(e);this.dataLayer.setSearchFacetsCached(t)}parseSuggestSuggestResponse(e){var a,r;let t=e;(r=(a=this.searchInputConfig)==null?void 0:a.hooks)!=null&&r.afterAutosuggest&&(t=this.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.searchInputConfig||(this.searchInputConfig=t,this.searchInputWidget=new ve({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new be({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 Ce({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new ye({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e){var s,i,n,l;const t={...this.dataLayer.searchObject};t.query=e,t.page=1;let a=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(t);a&&(a=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(a)),a&&(t.additionalProps=Object.keys(a).map(o=>a?{name:o,value:a[o]}:{name:"",value:""}));let r=t;(l=(n=this.searchInputConfig)==null?void 0:n.hooks)!=null&&l.beforeSearch&&r&&(r=this.searchInputConfig.hooks.beforeSearch(r)),r&&this.dataLayer.setSearchObject(r)}executeSuggest(e){var a,r;let t={term:e,queryParams:[]};(r=(a=this.searchInputConfig)==null?void 0:a.hooks)!=null&&r.beforeAutosuggest&&(t=this.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&&O.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,r;let t=q.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((r=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&r.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&O.trackClick({result:t,...this.dataLayer.parsedData.trackingData}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}changeResultTemplate(e){var t,a,r;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(r=this.searchResultsWidget)==null||r.changeTemplate())}}F.Searchstax=Le,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxJs"]=this["@searchstaxInc/searchstudioUxJs"]||{});
@@ -1,8 +1,8 @@
1
- var _ = Object.defineProperty;
2
- var Q = (l, e, t) => e in l ? _(l, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : l[e] = t;
3
- var c = (l, e, t) => (Q(l, typeof e != "symbol" ? e + "" : e, t), t);
1
+ var W = Object.defineProperty;
2
+ var _ = (l, e, t) => e in l ? W(l, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : l[e] = t;
3
+ var c = (l, e, t) => (_(l, typeof e != "symbol" ? e + "" : e, t), t);
4
4
  var w = /* @__PURE__ */ ((l) => (l[l.mustache = 0] = "mustache", l[l.vue = 1] = "vue", l[l.react = 2] = "react", l))(w || {});
5
- class z {
5
+ class Q {
6
6
  constructor(e) {
7
7
  c(this, "dataLayer");
8
8
  this.dataLayer = e;
@@ -125,7 +125,7 @@ class I {
125
125
  this.observers.forEach((e) => e(this.value));
126
126
  }
127
127
  }
128
- class G {
128
+ class z {
129
129
  constructor(e) {
130
130
  c(this, "$searchTermChange", new I(""));
131
131
  c(this, "$loadingChange", new I(!1));
@@ -147,7 +147,7 @@ class G {
147
147
  c(this, "$language", new I("en"));
148
148
  c(this, "currentPageValue", 1);
149
149
  c(this, "renderingEngineValue", w.mustache);
150
- c(this, "parsedData", new z(this));
150
+ c(this, "parsedData", new Q(this));
151
151
  c(this, "sessionId");
152
152
  this.sessionId = e;
153
153
  }
@@ -338,13 +338,13 @@ class q {
338
338
  return s === void 0 ? null : typeof s == "string" ? s : Array.isArray(s) ? s.join(", ") : null;
339
339
  }
340
340
  }
341
- class N {
341
+ class U {
342
342
  constructor(e) {
343
343
  c(this, "routeName", "searchstax");
344
344
  c(this, "ignoredKeys", []);
345
345
  c(this, "queryStringHelper");
346
346
  c(this, "titleParser");
347
- e.routeName && (this.routeName = e.routeName), e.ignoredKeys && (this.ignoredKeys = e.ignoredKeys), e.title && (this.titleParser = e.title), this.queryStringHelper = new J(this.routeName);
347
+ e.routeName && (this.routeName = e.routeName), e.ignoredKeys && (this.ignoredKeys = e.ignoredKeys), e.title && (this.titleParser = e.title), this.queryStringHelper = new G(this.routeName);
348
348
  }
349
349
  updateUrl(e) {
350
350
  const t = this.searchObjectToUrl(e);
@@ -389,7 +389,7 @@ class N {
389
389
  };
390
390
  }
391
391
  }
392
- class J {
392
+ class G {
393
393
  constructor(e) {
394
394
  c(this, "routeName", "");
395
395
  c(this, "stringify", (e, t) => {
@@ -421,7 +421,7 @@ class J {
421
421
  return e.indexOf("?") !== -1;
422
422
  }
423
423
  }
424
- class X {
424
+ class J {
425
425
  constructor(e, t) {
426
426
  c(this, "url", "");
427
427
  c(this, "relatedSearches", "");
@@ -527,7 +527,7 @@ class X {
527
527
  return "&" + t.join("&");
528
528
  }
529
529
  }
530
- class Y {
530
+ class X {
531
531
  static getOrSetCookie(e) {
532
532
  let t = this.getCookie(e);
533
533
  return t == null && (t = this.makeid(25), this.setCookie(e, t, {
@@ -622,38 +622,37 @@ class O {
622
622
  }
623
623
  //@ts-ignore
624
624
  c(O, "msq", window._msq || []);
625
- var B = /* @__PURE__ */ ((l) => (l[l.and = 0] = "and", l[l.or = 1] = "or", l[l.showUnavailable = 2] = "showUnavailable", l))(B || {});
626
625
  /*!
627
626
  * mustache.js - Logic-less {{mustache}} templates with JavaScript
628
627
  * http://github.com/janl/mustache.js
629
628
  */
630
- var Z = Object.prototype.toString, A = Array.isArray || function(e) {
631
- return Z.call(e) === "[object Array]";
629
+ var Y = Object.prototype.toString, A = Array.isArray || function(e) {
630
+ return Y.call(e) === "[object Array]";
632
631
  };
633
- function U(l) {
632
+ function $(l) {
634
633
  return typeof l == "function";
635
634
  }
636
- function ee(l) {
635
+ function Z(l) {
637
636
  return A(l) ? "array" : typeof l;
638
637
  }
639
- function $(l) {
638
+ function D(l) {
640
639
  return l.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
641
640
  }
642
- function K(l, e) {
641
+ function N(l, e) {
643
642
  return l != null && typeof l == "object" && e in l;
644
643
  }
645
- function te(l, e) {
644
+ function ee(l, e) {
646
645
  return l != null && typeof l != "object" && l.hasOwnProperty && l.hasOwnProperty(e);
647
646
  }
648
- var ae = RegExp.prototype.test;
649
- function se(l, e) {
650
- return ae.call(l, e);
647
+ var te = RegExp.prototype.test;
648
+ function ae(l, e) {
649
+ return te.call(l, e);
651
650
  }
652
- var re = /\S/;
653
- function ie(l) {
654
- return !se(re, l);
651
+ var se = /\S/;
652
+ function re(l) {
653
+ return !ae(se, l);
655
654
  }
656
- var ne = {
655
+ var ie = {
657
656
  "&": "&amp;",
658
657
  "<": "&lt;",
659
658
  ">": "&gt;",
@@ -663,13 +662,13 @@ var ne = {
663
662
  "`": "&#x60;",
664
663
  "=": "&#x3D;"
665
664
  };
666
- function ce(l) {
665
+ function ne(l) {
667
666
  return String(l).replace(/[&<>"'`=\/]/g, function(t) {
668
- return ne[t];
667
+ return ie[t];
669
668
  });
670
669
  }
671
- var le = /\s*/, he = /\s+/, W = /\s*=/, oe = /\s*\}/, ue = /#|\^|\/|>|\{|&|=|!/;
672
- function de(l, e) {
670
+ var ce = /\s*/, le = /\s+/, K = /\s*=/, he = /\s*\}/, oe = /#|\^|\/|>|\{|&|=|!/;
671
+ function ue(l, e) {
673
672
  if (!l)
674
673
  return [];
675
674
  var t = !1, a = [], r = [], s = [], i = !1, n = !1, h = "", o = 0;
@@ -683,19 +682,19 @@ function de(l, e) {
683
682
  }
684
683
  var d, p, m;
685
684
  function L(S) {
686
- if (typeof S == "string" && (S = S.split(he, 2)), !A(S) || S.length !== 2)
685
+ if (typeof S == "string" && (S = S.split(le, 2)), !A(S) || S.length !== 2)
687
686
  throw new Error("Invalid tags: " + S);
688
- d = new RegExp($(S[0]) + "\\s*"), p = new RegExp("\\s*" + $(S[1])), m = new RegExp("\\s*" + $("}" + S[1]));
687
+ d = new RegExp(D(S[0]) + "\\s*"), p = new RegExp("\\s*" + D(S[1])), m = new RegExp("\\s*" + D("}" + S[1]));
689
688
  }
690
689
  L(e || y.tags);
691
- for (var f = new j(l), C, v, b, k, R, T; !f.eos(); ) {
690
+ for (var f = new V(l), C, v, b, k, R, T; !f.eos(); ) {
692
691
  if (C = f.pos, b = f.scanUntil(d), b)
693
692
  for (var P = 0, F = b.length; P < F; ++P)
694
- k = b.charAt(P), ie(k) ? (s.push(r.length), h += k) : (n = !0, t = !0, h += " "), r.push(["text", k, C, C + 1]), C += 1, k === `
693
+ k = b.charAt(P), re(k) ? (s.push(r.length), h += k) : (n = !0, t = !0, h += " "), r.push(["text", k, C, C + 1]), C += 1, k === `
695
694
  ` && (u(), h = "", o = 0, t = !1);
696
695
  if (!f.scan(d))
697
696
  break;
698
- if (i = !0, v = f.scan(ue) || "name", f.scan(le), v === "=" ? (b = f.scanUntil(W), f.scan(W), f.scanUntil(p)) : v === "{" ? (b = f.scanUntil(m), f.scan(oe), f.scanUntil(p), v = "&") : b = f.scanUntil(p), !f.scan(p))
697
+ if (i = !0, v = f.scan(oe) || "name", f.scan(ce), v === "=" ? (b = f.scanUntil(K), f.scan(K), f.scanUntil(p)) : v === "{" ? (b = f.scanUntil(m), f.scan(he), f.scanUntil(p), v = "&") : b = f.scanUntil(p), !f.scan(p))
699
698
  throw new Error("Unclosed tag at " + f.pos);
700
699
  if (v == ">" ? R = [v, b, C, f.pos, h, o, t] : R = [v, b, C, f.pos], o++, r.push(R), v === "#" || v === "^")
701
700
  a.push(R);
@@ -709,14 +708,14 @@ function de(l, e) {
709
708
  }
710
709
  if (u(), T = a.pop(), T)
711
710
  throw new Error('Unclosed section "' + T[1] + '" at ' + f.pos);
712
- return pe(ge(r));
711
+ return ge(de(r));
713
712
  }
714
- function ge(l) {
713
+ function de(l) {
715
714
  for (var e = [], t, a, r = 0, s = l.length; r < s; ++r)
716
715
  t = l[r], t && (t[0] === "text" && a && a[0] === "text" ? (a[1] += t[1], a[3] = t[3]) : (e.push(t), a = t));
717
716
  return e;
718
717
  }
719
- function pe(l) {
718
+ function ge(l) {
720
719
  for (var e = [], t = e, a = [], r, s, i = 0, n = l.length; i < n; ++i)
721
720
  switch (r = l[i], r[0]) {
722
721
  case "#":
@@ -731,20 +730,20 @@ function pe(l) {
731
730
  }
732
731
  return e;
733
732
  }
734
- function j(l) {
733
+ function V(l) {
735
734
  this.string = l, this.tail = l, this.pos = 0;
736
735
  }
737
- j.prototype.eos = function() {
736
+ V.prototype.eos = function() {
738
737
  return this.tail === "";
739
738
  };
740
- j.prototype.scan = function(e) {
739
+ V.prototype.scan = function(e) {
741
740
  var t = this.tail.match(e);
742
741
  if (!t || t.index !== 0)
743
742
  return "";
744
743
  var a = t[0];
745
744
  return this.tail = this.tail.substring(a.length), this.pos += a.length, a;
746
745
  };
747
- j.prototype.scanUntil = function(e) {
746
+ V.prototype.scanUntil = function(e) {
748
747
  var t = this.tail.search(e), a;
749
748
  switch (t) {
750
749
  case -1:
@@ -772,9 +771,9 @@ M.prototype.lookup = function(e) {
772
771
  for (var r = this, s, i, n, h = !1; r; ) {
773
772
  if (e.indexOf(".") > 0)
774
773
  for (s = r.view, i = e.split("."), n = 0; s != null && n < i.length; )
775
- n === i.length - 1 && (h = K(s, i[n]) || te(s, i[n])), s = s[i[n++]];
774
+ n === i.length - 1 && (h = N(s, i[n]) || ee(s, i[n])), s = s[i[n++]];
776
775
  else
777
- s = r.view[e], h = K(r.view, e);
776
+ s = r.view[e], h = N(r.view, e);
778
777
  if (h) {
779
778
  a = s;
780
779
  break;
@@ -783,7 +782,7 @@ M.prototype.lookup = function(e) {
783
782
  }
784
783
  t[e] = a;
785
784
  }
786
- return U(a) && (a = a.call(this.view)), a;
785
+ return $(a) && (a = a.call(this.view)), a;
787
786
  };
788
787
  function x() {
789
788
  this.templateCache = {
@@ -804,7 +803,7 @@ x.prototype.clearCache = function() {
804
803
  };
805
804
  x.prototype.parse = function(e, t) {
806
805
  var a = this.templateCache, r = e + ":" + (t || y.tags).join(":"), s = typeof a < "u", i = s ? a.get(r) : void 0;
807
- return i == null && (i = de(e, t), s && a.set(r, i)), i;
806
+ return i == null && (i = ue(e, t), s && a.set(r, i)), i;
808
807
  };
809
808
  x.prototype.render = function(e, t, a, r) {
810
809
  var s = this.getConfigTags(r), i = this.parse(e, s), n = t instanceof M ? t : new M(t, void 0);
@@ -826,7 +825,7 @@ x.prototype.renderSection = function(e, t, a, r, s) {
826
825
  n += this.renderTokens(e[4], t.push(h[u]), a, r, s);
827
826
  else if (typeof h == "object" || typeof h == "string" || typeof h == "number")
828
827
  n += this.renderTokens(e[4], t.push(h), a, r, s);
829
- else if (U(h)) {
828
+ else if ($(h)) {
830
829
  if (typeof r != "string")
831
830
  throw new Error("Cannot use higher-order sections without the original template");
832
831
  h = h.call(t.view, r.slice(e[3], e[5]), o), h != null && (n += h);
@@ -849,7 +848,7 @@ x.prototype.indentPartial = function(e, t, a) {
849
848
  };
850
849
  x.prototype.renderPartial = function(e, t, a, r) {
851
850
  if (a) {
852
- var s = this.getConfigTags(r), i = U(a) ? a(e[1]) : a[e[1]];
851
+ var s = this.getConfigTags(r), i = $(a) ? a(e[1]) : a[e[1]];
853
852
  if (i != null) {
854
853
  var n = e[6], h = e[5], o = e[4], u = i;
855
854
  h == 0 && o && (u = this.indentPartial(i, o, n));
@@ -895,31 +894,31 @@ var y = {
895
894
  * the cache by setting it to the literal `undefined`.
896
895
  */
897
896
  set templateCache(l) {
898
- V.templateCache = l;
897
+ B.templateCache = l;
899
898
  },
900
899
  /**
901
900
  * Gets the default or overridden caching object from the default writer.
902
901
  */
903
902
  get templateCache() {
904
- return V.templateCache;
903
+ return B.templateCache;
905
904
  }
906
- }, V = new x();
905
+ }, B = new x();
907
906
  y.clearCache = function() {
908
- return V.clearCache();
907
+ return B.clearCache();
909
908
  };
910
909
  y.parse = function(e, t) {
911
- return V.parse(e, t);
910
+ return B.parse(e, t);
912
911
  };
913
912
  y.render = function(e, t, a, r) {
914
913
  if (typeof e != "string")
915
- throw new TypeError('Invalid template! Template should be a "string" but "' + ee(e) + '" was given as the first argument for mustache#render(template, view, partials)');
916
- return V.render(e, t, a, r);
914
+ throw new TypeError('Invalid template! Template should be a "string" but "' + Z(e) + '" was given as the first argument for mustache#render(template, view, partials)');
915
+ return B.render(e, t, a, r);
917
916
  };
918
- y.escape = ce;
919
- y.Scanner = j;
917
+ y.escape = ne;
918
+ y.Scanner = V;
920
919
  y.Context = M;
921
920
  y.Writer = x;
922
- const fe = {
921
+ const pe = {
923
922
  mainTemplateDesktop: {
924
923
  template: `
925
924
  {{#hasResultsOrExternalPromotions}}
@@ -1023,7 +1022,7 @@ const fe = {
1023
1022
  `,
1024
1023
  containerClass: "searchstax-facets-pill-facets"
1025
1024
  }
1026
- }, me = {
1025
+ }, fe = {
1027
1026
  mainTemplate: {
1028
1027
  template: `
1029
1028
  {{#results.length}}
@@ -1041,7 +1040,7 @@ const fe = {
1041
1040
  nextButtonClass: "searchstax-pagination-next",
1042
1041
  previousButtonClass: "searchstax-pagination-previous"
1043
1042
  }
1044
- }, ye = {
1043
+ }, me = {
1045
1044
  mainTemplate: {
1046
1045
  template: `
1047
1046
  <div class="searchstax-search-input-container">
@@ -1058,7 +1057,7 @@ const fe = {
1058
1057
  <div class="searchstax-autosuggest-item-term-container">{{{term}}}</div>
1059
1058
  `
1060
1059
  }
1061
- }, Ce = {
1060
+ }, ye = {
1062
1061
  mainTemplate: {
1063
1062
  template: `
1064
1063
  <div class="searchstax-search-results-container">
@@ -1137,8 +1136,8 @@ const fe = {
1137
1136
  };
1138
1137
  class g {
1139
1138
  }
1140
- c(g, "facets", fe), c(g, "pagination", me), c(g, "searchInput", ye), c(g, "searchResults", Ce);
1141
- class ve {
1139
+ c(g, "facets", pe), c(g, "pagination", fe), c(g, "searchInput", me), c(g, "searchResults", ye);
1140
+ class Ce {
1142
1141
  constructor(e, t) {
1143
1142
  c(this, "dataLayer");
1144
1143
  c(this, "config");
@@ -1173,10 +1172,10 @@ class ve {
1173
1172
  this.dataLayer = e.dataLayer, this.config = e.config, this.containerId = e.containerId, this.routerHelper = e.routerHelper, this.cacheFacets = t, this.facetPaginationStep = this.config.itemsPerPageDesktop, this.facetPaginationStepMobile = this.config.itemsPerPageMobile, this.searchFacetsMainContainer = document.getElementById(this.containerId), this.needCache && t(), this.initializeSubscriptions(), this.renderMainTemplate(this.generateTemplateData());
1174
1173
  }
1175
1174
  get needCache() {
1176
- return this.config.facetingType === B.showUnavailable || this.config.facetingType === B.or;
1175
+ return this.config.facetingType === "showUnavailable" || this.config.facetingType === "or";
1177
1176
  }
1178
1177
  get needDisabling() {
1179
- return this.config.facetingType === B.showUnavailable;
1178
+ return this.config.facetingType === "showUnavailable";
1180
1179
  }
1181
1180
  initializeSubscriptions() {
1182
1181
  this.needCache && this.dataLayer.$searchFacetsCached.subscribe((e) => {
@@ -1439,19 +1438,19 @@ class ve {
1439
1438
  "." + (((v = (C = (f = this.config) == null ? void 0 : f.templates) == null ? void 0 : C.mainTemplateMobile) == null ? void 0 : v.selectedFacetsContainerClass) || g.facets.mainTemplateMobile.selectedFacetsContainerClass)
1440
1439
  );
1441
1440
  S && (this.createSelectedFacetsComponents(S), this.createClearFacetsComponents(S));
1442
- const D = T.querySelector(
1441
+ const j = T.querySelector(
1443
1442
  "." + (((R = (k = (b = this.config) == null ? void 0 : b.templates) == null ? void 0 : k.mainTemplateMobile) == null ? void 0 : R.facetsContainerClass) || g.facets.mainTemplateMobile.facetsContainerClass)
1444
1443
  );
1445
- if (D) {
1446
- D.innerHTML = "";
1444
+ if (j) {
1445
+ j.innerHTML = "";
1447
1446
  for (const E of e.facets)
1448
- this.createFacetItem(E, D, !0);
1447
+ this.createFacetItem(E, j, !0);
1449
1448
  }
1450
1449
  }
1451
1450
  }
1452
1451
  }
1453
1452
  }
1454
- class be {
1453
+ class ve {
1455
1454
  constructor(e) {
1456
1455
  c(this, "dataLayer");
1457
1456
  c(this, "config");
@@ -1517,7 +1516,7 @@ class be {
1517
1516
  }, 0));
1518
1517
  }
1519
1518
  }
1520
- class Le {
1519
+ class be {
1521
1520
  constructor(e) {
1522
1521
  c(this, "dataLayer");
1523
1522
  c(this, "config");
@@ -1681,7 +1680,7 @@ class Le {
1681
1680
  }
1682
1681
  }
1683
1682
  }
1684
- class Te {
1683
+ class Le {
1685
1684
  constructor(e) {
1686
1685
  c(this, "dataLayer");
1687
1686
  c(this, "config");
@@ -1774,7 +1773,7 @@ class Te {
1774
1773
  }, 0);
1775
1774
  }
1776
1775
  }
1777
- class xe {
1776
+ class Se {
1778
1777
  constructor(e = w.mustache) {
1779
1778
  c(this, "routerEnabled", !1);
1780
1779
  c(this, "routerHelper");
@@ -1791,7 +1790,7 @@ class xe {
1791
1790
  c(this, "searchResultsWidget");
1792
1791
  c(this, "searchFacetsWidget");
1793
1792
  c(this, "searchPaginationWidget");
1794
- c(this, "dataLayer", new G(Y.getOrSetCookie("searchstax_session_id")));
1793
+ c(this, "dataLayer", new z(X.getOrSetCookie("searchstax_session_id")));
1795
1794
  c(this, "firstRequest", !0);
1796
1795
  e && this.dataLayer.setRenderingEngine(e), this.handleHooks();
1797
1796
  }
@@ -1813,21 +1812,21 @@ class xe {
1813
1812
  }
1814
1813
  initialize(e) {
1815
1814
  var t;
1816
- this.dataLayer.searchstaxConfig || (this.dataLayer.setSearchstaxConfig(e), this.searchHelper = new X(
1815
+ this.dataLayer.searchstaxConfig || (this.dataLayer.setSearchstaxConfig(e), this.searchHelper = new J(
1817
1816
  { ...e, sessionId: this.dataLayer.sessionId },
1818
1817
  this.dataLayer
1819
- )), (t = e.router) != null && t.enabled ? (this.routerEnabled = !0, this.routerHelper = new N(e.router), this.dataLayer.setSearchObject(
1818
+ )), (t = e.router) != null && t.enabled ? (this.routerEnabled = !0, this.routerHelper = new U(e.router), this.dataLayer.setSearchObject(
1820
1819
  this.routerHelper.urlToSearchObject(window.location.href)
1821
1820
  ), addEventListener("popstate", () => {
1822
1821
  this.routerHelper && this.dataLayer.setSearchObject(
1823
1822
  this.routerHelper.urlToSearchObject(window.location.href)
1824
1823
  );
1825
- })) : this.routerHelper = new N({});
1824
+ })) : this.routerHelper = new U({});
1826
1825
  }
1827
1826
  search(e) {
1828
1827
  var t;
1829
1828
  if (this.searchHelper && e.query !== "") {
1830
- const a = ((t = this.searchFacetsConfig) == null ? void 0 : t.facetingType) === B.or;
1829
+ const a = ((t = this.searchFacetsConfig) == null ? void 0 : t.facetingType) === "or";
1831
1830
  this.searchHelper.search(
1832
1831
  e,
1833
1832
  this.parseSearchResultsResponse.bind(this),
@@ -1900,7 +1899,7 @@ class xe {
1900
1899
  this.searchHelper && this.dataLayer.setLanguage(e);
1901
1900
  }
1902
1901
  addSearchInputWidget(e, t) {
1903
- this.searchInputConfig || (this.searchInputConfig = t, this.searchInputWidget = new Le({
1902
+ this.searchInputConfig || (this.searchInputConfig = t, this.searchInputWidget = new be({
1904
1903
  containerId: e,
1905
1904
  config: t,
1906
1905
  searchTrigger: this.executeSearch.bind(this),
@@ -1909,7 +1908,7 @@ class xe {
1909
1908
  }));
1910
1909
  }
1911
1910
  addSearchResultsWidget(e, t) {
1912
- this.searchResultsConfig || (this.searchResultsConfig = t, this.searchResultsWidget = new Te({
1911
+ this.searchResultsConfig || (this.searchResultsConfig = t, this.searchResultsWidget = new Le({
1913
1912
  containerId: e,
1914
1913
  linkClickCallback: this.executeLinkClick.bind(this),
1915
1914
  searchTrigger: this.executeSearch.bind(this),
@@ -1918,7 +1917,7 @@ class xe {
1918
1917
  }));
1919
1918
  }
1920
1919
  addPaginationWidget(e, t) {
1921
- this.searchPaginationConfig = t, this.searchPaginationWidget = new be({
1920
+ this.searchPaginationConfig = t, this.searchPaginationWidget = new ve({
1922
1921
  containerId: e,
1923
1922
  config: t,
1924
1923
  dataLayer: this.dataLayer,
@@ -1926,7 +1925,7 @@ class xe {
1926
1925
  });
1927
1926
  }
1928
1927
  addFacetsWidget(e, t) {
1929
- this.searchFacetsConfig = t, this.searchFacetsWidget = new ve(
1928
+ this.searchFacetsConfig = t, this.searchFacetsWidget = new Ce(
1930
1929
  {
1931
1930
  containerId: e,
1932
1931
  config: t,
@@ -1977,5 +1976,5 @@ class xe {
1977
1976
  }
1978
1977
  }
1979
1978
  export {
1980
- xe as Searchstax
1979
+ Se as Searchstax
1981
1980
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@searchstax-inc/searchstudio-ux-js",
3
3
  "private": false,
4
- "version": "0.1.3",
4
+ "version": "0.1.5",
5
5
  "files": [
6
6
  "dist"
7
7
  ],