@searchstax-inc/searchstudio-ux-js 0.6.39 → 0.6.49

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 X=Object.defineProperty;var G=(l,e,t)=>e in l?X(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var n=(l,e,t)=>(G(l,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var T=(l=>(l[l.mustache=0]="mustache",l[l.vue=1]="vue",l[l.react=2]="react",l[l.angular=3]="angular",l))(T||{});class Y{constructor(e){n(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(){return this.dataLayer.searchObject.itemsPerPage||0}get sortOptions(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.sorting.options)||[]}get selectedSortOption(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.sorting.selectedSortOption)||""}get startResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+1}get endResultIndex(){var t;const e=(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)*this.resultsPerPage+(this.resultsPerPage??0);return e>this.totalResults?this.totalResults:e}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 percentageOfResultsLoaded(){return this.endResultIndex/this.totalResults*100}get results(){return this.dataLayer.searchResults??[]}get autoCorrectedQuery(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.autoCorrectedQuery)||""}get originalQuery(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.query)||""}get getAnswerData(){return this.dataLayer.getAnswerData||""}get shouldShowAnswer(){return this.isFirstPage&&this.dataLayer.getAnswerData!==""&&this.dataLayer.searchObject.query!=="*"&&this.dataLayer.searchObject.facets.length===0}get searchTerm(){var e,t;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.autoCorrectedQuery)||((t=this.dataLayer.searchObject)==null?void 0:t.query)||""}get searchingEverything(){return this.searchTerm==="*"}get firstSearchHappened(){return this.dataLayer.firstSearchHappened}get isInfiniteScroll(){return this.dataLayer.isInfiniteScroll??!1}get searchExecuted(){var e,t,a;return((e=this.dataLayer.searchObject)==null?void 0:e.query)!==void 0&&((t=this.dataLayer.searchObject)==null?void 0:t.query)!=="undefined"&&((a=this.dataLayer.searchObject)==null?void 0:a.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(r=>{const i=r.name,c=r.value,o=e.find(h=>h.name===i);if(o){const h=o.values.find(u=>u.type==="range"?!1:u.type==="checkbox"?'"'+u.value+'"'===c:!1);if(h)return h}return null}).filter(r=>r!==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!=="undefined"?this.searchTerm:"",autoCorrectedQuery:this.autoCorrectedQuery,originalQuery:this.originalQuery,selectedFacets:this.selectedFacets,searchExecuted:this.searchExecuted,searchingEverything:this.searchingEverything,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,answer:this.getAnswerData,shouldShowAnswer:this.shouldShowAnswer,isInfiniteScroll:this.isInfiniteScroll,percentageOfResultsLoaded:this.percentageOfResultsLoaded,firstSearchHappened:this.firstSearchHappened,sortOptions:this.sortOptions,selectedSortOption:this.selectedSortOption}}get trackingData(){var e,t,a,s;return{searchTerm:this.dataLayer.searchTerm!=="undefined"?this.dataLayer.searchTerm:"",trackApiKey:((e=this.dataLayer.searchstaxConfig)==null?void 0:e.trackApiKey)??"",session:this.dataLayer.sessionIdValue,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:((s=this.dataLayer.searchResultsMetadata)==null?void 0:s.latency)??0}}}class P{static deepEqual(e,t){const a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(const r of a){const i=e[r],c=t[r],o=this.isObject(i)&&this.isObject(c);if(o&&!this.deepEqual(i,c)||!o&&i!==c)return!1}return!0}static isObject(e){return e!=null&&typeof e=="object"}}class S{constructor(e){n(this,"value");n(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 U{static getOrSetCookie(e,t){let a=this.getCookie(e);return a==null&&(a=t??this.makeid(25),this.setCookie(e,a,{secure:!0,"max-age":3600})),a}static deleteCookie(e){this.getCookie(e)&&this.setCookie(e,"",{secure:!0,"max-age":-1})}static makeid(e){let t="";const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=a.length;for(let r=0;r<e;r++)t+=a.charAt(Math.floor(Math.random()*s));return t}static getCookie(e){const t=typeof document<"u"?document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[\]\\/+^])/g,"\\$1")+"=([^;]*)")):null;return t?decodeURIComponent(t[1]):void 0}static setCookie(e,t,a){const s={path:"/",...a};a.expires instanceof Date&&(s.expires=a.expires.toUTCString());let r=encodeURIComponent(e)+"="+encodeURIComponent(t);for(const i in s){r+="; "+i;const c=s[i];c!==!0&&(r+="="+c)}typeof document<"u"&&(document.cookie=r)}}class E{static removeXSSRiskyTags(e){var t="script|style|iframe|object|embed|form|input|button",a=new RegExp("</?("+t+")(\\s[^>]*)?>","gi");return e?e.replace(a,""):""}}class Z{constructor(e,t){n(this,"$searchTermChange",new S(""));n(this,"$loadingChange",new S(!1));n(this,"$searchResults",new S(null));n(this,"$searchResultsMetadata",new S(null));n(this,"$searchAutosuggest",new S(null));n(this,"$searchFacets",new S(null));n(this,"$searchFacetsCached",new S(null));n(this,"$searchstaxConfig",new S(null));n(this,"$autosuggestResults",new S(null));n(this,"$searchObject",new S({query:"",itemsPerPage:null,page:99999999,order:"",facets:[],additionalProps:[]}));n(this,"$searchRelatedSearches",new S(null));n(this,"$searchInputConfig",new S(null));n(this,"$searchExternalPromotions",new S(null));n(this,"$facetsTemplateData",new S(null));n(this,"$selectedFacetsTemplateData",new S(null));n(this,"$paginationData",new S(null));n(this,"$searchFeedbackData",new S(null));n(this,"$searchSortingData",new S(null));n(this,"$searchRelatedSearchesData",new S(null));n(this,"$searchExternalPromotionsData",new S(null));n(this,"$cookiesDisabled",new S(null));n(this,"$answer",new S(""));n(this,"$language",new S("en"));n(this,"currentPageValue",1);n(this,"isAnswerWidgetCreatedValue",!1);n(this,"renderingEngineValue",T.mustache);n(this,"parsedData",new Y(this));n(this,"sessionId");n(this,"sessionIdValue",null);n(this,"autoCorrect",!0);n(this,"forceNotCorrect",!1);n(this,"lastSearchValue","");n(this,"turnAIAnswerGenerationOn",!1);n(this,"isInfiniteScroll",!1);n(this,"firstSearchHappened",!1);n(this,"facetsWereSet",!1);this.sessionId=e,t&&(this.sessionIdValue=t),this.cookieHandlingCallback(t),this.$cookiesDisabled.subscribe(()=>{this.cookieHandlingCallback(t)})}cookieHandlingCallback(e){this.cookiesDisabled?(this.sessionIdValue=null,U.deleteCookie(this.sessionId),U.deleteCookie("ms_visitorid")):this.sessionIdValue=U.getOrSetCookie(this.sessionId,e)}setIsInfiniteScroll(e){this.isInfiniteScroll=e}setSearchTerm(e){this.$searchTermChange.setValue(E.removeXSSRiskyTags(e))}setRenderingEngine(e){this.renderingEngineValue=e}setCurrentPage(e){this.currentPageValue=e}setIsAnswerWidgetCreated(e){this.isAnswerWidgetCreatedValue=e}setLoading(e){this.$loadingChange.setValue(e)}setSearchResults(e){this.firstSearchHappened=!0,(!P.deepEqual(e,this.searchResults??[""])||this.facetsWereSet)&&(this.facetsWereSet=!1,this.$searchResults.setValue(e))}setSearchResultsMetadata(e){P.deepEqual(e,this.searchResultsMetadata??{})||this.$searchResultsMetadata.setValue(e)}setSearchAutosuggest(e){this.$searchAutosuggest.setValue(e)}setSearchObject(e){var a,s;let t=e;(s=(a=this.searchstaxConfig)==null?void 0:a.hooks)!=null&&s.beforeSearch&&t&&(t=this.searchstaxConfig.hooks.beforeSearch(t)),t&&(!P.deepEqual(t,this.searchObject??{})||this.forceNotCorrect)&&this.$searchObject.setValue(t)}setSearchFacets(e){this.facetsWereSet=!0,P.deepEqual(e,this.searchFacets??[])||this.$searchFacets.setValue(e)}setSearchFacetsCached(e){P.deepEqual(e,this.searchFacetsCached??[])||this.$searchFacetsCached.setValue(e)}setSearchRelatedSearches(e){P.deepEqual(e,this.searchRelatedSearches??[])||this.$searchRelatedSearches.setValue(e)}setSearchExternalPromotions(e){P.deepEqual(e,this.searchExternalPromotions??[])||this.$searchExternalPromotions.setValue(e)}setLanguage(e){this.$language.setValue(e)}setSearchstaxConfig(e){this.$searchstaxConfig.setValue(e)}setSearchInputConfig(e){this.$searchInputConfig.setValue(e)}setAutosuggestResults(e){this.$autosuggestResults.setValue(e)}setFacetsTemplateData(e){this.$facetsTemplateData.setValue(e)}setSelectedFacetsTemplateData(e){this.$selectedFacetsTemplateData.setValue(e)}setPaginationData(e){this.$paginationData.setValue(e)}setSearchFeedbackData(e){this.$searchFeedbackData.setValue(e)}setSearchSortingData(e){this.$searchSortingData.setValue(e)}setRelatedSearchesData(e){this.$searchRelatedSearchesData.setValue(e)}setExternalPromotionsData(e){this.$searchExternalPromotionsData.setValue(e)}setCookiesDisabled(e){this.$cookiesDisabled.setValue(e)}setAnswerData(e){this.$answer.setValue(e)}get getAnswerData(){return this.$answer.getValue()}get searchstaxConfig(){return this.$searchstaxConfig.getValue()}get searchFacets(){return this.$searchFacets.getValue()?JSON.parse(JSON.stringify(this.$searchFacets.getValue())):null}get searchFacetsCached(){return this.$searchFacetsCached.getValue()?JSON.parse(JSON.stringify(this.$searchFacetsCached.getValue())):null}get searchResults(){return this.$searchResults.getValue()?JSON.parse(JSON.stringify(this.$searchResults.getValue())):null}get searchTerm(){return this.$searchTermChange.getValue()}get loading(){return this.$loadingChange.getValue()}get searchAutosuggest(){return this.$searchAutosuggest.getValue()}get searchResultsMetadata(){return this.$searchResultsMetadata.getValue()?JSON.parse(JSON.stringify(this.$searchResultsMetadata.getValue())):null}get currentPage(){return this.$searchObject.getValue().page??this.currentPageValue}get isAnswerWidgetCreated(){return this.isAnswerWidgetCreatedValue}get renderingEngine(){return this.renderingEngineValue}get searchObject(){return JSON.parse(JSON.stringify(this.$searchObject.getValue()))}get searchRelatedSearches(){return this.$searchRelatedSearches.getValue()?JSON.parse(JSON.stringify(this.$searchRelatedSearches.getValue())):null}get searchExternalPromotions(){return this.$searchExternalPromotions.getValue()?JSON.parse(JSON.stringify(this.$searchExternalPromotions.getValue())):null}get language(){return this.$language.getValue()}get searchInputConfig(){return this.$searchInputConfig.getValue()}get answerConfig(){return this.$answer.getValue()}get autosuggestResults(){return this.$autosuggestResults.getValue()}get facetsTemplateData(){return this.$facetsTemplateData.getValue()}get selectedFacetsTemplateData(){return this.$selectedFacetsTemplateData.getValue()}get paginationData(){return this.$paginationData.getValue()}get searchFeedbackData(){return this.$searchFeedbackData.getValue()}get searchSortingData(){return this.$searchSortingData.getValue()}get searchRelatedSearchesData(){return this.$searchRelatedSearchesData.getValue()}get searchExternalPromotionsData(){return this.$searchExternalPromotionsData.getValue()}get cookiesDisabled(){return(this.$cookiesDisabled.getValue()??!1)||!navigator.cookieEnabled}}class H{static combineResultsWithMetadata(e){const t=[],a=parseInt(e.response.start+"");return parseInt(e.responseHeader.params.rows),e.response.docs.forEach((s,r)=>{const c={custom:null,uniqueId:s[e.responseHeader.params.uniqueId]??"",position:a+1+r,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(c)}),t}static extractFacets(e){const t=[];if(e.metadata.facets)for(const a of e.metadata.facets){let s={values:[]};if(s.name=a.name,s.label=a.label,a.name in e.facet_counts.facet_fields){const r=e.facet_counts.facet_fields[a.name];for(let i=0;i<r.length;i+=2){const c={};c.value=r[i],c.parentName=s.name,c.count=r[i+1],c.type="checkbox",s.values.push(c)}}s.values.length>0&&t.push(s)}return t}static extractSearchResultsMetadata(e){var r,i,c,o,h,u;let t="",a={selectedSortOption:"",options:[]},s=(r=e.metadata.results.find(p=>p.result_card==="date"))==null?void 0:r.name;if(a.options=[{key:"",value:"Relevance"},{key:s+" desc",value:"Most Recent"}],(i=e.metadata.sorts)!=null&&i.length){const p=e.metadata.sorts.map(d=>({value:d.label,key:d.name+" "+d.order}));a.options=[{key:"",value:"Relevance"},...p]}return t=((u=(h=(o=(c=e==null?void 0:e.spellcheck)==null?void 0:c.suggestions)==null?void 0:o[1])==null?void 0:h.suggestion)==null?void 0:u[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,autoCorrectedQuery:e.responseHeader.params.autoCorrectedQ??"",impressions:this.getImpressions(e),sorting:a}}static getImpressions(e){const t=[],a=this.combineResultsWithMetadata(e);for(const s in a){const r=a[s],i={};i.cDocId=this.getDataForAnalytics(r.uniqueId),r.title&&(i.cDocTitle=this.getDataForAnalytics(r.title)),i.position=r.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(r=>r.result_card==="").map(r=>r.name),s=[];for(const r of Object.keys(e))if(a.indexOf(r)!==-1){const i=Array.isArray(e[r])?e[r].join(", "):e[r];s.push({key:r,value:i,isImage:this.checkIfImage(e[r])})}return s}static checkIfImage(e){return e===void 0?!1:typeof e!="string"?Array.isArray(e)&&e[0]?/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e[0]):!1:/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e)}static getAllFields(e,t){const a=t.metadata.results.map(r=>r.name),s=[];for(const r of Object.keys(e))a.indexOf(r)!==-1&&s.push({key:r,value:e[r],isImage:this.checkIfImage(e[r])});return s}static doesMapExist(e,t){return t.metadata.results.find(a=>a.result_card===e)!==void 0}static getValueByKey(e,t,a){const s=a.metadata.results.find(i=>i.result_card===e);if(s===void 0)return null;const r=t[s.name];return r===void 0?null:typeof r=="string"?r:Array.isArray(r)?r.join(", "):null}}class _{constructor(e){n(this,"routeName","searchstax");n(this,"ignoredKeys",[]);n(this,"queryStringHelper");n(this,"titleParser");e.routeName&&(this.routeName=e.routeName),e.ignoredKeys&&(this.ignoredKeys=e.ignoredKeys),e.title&&(this.titleParser=e.title),this.queryStringHelper=new ee(this.routeName)}updateUrl(e){const t=this.searchObjectToUrl(e);let a=typeof document<"u"?document==null?void 0:document.title:"";this.titleParser&&(a=this.titleParser(e)),typeof document<"u"&&(document.title=a),(window==null?void 0:window.location.href)!==t&&(window==null||window.history.pushState({},a,t))}searchObjectToUrl(e){return this.queryStringHelper.urlHasQueryParams((window==null?void 0:window.location.href)??"")?(window==null?void 0:window.location.href.split("?")[0])+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys}):(window==null?void 0:window.location.href)+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys})}searchObjectToParams(e){const t={},a=e.page||1;if(e.query&&(t[this.routeName+"[query]"]=encodeURIComponent(e.query)),e.page&&(t[this.routeName+"[page]"]=a+""),e.order&&(t[this.routeName+"[order]"]=e.order),e.facets)for(const s in e.facets){const r=e.facets[s].type+":"+encodeURIComponent(e.facets[s].name)+":"+encodeURIComponent(e.facets[s].value);t[this.routeName+`[facets][${s}]`]=r}if(this.queryStringHelper.urlHasQueryParams((window==null?void 0:window.location.href)??"")){const s=this.queryStringHelper.urlToParams((window==null?void 0:window.location.href)??"");for(const r in s)r.startsWith(this.routeName)&&delete s[r];return{...s,...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){var a,s,r;const t=[];for(const i in e)if(i.startsWith(this.routeName+"[facets]")){const c=E.removeXSSRiskyTags((a=e[i].split(":"))==null?void 0:a[0]),o=E.removeXSSRiskyTags(decodeURIComponent((s=e[i].split(":"))==null?void 0:s[1])),h=E.removeXSSRiskyTags(decodeURIComponent((r=e[i].split(":"))==null?void 0:r[2]));t.push({type:c,name:o,value:h})}return t}urlToSearchObject(e,t){const a=this.queryStringHelper.urlToParams(e),s=E.removeXSSRiskyTags(decodeURIComponent(a[this.routeName+"[page]"])),r=parseInt(s),i=isNaN(r)?1:r;return{query:E.removeXSSRiskyTags(decodeURIComponent(a[this.routeName+"[query]"]))||"",page:i,itemsPerPage:t,order:E.removeXSSRiskyTags(a[this.routeName+"[order]"])||"",facets:this.extractArrayOfFacetsFromQueryParameters(a)||[]}}}class ee{constructor(e){n(this,"routeName","");n(this,"stringify",(e,t)=>{const a=this.filterOutIgnoredKeys(e,t.ignoredKeys);return Object.keys(a).map(s=>{const r=a[s];return Array.isArray(r)?r.map(i=>`${s}=${i}`).join("&"):`${s}=${r}`}).join("&")});this.routeName=e}filterOutIgnoredKeys(e,t){const a=t||[],s={};return Object.keys(e).forEach(r=>{a.includes(r)||e[r]!==""&&(s[r]=e[r])}),s}urlToParams(e){const t={},a=e.split("?")[1];return a&&a.split("&").forEach(s=>{const[r,i]=s.split("=");t[r]=i}),t}doesParamContainRouteName(e){return e.indexOf(this.routeName)!==-1}urlHasQueryParams(e){return e.indexOf("?")!==-1}}const M={questionURL:"http://smartsearch-dev.searchstax.co/completion/?q=",question:"I_AM_A_QUESTION",notQuestion:"I_AM_NOT_A_QUESTION",close:"CLOSE"};class te{constructor(e,t){n(this,"cachedQuery","");n(this,"url","");n(this,"relatedSearches","");n(this,"suggester","");n(this,"authHeader");n(this,"authHeaderRelated");n(this,"trackApiKey","");n(this,"session","");n(this,"searchAuthType");n(this,"searchAuth","");n(this,"controllerSearch");n(this,"signalSearch");n(this,"controllerSuggest");n(this,"signalSuggest");n(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.forEach(function(s){const r=s.name+':"'+s.value+'"';a=a.concat("fq="+decodeURIComponent(r).replace(" "," "))});else{const s={};e.forEach(function(r){const i=r.name+":"+r.value,c=decodeURIComponent(i).replace(" "," ").split(":");s[c[0]]?s[c[0]].push(c[1]):s[c[0]]=[c[1]]});for(const r in s)if(Object.prototype.hasOwnProperty.call(s,r)){const i=s[r],c=r;let o="";for(const h of i)o+=` ${c}:"${h}"`;a=a.concat("fq="+o.trim())}}return a.length?"&"+a.join("&"):""}getRelatedSearches(e,t,a,s){const r=new Headers;r.append("Accept","application/json"),r.append("Authorization",a),fetch(t+"?search="+encodeURIComponent(e.query)+"&language="+this.dataLayer.language,{method:"GET",headers:r,credentials:"same-origin"}).then(i=>i.json()).then(i=>{s(i)})}cacheFacets(){this.dataLayer.searchObject.query!==this.cachedQuery&&(this.cachedQuery=this.dataLayer.searchObject.query,this.search({query:this.dataLayer.searchObject.query??"*",itemsPerPage:10,page:1,order:"",facets:[],additionalProps:this.dataLayer.searchObject.additionalProps},this.cacheFacetsCallback.bind(this),!0))}cacheFacetsCallback(e){let t=H.extractFacets(e);this.dataLayer.setSearchFacetsCached(t)}search(e,t,a=!1,s=!1){if(e.query&&e.query!=="undefined"&&e.itemsPerPage!==void 0){this.dataLayer.setSearchTerm(e.query),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const r=new Proxy(new URLSearchParams((window==null?void 0:window.location.search)??""),{get:(d,C)=>d.get(C)??""}),i=r.languageVariant?"&fq=_language:"+r.languageVariant:"";let c=e.itemsPerPage,o=e.itemsPerPage*(e.page-1),h=e.order?`&sort=${e.order}`:"";const u=this.url+"?q="+encodeURIComponent(e.query.trim())+"&start="+o+this.toQueryString(e.additionalProps??[])+this.generateFacetQuery(e.facets.filter(d=>d.type==="or"||d.type==="showUnavailable"),!0)+this.generateFacetQuery(e.facets.filter(d=>d.type==="and"||d.type==="tabs"),!1)+h+`&spellcheck.correct=${this.dataLayer.autoCorrect&&!s}&rows=${c}&language=`+this.dataLayer.language+i,p={method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch};a&&delete p.signal,fetch(u,p).then(d=>d.json()).then(d=>{this.dataLayer.setLoading(!1),t(d)}).catch(()=>{this.dataLayer.setLoading(!1)})}}startSSE(e,t){if(!this.dataLayer.turnAIAnswerGenerationOn||e==="*"||this.dataLayer.lastSearchValue===e||this.dataLayer.searchObject.facets.length>0||this.dataLayer.searchObject.page!==1)return;const a=new EventSource(M.questionURL+e),s=this.dataLayer;a.onmessage=function(r){if(r.data===M.question||r.data===M.notQuestion){s.setAnswerData("");return}if(r.data===M.close){a.close();return}t(r.data)},a.onerror=function(){a.close()}}suggest(e,t,a){this.controllerSuggest&&this.controllerSuggest.abort(),this.controllerSuggest=new AbortController,this.signalSuggest=this.controllerSuggest.signal;const s=this.suggester+"?q="+e.trim()+this.toQueryString(a)+"&language="+this.dataLayer.language;fetch(s,{method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSuggest}).then(r=>r.json()).then(r=>{t(r)}).catch(()=>()=>{})}fields(){return this.fields}toQueryString(e){if(e.length===0)return"";const t=[];for(const a of e)t.push(encodeURIComponent(a.key)+"="+encodeURIComponent(a.value));return"&"+t.join("&")}}class ${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};setTimeout(()=>{t.key&&this.msq().push(["trackClick",t])},0)}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};setTimeout(()=>{t.key&&this.msq().push(["track",t])},0)}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};setTimeout(()=>{t.key&&this.msq().push(["trackRelatedSearchClick",t])},0)}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};setTimeout(()=>{t.key&&this.msq().push(["trackRelatedSearch",t])},0)}}n($,"msq",()=>typeof window<"u"&&(window!=null&&window._msq)?window==null?void 0:window._msq:[]);/*!
1
+ "use strict";var X=Object.defineProperty;var G=(l,e,t)=>e in l?X(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var n=(l,e,t)=>(G(l,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var T=(l=>(l[l.mustache=0]="mustache",l[l.vue=1]="vue",l[l.react=2]="react",l[l.angular=3]="angular",l))(T||{});class Y{constructor(e){n(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(){return this.dataLayer.searchObject.itemsPerPage||0}get sortOptions(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.sorting.options)||[]}get selectedSortOption(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.sorting.selectedSortOption)||""}get startResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+1}get endResultIndex(){var t;const e=(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)*this.resultsPerPage+(this.resultsPerPage??0);return e>this.totalResults?this.totalResults:e}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 percentageOfResultsLoaded(){return this.endResultIndex/this.totalResults*100}get results(){return this.dataLayer.searchResults??[]}get autoCorrectedQuery(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.autoCorrectedQuery)||""}get originalQuery(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.query)||""}get getAnswerData(){return this.dataLayer.getAnswerData||""}get shouldShowAnswer(){return this.isFirstPage&&this.dataLayer.getAnswerData!==""&&this.dataLayer.searchObject.query!=="*"&&this.dataLayer.searchObject.facets.length===0}get searchTerm(){var e,t;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.autoCorrectedQuery)||((t=this.dataLayer.searchObject)==null?void 0:t.query)||""}get searchingEverything(){return this.searchTerm==="*"}get firstSearchHappened(){return this.dataLayer.firstSearchHappened}get isInfiniteScroll(){return this.dataLayer.isInfiniteScroll??!1}get searchExecuted(){var e,t,a;return((e=this.dataLayer.searchObject)==null?void 0:e.query)!==void 0&&((t=this.dataLayer.searchObject)==null?void 0:t.query)!=="undefined"&&((a=this.dataLayer.searchObject)==null?void 0:a.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(r=>{const i=r.name,c=r.value,o=e.find(h=>h.name===i);if(o){const h=o.values.find(u=>u.type==="range"?!1:u.type==="checkbox"?'"'+u.value+'"'===c:!1);if(h)return h}return null}).filter(r=>r!==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!=="undefined"?this.searchTerm:"",autoCorrectedQuery:this.autoCorrectedQuery,originalQuery:this.originalQuery,selectedFacets:this.selectedFacets,searchExecuted:this.searchExecuted,searchingEverything:this.searchingEverything,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,answer:this.getAnswerData,shouldShowAnswer:this.shouldShowAnswer,isInfiniteScroll:this.isInfiniteScroll,percentageOfResultsLoaded:this.percentageOfResultsLoaded,firstSearchHappened:this.firstSearchHappened,sortOptions:this.sortOptions,selectedSortOption:this.selectedSortOption}}get trackingData(){var e,t,a,s;return{searchTerm:this.dataLayer.searchTerm!=="undefined"?this.dataLayer.searchTerm:"",trackApiKey:((e=this.dataLayer.searchstaxConfig)==null?void 0:e.trackApiKey)??"",session:this.dataLayer.sessionIdValue,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:((s=this.dataLayer.searchResultsMetadata)==null?void 0:s.latency)??0}}}class P{static deepEqual(e,t){const a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(const r of a){const i=e[r],c=t[r],o=this.isObject(i)&&this.isObject(c);if(o&&!this.deepEqual(i,c)||!o&&i!==c)return!1}return!0}static isObject(e){return e!=null&&typeof e=="object"}}class S{constructor(e){n(this,"value");n(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 U{static getOrSetCookie(e,t){let a=this.getCookie(e);return a==null&&(a=t??this.makeid(25),this.setCookie(e,a,{secure:!0,"max-age":3600})),a}static deleteCookie(e){this.getCookie(e)&&this.setCookie(e,"",{secure:!0,"max-age":-1})}static makeid(e){let t="";const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=a.length;for(let r=0;r<e;r++)t+=a.charAt(Math.floor(Math.random()*s));return t}static getCookie(e){const t=typeof document<"u"?document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[\]\\/+^])/g,"\\$1")+"=([^;]*)")):null;return t?decodeURIComponent(t[1]):void 0}static setCookie(e,t,a){const s={path:"/",...a};a.expires instanceof Date&&(s.expires=a.expires.toUTCString());let r=encodeURIComponent(e)+"="+encodeURIComponent(t);for(const i in s){r+="; "+i;const c=s[i];c!==!0&&(r+="="+c)}typeof document<"u"&&(document.cookie=r)}}class E{static removeXSSRiskyTags(e){var t="script|style|iframe|object|embed|form|input|button",a=new RegExp("</?("+t+")(\\s[^>]*)?>","gi");return e?e.replace(a,""):""}}class Z{constructor(e,t){n(this,"$searchTermChange",new S(""));n(this,"$loadingChange",new S(!1));n(this,"$searchResults",new S(null));n(this,"$searchResultsMetadata",new S(null));n(this,"$searchAutosuggest",new S(null));n(this,"$searchFacets",new S(null));n(this,"$searchFacetsCached",new S(null));n(this,"$searchstaxConfig",new S(null));n(this,"$autosuggestResults",new S(null));n(this,"$searchObject",new S({query:"",itemsPerPage:null,page:99999999,order:"",facets:[],additionalProps:[]}));n(this,"$searchRelatedSearches",new S(null));n(this,"$searchInputConfig",new S(null));n(this,"$searchExternalPromotions",new S(null));n(this,"$facetsTemplateData",new S(null));n(this,"$selectedFacetsTemplateData",new S(null));n(this,"$paginationData",new S(null));n(this,"$searchFeedbackData",new S(null));n(this,"$searchSortingData",new S(null));n(this,"$searchRelatedSearchesData",new S(null));n(this,"$searchExternalPromotionsData",new S(null));n(this,"$cookiesDisabled",new S(null));n(this,"$answer",new S(""));n(this,"$language",new S("en"));n(this,"currentPageValue",1);n(this,"isAnswerWidgetCreatedValue",!1);n(this,"renderingEngineValue",T.mustache);n(this,"parsedData",new Y(this));n(this,"sessionId");n(this,"sessionIdValue",null);n(this,"autoCorrect",!0);n(this,"forceNotCorrect",!1);n(this,"lastSearchValue","");n(this,"turnAIAnswerGenerationOn",!1);n(this,"isInfiniteScroll",!1);n(this,"firstSearchHappened",!1);n(this,"facetsWereSet",!1);this.sessionId=e,t&&(this.sessionIdValue=t),this.cookieHandlingCallback(t),this.$cookiesDisabled.subscribe(()=>{this.cookieHandlingCallback(t)})}cookieHandlingCallback(e){this.cookiesDisabled?(this.sessionIdValue=null,U.deleteCookie(this.sessionId),U.deleteCookie("ms_visitorid")):this.sessionIdValue=U.getOrSetCookie(this.sessionId,e)}setIsInfiniteScroll(e){this.isInfiniteScroll=e}setSearchTerm(e){this.$searchTermChange.setValue(E.removeXSSRiskyTags(e))}setRenderingEngine(e){this.renderingEngineValue=e}setCurrentPage(e){this.currentPageValue=e}setIsAnswerWidgetCreated(e){this.isAnswerWidgetCreatedValue=e}setLoading(e){this.$loadingChange.setValue(e)}setSearchResults(e){this.firstSearchHappened=!0,(!P.deepEqual(e,this.searchResults??[""])||this.facetsWereSet)&&(this.facetsWereSet=!1,this.$searchResults.setValue(e))}setSearchResultsMetadata(e){P.deepEqual(e,this.searchResultsMetadata??{})||this.$searchResultsMetadata.setValue(e)}setSearchAutosuggest(e){this.$searchAutosuggest.setValue(e)}setSearchObject(e){var a,s;let t=e;(s=(a=this.searchstaxConfig)==null?void 0:a.hooks)!=null&&s.beforeSearch&&t&&(t=this.searchstaxConfig.hooks.beforeSearch(t)),t&&(!P.deepEqual(t,this.searchObject??{})||this.forceNotCorrect)&&this.$searchObject.setValue(t)}setSearchFacets(e){this.facetsWereSet=!0,P.deepEqual(e,this.searchFacets??[])||this.$searchFacets.setValue(e)}setSearchFacetsCached(e){P.deepEqual(e,this.searchFacetsCached??[])||this.$searchFacetsCached.setValue(e)}setSearchRelatedSearches(e){P.deepEqual(e,this.searchRelatedSearches??[])||this.$searchRelatedSearches.setValue(e)}setSearchExternalPromotions(e){P.deepEqual(e,this.searchExternalPromotions??[])||this.$searchExternalPromotions.setValue(e)}setLanguage(e){this.$language.setValue(e)}setSearchstaxConfig(e){this.$searchstaxConfig.setValue(e)}setSearchInputConfig(e){this.$searchInputConfig.setValue(e)}setAutosuggestResults(e){this.$autosuggestResults.setValue(e)}setFacetsTemplateData(e){this.$facetsTemplateData.setValue(e)}setSelectedFacetsTemplateData(e){this.$selectedFacetsTemplateData.setValue(e)}setPaginationData(e){this.$paginationData.setValue(e)}setSearchFeedbackData(e){this.$searchFeedbackData.setValue(e)}setSearchSortingData(e){this.$searchSortingData.setValue(e)}setRelatedSearchesData(e){this.$searchRelatedSearchesData.setValue(e)}setExternalPromotionsData(e){this.$searchExternalPromotionsData.setValue(e)}setCookiesDisabled(e){this.$cookiesDisabled.setValue(e)}setAnswerData(e){this.$answer.setValue(e)}get getAnswerData(){return this.$answer.getValue()}get searchstaxConfig(){return this.$searchstaxConfig.getValue()}get searchFacets(){return this.$searchFacets.getValue()?JSON.parse(JSON.stringify(this.$searchFacets.getValue())):null}get searchFacetsCached(){return this.$searchFacetsCached.getValue()?JSON.parse(JSON.stringify(this.$searchFacetsCached.getValue())):null}get searchResults(){return this.$searchResults.getValue()?JSON.parse(JSON.stringify(this.$searchResults.getValue())):null}get searchTerm(){return this.$searchTermChange.getValue()}get loading(){return this.$loadingChange.getValue()}get searchAutosuggest(){return this.$searchAutosuggest.getValue()}get searchResultsMetadata(){return this.$searchResultsMetadata.getValue()?JSON.parse(JSON.stringify(this.$searchResultsMetadata.getValue())):null}get currentPage(){return this.$searchObject.getValue().page??this.currentPageValue}get isAnswerWidgetCreated(){return this.isAnswerWidgetCreatedValue}get renderingEngine(){return this.renderingEngineValue}get searchObject(){return JSON.parse(JSON.stringify(this.$searchObject.getValue()))}get searchRelatedSearches(){return this.$searchRelatedSearches.getValue()?JSON.parse(JSON.stringify(this.$searchRelatedSearches.getValue())):null}get searchExternalPromotions(){return this.$searchExternalPromotions.getValue()?JSON.parse(JSON.stringify(this.$searchExternalPromotions.getValue())):null}get language(){return this.$language.getValue()}get searchInputConfig(){return this.$searchInputConfig.getValue()}get answerConfig(){return this.$answer.getValue()}get autosuggestResults(){return this.$autosuggestResults.getValue()}get facetsTemplateData(){return this.$facetsTemplateData.getValue()}get selectedFacetsTemplateData(){return this.$selectedFacetsTemplateData.getValue()}get paginationData(){return this.$paginationData.getValue()}get searchFeedbackData(){return this.$searchFeedbackData.getValue()}get searchSortingData(){return this.$searchSortingData.getValue()}get searchRelatedSearchesData(){return this.$searchRelatedSearchesData.getValue()}get searchExternalPromotionsData(){return this.$searchExternalPromotionsData.getValue()}get cookiesDisabled(){return(this.$cookiesDisabled.getValue()??!1)||!navigator.cookieEnabled}}class ${static combineResultsWithMetadata(e){const t=[],a=parseInt(e.response.start+"");return parseInt(e.responseHeader.params.rows),e.response.docs.forEach((s,r)=>{const c={custom:null,uniqueId:s[e.responseHeader.params.uniqueId]??"",position:a+1+r,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(c)}),t}static extractFacets(e){const t=[];if(e.metadata.facets)for(const a of e.metadata.facets){let s={values:[]};if(s.name=a.name,s.label=a.label,a.name in e.facet_counts.facet_fields){const r=e.facet_counts.facet_fields[a.name];for(let i=0;i<r.length;i+=2){const c={};c.value=r[i],c.parentName=s.name,c.count=r[i+1],c.type="checkbox",s.values.push(c)}}s.values.length>0&&t.push(s)}return t}static extractSearchResultsMetadata(e){var r,i,c,o,h,u;let t="",a={selectedSortOption:"",options:[]},s=(r=e.metadata.results.find(p=>p.result_card==="date"))==null?void 0:r.name;if(a.options=[{key:"",value:"Relevance"},{key:s+" desc",value:"Most Recent"}],(i=e.metadata.sorts)!=null&&i.length){const p=e.metadata.sorts.map(d=>({value:d.label,key:d.name+" "+d.order}));a.options=[{key:"",value:"Relevance"},...p]}return t=((u=(h=(o=(c=e==null?void 0:e.spellcheck)==null?void 0:c.suggestions)==null?void 0:o[1])==null?void 0:h.suggestion)==null?void 0:u[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,autoCorrectedQuery:e.responseHeader.params.autoCorrectedQ??"",impressions:this.getImpressions(e),sorting:a}}static getImpressions(e){const t=[],a=this.combineResultsWithMetadata(e);for(const s in a){const r=a[s],i={};i.cDocId=this.getDataForAnalytics(r.uniqueId),r.title&&(i.cDocTitle=this.getDataForAnalytics(r.title)),i.position=r.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(r=>r.result_card==="").map(r=>r.name),s=[];for(const r of Object.keys(e))if(a.indexOf(r)!==-1){const i=Array.isArray(e[r])?e[r].join(", "):e[r];s.push({key:r,value:i,isImage:this.checkIfImage(e[r])})}return s}static checkIfImage(e){return e===void 0?!1:typeof e!="string"?Array.isArray(e)&&e[0]?/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e[0]):!1:/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e)}static getAllFields(e,t){const a=t.metadata.results.map(r=>r.name),s=[];for(const r of Object.keys(e))a.indexOf(r)!==-1&&s.push({key:r,value:e[r],isImage:this.checkIfImage(e[r])});return s}static doesMapExist(e,t){return t.metadata.results.find(a=>a.result_card===e)!==void 0}static getValueByKey(e,t,a){const s=a.metadata.results.find(i=>i.result_card===e);if(s===void 0)return null;const r=t[s.name];return r===void 0?null:typeof r=="string"?r:Array.isArray(r)?r.join(", "):null}}class _{constructor(e){n(this,"routeName","searchstax");n(this,"ignoredKeys",[]);n(this,"queryStringHelper");n(this,"titleParser");e.routeName&&(this.routeName=e.routeName),e.ignoredKeys&&(this.ignoredKeys=e.ignoredKeys),e.title&&(this.titleParser=e.title),this.queryStringHelper=new ee(this.routeName)}updateUrl(e){const t=this.searchObjectToUrl(e);let a=typeof document<"u"?document==null?void 0:document.title:"";this.titleParser&&(a=this.titleParser(e)),typeof document<"u"&&(document.title=a),(window==null?void 0:window.location.href)!==t&&(window==null||window.history.pushState({},a,t))}searchObjectToUrl(e){return this.queryStringHelper.urlHasQueryParams((window==null?void 0:window.location.href)??"")?(window==null?void 0:window.location.href.split("?")[0])+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys}):(window==null?void 0:window.location.href)+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys})}searchObjectToParams(e){const t={},a=e.page||1;if(e.query&&(t[this.routeName+"[query]"]=encodeURIComponent(e.query)),e.page&&(t[this.routeName+"[page]"]=a+""),e.order&&(t[this.routeName+"[order]"]=e.order),e.facets)for(const s in e.facets){const r=e.facets[s].type+":"+encodeURIComponent(e.facets[s].name)+":"+encodeURIComponent(e.facets[s].value);t[this.routeName+`[facets][${s}]`]=r}if(this.queryStringHelper.urlHasQueryParams((window==null?void 0:window.location.href)??"")){const s=this.queryStringHelper.urlToParams((window==null?void 0:window.location.href)??"");for(const r in s)r.startsWith(this.routeName)&&delete s[r];return{...s,...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){var a,s,r;const t=[];for(const i in e)if(i.startsWith(this.routeName+"[facets]")){const c=E.removeXSSRiskyTags((a=e[i].split(":"))==null?void 0:a[0]),o=E.removeXSSRiskyTags(decodeURIComponent((s=e[i].split(":"))==null?void 0:s[1])),h=E.removeXSSRiskyTags(decodeURIComponent((r=e[i].split(":"))==null?void 0:r[2]));t.push({type:c,name:o,value:h})}return t}urlToSearchObject(e,t){const a=this.queryStringHelper.urlToParams(e),s=E.removeXSSRiskyTags(decodeURIComponent(a[this.routeName+"[page]"])),r=parseInt(s),i=isNaN(r)?1:r;return{query:E.removeXSSRiskyTags(decodeURIComponent(a[this.routeName+"[query]"]))||"",page:i,itemsPerPage:t,order:E.removeXSSRiskyTags(a[this.routeName+"[order]"])||"",facets:this.extractArrayOfFacetsFromQueryParameters(a)||[]}}}class ee{constructor(e){n(this,"routeName","");n(this,"stringify",(e,t)=>{const a=this.filterOutIgnoredKeys(e,t.ignoredKeys);return Object.keys(a).map(s=>{const r=a[s];return Array.isArray(r)?r.map(i=>`${s}=${i}`).join("&"):`${s}=${r}`}).join("&")});this.routeName=e}filterOutIgnoredKeys(e,t){const a=t||[],s={};return Object.keys(e).forEach(r=>{a.includes(r)||e[r]!==""&&(s[r]=e[r])}),s}urlToParams(e){const t={},a=e.split("?")[1];return a&&a.split("&").forEach(s=>{const[r,i]=s.split("=");t[r]=i}),t}doesParamContainRouteName(e){return e.indexOf(this.routeName)!==-1}urlHasQueryParams(e){return e.indexOf("?")!==-1}}const M={questionURL:"http://smartsearch-dev.searchstax.co/completion/?q=",question:"I_AM_A_QUESTION",notQuestion:"I_AM_NOT_A_QUESTION",close:"CLOSE"};class te{constructor(e,t){n(this,"cachedQuery","");n(this,"url","");n(this,"relatedSearches","");n(this,"suggester","");n(this,"authHeader");n(this,"authHeaderRelated");n(this,"trackApiKey","");n(this,"session","");n(this,"searchAuthType");n(this,"searchAuth","");n(this,"controllerSearch");n(this,"signalSearch");n(this,"controllerSuggest");n(this,"signalSuggest");n(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.forEach(function(s){const r=s.name+':"'+s.value+'"';a=a.concat("fq="+decodeURIComponent(r).replace(" "," "))});else{const s={};e.forEach(function(r){const i=r.name+":"+r.value,c=decodeURIComponent(i).replace(" "," ").split(":");s[c[0]]?s[c[0]].push(c[1]):s[c[0]]=[c[1]]});for(const r in s)if(Object.prototype.hasOwnProperty.call(s,r)){const i=s[r],c=r;let o="";for(const h of i)o+=` ${c}:"${h}"`;a=a.concat("fq="+o.trim())}}return a.length?"&"+a.join("&"):""}getRelatedSearches(e,t,a,s){const r=new Headers;r.append("Accept","application/json"),r.append("Authorization",a),fetch(t+"?search="+encodeURIComponent(e.query)+"&language="+this.dataLayer.language,{method:"GET",headers:r,credentials:"same-origin"}).then(i=>i.json()).then(i=>{s(i)})}cacheFacets(){this.dataLayer.searchObject.query!==this.cachedQuery&&(this.cachedQuery=this.dataLayer.searchObject.query,this.search({query:this.dataLayer.searchObject.query??"*",itemsPerPage:10,page:1,order:"",facets:[],additionalProps:this.dataLayer.searchObject.additionalProps},this.cacheFacetsCallback.bind(this),!0))}cacheFacetsCallback(e){let t=$.extractFacets(e);this.dataLayer.setSearchFacetsCached(t)}search(e,t,a=!1,s=!1){if(e.query&&e.query!=="undefined"&&e.itemsPerPage!==void 0){this.dataLayer.setSearchTerm(e.query),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const r=new Proxy(new URLSearchParams((window==null?void 0:window.location.search)??""),{get:(d,C)=>d.get(C)??""}),i=r.languageVariant?"&fq=_language:"+r.languageVariant:"";let c=e.itemsPerPage,o=e.itemsPerPage*(e.page-1),h=e.order?`&sort=${e.order}`:"";const u=this.url+"?q="+encodeURIComponent(e.query.trim())+"&start="+o+this.toQueryString(e.additionalProps??[])+this.generateFacetQuery(e.facets.filter(d=>d.type==="or"||d.type==="showUnavailable"),!0)+this.generateFacetQuery(e.facets.filter(d=>d.type==="and"||d.type==="tabs"),!1)+h+`&spellcheck.correct=${this.dataLayer.autoCorrect&&!s}&rows=${c}&language=`+this.dataLayer.language+i,p={method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch};a&&delete p.signal,fetch(u,p).then(d=>d.json()).then(d=>{this.dataLayer.setLoading(!1),t(d)}).catch(()=>{this.dataLayer.setLoading(!1)})}}startSSE(e,t){if(!this.dataLayer.turnAIAnswerGenerationOn||e==="*"||this.dataLayer.lastSearchValue===e||this.dataLayer.searchObject.facets.length>0||this.dataLayer.searchObject.page!==1)return;const a=new EventSource(M.questionURL+e),s=this.dataLayer;a.onmessage=function(r){if(r.data===M.question||r.data===M.notQuestion){s.setAnswerData("");return}if(r.data===M.close){a.close();return}t(r.data)},a.onerror=function(){a.close()}}suggest(e,t,a){this.controllerSuggest&&this.controllerSuggest.abort(),this.controllerSuggest=new AbortController,this.signalSuggest=this.controllerSuggest.signal;const s=this.suggester+"?q="+e.trim()+this.toQueryString(a)+"&language="+this.dataLayer.language;fetch(s,{method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSuggest}).then(r=>r.json()).then(r=>{t(r)}).catch(()=>()=>{})}fields(){return this.fields}toQueryString(e){if(e.length===0)return"";const t=[];for(const a of e)t.push(encodeURIComponent(a.key)+"="+encodeURIComponent(a.value));return"&"+t.join("&")}}class A{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};return new Promise((a,s)=>{const r=["trackClick",t];t.key&&this.msq().push(r,(function(i,c){JSON.stringify(i)===JSON.stringify(t)&&c?a():s()}).bind(this))})}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};setTimeout(()=>{t.key&&this.msq().push(["track",t])},0)}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};setTimeout(()=>{t.key&&this.msq().push(["trackRelatedSearchClick",t])},0)}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};setTimeout(()=>{t.key&&this.msq().push(["trackRelatedSearch",t])},0)}}n(A,"subscribedToClickEvent",!1),n(A,"msq",()=>typeof window<"u"&&(window!=null&&window._msq)?window==null?void 0:window._msq:[]);/*!
2
2
  * mustache.js - Logic-less {{mustache}} templates with JavaScript
3
3
  * http://github.com/janl/mustache.js
4
- */var ae=Object.prototype.toString,D=Array.isArray||function(e){return ae.call(e)==="[object Array]"};function K(l){return typeof l=="function"}function se(l){return D(l)?"array":typeof l}function Q(l){return l.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function z(l,e){return l!=null&&typeof l=="object"&&e in l}function re(l,e){return l!=null&&typeof l!="object"&&l.hasOwnProperty&&l.hasOwnProperty(e)}var ie=RegExp.prototype.test;function ne(l,e){return ie.call(l,e)}var ce=/\S/;function oe(l){return!ne(ce,l)}var le={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function he(l){return String(l).replace(/[&<>"'`=\/]/g,function(t){return le[t]})}var ue=/\s*/,de=/\s+/,J=/\s*=/,ge=/\s*\}/,pe=/#|\^|\/|>|\{|&|=|!/;function fe(l,e){if(!l)return[];var t=!1,a=[],s=[],r=[],i=!1,c=!1,o="",h=0;function u(){if(i&&!c)for(;r.length;)delete s[r.pop()];else r=[];i=!1,c=!1}var p,d,C;function v(w){if(typeof w=="string"&&(w=w.split(de,2)),!D(w)||w.length!==2)throw new Error("Invalid tags: "+w);p=new RegExp(Q(w[0])+"\\s*"),d=new RegExp("\\s*"+Q(w[1])),C=new RegExp("\\s*"+Q("}"+w[1]))}v(e||m.tags);for(var y=new B(l),f,b,L,k,I,x;!y.eos();){if(f=y.pos,L=y.scanUntil(p),L)for(var F=0,N=L.length;F<N;++F)k=L.charAt(F),oe(k)?(r.push(s.length),o+=k):(c=!0,t=!0,o+=" "),s.push(["text",k,f,f+1]),f+=1,k===`
5
- `&&(u(),o="",h=0,t=!1);if(!y.scan(p))break;if(i=!0,b=y.scan(pe)||"name",y.scan(ue),b==="="?(L=y.scanUntil(J),y.scan(J),y.scanUntil(d)):b==="{"?(L=y.scanUntil(C),y.scan(ge),y.scanUntil(d),b="&"):L=y.scanUntil(d),!y.scan(d))throw new Error("Unclosed tag at "+y.pos);if(b==">"?I=[b,L,f,y.pos,o,h,t]:I=[b,L,f,y.pos],h++,s.push(I),b==="#"||b==="^")a.push(I);else if(b==="/"){if(x=a.pop(),!x)throw new Error('Unopened section "'+L+'" at '+f);if(x[1]!==L)throw new Error('Unclosed section "'+x[1]+'" at '+f)}else b==="name"||b==="{"||b==="&"?c=!0:b==="="&&v(L)}if(u(),x=a.pop(),x)throw new Error('Unclosed section "'+x[1]+'" at '+y.pos);return ye(me(s))}function me(l){for(var e=[],t,a,s=0,r=l.length;s<r;++s)t=l[s],t&&(t[0]==="text"&&a&&a[0]==="text"?(a[1]+=t[1],a[3]=t[3]):(e.push(t),a=t));return e}function ye(l){for(var e=[],t=e,a=[],s,r,i=0,c=l.length;i<c;++i)switch(s=l[i],s[0]){case"#":case"^":t.push(s),a.push(s),t=s[4]=[];break;case"/":r=a.pop(),r[5]=s[2],t=a.length>0?a[a.length-1][4]:e;break;default:t.push(s)}return e}function B(l){this.string=l,this.tail=l,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 A(l,e){this.view=l,this.cache={".":this.view},this.parent=e}A.prototype.push=function(e){return new A(e,this)};A.prototype.lookup=function(e){var t=this.cache,a;if(t.hasOwnProperty(e))a=t[e];else{for(var s=this,r,i,c,o=!1;s;){if(e.indexOf(".")>0)for(r=s.view,i=e.split("."),c=0;r!=null&&c<i.length;)c===i.length-1&&(o=z(r,i[c])||re(r,i[c])),r=r[i[c++]];else r=s.view[e],o=z(s.view,e);if(o){a=r;break}s=s.parent}t[e]=a}return K(a)&&(a=a.call(this.view)),a};function R(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}R.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()};R.prototype.parse=function(e,t){var a=this.templateCache,s=e+":"+(t||m.tags).join(":"),r=typeof a<"u",i=r?a.get(s):void 0;return i==null&&(i=fe(e,t),r&&a.set(s,i)),i};R.prototype.render=function(e,t,a,s){var r=this.getConfigTags(s),i=this.parse(e,r),c=t instanceof A?t:new A(t,void 0);return this.renderTokens(i,c,a,e,s)};R.prototype.renderTokens=function(e,t,a,s,r){for(var i="",c,o,h,u=0,p=e.length;u<p;++u)h=void 0,c=e[u],o=c[0],o==="#"?h=this.renderSection(c,t,a,s,r):o==="^"?h=this.renderInverted(c,t,a,s,r):o===">"?h=this.renderPartial(c,t,a,r):o==="&"?h=this.unescapedValue(c,t):o==="name"?h=this.escapedValue(c,t,r):o==="text"&&(h=this.rawValue(c)),h!==void 0&&(i+=h);return i};R.prototype.renderSection=function(e,t,a,s,r){var i=this,c="",o=t.lookup(e[1]);function h(d){return i.render(d,t,a,r)}if(o){if(D(o))for(var u=0,p=o.length;u<p;++u)c+=this.renderTokens(e[4],t.push(o[u]),a,s,r);else if(typeof o=="object"||typeof o=="string"||typeof o=="number")c+=this.renderTokens(e[4],t.push(o),a,s,r);else if(K(o)){if(typeof s!="string")throw new Error("Cannot use higher-order sections without the original template");o=o.call(t.view,s.slice(e[3],e[5]),h),o!=null&&(c+=o)}else c+=this.renderTokens(e[4],t,a,s,r);return c}};R.prototype.renderInverted=function(e,t,a,s,r){var i=t.lookup(e[1]);if(!i||D(i)&&i.length===0)return this.renderTokens(e[4],t,a,s,r)};R.prototype.indentPartial=function(e,t,a){for(var s=t.replace(/[^ \t]/g,""),r=e.split(`
4
+ */var ae=Object.prototype.toString,O=Array.isArray||function(e){return ae.call(e)==="[object Array]"};function K(l){return typeof l=="function"}function se(l){return O(l)?"array":typeof l}function Q(l){return l.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function z(l,e){return l!=null&&typeof l=="object"&&e in l}function re(l,e){return l!=null&&typeof l!="object"&&l.hasOwnProperty&&l.hasOwnProperty(e)}var ie=RegExp.prototype.test;function ne(l,e){return ie.call(l,e)}var ce=/\S/;function oe(l){return!ne(ce,l)}var le={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function he(l){return String(l).replace(/[&<>"'`=\/]/g,function(t){return le[t]})}var ue=/\s*/,de=/\s+/,J=/\s*=/,ge=/\s*\}/,pe=/#|\^|\/|>|\{|&|=|!/;function fe(l,e){if(!l)return[];var t=!1,a=[],s=[],r=[],i=!1,c=!1,o="",h=0;function u(){if(i&&!c)for(;r.length;)delete s[r.pop()];else r=[];i=!1,c=!1}var p,d,C;function v(w){if(typeof w=="string"&&(w=w.split(de,2)),!O(w)||w.length!==2)throw new Error("Invalid tags: "+w);p=new RegExp(Q(w[0])+"\\s*"),d=new RegExp("\\s*"+Q(w[1])),C=new RegExp("\\s*"+Q("}"+w[1]))}v(e||m.tags);for(var y=new B(l),f,b,L,k,I,x;!y.eos();){if(f=y.pos,L=y.scanUntil(p),L)for(var F=0,N=L.length;F<N;++F)k=L.charAt(F),oe(k)?(r.push(s.length),o+=k):(c=!0,t=!0,o+=" "),s.push(["text",k,f,f+1]),f+=1,k===`
5
+ `&&(u(),o="",h=0,t=!1);if(!y.scan(p))break;if(i=!0,b=y.scan(pe)||"name",y.scan(ue),b==="="?(L=y.scanUntil(J),y.scan(J),y.scanUntil(d)):b==="{"?(L=y.scanUntil(C),y.scan(ge),y.scanUntil(d),b="&"):L=y.scanUntil(d),!y.scan(d))throw new Error("Unclosed tag at "+y.pos);if(b==">"?I=[b,L,f,y.pos,o,h,t]:I=[b,L,f,y.pos],h++,s.push(I),b==="#"||b==="^")a.push(I);else if(b==="/"){if(x=a.pop(),!x)throw new Error('Unopened section "'+L+'" at '+f);if(x[1]!==L)throw new Error('Unclosed section "'+x[1]+'" at '+f)}else b==="name"||b==="{"||b==="&"?c=!0:b==="="&&v(L)}if(u(),x=a.pop(),x)throw new Error('Unclosed section "'+x[1]+'" at '+y.pos);return ye(me(s))}function me(l){for(var e=[],t,a,s=0,r=l.length;s<r;++s)t=l[s],t&&(t[0]==="text"&&a&&a[0]==="text"?(a[1]+=t[1],a[3]=t[3]):(e.push(t),a=t));return e}function ye(l){for(var e=[],t=e,a=[],s,r,i=0,c=l.length;i<c;++i)switch(s=l[i],s[0]){case"#":case"^":t.push(s),a.push(s),t=s[4]=[];break;case"/":r=a.pop(),r[5]=s[2],t=a.length>0?a[a.length-1][4]:e;break;default:t.push(s)}return e}function B(l){this.string=l,this.tail=l,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 D(l,e){this.view=l,this.cache={".":this.view},this.parent=e}D.prototype.push=function(e){return new D(e,this)};D.prototype.lookup=function(e){var t=this.cache,a;if(t.hasOwnProperty(e))a=t[e];else{for(var s=this,r,i,c,o=!1;s;){if(e.indexOf(".")>0)for(r=s.view,i=e.split("."),c=0;r!=null&&c<i.length;)c===i.length-1&&(o=z(r,i[c])||re(r,i[c])),r=r[i[c++]];else r=s.view[e],o=z(s.view,e);if(o){a=r;break}s=s.parent}t[e]=a}return K(a)&&(a=a.call(this.view)),a};function R(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}R.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()};R.prototype.parse=function(e,t){var a=this.templateCache,s=e+":"+(t||m.tags).join(":"),r=typeof a<"u",i=r?a.get(s):void 0;return i==null&&(i=fe(e,t),r&&a.set(s,i)),i};R.prototype.render=function(e,t,a,s){var r=this.getConfigTags(s),i=this.parse(e,r),c=t instanceof D?t:new D(t,void 0);return this.renderTokens(i,c,a,e,s)};R.prototype.renderTokens=function(e,t,a,s,r){for(var i="",c,o,h,u=0,p=e.length;u<p;++u)h=void 0,c=e[u],o=c[0],o==="#"?h=this.renderSection(c,t,a,s,r):o==="^"?h=this.renderInverted(c,t,a,s,r):o===">"?h=this.renderPartial(c,t,a,r):o==="&"?h=this.unescapedValue(c,t):o==="name"?h=this.escapedValue(c,t,r):o==="text"&&(h=this.rawValue(c)),h!==void 0&&(i+=h);return i};R.prototype.renderSection=function(e,t,a,s,r){var i=this,c="",o=t.lookup(e[1]);function h(d){return i.render(d,t,a,r)}if(o){if(O(o))for(var u=0,p=o.length;u<p;++u)c+=this.renderTokens(e[4],t.push(o[u]),a,s,r);else if(typeof o=="object"||typeof o=="string"||typeof o=="number")c+=this.renderTokens(e[4],t.push(o),a,s,r);else if(K(o)){if(typeof s!="string")throw new Error("Cannot use higher-order sections without the original template");o=o.call(t.view,s.slice(e[3],e[5]),h),o!=null&&(c+=o)}else c+=this.renderTokens(e[4],t,a,s,r);return c}};R.prototype.renderInverted=function(e,t,a,s,r){var i=t.lookup(e[1]);if(!i||O(i)&&i.length===0)return this.renderTokens(e[4],t,a,s,r)};R.prototype.indentPartial=function(e,t,a){for(var s=t.replace(/[^ \t]/g,""),r=e.split(`
6
6
  `),i=0;i<r.length;i++)r[i].length&&(i>0||!a)&&(r[i]=s+r[i]);return r.join(`
7
- `)};R.prototype.renderPartial=function(e,t,a,s){if(a){var r=this.getConfigTags(s),i=K(a)?a(e[1]):a[e[1]];if(i!=null){var c=e[6],o=e[5],h=e[4],u=i;o==0&&h&&(u=this.indentPartial(i,h,c));var p=this.parse(u,r);return this.renderTokens(p,t,a,u,s)}}};R.prototype.unescapedValue=function(e,t){var a=t.lookup(e[1]);if(a!=null)return a};R.prototype.escapedValue=function(e,t,a){var s=this.getConfigEscape(a)||m.escape,r=t.lookup(e[1]);if(r!=null)return typeof r=="number"&&s===m.escape?String(r):s(r)};R.prototype.rawValue=function(e){return e[1]};R.prototype.getConfigTags=function(e){return D(e)?e:e&&typeof e=="object"?e.tags:void 0};R.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!D(e))return e.escape};var m={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 R;m.clearCache=function(){return j.clearCache()};m.parse=function(e,t){return j.parse(e,t)};m.render=function(e,t,a,s){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+se(e)+'" was given as the first argument for mustache#render(template, view, partials)');return j.render(e,t,a,s)};m.escape=he;m.Scanner=B;m.Context=A;m.Writer=R;const Ce={main:{template:`
7
+ `)};R.prototype.renderPartial=function(e,t,a,s){if(a){var r=this.getConfigTags(s),i=K(a)?a(e[1]):a[e[1]];if(i!=null){var c=e[6],o=e[5],h=e[4],u=i;o==0&&h&&(u=this.indentPartial(i,h,c));var p=this.parse(u,r);return this.renderTokens(p,t,a,u,s)}}};R.prototype.unescapedValue=function(e,t){var a=t.lookup(e[1]);if(a!=null)return a};R.prototype.escapedValue=function(e,t,a){var s=this.getConfigEscape(a)||m.escape,r=t.lookup(e[1]);if(r!=null)return typeof r=="number"&&s===m.escape?String(r):s(r)};R.prototype.rawValue=function(e){return e[1]};R.prototype.getConfigTags=function(e){return O(e)?e:e&&typeof e=="object"?e.tags:void 0};R.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!O(e))return e.escape};var m={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 R;m.clearCache=function(){return j.clearCache()};m.parse=function(e,t){return j.parse(e,t)};m.render=function(e,t,a,s){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+se(e)+'" was given as the first argument for mustache#render(template, view, partials)');return j.render(e,t,a,s)};m.escape=he;m.Scanner=B;m.Context=D;m.Writer=R;const Ce={main:{template:`
8
8
  {{#shouldShowAnswer}}
9
9
  <div class="searchstax-answer-container">
10
10
  <div class="searchstax-answer-title">Answer</div>
@@ -232,4 +232,4 @@
232
232
  </div>
233
233
  {{/hasResultsOrExternalPromotions}}
234
234
  {{/searchExecuted}}
235
- `,selectId:"searchstax-search-order-select"}};class g{}n(g,"answer",Ce),n(g,"externalPromotions",Se),n(g,"facets",be),n(g,"pagination",Le),n(g,"relatedSearches",ve),n(g,"searchFeedback",xe),n(g,"searchInput",Te),n(g,"searchResults",ke),n(g,"sorting",Re);class Ie{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"externalPromotionsContainerId");n(this,"searchExternalPromotionsMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((a=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:a.externalPromotionsContainerId)||g.externalPromotions.mainTemplate.externalPromotionsContainerId,typeof document<"u"&&(this.searchExternalPromotionsMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchExternalPromotions.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data,externalPromotions:this.dataLayer.parsedData.externalPromotions};return this.dataLayer.setExternalPromotionsData(e),e}addExternalSearch(e){var a,s,r,i;const t=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(t){const c=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.externalPromotion)==null?void 0:r.template)||((i=g.externalPromotions.externalPromotion)==null?void 0:i.template);if(typeof document<"u"){const o=document==null?void 0:document.createElement("div");o.classList.add("searchstax-external-promotion"),o.addEventListener("click",h=>{this.trackClick(e,h)}),o.innerHTML=m.render(c,e),t.appendChild(o)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplate)==null?void 0:r.template)||((i=g.externalPromotions.mainTemplate)==null?void 0:i.template);if(this.dataLayer.renderingEngine===T.mustache){this.searchExternalPromotionsMainContainer.innerHTML=m.render(t,e);const c=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;c&&(c.innerHTML="");for(const o of e.externalPromotions)this.addExternalSearch(o)}}}class V{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById("searchAccessibilityContainer")){const t=document.createElement("div");t.setAttribute("aria-live","polite"),t.setAttribute("id","searchAccessibilityContainer"),document.body.appendChild(t)}}static setAccessibilityText(e){this.addAccessibilityNotificationContainerToBody();const t=document.getElementById("searchAccessibility");t&&t.remove();const a=document.createElement("span");a.setAttribute("id","searchAccessibility"),a.innerHTML=e;const s=document.getElementById("searchAccessibilityContainer");s&&s.appendChild(a)}}class we{constructor(e,t){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"routerHelper");n(this,"cachedPhrase","");n(this,"isCached",!1);n(this,"overlayOpened",!1);n(this,"facetPaginationStep");n(this,"facetPaginationStepMobile");n(this,"searchFacetsMainContainer",null);n(this,"searchFacetsMobileContainer",null);n(this,"searchFacetsDesktopContainer",null);n(this,"facetLimits",{});n(this,"facetLimitsMobile",{});n(this,"deactivatedFacets",{});n(this,"cachedData",null);n(this,"cacheFacets");n(this,"onFacetSelect",(e,t,a,s,r)=>{if(e.stopPropagation(),!t.disabled){const i=a.querySelector("input");let c=s?i.checked:!i.checked;r!==void 0&&(c=!r),i.checked=c;const o=this.dataLayer.searchObject;let h=[...o.facets];const u=this.extractFacetValue(t);c?h.find(d=>P.deepEqual(d,u)?d:!1)||(this.config.facetingType==="tabs"&&(h=h.filter(d=>d.name!==u.name)),h.push(u)):h=h.filter(p=>!P.deepEqual(p,u)),setTimeout(()=>{this.dataLayer.setSearchObject({...o,facets:h,page:1}),this.config.facetingType==="tabs"&&this.renderMainTemplate(this.generateTemplateData(),!0)},0)}});this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,typeof document<"u"&&(this.searchFacetsMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.needCache&&t(),this.initializeSubscriptions()}get needCache(){return this.config.facetingType==="showUnavailable"||this.config.facetingType==="or"||this.config.facetingType==="tabs"}get needDisabling(){return this.config.facetingType==="showUnavailable"}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchResults.subscribe(e=>{e&&(this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets()),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return{type:this.config.facetingType,name:e.parentName,value:e.value}}applyFacetLimits(e,t){const a=t?this.facetPaginationStepMobile:this.facetPaginationStep,s=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{s[r.name]||(s[r.name]=a)}),e.map(r=>({...r,values:r.values.slice(0,s[r.name]),showingAllFacets:r.values.length<=s[r.name],hasMoreFacets:r.values.length>a}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(s=>{var i;const r=(i=this.dataLayer.searchFacets)==null?void 0:i.find(c=>c.name===s.name);return r?{...s,values:s.values.map(o=>{const h=r.values.find(u=>o.type==="range"?!1:o.type==="checkbox"?u.value===o.value:!1);return{...o,disabled:!h,isMobile:e}})}:{...s,values:s.values.map(o=>({...o,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(s=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(s.name)}));const a={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(a),a}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,a){var s,r,i,c,o,h,u,p,d,C,v,y;if(typeof document<"u"){const f=document==null?void 0:document.createElement("div");f.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||f.classList.add("active");const b=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:i.template)||((c=g.facets.facetItemContainerTemplate)==null?void 0:c.template);f.innerHTML=m.render(b,e),t.appendChild(f);const L=f.querySelector("."+(((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:u.facetListTitleContainerClass)||((p=g.facets.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)));L==null||L.addEventListener("click",()=>{f.classList.toggle("active")});const k=f.querySelector("."+(((v=(C=(d=this.config)==null?void 0:d.templates)==null?void 0:C.facetItemContainerTemplate)==null?void 0:v.facetListContainerClass)||((y=g.facets.facetItemContainerTemplate)==null?void 0:y.facetListContainerClass)));k&&(e.values.forEach(I=>{this.createFacetListItem(I,k)}),e.hasMoreFacets&&this.createHasMoreComponent(e,k,a))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>P.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var a,s,r,i,c,o,h,u,p,d,C,v,y;if(typeof document<"u"){const f=document==null?void 0:document.createElement("div");f.classList.add("searchstax-facet-value-container"),e.disabled&&f.classList.add("searchstax-facet-value-disabled");const b=this.isChecked(e),L=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.facetItemTemplate)==null?void 0:r.template)||((i=g.facets.facetItemTemplate)==null?void 0:i.template);f.innerHTML=m.render(L,{...e,isChecked:b});let k=(c=g.facets.facetItemTemplate)==null?void 0:c.checkTriggerClasses;k=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.facetItemTemplate)==null?void 0:u.checkTriggerClasses)||k,k.forEach(I=>{var x;(x=f.querySelector("."+I))==null||x.addEventListener("click",F=>{this.onFacetSelect(F,e,f)})}),(y=f.querySelector("."+(((C=(d=(p=this.config)==null?void 0:p.templates)==null?void 0:d.facetItemTemplate)==null?void 0:C.inputCheckboxClass)||((v=g.facets.facetItemTemplate)==null?void 0:v.inputCheckboxClass))))==null||y.addEventListener("click",I=>{this.onFacetSelect(I,e,f,!0)}),t.appendChild(f)}}createHasMoreComponent(e,t,a){var s,r,i,c,o,h,u,p;if(typeof document<"u"){const d=document==null?void 0:document.createElement("div");d.classList.add("searchstax-facet-show-more-container");const C=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:i.template)||((c=g.facets.showMoreButtonContainerTemplate)==null?void 0:c.template);d.innerHTML=m.render(C,e);const v=d.querySelector("."+(((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:u.showMoreButtonClass)||((p=g.facets.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)));v&&(this.attachOnclickToShowMore(e,v,a),t&&t.appendChild(v))}}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)}),t.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.onShowMoreLessClick(s,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const s=a?this.facetPaginationStepMobile:this.facetPaginationStep,r=a?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=s*2:r[t.name]<=t.values.length?(V.setAccessibilityText(`More Facets shown for ${t.label}`),r[t.name]=r[t.name]+s):(V.setAccessibilityText(`Less Facets shown for ${t.label}`),r[t.name]=s),this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,i,c,o,h,u,p,d,C;if(e&&(!P.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const v=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((i=g.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===T.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=m.render(v,{...e});const y=(u=this.searchFacetsMainContainer)==null?void 0:u.querySelector("."+(((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||g.facets.mainTemplateDesktop.facetsContainerClass));if(y){y.innerHTML="";for(const f of e.facets)this.createFacetItem(f,y);if(this.searchFacetsMainContainer){const f=this.searchFacetsMainContainer.querySelector("."+(((C=(d=(p=this.config)==null?void 0:p.templates)==null?void 0:d.mainTemplateDesktop)==null?void 0:C.selectedFacetsContainerClass)||g.facets.mainTemplateDesktop.selectedFacetsContainerClass));f&&(this.createSelectedFacetsComponents(f),this.createClearFacetsComponents(f))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const s=decodeURIComponent(a.name),r=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=i==null?void 0:i.find(o=>o.name===s);if(c){const o=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${r}"`:!1);o&&e.push(o)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var t,a,s,r,i,c,o,h;if(typeof document<"u"){const u=this.dataLayer.searchObject,p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=g.facets.clearFacetsTemplate)==null?void 0:r.template),d=document==null?void 0:document.createElement("div");d.innerHTML=m.render(p,{shouldShow:u.facets.length>0});const C=d.querySelector("."+(((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:o.containerClass)||((h=g.facets.clearFacetsTemplate)==null?void 0:h.containerClass)));C&&(C.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(C))}}createSelectedFacetsComponent(e,t){var a,s,r,i,c,o,h,u;if(typeof document<"u"){const p=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((i=g.facets.selectedFacetsTemplate)==null?void 0:i.template),d=document==null?void 0:document.createElement("div");d.innerHTML=m.render(p,t);const C=d.querySelector("."+(((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.selectedFacetsTemplate)==null?void 0:h.containerClass)||((u=g.facets.selectedFacetsTemplate)==null?void 0:u.containerClass)));C&&(C.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(C))}}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(s=>JSON.stringify(s)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,a,s,r,i,c,o,h;if(typeof document<"u"){const u=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=g.facets.filterByTemplate)==null?void 0:r.template),p=document==null?void 0:document.createElement("div");p.innerHTML=m.render(u,{});const d=p.querySelector("."+(((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.filterByTemplate)==null?void 0:o.containerClass)||((h=g.facets.filterByTemplate)==null?void 0:h.containerClass)));d&&(e.prepend(d),d.addEventListener("click",this.openOverlay.bind(this)))}}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,s,r,i,c,o,h,u,p,d,C,v,y,f,b,L,k,I;if(e&&typeof document<"u"){const x=document==null?void 0:document.createElement("div");x.classList.add("searchstax-facets-container-mobile");const F=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=g.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===T.mustache){if(x.innerHTML=m.render(F,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(x),(o=(c=this.config)==null?void 0:c.templates)!=null&&o.mainTemplateMobile)for(const O of((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const q=x.querySelector("."+O);q&&q.addEventListener("click",this.closeOverlay.bind(this))}else for(const O of g.facets.mainTemplateMobile.closeOverlayTriggerClasses){const q=x.querySelector("."+O);q&&q.addEventListener("click",this.closeOverlay.bind(this))}const N=x.querySelector("."+(((v=(C=(d=this.config)==null?void 0:d.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:v.filterByContainerClass)||g.facets.mainTemplateMobile.filterByContainerClass));N&&this.createFilterByComponent(N);const w=x.querySelector("."+(((b=(f=(y=this.config)==null?void 0:y.templates)==null?void 0:f.mainTemplateMobile)==null?void 0:b.selectedFacetsContainerClass)||g.facets.mainTemplateMobile.selectedFacetsContainerClass));w&&(this.createSelectedFacetsComponents(w),this.createClearFacetsComponents(w));const W=x.querySelector("."+(((I=(k=(L=this.config)==null?void 0:L.templates)==null?void 0:k.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||g.facets.mainTemplateMobile.facetsContainerClass));if(W){W.innerHTML="";for(const O of e.facets)this.createFacetItem(O,W,!0)}}}}}class Pe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"previousButtonClass");n(this,"nextButtonClass");n(this,"loadMoreButtonClass");n(this,"routerHelper");n(this,"searchPaginationMainContainer",null);var t,a,s,r,i,c,o,h,u;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.previousButtonClass)??g.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.nextButtonClass)??g.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:u.loadMoreButtonClass)??g.pagination.infiniteScrollTemplate.loadMoreButtonClass,typeof document<"u"&&(this.searchPaginationMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var t,a,s,r;const e={...this.dataLayer.parsedData.data,previousPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)-1}),nextPageLink:(r=this.routerHelper)==null?void 0:r.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(e),e}goToPage(e,t){const a=this.dataLayer.searchObject;a&&(a.page=e,this.dataLayer.setSearchObject(a)),t||window==null||window.scrollTo(0,0)}nextPage(e){var t;e==null||e.preventDefault(),e==null||e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1,this.dataLayer.isInfiniteScroll)}previousPage(e){var t;e==null||e.preventDefault(),e==null||e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass),a=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&(e.addEventListener("click",this.previousPage.bind(this)),e.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.previousPage(s)})),t&&(t.addEventListener("click",this.nextPage.bind(this)),t.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)})),a&&(a.addEventListener("click",this.nextPage.bind(this)),a.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)}))}}renderMainTemplate(e){var a,s,r,i,c,o,h,u,p,d;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));let t=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.template)||((o=g.pagination.mainTemplate)==null?void 0:o.template);this.dataLayer.isInfiniteScroll&&(t=((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.infiniteScrollTemplate)==null?void 0:p.template)||((d=g.pagination.infiniteScrollTemplate)==null?void 0:d.template)),this.dataLayer.renderingEngine===T.mustache&&(this.searchPaginationMainContainer.innerHTML=m.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Ee{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"relatedSearchesContainerClass");n(this,"searchRelatedSearchesMainContainer",null);n(this,"track");var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.relatedSearchesContainerClass)||g.relatedSearches.main.relatedSearchesContainerClass,typeof document<"u"&&(this.searchRelatedSearchesMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var a,s,r,i,c;if(typeof document<"u"){const o=document==null?void 0:document.createElement("div"),h=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||g.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===T.mustache){o.innerHTML=m.render(h,e);const u=o.querySelector("."+(((c=(i=this.config.templates)==null?void 0:i.relatedSearch)==null?void 0:c.relatedSearchContainerClass)||g.relatedSearches.relatedSearch.relatedSearchContainerClass));u&&(t.appendChild(u),u.addEventListener("click",()=>{this.executeSearch(e)}),u.addEventListener("keyup",p=>{(p.code==="Space"||p.code==="Enter")&&this.executeSearch(e)}))}}}executeSearch(e){const t=this.dataLayer.searchObject;t.query=e.related_search,this.dataLayer.setSearchObject(t),this.track(e)}renderMainTemplate(e){var a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.relatedSearches.main.template;if(this.dataLayer.renderingEngine===T.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=m.render(t,e);const c=(i=this.searchRelatedSearchesMainContainer)==null?void 0:i.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const o of e.relatedSearches)this.addRelatedSearchComponent(o,c)}}}class Fe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"searchFeedbackMainContainer",null);n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,typeof document<"u"&&(this.searchFeedbackMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchFeedbackData(e),e}onOriginalQueryClick(e){var a;e.stopPropagation(),e.preventDefault();const t=(a=e.target)==null?void 0:a.innerHTML;this.searchTrigger(t,!0)}attachClick(){var t,a,s,r,i;const e=(i=this.searchFeedbackMainContainer)==null?void 0:i.querySelector("."+(((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.originalQueryClass)||((r=g.searchFeedback.main)==null?void 0:r.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.searchFeedback.main.template;this.dataLayer.renderingEngine===T.mustache&&(this.searchFeedbackMainContainer.innerHTML=m.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Me{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"suggestAfterMinChars");n(this,"containerId");n(this,"currentInputValue","");n(this,"autosuggestResults");n(this,"searchInput");n(this,"actionButton");n(this,"autosuggestContainer");n(this,"buttonState","search");n(this,"selectedAutosuggestItem",-1);n(this,"suggestTrigger");n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,a,s;if(typeof document<"u"){const r=document==null?void 0:document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const i=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||g.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===T.mustache){const h=m.render(i,{});r.innerHTML=h}const c=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||g.searchInput.mainTemplate.searchInputId,o=document==null?void 0:document.querySelector(`#${c}`);if(o)this.searchInput=o,o.addEventListener("keyup",this.inputKeyupEvent.bind(this)),o.addEventListener("blur",this.hideAutosuggest.bind(this)),o.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===T.mustache&&typeof document<"u"&&(this.autosuggestContainer=document==null?void 0:document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){typeof document<"u"&&(this.actionButton=document==null?void 0:document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))}))}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");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(){if(typeof document<"u"){const e=document==null?void 0:document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):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.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},200)}cleanSuggestionTerm(e){return E.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var s,r,i;const t=document==null?void 0:document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const a=((r=(s=this.config.templates)==null?void 0:s.autosuggestItemTemplate)==null?void 0:r.template)||((i=g.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=m.render(a,e),t}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const a=e.suggest[t];for(const s in a)if(Object.prototype.hasOwnProperty.call(a,s)){const r=a[s];this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(i=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Ae{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"linkClickCallback");n(this,"searchCallback");n(this,"containerId");n(this,"searchResultsMainContainer");n(this,"searchResultsContainer");n(this,"searchResultLinks",[]);this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,setTimeout(()=>{this.dataLayer.setSearchObject({...this.dataLayer.searchObject,itemsPerPage:this.config.resultsPerPage||10})},0),this.containerId=e.containerId;const t=document==null?void 0:document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.dataLayer.setIsInfiniteScroll(e.config.renderMethod==="infiniteScroll"),this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchObject.subscribe(()=>{V.setAccessibilityText("Searching...")}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,s,r,i,c;const e=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.noSearchResultTemplate)==null?void 0:r.template)||((i=g.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((c=this.dataLayer.searchResultsMetadata)==null?void 0:c.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===T.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=m.render(e,{spellingSuggestion:t,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),t&&this.searchResultsContainer){const o=this.searchResultsContainer.querySelector("a");o&&o.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,s,r,i;if(this.dataLayer.renderingEngine===T.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)V.setAccessibilityText(""),this.renderNoResultsTemplate();else{V.setAccessibilityText("Results are returned. Press tab to navigate through results");const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=g.searchResults.searchResultTemplate)==null?void 0:r.template),o=e.map(h=>m.render(c,h));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=o.join(""):this.searchResultsContainer.innerHTML=o.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}get uniqueIdAttribute(){var e,t,a,s;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((s=g.searchResults.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)}),e.addEventListener("keydown",t=>{if(t.code==="Space"||t.code==="Enter"){const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)}})})}renderMainTemplate(){var t,a,s,r;const e=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=g.searchResults.mainTemplate)==null?void 0:r.template);this.dataLayer.renderingEngine===T.mustache&&(this.searchResultsMainContainer.innerHTML=m.render(e,{}),setTimeout(()=>{var o,h,u,p,d,C,v;const i=(u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.mainTemplate)!=null&&u.searchResultsContainerId?(C=(d=(p=this.config)==null?void 0:p.templates)==null?void 0:d.mainTemplate)==null?void 0:C.searchResultsContainerId:(v=g.searchResults.mainTemplate)==null?void 0:v.searchResultsContainerId,c=document==null?void 0:document.getElementById(i);if(c)this.searchResultsContainer=c;else throw new Error(`Search Results Container with id ${i} not found`)},0))}}class De{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"selectId");n(this,"searchSortingMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.selectId)||g.sorting.main.selectId,this.searchSortingMainContainer=document==null?void 0:document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchSortingData(e),e}setOrderQuery(e){const t=this.dataLayer.searchObject;t&&(t.order=e,this.dataLayer.setSearchObject(t))}markOptionSelected(){const e=document==null?void 0:document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.sorting.main.template;if(this.dataLayer.renderingEngine===T.mustache){this.searchSortingMainContainer.innerHTML=m.render(t,e),this.markOptionSelected();const i=document==null?void 0:document.getElementById(this.selectId);i&&i.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class Oe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,typeof document<"u"&&(this.answerContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)})}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.answer.main.template;this.dataLayer.renderingEngine===T.mustache&&(this.answerContainer.innerHTML=m.render(t,e))}}class qe{constructor(e=T.mustache){n(this,"routerEnabled",!1);n(this,"cachedQuery","");n(this,"routerHelper");n(this,"searchHelper");n(this,"searchResultsConfig");n(this,"searchPaginationConfig");n(this,"searchFeedbackConfig");n(this,"searchSortingConfig");n(this,"searchFacetsConfig");n(this,"relatedSearchesConfig");n(this,"externalPromotionsConfig");n(this,"searchInputWidget");n(this,"searchResultsWidget");n(this,"searchFacetsWidget");n(this,"searchPaginationWidget");n(this,"searchFeedbackWidget");n(this,"searchSortingWidget");n(this,"relatedSearchesWidget");n(this,"externalPromotionsWidget");n(this,"answerWidget");n(this,"dataLayer");n(this,"firstRequest",!0);n(this,"renderEngine",T.mustache);e&&(this.renderEngine=e)}setRenderingEngine(e=T.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{var s;a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),this.dataLayer.turnAIAnswerGenerationOn===!0&&((s=this.searchHelper)==null||s.startSSE(a.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&$.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}attachAnalyticsScript(e){const t=e||"https://static.searchstax.com/studio-js/v3/js/studio-analytics.js";var a=document.createElement("script");a.type="text/javascript",a.src=t;var s=document.getElementsByTagName("script")[0];s.parentNode&&s.parentNode.insertBefore(a,s)}initialize(e){var t,a;if(this.dataLayer=new Z("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.turnAIAnswerGenerationOn===!0&&(this.dataLayer.turnAIAnswerGenerationOn=!0),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new te({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0){this.routerEnabled=!0,this.routerHelper=new _(e.router?e.router:{enabled:!0});const s=this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"");this.dataLayer.searchObject.itemsPerPage&&(s.itemsPerPage=this.dataLayer.searchObject.itemsPerPage),this.dataLayer.setSearchObject(s),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"",this.dataLayer.searchObject.itemsPerPage))})}else this.routerHelper=new _({})}search(e){if(this.searchHelper){const t=this.dataLayer.forceNotCorrect;this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var r;const a=(((r=e.response)==null?void 0:r.docs)??[]).map((i,c)=>({...i,position:c+1})),s=[];for(const i of a)s.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&$.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponse(e){var r,i;this.handleRouter();let t=H.combineResultsWithMetadata(e),a=H.extractFacets(e);this.dataLayer.setSearchFacets(a),(i=(r=this.dataLayer.searchstaxConfig)==null?void 0:r.hooks)!=null&&i.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const s=H.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(s),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==M.question&&e!==M.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var a,s;let t=e;(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.afterAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(t)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Me({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.setAnswerData(""),this.answerWidget=new Oe({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Ae({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Fe({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new De({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Ee({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Ie({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var r,i;const a={...this.dataLayer.searchObject};a.query=E.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let s=(r=this.routerHelper)==null?void 0:r.searchObjectToParams(a);s&&(s=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(s)),s&&(a.additionalProps=Object.keys(s).map(c=>s?{key:c,value:s[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(a),this.dataLayer.lastSearchValue=a.query}executeSuggest(e){var a,s;let t={term:e,queryParams:[]};(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.beforeAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(t)),t&&t.term!==void 0&&t.queryParams!==void 0&&this.suggest(t.term,t.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&$.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,s;let t=H.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((s=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&s.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&($.trackClick({result:t,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{typeof window<"u"&&(window.location.href=(t==null?void 0:t.url)??"")},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){var t,a,s;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(s=this.searchResultsWidget)==null||s.changeTemplate())}}exports.Searchstax=qe;
235
+ `,selectId:"searchstax-search-order-select"}};class g{}n(g,"answer",Ce),n(g,"externalPromotions",Se),n(g,"facets",be),n(g,"pagination",Le),n(g,"relatedSearches",ve),n(g,"searchFeedback",xe),n(g,"searchInput",Te),n(g,"searchResults",ke),n(g,"sorting",Re);class Ie{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"externalPromotionsContainerId");n(this,"searchExternalPromotionsMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((a=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:a.externalPromotionsContainerId)||g.externalPromotions.mainTemplate.externalPromotionsContainerId,typeof document<"u"&&(this.searchExternalPromotionsMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchExternalPromotions.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data,externalPromotions:this.dataLayer.parsedData.externalPromotions};return this.dataLayer.setExternalPromotionsData(e),e}addExternalSearch(e){var a,s,r,i;const t=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(t){const c=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.externalPromotion)==null?void 0:r.template)||((i=g.externalPromotions.externalPromotion)==null?void 0:i.template);if(typeof document<"u"){const o=document==null?void 0:document.createElement("div");o.classList.add("searchstax-external-promotion"),o.addEventListener("click",h=>{this.trackClick(e,h)}),o.innerHTML=m.render(c,e),t.appendChild(o)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplate)==null?void 0:r.template)||((i=g.externalPromotions.mainTemplate)==null?void 0:i.template);if(this.dataLayer.renderingEngine===T.mustache){this.searchExternalPromotionsMainContainer.innerHTML=m.render(t,e);const c=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;c&&(c.innerHTML="");for(const o of e.externalPromotions)this.addExternalSearch(o)}}}class V{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById("searchAccessibilityContainer")){const t=document.createElement("div");t.setAttribute("aria-live","polite"),t.setAttribute("id","searchAccessibilityContainer"),document.body.appendChild(t)}}static setAccessibilityText(e){this.addAccessibilityNotificationContainerToBody();const t=document.getElementById("searchAccessibility");t&&t.remove();const a=document.createElement("span");a.setAttribute("id","searchAccessibility"),a.innerHTML=e;const s=document.getElementById("searchAccessibilityContainer");s&&s.appendChild(a)}}class we{constructor(e,t){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"routerHelper");n(this,"cachedPhrase","");n(this,"isCached",!1);n(this,"overlayOpened",!1);n(this,"facetPaginationStep");n(this,"facetPaginationStepMobile");n(this,"searchFacetsMainContainer",null);n(this,"searchFacetsMobileContainer",null);n(this,"searchFacetsDesktopContainer",null);n(this,"facetLimits",{});n(this,"facetLimitsMobile",{});n(this,"deactivatedFacets",{});n(this,"cachedData",null);n(this,"cacheFacets");n(this,"onFacetSelect",(e,t,a,s,r)=>{if(e.stopPropagation(),!t.disabled){const i=a.querySelector("input");let c=s?i.checked:!i.checked;r!==void 0&&(c=!r),i.checked=c;const o=this.dataLayer.searchObject;let h=[...o.facets];const u=this.extractFacetValue(t);c?h.find(d=>P.deepEqual(d,u)?d:!1)||(this.config.facetingType==="tabs"&&(h=h.filter(d=>d.name!==u.name)),h.push(u)):h=h.filter(p=>!P.deepEqual(p,u)),setTimeout(()=>{this.dataLayer.setSearchObject({...o,facets:h,page:1}),this.config.facetingType==="tabs"&&this.renderMainTemplate(this.generateTemplateData(),!0)},0)}});this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,typeof document<"u"&&(this.searchFacetsMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.needCache&&t(),this.initializeSubscriptions()}get needCache(){return this.config.facetingType==="showUnavailable"||this.config.facetingType==="or"||this.config.facetingType==="tabs"}get needDisabling(){return this.config.facetingType==="showUnavailable"}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchResults.subscribe(e=>{e&&(this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets()),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return{type:this.config.facetingType,name:e.parentName,value:e.value}}applyFacetLimits(e,t){const a=t?this.facetPaginationStepMobile:this.facetPaginationStep,s=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{s[r.name]||(s[r.name]=a)}),e.map(r=>({...r,values:r.values.slice(0,s[r.name]),showingAllFacets:r.values.length<=s[r.name],hasMoreFacets:r.values.length>a}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(s=>{var i;const r=(i=this.dataLayer.searchFacets)==null?void 0:i.find(c=>c.name===s.name);return r?{...s,values:s.values.map(o=>{const h=r.values.find(u=>o.type==="range"?!1:o.type==="checkbox"?u.value===o.value:!1);return{...o,disabled:!h,isMobile:e}})}:{...s,values:s.values.map(o=>({...o,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(s=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(s.name)}));const a={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(a),a}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,a){var s,r,i,c,o,h,u,p,d,C,v,y;if(typeof document<"u"){const f=document==null?void 0:document.createElement("div");f.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||f.classList.add("active");const b=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:i.template)||((c=g.facets.facetItemContainerTemplate)==null?void 0:c.template);f.innerHTML=m.render(b,e),t.appendChild(f);const L=f.querySelector("."+(((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:u.facetListTitleContainerClass)||((p=g.facets.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)));L==null||L.addEventListener("click",()=>{f.classList.toggle("active")});const k=f.querySelector("."+(((v=(C=(d=this.config)==null?void 0:d.templates)==null?void 0:C.facetItemContainerTemplate)==null?void 0:v.facetListContainerClass)||((y=g.facets.facetItemContainerTemplate)==null?void 0:y.facetListContainerClass)));k&&(e.values.forEach(I=>{this.createFacetListItem(I,k)}),e.hasMoreFacets&&this.createHasMoreComponent(e,k,a))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>P.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var a,s,r,i,c,o,h,u,p,d,C,v,y;if(typeof document<"u"){const f=document==null?void 0:document.createElement("div");f.classList.add("searchstax-facet-value-container"),e.disabled&&f.classList.add("searchstax-facet-value-disabled");const b=this.isChecked(e),L=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.facetItemTemplate)==null?void 0:r.template)||((i=g.facets.facetItemTemplate)==null?void 0:i.template);f.innerHTML=m.render(L,{...e,isChecked:b});let k=(c=g.facets.facetItemTemplate)==null?void 0:c.checkTriggerClasses;k=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.facetItemTemplate)==null?void 0:u.checkTriggerClasses)||k,k.forEach(I=>{var x;(x=f.querySelector("."+I))==null||x.addEventListener("click",F=>{this.onFacetSelect(F,e,f)})}),(y=f.querySelector("."+(((C=(d=(p=this.config)==null?void 0:p.templates)==null?void 0:d.facetItemTemplate)==null?void 0:C.inputCheckboxClass)||((v=g.facets.facetItemTemplate)==null?void 0:v.inputCheckboxClass))))==null||y.addEventListener("click",I=>{this.onFacetSelect(I,e,f,!0)}),t.appendChild(f)}}createHasMoreComponent(e,t,a){var s,r,i,c,o,h,u,p;if(typeof document<"u"){const d=document==null?void 0:document.createElement("div");d.classList.add("searchstax-facet-show-more-container");const C=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:i.template)||((c=g.facets.showMoreButtonContainerTemplate)==null?void 0:c.template);d.innerHTML=m.render(C,e);const v=d.querySelector("."+(((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:u.showMoreButtonClass)||((p=g.facets.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)));v&&(this.attachOnclickToShowMore(e,v,a),t&&t.appendChild(v))}}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)}),t.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.onShowMoreLessClick(s,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const s=a?this.facetPaginationStepMobile:this.facetPaginationStep,r=a?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=s*2:r[t.name]<=t.values.length?(V.setAccessibilityText(`More Facets shown for ${t.label}`),r[t.name]=r[t.name]+s):(V.setAccessibilityText(`Less Facets shown for ${t.label}`),r[t.name]=s),this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,i,c,o,h,u,p,d,C;if(e&&(!P.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const v=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((i=g.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===T.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=m.render(v,{...e});const y=(u=this.searchFacetsMainContainer)==null?void 0:u.querySelector("."+(((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||g.facets.mainTemplateDesktop.facetsContainerClass));if(y){y.innerHTML="";for(const f of e.facets)this.createFacetItem(f,y);if(this.searchFacetsMainContainer){const f=this.searchFacetsMainContainer.querySelector("."+(((C=(d=(p=this.config)==null?void 0:p.templates)==null?void 0:d.mainTemplateDesktop)==null?void 0:C.selectedFacetsContainerClass)||g.facets.mainTemplateDesktop.selectedFacetsContainerClass));f&&(this.createSelectedFacetsComponents(f),this.createClearFacetsComponents(f))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const s=decodeURIComponent(a.name),r=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=i==null?void 0:i.find(o=>o.name===s);if(c){const o=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${r}"`:!1);o&&e.push(o)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var t,a,s,r,i,c,o,h;if(typeof document<"u"){const u=this.dataLayer.searchObject,p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=g.facets.clearFacetsTemplate)==null?void 0:r.template),d=document==null?void 0:document.createElement("div");d.innerHTML=m.render(p,{shouldShow:u.facets.length>0});const C=d.querySelector("."+(((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:o.containerClass)||((h=g.facets.clearFacetsTemplate)==null?void 0:h.containerClass)));C&&(C.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(C))}}createSelectedFacetsComponent(e,t){var a,s,r,i,c,o,h,u;if(typeof document<"u"){const p=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((i=g.facets.selectedFacetsTemplate)==null?void 0:i.template),d=document==null?void 0:document.createElement("div");d.innerHTML=m.render(p,t);const C=d.querySelector("."+(((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.selectedFacetsTemplate)==null?void 0:h.containerClass)||((u=g.facets.selectedFacetsTemplate)==null?void 0:u.containerClass)));C&&(C.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(C))}}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(s=>JSON.stringify(s)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,a,s,r,i,c,o,h;if(typeof document<"u"){const u=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=g.facets.filterByTemplate)==null?void 0:r.template),p=document==null?void 0:document.createElement("div");p.innerHTML=m.render(u,{});const d=p.querySelector("."+(((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.filterByTemplate)==null?void 0:o.containerClass)||((h=g.facets.filterByTemplate)==null?void 0:h.containerClass)));d&&(e.prepend(d),d.addEventListener("click",this.openOverlay.bind(this)))}}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,s,r,i,c,o,h,u,p,d,C,v,y,f,b,L,k,I;if(e&&typeof document<"u"){const x=document==null?void 0:document.createElement("div");x.classList.add("searchstax-facets-container-mobile");const F=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=g.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===T.mustache){if(x.innerHTML=m.render(F,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(x),(o=(c=this.config)==null?void 0:c.templates)!=null&&o.mainTemplateMobile)for(const q of((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const H=x.querySelector("."+q);H&&H.addEventListener("click",this.closeOverlay.bind(this))}else for(const q of g.facets.mainTemplateMobile.closeOverlayTriggerClasses){const H=x.querySelector("."+q);H&&H.addEventListener("click",this.closeOverlay.bind(this))}const N=x.querySelector("."+(((v=(C=(d=this.config)==null?void 0:d.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:v.filterByContainerClass)||g.facets.mainTemplateMobile.filterByContainerClass));N&&this.createFilterByComponent(N);const w=x.querySelector("."+(((b=(f=(y=this.config)==null?void 0:y.templates)==null?void 0:f.mainTemplateMobile)==null?void 0:b.selectedFacetsContainerClass)||g.facets.mainTemplateMobile.selectedFacetsContainerClass));w&&(this.createSelectedFacetsComponents(w),this.createClearFacetsComponents(w));const W=x.querySelector("."+(((I=(k=(L=this.config)==null?void 0:L.templates)==null?void 0:k.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||g.facets.mainTemplateMobile.facetsContainerClass));if(W){W.innerHTML="";for(const q of e.facets)this.createFacetItem(q,W,!0)}}}}}class Pe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"previousButtonClass");n(this,"nextButtonClass");n(this,"loadMoreButtonClass");n(this,"routerHelper");n(this,"searchPaginationMainContainer",null);var t,a,s,r,i,c,o,h,u;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.previousButtonClass)??g.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.nextButtonClass)??g.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:u.loadMoreButtonClass)??g.pagination.infiniteScrollTemplate.loadMoreButtonClass,typeof document<"u"&&(this.searchPaginationMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var t,a,s,r;const e={...this.dataLayer.parsedData.data,previousPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)-1}),nextPageLink:(r=this.routerHelper)==null?void 0:r.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(e),e}goToPage(e,t){const a=this.dataLayer.searchObject;a&&(a.page=e,this.dataLayer.setSearchObject(a)),t||window==null||window.scrollTo(0,0)}nextPage(e){var t;e==null||e.preventDefault(),e==null||e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1,this.dataLayer.isInfiniteScroll)}previousPage(e){var t;e==null||e.preventDefault(),e==null||e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass),a=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&(e.addEventListener("click",this.previousPage.bind(this)),e.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.previousPage(s)})),t&&(t.addEventListener("click",this.nextPage.bind(this)),t.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)})),a&&(a.addEventListener("click",this.nextPage.bind(this)),a.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)}))}}renderMainTemplate(e){var a,s,r,i,c,o,h,u,p,d;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));let t=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.template)||((o=g.pagination.mainTemplate)==null?void 0:o.template);this.dataLayer.isInfiniteScroll&&(t=((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.infiniteScrollTemplate)==null?void 0:p.template)||((d=g.pagination.infiniteScrollTemplate)==null?void 0:d.template)),this.dataLayer.renderingEngine===T.mustache&&(this.searchPaginationMainContainer.innerHTML=m.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Ee{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"relatedSearchesContainerClass");n(this,"searchRelatedSearchesMainContainer",null);n(this,"track");var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.relatedSearchesContainerClass)||g.relatedSearches.main.relatedSearchesContainerClass,typeof document<"u"&&(this.searchRelatedSearchesMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var a,s,r,i,c;if(typeof document<"u"){const o=document==null?void 0:document.createElement("div"),h=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||g.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===T.mustache){o.innerHTML=m.render(h,e);const u=o.querySelector("."+(((c=(i=this.config.templates)==null?void 0:i.relatedSearch)==null?void 0:c.relatedSearchContainerClass)||g.relatedSearches.relatedSearch.relatedSearchContainerClass));u&&(t.appendChild(u),u.addEventListener("click",()=>{this.executeSearch(e)}),u.addEventListener("keyup",p=>{(p.code==="Space"||p.code==="Enter")&&this.executeSearch(e)}))}}}executeSearch(e){const t=this.dataLayer.searchObject;t.query=e.related_search,this.dataLayer.setSearchObject(t),this.track(e)}renderMainTemplate(e){var a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.relatedSearches.main.template;if(this.dataLayer.renderingEngine===T.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=m.render(t,e);const c=(i=this.searchRelatedSearchesMainContainer)==null?void 0:i.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const o of e.relatedSearches)this.addRelatedSearchComponent(o,c)}}}class Fe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"searchFeedbackMainContainer",null);n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,typeof document<"u"&&(this.searchFeedbackMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchFeedbackData(e),e}onOriginalQueryClick(e){var a;e.stopPropagation(),e.preventDefault();const t=(a=e.target)==null?void 0:a.innerHTML;this.searchTrigger(t,!0)}attachClick(){var t,a,s,r,i;const e=(i=this.searchFeedbackMainContainer)==null?void 0:i.querySelector("."+(((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.originalQueryClass)||((r=g.searchFeedback.main)==null?void 0:r.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.searchFeedback.main.template;this.dataLayer.renderingEngine===T.mustache&&(this.searchFeedbackMainContainer.innerHTML=m.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Me{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"suggestAfterMinChars");n(this,"containerId");n(this,"currentInputValue","");n(this,"autosuggestResults");n(this,"searchInput");n(this,"actionButton");n(this,"autosuggestContainer");n(this,"buttonState","search");n(this,"selectedAutosuggestItem",-1);n(this,"suggestTrigger");n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,a,s;if(typeof document<"u"){const r=document==null?void 0:document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const i=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||g.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===T.mustache){const h=m.render(i,{});r.innerHTML=h}const c=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||g.searchInput.mainTemplate.searchInputId,o=document==null?void 0:document.querySelector(`#${c}`);if(o)this.searchInput=o,o.addEventListener("keyup",this.inputKeyupEvent.bind(this)),o.addEventListener("blur",this.hideAutosuggest.bind(this)),o.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===T.mustache&&typeof document<"u"&&(this.autosuggestContainer=document==null?void 0:document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){typeof document<"u"&&(this.actionButton=document==null?void 0:document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))}))}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");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(){if(typeof document<"u"){const e=document==null?void 0:document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):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.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},200)}cleanSuggestionTerm(e){return E.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var s,r,i;const t=document==null?void 0:document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const a=((r=(s=this.config.templates)==null?void 0:s.autosuggestItemTemplate)==null?void 0:r.template)||((i=g.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=m.render(a,e),t}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const a=e.suggest[t];for(const s in a)if(Object.prototype.hasOwnProperty.call(a,s)){const r=a[s];this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(i=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Ae{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"linkClickCallback");n(this,"searchCallback");n(this,"containerId");n(this,"searchResultsMainContainer");n(this,"searchResultsContainer");n(this,"searchResultLinks",[]);this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,setTimeout(()=>{this.dataLayer.setSearchObject({...this.dataLayer.searchObject,itemsPerPage:this.config.resultsPerPage||10})},0),this.containerId=e.containerId;const t=document==null?void 0:document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.dataLayer.setIsInfiniteScroll(e.config.renderMethod==="infiniteScroll"),this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchObject.subscribe(()=>{V.setAccessibilityText("Searching...")}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,s,r,i,c;const e=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.noSearchResultTemplate)==null?void 0:r.template)||((i=g.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((c=this.dataLayer.searchResultsMetadata)==null?void 0:c.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===T.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=m.render(e,{spellingSuggestion:t,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),t&&this.searchResultsContainer){const o=this.searchResultsContainer.querySelector("a");o&&o.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,s,r,i;if(this.dataLayer.renderingEngine===T.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)V.setAccessibilityText(""),this.renderNoResultsTemplate();else{V.setAccessibilityText("Results are returned. Press tab to navigate through results");const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=g.searchResults.searchResultTemplate)==null?void 0:r.template),o=e.map(h=>m.render(c,h));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=o.join(""):this.searchResultsContainer.innerHTML=o.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}get uniqueIdAttribute(){var e,t,a,s;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((s=g.searchResults.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)}),e.addEventListener("keydown",t=>{if(t.code==="Space"||t.code==="Enter"){const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)}})})}renderMainTemplate(){var t,a,s,r;const e=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=g.searchResults.mainTemplate)==null?void 0:r.template);this.dataLayer.renderingEngine===T.mustache&&(this.searchResultsMainContainer.innerHTML=m.render(e,{}),setTimeout(()=>{var o,h,u,p,d,C,v;const i=(u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.mainTemplate)!=null&&u.searchResultsContainerId?(C=(d=(p=this.config)==null?void 0:p.templates)==null?void 0:d.mainTemplate)==null?void 0:C.searchResultsContainerId:(v=g.searchResults.mainTemplate)==null?void 0:v.searchResultsContainerId,c=document==null?void 0:document.getElementById(i);if(c)this.searchResultsContainer=c;else throw new Error(`Search Results Container with id ${i} not found`)},0))}}class De{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"selectId");n(this,"searchSortingMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.selectId)||g.sorting.main.selectId,this.searchSortingMainContainer=document==null?void 0:document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchSortingData(e),e}setOrderQuery(e){const t=this.dataLayer.searchObject;t&&(t.order=e,this.dataLayer.setSearchObject(t))}markOptionSelected(){const e=document==null?void 0:document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.sorting.main.template;if(this.dataLayer.renderingEngine===T.mustache){this.searchSortingMainContainer.innerHTML=m.render(t,e),this.markOptionSelected();const i=document==null?void 0:document.getElementById(this.selectId);i&&i.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class Oe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,typeof document<"u"&&(this.answerContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)})}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.answer.main.template;this.dataLayer.renderingEngine===T.mustache&&(this.answerContainer.innerHTML=m.render(t,e))}}class qe{constructor(e=T.mustache){n(this,"routerEnabled",!1);n(this,"cachedQuery","");n(this,"routerHelper");n(this,"searchHelper");n(this,"searchResultsConfig");n(this,"searchPaginationConfig");n(this,"searchFeedbackConfig");n(this,"searchSortingConfig");n(this,"searchFacetsConfig");n(this,"relatedSearchesConfig");n(this,"externalPromotionsConfig");n(this,"searchInputWidget");n(this,"searchResultsWidget");n(this,"searchFacetsWidget");n(this,"searchPaginationWidget");n(this,"searchFeedbackWidget");n(this,"searchSortingWidget");n(this,"relatedSearchesWidget");n(this,"externalPromotionsWidget");n(this,"answerWidget");n(this,"dataLayer");n(this,"firstRequest",!0);n(this,"renderEngine",T.mustache);e&&(this.renderEngine=e)}setRenderingEngine(e=T.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{var s;a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),this.dataLayer.turnAIAnswerGenerationOn===!0&&((s=this.searchHelper)==null||s.startSSE(a.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&A.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}attachAnalyticsScript(e){const t=e||"https://static.searchstax.com/studio-js/v3/js/studio-analytics.js";var a=document.createElement("script");a.type="text/javascript",a.src=t;var s=document.getElementsByTagName("script")[0];s.parentNode&&s.parentNode.insertBefore(a,s)}initialize(e){var t,a;if(this.dataLayer=new Z("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.turnAIAnswerGenerationOn===!0&&(this.dataLayer.turnAIAnswerGenerationOn=!0),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new te({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0){this.routerEnabled=!0,this.routerHelper=new _(e.router?e.router:{enabled:!0});const s=this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"");this.dataLayer.searchObject.itemsPerPage&&(s.itemsPerPage=this.dataLayer.searchObject.itemsPerPage),this.dataLayer.setSearchObject(s),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"",this.dataLayer.searchObject.itemsPerPage))})}else this.routerHelper=new _({})}search(e){if(this.searchHelper){const t=this.dataLayer.forceNotCorrect;this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var r;const a=(((r=e.response)==null?void 0:r.docs)??[]).map((i,c)=>({...i,position:c+1})),s=[];for(const i of a)s.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&A.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponse(e){var r,i;this.handleRouter();let t=$.combineResultsWithMetadata(e),a=$.extractFacets(e);this.dataLayer.setSearchFacets(a),(i=(r=this.dataLayer.searchstaxConfig)==null?void 0:r.hooks)!=null&&i.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const s=$.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(s),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==M.question&&e!==M.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var a,s;let t=e;(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.afterAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(t)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Me({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.setAnswerData(""),this.answerWidget=new Oe({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Ae({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Fe({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new De({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Ee({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Ie({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var r,i;const a={...this.dataLayer.searchObject};a.query=E.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let s=(r=this.routerHelper)==null?void 0:r.searchObjectToParams(a);s&&(s=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(s)),s&&(a.additionalProps=Object.keys(s).map(c=>s?{key:c,value:s[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(a),this.dataLayer.lastSearchValue=a.query}executeSuggest(e){var a,s;let t={term:e,queryParams:[]};(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.beforeAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(t)),t&&t.term!==void 0&&t.queryParams!==void 0&&this.suggest(t.term,t.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&A.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,s;let t=$.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((s=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&s.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&A.trackClick({result:t,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(t==null?void 0:t.url)??"")}).catch(()=>{}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){var t,a,s;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(s=this.searchResultsWidget)==null||s.changeTemplate())}}exports.Searchstax=qe;
@@ -1,10 +1,10 @@
1
- var qe=Object.defineProperty;var He=(F,S,M)=>S in F?qe(F,S,{enumerable:!0,configurable:!0,writable:!0,value:M}):F[S]=M;var n=(F,S,M)=>(He(F,typeof S!="symbol"?S+"":S,M),M);(function(F){"use strict";var S=(l=>(l[l.mustache=0]="mustache",l[l.vue=1]="vue",l[l.react=2]="react",l[l.angular=3]="angular",l))(S||{});class M{constructor(e){n(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(){return this.dataLayer.searchObject.itemsPerPage||0}get sortOptions(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.sorting.options)||[]}get selectedSortOption(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.sorting.selectedSortOption)||""}get startResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+1}get endResultIndex(){var t;const e=(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)*this.resultsPerPage+(this.resultsPerPage??0);return e>this.totalResults?this.totalResults:e}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 percentageOfResultsLoaded(){return this.endResultIndex/this.totalResults*100}get results(){return this.dataLayer.searchResults??[]}get autoCorrectedQuery(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.autoCorrectedQuery)||""}get originalQuery(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.query)||""}get getAnswerData(){return this.dataLayer.getAnswerData||""}get shouldShowAnswer(){return this.isFirstPage&&this.dataLayer.getAnswerData!==""&&this.dataLayer.searchObject.query!=="*"&&this.dataLayer.searchObject.facets.length===0}get searchTerm(){var e,t;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.autoCorrectedQuery)||((t=this.dataLayer.searchObject)==null?void 0:t.query)||""}get searchingEverything(){return this.searchTerm==="*"}get firstSearchHappened(){return this.dataLayer.firstSearchHappened}get isInfiniteScroll(){return this.dataLayer.isInfiniteScroll??!1}get searchExecuted(){var e,t,a;return((e=this.dataLayer.searchObject)==null?void 0:e.query)!==void 0&&((t=this.dataLayer.searchObject)==null?void 0:t.query)!=="undefined"&&((a=this.dataLayer.searchObject)==null?void 0:a.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(r=>{const i=r.name,c=r.value,o=e.find(h=>h.name===i);if(o){const h=o.values.find(u=>u.type==="range"?!1:u.type==="checkbox"?'"'+u.value+'"'===c:!1);if(h)return h}return null}).filter(r=>r!==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!=="undefined"?this.searchTerm:"",autoCorrectedQuery:this.autoCorrectedQuery,originalQuery:this.originalQuery,selectedFacets:this.selectedFacets,searchExecuted:this.searchExecuted,searchingEverything:this.searchingEverything,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,answer:this.getAnswerData,shouldShowAnswer:this.shouldShowAnswer,isInfiniteScroll:this.isInfiniteScroll,percentageOfResultsLoaded:this.percentageOfResultsLoaded,firstSearchHappened:this.firstSearchHappened,sortOptions:this.sortOptions,selectedSortOption:this.selectedSortOption}}get trackingData(){var e,t,a,s;return{searchTerm:this.dataLayer.searchTerm!=="undefined"?this.dataLayer.searchTerm:"",trackApiKey:((e=this.dataLayer.searchstaxConfig)==null?void 0:e.trackApiKey)??"",session:this.dataLayer.sessionIdValue,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:((s=this.dataLayer.searchResultsMetadata)==null?void 0:s.latency)??0}}}class P{static deepEqual(e,t){const a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(const r of a){const i=e[r],c=t[r],o=this.isObject(i)&&this.isObject(c);if(o&&!this.deepEqual(i,c)||!o&&i!==c)return!1}return!0}static isObject(e){return e!=null&&typeof e=="object"}}class b{constructor(e){n(this,"value");n(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{static getOrSetCookie(e,t){let a=this.getCookie(e);return a==null&&(a=t??this.makeid(25),this.setCookie(e,a,{secure:!0,"max-age":3600})),a}static deleteCookie(e){this.getCookie(e)&&this.setCookie(e,"",{secure:!0,"max-age":-1})}static makeid(e){let t="";const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=a.length;for(let r=0;r<e;r++)t+=a.charAt(Math.floor(Math.random()*s));return t}static getCookie(e){const t=typeof document<"u"?document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[\]\\/+^])/g,"\\$1")+"=([^;]*)")):null;return t?decodeURIComponent(t[1]):void 0}static setCookie(e,t,a){const s={path:"/",...a};a.expires instanceof Date&&(s.expires=a.expires.toUTCString());let r=encodeURIComponent(e)+"="+encodeURIComponent(t);for(const i in s){r+="; "+i;const c=s[i];c!==!0&&(r+="="+c)}typeof document<"u"&&(document.cookie=r)}}class E{static removeXSSRiskyTags(e){var t="script|style|iframe|object|embed|form|input|button",a=new RegExp("</?("+t+")(\\s[^>]*)?>","gi");return e?e.replace(a,""):""}}class Y{constructor(e,t){n(this,"$searchTermChange",new b(""));n(this,"$loadingChange",new b(!1));n(this,"$searchResults",new b(null));n(this,"$searchResultsMetadata",new b(null));n(this,"$searchAutosuggest",new b(null));n(this,"$searchFacets",new b(null));n(this,"$searchFacetsCached",new b(null));n(this,"$searchstaxConfig",new b(null));n(this,"$autosuggestResults",new b(null));n(this,"$searchObject",new b({query:"",itemsPerPage:null,page:99999999,order:"",facets:[],additionalProps:[]}));n(this,"$searchRelatedSearches",new b(null));n(this,"$searchInputConfig",new b(null));n(this,"$searchExternalPromotions",new b(null));n(this,"$facetsTemplateData",new b(null));n(this,"$selectedFacetsTemplateData",new b(null));n(this,"$paginationData",new b(null));n(this,"$searchFeedbackData",new b(null));n(this,"$searchSortingData",new b(null));n(this,"$searchRelatedSearchesData",new b(null));n(this,"$searchExternalPromotionsData",new b(null));n(this,"$cookiesDisabled",new b(null));n(this,"$answer",new b(""));n(this,"$language",new b("en"));n(this,"currentPageValue",1);n(this,"isAnswerWidgetCreatedValue",!1);n(this,"renderingEngineValue",S.mustache);n(this,"parsedData",new M(this));n(this,"sessionId");n(this,"sessionIdValue",null);n(this,"autoCorrect",!0);n(this,"forceNotCorrect",!1);n(this,"lastSearchValue","");n(this,"turnAIAnswerGenerationOn",!1);n(this,"isInfiniteScroll",!1);n(this,"firstSearchHappened",!1);n(this,"facetsWereSet",!1);this.sessionId=e,t&&(this.sessionIdValue=t),this.cookieHandlingCallback(t),this.$cookiesDisabled.subscribe(()=>{this.cookieHandlingCallback(t)})}cookieHandlingCallback(e){this.cookiesDisabled?(this.sessionIdValue=null,Q.deleteCookie(this.sessionId),Q.deleteCookie("ms_visitorid")):this.sessionIdValue=Q.getOrSetCookie(this.sessionId,e)}setIsInfiniteScroll(e){this.isInfiniteScroll=e}setSearchTerm(e){this.$searchTermChange.setValue(E.removeXSSRiskyTags(e))}setRenderingEngine(e){this.renderingEngineValue=e}setCurrentPage(e){this.currentPageValue=e}setIsAnswerWidgetCreated(e){this.isAnswerWidgetCreatedValue=e}setLoading(e){this.$loadingChange.setValue(e)}setSearchResults(e){this.firstSearchHappened=!0,(!P.deepEqual(e,this.searchResults??[""])||this.facetsWereSet)&&(this.facetsWereSet=!1,this.$searchResults.setValue(e))}setSearchResultsMetadata(e){P.deepEqual(e,this.searchResultsMetadata??{})||this.$searchResultsMetadata.setValue(e)}setSearchAutosuggest(e){this.$searchAutosuggest.setValue(e)}setSearchObject(e){var a,s;let t=e;(s=(a=this.searchstaxConfig)==null?void 0:a.hooks)!=null&&s.beforeSearch&&t&&(t=this.searchstaxConfig.hooks.beforeSearch(t)),t&&(!P.deepEqual(t,this.searchObject??{})||this.forceNotCorrect)&&this.$searchObject.setValue(t)}setSearchFacets(e){this.facetsWereSet=!0,P.deepEqual(e,this.searchFacets??[])||this.$searchFacets.setValue(e)}setSearchFacetsCached(e){P.deepEqual(e,this.searchFacetsCached??[])||this.$searchFacetsCached.setValue(e)}setSearchRelatedSearches(e){P.deepEqual(e,this.searchRelatedSearches??[])||this.$searchRelatedSearches.setValue(e)}setSearchExternalPromotions(e){P.deepEqual(e,this.searchExternalPromotions??[])||this.$searchExternalPromotions.setValue(e)}setLanguage(e){this.$language.setValue(e)}setSearchstaxConfig(e){this.$searchstaxConfig.setValue(e)}setSearchInputConfig(e){this.$searchInputConfig.setValue(e)}setAutosuggestResults(e){this.$autosuggestResults.setValue(e)}setFacetsTemplateData(e){this.$facetsTemplateData.setValue(e)}setSelectedFacetsTemplateData(e){this.$selectedFacetsTemplateData.setValue(e)}setPaginationData(e){this.$paginationData.setValue(e)}setSearchFeedbackData(e){this.$searchFeedbackData.setValue(e)}setSearchSortingData(e){this.$searchSortingData.setValue(e)}setRelatedSearchesData(e){this.$searchRelatedSearchesData.setValue(e)}setExternalPromotionsData(e){this.$searchExternalPromotionsData.setValue(e)}setCookiesDisabled(e){this.$cookiesDisabled.setValue(e)}setAnswerData(e){this.$answer.setValue(e)}get getAnswerData(){return this.$answer.getValue()}get searchstaxConfig(){return this.$searchstaxConfig.getValue()}get searchFacets(){return this.$searchFacets.getValue()?JSON.parse(JSON.stringify(this.$searchFacets.getValue())):null}get searchFacetsCached(){return this.$searchFacetsCached.getValue()?JSON.parse(JSON.stringify(this.$searchFacetsCached.getValue())):null}get searchResults(){return this.$searchResults.getValue()?JSON.parse(JSON.stringify(this.$searchResults.getValue())):null}get searchTerm(){return this.$searchTermChange.getValue()}get loading(){return this.$loadingChange.getValue()}get searchAutosuggest(){return this.$searchAutosuggest.getValue()}get searchResultsMetadata(){return this.$searchResultsMetadata.getValue()?JSON.parse(JSON.stringify(this.$searchResultsMetadata.getValue())):null}get currentPage(){return this.$searchObject.getValue().page??this.currentPageValue}get isAnswerWidgetCreated(){return this.isAnswerWidgetCreatedValue}get renderingEngine(){return this.renderingEngineValue}get searchObject(){return JSON.parse(JSON.stringify(this.$searchObject.getValue()))}get searchRelatedSearches(){return this.$searchRelatedSearches.getValue()?JSON.parse(JSON.stringify(this.$searchRelatedSearches.getValue())):null}get searchExternalPromotions(){return this.$searchExternalPromotions.getValue()?JSON.parse(JSON.stringify(this.$searchExternalPromotions.getValue())):null}get language(){return this.$language.getValue()}get searchInputConfig(){return this.$searchInputConfig.getValue()}get answerConfig(){return this.$answer.getValue()}get autosuggestResults(){return this.$autosuggestResults.getValue()}get facetsTemplateData(){return this.$facetsTemplateData.getValue()}get selectedFacetsTemplateData(){return this.$selectedFacetsTemplateData.getValue()}get paginationData(){return this.$paginationData.getValue()}get searchFeedbackData(){return this.$searchFeedbackData.getValue()}get searchSortingData(){return this.$searchSortingData.getValue()}get searchRelatedSearchesData(){return this.$searchRelatedSearchesData.getValue()}get searchExternalPromotionsData(){return this.$searchExternalPromotionsData.getValue()}get cookiesDisabled(){return(this.$cookiesDisabled.getValue()??!1)||!navigator.cookieEnabled}}class H{static combineResultsWithMetadata(e){const t=[],a=parseInt(e.response.start+"");return parseInt(e.responseHeader.params.rows),e.response.docs.forEach((s,r)=>{const c={custom:null,uniqueId:s[e.responseHeader.params.uniqueId]??"",position:a+1+r,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(c)}),t}static extractFacets(e){const t=[];if(e.metadata.facets)for(const a of e.metadata.facets){let s={values:[]};if(s.name=a.name,s.label=a.label,a.name in e.facet_counts.facet_fields){const r=e.facet_counts.facet_fields[a.name];for(let i=0;i<r.length;i+=2){const c={};c.value=r[i],c.parentName=s.name,c.count=r[i+1],c.type="checkbox",s.values.push(c)}}s.values.length>0&&t.push(s)}return t}static extractSearchResultsMetadata(e){var r,i,c,o,h,u;let t="",a={selectedSortOption:"",options:[]},s=(r=e.metadata.results.find(p=>p.result_card==="date"))==null?void 0:r.name;if(a.options=[{key:"",value:"Relevance"},{key:s+" desc",value:"Most Recent"}],(i=e.metadata.sorts)!=null&&i.length){const p=e.metadata.sorts.map(d=>({value:d.label,key:d.name+" "+d.order}));a.options=[{key:"",value:"Relevance"},...p]}return t=((u=(h=(o=(c=e==null?void 0:e.spellcheck)==null?void 0:c.suggestions)==null?void 0:o[1])==null?void 0:h.suggestion)==null?void 0:u[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,autoCorrectedQuery:e.responseHeader.params.autoCorrectedQ??"",impressions:this.getImpressions(e),sorting:a}}static getImpressions(e){const t=[],a=this.combineResultsWithMetadata(e);for(const s in a){const r=a[s],i={};i.cDocId=this.getDataForAnalytics(r.uniqueId),r.title&&(i.cDocTitle=this.getDataForAnalytics(r.title)),i.position=r.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(r=>r.result_card==="").map(r=>r.name),s=[];for(const r of Object.keys(e))if(a.indexOf(r)!==-1){const i=Array.isArray(e[r])?e[r].join(", "):e[r];s.push({key:r,value:i,isImage:this.checkIfImage(e[r])})}return s}static checkIfImage(e){return e===void 0?!1:typeof e!="string"?Array.isArray(e)&&e[0]?/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e[0]):!1:/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e)}static getAllFields(e,t){const a=t.metadata.results.map(r=>r.name),s=[];for(const r of Object.keys(e))a.indexOf(r)!==-1&&s.push({key:r,value:e[r],isImage:this.checkIfImage(e[r])});return s}static doesMapExist(e,t){return t.metadata.results.find(a=>a.result_card===e)!==void 0}static getValueByKey(e,t,a){const s=a.metadata.results.find(i=>i.result_card===e);if(s===void 0)return null;const r=t[s.name];return r===void 0?null:typeof r=="string"?r:Array.isArray(r)?r.join(", "):null}}class J{constructor(e){n(this,"routeName","searchstax");n(this,"ignoredKeys",[]);n(this,"queryStringHelper");n(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=typeof document<"u"?document==null?void 0:document.title:"";this.titleParser&&(a=this.titleParser(e)),typeof document<"u"&&(document.title=a),(window==null?void 0:window.location.href)!==t&&(window==null||window.history.pushState({},a,t))}searchObjectToUrl(e){return this.queryStringHelper.urlHasQueryParams((window==null?void 0:window.location.href)??"")?(window==null?void 0:window.location.href.split("?")[0])+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys}):(window==null?void 0:window.location.href)+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys})}searchObjectToParams(e){const t={},a=e.page||1;if(e.query&&(t[this.routeName+"[query]"]=encodeURIComponent(e.query)),e.page&&(t[this.routeName+"[page]"]=a+""),e.order&&(t[this.routeName+"[order]"]=e.order),e.facets)for(const s in e.facets){const r=e.facets[s].type+":"+encodeURIComponent(e.facets[s].name)+":"+encodeURIComponent(e.facets[s].value);t[this.routeName+`[facets][${s}]`]=r}if(this.queryStringHelper.urlHasQueryParams((window==null?void 0:window.location.href)??"")){const s=this.queryStringHelper.urlToParams((window==null?void 0:window.location.href)??"");for(const r in s)r.startsWith(this.routeName)&&delete s[r];return{...s,...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){var a,s,r;const t=[];for(const i in e)if(i.startsWith(this.routeName+"[facets]")){const c=E.removeXSSRiskyTags((a=e[i].split(":"))==null?void 0:a[0]),o=E.removeXSSRiskyTags(decodeURIComponent((s=e[i].split(":"))==null?void 0:s[1])),h=E.removeXSSRiskyTags(decodeURIComponent((r=e[i].split(":"))==null?void 0:r[2]));t.push({type:c,name:o,value:h})}return t}urlToSearchObject(e,t){const a=this.queryStringHelper.urlToParams(e),s=E.removeXSSRiskyTags(decodeURIComponent(a[this.routeName+"[page]"])),r=parseInt(s),i=isNaN(r)?1:r;return{query:E.removeXSSRiskyTags(decodeURIComponent(a[this.routeName+"[query]"]))||"",page:i,itemsPerPage:t,order:E.removeXSSRiskyTags(a[this.routeName+"[order]"])||"",facets:this.extractArrayOfFacetsFromQueryParameters(a)||[]}}}class Z{constructor(e){n(this,"routeName","");n(this,"stringify",(e,t)=>{const a=this.filterOutIgnoredKeys(e,t.ignoredKeys);return Object.keys(a).map(s=>{const r=a[s];return Array.isArray(r)?r.map(i=>`${s}=${i}`).join("&"):`${s}=${r}`}).join("&")});this.routeName=e}filterOutIgnoredKeys(e,t){const a=t||[],s={};return Object.keys(e).forEach(r=>{a.includes(r)||e[r]!==""&&(s[r]=e[r])}),s}urlToParams(e){const t={},a=e.split("?")[1];return a&&a.split("&").forEach(s=>{const[r,i]=s.split("=");t[r]=i}),t}doesParamContainRouteName(e){return e.indexOf(this.routeName)!==-1}urlHasQueryParams(e){return e.indexOf("?")!==-1}}const D={questionURL:"http://smartsearch-dev.searchstax.co/completion/?q=",question:"I_AM_A_QUESTION",notQuestion:"I_AM_NOT_A_QUESTION",close:"CLOSE"};class ee{constructor(e,t){n(this,"cachedQuery","");n(this,"url","");n(this,"relatedSearches","");n(this,"suggester","");n(this,"authHeader");n(this,"authHeaderRelated");n(this,"trackApiKey","");n(this,"session","");n(this,"searchAuthType");n(this,"searchAuth","");n(this,"controllerSearch");n(this,"signalSearch");n(this,"controllerSuggest");n(this,"signalSuggest");n(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.forEach(function(s){const r=s.name+':"'+s.value+'"';a=a.concat("fq="+decodeURIComponent(r).replace(" "," "))});else{const s={};e.forEach(function(r){const i=r.name+":"+r.value,c=decodeURIComponent(i).replace(" "," ").split(":");s[c[0]]?s[c[0]].push(c[1]):s[c[0]]=[c[1]]});for(const r in s)if(Object.prototype.hasOwnProperty.call(s,r)){const i=s[r],c=r;let o="";for(const h of i)o+=` ${c}:"${h}"`;a=a.concat("fq="+o.trim())}}return a.length?"&"+a.join("&"):""}getRelatedSearches(e,t,a,s){const r=new Headers;r.append("Accept","application/json"),r.append("Authorization",a),fetch(t+"?search="+encodeURIComponent(e.query)+"&language="+this.dataLayer.language,{method:"GET",headers:r,credentials:"same-origin"}).then(i=>i.json()).then(i=>{s(i)})}cacheFacets(){this.dataLayer.searchObject.query!==this.cachedQuery&&(this.cachedQuery=this.dataLayer.searchObject.query,this.search({query:this.dataLayer.searchObject.query??"*",itemsPerPage:10,page:1,order:"",facets:[],additionalProps:this.dataLayer.searchObject.additionalProps},this.cacheFacetsCallback.bind(this),!0))}cacheFacetsCallback(e){let t=H.extractFacets(e);this.dataLayer.setSearchFacetsCached(t)}search(e,t,a=!1,s=!1){if(e.query&&e.query!=="undefined"&&e.itemsPerPage!==void 0){this.dataLayer.setSearchTerm(e.query),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const r=new Proxy(new URLSearchParams((window==null?void 0:window.location.search)??""),{get:(d,C)=>d.get(C)??""}),i=r.languageVariant?"&fq=_language:"+r.languageVariant:"";let c=e.itemsPerPage,o=e.itemsPerPage*(e.page-1),h=e.order?`&sort=${e.order}`:"";const u=this.url+"?q="+encodeURIComponent(e.query.trim())+"&start="+o+this.toQueryString(e.additionalProps??[])+this.generateFacetQuery(e.facets.filter(d=>d.type==="or"||d.type==="showUnavailable"),!0)+this.generateFacetQuery(e.facets.filter(d=>d.type==="and"||d.type==="tabs"),!1)+h+`&spellcheck.correct=${this.dataLayer.autoCorrect&&!s}&rows=${c}&language=`+this.dataLayer.language+i,p={method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch};a&&delete p.signal,fetch(u,p).then(d=>d.json()).then(d=>{this.dataLayer.setLoading(!1),t(d)}).catch(()=>{this.dataLayer.setLoading(!1)})}}startSSE(e,t){if(!this.dataLayer.turnAIAnswerGenerationOn||e==="*"||this.dataLayer.lastSearchValue===e||this.dataLayer.searchObject.facets.length>0||this.dataLayer.searchObject.page!==1)return;const a=new EventSource(D.questionURL+e),s=this.dataLayer;a.onmessage=function(r){if(r.data===D.question||r.data===D.notQuestion){s.setAnswerData("");return}if(r.data===D.close){a.close();return}t(r.data)},a.onerror=function(){a.close()}}suggest(e,t,a){this.controllerSuggest&&this.controllerSuggest.abort(),this.controllerSuggest=new AbortController,this.signalSuggest=this.controllerSuggest.signal;const s=this.suggester+"?q="+e.trim()+this.toQueryString(a)+"&language="+this.dataLayer.language;fetch(s,{method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSuggest}).then(r=>r.json()).then(r=>{t(r)}).catch(()=>()=>{})}fields(){return this.fields}toQueryString(e){if(e.length===0)return"";const t=[];for(const a of e)t.push(encodeURIComponent(a.key)+"="+encodeURIComponent(a.value));return"&"+t.join("&")}}class ${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};setTimeout(()=>{t.key&&this.msq().push(["trackClick",t])},0)}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};setTimeout(()=>{t.key&&this.msq().push(["track",t])},0)}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};setTimeout(()=>{t.key&&this.msq().push(["trackRelatedSearchClick",t])},0)}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};setTimeout(()=>{t.key&&this.msq().push(["trackRelatedSearch",t])},0)}}n($,"msq",()=>typeof window<"u"&&(window!=null&&window._msq)?window==null?void 0:window._msq:[]);/*!
1
+ var qe=Object.defineProperty;var He=(F,S,M)=>S in F?qe(F,S,{enumerable:!0,configurable:!0,writable:!0,value:M}):F[S]=M;var n=(F,S,M)=>(He(F,typeof S!="symbol"?S+"":S,M),M);(function(F){"use strict";var S=(l=>(l[l.mustache=0]="mustache",l[l.vue=1]="vue",l[l.react=2]="react",l[l.angular=3]="angular",l))(S||{});class M{constructor(e){n(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(){return this.dataLayer.searchObject.itemsPerPage||0}get sortOptions(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.sorting.options)||[]}get selectedSortOption(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.sorting.selectedSortOption)||""}get startResultIndex(){var e;return(((e=this.dataLayer.searchObject)==null?void 0:e.page)-1)*this.resultsPerPage+1}get endResultIndex(){var t;const e=(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)*this.resultsPerPage+(this.resultsPerPage??0);return e>this.totalResults?this.totalResults:e}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 percentageOfResultsLoaded(){return this.endResultIndex/this.totalResults*100}get results(){return this.dataLayer.searchResults??[]}get autoCorrectedQuery(){var e;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.autoCorrectedQuery)||""}get originalQuery(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.query)||""}get getAnswerData(){return this.dataLayer.getAnswerData||""}get shouldShowAnswer(){return this.isFirstPage&&this.dataLayer.getAnswerData!==""&&this.dataLayer.searchObject.query!=="*"&&this.dataLayer.searchObject.facets.length===0}get searchTerm(){var e,t;return((e=this.dataLayer.searchResultsMetadata)==null?void 0:e.autoCorrectedQuery)||((t=this.dataLayer.searchObject)==null?void 0:t.query)||""}get searchingEverything(){return this.searchTerm==="*"}get firstSearchHappened(){return this.dataLayer.firstSearchHappened}get isInfiniteScroll(){return this.dataLayer.isInfiniteScroll??!1}get searchExecuted(){var e,t,a;return((e=this.dataLayer.searchObject)==null?void 0:e.query)!==void 0&&((t=this.dataLayer.searchObject)==null?void 0:t.query)!=="undefined"&&((a=this.dataLayer.searchObject)==null?void 0:a.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(r=>{const i=r.name,c=r.value,o=e.find(h=>h.name===i);if(o){const h=o.values.find(u=>u.type==="range"?!1:u.type==="checkbox"?'"'+u.value+'"'===c:!1);if(h)return h}return null}).filter(r=>r!==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!=="undefined"?this.searchTerm:"",autoCorrectedQuery:this.autoCorrectedQuery,originalQuery:this.originalQuery,selectedFacets:this.selectedFacets,searchExecuted:this.searchExecuted,searchingEverything:this.searchingEverything,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,answer:this.getAnswerData,shouldShowAnswer:this.shouldShowAnswer,isInfiniteScroll:this.isInfiniteScroll,percentageOfResultsLoaded:this.percentageOfResultsLoaded,firstSearchHappened:this.firstSearchHappened,sortOptions:this.sortOptions,selectedSortOption:this.selectedSortOption}}get trackingData(){var e,t,a,s;return{searchTerm:this.dataLayer.searchTerm!=="undefined"?this.dataLayer.searchTerm:"",trackApiKey:((e=this.dataLayer.searchstaxConfig)==null?void 0:e.trackApiKey)??"",session:this.dataLayer.sessionIdValue,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:((s=this.dataLayer.searchResultsMetadata)==null?void 0:s.latency)??0}}}class P{static deepEqual(e,t){const a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(const r of a){const i=e[r],c=t[r],o=this.isObject(i)&&this.isObject(c);if(o&&!this.deepEqual(i,c)||!o&&i!==c)return!1}return!0}static isObject(e){return e!=null&&typeof e=="object"}}class b{constructor(e){n(this,"value");n(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{static getOrSetCookie(e,t){let a=this.getCookie(e);return a==null&&(a=t??this.makeid(25),this.setCookie(e,a,{secure:!0,"max-age":3600})),a}static deleteCookie(e){this.getCookie(e)&&this.setCookie(e,"",{secure:!0,"max-age":-1})}static makeid(e){let t="";const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=a.length;for(let r=0;r<e;r++)t+=a.charAt(Math.floor(Math.random()*s));return t}static getCookie(e){const t=typeof document<"u"?document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([.$?*|{}()[\]\\/+^])/g,"\\$1")+"=([^;]*)")):null;return t?decodeURIComponent(t[1]):void 0}static setCookie(e,t,a){const s={path:"/",...a};a.expires instanceof Date&&(s.expires=a.expires.toUTCString());let r=encodeURIComponent(e)+"="+encodeURIComponent(t);for(const i in s){r+="; "+i;const c=s[i];c!==!0&&(r+="="+c)}typeof document<"u"&&(document.cookie=r)}}class E{static removeXSSRiskyTags(e){var t="script|style|iframe|object|embed|form|input|button",a=new RegExp("</?("+t+")(\\s[^>]*)?>","gi");return e?e.replace(a,""):""}}class Y{constructor(e,t){n(this,"$searchTermChange",new b(""));n(this,"$loadingChange",new b(!1));n(this,"$searchResults",new b(null));n(this,"$searchResultsMetadata",new b(null));n(this,"$searchAutosuggest",new b(null));n(this,"$searchFacets",new b(null));n(this,"$searchFacetsCached",new b(null));n(this,"$searchstaxConfig",new b(null));n(this,"$autosuggestResults",new b(null));n(this,"$searchObject",new b({query:"",itemsPerPage:null,page:99999999,order:"",facets:[],additionalProps:[]}));n(this,"$searchRelatedSearches",new b(null));n(this,"$searchInputConfig",new b(null));n(this,"$searchExternalPromotions",new b(null));n(this,"$facetsTemplateData",new b(null));n(this,"$selectedFacetsTemplateData",new b(null));n(this,"$paginationData",new b(null));n(this,"$searchFeedbackData",new b(null));n(this,"$searchSortingData",new b(null));n(this,"$searchRelatedSearchesData",new b(null));n(this,"$searchExternalPromotionsData",new b(null));n(this,"$cookiesDisabled",new b(null));n(this,"$answer",new b(""));n(this,"$language",new b("en"));n(this,"currentPageValue",1);n(this,"isAnswerWidgetCreatedValue",!1);n(this,"renderingEngineValue",S.mustache);n(this,"parsedData",new M(this));n(this,"sessionId");n(this,"sessionIdValue",null);n(this,"autoCorrect",!0);n(this,"forceNotCorrect",!1);n(this,"lastSearchValue","");n(this,"turnAIAnswerGenerationOn",!1);n(this,"isInfiniteScroll",!1);n(this,"firstSearchHappened",!1);n(this,"facetsWereSet",!1);this.sessionId=e,t&&(this.sessionIdValue=t),this.cookieHandlingCallback(t),this.$cookiesDisabled.subscribe(()=>{this.cookieHandlingCallback(t)})}cookieHandlingCallback(e){this.cookiesDisabled?(this.sessionIdValue=null,Q.deleteCookie(this.sessionId),Q.deleteCookie("ms_visitorid")):this.sessionIdValue=Q.getOrSetCookie(this.sessionId,e)}setIsInfiniteScroll(e){this.isInfiniteScroll=e}setSearchTerm(e){this.$searchTermChange.setValue(E.removeXSSRiskyTags(e))}setRenderingEngine(e){this.renderingEngineValue=e}setCurrentPage(e){this.currentPageValue=e}setIsAnswerWidgetCreated(e){this.isAnswerWidgetCreatedValue=e}setLoading(e){this.$loadingChange.setValue(e)}setSearchResults(e){this.firstSearchHappened=!0,(!P.deepEqual(e,this.searchResults??[""])||this.facetsWereSet)&&(this.facetsWereSet=!1,this.$searchResults.setValue(e))}setSearchResultsMetadata(e){P.deepEqual(e,this.searchResultsMetadata??{})||this.$searchResultsMetadata.setValue(e)}setSearchAutosuggest(e){this.$searchAutosuggest.setValue(e)}setSearchObject(e){var a,s;let t=e;(s=(a=this.searchstaxConfig)==null?void 0:a.hooks)!=null&&s.beforeSearch&&t&&(t=this.searchstaxConfig.hooks.beforeSearch(t)),t&&(!P.deepEqual(t,this.searchObject??{})||this.forceNotCorrect)&&this.$searchObject.setValue(t)}setSearchFacets(e){this.facetsWereSet=!0,P.deepEqual(e,this.searchFacets??[])||this.$searchFacets.setValue(e)}setSearchFacetsCached(e){P.deepEqual(e,this.searchFacetsCached??[])||this.$searchFacetsCached.setValue(e)}setSearchRelatedSearches(e){P.deepEqual(e,this.searchRelatedSearches??[])||this.$searchRelatedSearches.setValue(e)}setSearchExternalPromotions(e){P.deepEqual(e,this.searchExternalPromotions??[])||this.$searchExternalPromotions.setValue(e)}setLanguage(e){this.$language.setValue(e)}setSearchstaxConfig(e){this.$searchstaxConfig.setValue(e)}setSearchInputConfig(e){this.$searchInputConfig.setValue(e)}setAutosuggestResults(e){this.$autosuggestResults.setValue(e)}setFacetsTemplateData(e){this.$facetsTemplateData.setValue(e)}setSelectedFacetsTemplateData(e){this.$selectedFacetsTemplateData.setValue(e)}setPaginationData(e){this.$paginationData.setValue(e)}setSearchFeedbackData(e){this.$searchFeedbackData.setValue(e)}setSearchSortingData(e){this.$searchSortingData.setValue(e)}setRelatedSearchesData(e){this.$searchRelatedSearchesData.setValue(e)}setExternalPromotionsData(e){this.$searchExternalPromotionsData.setValue(e)}setCookiesDisabled(e){this.$cookiesDisabled.setValue(e)}setAnswerData(e){this.$answer.setValue(e)}get getAnswerData(){return this.$answer.getValue()}get searchstaxConfig(){return this.$searchstaxConfig.getValue()}get searchFacets(){return this.$searchFacets.getValue()?JSON.parse(JSON.stringify(this.$searchFacets.getValue())):null}get searchFacetsCached(){return this.$searchFacetsCached.getValue()?JSON.parse(JSON.stringify(this.$searchFacetsCached.getValue())):null}get searchResults(){return this.$searchResults.getValue()?JSON.parse(JSON.stringify(this.$searchResults.getValue())):null}get searchTerm(){return this.$searchTermChange.getValue()}get loading(){return this.$loadingChange.getValue()}get searchAutosuggest(){return this.$searchAutosuggest.getValue()}get searchResultsMetadata(){return this.$searchResultsMetadata.getValue()?JSON.parse(JSON.stringify(this.$searchResultsMetadata.getValue())):null}get currentPage(){return this.$searchObject.getValue().page??this.currentPageValue}get isAnswerWidgetCreated(){return this.isAnswerWidgetCreatedValue}get renderingEngine(){return this.renderingEngineValue}get searchObject(){return JSON.parse(JSON.stringify(this.$searchObject.getValue()))}get searchRelatedSearches(){return this.$searchRelatedSearches.getValue()?JSON.parse(JSON.stringify(this.$searchRelatedSearches.getValue())):null}get searchExternalPromotions(){return this.$searchExternalPromotions.getValue()?JSON.parse(JSON.stringify(this.$searchExternalPromotions.getValue())):null}get language(){return this.$language.getValue()}get searchInputConfig(){return this.$searchInputConfig.getValue()}get answerConfig(){return this.$answer.getValue()}get autosuggestResults(){return this.$autosuggestResults.getValue()}get facetsTemplateData(){return this.$facetsTemplateData.getValue()}get selectedFacetsTemplateData(){return this.$selectedFacetsTemplateData.getValue()}get paginationData(){return this.$paginationData.getValue()}get searchFeedbackData(){return this.$searchFeedbackData.getValue()}get searchSortingData(){return this.$searchSortingData.getValue()}get searchRelatedSearchesData(){return this.$searchRelatedSearchesData.getValue()}get searchExternalPromotionsData(){return this.$searchExternalPromotionsData.getValue()}get cookiesDisabled(){return(this.$cookiesDisabled.getValue()??!1)||!navigator.cookieEnabled}}class ${static combineResultsWithMetadata(e){const t=[],a=parseInt(e.response.start+"");return parseInt(e.responseHeader.params.rows),e.response.docs.forEach((s,r)=>{const c={custom:null,uniqueId:s[e.responseHeader.params.uniqueId]??"",position:a+1+r,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(c)}),t}static extractFacets(e){const t=[];if(e.metadata.facets)for(const a of e.metadata.facets){let s={values:[]};if(s.name=a.name,s.label=a.label,a.name in e.facet_counts.facet_fields){const r=e.facet_counts.facet_fields[a.name];for(let i=0;i<r.length;i+=2){const c={};c.value=r[i],c.parentName=s.name,c.count=r[i+1],c.type="checkbox",s.values.push(c)}}s.values.length>0&&t.push(s)}return t}static extractSearchResultsMetadata(e){var r,i,c,o,h,u;let t="",a={selectedSortOption:"",options:[]},s=(r=e.metadata.results.find(p=>p.result_card==="date"))==null?void 0:r.name;if(a.options=[{key:"",value:"Relevance"},{key:s+" desc",value:"Most Recent"}],(i=e.metadata.sorts)!=null&&i.length){const p=e.metadata.sorts.map(d=>({value:d.label,key:d.name+" "+d.order}));a.options=[{key:"",value:"Relevance"},...p]}return t=((u=(h=(o=(c=e==null?void 0:e.spellcheck)==null?void 0:c.suggestions)==null?void 0:o[1])==null?void 0:h.suggestion)==null?void 0:u[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,autoCorrectedQuery:e.responseHeader.params.autoCorrectedQ??"",impressions:this.getImpressions(e),sorting:a}}static getImpressions(e){const t=[],a=this.combineResultsWithMetadata(e);for(const s in a){const r=a[s],i={};i.cDocId=this.getDataForAnalytics(r.uniqueId),r.title&&(i.cDocTitle=this.getDataForAnalytics(r.title)),i.position=r.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(r=>r.result_card==="").map(r=>r.name),s=[];for(const r of Object.keys(e))if(a.indexOf(r)!==-1){const i=Array.isArray(e[r])?e[r].join(", "):e[r];s.push({key:r,value:i,isImage:this.checkIfImage(e[r])})}return s}static checkIfImage(e){return e===void 0?!1:typeof e!="string"?Array.isArray(e)&&e[0]?/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e[0]):!1:/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i.test(e)}static getAllFields(e,t){const a=t.metadata.results.map(r=>r.name),s=[];for(const r of Object.keys(e))a.indexOf(r)!==-1&&s.push({key:r,value:e[r],isImage:this.checkIfImage(e[r])});return s}static doesMapExist(e,t){return t.metadata.results.find(a=>a.result_card===e)!==void 0}static getValueByKey(e,t,a){const s=a.metadata.results.find(i=>i.result_card===e);if(s===void 0)return null;const r=t[s.name];return r===void 0?null:typeof r=="string"?r:Array.isArray(r)?r.join(", "):null}}class J{constructor(e){n(this,"routeName","searchstax");n(this,"ignoredKeys",[]);n(this,"queryStringHelper");n(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=typeof document<"u"?document==null?void 0:document.title:"";this.titleParser&&(a=this.titleParser(e)),typeof document<"u"&&(document.title=a),(window==null?void 0:window.location.href)!==t&&(window==null||window.history.pushState({},a,t))}searchObjectToUrl(e){return this.queryStringHelper.urlHasQueryParams((window==null?void 0:window.location.href)??"")?(window==null?void 0:window.location.href.split("?")[0])+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys}):(window==null?void 0:window.location.href)+"?"+this.queryStringHelper.stringify(this.searchObjectToParams(e),{ignoredKeys:this.ignoredKeys})}searchObjectToParams(e){const t={},a=e.page||1;if(e.query&&(t[this.routeName+"[query]"]=encodeURIComponent(e.query)),e.page&&(t[this.routeName+"[page]"]=a+""),e.order&&(t[this.routeName+"[order]"]=e.order),e.facets)for(const s in e.facets){const r=e.facets[s].type+":"+encodeURIComponent(e.facets[s].name)+":"+encodeURIComponent(e.facets[s].value);t[this.routeName+`[facets][${s}]`]=r}if(this.queryStringHelper.urlHasQueryParams((window==null?void 0:window.location.href)??"")){const s=this.queryStringHelper.urlToParams((window==null?void 0:window.location.href)??"");for(const r in s)r.startsWith(this.routeName)&&delete s[r];return{...s,...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){var a,s,r;const t=[];for(const i in e)if(i.startsWith(this.routeName+"[facets]")){const c=E.removeXSSRiskyTags((a=e[i].split(":"))==null?void 0:a[0]),o=E.removeXSSRiskyTags(decodeURIComponent((s=e[i].split(":"))==null?void 0:s[1])),h=E.removeXSSRiskyTags(decodeURIComponent((r=e[i].split(":"))==null?void 0:r[2]));t.push({type:c,name:o,value:h})}return t}urlToSearchObject(e,t){const a=this.queryStringHelper.urlToParams(e),s=E.removeXSSRiskyTags(decodeURIComponent(a[this.routeName+"[page]"])),r=parseInt(s),i=isNaN(r)?1:r;return{query:E.removeXSSRiskyTags(decodeURIComponent(a[this.routeName+"[query]"]))||"",page:i,itemsPerPage:t,order:E.removeXSSRiskyTags(a[this.routeName+"[order]"])||"",facets:this.extractArrayOfFacetsFromQueryParameters(a)||[]}}}class Z{constructor(e){n(this,"routeName","");n(this,"stringify",(e,t)=>{const a=this.filterOutIgnoredKeys(e,t.ignoredKeys);return Object.keys(a).map(s=>{const r=a[s];return Array.isArray(r)?r.map(i=>`${s}=${i}`).join("&"):`${s}=${r}`}).join("&")});this.routeName=e}filterOutIgnoredKeys(e,t){const a=t||[],s={};return Object.keys(e).forEach(r=>{a.includes(r)||e[r]!==""&&(s[r]=e[r])}),s}urlToParams(e){const t={},a=e.split("?")[1];return a&&a.split("&").forEach(s=>{const[r,i]=s.split("=");t[r]=i}),t}doesParamContainRouteName(e){return e.indexOf(this.routeName)!==-1}urlHasQueryParams(e){return e.indexOf("?")!==-1}}const D={questionURL:"http://smartsearch-dev.searchstax.co/completion/?q=",question:"I_AM_A_QUESTION",notQuestion:"I_AM_NOT_A_QUESTION",close:"CLOSE"};class ee{constructor(e,t){n(this,"cachedQuery","");n(this,"url","");n(this,"relatedSearches","");n(this,"suggester","");n(this,"authHeader");n(this,"authHeaderRelated");n(this,"trackApiKey","");n(this,"session","");n(this,"searchAuthType");n(this,"searchAuth","");n(this,"controllerSearch");n(this,"signalSearch");n(this,"controllerSuggest");n(this,"signalSuggest");n(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.forEach(function(s){const r=s.name+':"'+s.value+'"';a=a.concat("fq="+decodeURIComponent(r).replace(" "," "))});else{const s={};e.forEach(function(r){const i=r.name+":"+r.value,c=decodeURIComponent(i).replace(" "," ").split(":");s[c[0]]?s[c[0]].push(c[1]):s[c[0]]=[c[1]]});for(const r in s)if(Object.prototype.hasOwnProperty.call(s,r)){const i=s[r],c=r;let o="";for(const h of i)o+=` ${c}:"${h}"`;a=a.concat("fq="+o.trim())}}return a.length?"&"+a.join("&"):""}getRelatedSearches(e,t,a,s){const r=new Headers;r.append("Accept","application/json"),r.append("Authorization",a),fetch(t+"?search="+encodeURIComponent(e.query)+"&language="+this.dataLayer.language,{method:"GET",headers:r,credentials:"same-origin"}).then(i=>i.json()).then(i=>{s(i)})}cacheFacets(){this.dataLayer.searchObject.query!==this.cachedQuery&&(this.cachedQuery=this.dataLayer.searchObject.query,this.search({query:this.dataLayer.searchObject.query??"*",itemsPerPage:10,page:1,order:"",facets:[],additionalProps:this.dataLayer.searchObject.additionalProps},this.cacheFacetsCallback.bind(this),!0))}cacheFacetsCallback(e){let t=$.extractFacets(e);this.dataLayer.setSearchFacetsCached(t)}search(e,t,a=!1,s=!1){if(e.query&&e.query!=="undefined"&&e.itemsPerPage!==void 0){this.dataLayer.setSearchTerm(e.query),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const r=new Proxy(new URLSearchParams((window==null?void 0:window.location.search)??""),{get:(d,C)=>d.get(C)??""}),i=r.languageVariant?"&fq=_language:"+r.languageVariant:"";let c=e.itemsPerPage,o=e.itemsPerPage*(e.page-1),h=e.order?`&sort=${e.order}`:"";const u=this.url+"?q="+encodeURIComponent(e.query.trim())+"&start="+o+this.toQueryString(e.additionalProps??[])+this.generateFacetQuery(e.facets.filter(d=>d.type==="or"||d.type==="showUnavailable"),!0)+this.generateFacetQuery(e.facets.filter(d=>d.type==="and"||d.type==="tabs"),!1)+h+`&spellcheck.correct=${this.dataLayer.autoCorrect&&!s}&rows=${c}&language=`+this.dataLayer.language+i,p={method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch};a&&delete p.signal,fetch(u,p).then(d=>d.json()).then(d=>{this.dataLayer.setLoading(!1),t(d)}).catch(()=>{this.dataLayer.setLoading(!1)})}}startSSE(e,t){if(!this.dataLayer.turnAIAnswerGenerationOn||e==="*"||this.dataLayer.lastSearchValue===e||this.dataLayer.searchObject.facets.length>0||this.dataLayer.searchObject.page!==1)return;const a=new EventSource(D.questionURL+e),s=this.dataLayer;a.onmessage=function(r){if(r.data===D.question||r.data===D.notQuestion){s.setAnswerData("");return}if(r.data===D.close){a.close();return}t(r.data)},a.onerror=function(){a.close()}}suggest(e,t,a){this.controllerSuggest&&this.controllerSuggest.abort(),this.controllerSuggest=new AbortController,this.signalSuggest=this.controllerSuggest.signal;const s=this.suggester+"?q="+e.trim()+this.toQueryString(a)+"&language="+this.dataLayer.language;fetch(s,{method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSuggest}).then(r=>r.json()).then(r=>{t(r)}).catch(()=>()=>{})}fields(){return this.fields}toQueryString(e){if(e.length===0)return"";const t=[];for(const a of e)t.push(encodeURIComponent(a.key)+"="+encodeURIComponent(a.value));return"&"+t.join("&")}}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};return new Promise((a,s)=>{const r=["trackClick",t];t.key&&this.msq().push(r,(function(i,c){JSON.stringify(i)===JSON.stringify(t)&&c?a():s()}).bind(this))})}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};setTimeout(()=>{t.key&&this.msq().push(["track",t])},0)}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};setTimeout(()=>{t.key&&this.msq().push(["trackRelatedSearchClick",t])},0)}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};setTimeout(()=>{t.key&&this.msq().push(["trackRelatedSearch",t])},0)}}n(O,"subscribedToClickEvent",!1),n(O,"msq",()=>typeof window<"u"&&(window!=null&&window._msq)?window==null?void 0:window._msq:[]);/*!
2
2
  * mustache.js - Logic-less {{mustache}} templates with JavaScript
3
3
  * http://github.com/janl/mustache.js
4
- */var te=Object.prototype.toString,O=Array.isArray||function(e){return te.call(e)==="[object Array]"};function K(l){return typeof l=="function"}function ae(l){return O(l)?"array":typeof l}function _(l){return l.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function X(l,e){return l!=null&&typeof l=="object"&&e in l}function se(l,e){return l!=null&&typeof l!="object"&&l.hasOwnProperty&&l.hasOwnProperty(e)}var re=RegExp.prototype.test;function ie(l,e){return re.call(l,e)}var ne=/\S/;function ce(l){return!ie(ne,l)}var oe={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function le(l){return String(l).replace(/[&<>"'`=\/]/g,function(t){return oe[t]})}var he=/\s*/,ue=/\s+/,G=/\s*=/,de=/\s*\}/,ge=/#|\^|\/|>|\{|&|=|!/;function pe(l,e){if(!l)return[];var t=!1,a=[],s=[],r=[],i=!1,c=!1,o="",h=0;function u(){if(i&&!c)for(;r.length;)delete s[r.pop()];else r=[];i=!1,c=!1}var p,d,C;function x(w){if(typeof w=="string"&&(w=w.split(ue,2)),!O(w)||w.length!==2)throw new Error("Invalid tags: "+w);p=new RegExp(_(w[0])+"\\s*"),d=new RegExp("\\s*"+_(w[1])),C=new RegExp("\\s*"+_("}"+w[1]))}x(e||m.tags);for(var y=new V(l),f,L,v,k,I,T;!y.eos();){if(f=y.pos,v=y.scanUntil(p),v)for(var A=0,W=v.length;A<W;++A)k=v.charAt(A),ce(k)?(r.push(s.length),o+=k):(c=!0,t=!0,o+=" "),s.push(["text",k,f,f+1]),f+=1,k===`
5
- `&&(u(),o="",h=0,t=!1);if(!y.scan(p))break;if(i=!0,L=y.scan(ge)||"name",y.scan(he),L==="="?(v=y.scanUntil(G),y.scan(G),y.scanUntil(d)):L==="{"?(v=y.scanUntil(C),y.scan(de),y.scanUntil(d),L="&"):v=y.scanUntil(d),!y.scan(d))throw new Error("Unclosed tag at "+y.pos);if(L==">"?I=[L,v,f,y.pos,o,h,t]:I=[L,v,f,y.pos],h++,s.push(I),L==="#"||L==="^")a.push(I);else if(L==="/"){if(T=a.pop(),!T)throw new Error('Unopened section "'+v+'" at '+f);if(T[1]!==v)throw new Error('Unclosed section "'+T[1]+'" at '+f)}else L==="name"||L==="{"||L==="&"?c=!0:L==="="&&x(v)}if(u(),T=a.pop(),T)throw new Error('Unclosed section "'+T[1]+'" at '+y.pos);return me(fe(s))}function fe(l){for(var e=[],t,a,s=0,r=l.length;s<r;++s)t=l[s],t&&(t[0]==="text"&&a&&a[0]==="text"?(a[1]+=t[1],a[3]=t[3]):(e.push(t),a=t));return e}function me(l){for(var e=[],t=e,a=[],s,r,i=0,c=l.length;i<c;++i)switch(s=l[i],s[0]){case"#":case"^":t.push(s),a.push(s),t=s[4]=[];break;case"/":r=a.pop(),r[5]=s[2],t=a.length>0?a[a.length-1][4]:e;break;default:t.push(s)}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 q(l,e){this.view=l,this.cache={".":this.view},this.parent=e}q.prototype.push=function(e){return new q(e,this)},q.prototype.lookup=function(e){var t=this.cache,a;if(t.hasOwnProperty(e))a=t[e];else{for(var s=this,r,i,c,o=!1;s;){if(e.indexOf(".")>0)for(r=s.view,i=e.split("."),c=0;r!=null&&c<i.length;)c===i.length-1&&(o=X(r,i[c])||se(r,i[c])),r=r[i[c++]];else r=s.view[e],o=X(s.view,e);if(o){a=r;break}s=s.parent}t[e]=a}return K(a)&&(a=a.call(this.view)),a};function R(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}R.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()},R.prototype.parse=function(e,t){var a=this.templateCache,s=e+":"+(t||m.tags).join(":"),r=typeof a<"u",i=r?a.get(s):void 0;return i==null&&(i=pe(e,t),r&&a.set(s,i)),i},R.prototype.render=function(e,t,a,s){var r=this.getConfigTags(s),i=this.parse(e,r),c=t instanceof q?t:new q(t,void 0);return this.renderTokens(i,c,a,e,s)},R.prototype.renderTokens=function(e,t,a,s,r){for(var i="",c,o,h,u=0,p=e.length;u<p;++u)h=void 0,c=e[u],o=c[0],o==="#"?h=this.renderSection(c,t,a,s,r):o==="^"?h=this.renderInverted(c,t,a,s,r):o===">"?h=this.renderPartial(c,t,a,r):o==="&"?h=this.unescapedValue(c,t):o==="name"?h=this.escapedValue(c,t,r):o==="text"&&(h=this.rawValue(c)),h!==void 0&&(i+=h);return i},R.prototype.renderSection=function(e,t,a,s,r){var i=this,c="",o=t.lookup(e[1]);function h(d){return i.render(d,t,a,r)}if(o){if(O(o))for(var u=0,p=o.length;u<p;++u)c+=this.renderTokens(e[4],t.push(o[u]),a,s,r);else if(typeof o=="object"||typeof o=="string"||typeof o=="number")c+=this.renderTokens(e[4],t.push(o),a,s,r);else if(K(o)){if(typeof s!="string")throw new Error("Cannot use higher-order sections without the original template");o=o.call(t.view,s.slice(e[3],e[5]),h),o!=null&&(c+=o)}else c+=this.renderTokens(e[4],t,a,s,r);return c}},R.prototype.renderInverted=function(e,t,a,s,r){var i=t.lookup(e[1]);if(!i||O(i)&&i.length===0)return this.renderTokens(e[4],t,a,s,r)},R.prototype.indentPartial=function(e,t,a){for(var s=t.replace(/[^ \t]/g,""),r=e.split(`
4
+ */var te=Object.prototype.toString,q=Array.isArray||function(e){return te.call(e)==="[object Array]"};function K(l){return typeof l=="function"}function ae(l){return q(l)?"array":typeof l}function _(l){return l.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function X(l,e){return l!=null&&typeof l=="object"&&e in l}function se(l,e){return l!=null&&typeof l!="object"&&l.hasOwnProperty&&l.hasOwnProperty(e)}var re=RegExp.prototype.test;function ie(l,e){return re.call(l,e)}var ne=/\S/;function ce(l){return!ie(ne,l)}var oe={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function le(l){return String(l).replace(/[&<>"'`=\/]/g,function(t){return oe[t]})}var he=/\s*/,ue=/\s+/,G=/\s*=/,de=/\s*\}/,ge=/#|\^|\/|>|\{|&|=|!/;function pe(l,e){if(!l)return[];var t=!1,a=[],s=[],r=[],i=!1,c=!1,o="",h=0;function u(){if(i&&!c)for(;r.length;)delete s[r.pop()];else r=[];i=!1,c=!1}var p,d,C;function x(w){if(typeof w=="string"&&(w=w.split(ue,2)),!q(w)||w.length!==2)throw new Error("Invalid tags: "+w);p=new RegExp(_(w[0])+"\\s*"),d=new RegExp("\\s*"+_(w[1])),C=new RegExp("\\s*"+_("}"+w[1]))}x(e||m.tags);for(var y=new V(l),f,L,v,k,I,T;!y.eos();){if(f=y.pos,v=y.scanUntil(p),v)for(var A=0,W=v.length;A<W;++A)k=v.charAt(A),ce(k)?(r.push(s.length),o+=k):(c=!0,t=!0,o+=" "),s.push(["text",k,f,f+1]),f+=1,k===`
5
+ `&&(u(),o="",h=0,t=!1);if(!y.scan(p))break;if(i=!0,L=y.scan(ge)||"name",y.scan(he),L==="="?(v=y.scanUntil(G),y.scan(G),y.scanUntil(d)):L==="{"?(v=y.scanUntil(C),y.scan(de),y.scanUntil(d),L="&"):v=y.scanUntil(d),!y.scan(d))throw new Error("Unclosed tag at "+y.pos);if(L==">"?I=[L,v,f,y.pos,o,h,t]:I=[L,v,f,y.pos],h++,s.push(I),L==="#"||L==="^")a.push(I);else if(L==="/"){if(T=a.pop(),!T)throw new Error('Unopened section "'+v+'" at '+f);if(T[1]!==v)throw new Error('Unclosed section "'+T[1]+'" at '+f)}else L==="name"||L==="{"||L==="&"?c=!0:L==="="&&x(v)}if(u(),T=a.pop(),T)throw new Error('Unclosed section "'+T[1]+'" at '+y.pos);return me(fe(s))}function fe(l){for(var e=[],t,a,s=0,r=l.length;s<r;++s)t=l[s],t&&(t[0]==="text"&&a&&a[0]==="text"?(a[1]+=t[1],a[3]=t[3]):(e.push(t),a=t));return e}function me(l){for(var e=[],t=e,a=[],s,r,i=0,c=l.length;i<c;++i)switch(s=l[i],s[0]){case"#":case"^":t.push(s),a.push(s),t=s[4]=[];break;case"/":r=a.pop(),r[5]=s[2],t=a.length>0?a[a.length-1][4]:e;break;default:t.push(s)}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 s=this,r,i,c,o=!1;s;){if(e.indexOf(".")>0)for(r=s.view,i=e.split("."),c=0;r!=null&&c<i.length;)c===i.length-1&&(o=X(r,i[c])||se(r,i[c])),r=r[i[c++]];else r=s.view[e],o=X(s.view,e);if(o){a=r;break}s=s.parent}t[e]=a}return K(a)&&(a=a.call(this.view)),a};function R(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}R.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()},R.prototype.parse=function(e,t){var a=this.templateCache,s=e+":"+(t||m.tags).join(":"),r=typeof a<"u",i=r?a.get(s):void 0;return i==null&&(i=pe(e,t),r&&a.set(s,i)),i},R.prototype.render=function(e,t,a,s){var r=this.getConfigTags(s),i=this.parse(e,r),c=t instanceof H?t:new H(t,void 0);return this.renderTokens(i,c,a,e,s)},R.prototype.renderTokens=function(e,t,a,s,r){for(var i="",c,o,h,u=0,p=e.length;u<p;++u)h=void 0,c=e[u],o=c[0],o==="#"?h=this.renderSection(c,t,a,s,r):o==="^"?h=this.renderInverted(c,t,a,s,r):o===">"?h=this.renderPartial(c,t,a,r):o==="&"?h=this.unescapedValue(c,t):o==="name"?h=this.escapedValue(c,t,r):o==="text"&&(h=this.rawValue(c)),h!==void 0&&(i+=h);return i},R.prototype.renderSection=function(e,t,a,s,r){var i=this,c="",o=t.lookup(e[1]);function h(d){return i.render(d,t,a,r)}if(o){if(q(o))for(var u=0,p=o.length;u<p;++u)c+=this.renderTokens(e[4],t.push(o[u]),a,s,r);else if(typeof o=="object"||typeof o=="string"||typeof o=="number")c+=this.renderTokens(e[4],t.push(o),a,s,r);else if(K(o)){if(typeof s!="string")throw new Error("Cannot use higher-order sections without the original template");o=o.call(t.view,s.slice(e[3],e[5]),h),o!=null&&(c+=o)}else c+=this.renderTokens(e[4],t,a,s,r);return c}},R.prototype.renderInverted=function(e,t,a,s,r){var i=t.lookup(e[1]);if(!i||q(i)&&i.length===0)return this.renderTokens(e[4],t,a,s,r)},R.prototype.indentPartial=function(e,t,a){for(var s=t.replace(/[^ \t]/g,""),r=e.split(`
6
6
  `),i=0;i<r.length;i++)r[i].length&&(i>0||!a)&&(r[i]=s+r[i]);return r.join(`
7
- `)},R.prototype.renderPartial=function(e,t,a,s){if(a){var r=this.getConfigTags(s),i=K(a)?a(e[1]):a[e[1]];if(i!=null){var c=e[6],o=e[5],h=e[4],u=i;o==0&&h&&(u=this.indentPartial(i,h,c));var p=this.parse(u,r);return this.renderTokens(p,t,a,u,s)}}},R.prototype.unescapedValue=function(e,t){var a=t.lookup(e[1]);if(a!=null)return a},R.prototype.escapedValue=function(e,t,a){var s=this.getConfigEscape(a)||m.escape,r=t.lookup(e[1]);if(r!=null)return typeof r=="number"&&s===m.escape?String(r):s(r)},R.prototype.rawValue=function(e){return e[1]},R.prototype.getConfigTags=function(e){return O(e)?e:e&&typeof e=="object"?e.tags:void 0},R.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!O(e))return e.escape};var m={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 R;m.clearCache=function(){return j.clearCache()},m.parse=function(e,t){return j.parse(e,t)},m.render=function(e,t,a,s){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+ae(e)+'" was given as the first argument for mustache#render(template, view, partials)');return j.render(e,t,a,s)},m.escape=le,m.Scanner=V,m.Context=q,m.Writer=R;const ye={main:{template:`
7
+ `)},R.prototype.renderPartial=function(e,t,a,s){if(a){var r=this.getConfigTags(s),i=K(a)?a(e[1]):a[e[1]];if(i!=null){var c=e[6],o=e[5],h=e[4],u=i;o==0&&h&&(u=this.indentPartial(i,h,c));var p=this.parse(u,r);return this.renderTokens(p,t,a,u,s)}}},R.prototype.unescapedValue=function(e,t){var a=t.lookup(e[1]);if(a!=null)return a},R.prototype.escapedValue=function(e,t,a){var s=this.getConfigEscape(a)||m.escape,r=t.lookup(e[1]);if(r!=null)return typeof r=="number"&&s===m.escape?String(r):s(r)},R.prototype.rawValue=function(e){return e[1]},R.prototype.getConfigTags=function(e){return q(e)?e:e&&typeof e=="object"?e.tags:void 0},R.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!q(e))return e.escape};var m={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 R;m.clearCache=function(){return j.clearCache()},m.parse=function(e,t){return j.parse(e,t)},m.render=function(e,t,a,s){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+ae(e)+'" was given as the first argument for mustache#render(template, view, partials)');return j.render(e,t,a,s)},m.escape=le,m.Scanner=V,m.Context=H,m.Writer=R;const ye={main:{template:`
8
8
  {{#shouldShowAnswer}}
9
9
  <div class="searchstax-answer-container">
10
10
  <div class="searchstax-answer-title">Answer</div>
@@ -232,4 +232,4 @@ var qe=Object.defineProperty;var He=(F,S,M)=>S in F?qe(F,S,{enumerable:!0,config
232
232
  </div>
233
233
  {{/hasResultsOrExternalPromotions}}
234
234
  {{/searchExecuted}}
235
- `,selectId:"searchstax-search-order-select"}};class g{}n(g,"answer",ye),n(g,"externalPromotions",Ce),n(g,"facets",Se),n(g,"pagination",be),n(g,"relatedSearches",Le),n(g,"searchFeedback",ve),n(g,"searchInput",xe),n(g,"searchResults",Te),n(g,"sorting",ke);class Re{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"externalPromotionsContainerId");n(this,"searchExternalPromotionsMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((a=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:a.externalPromotionsContainerId)||g.externalPromotions.mainTemplate.externalPromotionsContainerId,typeof document<"u"&&(this.searchExternalPromotionsMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchExternalPromotions.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data,externalPromotions:this.dataLayer.parsedData.externalPromotions};return this.dataLayer.setExternalPromotionsData(e),e}addExternalSearch(e){var a,s,r,i;const t=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(t){const c=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.externalPromotion)==null?void 0:r.template)||((i=g.externalPromotions.externalPromotion)==null?void 0:i.template);if(typeof document<"u"){const o=document==null?void 0:document.createElement("div");o.classList.add("searchstax-external-promotion"),o.addEventListener("click",h=>{this.trackClick(e,h)}),o.innerHTML=m.render(c,e),t.appendChild(o)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplate)==null?void 0:r.template)||((i=g.externalPromotions.mainTemplate)==null?void 0:i.template);if(this.dataLayer.renderingEngine===S.mustache){this.searchExternalPromotionsMainContainer.innerHTML=m.render(t,e);const c=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;c&&(c.innerHTML="");for(const o of e.externalPromotions)this.addExternalSearch(o)}}}class B{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById("searchAccessibilityContainer")){const t=document.createElement("div");t.setAttribute("aria-live","polite"),t.setAttribute("id","searchAccessibilityContainer"),document.body.appendChild(t)}}static setAccessibilityText(e){this.addAccessibilityNotificationContainerToBody();const t=document.getElementById("searchAccessibility");t&&t.remove();const a=document.createElement("span");a.setAttribute("id","searchAccessibility"),a.innerHTML=e;const s=document.getElementById("searchAccessibilityContainer");s&&s.appendChild(a)}}class Ie{constructor(e,t){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"routerHelper");n(this,"cachedPhrase","");n(this,"isCached",!1);n(this,"overlayOpened",!1);n(this,"facetPaginationStep");n(this,"facetPaginationStepMobile");n(this,"searchFacetsMainContainer",null);n(this,"searchFacetsMobileContainer",null);n(this,"searchFacetsDesktopContainer",null);n(this,"facetLimits",{});n(this,"facetLimitsMobile",{});n(this,"deactivatedFacets",{});n(this,"cachedData",null);n(this,"cacheFacets");n(this,"onFacetSelect",(e,t,a,s,r)=>{if(e.stopPropagation(),!t.disabled){const i=a.querySelector("input");let c=s?i.checked:!i.checked;r!==void 0&&(c=!r),i.checked=c;const o=this.dataLayer.searchObject;let h=[...o.facets];const u=this.extractFacetValue(t);c?h.find(d=>P.deepEqual(d,u)?d:!1)||(this.config.facetingType==="tabs"&&(h=h.filter(d=>d.name!==u.name)),h.push(u)):h=h.filter(p=>!P.deepEqual(p,u)),setTimeout(()=>{this.dataLayer.setSearchObject({...o,facets:h,page:1}),this.config.facetingType==="tabs"&&this.renderMainTemplate(this.generateTemplateData(),!0)},0)}});this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,typeof document<"u"&&(this.searchFacetsMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.needCache&&t(),this.initializeSubscriptions()}get needCache(){return this.config.facetingType==="showUnavailable"||this.config.facetingType==="or"||this.config.facetingType==="tabs"}get needDisabling(){return this.config.facetingType==="showUnavailable"}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchResults.subscribe(e=>{e&&(this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets()),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return{type:this.config.facetingType,name:e.parentName,value:e.value}}applyFacetLimits(e,t){const a=t?this.facetPaginationStepMobile:this.facetPaginationStep,s=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{s[r.name]||(s[r.name]=a)}),e.map(r=>({...r,values:r.values.slice(0,s[r.name]),showingAllFacets:r.values.length<=s[r.name],hasMoreFacets:r.values.length>a}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(s=>{var i;const r=(i=this.dataLayer.searchFacets)==null?void 0:i.find(c=>c.name===s.name);return r?{...s,values:s.values.map(o=>{const h=r.values.find(u=>o.type==="range"?!1:o.type==="checkbox"?u.value===o.value:!1);return{...o,disabled:!h,isMobile:e}})}:{...s,values:s.values.map(o=>({...o,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(s=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(s.name)}));const a={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(a),a}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,a){var s,r,i,c,o,h,u,p,d,C,x,y;if(typeof document<"u"){const f=document==null?void 0:document.createElement("div");f.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||f.classList.add("active");const L=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:i.template)||((c=g.facets.facetItemContainerTemplate)==null?void 0:c.template);f.innerHTML=m.render(L,e),t.appendChild(f);const v=f.querySelector("."+(((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:u.facetListTitleContainerClass)||((p=g.facets.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)));v==null||v.addEventListener("click",()=>{f.classList.toggle("active")});const k=f.querySelector("."+(((x=(C=(d=this.config)==null?void 0:d.templates)==null?void 0:C.facetItemContainerTemplate)==null?void 0:x.facetListContainerClass)||((y=g.facets.facetItemContainerTemplate)==null?void 0:y.facetListContainerClass)));k&&(e.values.forEach(I=>{this.createFacetListItem(I,k)}),e.hasMoreFacets&&this.createHasMoreComponent(e,k,a))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>P.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var a,s,r,i,c,o,h,u,p,d,C,x,y;if(typeof document<"u"){const f=document==null?void 0:document.createElement("div");f.classList.add("searchstax-facet-value-container"),e.disabled&&f.classList.add("searchstax-facet-value-disabled");const L=this.isChecked(e),v=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.facetItemTemplate)==null?void 0:r.template)||((i=g.facets.facetItemTemplate)==null?void 0:i.template);f.innerHTML=m.render(v,{...e,isChecked:L});let k=(c=g.facets.facetItemTemplate)==null?void 0:c.checkTriggerClasses;k=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.facetItemTemplate)==null?void 0:u.checkTriggerClasses)||k,k.forEach(I=>{var T;(T=f.querySelector("."+I))==null||T.addEventListener("click",A=>{this.onFacetSelect(A,e,f)})}),(y=f.querySelector("."+(((C=(d=(p=this.config)==null?void 0:p.templates)==null?void 0:d.facetItemTemplate)==null?void 0:C.inputCheckboxClass)||((x=g.facets.facetItemTemplate)==null?void 0:x.inputCheckboxClass))))==null||y.addEventListener("click",I=>{this.onFacetSelect(I,e,f,!0)}),t.appendChild(f)}}createHasMoreComponent(e,t,a){var s,r,i,c,o,h,u,p;if(typeof document<"u"){const d=document==null?void 0:document.createElement("div");d.classList.add("searchstax-facet-show-more-container");const C=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:i.template)||((c=g.facets.showMoreButtonContainerTemplate)==null?void 0:c.template);d.innerHTML=m.render(C,e);const x=d.querySelector("."+(((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:u.showMoreButtonClass)||((p=g.facets.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)));x&&(this.attachOnclickToShowMore(e,x,a),t&&t.appendChild(x))}}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)}),t.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.onShowMoreLessClick(s,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const s=a?this.facetPaginationStepMobile:this.facetPaginationStep,r=a?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=s*2:r[t.name]<=t.values.length?(B.setAccessibilityText(`More Facets shown for ${t.label}`),r[t.name]=r[t.name]+s):(B.setAccessibilityText(`Less Facets shown for ${t.label}`),r[t.name]=s),this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,i,c,o,h,u,p,d,C;if(e&&(!P.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const x=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((i=g.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===S.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=m.render(x,{...e});const y=(u=this.searchFacetsMainContainer)==null?void 0:u.querySelector("."+(((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||g.facets.mainTemplateDesktop.facetsContainerClass));if(y){y.innerHTML="";for(const f of e.facets)this.createFacetItem(f,y);if(this.searchFacetsMainContainer){const f=this.searchFacetsMainContainer.querySelector("."+(((C=(d=(p=this.config)==null?void 0:p.templates)==null?void 0:d.mainTemplateDesktop)==null?void 0:C.selectedFacetsContainerClass)||g.facets.mainTemplateDesktop.selectedFacetsContainerClass));f&&(this.createSelectedFacetsComponents(f),this.createClearFacetsComponents(f))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const s=decodeURIComponent(a.name),r=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=i==null?void 0:i.find(o=>o.name===s);if(c){const o=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${r}"`:!1);o&&e.push(o)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var t,a,s,r,i,c,o,h;if(typeof document<"u"){const u=this.dataLayer.searchObject,p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=g.facets.clearFacetsTemplate)==null?void 0:r.template),d=document==null?void 0:document.createElement("div");d.innerHTML=m.render(p,{shouldShow:u.facets.length>0});const C=d.querySelector("."+(((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:o.containerClass)||((h=g.facets.clearFacetsTemplate)==null?void 0:h.containerClass)));C&&(C.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(C))}}createSelectedFacetsComponent(e,t){var a,s,r,i,c,o,h,u;if(typeof document<"u"){const p=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((i=g.facets.selectedFacetsTemplate)==null?void 0:i.template),d=document==null?void 0:document.createElement("div");d.innerHTML=m.render(p,t);const C=d.querySelector("."+(((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.selectedFacetsTemplate)==null?void 0:h.containerClass)||((u=g.facets.selectedFacetsTemplate)==null?void 0:u.containerClass)));C&&(C.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(C))}}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(s=>JSON.stringify(s)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,a,s,r,i,c,o,h;if(typeof document<"u"){const u=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=g.facets.filterByTemplate)==null?void 0:r.template),p=document==null?void 0:document.createElement("div");p.innerHTML=m.render(u,{});const d=p.querySelector("."+(((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.filterByTemplate)==null?void 0:o.containerClass)||((h=g.facets.filterByTemplate)==null?void 0:h.containerClass)));d&&(e.prepend(d),d.addEventListener("click",this.openOverlay.bind(this)))}}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,s,r,i,c,o,h,u,p,d,C,x,y,f,L,v,k,I;if(e&&typeof document<"u"){const T=document==null?void 0:document.createElement("div");T.classList.add("searchstax-facets-container-mobile");const A=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=g.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===S.mustache){if(T.innerHTML=m.render(A,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(T),(o=(c=this.config)==null?void 0:c.templates)!=null&&o.mainTemplateMobile)for(const N of((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const U=T.querySelector("."+N);U&&U.addEventListener("click",this.closeOverlay.bind(this))}else for(const N of g.facets.mainTemplateMobile.closeOverlayTriggerClasses){const U=T.querySelector("."+N);U&&U.addEventListener("click",this.closeOverlay.bind(this))}const W=T.querySelector("."+(((x=(C=(d=this.config)==null?void 0:d.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:x.filterByContainerClass)||g.facets.mainTemplateMobile.filterByContainerClass));W&&this.createFilterByComponent(W);const w=T.querySelector("."+(((L=(f=(y=this.config)==null?void 0:y.templates)==null?void 0:f.mainTemplateMobile)==null?void 0:L.selectedFacetsContainerClass)||g.facets.mainTemplateMobile.selectedFacetsContainerClass));w&&(this.createSelectedFacetsComponents(w),this.createClearFacetsComponents(w));const z=T.querySelector("."+(((I=(k=(v=this.config)==null?void 0:v.templates)==null?void 0:k.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||g.facets.mainTemplateMobile.facetsContainerClass));if(z){z.innerHTML="";for(const N of e.facets)this.createFacetItem(N,z,!0)}}}}}class we{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"previousButtonClass");n(this,"nextButtonClass");n(this,"loadMoreButtonClass");n(this,"routerHelper");n(this,"searchPaginationMainContainer",null);var t,a,s,r,i,c,o,h,u;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.previousButtonClass)??g.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.nextButtonClass)??g.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:u.loadMoreButtonClass)??g.pagination.infiniteScrollTemplate.loadMoreButtonClass,typeof document<"u"&&(this.searchPaginationMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var t,a,s,r;const e={...this.dataLayer.parsedData.data,previousPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)-1}),nextPageLink:(r=this.routerHelper)==null?void 0:r.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(e),e}goToPage(e,t){const a=this.dataLayer.searchObject;a&&(a.page=e,this.dataLayer.setSearchObject(a)),t||window==null||window.scrollTo(0,0)}nextPage(e){var t;e==null||e.preventDefault(),e==null||e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1,this.dataLayer.isInfiniteScroll)}previousPage(e){var t;e==null||e.preventDefault(),e==null||e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass),a=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&(e.addEventListener("click",this.previousPage.bind(this)),e.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.previousPage(s)})),t&&(t.addEventListener("click",this.nextPage.bind(this)),t.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)})),a&&(a.addEventListener("click",this.nextPage.bind(this)),a.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)}))}}renderMainTemplate(e){var a,s,r,i,c,o,h,u,p,d;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));let t=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.template)||((o=g.pagination.mainTemplate)==null?void 0:o.template);this.dataLayer.isInfiniteScroll&&(t=((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.infiniteScrollTemplate)==null?void 0:p.template)||((d=g.pagination.infiniteScrollTemplate)==null?void 0:d.template)),this.dataLayer.renderingEngine===S.mustache&&(this.searchPaginationMainContainer.innerHTML=m.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Pe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"relatedSearchesContainerClass");n(this,"searchRelatedSearchesMainContainer",null);n(this,"track");var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.relatedSearchesContainerClass)||g.relatedSearches.main.relatedSearchesContainerClass,typeof document<"u"&&(this.searchRelatedSearchesMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var a,s,r,i,c;if(typeof document<"u"){const o=document==null?void 0:document.createElement("div"),h=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||g.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===S.mustache){o.innerHTML=m.render(h,e);const u=o.querySelector("."+(((c=(i=this.config.templates)==null?void 0:i.relatedSearch)==null?void 0:c.relatedSearchContainerClass)||g.relatedSearches.relatedSearch.relatedSearchContainerClass));u&&(t.appendChild(u),u.addEventListener("click",()=>{this.executeSearch(e)}),u.addEventListener("keyup",p=>{(p.code==="Space"||p.code==="Enter")&&this.executeSearch(e)}))}}}executeSearch(e){const t=this.dataLayer.searchObject;t.query=e.related_search,this.dataLayer.setSearchObject(t),this.track(e)}renderMainTemplate(e){var a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.relatedSearches.main.template;if(this.dataLayer.renderingEngine===S.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=m.render(t,e);const c=(i=this.searchRelatedSearchesMainContainer)==null?void 0:i.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const o of e.relatedSearches)this.addRelatedSearchComponent(o,c)}}}class Ee{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"searchFeedbackMainContainer",null);n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,typeof document<"u"&&(this.searchFeedbackMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchFeedbackData(e),e}onOriginalQueryClick(e){var a;e.stopPropagation(),e.preventDefault();const t=(a=e.target)==null?void 0:a.innerHTML;this.searchTrigger(t,!0)}attachClick(){var t,a,s,r,i;const e=(i=this.searchFeedbackMainContainer)==null?void 0:i.querySelector("."+(((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.originalQueryClass)||((r=g.searchFeedback.main)==null?void 0:r.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.searchFeedback.main.template;this.dataLayer.renderingEngine===S.mustache&&(this.searchFeedbackMainContainer.innerHTML=m.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Fe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"suggestAfterMinChars");n(this,"containerId");n(this,"currentInputValue","");n(this,"autosuggestResults");n(this,"searchInput");n(this,"actionButton");n(this,"autosuggestContainer");n(this,"buttonState","search");n(this,"selectedAutosuggestItem",-1);n(this,"suggestTrigger");n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,a,s;if(typeof document<"u"){const r=document==null?void 0:document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const i=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||g.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===S.mustache){const h=m.render(i,{});r.innerHTML=h}const c=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||g.searchInput.mainTemplate.searchInputId,o=document==null?void 0:document.querySelector(`#${c}`);if(o)this.searchInput=o,o.addEventListener("keyup",this.inputKeyupEvent.bind(this)),o.addEventListener("blur",this.hideAutosuggest.bind(this)),o.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===S.mustache&&typeof document<"u"&&(this.autosuggestContainer=document==null?void 0:document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){typeof document<"u"&&(this.actionButton=document==null?void 0:document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))}))}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");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(){if(typeof document<"u"){const e=document==null?void 0:document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):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.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},200)}cleanSuggestionTerm(e){return E.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var s,r,i;const t=document==null?void 0:document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const a=((r=(s=this.config.templates)==null?void 0:s.autosuggestItemTemplate)==null?void 0:r.template)||((i=g.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=m.render(a,e),t}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const a=e.suggest[t];for(const s in a)if(Object.prototype.hasOwnProperty.call(a,s)){const r=a[s];this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(i=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Me{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"linkClickCallback");n(this,"searchCallback");n(this,"containerId");n(this,"searchResultsMainContainer");n(this,"searchResultsContainer");n(this,"searchResultLinks",[]);this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,setTimeout(()=>{this.dataLayer.setSearchObject({...this.dataLayer.searchObject,itemsPerPage:this.config.resultsPerPage||10})},0),this.containerId=e.containerId;const t=document==null?void 0:document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.dataLayer.setIsInfiniteScroll(e.config.renderMethod==="infiniteScroll"),this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchObject.subscribe(()=>{B.setAccessibilityText("Searching...")}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,s,r,i,c;const e=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.noSearchResultTemplate)==null?void 0:r.template)||((i=g.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((c=this.dataLayer.searchResultsMetadata)==null?void 0:c.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===S.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=m.render(e,{spellingSuggestion:t,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),t&&this.searchResultsContainer){const o=this.searchResultsContainer.querySelector("a");o&&o.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,s,r,i;if(this.dataLayer.renderingEngine===S.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)B.setAccessibilityText(""),this.renderNoResultsTemplate();else{B.setAccessibilityText("Results are returned. Press tab to navigate through results");const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=g.searchResults.searchResultTemplate)==null?void 0:r.template),o=e.map(h=>m.render(c,h));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=o.join(""):this.searchResultsContainer.innerHTML=o.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}get uniqueIdAttribute(){var e,t,a,s;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((s=g.searchResults.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)}),e.addEventListener("keydown",t=>{if(t.code==="Space"||t.code==="Enter"){const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)}})})}renderMainTemplate(){var t,a,s,r;const e=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=g.searchResults.mainTemplate)==null?void 0:r.template);this.dataLayer.renderingEngine===S.mustache&&(this.searchResultsMainContainer.innerHTML=m.render(e,{}),setTimeout(()=>{var o,h,u,p,d,C,x;const i=(u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.mainTemplate)!=null&&u.searchResultsContainerId?(C=(d=(p=this.config)==null?void 0:p.templates)==null?void 0:d.mainTemplate)==null?void 0:C.searchResultsContainerId:(x=g.searchResults.mainTemplate)==null?void 0:x.searchResultsContainerId,c=document==null?void 0:document.getElementById(i);if(c)this.searchResultsContainer=c;else throw new Error(`Search Results Container with id ${i} not found`)},0))}}class Ae{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"selectId");n(this,"searchSortingMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.selectId)||g.sorting.main.selectId,this.searchSortingMainContainer=document==null?void 0:document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchSortingData(e),e}setOrderQuery(e){const t=this.dataLayer.searchObject;t&&(t.order=e,this.dataLayer.setSearchObject(t))}markOptionSelected(){const e=document==null?void 0:document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.sorting.main.template;if(this.dataLayer.renderingEngine===S.mustache){this.searchSortingMainContainer.innerHTML=m.render(t,e),this.markOptionSelected();const i=document==null?void 0:document.getElementById(this.selectId);i&&i.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class De{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,typeof document<"u"&&(this.answerContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)})}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.answer.main.template;this.dataLayer.renderingEngine===S.mustache&&(this.answerContainer.innerHTML=m.render(t,e))}}class Oe{constructor(e=S.mustache){n(this,"routerEnabled",!1);n(this,"cachedQuery","");n(this,"routerHelper");n(this,"searchHelper");n(this,"searchResultsConfig");n(this,"searchPaginationConfig");n(this,"searchFeedbackConfig");n(this,"searchSortingConfig");n(this,"searchFacetsConfig");n(this,"relatedSearchesConfig");n(this,"externalPromotionsConfig");n(this,"searchInputWidget");n(this,"searchResultsWidget");n(this,"searchFacetsWidget");n(this,"searchPaginationWidget");n(this,"searchFeedbackWidget");n(this,"searchSortingWidget");n(this,"relatedSearchesWidget");n(this,"externalPromotionsWidget");n(this,"answerWidget");n(this,"dataLayer");n(this,"firstRequest",!0);n(this,"renderEngine",S.mustache);e&&(this.renderEngine=e)}setRenderingEngine(e=S.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{var s;a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),this.dataLayer.turnAIAnswerGenerationOn===!0&&((s=this.searchHelper)==null||s.startSSE(a.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&$.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}attachAnalyticsScript(e){const t=e||"https://static.searchstax.com/studio-js/v3/js/studio-analytics.js";var a=document.createElement("script");a.type="text/javascript",a.src=t;var s=document.getElementsByTagName("script")[0];s.parentNode&&s.parentNode.insertBefore(a,s)}initialize(e){var t,a;if(this.dataLayer=new Y("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.turnAIAnswerGenerationOn===!0&&(this.dataLayer.turnAIAnswerGenerationOn=!0),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new ee({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0){this.routerEnabled=!0,this.routerHelper=new J(e.router?e.router:{enabled:!0});const s=this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"");this.dataLayer.searchObject.itemsPerPage&&(s.itemsPerPage=this.dataLayer.searchObject.itemsPerPage),this.dataLayer.setSearchObject(s),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"",this.dataLayer.searchObject.itemsPerPage))})}else this.routerHelper=new J({})}search(e){if(this.searchHelper){const t=this.dataLayer.forceNotCorrect;this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var r;const a=(((r=e.response)==null?void 0:r.docs)??[]).map((i,c)=>({...i,position:c+1})),s=[];for(const i of a)s.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&$.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponse(e){var r,i;this.handleRouter();let t=H.combineResultsWithMetadata(e),a=H.extractFacets(e);this.dataLayer.setSearchFacets(a),(i=(r=this.dataLayer.searchstaxConfig)==null?void 0:r.hooks)!=null&&i.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const s=H.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(s),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==D.question&&e!==D.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var a,s;let t=e;(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.afterAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(t)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Fe({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.setAnswerData(""),this.answerWidget=new De({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Me({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Ee({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new Ae({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Re({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Ie({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var r,i;const a={...this.dataLayer.searchObject};a.query=E.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let s=(r=this.routerHelper)==null?void 0:r.searchObjectToParams(a);s&&(s=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(s)),s&&(a.additionalProps=Object.keys(s).map(c=>s?{key:c,value:s[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(a),this.dataLayer.lastSearchValue=a.query}executeSuggest(e){var a,s;let t={term:e,queryParams:[]};(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.beforeAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(t)),t&&t.term!==void 0&&t.queryParams!==void 0&&this.suggest(t.term,t.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&$.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,s;let t=H.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((s=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&s.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&($.trackClick({result:t,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{typeof window<"u"&&(window.location.href=(t==null?void 0:t.url)??"")},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){var t,a,s;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(s=this.searchResultsWidget)==null||s.changeTemplate())}}F.Searchstax=Oe,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxJs"]=this["@searchstaxInc/searchstudioUxJs"]||{});
235
+ `,selectId:"searchstax-search-order-select"}};class g{}n(g,"answer",ye),n(g,"externalPromotions",Ce),n(g,"facets",Se),n(g,"pagination",be),n(g,"relatedSearches",Le),n(g,"searchFeedback",ve),n(g,"searchInput",xe),n(g,"searchResults",Te),n(g,"sorting",ke);class Re{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"externalPromotionsContainerId");n(this,"searchExternalPromotionsMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((a=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:a.externalPromotionsContainerId)||g.externalPromotions.mainTemplate.externalPromotionsContainerId,typeof document<"u"&&(this.searchExternalPromotionsMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchExternalPromotions.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data,externalPromotions:this.dataLayer.parsedData.externalPromotions};return this.dataLayer.setExternalPromotionsData(e),e}addExternalSearch(e){var a,s,r,i;const t=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(t){const c=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.externalPromotion)==null?void 0:r.template)||((i=g.externalPromotions.externalPromotion)==null?void 0:i.template);if(typeof document<"u"){const o=document==null?void 0:document.createElement("div");o.classList.add("searchstax-external-promotion"),o.addEventListener("click",h=>{this.trackClick(e,h)}),o.innerHTML=m.render(c,e),t.appendChild(o)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplate)==null?void 0:r.template)||((i=g.externalPromotions.mainTemplate)==null?void 0:i.template);if(this.dataLayer.renderingEngine===S.mustache){this.searchExternalPromotionsMainContainer.innerHTML=m.render(t,e);const c=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;c&&(c.innerHTML="");for(const o of e.externalPromotions)this.addExternalSearch(o)}}}class B{static addAccessibilityNotificationContainerToBody(){if(!document.getElementById("searchAccessibilityContainer")){const t=document.createElement("div");t.setAttribute("aria-live","polite"),t.setAttribute("id","searchAccessibilityContainer"),document.body.appendChild(t)}}static setAccessibilityText(e){this.addAccessibilityNotificationContainerToBody();const t=document.getElementById("searchAccessibility");t&&t.remove();const a=document.createElement("span");a.setAttribute("id","searchAccessibility"),a.innerHTML=e;const s=document.getElementById("searchAccessibilityContainer");s&&s.appendChild(a)}}class Ie{constructor(e,t){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"routerHelper");n(this,"cachedPhrase","");n(this,"isCached",!1);n(this,"overlayOpened",!1);n(this,"facetPaginationStep");n(this,"facetPaginationStepMobile");n(this,"searchFacetsMainContainer",null);n(this,"searchFacetsMobileContainer",null);n(this,"searchFacetsDesktopContainer",null);n(this,"facetLimits",{});n(this,"facetLimitsMobile",{});n(this,"deactivatedFacets",{});n(this,"cachedData",null);n(this,"cacheFacets");n(this,"onFacetSelect",(e,t,a,s,r)=>{if(e.stopPropagation(),!t.disabled){const i=a.querySelector("input");let c=s?i.checked:!i.checked;r!==void 0&&(c=!r),i.checked=c;const o=this.dataLayer.searchObject;let h=[...o.facets];const u=this.extractFacetValue(t);c?h.find(d=>P.deepEqual(d,u)?d:!1)||(this.config.facetingType==="tabs"&&(h=h.filter(d=>d.name!==u.name)),h.push(u)):h=h.filter(p=>!P.deepEqual(p,u)),setTimeout(()=>{this.dataLayer.setSearchObject({...o,facets:h,page:1}),this.config.facetingType==="tabs"&&this.renderMainTemplate(this.generateTemplateData(),!0)},0)}});this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.cacheFacets=t,this.facetPaginationStep=this.config.itemsPerPageDesktop,this.facetPaginationStepMobile=this.config.itemsPerPageMobile,typeof document<"u"&&(this.searchFacetsMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.needCache&&t(),this.initializeSubscriptions()}get needCache(){return this.config.facetingType==="showUnavailable"||this.config.facetingType==="or"||this.config.facetingType==="tabs"}get needDisabling(){return this.config.facetingType==="showUnavailable"}initializeSubscriptions(){this.needCache&&this.dataLayer.$searchFacetsCached.subscribe(e=>{e&&this.dataLayer.searchFacets&&this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchResults.subscribe(e=>{e&&(this.needCache&&!this.isCached&&(this.dataLayer.searchFacets&&!this.dataLayer.searchFacetsCached&&this.dataLayer.setSearchFacetsCached(this.dataLayer.searchFacets),this.cacheFacets()),this.renderMainTemplate(this.generateTemplateData()))}),this.dataLayer.$searchObject.subscribe(e=>{this.cachedPhrase!==e.query?(this.cachedPhrase=e.query,this.isCached=!1):this.isCached=!0})}extractFacetValue(e){return{type:this.config.facetingType,name:e.parentName,value:e.value}}applyFacetLimits(e,t){const a=t?this.facetPaginationStepMobile:this.facetPaginationStep,s=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(r=>{s[r.name]||(s[r.name]=a)}),e.map(r=>({...r,values:r.values.slice(0,s[r.name]),showingAllFacets:r.values.length<=s[r.name],hasMoreFacets:r.values.length>a}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(s=>{var i;const r=(i=this.dataLayer.searchFacets)==null?void 0:i.find(c=>c.name===s.name);return r?{...s,values:s.values.map(o=>{const h=r.values.find(u=>o.type==="range"?!1:o.type==="checkbox"?u.value===o.value:!1);return{...o,disabled:!h,isMobile:e}})}:{...s,values:s.values.map(o=>({...o,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(s=>{var r;return(r=this.config.specificFacets)==null?void 0:r.includes(s.name)}));const a={facets:this.applyFacetLimits(t,e),...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(a),a}else{const t={facets:[],...this.dataLayer.parsedData.data,isMobile:e};return this.dataLayer.setFacetsTemplateData(t),t}}createFacetItem(e,t,a){var s,r,i,c,o,h,u,p,d,C,x,y;if(typeof document<"u"){const f=document==null?void 0:document.createElement("div");f.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||f.classList.add("active");const L=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.facetItemContainerTemplate)==null?void 0:i.template)||((c=g.facets.facetItemContainerTemplate)==null?void 0:c.template);f.innerHTML=m.render(L,e),t.appendChild(f);const v=f.querySelector("."+(((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:u.facetListTitleContainerClass)||((p=g.facets.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)));v==null||v.addEventListener("click",()=>{f.classList.toggle("active")});const k=f.querySelector("."+(((x=(C=(d=this.config)==null?void 0:d.templates)==null?void 0:C.facetItemContainerTemplate)==null?void 0:x.facetListContainerClass)||((y=g.facets.facetItemContainerTemplate)==null?void 0:y.facetListContainerClass)));k&&(e.values.forEach(I=>{this.createFacetListItem(I,k)}),e.hasMoreFacets&&this.createHasMoreComponent(e,k,a))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>P.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var a,s,r,i,c,o,h,u,p,d,C,x,y;if(typeof document<"u"){const f=document==null?void 0:document.createElement("div");f.classList.add("searchstax-facet-value-container"),e.disabled&&f.classList.add("searchstax-facet-value-disabled");const L=this.isChecked(e),v=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.facetItemTemplate)==null?void 0:r.template)||((i=g.facets.facetItemTemplate)==null?void 0:i.template);f.innerHTML=m.render(v,{...e,isChecked:L});let k=(c=g.facets.facetItemTemplate)==null?void 0:c.checkTriggerClasses;k=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.facetItemTemplate)==null?void 0:u.checkTriggerClasses)||k,k.forEach(I=>{var T;(T=f.querySelector("."+I))==null||T.addEventListener("click",A=>{this.onFacetSelect(A,e,f)})}),(y=f.querySelector("."+(((C=(d=(p=this.config)==null?void 0:p.templates)==null?void 0:d.facetItemTemplate)==null?void 0:C.inputCheckboxClass)||((x=g.facets.facetItemTemplate)==null?void 0:x.inputCheckboxClass))))==null||y.addEventListener("click",I=>{this.onFacetSelect(I,e,f,!0)}),t.appendChild(f)}}createHasMoreComponent(e,t,a){var s,r,i,c,o,h,u,p;if(typeof document<"u"){const d=document==null?void 0:document.createElement("div");d.classList.add("searchstax-facet-show-more-container");const C=((i=(r=(s=this.config)==null?void 0:s.templates)==null?void 0:r.showMoreButtonContainerTemplate)==null?void 0:i.template)||((c=g.facets.showMoreButtonContainerTemplate)==null?void 0:c.template);d.innerHTML=m.render(C,e);const x=d.querySelector("."+(((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:u.showMoreButtonClass)||((p=g.facets.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)));x&&(this.attachOnclickToShowMore(e,x,a),t&&t.appendChild(x))}}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)}),t.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.onShowMoreLessClick(s,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const s=a?this.facetPaginationStepMobile:this.facetPaginationStep,r=a?this.facetLimits:this.facetLimitsMobile;r[t.name]===void 0?r[t.name]=s*2:r[t.name]<=t.values.length?(B.setAccessibilityText(`More Facets shown for ${t.label}`),r[t.name]=r[t.name]+s):(B.setAccessibilityText(`Less Facets shown for ${t.label}`),r[t.name]=s),this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,r,i,c,o,h,u,p,d,C;if(e&&(!P.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const x=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:r.template)||((i=g.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===S.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=m.render(x,{...e});const y=(u=this.searchFacetsMainContainer)==null?void 0:u.querySelector("."+(((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||g.facets.mainTemplateDesktop.facetsContainerClass));if(y){y.innerHTML="";for(const f of e.facets)this.createFacetItem(f,y);if(this.searchFacetsMainContainer){const f=this.searchFacetsMainContainer.querySelector("."+(((C=(d=(p=this.config)==null?void 0:p.templates)==null?void 0:d.mainTemplateDesktop)==null?void 0:C.selectedFacetsContainerClass)||g.facets.mainTemplateDesktop.selectedFacetsContainerClass));f&&(this.createSelectedFacetsComponents(f),this.createClearFacetsComponents(f))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const s=decodeURIComponent(a.name),r=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=i==null?void 0:i.find(o=>o.name===s);if(c){const o=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${r}"`:!1);o&&e.push(o)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var t,a,s,r,i,c,o,h;if(typeof document<"u"){const u=this.dataLayer.searchObject,p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((r=g.facets.clearFacetsTemplate)==null?void 0:r.template),d=document==null?void 0:document.createElement("div");d.innerHTML=m.render(p,{shouldShow:u.facets.length>0});const C=d.querySelector("."+(((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:o.containerClass)||((h=g.facets.clearFacetsTemplate)==null?void 0:h.containerClass)));C&&(C.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(C))}}createSelectedFacetsComponent(e,t){var a,s,r,i,c,o,h,u;if(typeof document<"u"){const p=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:r.template)||((i=g.facets.selectedFacetsTemplate)==null?void 0:i.template),d=document==null?void 0:document.createElement("div");d.innerHTML=m.render(p,t);const C=d.querySelector("."+(((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.selectedFacetsTemplate)==null?void 0:h.containerClass)||((u=g.facets.selectedFacetsTemplate)==null?void 0:u.containerClass)));C&&(C.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(C))}}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(s=>JSON.stringify(s)!==JSON.stringify(this.extractFacetValue(e)))),setTimeout(()=>{this.dataLayer.setSearchObject({...t,facets:a}),this.generateSelectedFacetsData()},0)}removeSelectedFacets(){const e=this.dataLayer.searchObject;this.dataLayer.setSearchObject({...e,facets:[]})}createFilterByComponent(e){var t,a,s,r,i,c,o,h;if(typeof document<"u"){const u=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((r=g.facets.filterByTemplate)==null?void 0:r.template),p=document==null?void 0:document.createElement("div");p.innerHTML=m.render(u,{});const d=p.querySelector("."+(((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.filterByTemplate)==null?void 0:o.containerClass)||((h=g.facets.filterByTemplate)==null?void 0:h.containerClass)));d&&(e.prepend(d),d.addEventListener("click",this.openOverlay.bind(this)))}}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,s,r,i,c,o,h,u,p,d,C,x,y,f,L,v,k,I;if(e&&typeof document<"u"){const T=document==null?void 0:document.createElement("div");T.classList.add("searchstax-facets-container-mobile");const A=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((r=g.facets.mainTemplateMobile)==null?void 0:r.template);if(this.dataLayer.renderingEngine===S.mustache){if(T.innerHTML=m.render(A,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(T),(o=(c=this.config)==null?void 0:c.templates)!=null&&o.mainTemplateMobile)for(const N of((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const U=T.querySelector("."+N);U&&U.addEventListener("click",this.closeOverlay.bind(this))}else for(const N of g.facets.mainTemplateMobile.closeOverlayTriggerClasses){const U=T.querySelector("."+N);U&&U.addEventListener("click",this.closeOverlay.bind(this))}const W=T.querySelector("."+(((x=(C=(d=this.config)==null?void 0:d.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:x.filterByContainerClass)||g.facets.mainTemplateMobile.filterByContainerClass));W&&this.createFilterByComponent(W);const w=T.querySelector("."+(((L=(f=(y=this.config)==null?void 0:y.templates)==null?void 0:f.mainTemplateMobile)==null?void 0:L.selectedFacetsContainerClass)||g.facets.mainTemplateMobile.selectedFacetsContainerClass));w&&(this.createSelectedFacetsComponents(w),this.createClearFacetsComponents(w));const z=T.querySelector("."+(((I=(k=(v=this.config)==null?void 0:v.templates)==null?void 0:k.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||g.facets.mainTemplateMobile.facetsContainerClass));if(z){z.innerHTML="";for(const N of e.facets)this.createFacetItem(N,z,!0)}}}}}class we{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"previousButtonClass");n(this,"nextButtonClass");n(this,"loadMoreButtonClass");n(this,"routerHelper");n(this,"searchPaginationMainContainer",null);var t,a,s,r,i,c,o,h,u;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.previousButtonClass)??g.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.nextButtonClass)??g.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:u.loadMoreButtonClass)??g.pagination.infiniteScrollTemplate.loadMoreButtonClass,typeof document<"u"&&(this.searchPaginationMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var t,a,s,r;const e={...this.dataLayer.parsedData.data,previousPageLink:(a=this.routerHelper)==null?void 0:a.searchObjectToUrl({...this.dataLayer.searchObject,page:((t=this.dataLayer.searchObject)==null?void 0:t.page)-1}),nextPageLink:(r=this.routerHelper)==null?void 0:r.searchObjectToUrl({...this.dataLayer.searchObject,page:((s=this.dataLayer.searchObject)==null?void 0:s.page)+1})};return this.dataLayer.setPaginationData(e),e}goToPage(e,t){const a=this.dataLayer.searchObject;a&&(a.page=e,this.dataLayer.setSearchObject(a)),t||window==null||window.scrollTo(0,0)}nextPage(e){var t;e==null||e.preventDefault(),e==null||e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1,this.dataLayer.isInfiniteScroll)}previousPage(e){var t;e==null||e.preventDefault(),e==null||e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass),a=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&(e.addEventListener("click",this.previousPage.bind(this)),e.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.previousPage(s)})),t&&(t.addEventListener("click",this.nextPage.bind(this)),t.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)})),a&&(a.addEventListener("click",this.nextPage.bind(this)),a.addEventListener("keydown",s=>{(s.code==="Space"||s.code==="Enter")&&this.nextPage(s)}))}}renderMainTemplate(e){var a,s,r,i,c,o,h,u,p,d;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(s=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||s.removeEventListener("click",this.nextPage));let t=((c=(i=(r=this.config)==null?void 0:r.templates)==null?void 0:i.mainTemplate)==null?void 0:c.template)||((o=g.pagination.mainTemplate)==null?void 0:o.template);this.dataLayer.isInfiniteScroll&&(t=((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.infiniteScrollTemplate)==null?void 0:p.template)||((d=g.pagination.infiniteScrollTemplate)==null?void 0:d.template)),this.dataLayer.renderingEngine===S.mustache&&(this.searchPaginationMainContainer.innerHTML=m.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Pe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"relatedSearchesContainerClass");n(this,"searchRelatedSearchesMainContainer",null);n(this,"track");var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.relatedSearchesContainerClass)||g.relatedSearches.main.relatedSearchesContainerClass,typeof document<"u"&&(this.searchRelatedSearchesMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var a,s,r,i,c;if(typeof document<"u"){const o=document==null?void 0:document.createElement("div"),h=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:r.template)||g.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===S.mustache){o.innerHTML=m.render(h,e);const u=o.querySelector("."+(((c=(i=this.config.templates)==null?void 0:i.relatedSearch)==null?void 0:c.relatedSearchContainerClass)||g.relatedSearches.relatedSearch.relatedSearchContainerClass));u&&(t.appendChild(u),u.addEventListener("click",()=>{this.executeSearch(e)}),u.addEventListener("keyup",p=>{(p.code==="Space"||p.code==="Enter")&&this.executeSearch(e)}))}}}executeSearch(e){const t=this.dataLayer.searchObject;t.query=e.related_search,this.dataLayer.setSearchObject(t),this.track(e)}renderMainTemplate(e){var a,s,r,i;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.relatedSearches.main.template;if(this.dataLayer.renderingEngine===S.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=m.render(t,e);const c=(i=this.searchRelatedSearchesMainContainer)==null?void 0:i.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const o of e.relatedSearches)this.addRelatedSearchComponent(o,c)}}}class Ee{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"searchFeedbackMainContainer",null);n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,typeof document<"u"&&(this.searchFeedbackMainContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchFeedbackData(e),e}onOriginalQueryClick(e){var a;e.stopPropagation(),e.preventDefault();const t=(a=e.target)==null?void 0:a.innerHTML;this.searchTrigger(t,!0)}attachClick(){var t,a,s,r,i;const e=(i=this.searchFeedbackMainContainer)==null?void 0:i.querySelector("."+(((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.originalQueryClass)||((r=g.searchFeedback.main)==null?void 0:r.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.searchFeedback.main.template;this.dataLayer.renderingEngine===S.mustache&&(this.searchFeedbackMainContainer.innerHTML=m.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Fe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"suggestAfterMinChars");n(this,"containerId");n(this,"currentInputValue","");n(this,"autosuggestResults");n(this,"searchInput");n(this,"actionButton");n(this,"autosuggestContainer");n(this,"buttonState","search");n(this,"selectedAutosuggestItem",-1);n(this,"suggestTrigger");n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,a,s;if(typeof document<"u"){const r=document==null?void 0:document.getElementById(this.containerId);if(!r)throw new Error("Search input container not found");const i=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||g.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===S.mustache){const h=m.render(i,{});r.innerHTML=h}const c=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||g.searchInput.mainTemplate.searchInputId,o=document==null?void 0:document.querySelector(`#${c}`);if(o)this.searchInput=o,o.addEventListener("keyup",this.inputKeyupEvent.bind(this)),o.addEventListener("blur",this.hideAutosuggest.bind(this)),o.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===S.mustache&&typeof document<"u"&&(this.autosuggestContainer=document==null?void 0:document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){typeof document<"u"&&(this.actionButton=document==null?void 0:document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))}))}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");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(){if(typeof document<"u"){const e=document==null?void 0:document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):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.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},200)}cleanSuggestionTerm(e){return E.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var s,r,i;const t=document==null?void 0:document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const a=((r=(s=this.config.templates)==null?void 0:s.autosuggestItemTemplate)==null?void 0:r.template)||((i=g.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=m.render(a,e),t}onSuggestionEnter(e){var t;this.selectedAutosuggestItem=((t=this.autosuggestResults)==null?void 0:t.suggestions.indexOf(e))||0,this.markActiveAutosuggestItem()}appendSuggestions(e){this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.remove("hidden"));for(const t in e.suggest)if(Object.prototype.hasOwnProperty.call(e.suggest,t)){const a=e.suggest[t];for(const s in a)if(Object.prototype.hasOwnProperty.call(a,s)){const r=a[s];this.autosuggestResults=r,this.dataLayer.setAutosuggestResults(r),r.numFound>0?r.suggestions.forEach(i=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Me{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"linkClickCallback");n(this,"searchCallback");n(this,"containerId");n(this,"searchResultsMainContainer");n(this,"searchResultsContainer");n(this,"searchResultLinks",[]);this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,setTimeout(()=>{this.dataLayer.setSearchObject({...this.dataLayer.searchObject,itemsPerPage:this.config.resultsPerPage||10})},0),this.containerId=e.containerId;const t=document==null?void 0:document.getElementById(this.containerId);if(t)this.searchResultsMainContainer=t;else throw new Error(`Search Results Main Container with id ${this.containerId} not found`);this.dataLayer.setIsInfiniteScroll(e.config.renderMethod==="infiniteScroll"),this.initializeSubscriptions(),this.renderMainTemplate()}initializeSubscriptions(){this.dataLayer.$searchObject.subscribe(()=>{B.setAccessibilityText("Searching...")}),this.dataLayer.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,s,r,i,c;const e=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.noSearchResultTemplate)==null?void 0:r.template)||((i=g.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((c=this.dataLayer.searchResultsMetadata)==null?void 0:c.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===S.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=m.render(e,{spellingSuggestion:t,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),t&&this.searchResultsContainer){const o=this.searchResultsContainer.querySelector("a");o&&o.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,s,r,i;if(this.dataLayer.renderingEngine===S.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)B.setAccessibilityText(""),this.renderNoResultsTemplate();else{B.setAccessibilityText("Results are returned. Press tab to navigate through results");const c=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((r=g.searchResults.searchResultTemplate)==null?void 0:r.template),o=e.map(h=>m.render(c,h));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=o.join(""):this.searchResultsContainer.innerHTML=o.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}get uniqueIdAttribute(){var e,t,a,s;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((s=g.searchResults.searchResultTemplate)==null?void 0:s.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)}),e.addEventListener("keydown",t=>{if(t.code==="Space"||t.code==="Enter"){const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)}})})}renderMainTemplate(){var t,a,s,r;const e=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((r=g.searchResults.mainTemplate)==null?void 0:r.template);this.dataLayer.renderingEngine===S.mustache&&(this.searchResultsMainContainer.innerHTML=m.render(e,{}),setTimeout(()=>{var o,h,u,p,d,C,x;const i=(u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.mainTemplate)!=null&&u.searchResultsContainerId?(C=(d=(p=this.config)==null?void 0:p.templates)==null?void 0:d.mainTemplate)==null?void 0:C.searchResultsContainerId:(x=g.searchResults.mainTemplate)==null?void 0:x.searchResultsContainerId,c=document==null?void 0:document.getElementById(i);if(c)this.searchResultsContainer=c;else throw new Error(`Search Results Container with id ${i} not found`)},0))}}class Ae{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"selectId");n(this,"searchSortingMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.selectId)||g.sorting.main.selectId,this.searchSortingMainContainer=document==null?void 0:document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setSearchSortingData(e),e}setOrderQuery(e){const t=this.dataLayer.searchObject;t&&(t.order=e,this.dataLayer.setSearchObject(t))}markOptionSelected(){const e=document==null?void 0:document.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.sorting.main.template;if(this.dataLayer.renderingEngine===S.mustache){this.searchSortingMainContainer.innerHTML=m.render(t,e),this.markOptionSelected();const i=document==null?void 0:document.getElementById(this.selectId);i&&i.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class De{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,typeof document<"u"&&(this.answerContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)})}renderMainTemplate(e){var a,s,r;const t=((r=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:r.template)||g.answer.main.template;this.dataLayer.renderingEngine===S.mustache&&(this.answerContainer.innerHTML=m.render(t,e))}}class Oe{constructor(e=S.mustache){n(this,"routerEnabled",!1);n(this,"cachedQuery","");n(this,"routerHelper");n(this,"searchHelper");n(this,"searchResultsConfig");n(this,"searchPaginationConfig");n(this,"searchFeedbackConfig");n(this,"searchSortingConfig");n(this,"searchFacetsConfig");n(this,"relatedSearchesConfig");n(this,"externalPromotionsConfig");n(this,"searchInputWidget");n(this,"searchResultsWidget");n(this,"searchFacetsWidget");n(this,"searchPaginationWidget");n(this,"searchFeedbackWidget");n(this,"searchSortingWidget");n(this,"relatedSearchesWidget");n(this,"externalPromotionsWidget");n(this,"answerWidget");n(this,"dataLayer");n(this,"firstRequest",!0);n(this,"renderEngine",S.mustache);e&&(this.renderEngine=e)}setRenderingEngine(e=S.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{var s;a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),this.dataLayer.turnAIAnswerGenerationOn===!0&&((s=this.searchHelper)==null||s.startSSE(a.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&O.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}attachAnalyticsScript(e){const t=e||"https://static.searchstax.com/studio-js/v3/js/studio-analytics.js";var a=document.createElement("script");a.type="text/javascript",a.src=t;var s=document.getElementsByTagName("script")[0];s.parentNode&&s.parentNode.insertBefore(a,s)}initialize(e){var t,a;if(this.dataLayer=new Y("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.turnAIAnswerGenerationOn===!0&&(this.dataLayer.turnAIAnswerGenerationOn=!0),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new ee({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0){this.routerEnabled=!0,this.routerHelper=new J(e.router?e.router:{enabled:!0});const s=this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"");this.dataLayer.searchObject.itemsPerPage&&(s.itemsPerPage=this.dataLayer.searchObject.itemsPerPage),this.dataLayer.setSearchObject(s),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject((window==null?void 0:window.location.href)??"",this.dataLayer.searchObject.itemsPerPage))})}else this.routerHelper=new J({})}search(e){if(this.searchHelper){const t=this.dataLayer.forceNotCorrect;this.searchHelper.search(e,this.parseSearchResultsResponse.bind(this),this.firstRequest,t),this.firstRequest=!1,this.getRelatedSearches()}}getRelatedSearches(){this.searchHelper&&this.relatedSearchesConfig&&this.searchHelper.getRelatedSearches(this.dataLayer.searchObject,this.relatedSearchesConfig.relatedSearchesURL,this.relatedSearchesConfig.relatedSearchesAPIKey,this.parseRelatedSearchesResponse.bind(this))}parseRelatedSearchesResponse(e){var r;const a=(((r=e.response)==null?void 0:r.docs)??[]).map((i,c)=>({...i,position:c+1})),s=[];for(const i of a)s.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&O.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:s}),this.dataLayer.setSearchRelatedSearches(a)}handleRouter(){if(this.routerEnabled){const e={...this.dataLayer.searchObject};this.dataLayer.isInfiniteScroll&&delete e.page,this.routerHelper.updateUrl(e)}}parseSearchResultsResponse(e){var r,i;this.handleRouter();let t=$.combineResultsWithMetadata(e),a=$.extractFacets(e);this.dataLayer.setSearchFacets(a),(i=(r=this.dataLayer.searchstaxConfig)==null?void 0:r.hooks)!=null&&i.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const s=$.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(s),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==D.question&&e!==D.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var a,s;let t=e;(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.afterAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(t)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Fe({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.setAnswerData(""),this.answerWidget=new De({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Me({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Ee({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new Ae({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Re({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Ie({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var r,i;const a={...this.dataLayer.searchObject};a.query=E.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let s=(r=this.routerHelper)==null?void 0:r.searchObjectToParams(a);s&&(s=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(s)),s&&(a.additionalProps=Object.keys(s).map(c=>s?{key:c,value:s[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(a),this.dataLayer.lastSearchValue=a.query}executeSuggest(e){var a,s;let t={term:e,queryParams:[]};(s=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&s.beforeAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(t)),t&&t.term!==void 0&&t.queryParams!==void 0&&this.suggest(t.term,t.queryParams)}trackRelatedSearchClick(e){this.dataLayer.searchResultsMetadata&&this.dataLayer.searchRelatedSearches&&!this.dataLayer.cookiesDisabled&&O.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,s;let t=$.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((s=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&s.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&O.trackClick({result:t,...this.dataLayer.parsedData.trackingData}).then(()=>{typeof window<"u"&&(window.location.href=(t==null?void 0:t.url)??"")}).catch(()=>{}))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){var t,a,s;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(s=this.searchResultsWidget)==null||s.changeTemplate())}}F.Searchstax=Oe,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxJs"]=this["@searchstaxInc/searchstudioUxJs"]||{});
@@ -449,7 +449,7 @@ class Z {
449
449
  return (this.$cookiesDisabled.getValue() ?? !1) || !navigator.cookieEnabled;
450
450
  }
451
451
  }
452
- class H {
452
+ class $ {
453
453
  static combineResultsWithMetadata(e) {
454
454
  const t = [], a = parseInt(e.response.start + "");
455
455
  return parseInt(e.responseHeader.params.rows), e.response.docs.forEach((s, r) => {
@@ -757,7 +757,7 @@ class te {
757
757
  ));
758
758
  }
759
759
  cacheFacetsCallback(e) {
760
- let t = H.extractFacets(e);
760
+ let t = $.extractFacets(e);
761
761
  this.dataLayer.setSearchFacetsCached(t);
762
762
  }
763
763
  search(e, t, a = !1, s = !1) {
@@ -832,7 +832,7 @@ class te {
832
832
  return "&" + t.join("&");
833
833
  }
834
834
  }
835
- class $ {
835
+ class A {
836
836
  static trackClick(e) {
837
837
  const t = {
838
838
  key: e.trackApiKey,
@@ -847,9 +847,12 @@ class $ {
847
847
  position: e.result.position,
848
848
  language: e.language
849
849
  };
850
- setTimeout(() => {
851
- t.key && this.msq().push(["trackClick", t]);
852
- }, 0);
850
+ return new Promise((a, s) => {
851
+ const r = ["trackClick", t];
852
+ t.key && this.msq().push(r, (function(i, c) {
853
+ JSON.stringify(i) === JSON.stringify(t) && c ? a() : s();
854
+ }).bind(this));
855
+ });
853
856
  }
854
857
  static trackSearch(e) {
855
858
  const t = {
@@ -898,19 +901,19 @@ class $ {
898
901
  }, 0);
899
902
  }
900
903
  }
901
- n($, "msq", () => typeof window < "u" && (window != null && window._msq) ? window == null ? void 0 : window._msq : []);
904
+ n(A, "subscribedToClickEvent", !1), n(A, "msq", () => typeof window < "u" && (window != null && window._msq) ? window == null ? void 0 : window._msq : []);
902
905
  /*!
903
906
  * mustache.js - Logic-less {{mustache}} templates with JavaScript
904
907
  * http://github.com/janl/mustache.js
905
908
  */
906
- var ae = Object.prototype.toString, D = Array.isArray || function(e) {
909
+ var ae = Object.prototype.toString, O = Array.isArray || function(e) {
907
910
  return ae.call(e) === "[object Array]";
908
911
  };
909
912
  function K(l) {
910
913
  return typeof l == "function";
911
914
  }
912
915
  function se(l) {
913
- return D(l) ? "array" : typeof l;
916
+ return O(l) ? "array" : typeof l;
914
917
  }
915
918
  function Q(l) {
916
919
  return l.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
@@ -959,7 +962,7 @@ function fe(l, e) {
959
962
  }
960
963
  var p, d, C;
961
964
  function v(w) {
962
- if (typeof w == "string" && (w = w.split(de, 2)), !D(w) || w.length !== 2)
965
+ if (typeof w == "string" && (w = w.split(de, 2)), !O(w) || w.length !== 2)
963
966
  throw new Error("Invalid tags: " + w);
964
967
  p = new RegExp(Q(w[0]) + "\\s*"), d = new RegExp("\\s*" + Q(w[1])), C = new RegExp("\\s*" + Q("}" + w[1]));
965
968
  }
@@ -1034,13 +1037,13 @@ B.prototype.scanUntil = function(e) {
1034
1037
  }
1035
1038
  return this.pos += a.length, a;
1036
1039
  };
1037
- function A(l, e) {
1040
+ function D(l, e) {
1038
1041
  this.view = l, this.cache = { ".": this.view }, this.parent = e;
1039
1042
  }
1040
- A.prototype.push = function(e) {
1041
- return new A(e, this);
1043
+ D.prototype.push = function(e) {
1044
+ return new D(e, this);
1042
1045
  };
1043
- A.prototype.lookup = function(e) {
1046
+ D.prototype.lookup = function(e) {
1044
1047
  var t = this.cache, a;
1045
1048
  if (t.hasOwnProperty(e))
1046
1049
  a = t[e];
@@ -1083,7 +1086,7 @@ R.prototype.parse = function(e, t) {
1083
1086
  return i == null && (i = fe(e, t), r && a.set(s, i)), i;
1084
1087
  };
1085
1088
  R.prototype.render = function(e, t, a, s) {
1086
- var r = this.getConfigTags(s), i = this.parse(e, r), c = t instanceof A ? t : new A(t, void 0);
1089
+ var r = this.getConfigTags(s), i = this.parse(e, r), c = t instanceof D ? t : new D(t, void 0);
1087
1090
  return this.renderTokens(i, c, a, e, s);
1088
1091
  };
1089
1092
  R.prototype.renderTokens = function(e, t, a, s, r) {
@@ -1097,7 +1100,7 @@ R.prototype.renderSection = function(e, t, a, s, r) {
1097
1100
  return i.render(d, t, a, r);
1098
1101
  }
1099
1102
  if (o) {
1100
- if (D(o))
1103
+ if (O(o))
1101
1104
  for (var u = 0, p = o.length; u < p; ++u)
1102
1105
  c += this.renderTokens(e[4], t.push(o[u]), a, s, r);
1103
1106
  else if (typeof o == "object" || typeof o == "string" || typeof o == "number")
@@ -1113,7 +1116,7 @@ R.prototype.renderSection = function(e, t, a, s, r) {
1113
1116
  };
1114
1117
  R.prototype.renderInverted = function(e, t, a, s, r) {
1115
1118
  var i = t.lookup(e[1]);
1116
- if (!i || D(i) && i.length === 0)
1119
+ if (!i || O(i) && i.length === 0)
1117
1120
  return this.renderTokens(e[4], t, a, s, r);
1118
1121
  };
1119
1122
  R.prototype.indentPartial = function(e, t, a) {
@@ -1148,10 +1151,10 @@ R.prototype.rawValue = function(e) {
1148
1151
  return e[1];
1149
1152
  };
1150
1153
  R.prototype.getConfigTags = function(e) {
1151
- return D(e) ? e : e && typeof e == "object" ? e.tags : void 0;
1154
+ return O(e) ? e : e && typeof e == "object" ? e.tags : void 0;
1152
1155
  };
1153
1156
  R.prototype.getConfigEscape = function(e) {
1154
- if (e && typeof e == "object" && !D(e))
1157
+ if (e && typeof e == "object" && !O(e))
1155
1158
  return e.escape;
1156
1159
  };
1157
1160
  var m = {
@@ -1193,7 +1196,7 @@ m.render = function(e, t, a, s) {
1193
1196
  };
1194
1197
  m.escape = he;
1195
1198
  m.Scanner = B;
1196
- m.Context = A;
1199
+ m.Context = D;
1197
1200
  m.Writer = R;
1198
1201
  const Ce = {
1199
1202
  main: {
@@ -1935,14 +1938,14 @@ class we {
1935
1938
  ...e,
1936
1939
  overlayOpened: this.overlayOpened
1937
1940
  }), (i = this.searchFacetsMainContainer) == null || i.appendChild(x), (o = (c = this.config) == null ? void 0 : c.templates) != null && o.mainTemplateMobile)
1938
- for (const O of ((p = (u = (h = this.config) == null ? void 0 : h.templates) == null ? void 0 : u.mainTemplateMobile) == null ? void 0 : p.closeOverlayTriggerClasses) || []) {
1939
- const q = x.querySelector("." + O);
1940
- q && q.addEventListener("click", this.closeOverlay.bind(this));
1941
+ for (const q of ((p = (u = (h = this.config) == null ? void 0 : h.templates) == null ? void 0 : u.mainTemplateMobile) == null ? void 0 : p.closeOverlayTriggerClasses) || []) {
1942
+ const H = x.querySelector("." + q);
1943
+ H && H.addEventListener("click", this.closeOverlay.bind(this));
1941
1944
  }
1942
1945
  else
1943
- for (const O of g.facets.mainTemplateMobile.closeOverlayTriggerClasses) {
1944
- const q = x.querySelector("." + O);
1945
- q && q.addEventListener("click", this.closeOverlay.bind(this));
1946
+ for (const q of g.facets.mainTemplateMobile.closeOverlayTriggerClasses) {
1947
+ const H = x.querySelector("." + q);
1948
+ H && H.addEventListener("click", this.closeOverlay.bind(this));
1946
1949
  }
1947
1950
  const N = x.querySelector(
1948
1951
  "." + (((v = (C = (d = this.config) == null ? void 0 : d.templates) == null ? void 0 : C.mainTemplateMobile) == null ? void 0 : v.filterByContainerClass) || g.facets.mainTemplateMobile.filterByContainerClass)
@@ -1957,8 +1960,8 @@ class we {
1957
1960
  );
1958
1961
  if (W) {
1959
1962
  W.innerHTML = "";
1960
- for (const O of e.facets)
1961
- this.createFacetItem(O, W, !0);
1963
+ for (const q of e.facets)
1964
+ this.createFacetItem(q, W, !0);
1962
1965
  }
1963
1966
  }
1964
1967
  }
@@ -2564,7 +2567,7 @@ class He {
2564
2567
  this.parseAnswerResultsResponse.bind(this)
2565
2568
  )));
2566
2569
  }), this.dataLayer.$searchResults.subscribe((a) => {
2567
- a && this.dataLayer.searchResultsMetadata && !this.dataLayer.cookiesDisabled && $.trackSearch({
2570
+ a && this.dataLayer.searchResultsMetadata && !this.dataLayer.cookiesDisabled && A.trackSearch({
2568
2571
  ...this.dataLayer.parsedData.trackingData,
2569
2572
  impressions: this.dataLayer.searchResultsMetadata.impressions
2570
2573
  });
@@ -2627,7 +2630,7 @@ class He {
2627
2630
  relatedSearch: i.related_search,
2628
2631
  position: i.position
2629
2632
  });
2630
- this.dataLayer.searchResultsMetadata && !this.dataLayer.cookiesDisabled && $.trackRelatedSearches({
2633
+ this.dataLayer.searchResultsMetadata && !this.dataLayer.cookiesDisabled && A.trackRelatedSearches({
2631
2634
  ...this.dataLayer.parsedData.trackingData,
2632
2635
  impressions: s
2633
2636
  }), this.dataLayer.setSearchRelatedSearches(a);
@@ -2641,9 +2644,9 @@ class He {
2641
2644
  parseSearchResultsResponse(e) {
2642
2645
  var r, i;
2643
2646
  this.handleRouter();
2644
- let t = H.combineResultsWithMetadata(e), a = H.extractFacets(e);
2647
+ let t = $.combineResultsWithMetadata(e), a = $.extractFacets(e);
2645
2648
  this.dataLayer.setSearchFacets(a), (i = (r = this.dataLayer.searchstaxConfig) == null ? void 0 : r.hooks) != null && i.afterSearch && (t = this.dataLayer.searchstaxConfig.hooks.afterSearch(t)), this.dataLayer.setSearchExternalPromotions(e.externalLinks ?? []);
2646
- const s = H.extractSearchResultsMetadata(e);
2649
+ const s = $.extractSearchResultsMetadata(e);
2647
2650
  this.dataLayer.setSearchResultsMetadata(s), this.dataLayer.setSearchResults(t);
2648
2651
  }
2649
2652
  parseAnswerResultsResponse(e) {
@@ -2757,23 +2760,24 @@ class He {
2757
2760
  (s = (a = this.dataLayer.searchInputConfig) == null ? void 0 : a.hooks) != null && s.beforeAutosuggest && (t = this.dataLayer.searchInputConfig.hooks.beforeAutosuggest(t)), t && t.term !== void 0 && t.queryParams !== void 0 && this.suggest(t.term, t.queryParams);
2758
2761
  }
2759
2762
  trackRelatedSearchClick(e) {
2760
- this.dataLayer.searchResultsMetadata && this.dataLayer.searchRelatedSearches && !this.dataLayer.cookiesDisabled && $.trackRelatedSearchClick({
2763
+ this.dataLayer.searchResultsMetadata && this.dataLayer.searchRelatedSearches && !this.dataLayer.cookiesDisabled && A.trackRelatedSearchClick({
2761
2764
  ...this.dataLayer.parsedData.trackingData,
2762
2765
  relatedSearch: e
2763
2766
  });
2764
2767
  }
2765
2768
  executeLinkClick(e) {
2766
2769
  var a, s;
2767
- let t = H.findResultByUniqueId(
2770
+ let t = $.findResultByUniqueId(
2768
2771
  e,
2769
2772
  this.dataLayer.searchResults ?? []
2770
2773
  );
2771
- t && ((s = (a = this.searchResultsConfig) == null ? void 0 : a.hooks) != null && s.afterLinkClick && (t = this.searchResultsConfig.hooks.afterLinkClick(t)), t && this.dataLayer.searchResultsMetadata && !this.dataLayer.cookiesDisabled && ($.trackClick({
2774
+ t && ((s = (a = this.searchResultsConfig) == null ? void 0 : a.hooks) != null && s.afterLinkClick && (t = this.searchResultsConfig.hooks.afterLinkClick(t)), t && this.dataLayer.searchResultsMetadata && !this.dataLayer.cookiesDisabled && A.trackClick({
2772
2775
  result: t,
2773
2776
  ...this.dataLayer.parsedData.trackingData
2774
- }), setTimeout(() => {
2777
+ }).then(() => {
2775
2778
  typeof window < "u" && (window.location.href = (t == null ? void 0 : t.url) ?? "");
2776
- }, 0)));
2779
+ }).catch(() => {
2780
+ }));
2777
2781
  }
2778
2782
  setPage(e) {
2779
2783
  var t;
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.6.39",
4
+ "version": "0.6.49",
5
5
  "files": [
6
6
  "dist"
7
7
  ],