@searchstax-inc/searchstudio-ux-js 1.0.26 → 1.0.28

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,14 +1,14 @@
1
- "use strict";var Fe=Object.defineProperty;var De=(c,e,t)=>e in c?Fe(c,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[e]=t;var n=(c,e,t)=>(De(c,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var E=(c=>(c[c.mustache=0]="mustache",c[c.vue=1]="vue",c[c.react=2]="react",c[c.angular=3]="angular",c))(E||{});class Oe{constructor(e){n(this,"dataLayer");this.dataLayer=e}get answerWidgetShowMoreLimit(){return this.dataLayer.answerWidgetShowMoreLimit??100}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.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 shouldShowAnswerLoadMore(){return this.dataLayer.getAnswerData.split(" ").length>this.answerWidgetShowMoreLimit}get answerTruncated(){return this.dataLayer.getAnswerData.split(" ").slice(0,this.answerWidgetShowMoreLimit).join(" ")+"..."}get answerLoading(){return this.dataLayer.answerLoading}get shouldShowAnswer(){return(this.dataLayer.getAnswerData!==""||this.dataLayer.parsedData.answerLoading)&&this.dataLayer.searchObject.query!=="*"}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(i=>{const r=i.name,o=i.value,l=e.find(h=>h.name===r);if(l){const h=l.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?'"'+d.value+'"'===o:!1);if(h)return h}return null}).filter(i=>i!==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,answerTruncated:this.answerTruncated,shouldShowAnswerLoadMore:this.shouldShowAnswerLoadMore,answerLoading:this.answerLoading,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.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 D{static deepEqual(e,t){const a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(const i of a){const r=e[i],o=t[i],l=this.isObject(r)&&this.isObject(o);if(l&&!this.deepEqual(r,o)||!l&&r!==o)return!1}return!0}static isObject(e){return e!=null&&typeof e=="object"}}class v{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 ue{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 i=0;i<e;i++)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 i=encodeURIComponent(e)+"="+encodeURIComponent(t);for(const r in s){i+="; "+r;const o=s[r];o!==!0&&(i+="="+o)}typeof document<"u"&&(document.cookie=i)}}class H{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 qe{constructor(e,t){n(this,"$searchTermChange",new v(""));n(this,"$loadingChange",new v(!1));n(this,"$searchResults",new v(null));n(this,"$searchResultsMetadata",new v(null));n(this,"$searchAutosuggest",new v(null));n(this,"$searchFacets",new v(null));n(this,"$searchFacetsCached",new v(null));n(this,"$searchstaxConfig",new v(null));n(this,"$autosuggestResults",new v(null));n(this,"$itemsPerPage",new v(void 0));n(this,"$searchObject",new v({query:"",itemsPerPage:null,page:99999999,order:"",facets:[],additionalProps:[]}));n(this,"$searchRelatedSearches",new v(null));n(this,"$searchInputConfig",new v(null));n(this,"$searchExternalPromotions",new v(null));n(this,"$facetsTemplateData",new v(null));n(this,"$selectedFacetsTemplateData",new v(null));n(this,"$paginationData",new v(null));n(this,"$answerData",new v(null));n(this,"$searchFeedbackData",new v(null));n(this,"$searchSortingData",new v(null));n(this,"$searchRelatedSearchesData",new v(null));n(this,"$searchExternalPromotionsData",new v(null));n(this,"$cookiesDisabled",new v(null));n(this,"$answer",new v(""));n(this,"$language",new v("en"));n(this,"$answerLoading",new v(!1));n(this,"currentPageValue",1);n(this,"isAnswerWidgetCreatedValue",!1);n(this,"renderingEngineValue",E.mustache);n(this,"parsedData",new Oe(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,"questionURL","");n(this,"isInfiniteScroll",!1);n(this,"firstSearchHappened",!1);n(this,"facetsWereSet",!1);n(this,"answerWidgetShowMoreLimit",100);n(this,"searchHelper");this.sessionId=e,t&&(this.sessionIdValue=t),this.cookieHandlingCallback(t),this.$cookiesDisabled.subscribe(()=>{this.cookieHandlingCallback(t)})}cookieHandlingCallback(e){this.cookiesDisabled?(this.sessionIdValue=null,ue.deleteCookie(this.sessionId),ue.deleteCookie("ms_visitorid")):this.sessionIdValue=ue.getOrSetCookie(this.sessionId,e)}setIsInfiniteScroll(e){this.isInfiniteScroll=e}setSearchTerm(e){this.$searchTermChange.setValue(H.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,(!D.deepEqual(e,this.searchResults??[""])||this.facetsWereSet)&&(this.facetsWereSet=!1,this.$searchResults.setValue(e))}setSearchResultsMetadata(e){D.deepEqual(e,this.searchResultsMetadata??{})||this.$searchResultsMetadata.setValue(e)}setSearchAutosuggest(e){this.$searchAutosuggest.setValue(e)}setSearchObject(e){var a,s;let t=e;t={...t,itemsPerPage:this.itemsPerPage},(s=(a=this.searchstaxConfig)==null?void 0:a.hooks)!=null&&s.beforeSearch&&t&&(t=this.searchstaxConfig.hooks.beforeSearch(t)),t&&(!D.deepEqual(t,this.searchObject??{})||this.forceNotCorrect)&&this.$searchObject.setValue(t)}setSearchFacets(e){this.facetsWereSet=!0,D.deepEqual(e,this.searchFacets??[])||this.$searchFacets.setValue(e)}setSearchFacetsCached(e){D.deepEqual(e,this.searchFacetsCached??[])||this.$searchFacetsCached.setValue(e)}setSearchRelatedSearches(e){D.deepEqual(e,this.searchRelatedSearches??[])||this.$searchRelatedSearches.setValue(e)}setSearchExternalPromotions(e){D.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)}setAnswerFullData(e){this.$answerData.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)}setItemsPerPage(e){this.$itemsPerPage.setValue(e)}setAnswerLoading(e){this.$answerLoading.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}get itemsPerPage(){return this.$itemsPerPage.getValue()}get answerFullData(){return this.$answerData.getValue()}get answerLoading(){return this.$answerLoading.getValue()}}class ee{static combineResultsWithMetadata(e){const t=[],a=parseInt(e.response.start+"");return e.response.docs.forEach((s,i)=>{const r=s[e.responseHeader.params.uniqueId]??"",o={custom:null,uniqueId:r,position:a+1+i,ribbon:this.doesMapExist("ribbon",e)?this.getValueByKey("ribbon",s,e,r):null,paths:this.doesMapExist("paths",e)?this.getValueByKey("paths",s,e,r):null,url:this.doesMapExist("url",e)?this.getValueByKey("url",s,e,r):null,title:this.doesMapExist("title",e)?this.getValueByKey("title",s,e,r):null,titleTracking:this.doesMapExist("title",e)?this.getValueByKey("title",s,e,r,!0):null,promoted:s["[elevated]"]?s["[elevated]"]:!1,thumbnail:this.doesMapExist("thumbnail",e)?this.getValueByKey("thumbnail",s,e,r):null,date:this.doesMapExist("date",e)?this.getValueByKey("date",s,e,r):null,snippet:this.doesMapExist("snippet",e)?this.getValueByKey("snippet",s,e,r):null,description:this.doesMapExist("description",e)?this.getValueByKey("description",s,e,r):null,unmappedFields:this.getUnmappedFields(s,e,r),allFields:this.getAllFields(s,e)};t.push(o)}),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 i=e.facet_counts.facet_fields[a.name];for(let r=0;r<i.length;r+=2){const o={};o.value=i[r],o.parentName=s.name,o.count=i[r+1],o.type="checkbox",s.values.push(o)}}s.values.length>0&&t.push(s)}return t}static extractSearchResultsMetadata(e){var i,r,o,l,h,d;let t="",a={selectedSortOption:"",options:[]},s=(i=e.metadata.results.find(p=>p.result_card==="date"))==null?void 0:i.name;if(a.options=[{key:"",value:"Relevance"},{key:s+" desc",value:"Most Recent"}],(r=e.metadata.sorts)!=null&&r.length){const p=e.metadata.sorts.map(u=>({value:u.label,key:u.name+" "+u.order}));a.options=[{key:"",value:"Relevance"},...p]}return t=((d=(h=(l=(o=e==null?void 0:e.spellcheck)==null?void 0:o.suggestions)==null?void 0:l[1])==null?void 0:h.suggestion)==null?void 0:d[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 i=a[s],r={};r.cDocId=this.getDataForAnalytics(i.uniqueId),i.title&&(r.cDocTitle=this.getDataForAnalytics(i.title)),r.position=i.position,t.push(r)}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,a){const s=t.metadata.results.filter(r=>r.result_card==="").map(r=>r.name),i=[];for(const r of s)if(Object.keys(e).includes(r)){const o=Array.isArray(e[r])?this.getHighlightedResults(r,e[r].join(", "),a,t):this.getHighlightedResults(r,e[r]+"",a,t);i.push({key:r,value:o,isImage:this.checkIfImage(e[r])})}return i}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(i=>i.name),s=[];for(const i of Object.keys(e))a.indexOf(i)!==-1&&s.push({key:i,value:e[i],isImage:this.checkIfImage(e[i])});return s}static doesMapExist(e,t){return t.metadata.results.find(a=>a.result_card===e)!==void 0}static getValueByKey(e,t,a,s,i=!1){const r=a.metadata.results.find(l=>l.result_card===e);if(r===void 0)return null;const o=t[r.name];return o===void 0?null:typeof o=="string"?i?o:this.getHighlightedResults(r.name,o,s,a):Array.isArray(o)?i?o.join(", "):this.getHighlightedResults(r.name,o.join(", "),s,a):null}static getHighlightedResults(e,t,a,s){if(s.highlighting&&a in s.highlighting){let i=s.highlighting[a];if(i&&e in i){let r=i[e];const o=this.cleanValue(r);if(o!=="")return o}}return t}static cleanValue(e){return e===null?"":typeof e=="string"?e:Array.isArray(e)?e.join(" "):""}}class Te{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 $e(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.replaceState(window.history.state,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 i=e.facets[s].type+":"+encodeURIComponent(e.facets[s].name)+":"+encodeURIComponent(e.facets[s].value);t[this.routeName+`[facets][${s}]`]=i}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 i in s)i.startsWith(this.routeName)&&delete s[i];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,i;const t=[];for(const r in e)if(r.startsWith(this.routeName+"[facets]")){const o=H.removeXSSRiskyTags((a=e[r].split(":"))==null?void 0:a[0]),l=H.removeXSSRiskyTags(decodeURIComponent((s=e[r].split(":"))==null?void 0:s[1])),h=H.removeXSSRiskyTags(decodeURIComponent((i=e[r].split(":"))==null?void 0:i[2]));t.push({type:o,name:l,value:h})}return t}urlToSearchObject(e,t){const a=this.queryStringHelper.urlToParams(e),s=H.removeXSSRiskyTags(decodeURIComponent(a[this.routeName+"[page]"])),i=parseInt(s),r=isNaN(i)?1:i;return{query:H.removeXSSRiskyTags(decodeURIComponent(a[this.routeName+"[query]"]))||"",page:r,itemsPerPage:t,order:H.removeXSSRiskyTags(a[this.routeName+"[order]"])||"",facets:this.extractArrayOfFacetsFromQueryParameters(a)||[]}}}class $e{constructor(e){n(this,"routeName","");n(this,"stringify",(e,t)=>{const a=this.filterOutIgnoredKeys(e,t.ignoredKeys);return Object.keys(a).map(s=>{const i=a[s];return Array.isArray(i)?i.map(r=>`${s}=${r}`).join("&"):`${s}=${i}`}).join("&")});this.routeName=e}filterOutIgnoredKeys(e,t){const a=t||[],s={};return Object.keys(e).forEach(i=>{a.includes(i)||e[i]!==""&&(s[i]=e[i])}),s}urlToParams(e){const t={},a=e.split("?")[1];return a&&a.split("&").forEach(s=>{const[i,r]=s.split("=");t[i]=r}),t}doesParamContainRouteName(e){return e.indexOf(this.routeName)!==-1}urlHasQueryParams(e){return e.indexOf("?")!==-1}}const Q={questionURL:"http://smartsearch-dev.searchstax.co/completion/?q=",question:"I_AM_A_QUESTION",notQuestion:"I_AM_NOT_A_QUESTION",close:"CLOSE"};var He=Object.defineProperty,Ve=(c,e,t)=>e in c?He(c,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[e]=t,ce=(c,e,t)=>Ve(c,typeof e!="symbol"?e+"":e,t);class ke extends Error{constructor(e,t){super(e),ce(this,"type"),ce(this,"field"),ce(this,"value"),ce(this,"line"),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}function ge(c){}function Be(c){const{onEvent:e=ge,onError:t=ge,onRetry:a=ge,onComment:s}=c;let i="",r=!0,o,l="",h="";function d(g){const m=r?g.replace(/^\xEF\xBB\xBF/,""):g,[L,x]=je(`${i}${m}`);for(const T of L)p(T);i=x,r=!1}function p(g){if(g===""){y();return}if(g.startsWith(":")){s&&s(g.slice(g.startsWith(": ")?2:1));return}const m=g.indexOf(":");if(m!==-1){const L=g.slice(0,m),x=g[m+1]===" "?2:1,T=g.slice(m+x);u(L,T,g);return}u(g,"",g)}function u(g,m,L){switch(g){case"event":h=m;break;case"data":l=`${l}${m}
2
- `;break;case"id":o=m.includes("\0")?void 0:m;break;case"retry":/^\d+$/.test(m)?a(parseInt(m,10)):t(new ke(`Invalid \`retry\` value: "${m}"`,{type:"invalid-retry",value:m,line:L}));break;default:t(new ke(`Unknown field "${g.length>20?`${g.slice(0,20)}…`:g}"`,{type:"unknown-field",field:g,value:m,line:L}));break}}function y(){l.length>0&&e({id:o,event:h||void 0,data:l.endsWith(`
3
- `)?l.slice(0,-1):l}),o=void 0,l="",h=""}function S(g={}){i&&g.consume&&p(i),o=void 0,l="",h="",i=""}return{feed:d,reset:S}}function je(c){const e=[];let t="";const a=c.length;for(let s=0;s<a;s++){const i=c[s];i==="\r"&&c[s+1]===`
4
- `?(e.push(t),t="",s++):i==="\r"||i===`
5
- `?(e.push(t),t=""):t+=i}return[e,t]}class Re extends Event{constructor(e,t){var a,s;super(e),this.code=(a=t==null?void 0:t.code)!=null?a:void 0,this.message=(s=t==null?void 0:t.message)!=null?s:void 0}[Symbol.for("nodejs.util.inspect.custom")](e,t,a){return a(Ee(this),t)}[Symbol.for("Deno.customInspect")](e,t){return e(Ee(this),t)}}function Ne(c){const e=globalThis.DOMException;return typeof e=="function"?new e(c,"SyntaxError"):new SyntaxError(c)}function fe(c){return c instanceof Error?"errors"in c&&Array.isArray(c.errors)?c.errors.map(fe).join(", "):"cause"in c&&c.cause instanceof Error?`${c}: ${fe(c.cause)}`:c.message:`${c}`}function Ee(c){return{type:c.type,message:c.message,code:c.code,defaultPrevented:c.defaultPrevented,cancelable:c.cancelable,timeStamp:c.timeStamp}}var Ae=c=>{throw TypeError(c)},xe=(c,e,t)=>e.has(c)||Ae("Cannot "+t),C=(c,e,t)=>(xe(c,e,"read from private field"),t?t.call(c):e.get(c)),R=(c,e,t)=>e.has(c)?Ae("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(c):e.set(c,t),w=(c,e,t,a)=>(xe(c,e,"write to private field"),e.set(c,t),t),$=(c,e,t)=>(xe(c,e,"access private method"),t),M,j,W,oe,he,se,K,ie,V,_,J,U,te,F,me,ye,Ce,Ie,be,Se,ae,Le,ve;class le extends EventTarget{constructor(e,t){var a,s;super(),R(this,F),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,R(this,M),R(this,j),R(this,W),R(this,oe),R(this,he),R(this,se),R(this,K),R(this,ie,null),R(this,V),R(this,_),R(this,J,null),R(this,U,null),R(this,te,null),R(this,ye,async i=>{var r;C(this,_).reset();const{body:o,redirected:l,status:h,headers:d}=i;if(h===204){$(this,F,ae).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if(l?w(this,W,new URL(i.url)):w(this,W,void 0),h!==200){$(this,F,ae).call(this,`Non-200 status code (${h})`,h);return}if(!(d.get("content-type")||"").startsWith("text/event-stream")){$(this,F,ae).call(this,'Invalid content type, expected "text/event-stream"',h);return}if(C(this,M)===this.CLOSED)return;w(this,M,this.OPEN);const p=new Event("open");if((r=C(this,te))==null||r.call(this,p),this.dispatchEvent(p),typeof o!="object"||!o||!("getReader"in o)){$(this,F,ae).call(this,"Invalid response body, expected a web ReadableStream",h),this.close();return}const u=new TextDecoder,y=o.getReader();let S=!0;do{const{done:g,value:m}=await y.read();m&&C(this,_).feed(u.decode(m,{stream:!g})),g&&(S=!1,C(this,_).reset(),$(this,F,Le).call(this))}while(S)}),R(this,Ce,i=>{w(this,V,void 0),!(i.name==="AbortError"||i.type==="aborted")&&$(this,F,Le).call(this,fe(i))}),R(this,be,i=>{typeof i.id=="string"&&w(this,ie,i.id);const r=new MessageEvent(i.event||"message",{data:i.data,origin:C(this,W)?C(this,W).origin:C(this,j).origin,lastEventId:i.id||""});C(this,U)&&(!i.event||i.event==="message")&&C(this,U).call(this,r),this.dispatchEvent(r)}),R(this,Se,i=>{w(this,se,i)}),R(this,ve,()=>{w(this,K,void 0),C(this,M)===this.CONNECTING&&$(this,F,me).call(this)});try{if(e instanceof URL)w(this,j,e);else if(typeof e=="string")w(this,j,new URL(e,We()));else throw new Error("Invalid URL")}catch{throw Ne("An invalid or illegal string was specified")}w(this,_,Be({onEvent:C(this,be),onRetry:C(this,Se)})),w(this,M,this.CONNECTING),w(this,se,3e3),w(this,he,(a=t==null?void 0:t.fetch)!=null?a:globalThis.fetch),w(this,oe,(s=t==null?void 0:t.withCredentials)!=null?s:!1),$(this,F,me).call(this)}get readyState(){return C(this,M)}get url(){return C(this,j).href}get withCredentials(){return C(this,oe)}get onerror(){return C(this,J)}set onerror(e){w(this,J,e)}get onmessage(){return C(this,U)}set onmessage(e){w(this,U,e)}get onopen(){return C(this,te)}set onopen(e){w(this,te,e)}addEventListener(e,t,a){const s=t;super.addEventListener(e,s,a)}removeEventListener(e,t,a){const s=t;super.removeEventListener(e,s,a)}close(){C(this,K)&&clearTimeout(C(this,K)),C(this,M)!==this.CLOSED&&(C(this,V)&&C(this,V).abort(),w(this,M,this.CLOSED),w(this,V,void 0))}}M=new WeakMap,j=new WeakMap,W=new WeakMap,oe=new WeakMap,he=new WeakMap,se=new WeakMap,K=new WeakMap,ie=new WeakMap,V=new WeakMap,_=new WeakMap,J=new WeakMap,U=new WeakMap,te=new WeakMap,F=new WeakSet,me=function(){w(this,M,this.CONNECTING),w(this,V,new AbortController),C(this,he)(C(this,j),$(this,F,Ie).call(this)).then(C(this,ye)).catch(C(this,Ce))},ye=new WeakMap,Ce=new WeakMap,Ie=function(){var c;const e={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...C(this,ie)?{"Last-Event-ID":C(this,ie)}:void 0},cache:"no-store",signal:(c=C(this,V))==null?void 0:c.signal};return"window"in globalThis&&(e.credentials=this.withCredentials?"include":"same-origin"),e},be=new WeakMap,Se=new WeakMap,ae=function(c,e){var t;C(this,M)!==this.CLOSED&&w(this,M,this.CLOSED);const a=new Re("error",{code:e,message:c});(t=C(this,J))==null||t.call(this,a),this.dispatchEvent(a)},Le=function(c,e){var t;if(C(this,M)===this.CLOSED)return;w(this,M,this.CONNECTING);const a=new Re("error",{code:e,message:c});(t=C(this,J))==null||t.call(this,a),this.dispatchEvent(a),w(this,K,setTimeout(C(this,ve),C(this,se)))},ve=new WeakMap,le.CONNECTING=0,le.OPEN=1,le.CLOSED=2;function We(){const c="document"in globalThis?globalThis.document:void 0;return c&&typeof c=="object"&&"baseURI"in c&&typeof c.baseURI=="string"?c.baseURI:void 0}class _e{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,"_authToken","");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"),this._authToken=this.searchAuthType==="token"?`Token ${e.searchAuth}`:`Basic ${e.searchAuth}`,this.authHeader.append("Authorization",this._authToken),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 i=s.name+':"'+s.value+'"';a=a.concat("fq="+decodeURIComponent(i).replace(" "," "))});else{const s={};e.forEach(function(i){const r=i.name+":"+i.value,o=decodeURIComponent(r).replace(" "," ").split(":");s[o[0]]?s[o[0]].push(o[1]):s[o[0]]=[o[1]]});for(const i in s)if(Object.prototype.hasOwnProperty.call(s,i)){const r=s[i],o=i;let l="";for(const h of r)l+=` ${o}:"${h}"`;a=a.concat("fq="+l.trim())}}return a=a.map(s=>s.replace(/&/g,"%26").replace(/\+/g,"%2B")),a.length?"&"+a.join("&"):""}getRelatedSearches(e,t,a,s){const i=new Headers;i.append("Accept","application/json"),i.append("Authorization",a),fetch(t+"?search="+encodeURIComponent(e.query)+"&language="+this.dataLayer.language,{method:"GET",headers:i,credentials:"same-origin"}).then(r=>r.json()).then(r=>{s(r)})}cacheFacets(){this.dataLayer.searchObject.query!==this.cachedQuery&&(this.cachedQuery=this.dataLayer.searchObject.query,this.search({query:this.dataLayer.searchObject.query??"*",itemsPerPage:void 0,page:1,order:"",facets:[],additionalProps:this.dataLayer.searchObject.additionalProps},this.cacheFacetsCallback.bind(this),!0))}cacheFacetsCallback(e){let t=ee.extractFacets(e);this.dataLayer.setSearchFacetsCached(t)}search(e,t,a=!1,s=!1){if(e.query&&e.query!=="undefined"){this.dataLayer.setSearchTerm(e.query),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const i=new Proxy(new URLSearchParams((window==null?void 0:window.location.search)??""),{get:(u,y)=>u.get(y)??""}),r=i.languageVariant?"&fq=_language:"+i.languageVariant:"";let o=e.itemsPerPage,l=(e.itemsPerPage?e.itemsPerPage:0)*(e.page-1),h=e.order?`&sort=${e.order}`:"";const d=this.url+"?q="+encodeURIComponent(e.query.trim())+"&start="+l+this.toQueryString(e.additionalProps??[])+this.generateFacetQuery(e.facets.filter(u=>u.type==="or"||u.type==="showUnavailable"),!0)+this.generateFacetQuery(e.facets.filter(u=>u.type==="and"||u.type==="tabs"),!1)+h+`&spellcheck.correct=${this.dataLayer.autoCorrect&&!s}`+(o?`&rows=${o}`:"")+"&language="+this.dataLayer.language+r,p={method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch};a&&delete p.signal,fetch(d,p).then(u=>u.json()).then(u=>{this.dataLayer.setLoading(!1),t(u)}).catch(()=>{this.dataLayer.setLoading(!1)})}}startSSE(e,t){if(!this.dataLayer.turnAIAnswerGenerationOn||e==="*"||this.dataLayer.searchObject.page!==1)return;const a=new le(this.dataLayer.questionURL+"?q="+e+"&language="+this.dataLayer.language+`&spellcheck.correct=${this.dataLayer.autoCorrect}`,{fetch:(i,r)=>fetch(i,{...r,headers:{...r==null?void 0:r.headers,Authorization:this._authToken}})}),s=this.dataLayer;a.onmessage=i=>{if(i.data===Q.question||i.data===Q.notQuestion){i.data===Q.question?this.dataLayer.setAnswerLoading(!0):s.setAnswerLoading(!1),s.setAnswerData("");return}if(i.data===Q.close){s.setAnswerLoading(!1),a.close();return}t(i.data)},a.onerror=()=>{s.setAnswerLoading(!1),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(i=>i.json()).then(i=>{t(i)}).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 z{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.titleTracking,position:e.result.position,language:e.language};return new Promise((a,s)=>{const i=["trackClick",t];t.key&&this.msq().push(i,(function(r,o){JSON.stringify(r)===JSON.stringify(t)&&o?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(z,"subscribedToClickEvent",!1),n(z,"msq",()=>typeof window<"u"&&(window!=null&&window._msq)?window==null?void 0:window._msq:[]);/*!
1
+ "use strict";var Ae=Object.defineProperty;var Fe=(c,e,t)=>e in c?Ae(c,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[e]=t;var n=(c,e,t)=>(Fe(c,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var E=(c=>(c[c.mustache=0]="mustache",c[c.vue=1]="vue",c[c.react=2]="react",c[c.angular=3]="angular",c))(E||{});class De{constructor(e){n(this,"dataLayer");this.dataLayer=e}get answerWidgetShowMoreLimit(){return this.dataLayer.answerWidgetShowMoreLimit??100}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.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 shouldShowAnswerLoadMore(){return this.dataLayer.getAnswerData.split(" ").length>this.answerWidgetShowMoreLimit}get answerTruncated(){return this.dataLayer.getAnswerData.split(" ").slice(0,this.answerWidgetShowMoreLimit).join(" ")+"..."}get answerLoading(){return this.dataLayer.answerLoading}get shouldShowAnswer(){return(this.dataLayer.getAnswerData!==""||this.dataLayer.parsedData.answerLoading)&&this.dataLayer.searchObject.query!=="*"}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(i=>{const r=i.name,o=i.value,l=e.find(h=>h.name===r);if(l){const h=l.values.find(d=>d.type==="range"?!1:d.type==="checkbox"?'"'+d.value+'"'===o:!1);if(h)return h}return null}).filter(i=>i!==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,answerTruncated:this.answerTruncated,shouldShowAnswerLoadMore:this.shouldShowAnswerLoadMore,answerLoading:this.answerLoading,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.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 D{static deepEqual(e,t){const a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(const i of a){const r=e[i],o=t[i],l=this.isObject(r)&&this.isObject(o);if(l&&!this.deepEqual(r,o)||!l&&r!==o)return!1}return!0}static isObject(e){return e!=null&&typeof e=="object"}}class v{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 de{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 i=0;i<e;i++)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 i=encodeURIComponent(e)+"="+encodeURIComponent(t);for(const r in s){i+="; "+r;const o=s[r];o!==!0&&(i+="="+o)}typeof document<"u"&&(document.cookie=i)}}class V{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 Oe{constructor(e,t){n(this,"$searchTermChange",new v(""));n(this,"$loadingChange",new v(!1));n(this,"$searchResults",new v(null));n(this,"$searchResultsMetadata",new v(null));n(this,"$searchAutosuggest",new v(null));n(this,"$searchFacets",new v(null));n(this,"$searchFacetsCached",new v(null));n(this,"$searchstaxConfig",new v(null));n(this,"$autosuggestResults",new v(null));n(this,"$itemsPerPage",new v(void 0));n(this,"$searchObject",new v({query:"",itemsPerPage:null,page:99999999,order:"",facets:[],additionalProps:[]}));n(this,"$searchRelatedSearches",new v(null));n(this,"$searchInputConfig",new v(null));n(this,"$searchExternalPromotions",new v(null));n(this,"$facetsTemplateData",new v(null));n(this,"$selectedFacetsTemplateData",new v(null));n(this,"$paginationData",new v(null));n(this,"$answerData",new v(null));n(this,"$searchFeedbackData",new v(null));n(this,"$searchSortingData",new v(null));n(this,"$searchRelatedSearchesData",new v(null));n(this,"$searchExternalPromotionsData",new v(null));n(this,"$cookiesDisabled",new v(null));n(this,"$answer",new v(""));n(this,"$language",new v("en"));n(this,"$answerLoading",new v(!1));n(this,"$isQuestion",new v(!1));n(this,"currentPageValue",1);n(this,"isAnswerWidgetCreatedValue",!1);n(this,"renderingEngineValue",E.mustache);n(this,"parsedData",new De(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,"questionURL","");n(this,"isInfiniteScroll",!1);n(this,"firstSearchHappened",!1);n(this,"facetsWereSet",!1);n(this,"answerWidgetShowMoreLimit",100);n(this,"searchHelper");this.sessionId=e,t&&(this.sessionIdValue=t),this.cookieHandlingCallback(t),this.$cookiesDisabled.subscribe(()=>{this.cookieHandlingCallback(t)})}cookieHandlingCallback(e){this.cookiesDisabled?(this.sessionIdValue=null,de.deleteCookie(this.sessionId),de.deleteCookie("ms_visitorid")):this.sessionIdValue=de.getOrSetCookie(this.sessionId,e)}setIsInfiniteScroll(e){this.isInfiniteScroll=e}setSearchTerm(e){this.$searchTermChange.setValue(V.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,(!D.deepEqual(e,this.searchResults??[""])||this.facetsWereSet)&&(this.facetsWereSet=!1,this.$searchResults.setValue(e))}setSearchResultsMetadata(e){D.deepEqual(e,this.searchResultsMetadata??{})||this.$searchResultsMetadata.setValue(e)}setSearchAutosuggest(e){this.$searchAutosuggest.setValue(e)}setSearchObject(e){var a,s;let t=e;t={...t,itemsPerPage:this.itemsPerPage},(s=(a=this.searchstaxConfig)==null?void 0:a.hooks)!=null&&s.beforeSearch&&t&&(t=this.searchstaxConfig.hooks.beforeSearch(t)),t&&(!D.deepEqual(t,this.searchObject??{})||this.forceNotCorrect)&&this.$searchObject.setValue(t)}setSearchFacets(e){this.facetsWereSet=!0,D.deepEqual(e,this.searchFacets??[])||this.$searchFacets.setValue(e)}setSearchFacetsCached(e){D.deepEqual(e,this.searchFacetsCached??[])||this.$searchFacetsCached.setValue(e)}setSearchRelatedSearches(e){D.deepEqual(e,this.searchRelatedSearches??[])||this.$searchRelatedSearches.setValue(e)}setSearchExternalPromotions(e){D.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)}setAnswerFullData(e){this.$answerData.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)}setItemsPerPage(e){this.$itemsPerPage.setValue(e)}setAnswerLoading(e){this.$answerLoading.setValue(e)}setIsQuestion(e){this.$isQuestion.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}get itemsPerPage(){return this.$itemsPerPage.getValue()}get answerFullData(){return this.$answerData.getValue()}get answerLoading(){return this.$answerLoading.getValue()}get isQuestion(){return this.$isQuestion.getValue()}}class ee{static combineResultsWithMetadata(e){const t=[],a=parseInt(e.response.start+"");return e.response.docs.forEach((s,i)=>{const r=s[e.responseHeader.params.uniqueId]??"",o={custom:null,uniqueId:r,position:a+1+i,ribbon:this.doesMapExist("ribbon",e)?this.getValueByKey("ribbon",s,e,r):null,paths:this.doesMapExist("paths",e)?this.getValueByKey("paths",s,e,r):null,url:this.doesMapExist("url",e)?this.getValueByKey("url",s,e,r):null,title:this.doesMapExist("title",e)?this.getValueByKey("title",s,e,r):null,titleTracking:this.doesMapExist("title",e)?this.getValueByKey("title",s,e,r,!0):null,promoted:s["[elevated]"]?s["[elevated]"]:!1,thumbnail:this.doesMapExist("thumbnail",e)?this.getValueByKey("thumbnail",s,e,r):null,date:this.doesMapExist("date",e)?this.getValueByKey("date",s,e,r):null,snippet:this.doesMapExist("snippet",e)?this.getValueByKey("snippet",s,e,r):null,description:this.doesMapExist("description",e)?this.getValueByKey("description",s,e,r):null,unmappedFields:this.getUnmappedFields(s,e,r),allFields:this.getAllFields(s,e)};t.push(o)}),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 i=e.facet_counts.facet_fields[a.name];for(let r=0;r<i.length;r+=2){const o={};o.value=i[r],o.parentName=s.name,o.count=i[r+1],o.type="checkbox",s.values.push(o)}}s.values.length>0&&t.push(s)}return t}static extractSearchResultsMetadata(e){var i,r,o,l,h,d;let t="",a={selectedSortOption:"",options:[]},s=(i=e.metadata.results.find(p=>p.result_card==="date"))==null?void 0:i.name;if(a.options=[{key:"",value:"Relevance"},{key:s+" desc",value:"Most Recent"}],(r=e.metadata.sorts)!=null&&r.length){const p=e.metadata.sorts.map(u=>({value:u.label,key:u.name+" "+u.order}));a.options=[{key:"",value:"Relevance"},...p]}return t=((d=(h=(l=(o=e==null?void 0:e.spellcheck)==null?void 0:o.suggestions)==null?void 0:l[1])==null?void 0:h.suggestion)==null?void 0:d[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 i=a[s],r={};r.cDocId=this.getDataForAnalytics(i.uniqueId),i.title&&(r.cDocTitle=this.getDataForAnalytics(i.title)),r.position=i.position,t.push(r)}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,a){const s=t.metadata.results.filter(r=>r.result_card==="").map(r=>r.name),i=[];for(const r of s)if(Object.keys(e).includes(r)){const o=Array.isArray(e[r])?this.getHighlightedResults(r,e[r].join(", "),a,t):this.getHighlightedResults(r,e[r]+"",a,t);i.push({key:r,value:o,isImage:this.checkIfImage(e[r])})}return i}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(i=>i.name),s=[];for(const i of Object.keys(e))a.indexOf(i)!==-1&&s.push({key:i,value:e[i],isImage:this.checkIfImage(e[i])});return s}static doesMapExist(e,t){return t.metadata.results.find(a=>a.result_card===e)!==void 0}static getValueByKey(e,t,a,s,i=!1){const r=a.metadata.results.find(l=>l.result_card===e);if(r===void 0)return null;const o=t[r.name];return o===void 0?null:typeof o=="string"?i?o:this.getHighlightedResults(r.name,o,s,a):Array.isArray(o)?i?o.join(", "):this.getHighlightedResults(r.name,o.join(", "),s,a):null}static getHighlightedResults(e,t,a,s){if(s.highlighting&&a in s.highlighting){let i=s.highlighting[a];if(i&&e in i){let r=i[e];const o=this.cleanValue(r);if(o!=="")return o}}return t}static cleanValue(e){return e===null?"":typeof e=="string"?e:Array.isArray(e)?e.join(" "):""}}class we{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 qe(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.replaceState(window.history.state,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 i=e.facets[s].type+":"+encodeURIComponent(e.facets[s].name)+":"+encodeURIComponent(e.facets[s].value);t[this.routeName+`[facets][${s}]`]=i}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 i in s)i.startsWith(this.routeName)&&delete s[i];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,i;const t=[];for(const r in e)if(r.startsWith(this.routeName+"[facets]")){const o=V.removeXSSRiskyTags((a=e[r].split(":"))==null?void 0:a[0]),l=V.removeXSSRiskyTags(decodeURIComponent((s=e[r].split(":"))==null?void 0:s[1])),h=V.removeXSSRiskyTags(decodeURIComponent((i=e[r].split(":"))==null?void 0:i[2]));t.push({type:o,name:l,value:h})}return t}urlToSearchObject(e,t){const a=this.queryStringHelper.urlToParams(e),s=V.removeXSSRiskyTags(decodeURIComponent(a[this.routeName+"[page]"])),i=parseInt(s),r=isNaN(i)?1:i;return{query:V.removeXSSRiskyTags(decodeURIComponent(a[this.routeName+"[query]"]))||"",page:r,itemsPerPage:t,order:V.removeXSSRiskyTags(a[this.routeName+"[order]"])||"",facets:this.extractArrayOfFacetsFromQueryParameters(a)||[]}}}class qe{constructor(e){n(this,"routeName","");n(this,"stringify",(e,t)=>{const a=this.filterOutIgnoredKeys(e,t.ignoredKeys);return Object.keys(a).map(s=>{const i=a[s];return Array.isArray(i)?i.map(r=>`${s}=${r}`).join("&"):`${s}=${i}`}).join("&")});this.routeName=e}filterOutIgnoredKeys(e,t){const a=t||[],s={};return Object.keys(e).forEach(i=>{a.includes(i)||e[i]!==""&&(s[i]=e[i])}),s}urlToParams(e){const t={},a=e.split("?")[1];return a&&a.split("&").forEach(s=>{const[i,r]=s.split("=");t[i]=r}),t}doesParamContainRouteName(e){return e.indexOf(this.routeName)!==-1}urlHasQueryParams(e){return e.indexOf("?")!==-1}}const K={questionURL:"http://smartsearch-dev.searchstax.co/completion/?q=",question:"I_AM_A_QUESTION",notQuestion:"I_AM_NOT_A_QUESTION",close:"CLOSE"};class Te extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}function ue(c){}function $e(c){if(typeof c=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");const{onEvent:e=ue,onError:t=ue,onRetry:a=ue,onComment:s}=c;let i="",r=!0,o,l="",h="";function d(g){const m=r?g.replace(/^\xEF\xBB\xBF/,""):g,[L,x]=Ve(`${i}${m}`);for(const T of L)p(T);i=x,r=!1}function p(g){if(g===""){y();return}if(g.startsWith(":")){s&&s(g.slice(g.startsWith(": ")?2:1));return}const m=g.indexOf(":");if(m!==-1){const L=g.slice(0,m),x=g[m+1]===" "?2:1,T=g.slice(m+x);u(L,T,g);return}u(g,"",g)}function u(g,m,L){switch(g){case"event":h=m;break;case"data":l=`${l}${m}
2
+ `;break;case"id":o=m.includes("\0")?void 0:m;break;case"retry":/^\d+$/.test(m)?a(parseInt(m,10)):t(new Te(`Invalid \`retry\` value: "${m}"`,{type:"invalid-retry",value:m,line:L}));break;default:t(new Te(`Unknown field "${g.length>20?`${g.slice(0,20)}…`:g}"`,{type:"unknown-field",field:g,value:m,line:L}));break}}function y(){l.length>0&&e({id:o,event:h||void 0,data:l.endsWith(`
3
+ `)?l.slice(0,-1):l}),o=void 0,l="",h=""}function S(g={}){i&&g.consume&&p(i),r=!0,o=void 0,l="",h="",i=""}return{feed:d,reset:S}}function Ve(c){const e=[];let t="",a=0;for(;a<c.length;){const s=c.indexOf("\r",a),i=c.indexOf(`
4
+ `,a);let r=-1;if(s!==-1&&i!==-1?r=Math.min(s,i):s!==-1?r=s:i!==-1&&(r=i),r===-1){t=c.slice(a);break}else{const o=c.slice(a,r);e.push(o),a=r+1,c[a-1]==="\r"&&c[a]===`
5
+ `&&a++}}return[e,t]}class ke extends Event{constructor(e,t){var a,s;super(e),this.code=(a=t==null?void 0:t.code)!=null?a:void 0,this.message=(s=t==null?void 0:t.message)!=null?s:void 0}[Symbol.for("nodejs.util.inspect.custom")](e,t,a){return a(Re(this),t)}[Symbol.for("Deno.customInspect")](e,t){return e(Re(this),t)}}function He(c){const e=globalThis.DOMException;return typeof e=="function"?new e(c,"SyntaxError"):new SyntaxError(c)}function pe(c){return c instanceof Error?"errors"in c&&Array.isArray(c.errors)?c.errors.map(pe).join(", "):"cause"in c&&c.cause instanceof Error?`${c}: ${pe(c.cause)}`:c.message:`${c}`}function Re(c){return{type:c.type,message:c.message,code:c.code,defaultPrevented:c.defaultPrevented,cancelable:c.cancelable,timeStamp:c.timeStamp}}var Me=c=>{throw TypeError(c)},ve=(c,e,t)=>e.has(c)||Me("Cannot "+t),C=(c,e,t)=>(ve(c,e,"read from private field"),t?t.call(c):e.get(c)),R=(c,e,t)=>e.has(c)?Me("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(c):e.set(c,t),w=(c,e,t,a)=>(ve(c,e,"write to private field"),e.set(c,t),t),$=(c,e,t)=>(ve(c,e,"access private method"),t),M,N,_,ce,le,se,z,ie,H,U,J,Q,te,F,fe,me,ye,Ee,Ce,be,ae,Se,Le;class oe extends EventTarget{constructor(e,t){var a,s;super(),R(this,F),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,R(this,M),R(this,N),R(this,_),R(this,ce),R(this,le),R(this,se),R(this,z),R(this,ie,null),R(this,H),R(this,U),R(this,J,null),R(this,Q,null),R(this,te,null),R(this,me,async i=>{var r;C(this,U).reset();const{body:o,redirected:l,status:h,headers:d}=i;if(h===204){$(this,F,ae).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if(l?w(this,_,new URL(i.url)):w(this,_,void 0),h!==200){$(this,F,ae).call(this,`Non-200 status code (${h})`,h);return}if(!(d.get("content-type")||"").startsWith("text/event-stream")){$(this,F,ae).call(this,'Invalid content type, expected "text/event-stream"',h);return}if(C(this,M)===this.CLOSED)return;w(this,M,this.OPEN);const p=new Event("open");if((r=C(this,te))==null||r.call(this,p),this.dispatchEvent(p),typeof o!="object"||!o||!("getReader"in o)){$(this,F,ae).call(this,"Invalid response body, expected a web ReadableStream",h),this.close();return}const u=new TextDecoder,y=o.getReader();let S=!0;do{const{done:g,value:m}=await y.read();m&&C(this,U).feed(u.decode(m,{stream:!g})),g&&(S=!1,C(this,U).reset(),$(this,F,Se).call(this))}while(S)}),R(this,ye,i=>{w(this,H,void 0),!(i.name==="AbortError"||i.type==="aborted")&&$(this,F,Se).call(this,pe(i))}),R(this,Ce,i=>{typeof i.id=="string"&&w(this,ie,i.id);const r=new MessageEvent(i.event||"message",{data:i.data,origin:C(this,_)?C(this,_).origin:C(this,N).origin,lastEventId:i.id||""});C(this,Q)&&(!i.event||i.event==="message")&&C(this,Q).call(this,r),this.dispatchEvent(r)}),R(this,be,i=>{w(this,se,i)}),R(this,Le,()=>{w(this,z,void 0),C(this,M)===this.CONNECTING&&$(this,F,fe).call(this)});try{if(e instanceof URL)w(this,N,e);else if(typeof e=="string")w(this,N,new URL(e,Be()));else throw new Error("Invalid URL")}catch{throw He("An invalid or illegal string was specified")}w(this,U,$e({onEvent:C(this,Ce),onRetry:C(this,be)})),w(this,M,this.CONNECTING),w(this,se,3e3),w(this,le,(a=t==null?void 0:t.fetch)!=null?a:globalThis.fetch),w(this,ce,(s=t==null?void 0:t.withCredentials)!=null?s:!1),$(this,F,fe).call(this)}get readyState(){return C(this,M)}get url(){return C(this,N).href}get withCredentials(){return C(this,ce)}get onerror(){return C(this,J)}set onerror(e){w(this,J,e)}get onmessage(){return C(this,Q)}set onmessage(e){w(this,Q,e)}get onopen(){return C(this,te)}set onopen(e){w(this,te,e)}addEventListener(e,t,a){const s=t;super.addEventListener(e,s,a)}removeEventListener(e,t,a){const s=t;super.removeEventListener(e,s,a)}close(){C(this,z)&&clearTimeout(C(this,z)),C(this,M)!==this.CLOSED&&(C(this,H)&&C(this,H).abort(),w(this,M,this.CLOSED),w(this,H,void 0))}}M=new WeakMap,N=new WeakMap,_=new WeakMap,ce=new WeakMap,le=new WeakMap,se=new WeakMap,z=new WeakMap,ie=new WeakMap,H=new WeakMap,U=new WeakMap,J=new WeakMap,Q=new WeakMap,te=new WeakMap,F=new WeakSet,fe=function(){w(this,M,this.CONNECTING),w(this,H,new AbortController),C(this,le)(C(this,N),$(this,F,Ee).call(this)).then(C(this,me)).catch(C(this,ye))},me=new WeakMap,ye=new WeakMap,Ee=function(){var c;const e={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...C(this,ie)?{"Last-Event-ID":C(this,ie)}:void 0},cache:"no-store",signal:(c=C(this,H))==null?void 0:c.signal};return"window"in globalThis&&(e.credentials=this.withCredentials?"include":"same-origin"),e},Ce=new WeakMap,be=new WeakMap,ae=function(c,e){var t;C(this,M)!==this.CLOSED&&w(this,M,this.CLOSED);const a=new ke("error",{code:e,message:c});(t=C(this,J))==null||t.call(this,a),this.dispatchEvent(a)},Se=function(c,e){var t;if(C(this,M)===this.CLOSED)return;w(this,M,this.CONNECTING);const a=new ke("error",{code:e,message:c});(t=C(this,J))==null||t.call(this,a),this.dispatchEvent(a),w(this,z,setTimeout(C(this,Le),C(this,se)))},Le=new WeakMap,oe.CONNECTING=0,oe.OPEN=1,oe.CLOSED=2;function Be(){const c="document"in globalThis?globalThis.document:void 0;return c&&typeof c=="object"&&"baseURI"in c&&typeof c.baseURI=="string"?c.baseURI:void 0}class B{static attachAnalyticsScript(e){window._msq=window._msq||[];const t="https://static.searchstax.com/studio-js/v3/js/studio-analytics.js";if(document.querySelector(`script[src="${t}"]`))return;const s=e||t;var i=document.createElement("script");i.type="text/javascript",i.src=s;var r=document.getElementsByTagName("script")[0];r.parentNode&&r.parentNode.insertBefore(i,r)}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.titleTracking,position:e.result.position,language:e.language};return new Promise((a,s)=>{const i=["trackClick",t];t.key&&this.msq().push(i,(function(r,o){JSON.stringify(r)===JSON.stringify(t)&&o?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)}static trackAnswerData(e){const t={session:e.session,key:e.trackApiKey,question:e.searchTerm,answer:e.answer,language:e.language,is_question:e.isQuestion+""};setTimeout(()=>{t.key&&this.msq().push(["trackquestionanswer",t])},0)}static trackFeedback(e){setTimeout(()=>{this.msq().push(["trackSearchSatisfaction",{key:e.trackApiKey,email:e.email,score:e.rating,comments:e.feedback}])},0)}}n(B,"subscribedToClickEvent",!1),n(B,"msq",()=>typeof window<"u"&&(window!=null&&window._msq)?window==null?void 0:window._msq:[]);class je{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,"_authToken","");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"),this._authToken=this.searchAuthType==="token"?`Token ${e.searchAuth}`:`Basic ${e.searchAuth}`,this.authHeader.append("Authorization",this._authToken),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 i=s.name+':"'+s.value+'"';a=a.concat("fq="+decodeURIComponent(i).replace(" "," "))});else{const s={};e.forEach(function(i){const r=i.name+":"+i.value,o=decodeURIComponent(r).replace(" "," ").split(":");s[o[0]]?s[o[0]].push(o[1]):s[o[0]]=[o[1]]});for(const i in s)if(Object.prototype.hasOwnProperty.call(s,i)){const r=s[i],o=i;let l="";for(const h of r)l+=` ${o}:"${h}"`;a=a.concat("fq="+l.trim())}}return a=a.map(s=>s.replace(/&/g,"%26").replace(/\+/g,"%2B")),a.length?"&"+a.join("&"):""}getRelatedSearches(e,t,a,s){const i=new Headers;i.append("Accept","application/json"),i.append("Authorization",a),fetch(t+"?search="+encodeURIComponent(e.query)+"&language="+this.dataLayer.language,{method:"GET",headers:i,credentials:"same-origin"}).then(r=>r.json()).then(r=>{s(r)})}cacheFacets(){this.dataLayer.searchObject.query!==this.cachedQuery&&(this.cachedQuery=this.dataLayer.searchObject.query,this.search({query:this.dataLayer.searchObject.query??"*",itemsPerPage:void 0,page:1,order:"",facets:[],additionalProps:this.dataLayer.searchObject.additionalProps},this.cacheFacetsCallback.bind(this),!0))}cacheFacetsCallback(e){let t=ee.extractFacets(e);this.dataLayer.setSearchFacetsCached(t)}search(e,t,a=!1,s=!1){if(e.query&&e.query!=="undefined"){this.dataLayer.setSearchTerm(e.query),this.dataLayer.setLoading(!0),this.controllerSearch&&this.controllerSearch.abort(),this.controllerSearch=new AbortController,this.signalSearch=this.controllerSearch.signal;const i=new Proxy(new URLSearchParams((window==null?void 0:window.location.search)??""),{get:(u,y)=>u.get(y)??""}),r=i.languageVariant?"&fq=_language:"+i.languageVariant:"";let o=e.itemsPerPage,l=(e.itemsPerPage?e.itemsPerPage:0)*(e.page-1),h=e.order?`&sort=${e.order}`:"";const d=this.url+"?q="+encodeURIComponent(e.query.trim())+"&start="+l+this.toQueryString(e.additionalProps??[])+this.generateFacetQuery(e.facets.filter(u=>u.type==="or"||u.type==="showUnavailable"),!0)+this.generateFacetQuery(e.facets.filter(u=>u.type==="and"||u.type==="tabs"),!1)+h+`&spellcheck.correct=${this.dataLayer.autoCorrect&&!s}`+(o?`&rows=${o}`:"")+"&language="+this.dataLayer.language+r,p={method:"GET",headers:this.authHeader,credentials:"same-origin",signal:this.signalSearch};a&&delete p.signal,fetch(d,p).then(u=>u.json()).then(u=>{this.dataLayer.setLoading(!1),t(u)}).catch(()=>{this.dataLayer.setLoading(!1)})}}startSSE(e,t){if(!this.dataLayer.turnAIAnswerGenerationOn||e==="*"||this.dataLayer.searchObject.page!==1)return;const a=new oe(this.dataLayer.questionURL+"?q="+e+"&language="+this.dataLayer.language+`&spellcheck.correct=${this.dataLayer.autoCorrect}`,{fetch:(i,r)=>fetch(i,{...r,headers:{...r==null?void 0:r.headers,Authorization:this._authToken}})}),s=this.dataLayer;a.onmessage=i=>{if(i.data===K.question||i.data===K.notQuestion){i.data===K.question?(this.dataLayer.setAnswerLoading(!0),this.dataLayer.setIsQuestion(!0)):(s.setAnswerLoading(!1),this.dataLayer.setIsQuestion(!1)),s.setAnswerData("");return}if(i.data===K.close){B.trackAnswerData({...s.parsedData.trackingData,answer:s.$answer.getValue(),isQuestion:this.dataLayer.isQuestion}),s.setAnswerLoading(!1),a.close();return}t(i.data)},a.onerror=()=>{s.setAnswerLoading(!1),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(i=>i.json()).then(i=>{t(i)}).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("&")}}/*!
6
6
  * mustache.js - Logic-less {{mustache}} templates with JavaScript
7
7
  * http://github.com/janl/mustache.js
8
- */var Ue=Object.prototype.toString,X=Array.isArray||function(e){return Ue.call(e)==="[object Array]"};function we(c){return typeof c=="function"}function Qe(c){return X(c)?"array":typeof c}function pe(c){return c.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Pe(c,e){return c!=null&&typeof c=="object"&&e in c}function Ke(c,e){return c!=null&&typeof c!="object"&&c.hasOwnProperty&&c.hasOwnProperty(e)}var ze=RegExp.prototype.test;function Je(c,e){return ze.call(c,e)}var Ge=/\S/;function Xe(c){return!Je(Ge,c)}var Ye={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function Ze(c){return String(c).replace(/[&<>"'`=\/]/g,function(t){return Ye[t]})}var et=/\s*/,tt=/\s+/,Me=/\s*=/,at=/\s*\}/,st=/#|\^|\/|>|\{|&|=|!/;function it(c,e){if(!c)return[];var t=!1,a=[],s=[],i=[],r=!1,o=!1,l="",h=0;function d(){if(r&&!o)for(;i.length;)delete s[i.pop()];else i=[];r=!1,o=!1}var p,u,y;function S(A){if(typeof A=="string"&&(A=A.split(tt,2)),!X(A)||A.length!==2)throw new Error("Invalid tags: "+A);p=new RegExp(pe(A[0])+"\\s*"),u=new RegExp("\\s*"+pe(A[1])),y=new RegExp("\\s*"+pe("}"+A[1]))}S(e||b.tags);for(var g=new ne(c),m,L,x,T,I,k;!g.eos();){if(m=g.pos,x=g.scanUntil(p),x)for(var q=0,N=x.length;q<N;++q)T=x.charAt(q),Xe(T)?(i.push(s.length),l+=T):(o=!0,t=!0,l+=" "),s.push(["text",T,m,m+1]),m+=1,T===`
9
- `&&(d(),l="",h=0,t=!1);if(!g.scan(p))break;if(r=!0,L=g.scan(st)||"name",g.scan(et),L==="="?(x=g.scanUntil(Me),g.scan(Me),g.scanUntil(u)):L==="{"?(x=g.scanUntil(y),g.scan(at),g.scanUntil(u),L="&"):x=g.scanUntil(u),!g.scan(u))throw new Error("Unclosed tag at "+g.pos);if(L==">"?I=[L,x,m,g.pos,l,h,t]:I=[L,x,m,g.pos],h++,s.push(I),L==="#"||L==="^")a.push(I);else if(L==="/"){if(k=a.pop(),!k)throw new Error('Unopened section "'+x+'" at '+m);if(k[1]!==x)throw new Error('Unclosed section "'+k[1]+'" at '+m)}else L==="name"||L==="{"||L==="&"?o=!0:L==="="&&S(x)}if(d(),k=a.pop(),k)throw new Error('Unclosed section "'+k[1]+'" at '+g.pos);return nt(rt(s))}function rt(c){for(var e=[],t,a,s=0,i=c.length;s<i;++s)t=c[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 nt(c){for(var e=[],t=e,a=[],s,i,r=0,o=c.length;r<o;++r)switch(s=c[r],s[0]){case"#":case"^":t.push(s),a.push(s),t=s[4]=[];break;case"/":i=a.pop(),i[5]=s[2],t=a.length>0?a[a.length-1][4]:e;break;default:t.push(s)}return e}function ne(c){this.string=c,this.tail=c,this.pos=0}ne.prototype.eos=function(){return this.tail===""};ne.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};ne.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 G(c,e){this.view=c,this.cache={".":this.view},this.parent=e}G.prototype.push=function(e){return new G(e,this)};G.prototype.lookup=function(e){var t=this.cache,a;if(t.hasOwnProperty(e))a=t[e];else{for(var s=this,i,r,o,l=!1;s;){if(e.indexOf(".")>0)for(i=s.view,r=e.split("."),o=0;i!=null&&o<r.length;)o===r.length-1&&(l=Pe(i,r[o])||Ke(i,r[o])),i=i[r[o++]];else i=s.view[e],l=Pe(s.view,e);if(l){a=i;break}s=s.parent}t[e]=a}return we(a)&&(a=a.call(this.view)),a};function P(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}P.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()};P.prototype.parse=function(e,t){var a=this.templateCache,s=e+":"+(t||b.tags).join(":"),i=typeof a<"u",r=i?a.get(s):void 0;return r==null&&(r=it(e,t),i&&a.set(s,r)),r};P.prototype.render=function(e,t,a,s){var i=this.getConfigTags(s),r=this.parse(e,i),o=t instanceof G?t:new G(t,void 0);return this.renderTokens(r,o,a,e,s)};P.prototype.renderTokens=function(e,t,a,s,i){for(var r="",o,l,h,d=0,p=e.length;d<p;++d)h=void 0,o=e[d],l=o[0],l==="#"?h=this.renderSection(o,t,a,s,i):l==="^"?h=this.renderInverted(o,t,a,s,i):l===">"?h=this.renderPartial(o,t,a,i):l==="&"?h=this.unescapedValue(o,t):l==="name"?h=this.escapedValue(o,t,i):l==="text"&&(h=this.rawValue(o)),h!==void 0&&(r+=h);return r};P.prototype.renderSection=function(e,t,a,s,i){var r=this,o="",l=t.lookup(e[1]);function h(u){return r.render(u,t,a,i)}if(l){if(X(l))for(var d=0,p=l.length;d<p;++d)o+=this.renderTokens(e[4],t.push(l[d]),a,s,i);else if(typeof l=="object"||typeof l=="string"||typeof l=="number")o+=this.renderTokens(e[4],t.push(l),a,s,i);else if(we(l)){if(typeof s!="string")throw new Error("Cannot use higher-order sections without the original template");l=l.call(t.view,s.slice(e[3],e[5]),h),l!=null&&(o+=l)}else o+=this.renderTokens(e[4],t,a,s,i);return o}};P.prototype.renderInverted=function(e,t,a,s,i){var r=t.lookup(e[1]);if(!r||X(r)&&r.length===0)return this.renderTokens(e[4],t,a,s,i)};P.prototype.indentPartial=function(e,t,a){for(var s=t.replace(/[^ \t]/g,""),i=e.split(`
8
+ */var Ne=Object.prototype.toString,X=Array.isArray||function(e){return Ne.call(e)==="[object Array]"};function xe(c){return typeof c=="function"}function We(c){return X(c)?"array":typeof c}function ge(c){return c.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Ie(c,e){return c!=null&&typeof c=="object"&&e in c}function _e(c,e){return c!=null&&typeof c!="object"&&c.hasOwnProperty&&c.hasOwnProperty(e)}var Ue=RegExp.prototype.test;function Qe(c,e){return Ue.call(c,e)}var Ke=/\S/;function ze(c){return!Qe(Ke,c)}var Je={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function Ge(c){return String(c).replace(/[&<>"'`=\/]/g,function(t){return Je[t]})}var Xe=/\s*/,Ye=/\s+/,Pe=/\s*=/,Ze=/\s*\}/,et=/#|\^|\/|>|\{|&|=|!/;function tt(c,e){if(!c)return[];var t=!1,a=[],s=[],i=[],r=!1,o=!1,l="",h=0;function d(){if(r&&!o)for(;i.length;)delete s[i.pop()];else i=[];r=!1,o=!1}var p,u,y;function S(A){if(typeof A=="string"&&(A=A.split(Ye,2)),!X(A)||A.length!==2)throw new Error("Invalid tags: "+A);p=new RegExp(ge(A[0])+"\\s*"),u=new RegExp("\\s*"+ge(A[1])),y=new RegExp("\\s*"+ge("}"+A[1]))}S(e||b.tags);for(var g=new ne(c),m,L,x,T,I,k;!g.eos();){if(m=g.pos,x=g.scanUntil(p),x)for(var q=0,W=x.length;q<W;++q)T=x.charAt(q),ze(T)?(i.push(s.length),l+=T):(o=!0,t=!0,l+=" "),s.push(["text",T,m,m+1]),m+=1,T===`
9
+ `&&(d(),l="",h=0,t=!1);if(!g.scan(p))break;if(r=!0,L=g.scan(et)||"name",g.scan(Xe),L==="="?(x=g.scanUntil(Pe),g.scan(Pe),g.scanUntil(u)):L==="{"?(x=g.scanUntil(y),g.scan(Ze),g.scanUntil(u),L="&"):x=g.scanUntil(u),!g.scan(u))throw new Error("Unclosed tag at "+g.pos);if(L==">"?I=[L,x,m,g.pos,l,h,t]:I=[L,x,m,g.pos],h++,s.push(I),L==="#"||L==="^")a.push(I);else if(L==="/"){if(k=a.pop(),!k)throw new Error('Unopened section "'+x+'" at '+m);if(k[1]!==x)throw new Error('Unclosed section "'+k[1]+'" at '+m)}else L==="name"||L==="{"||L==="&"?o=!0:L==="="&&S(x)}if(d(),k=a.pop(),k)throw new Error('Unclosed section "'+k[1]+'" at '+g.pos);return st(at(s))}function at(c){for(var e=[],t,a,s=0,i=c.length;s<i;++s)t=c[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 st(c){for(var e=[],t=e,a=[],s,i,r=0,o=c.length;r<o;++r)switch(s=c[r],s[0]){case"#":case"^":t.push(s),a.push(s),t=s[4]=[];break;case"/":i=a.pop(),i[5]=s[2],t=a.length>0?a[a.length-1][4]:e;break;default:t.push(s)}return e}function ne(c){this.string=c,this.tail=c,this.pos=0}ne.prototype.eos=function(){return this.tail===""};ne.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};ne.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 G(c,e){this.view=c,this.cache={".":this.view},this.parent=e}G.prototype.push=function(e){return new G(e,this)};G.prototype.lookup=function(e){var t=this.cache,a;if(t.hasOwnProperty(e))a=t[e];else{for(var s=this,i,r,o,l=!1;s;){if(e.indexOf(".")>0)for(i=s.view,r=e.split("."),o=0;i!=null&&o<r.length;)o===r.length-1&&(l=Ie(i,r[o])||_e(i,r[o])),i=i[r[o++]];else i=s.view[e],l=Ie(s.view,e);if(l){a=i;break}s=s.parent}t[e]=a}return xe(a)&&(a=a.call(this.view)),a};function P(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}P.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()};P.prototype.parse=function(e,t){var a=this.templateCache,s=e+":"+(t||b.tags).join(":"),i=typeof a<"u",r=i?a.get(s):void 0;return r==null&&(r=tt(e,t),i&&a.set(s,r)),r};P.prototype.render=function(e,t,a,s){var i=this.getConfigTags(s),r=this.parse(e,i),o=t instanceof G?t:new G(t,void 0);return this.renderTokens(r,o,a,e,s)};P.prototype.renderTokens=function(e,t,a,s,i){for(var r="",o,l,h,d=0,p=e.length;d<p;++d)h=void 0,o=e[d],l=o[0],l==="#"?h=this.renderSection(o,t,a,s,i):l==="^"?h=this.renderInverted(o,t,a,s,i):l===">"?h=this.renderPartial(o,t,a,i):l==="&"?h=this.unescapedValue(o,t):l==="name"?h=this.escapedValue(o,t,i):l==="text"&&(h=this.rawValue(o)),h!==void 0&&(r+=h);return r};P.prototype.renderSection=function(e,t,a,s,i){var r=this,o="",l=t.lookup(e[1]);function h(u){return r.render(u,t,a,i)}if(l){if(X(l))for(var d=0,p=l.length;d<p;++d)o+=this.renderTokens(e[4],t.push(l[d]),a,s,i);else if(typeof l=="object"||typeof l=="string"||typeof l=="number")o+=this.renderTokens(e[4],t.push(l),a,s,i);else if(xe(l)){if(typeof s!="string")throw new Error("Cannot use higher-order sections without the original template");l=l.call(t.view,s.slice(e[3],e[5]),h),l!=null&&(o+=l)}else o+=this.renderTokens(e[4],t,a,s,i);return o}};P.prototype.renderInverted=function(e,t,a,s,i){var r=t.lookup(e[1]);if(!r||X(r)&&r.length===0)return this.renderTokens(e[4],t,a,s,i)};P.prototype.indentPartial=function(e,t,a){for(var s=t.replace(/[^ \t]/g,""),i=e.split(`
10
10
  `),r=0;r<i.length;r++)i[r].length&&(r>0||!a)&&(i[r]=s+i[r]);return i.join(`
11
- `)};P.prototype.renderPartial=function(e,t,a,s){if(a){var i=this.getConfigTags(s),r=we(a)?a(e[1]):a[e[1]];if(r!=null){var o=e[6],l=e[5],h=e[4],d=r;l==0&&h&&(d=this.indentPartial(r,h,o));var p=this.parse(d,i);return this.renderTokens(p,t,a,d,s)}}};P.prototype.unescapedValue=function(e,t){var a=t.lookup(e[1]);if(a!=null)return a};P.prototype.escapedValue=function(e,t,a){var s=this.getConfigEscape(a)||b.escape,i=t.lookup(e[1]);if(i!=null)return typeof i=="number"&&s===b.escape?String(i):s(i)};P.prototype.rawValue=function(e){return e[1]};P.prototype.getConfigTags=function(e){return X(e)?e:e&&typeof e=="object"?e.tags:void 0};P.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!X(e))return e.escape};var b={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(c){re.templateCache=c},get templateCache(){return re.templateCache}},re=new P;b.clearCache=function(){return re.clearCache()};b.parse=function(e,t){return re.parse(e,t)};b.render=function(e,t,a,s){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+Qe(e)+'" was given as the first argument for mustache#render(template, view, partials)');return re.render(e,t,a,s)};b.escape=Ze;b.Scanner=ne;b.Context=G;b.Writer=P;const ct={main:{template:`
11
+ `)};P.prototype.renderPartial=function(e,t,a,s){if(a){var i=this.getConfigTags(s),r=xe(a)?a(e[1]):a[e[1]];if(r!=null){var o=e[6],l=e[5],h=e[4],d=r;l==0&&h&&(d=this.indentPartial(r,h,o));var p=this.parse(d,i);return this.renderTokens(p,t,a,d,s)}}};P.prototype.unescapedValue=function(e,t){var a=t.lookup(e[1]);if(a!=null)return a};P.prototype.escapedValue=function(e,t,a){var s=this.getConfigEscape(a)||b.escape,i=t.lookup(e[1]);if(i!=null)return typeof i=="number"&&s===b.escape?String(i):s(i)};P.prototype.rawValue=function(e){return e[1]};P.prototype.getConfigTags=function(e){return X(e)?e:e&&typeof e=="object"?e.tags:void 0};P.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!X(e))return e.escape};var b={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(c){re.templateCache=c},get templateCache(){return re.templateCache}},re=new P;b.clearCache=function(){return re.clearCache()};b.parse=function(e,t){return re.parse(e,t)};b.render=function(e,t,a,s){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+We(e)+'" was given as the first argument for mustache#render(template, view, partials)');return re.render(e,t,a,s)};b.escape=Ge;b.Scanner=ne;b.Context=G;b.Writer=P;const it={main:{template:`
12
12
  {{#shouldShowAnswer}}
13
13
  <div>
14
14
  <div class="searchstax-answer-container {{#showMoreButtonVisible}}searchstax-answer-show-more{{/showMoreButtonVisible}}">
@@ -35,7 +35,7 @@
35
35
  {{/showMoreButtonVisible}}
36
36
  </div>
37
37
  {{/shouldShowAnswer}}
38
- `}},ot={mainTemplate:{template:`
38
+ `}},rt={mainTemplate:{template:`
39
39
  {{#hasExternalPromotions}}
40
40
  <div class="searchstax-external-promotions-container" id="searchstax-external-promotions-container" data-test-id="searchstax-external-promotions-container">
41
41
  External promotions go here
@@ -61,7 +61,7 @@
61
61
  </p>
62
62
  {{/url}}
63
63
  </div>
64
- `}},lt={mainTemplateDesktop:{template:`
64
+ `}},nt={mainTemplateDesktop:{template:`
65
65
  {{#hasResultsOrExternalPromotions}}
66
66
  <div class="searchstax-facets-container-desktop"></div>
67
67
  {{/hasResultsOrExternalPromotions}}
@@ -119,7 +119,7 @@
119
119
  <div class="searchstax-facets-pill-label">{{value}} ({{count}})</div>
120
120
  <div class="searchstax-facets-pill-icon-close"></div>
121
121
  </div>
122
- `,containerClass:"searchstax-facets-pill-facets"}},ht={mainTemplate:{template:`
122
+ `,containerClass:"searchstax-facets-pill-facets"}},ct={mainTemplate:{template:`
123
123
  {{#results.length}}
124
124
  <div class="searchstax-pagination-container" data-test-id="searchstax-pagination-container">
125
125
  <div class="searchstax-pagination-content">
@@ -137,7 +137,7 @@
137
137
  <a class="searchstax-pagination-load-more" data-test-id="searchstax-pagination-load-more" tabindex="0">Show More</a>
138
138
  {{/isLastPage}}
139
139
  {{/results.length}}
140
- `,loadMoreButtonClass:"searchstax-pagination-load-more"}},dt={main:{template:`
140
+ `,loadMoreButtonClass:"searchstax-pagination-load-more"}},ot={main:{template:`
141
141
  {{#hasRelatedSearches}}
142
142
  <div class="searchstax-related-searches-container" data-test-id="searchstax-related-searches-container" id="searchstax-related-searches-container">
143
143
  Related searches: <span id="searchstax-related-searches"></span>
@@ -152,7 +152,7 @@
152
152
  <span class="searchstax-related-search searchstax-related-search-item" data-test-id="searchstax-related-search-item" aria-label="Related search: {{related_search}}" tabindex="0">
153
153
  {{ related_search }}{{^last}}<span>,</span>{{/last}}
154
154
  </span>
155
- `,relatedSearchContainerClass:"searchstax-related-search-item"}},ut={main:{template:`
155
+ `,relatedSearchContainerClass:"searchstax-related-search-item"}},lt={main:{template:`
156
156
  {{#searchExecuted}}
157
157
  <a href="#searchstax-search-results" data-test-id="searchstax-skip" class="searchstax-skip">Skip to results section</a>
158
158
  <h4 class="searchstax-feedback-container" data-test-id="searchstax-feedback-container">
@@ -166,7 +166,7 @@
166
166
  {{/hasResults}}
167
167
  </h4>
168
168
  {{/searchExecuted}}
169
- `,originalQueryClass:"searchstax-feedback-original-query"}},gt={mainTemplate:{template:`
169
+ `,originalQueryClass:"searchstax-feedback-original-query"}},ht={mainTemplate:{template:`
170
170
  <div class="searchstax-search-input-container" data-test-id="searchstax-search-input-container">
171
171
  <div class="searchstax-search-input-wrapper">
172
172
  <input type="text" id="searchstax-search-input" class="searchstax-search-input" placeholder="SEARCH FOR..." aria-label="Search" data-test-id="searchstax-search-input" />
@@ -175,7 +175,7 @@
175
175
  </div>
176
176
  `,searchInputId:"searchstax-search-input"},autosuggestItemTemplate:{template:`
177
177
  <div class="searchstax-autosuggest-item-term-container">{{{term}}}</div>
178
- `}},pt={mainTemplate:{template:`
178
+ `}},dt={mainTemplate:{template:`
179
179
  <div class="searchstax-search-results-container" id="searchstax-search-results-container" data-test-id="searchstax-search-results-container">
180
180
  <div class="searchstax-search-results" id="searchstax-search-results"></div>
181
181
  </div>
@@ -241,7 +241,7 @@
241
241
  </ul>
242
242
  </div>
243
243
  {{/searchExecuted}}
244
- `}},ft={main:{template:`
244
+ `}},ut={main:{template:`
245
245
  {{#searchExecuted}}
246
246
  {{#hasResultsOrExternalPromotions}}
247
247
  <div class="searchstax-sorting-container" data-test-id="searchstax-sorting-container">
@@ -256,4 +256,4 @@
256
256
  </div>
257
257
  {{/hasResultsOrExternalPromotions}}
258
258
  {{/searchExecuted}}
259
- `,selectId:"searchstax-search-order-select"}};class f{}n(f,"answer",ct),n(f,"externalPromotions",ot),n(f,"facets",lt),n(f,"pagination",ht),n(f,"relatedSearches",dt),n(f,"searchFeedback",ut),n(f,"searchInput",gt),n(f,"searchResults",pt),n(f,"sorting",ft);class mt{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)||f.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,i,r;const t=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(t){const o=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.externalPromotion)==null?void 0:i.template)||((r=f.externalPromotions.externalPromotion)==null?void 0:r.template);if(typeof document<"u"){const l=document==null?void 0:document.createElement("div");l.classList.add("searchstax-external-promotion"),l.addEventListener("click",h=>{this.trackClick(e,h)}),l.innerHTML=b.render(o,e),t.appendChild(l)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var a,s,i,r;const t=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplate)==null?void 0:i.template)||((r=f.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===E.mustache){this.searchExternalPromotionsMainContainer.innerHTML=b.render(t,e);const o=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;o&&(o.innerHTML="");for(const l of e.externalPromotions)this.addExternalSearch(l)}}}class O{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,t){this.addAccessibilityNotificationContainerToBody();const a=document.getElementById("searchAccessibility");a&&a.remove();const s=document.createElement("span");s.setAttribute("id","searchAccessibility"),s.innerHTML=e;const i=document.getElementById("searchAccessibilityContainer");i&&setTimeout(()=>{i.appendChild(s)},t??100)}}class yt{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,i)=>{if(e.stopPropagation(),!t.disabled){const r=a.querySelector("input");let o=s?r.checked:!r.checked;i!==void 0&&(o=!i),r.checked=o;const l=this.dataLayer.searchObject;let h=[...l.facets];const d=this.extractFacetValue(t);o?h.find(u=>D.deepEqual(u,d)?u:!1)||(this.config.facetingType==="tabs"&&(h=h.filter(u=>u.name!==d.name)),h.push(d)):h=h.filter(p=>!D.deepEqual(p,d)),setTimeout(()=>{this.dataLayer.setSearchObject({...l,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(i=>{s[i.name]||(s[i.name]=a)}),e.map(i=>({...i,values:i.values.slice(0,s[i.name]),showingAllFacets:i.values.length<=s[i.name],hasMoreFacets:i.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 r;const i=(r=this.dataLayer.searchFacets)==null?void 0:r.find(o=>o.name===s.name);return i?{...s,values:s.values.map(l=>{const h=i.values.find(d=>l.type==="range"?!1:l.type==="checkbox"?d.value===l.value:!1);return{...l,disabled:!h,isMobile:e}})}:{...s,values:s.values.map(l=>({...l,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(s=>{var i;return(i=this.config.specificFacets)==null?void 0:i.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,i,r,o,l,h,d,p,u,y,S,g;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||m.classList.add("active");const L=((r=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.facetItemContainerTemplate)==null?void 0:r.template)||((o=f.facets.facetItemContainerTemplate)==null?void 0:o.template);m.innerHTML=b.render(L,e),t.appendChild(m);const x=m.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:d.facetListTitleContainerClass)||((p=f.facets.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)));x==null||x.addEventListener("click",()=>{m.classList.toggle("active")});const T=m.querySelector("."+(((S=(y=(u=this.config)==null?void 0:u.templates)==null?void 0:y.facetItemContainerTemplate)==null?void 0:S.facetListContainerClass)||((g=f.facets.facetItemContainerTemplate)==null?void 0:g.facetListContainerClass)));T&&(e.values.forEach(I=>{this.createFacetListItem(I,T,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,T,a))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>D.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t,a){var s,i,r,o,l,h,d,p,u,y,S,g;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-value-container"),e.disabled&&m.classList.add("searchstax-facet-value-disabled");const L=this.isChecked(e),x=((r=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.facetItemTemplate)==null?void 0:r.template)||((o=f.facets.facetItemTemplate)==null?void 0:o.template);m.innerHTML=b.render(x,{...e,isChecked:L});let T=(l=f.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;T=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemTemplate)==null?void 0:p.checkTriggerClasses)||T,T.forEach(k=>{const q=m.querySelector("."+k);q==null||q.addEventListener("click",N=>{this.onFacetSelect(N,e,m)})});const I=m.querySelector("."+(((S=(y=(u=this.config)==null?void 0:u.templates)==null?void 0:y.facetItemTemplate)==null?void 0:S.inputCheckboxClass)||((g=f.facets.facetItemTemplate)==null?void 0:g.inputCheckboxClass)));I==null||I.addEventListener("click",k=>{this.onFacetSelect(k,e,m,!0)}),I&&(I==null||I.setAttribute("data-test-value",`${encodeURIComponent(a)}:&quot;${encodeURIComponent(e.value)}&quot;`)),t.appendChild(m)}}createHasMoreComponent(e,t,a){var s,i,r,o,l,h,d,p;if(typeof document<"u"){const u=document==null?void 0:document.createElement("div");u.classList.add("searchstax-facet-show-more-container");const y=((r=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.showMoreButtonContainerTemplate)==null?void 0:r.template)||((o=f.facets.showMoreButtonContainerTemplate)==null?void 0:o.template);u.innerHTML=b.render(y,e);const S=u.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:d.showMoreButtonClass)||((p=f.facets.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)));S&&(this.attachOnclickToShowMore(e,S,a),t&&t.appendChild(S))}}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)}),t.addEventListener("keyup",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,i=a?this.facetLimits:this.facetLimitsMobile;i[t.name]===void 0?i[t.name]=s*2:i[t.name]<=t.values.length?(O.setAccessibilityText(`More Facets shown for ${t.label}`),i[t.name]=i[t.name]+s):(O.setAccessibilityText(`Less Facets shown for ${t.label}`),i[t.name]=s),this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,i,r,o,l,h,d,p,u,y;if(e&&(!D.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const S=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:i.template)||((r=f.facets.mainTemplateDesktop)==null?void 0:r.template);if(this.dataLayer.renderingEngine===E.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=b.render(S,{...e});const g=(d=this.searchFacetsMainContainer)==null?void 0:d.querySelector("."+(((h=(l=(o=this.config)==null?void 0:o.templates)==null?void 0:l.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||f.facets.mainTemplateDesktop.facetsContainerClass));if(g){g.innerHTML="";for(const m of e.facets)this.createFacetItem(m,g);if(this.searchFacetsMainContainer){const m=this.searchFacetsMainContainer.querySelector("."+(((y=(u=(p=this.config)==null?void 0:p.templates)==null?void 0:u.mainTemplateDesktop)==null?void 0:y.selectedFacetsContainerClass)||f.facets.mainTemplateDesktop.selectedFacetsContainerClass));m&&(this.createSelectedFacetsComponents(m),this.createClearFacetsComponents(m))}}}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),i=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const r=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,o=r==null?void 0:r.find(l=>l.name===s);if(o){const l=o.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${i}"`:!1);l&&e.push(l)}}}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,i,r,o,l,h;if(typeof document<"u"){const d=this.dataLayer.searchObject,p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((i=f.facets.clearFacetsTemplate)==null?void 0:i.template),u=document==null?void 0:document.createElement("div");u.innerHTML=b.render(p,{shouldShow:d.facets.length>0});const y=u.querySelector("."+(((l=(o=(r=this.config)==null?void 0:r.templates)==null?void 0:o.clearFacetsTemplate)==null?void 0:l.containerClass)||((h=f.facets.clearFacetsTemplate)==null?void 0:h.containerClass)));y&&(y.addEventListener("click",()=>{this.removeSelectedFacets()}),y.addEventListener("keyup",S=>{(S.code==="Space"||S.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(y))}}createSelectedFacetsComponent(e,t){var a,s,i,r,o,l,h,d;if(typeof document<"u"){const p=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:i.template)||((r=f.facets.selectedFacetsTemplate)==null?void 0:r.template),u=document==null?void 0:document.createElement("div");u.innerHTML=b.render(p,t);const y=u.querySelector("."+(((h=(l=(o=this.config)==null?void 0:o.templates)==null?void 0:l.selectedFacetsTemplate)==null?void 0:h.containerClass)||((d=f.facets.selectedFacetsTemplate)==null?void 0:d.containerClass)));y&&(y.addEventListener("click",()=>{this.unselectFacet(t)}),y.addEventListener("keyup",S=>{(S.code==="Space"||S.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(y))}}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,i,r,o,l,h;if(typeof document<"u"){const d=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((i=f.facets.filterByTemplate)==null?void 0:i.template),p=document==null?void 0:document.createElement("div");p.innerHTML=b.render(d,{});const u=p.querySelector("."+(((l=(o=(r=this.config)==null?void 0:r.templates)==null?void 0:o.filterByTemplate)==null?void 0:l.containerClass)||((h=f.facets.filterByTemplate)==null?void 0:h.containerClass)));u&&(e.prepend(u),u.addEventListener("click",this.openOverlay.bind(this)),u.addEventListener("keyup",y=>{(y.code==="Space"||y.code==="Enter")&&this.openOverlay()}))}}openOverlay(){var e;O.setAccessibilityText("Facet overlay opened. Tab to select facets."),this.overlayOpened=!0,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;O.setAccessibilityText("Facet overlay closed"),this.overlayOpened=!1,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,s,i,r,o,l,h,d,p,u,y,S,g,m,L,x,T,I;if(e&&typeof document<"u"){const k=document==null?void 0:document.createElement("div");k.classList.add("searchstax-facets-container-mobile");const q=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((i=f.facets.mainTemplateMobile)==null?void 0:i.template);if(this.dataLayer.renderingEngine===E.mustache){if(k.innerHTML=b.render(q,{...e,overlayOpened:this.overlayOpened}),(r=this.searchFacetsMainContainer)==null||r.appendChild(k),(l=(o=this.config)==null?void 0:o.templates)!=null&&l.mainTemplateMobile)for(const Y of((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const B=k.querySelector("."+Y);B&&(B.addEventListener("click",this.closeOverlay.bind(this)),B.addEventListener("keyup",Z=>{(Z.code==="Space"||Z.code==="Enter")&&this.closeOverlay()}))}else for(const Y of f.facets.mainTemplateMobile.closeOverlayTriggerClasses){const B=k.querySelector("."+Y);B&&(B.addEventListener("click",this.closeOverlay.bind(this)),B.addEventListener("keyup",Z=>{(Z.code==="Space"||Z.code==="Enter")&&this.closeOverlay()}))}const N=k.querySelector("."+(((S=(y=(u=this.config)==null?void 0:u.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:S.filterByContainerClass)||f.facets.mainTemplateMobile.filterByContainerClass));N&&this.createFilterByComponent(N);const A=k.querySelector("."+(((L=(m=(g=this.config)==null?void 0:g.templates)==null?void 0:m.mainTemplateMobile)==null?void 0:L.selectedFacetsContainerClass)||f.facets.mainTemplateMobile.selectedFacetsContainerClass));A&&(this.createSelectedFacetsComponents(A),this.createClearFacetsComponents(A));const de=k.querySelector("."+(((I=(T=(x=this.config)==null?void 0:x.templates)==null?void 0:T.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||f.facets.mainTemplateMobile.facetsContainerClass));if(de){de.innerHTML="";for(const Y of e.facets)this.createFacetItem(Y,de,!0)}}}}}class Ct{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,i,r,o,l,h,d;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)??f.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((o=(r=(i=this.config)==null?void 0:i.templates)==null?void 0:r.mainTemplate)==null?void 0:o.nextButtonClass)??f.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:d.loadMoreButtonClass)??f.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,i;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:(i=this.routerHelper)==null?void 0:i.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,i,r,o,l,h,d,p,u;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=((o=(r=(i=this.config)==null?void 0:i.templates)==null?void 0:r.mainTemplate)==null?void 0:o.template)||((l=f.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.isInfiniteScroll&&(t=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:p.template)||((u=f.pagination.infiniteScrollTemplate)==null?void 0:u.template)),this.dataLayer.renderingEngine===E.mustache&&(this.searchPaginationMainContainer.innerHTML=b.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class bt{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)||f.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,i,r,o;if(typeof document<"u"){const l=document==null?void 0:document.createElement("div"),h=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:i.template)||f.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===E.mustache){l.innerHTML=b.render(h,e);const d=l.querySelector("."+(((o=(r=this.config.templates)==null?void 0:r.relatedSearch)==null?void 0:o.relatedSearchContainerClass)||f.relatedSearches.relatedSearch.relatedSearchContainerClass));d&&(t.appendChild(d),d.addEventListener("click",()=>{this.executeSearch(e)}),d.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,i,r;const t=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:i.template)||f.relatedSearches.main.template;if(this.dataLayer.renderingEngine===E.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=b.render(t,e);const o=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(o)for(const l of e.relatedSearches)this.addRelatedSearchComponent(l,o)}}}class St{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,i,r;const e=(r=this.searchFeedbackMainContainer)==null?void 0:r.querySelector("."+(((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.originalQueryClass)||((i=f.searchFeedback.main)==null?void 0:i.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,s,i;const t=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:i.template)||f.searchFeedback.main.template;this.dataLayer.renderingEngine===E.mustache&&(this.searchFeedbackMainContainer.innerHTML=b.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Lt{constructor(e){n(this,"searchHelper");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.suggestAfterMinChars===void 0&&this.getSuggestAfterValue(),this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,a,s;if(typeof document<"u"){const i=document==null?void 0:document.getElementById(this.containerId);if(!i)throw new Error("Search input container not found");const r=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||f.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===E.mustache){const h=b.render(r,{});i.innerHTML=h}const o=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||f.searchInput.mainTemplate.searchInputId,l=document==null?void 0:document.querySelector(`#${o}`);if(l)this.searchInput=l,l.addEventListener("keyup",this.inputKeyupEvent.bind(this)),l.addEventListener("blur",this.hideAutosuggest.bind(this)),l.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===E.mustache&&typeof document<"u"&&(this.autosuggestContainer=document==null?void 0:document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}getSuggestAfterValue(){this.dataLayer.searchHelper&&this.dataLayer.searchHelper.suggest("*",e=>{this.suggestAfterMinChars=e.metadata.minPrefixChars},[])}actionButtonInit(){typeof document<"u"&&(this.actionButton=document==null?void 0:document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))}))}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon"),this.actionButton.setAttribute("aria-label","search");break;case"close":this.actionButton.classList.add("searchstax-search-close"),this.actionButton.setAttribute("aria-label","clear search");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){if(typeof document<"u"){const e=document==null?void 0:document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?(a.classList.add("active"),O.setAccessibilityText(`Selected suggestion: ${a.innerText}`)):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){this.suggestAfterMinChars&&e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},200)}cleanSuggestionTerm(e){return H.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var s,i,r;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=((i=(s=this.config.templates)==null?void 0:s.autosuggestItemTemplate)==null?void 0:i.template)||((r=f.searchInput.autosuggestItemTemplate)==null?void 0:r.template);return t.innerHTML=b.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 i=a[s];i.numFound?O.setAccessibilityText("Suggestions are available. Use up and down arrows to navigate while focusing input.",2e3):O.setAccessibilityText("",0),this.autosuggestResults=i,this.dataLayer.setAutosuggestResults(i),i.numFound>0?i.suggestions.forEach(r=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(r))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class vt{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,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(()=>{O.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,i,r,o;const e=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.noSearchResultTemplate)==null?void 0:i.template)||((r=f.searchResults.noSearchResultTemplate)==null?void 0:r.template),t=((o=this.dataLayer.searchResultsMetadata)==null?void 0:o.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===E.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=b.render(e,{spellingSuggestion:t,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),t&&this.searchResultsContainer){const l=this.searchResultsContainer.querySelector("a");l&&l.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,s,i,r;if(this.dataLayer.renderingEngine===E.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)O.setAccessibilityText("Search has no results"),this.renderNoResultsTemplate();else{O.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);const o=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((i=f.searchResults.searchResultTemplate)==null?void 0:i.template),l=e.map(h=>b.render(o,h));((r=this.config)==null?void 0:r.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=l.join(""):this.searchResultsContainer.innerHTML=l.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}get uniqueIdAttribute(){var e,t,a,s;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((s=f.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,i;const e=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((i=f.searchResults.mainTemplate)==null?void 0:i.template);this.dataLayer.renderingEngine===E.mustache&&(this.searchResultsMainContainer.innerHTML=b.render(e,{}),setTimeout(()=>{var l,h,d,p,u,y,S;const r=(d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.mainTemplate)!=null&&d.searchResultsContainerId?(y=(u=(p=this.config)==null?void 0:p.templates)==null?void 0:u.mainTemplate)==null?void 0:y.searchResultsContainerId:(S=f.searchResults.mainTemplate)==null?void 0:S.searchResultsContainerId,o=document==null?void 0:document.getElementById(r);if(o)this.searchResultsContainer=o;else throw new Error(`Search Results Container with id ${r} not found`)},0))}}class xt{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)||f.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,i;const t=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:i.template)||f.sorting.main.template;if(this.dataLayer.renderingEngine===E.mustache){this.searchSortingMainContainer.innerHTML=b.render(t,e),this.markOptionSelected();const r=document==null?void 0:document.getElementById(this.selectId);r&&r.addEventListener("change",o=>{this.setOrderQuery(o.target.value)})}}}class wt{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);n(this,"showMoreVisible",!1);n(this,"clicked",!1);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.config.showShowMoreAfterWordCount&&(this.dataLayer.answerWidgetShowMoreLimit=this.config.showShowMoreAfterWordCount),typeof document<"u"&&(this.answerContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.clicked?this.showMoreVisible=!1:this.showMoreVisible=this.dataLayer.parsedData.shouldShowAnswerLoadMore,this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answerLoading.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchObject.subscribe(()=>{this.clicked=!1}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())})}showMore(e){e.preventDefault(),this.clicked=!0,this.showMoreVisible=!1,this.renderMainTemplate(this.generateTemplateData())}attachClickEventToShowMore(){const e=document.querySelector(".searchstax-answer-load-more-button");e&&e.addEventListener("click",this.showMore.bind(this))}renderMainTemplate(e){var a,s,i;const t=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:i.template)||f.answer.main.template;this.dataLayer.renderingEngine===E.mustache&&(this.answerContainer.innerHTML=b.render(t,e),this.attachClickEventToShowMore())}generateTemplateData(){const e={...this.dataLayer.parsedData.data,showMoreButtonVisible:this.showMoreVisible};return this.dataLayer.setAnswerFullData(e),e}}class Tt{constructor(e=E.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,"previousQuery","");n(this,"renderEngine",E.mustache);e&&(this.renderEngine=e)}setRenderingEngine(e=E.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=>{a.query!==this.previousQuery&&this.dataLayer.setAnswerData(""),a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),a.query!==this.previousQuery&&this.startSSE(a.query)),this.previousQuery=a.query}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&z.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}startSSE(e){var t;this.dataLayer.turnAIAnswerGenerationOn===!0&&this.dataLayer.questionURL&&((t=this.searchHelper)==null||t.startSSE(e,this.parseAnswerResultsResponse.bind(this)))}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 qe("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.questionURL&&(this.dataLayer.questionURL=e.questionURL),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),e.language&&this.dataLayer.setLanguage(e.language),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new _e({...e,sessionId:this.dataLayer.sessionId},this.dataLayer),this.dataLayer.searchHelper=this.searchHelper),((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 Te(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 Te({})}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 i;const a=(((i=e.response)==null?void 0:i.docs)??[]).map((r,o)=>({...r,position:o+1})),s=[];for(const r of a)s.push({relatedSearch:r.related_search,position:r.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&z.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 i,r;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows));let t=ee.combineResultsWithMetadata(e),a=ee.extractFacets(e);this.dataLayer.setSearchFacets(a),(r=(i=this.dataLayer.searchstaxConfig)==null?void 0:i.hooks)!=null&&r.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const s=ee.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(s),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==Q.question&&e!==Q.notQuestion&&(this.dataLayer.setAnswerLoading(!0),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 Lt({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.turnAIAnswerGenerationOn=!0,this.startSSE(this.dataLayer.searchObject.query),this.dataLayer.setAnswerData(""),this.answerWidget=new wt({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new vt({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 Ct({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new St({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new xt({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig=t,this.relatedSearchesWidget=new bt({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0)}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig=t,this.externalPromotionsWidget=new mt({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new yt({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var i,r;const a={...this.dataLayer.searchObject};a.query=H.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let s=(i=this.routerHelper)==null?void 0:i.searchObjectToParams(a);s&&(s=(r=this.routerHelper)==null?void 0:r.extractParamsThatDoNotStartWithRouteName(s)),s&&(a.additionalProps=Object.keys(s).map(o=>s?{key:o,value:s[o]}:{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&&z.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,s;let t=ee.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&&z.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=Tt;
259
+ `,selectId:"searchstax-search-order-select"}};class f{}n(f,"answer",it),n(f,"externalPromotions",rt),n(f,"facets",nt),n(f,"pagination",ct),n(f,"relatedSearches",ot),n(f,"searchFeedback",lt),n(f,"searchInput",ht),n(f,"searchResults",dt),n(f,"sorting",ut);class gt{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)||f.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,i,r;const t=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;if(t){const o=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.externalPromotion)==null?void 0:i.template)||((r=f.externalPromotions.externalPromotion)==null?void 0:r.template);if(typeof document<"u"){const l=document==null?void 0:document.createElement("div");l.classList.add("searchstax-external-promotion"),l.addEventListener("click",h=>{this.trackClick(e,h)}),l.innerHTML=b.render(o,e),t.appendChild(l)}}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window==null||window.open(e.url,"_blank")}renderMainTemplate(e){var a,s,i,r;const t=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplate)==null?void 0:i.template)||((r=f.externalPromotions.mainTemplate)==null?void 0:r.template);if(this.dataLayer.renderingEngine===E.mustache){this.searchExternalPromotionsMainContainer.innerHTML=b.render(t,e);const o=typeof document<"u"?document==null?void 0:document.getElementById(this.externalPromotionsContainerId):null;o&&(o.innerHTML="");for(const l of e.externalPromotions)this.addExternalSearch(l)}}}class O{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,t){this.addAccessibilityNotificationContainerToBody();const a=document.getElementById("searchAccessibility");a&&a.remove();const s=document.createElement("span");s.setAttribute("id","searchAccessibility"),s.innerHTML=e;const i=document.getElementById("searchAccessibilityContainer");i&&setTimeout(()=>{i.appendChild(s)},t??100)}}class pt{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,i)=>{if(e.stopPropagation(),!t.disabled){const r=a.querySelector("input");let o=s?r.checked:!r.checked;i!==void 0&&(o=!i),r.checked=o;const l=this.dataLayer.searchObject;let h=[...l.facets];const d=this.extractFacetValue(t);o?h.find(u=>D.deepEqual(u,d)?u:!1)||(this.config.facetingType==="tabs"&&(h=h.filter(u=>u.name!==d.name)),h.push(d)):h=h.filter(p=>!D.deepEqual(p,d)),setTimeout(()=>{this.dataLayer.setSearchObject({...l,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(i=>{s[i.name]||(s[i.name]=a)}),e.map(i=>({...i,values:i.values.slice(0,s[i.name]),showingAllFacets:i.values.length<=s[i.name],hasMoreFacets:i.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 r;const i=(r=this.dataLayer.searchFacets)==null?void 0:r.find(o=>o.name===s.name);return i?{...s,values:s.values.map(l=>{const h=i.values.find(d=>l.type==="range"?!1:l.type==="checkbox"?d.value===l.value:!1);return{...l,disabled:!h,isMobile:e}})}:{...s,values:s.values.map(l=>({...l,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(s=>{var i;return(i=this.config.specificFacets)==null?void 0:i.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,i,r,o,l,h,d,p,u,y,S,g;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||m.classList.add("active");const L=((r=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.facetItemContainerTemplate)==null?void 0:r.template)||((o=f.facets.facetItemContainerTemplate)==null?void 0:o.template);m.innerHTML=b.render(L,e),t.appendChild(m);const x=m.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:d.facetListTitleContainerClass)||((p=f.facets.facetItemContainerTemplate)==null?void 0:p.facetListTitleContainerClass)));x==null||x.addEventListener("click",()=>{m.classList.toggle("active")});const T=m.querySelector("."+(((S=(y=(u=this.config)==null?void 0:u.templates)==null?void 0:y.facetItemContainerTemplate)==null?void 0:S.facetListContainerClass)||((g=f.facets.facetItemContainerTemplate)==null?void 0:g.facetListContainerClass)));T&&(e.values.forEach(I=>{this.createFacetListItem(I,T,e.name)}),e.hasMoreFacets&&this.createHasMoreComponent(e,T,a))}}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>D.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t,a){var s,i,r,o,l,h,d,p,u,y,S,g;if(typeof document<"u"){const m=document==null?void 0:document.createElement("div");m.classList.add("searchstax-facet-value-container"),e.disabled&&m.classList.add("searchstax-facet-value-disabled");const L=this.isChecked(e),x=((r=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.facetItemTemplate)==null?void 0:r.template)||((o=f.facets.facetItemTemplate)==null?void 0:o.template);m.innerHTML=b.render(x,{...e,isChecked:L});let T=(l=f.facets.facetItemTemplate)==null?void 0:l.checkTriggerClasses;T=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.facetItemTemplate)==null?void 0:p.checkTriggerClasses)||T,T.forEach(k=>{const q=m.querySelector("."+k);q==null||q.addEventListener("click",W=>{this.onFacetSelect(W,e,m)})});const I=m.querySelector("."+(((S=(y=(u=this.config)==null?void 0:u.templates)==null?void 0:y.facetItemTemplate)==null?void 0:S.inputCheckboxClass)||((g=f.facets.facetItemTemplate)==null?void 0:g.inputCheckboxClass)));I==null||I.addEventListener("click",k=>{this.onFacetSelect(k,e,m,!0)}),I&&(I==null||I.setAttribute("data-test-value",`${encodeURIComponent(a)}:&quot;${encodeURIComponent(e.value)}&quot;`)),t.appendChild(m)}}createHasMoreComponent(e,t,a){var s,i,r,o,l,h,d,p;if(typeof document<"u"){const u=document==null?void 0:document.createElement("div");u.classList.add("searchstax-facet-show-more-container");const y=((r=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.showMoreButtonContainerTemplate)==null?void 0:r.template)||((o=f.facets.showMoreButtonContainerTemplate)==null?void 0:o.template);u.innerHTML=b.render(y,e);const S=u.querySelector("."+(((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.showMoreButtonContainerTemplate)==null?void 0:d.showMoreButtonClass)||((p=f.facets.showMoreButtonContainerTemplate)==null?void 0:p.showMoreButtonClass)));S&&(this.attachOnclickToShowMore(e,S,a),t&&t.appendChild(S))}}attachOnclickToShowMore(e,t,a){t.addEventListener("click",s=>{this.onShowMoreLessClick(s,e,a)}),t.addEventListener("keyup",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,i=a?this.facetLimits:this.facetLimitsMobile;i[t.name]===void 0?i[t.name]=s*2:i[t.name]<=t.values.length?(O.setAccessibilityText(`More Facets shown for ${t.label}`),i[t.name]=i[t.name]+s):(O.setAccessibilityText(`Less Facets shown for ${t.label}`),i[t.name]=s),this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,s,i,r,o,l,h,d,p,u,y;if(e&&(!D.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const S=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.mainTemplateDesktop)==null?void 0:i.template)||((r=f.facets.mainTemplateDesktop)==null?void 0:r.template);if(this.dataLayer.renderingEngine===E.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=b.render(S,{...e});const g=(d=this.searchFacetsMainContainer)==null?void 0:d.querySelector("."+(((h=(l=(o=this.config)==null?void 0:o.templates)==null?void 0:l.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||f.facets.mainTemplateDesktop.facetsContainerClass));if(g){g.innerHTML="";for(const m of e.facets)this.createFacetItem(m,g);if(this.searchFacetsMainContainer){const m=this.searchFacetsMainContainer.querySelector("."+(((y=(u=(p=this.config)==null?void 0:p.templates)==null?void 0:u.mainTemplateDesktop)==null?void 0:y.selectedFacetsContainerClass)||f.facets.mainTemplateDesktop.selectedFacetsContainerClass));m&&(this.createSelectedFacetsComponents(m),this.createClearFacetsComponents(m))}}}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),i=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const r=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,o=r==null?void 0:r.find(l=>l.name===s);if(o){const l=o.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${i}"`:!1);l&&e.push(l)}}}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,i,r,o,l,h;if(typeof document<"u"){const d=this.dataLayer.searchObject,p=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.clearFacetsTemplate)==null?void 0:s.template)||((i=f.facets.clearFacetsTemplate)==null?void 0:i.template),u=document==null?void 0:document.createElement("div");u.innerHTML=b.render(p,{shouldShow:d.facets.length>0});const y=u.querySelector("."+(((l=(o=(r=this.config)==null?void 0:r.templates)==null?void 0:o.clearFacetsTemplate)==null?void 0:l.containerClass)||((h=f.facets.clearFacetsTemplate)==null?void 0:h.containerClass)));y&&(y.addEventListener("click",()=>{this.removeSelectedFacets()}),y.addEventListener("keyup",S=>{(S.code==="Space"||S.code==="Enter")&&this.removeSelectedFacets()}),e.appendChild(y))}}createSelectedFacetsComponent(e,t){var a,s,i,r,o,l,h,d;if(typeof document<"u"){const p=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.selectedFacetsTemplate)==null?void 0:i.template)||((r=f.facets.selectedFacetsTemplate)==null?void 0:r.template),u=document==null?void 0:document.createElement("div");u.innerHTML=b.render(p,t);const y=u.querySelector("."+(((h=(l=(o=this.config)==null?void 0:o.templates)==null?void 0:l.selectedFacetsTemplate)==null?void 0:h.containerClass)||((d=f.facets.selectedFacetsTemplate)==null?void 0:d.containerClass)));y&&(y.addEventListener("click",()=>{this.unselectFacet(t)}),y.addEventListener("keyup",S=>{(S.code==="Space"||S.code==="Enter")&&this.unselectFacet(t)}),e.appendChild(y))}}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,i,r,o,l,h;if(typeof document<"u"){const d=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.filterByTemplate)==null?void 0:s.template)||((i=f.facets.filterByTemplate)==null?void 0:i.template),p=document==null?void 0:document.createElement("div");p.innerHTML=b.render(d,{});const u=p.querySelector("."+(((l=(o=(r=this.config)==null?void 0:r.templates)==null?void 0:o.filterByTemplate)==null?void 0:l.containerClass)||((h=f.facets.filterByTemplate)==null?void 0:h.containerClass)));u&&(e.prepend(u),u.addEventListener("click",this.openOverlay.bind(this)),u.addEventListener("keyup",y=>{(y.code==="Space"||y.code==="Enter")&&this.openOverlay()}))}}openOverlay(){var e;O.setAccessibilityText("Facet overlay opened. Tab to select facets."),this.overlayOpened=!0,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;O.setAccessibilityText("Facet overlay closed"),this.overlayOpened=!1,this.searchFacetsMainContainer&&(typeof document<"u"&&document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,s,i,r,o,l,h,d,p,u,y,S,g,m,L,x,T,I;if(e&&typeof document<"u"){const k=document==null?void 0:document.createElement("div");k.classList.add("searchstax-facets-container-mobile");const q=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:s.template)||((i=f.facets.mainTemplateMobile)==null?void 0:i.template);if(this.dataLayer.renderingEngine===E.mustache){if(k.innerHTML=b.render(q,{...e,overlayOpened:this.overlayOpened}),(r=this.searchFacetsMainContainer)==null||r.appendChild(k),(l=(o=this.config)==null?void 0:o.templates)!=null&&l.mainTemplateMobile)for(const Y of((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const j=k.querySelector("."+Y);j&&(j.addEventListener("click",this.closeOverlay.bind(this)),j.addEventListener("keyup",Z=>{(Z.code==="Space"||Z.code==="Enter")&&this.closeOverlay()}))}else for(const Y of f.facets.mainTemplateMobile.closeOverlayTriggerClasses){const j=k.querySelector("."+Y);j&&(j.addEventListener("click",this.closeOverlay.bind(this)),j.addEventListener("keyup",Z=>{(Z.code==="Space"||Z.code==="Enter")&&this.closeOverlay()}))}const W=k.querySelector("."+(((S=(y=(u=this.config)==null?void 0:u.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:S.filterByContainerClass)||f.facets.mainTemplateMobile.filterByContainerClass));W&&this.createFilterByComponent(W);const A=k.querySelector("."+(((L=(m=(g=this.config)==null?void 0:g.templates)==null?void 0:m.mainTemplateMobile)==null?void 0:L.selectedFacetsContainerClass)||f.facets.mainTemplateMobile.selectedFacetsContainerClass));A&&(this.createSelectedFacetsComponents(A),this.createClearFacetsComponents(A));const he=k.querySelector("."+(((I=(T=(x=this.config)==null?void 0:x.templates)==null?void 0:T.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||f.facets.mainTemplateMobile.facetsContainerClass));if(he){he.innerHTML="";for(const Y of e.facets)this.createFacetItem(Y,he,!0)}}}}}class ft{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,i,r,o,l,h,d;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)??f.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((o=(r=(i=this.config)==null?void 0:i.templates)==null?void 0:r.mainTemplate)==null?void 0:o.nextButtonClass)??f.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:d.loadMoreButtonClass)??f.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,i;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:(i=this.routerHelper)==null?void 0:i.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,i,r,o,l,h,d,p,u;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=((o=(r=(i=this.config)==null?void 0:i.templates)==null?void 0:r.mainTemplate)==null?void 0:o.template)||((l=f.pagination.mainTemplate)==null?void 0:l.template);this.dataLayer.isInfiniteScroll&&(t=((p=(d=(h=this.config)==null?void 0:h.templates)==null?void 0:d.infiniteScrollTemplate)==null?void 0:p.template)||((u=f.pagination.infiniteScrollTemplate)==null?void 0:u.template)),this.dataLayer.renderingEngine===E.mustache&&(this.searchPaginationMainContainer.innerHTML=b.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class mt{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)||f.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,i,r,o;if(typeof document<"u"){const l=document==null?void 0:document.createElement("div"),h=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.relatedSearch)==null?void 0:i.template)||f.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===E.mustache){l.innerHTML=b.render(h,e);const d=l.querySelector("."+(((o=(r=this.config.templates)==null?void 0:r.relatedSearch)==null?void 0:o.relatedSearchContainerClass)||f.relatedSearches.relatedSearch.relatedSearchContainerClass));d&&(t.appendChild(d),d.addEventListener("click",()=>{this.executeSearch(e)}),d.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,i,r;const t=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:i.template)||f.relatedSearches.main.template;if(this.dataLayer.renderingEngine===E.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=b.render(t,e);const o=(r=this.searchRelatedSearchesMainContainer)==null?void 0:r.querySelector(`.${this.relatedSearchesContainerClass}`);if(o)for(const l of e.relatedSearches)this.addRelatedSearchComponent(l,o)}}}class yt{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,i,r;const e=(r=this.searchFeedbackMainContainer)==null?void 0:r.querySelector("."+(((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:s.originalQueryClass)||((i=f.searchFeedback.main)==null?void 0:i.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,s,i;const t=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:i.template)||f.searchFeedback.main.template;this.dataLayer.renderingEngine===E.mustache&&(this.searchFeedbackMainContainer.innerHTML=b.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Ct{constructor(e){n(this,"searchHelper");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.suggestAfterMinChars===void 0&&this.getSuggestAfterValue(),this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var e,t,a,s;if(typeof document<"u"){const i=document==null?void 0:document.getElementById(this.containerId);if(!i)throw new Error("Search input container not found");const r=((t=(e=this.config.templates)==null?void 0:e.mainTemplate)==null?void 0:t.template)||f.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===E.mustache){const h=b.render(r,{});i.innerHTML=h}const o=((s=(a=this.config.templates)==null?void 0:a.mainTemplate)==null?void 0:s.searchInputId)||f.searchInput.mainTemplate.searchInputId,l=document==null?void 0:document.querySelector(`#${o}`);if(l)this.searchInput=l,l.addEventListener("keyup",this.inputKeyupEvent.bind(this)),l.addEventListener("blur",this.hideAutosuggest.bind(this)),l.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===E.mustache&&typeof document<"u"&&(this.autosuggestContainer=document==null?void 0:document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}getSuggestAfterValue(){this.dataLayer.searchHelper&&this.dataLayer.searchHelper.suggest("*",e=>{this.suggestAfterMinChars=e.metadata.minPrefixChars},[])}actionButtonInit(){typeof document<"u"&&(this.actionButton=document==null?void 0:document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))}))}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon"),this.actionButton.setAttribute("aria-label","search");break;case"close":this.actionButton.classList.add("searchstax-search-close"),this.actionButton.setAttribute("aria-label","clear search");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){if(typeof document<"u"){const e=document==null?void 0:document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?(a.classList.add("active"),O.setAccessibilityText(`Selected suggestion: ${a.innerText}`)):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){this.suggestAfterMinChars&&e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},200)}cleanSuggestionTerm(e){return V.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var s,i,r;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=((i=(s=this.config.templates)==null?void 0:s.autosuggestItemTemplate)==null?void 0:i.template)||((r=f.searchInput.autosuggestItemTemplate)==null?void 0:r.template);return t.innerHTML=b.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 i=a[s];i.numFound?O.setAccessibilityText("Suggestions are available. Use up and down arrows to navigate while focusing input.",2e3):O.setAccessibilityText("",0),this.autosuggestResults=i,this.dataLayer.setAutosuggestResults(i),i.numFound>0?i.suggestions.forEach(r=>{this.autosuggestContainer&&typeof document<"u"&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(r))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class bt{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,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(()=>{O.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,i,r,o;const e=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.noSearchResultTemplate)==null?void 0:i.template)||((r=f.searchResults.noSearchResultTemplate)==null?void 0:r.template),t=((o=this.dataLayer.searchResultsMetadata)==null?void 0:o.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===E.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=b.render(e,{spellingSuggestion:t,...this.dataLayer.parsedData.data,searchCallback:this.searchCallback.bind(this)})),t&&this.searchResultsContainer){const l=this.searchResultsContainer.querySelector("a");l&&l.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,s,i,r;if(this.dataLayer.renderingEngine===E.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)O.setAccessibilityText("Search has no results"),this.renderNoResultsTemplate();else{O.setAccessibilityText(`Showing ${this.dataLayer.parsedData.startResultIndex} through ${this.dataLayer.parsedData.endResultIndex} results from ${this.dataLayer.parsedData.totalResults}. Press tab to navigate through results`);const o=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:s.template)||((i=f.searchResults.searchResultTemplate)==null?void 0:i.template),l=e.map(h=>b.render(o,h));((r=this.config)==null?void 0:r.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=l.join(""):this.searchResultsContainer.innerHTML=l.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{}),e.removeEventListener("keydown",()=>{})})}get uniqueIdAttribute(){var e,t,a,s;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((s=f.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,i;const e=((s=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:s.template)||((i=f.searchResults.mainTemplate)==null?void 0:i.template);this.dataLayer.renderingEngine===E.mustache&&(this.searchResultsMainContainer.innerHTML=b.render(e,{}),setTimeout(()=>{var l,h,d,p,u,y,S;const r=(d=(h=(l=this.config)==null?void 0:l.templates)==null?void 0:h.mainTemplate)!=null&&d.searchResultsContainerId?(y=(u=(p=this.config)==null?void 0:p.templates)==null?void 0:u.mainTemplate)==null?void 0:y.searchResultsContainerId:(S=f.searchResults.mainTemplate)==null?void 0:S.searchResultsContainerId,o=document==null?void 0:document.getElementById(r);if(o)this.searchResultsContainer=o;else throw new Error(`Search Results Container with id ${r} not found`)},0))}}class St{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)||f.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,i;const t=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:i.template)||f.sorting.main.template;if(this.dataLayer.renderingEngine===E.mustache){this.searchSortingMainContainer.innerHTML=b.render(t,e),this.markOptionSelected();const r=document==null?void 0:document.getElementById(this.selectId);r&&r.addEventListener("change",o=>{this.setOrderQuery(o.target.value)})}}}class Lt{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);n(this,"showMoreVisible",!1);n(this,"clicked",!1);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.config.showShowMoreAfterWordCount&&(this.dataLayer.answerWidgetShowMoreLimit=this.config.showShowMoreAfterWordCount),typeof document<"u"&&(this.answerContainer=document==null?void 0:document.getElementById(this.containerId)),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.clicked?this.showMoreVisible=!1:this.showMoreVisible=this.dataLayer.parsedData.shouldShowAnswerLoadMore,this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$answerLoading.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())}),this.dataLayer.$searchObject.subscribe(()=>{this.clicked=!1}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.generateTemplateData())})}showMore(e){e.preventDefault(),this.clicked=!0,this.showMoreVisible=!1,this.renderMainTemplate(this.generateTemplateData())}attachClickEventToShowMore(){const e=document.querySelector(".searchstax-answer-load-more-button");e&&e.addEventListener("click",this.showMore.bind(this))}renderMainTemplate(e){var a,s,i;const t=((i=(s=(a=this.config)==null?void 0:a.templates)==null?void 0:s.main)==null?void 0:i.template)||f.answer.main.template;this.dataLayer.renderingEngine===E.mustache&&(this.answerContainer.innerHTML=b.render(t,e),this.attachClickEventToShowMore())}generateTemplateData(){const e={...this.dataLayer.parsedData.data,showMoreButtonVisible:this.showMoreVisible};return this.dataLayer.setAnswerFullData(e),e}}class vt{constructor(e=E.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,"previousQuery","");n(this,"renderEngine",E.mustache);e&&(this.renderEngine=e)}setRenderingEngine(e=E.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=>{a.query!==this.previousQuery&&this.dataLayer.setAnswerData(""),a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),a.query!==this.previousQuery&&this.startSSE(a.query)),this.previousQuery=a.query}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&B.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}startSSE(e){var t;this.dataLayer.turnAIAnswerGenerationOn===!0&&this.dataLayer.questionURL&&((t=this.searchHelper)==null||t.startSSE(e,this.parseAnswerResultsResponse.bind(this)))}attachAnalyticsScript(e){B.attachAnalyticsScript(e)}initialize(e){var t,a;if(this.dataLayer=new Oe("searchstax_session_id",e.sessionId),this.renderEngine&&this.dataLayer.setRenderingEngine(this.renderEngine),this.handleHooks(),e.questionURL&&(this.dataLayer.questionURL=e.questionURL),e.analyticsBaseUrl&&typeof window<"u"&&(window.analyticsBaseUrl=e.analyticsBaseUrl,window._msq=e._msq||[],this.attachAnalyticsScript(e.analyticsSrc)),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),e.language&&this.dataLayer.setLanguage(e.language),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new je({...e,sessionId:this.dataLayer.sessionId},this.dataLayer),this.dataLayer.searchHelper=this.searchHelper),((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 we(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 we({})}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 i;const a=(((i=e.response)==null?void 0:i.docs)??[]).map((r,o)=>({...r,position:o+1})),s=[];for(const r of a)s.push({relatedSearch:r.related_search,position:r.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&B.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 i,r;this.handleRouter(),this.dataLayer.setItemsPerPage(parseInt(e.responseHeader.params.rows));let t=ee.combineResultsWithMetadata(e),a=ee.extractFacets(e);this.dataLayer.setSearchFacets(a),(r=(i=this.dataLayer.searchstaxConfig)==null?void 0:i.hooks)!=null&&r.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const s=ee.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(s),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==K.question&&e!==K.notQuestion&&(this.dataLayer.setAnswerLoading(!0),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 Ct({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.turnAIAnswerGenerationOn=!0,this.startSSE(this.dataLayer.searchObject.query),this.dataLayer.setAnswerData(""),this.answerWidget=new Lt({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new bt({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 ft({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig=t,this.searchFeedbackWidget=new yt({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)})}addSearchSortingWidget(e,t){this.searchSortingConfig=t,this.searchSortingWidget=new St({containerId:e,config:t,dataLayer:this.dataLayer})}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig=t,this.relatedSearchesWidget=new mt({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0)}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig=t,this.externalPromotionsWidget=new gt({containerId:e,config:t,dataLayer:this.dataLayer})}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new pt({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var i,r;const a={...this.dataLayer.searchObject};a.query=V.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let s=(i=this.routerHelper)==null?void 0:i.searchObjectToParams(a);s&&(s=(r=this.routerHelper)==null?void 0:r.extractParamsThatDoNotStartWithRouteName(s)),s&&(a.additionalProps=Object.keys(s).map(o=>s?{key:o,value:s[o]}:{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&&B.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,s;let t=ee.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&&B.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=vt;
@@ -513,6 +513,7 @@ declare class DataLAyer {
513
513
  $answer: Observable;
514
514
  $language: Observable;
515
515
  $answerLoading: Observable;
516
+ $isQuestion: Observable;
516
517
  private currentPageValue;
517
518
  private isAnswerWidgetCreatedValue;
518
519
  private renderingEngineValue;
@@ -561,6 +562,7 @@ declare class DataLAyer {
561
562
  setAnswerData(data: string): void;
562
563
  setItemsPerPage(data: number): void;
563
564
  setAnswerLoading(data: boolean): void;
565
+ setIsQuestion(data: boolean): void;
564
566
  get getAnswerData(): any;
565
567
  get searchstaxConfig(): ISearchstaxConfig | null;
566
568
  get searchFacets(): IFacet[] | null;
@@ -591,6 +593,7 @@ declare class DataLAyer {
591
593
  get itemsPerPage(): number;
592
594
  get answerFullData(): ISearchstaxAnswerData | null;
593
595
  get answerLoading(): boolean;
596
+ get isQuestion(): boolean;
594
597
  }
595
598
  declare class RouterHelper {
596
599
  routeName: string;