@searchstax-inc/searchstudio-ux-js 0.5.15 → 0.5.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -305,6 +305,99 @@ example of result widget initialization with various options
|
|
|
305
305
|
`
|
|
306
306
|
}
|
|
307
307
|
},
|
|
308
|
+
hooks: {
|
|
309
|
+
afterLinkClick: function (result: ISearchstaxParsedResult) {
|
|
310
|
+
// gets result that was clicked, if passed along further functions will execute, if null then event gets canceled
|
|
311
|
+
const propsCopy = { ...result };
|
|
312
|
+
|
|
313
|
+
return propsCopy;
|
|
314
|
+
},
|
|
315
|
+
},
|
|
316
|
+
});
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
example of result widget initialization with infinite scroll enabled. This will render pagination widget with infiniteScrollTemplate
|
|
320
|
+
```
|
|
321
|
+
searchstax.addSearchResultsWidget("searchstax-results-container", {
|
|
322
|
+
templates: {
|
|
323
|
+
mainTemplate: {
|
|
324
|
+
template: `
|
|
325
|
+
<div class="searchstax-search-results-container">
|
|
326
|
+
<div class="searchstax-search-results" id="searchstax-search-results"></div>
|
|
327
|
+
</div>
|
|
328
|
+
`,
|
|
329
|
+
searchResultsContainerId: "searchstax-search-results",
|
|
330
|
+
},
|
|
331
|
+
searchResultTemplate: {
|
|
332
|
+
template: `
|
|
333
|
+
<div class="searchstax-search-result {{#thumbnail}} has-thumbnail {{/thumbnail}}">
|
|
334
|
+
{{#promoted}}
|
|
335
|
+
<div class="searchstax-search-result-promoted"></div>
|
|
336
|
+
{{/promoted}}
|
|
337
|
+
|
|
338
|
+
{{#url}}
|
|
339
|
+
<a href="{{url}}" data-searchstax-unique-result-id="{{uniqueId}}" class="searchstax-result-item-link"></a>
|
|
340
|
+
{{/url}}
|
|
341
|
+
|
|
342
|
+
{{#ribbon}}
|
|
343
|
+
<div class="searchstax-search-result-ribbon">
|
|
344
|
+
{{ribbon}}
|
|
345
|
+
</div>
|
|
346
|
+
{{/ribbon}}
|
|
347
|
+
|
|
348
|
+
{{#thumbnail}}
|
|
349
|
+
<img src="{{thumbnail}}" class="searchstax-thumbnail">
|
|
350
|
+
{{/thumbnail}}
|
|
351
|
+
<div class="searchstax-search-result-title-container">
|
|
352
|
+
<span class="searchstax-search-result-title">{{title}}</span>
|
|
353
|
+
</div>
|
|
354
|
+
|
|
355
|
+
{{#paths}}
|
|
356
|
+
<p class="searchstax-search-result-common">
|
|
357
|
+
{{paths}}
|
|
358
|
+
</p>
|
|
359
|
+
{{/paths}}
|
|
360
|
+
|
|
361
|
+
{{#description}}
|
|
362
|
+
<p class="searchstax-search-result-description searchstax-search-result-common">
|
|
363
|
+
{{description}}
|
|
364
|
+
</p>
|
|
365
|
+
{{/description}}
|
|
366
|
+
|
|
367
|
+
{{#unmappedFields}}
|
|
368
|
+
{{#isImage}}
|
|
369
|
+
<div class="searchstax-search-result-image-container">
|
|
370
|
+
<img src="{{value}}" class="searchstax-result-image">
|
|
371
|
+
</div>
|
|
372
|
+
{{/isImage}}
|
|
373
|
+
{{^isImage}}
|
|
374
|
+
<p class="searchstax-search-result-common">
|
|
375
|
+
{{value}}
|
|
376
|
+
</p>
|
|
377
|
+
{{/isImage}}
|
|
378
|
+
{{/unmappedFields}}
|
|
379
|
+
</div>
|
|
380
|
+
`,
|
|
381
|
+
searchResultUniqueIdAttribute: "data-searchstax-unique-result-id"
|
|
382
|
+
},
|
|
383
|
+
noSearchResultTemplate: {
|
|
384
|
+
template: `
|
|
385
|
+
{{#searchExecuted}}
|
|
386
|
+
<div class="searchstax-no-results">
|
|
387
|
+
Showing <strong>no results</strong> for <strong>"{{ searchTerm }}"</strong>
|
|
388
|
+
<br>
|
|
389
|
+
{{#spellingSuggestion}}
|
|
390
|
+
<span> Did you mean <a href="#" class="searchstax-suggestion-term">{{ spellingSuggestion }}</a>?</span>
|
|
391
|
+
{{/spellingSuggestion}}
|
|
392
|
+
</div>
|
|
393
|
+
<div>
|
|
394
|
+
<p>Try searching for search related terms or topics. We offer a wide variety of content to help you get the information you need.</p>
|
|
395
|
+
<p>Lost? Click on the ‘X” in the Search Box to reset your search.</p>
|
|
396
|
+
</div>
|
|
397
|
+
{{/searchExecuted}}
|
|
398
|
+
`
|
|
399
|
+
}
|
|
400
|
+
},
|
|
308
401
|
renderMethod: 'infiniteScroll',
|
|
309
402
|
resultsPerPage: 10,
|
|
310
403
|
hooks: {
|
|
@@ -700,3 +793,60 @@ css can be taken from
|
|
|
700
793
|
```
|
|
701
794
|
./../node_modules/@searchstax-inc/searchstudio-ux-js/dist/styles/mainTheme.css
|
|
702
795
|
```
|
|
796
|
+
|
|
797
|
+
### Data Flow Subscriptions ###
|
|
798
|
+
All variables are observables that have these functions:
|
|
799
|
+
```
|
|
800
|
+
$observable.subscribe((var) => {})
|
|
801
|
+
$observable.setValue(value)
|
|
802
|
+
$observable.getValue()
|
|
803
|
+
```
|
|
804
|
+
|
|
805
|
+
## Loading change subscription
|
|
806
|
+
|
|
807
|
+
subscribing to loading event observable is available at
|
|
808
|
+
|
|
809
|
+
```
|
|
810
|
+
searchstax.dataLayer.$loadingChange.subscribe((data) => {})
|
|
811
|
+
searchstax.dataLayer.$loadingChange.setValue(data)
|
|
812
|
+
const data = searchstax.dataLayer.$loadingChange.getValue()
|
|
813
|
+
```
|
|
814
|
+
|
|
815
|
+
$loadingChange observable is of type: boolean
|
|
816
|
+
|
|
817
|
+
## Search metadata subscription
|
|
818
|
+
|
|
819
|
+
subscribing to search metadata event observable is available at
|
|
820
|
+
|
|
821
|
+
```
|
|
822
|
+
searchstax.dataLayer.$searchResultsMetadata.subscribe((data) => {})
|
|
823
|
+
searchstax.dataLayer.$searchResultsMetadata.setValue(data)
|
|
824
|
+
const data = searchstax.dataLayer.$searchResultsMetadata.getValue()
|
|
825
|
+
```
|
|
826
|
+
|
|
827
|
+
$searchResultsMetadata observable is of type: [ISearchstaxSearchMetadata](https://www.searchstax.com/docs/searchstudio/interfaces/#h-search-results-interfaces) and can be used for custom pagination implementation along with afterSearch hook
|
|
828
|
+
|
|
829
|
+
## Search pagination data subscription
|
|
830
|
+
|
|
831
|
+
subscribing to pagination data event observable is available at
|
|
832
|
+
|
|
833
|
+
```
|
|
834
|
+
searchstax.dataLayer.$paginationData.subscribe((data) => {})
|
|
835
|
+
searchstax.dataLayer.$paginationData.setValue(data)
|
|
836
|
+
const data = searchstax.dataLayer.$paginationData.getValue()
|
|
837
|
+
```
|
|
838
|
+
|
|
839
|
+
$paginationData observable is of type: [IPaginationData](https://www.searchstax.com/docs/searchstudio/interfaces/#h-pagination-interfaces) and can be used for custom pagination implementation along with afterSearch hook
|
|
840
|
+
|
|
841
|
+
### Data Calculations ###
|
|
842
|
+
At any moment data calculation object is accessible with various variables aimed to help build templates in a cleaner way.
|
|
843
|
+
|
|
844
|
+
## Data calculations
|
|
845
|
+
|
|
846
|
+
Data calculations can be accessed through
|
|
847
|
+
|
|
848
|
+
```
|
|
849
|
+
searchstax.dataLayer.parsedData.data
|
|
850
|
+
```
|
|
851
|
+
|
|
852
|
+
parsedData.data is of type: [ISearchstaxParsedData](https://www.searchstax.com/docs/searchstudio/interfaces/#h-facets-interfaces)
|
package/README.mustache
CHANGED
|
@@ -206,6 +206,33 @@ searchstax.addSearchResultsWidget("searchstax-results-container", {});
|
|
|
206
206
|
```
|
|
207
207
|
|
|
208
208
|
example of result widget initialization with various options
|
|
209
|
+
```
|
|
210
|
+
searchstax.addSearchResultsWidget("searchstax-results-container", {
|
|
211
|
+
templates: {
|
|
212
|
+
mainTemplate: {
|
|
213
|
+
template: `{{&searchResults.mainTemplate.template}}`,
|
|
214
|
+
searchResultsContainerId: "{{&searchResults.mainTemplate.searchResultsContainerId}}",
|
|
215
|
+
},
|
|
216
|
+
searchResultTemplate: {
|
|
217
|
+
template: `{{&searchResults.searchResultTemplate.template}}`,
|
|
218
|
+
searchResultUniqueIdAttribute: "{{searchResults.searchResultTemplate.searchResultUniqueIdAttribute}}"
|
|
219
|
+
},
|
|
220
|
+
noSearchResultTemplate: {
|
|
221
|
+
template: `{{&searchResults.noSearchResultTemplate.template}}`
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
hooks: {
|
|
225
|
+
afterLinkClick: function (result: ISearchstaxParsedResult) {
|
|
226
|
+
// gets result that was clicked, if passed along further functions will execute, if null then event gets canceled
|
|
227
|
+
const propsCopy = { ...result };
|
|
228
|
+
|
|
229
|
+
return propsCopy;
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
});
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
example of result widget initialization with infinite scroll enabled. This will render pagination widget with infiniteScrollTemplate
|
|
209
236
|
```
|
|
210
237
|
searchstax.addSearchResultsWidget("searchstax-results-container", {
|
|
211
238
|
templates: {
|
|
@@ -461,3 +488,60 @@ css can be taken from
|
|
|
461
488
|
```
|
|
462
489
|
./../node_modules/@searchstax-inc/searchstudio-ux-js/dist/styles/mainTheme.css
|
|
463
490
|
```
|
|
491
|
+
|
|
492
|
+
### Data Flow Subscriptions ###
|
|
493
|
+
All variables are observables that have these functions:
|
|
494
|
+
```
|
|
495
|
+
$observable.subscribe((var) => {})
|
|
496
|
+
$observable.setValue(value)
|
|
497
|
+
$observable.getValue()
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
## Loading change subscription
|
|
501
|
+
|
|
502
|
+
subscribing to loading event observable is available at
|
|
503
|
+
|
|
504
|
+
```
|
|
505
|
+
searchstax.dataLayer.$loadingChange.subscribe((data) => {})
|
|
506
|
+
searchstax.dataLayer.$loadingChange.setValue(data)
|
|
507
|
+
const data = searchstax.dataLayer.$loadingChange.getValue()
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
$loadingChange observable is of type: boolean
|
|
511
|
+
|
|
512
|
+
## Search metadata subscription
|
|
513
|
+
|
|
514
|
+
subscribing to search metadata event observable is available at
|
|
515
|
+
|
|
516
|
+
```
|
|
517
|
+
searchstax.dataLayer.$searchResultsMetadata.subscribe((data) => {})
|
|
518
|
+
searchstax.dataLayer.$searchResultsMetadata.setValue(data)
|
|
519
|
+
const data = searchstax.dataLayer.$searchResultsMetadata.getValue()
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
$searchResultsMetadata observable is of type: [ISearchstaxSearchMetadata](https://www.searchstax.com/docs/searchstudio/interfaces/#h-search-results-interfaces) and can be used for custom pagination implementation along with afterSearch hook
|
|
523
|
+
|
|
524
|
+
## Search pagination data subscription
|
|
525
|
+
|
|
526
|
+
subscribing to pagination data event observable is available at
|
|
527
|
+
|
|
528
|
+
```
|
|
529
|
+
searchstax.dataLayer.$paginationData.subscribe((data) => {})
|
|
530
|
+
searchstax.dataLayer.$paginationData.setValue(data)
|
|
531
|
+
const data = searchstax.dataLayer.$paginationData.getValue()
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
$paginationData observable is of type: [IPaginationData](https://www.searchstax.com/docs/searchstudio/interfaces/#h-pagination-interfaces) and can be used for custom pagination implementation along with afterSearch hook
|
|
535
|
+
|
|
536
|
+
### Data Calculations ###
|
|
537
|
+
At any moment data calculation object is accessible with various variables aimed to help build templates in a cleaner way.
|
|
538
|
+
|
|
539
|
+
## Data calculations
|
|
540
|
+
|
|
541
|
+
Data calculations can be accessed through
|
|
542
|
+
|
|
543
|
+
```
|
|
544
|
+
searchstax.dataLayer.parsedData.data
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
parsedData.data is of type: [ISearchstaxParsedData](https://www.searchstax.com/docs/searchstudio/interfaces/#h-facets-interfaces)
|
|
@@ -237,4 +237,4 @@
|
|
|
237
237
|
</div>
|
|
238
238
|
{{/hasResultsOrExternalPromotions}}
|
|
239
239
|
{{/searchExecuted}}
|
|
240
|
-
`,selectId:"searchstax-search-order-select"}};class d{}n(d,"answer",ye),n(d,"externalPromotions",Ce),n(d,"facets",Se),n(d,"pagination",Le),n(d,"relatedSearches",ve),n(d,"searchFeedback",be),n(d,"searchInput",Te),n(d,"searchResults",xe),n(d,"sorting",ke);class Re{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"externalPromotionsContainerId");n(this,"searchExternalPromotionsMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((a=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:a.externalPromotionsContainerId)||d.externalPromotions.mainTemplate.externalPromotionsContainerId,this.searchExternalPromotionsMainContainer=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,r,s,i;const t=document.getElementById(this.externalPromotionsContainerId);if(t){const c=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.externalPromotion)==null?void 0:s.template)||((i=d.externalPromotions.externalPromotion)==null?void 0:i.template),o=document.createElement("div");o.classList.add("searchstax-external-promotion"),o.addEventListener("click",h=>{this.trackClick(e,h)}),o.innerHTML=f.render(c,e),t.appendChild(o)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var a,r,s,i;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:s.template)||((i=d.externalPromotions.mainTemplate)==null?void 0:i.template);if(this.dataLayer.renderingEngine===x.mustache){this.searchExternalPromotionsMainContainer.innerHTML=f.render(t,e);const c=document.getElementById(this.externalPromotionsContainerId);c&&(c.innerHTML="");for(const o of e.externalPromotions)this.addExternalSearch(o)}}}class Ie{constructor(e,t){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"routerHelper");n(this,"cachedPhrase","");n(this,"isCached",!1);n(this,"overlayOpened",!1);n(this,"facetPaginationStep");n(this,"facetPaginationStepMobile");n(this,"searchFacetsMainContainer",null);n(this,"searchFacetsMobileContainer",null);n(this,"searchFacetsDesktopContainer",null);n(this,"facetLimits",{});n(this,"facetLimitsMobile",{});n(this,"deactivatedFacets",{});n(this,"cachedData",null);n(this,"cacheFacets");n(this,"onFacetSelect",(e,t,a,r)=>{if(e.stopPropagation(),!t.disabled){const s=a.querySelector("input");s.checked=r?s.checked:!s.checked;const i=this.dataLayer.searchObject;let c=[...i.facets];const o=this.extractFacetValue(t);s.checked?c.find(u=>w.deepEqual(u,o)?u:!1)||(this.config.facetingType==="tabs"&&(c=c.filter(u=>u.name!==o.name)),c.push(o)):c=c.filter(h=>!w.deepEqual(h,o)),setTimeout(()=>{this.dataLayer.setSearchObject({...i,facets:c,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,this.searchFacetsMainContainer=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,r=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(s=>{r[s.name]||(r[s.name]=a)}),e.map(s=>({...s,values:s.values.slice(0,r[s.name]),showingAllFacets:s.values.length<=r[s.name],hasMoreFacets:s.values.length>a}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(r=>{var i;const s=(i=this.dataLayer.searchFacets)==null?void 0:i.find(c=>c.name===r.name);return s?{...r,values:r.values.map(o=>{const h=s.values.find(u=>o.type==="range"?!1:o.type==="checkbox"?u.value===o.value:!1);return{...o,disabled:!h,isMobile:e}})}:{...r,values:r.values.map(o=>({...o,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(r=>{var s;return(s=this.config.specificFacets)==null?void 0:s.includes(r.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 o,h,u,p,g,y,b,m,C,S,v,R;const r=document.createElement("div");r.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||r.classList.add("active");const s=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:u.template)||((p=d.facets.facetItemContainerTemplate)==null?void 0:p.template);r.innerHTML=f.render(s,e),t.appendChild(r);const i=r.querySelector("."+(((b=(y=(g=this.config)==null?void 0:g.templates)==null?void 0:y.facetItemContainerTemplate)==null?void 0:b.facetListTitleContainerClass)||((m=d.facets.facetItemContainerTemplate)==null?void 0:m.facetListTitleContainerClass)));i==null||i.addEventListener("click",()=>{r.classList.toggle("active")});const c=r.querySelector("."+(((v=(S=(C=this.config)==null?void 0:C.templates)==null?void 0:S.facetItemContainerTemplate)==null?void 0:v.facetListContainerClass)||((R=d.facets.facetItemContainerTemplate)==null?void 0:R.facetListContainerClass)));c&&(e.values.forEach(I=>{this.createFacetListItem(I,c)}),e.hasMoreFacets&&this.createHasMoreComponent(e,c,a))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>w.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var c,o,h,u,p,g,y,b,m,C,S,v,R;const a=document.createElement("div");a.classList.add("searchstax-facet-value-container"),e.disabled&&a.classList.add("searchstax-facet-value-disabled");const r=this.isChecked(e),s=((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.facetItemTemplate)==null?void 0:h.template)||((u=d.facets.facetItemTemplate)==null?void 0:u.template);a.innerHTML=f.render(s,{...e,isChecked:r});let i=(p=d.facets.facetItemTemplate)==null?void 0:p.checkTriggerClasses;i=((b=(y=(g=this.config)==null?void 0:g.templates)==null?void 0:y.facetItemTemplate)==null?void 0:b.checkTriggerClasses)||i,i.forEach(I=>{var T;(T=a.querySelector("."+I))==null||T.addEventListener("click",F=>{this.onFacetSelect(F,e,a)})}),(R=a.querySelector("."+(((S=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.facetItemTemplate)==null?void 0:S.inputCheckboxClass)||((v=d.facets.facetItemTemplate)==null?void 0:v.inputCheckboxClass))))==null||R.addEventListener("click",I=>{this.onFacetSelect(I,e,a,!0)}),t.appendChild(a)}createHasMoreComponent(e,t,a){var c,o,h,u,p,g,y,b;const r=document.createElement("div");r.classList.add("searchstax-facet-show-more-container");const s=((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.showMoreButtonContainerTemplate)==null?void 0:h.template)||((u=d.facets.showMoreButtonContainerTemplate)==null?void 0:u.template);r.innerHTML=f.render(s,e);const i=r.querySelector("."+(((y=(g=(p=this.config)==null?void 0:p.templates)==null?void 0:g.showMoreButtonContainerTemplate)==null?void 0:y.showMoreButtonClass)||((b=d.facets.showMoreButtonContainerTemplate)==null?void 0:b.showMoreButtonClass)));i&&(this.attachOnclickToShowMore(e,i,a),t&&t.appendChild(i))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",r=>{this.onShowMoreLessClick(r,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const r=a?this.facetPaginationStepMobile:this.facetPaginationStep,s=a?this.facetLimits:this.facetLimitsMobile;s[t.name]===void 0?s[t.name]=r*2:s[t.name]<=t.values.length?s[t.name]=s[t.name]+r:s[t.name]=r,this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,r,s,i,c,o,h,u,p,g,y;if(e&&(!w.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const b=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplateDesktop)==null?void 0:s.template)||((i=d.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===x.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=f.render(b,{...e});const m=(u=this.searchFacetsMainContainer)==null?void 0:u.querySelector("."+(((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||d.facets.mainTemplateDesktop.facetsContainerClass));if(m){m.innerHTML="";for(const C of e.facets)this.createFacetItem(C,m);if(this.searchFacetsMainContainer){const C=this.searchFacetsMainContainer.querySelector("."+(((y=(g=(p=this.config)==null?void 0:p.templates)==null?void 0:g.mainTemplateDesktop)==null?void 0:y.selectedFacetsContainerClass)||d.facets.mainTemplateDesktop.selectedFacetsContainerClass));C&&(this.createSelectedFacetsComponents(C),this.createClearFacetsComponents(C))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const r=decodeURIComponent(a.name),s=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=i==null?void 0:i.find(o=>o.name===r);if(c){const o=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${s}"`:!1);o&&e.push(o)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var i,c,o,h,u,p,g,y;const t=this.dataLayer.searchObject,a=((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:o.template)||((h=d.facets.clearFacetsTemplate)==null?void 0:h.template),r=document.createElement("div");r.innerHTML=f.render(a,{shouldShow:t.facets.length>0});const s=r.querySelector("."+(((g=(p=(u=this.config)==null?void 0:u.templates)==null?void 0:p.clearFacetsTemplate)==null?void 0:g.containerClass)||((y=d.facets.clearFacetsTemplate)==null?void 0:y.containerClass)));s&&(s.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(s))}createSelectedFacetsComponent(e,t){var i,c,o,h,u,p,g,y;const a=((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.selectedFacetsTemplate)==null?void 0:o.template)||((h=d.facets.selectedFacetsTemplate)==null?void 0:h.template),r=document.createElement("div");r.innerHTML=f.render(a,t);const s=r.querySelector("."+(((g=(p=(u=this.config)==null?void 0:u.templates)==null?void 0:p.selectedFacetsTemplate)==null?void 0:g.containerClass)||((y=d.facets.selectedFacetsTemplate)==null?void 0:y.containerClass)));s&&(s.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(s))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(r=>JSON.stringify(r)!==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 s,i,c,o,h,u,p,g;const t=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.filterByTemplate)==null?void 0:c.template)||((o=d.facets.filterByTemplate)==null?void 0:o.template),a=document.createElement("div");a.innerHTML=f.render(t,{});const r=a.querySelector("."+(((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.filterByTemplate)==null?void 0:p.containerClass)||((g=d.facets.filterByTemplate)==null?void 0:g.containerClass)));r&&(e.prepend(r),r.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,r,s,i,c,o,h,u,p,g,y,b,m,C,S,v,R,I;if(e){const T=document.createElement("div");T.classList.add("searchstax-facets-container-mobile");const F=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:r.template)||((s=d.facets.mainTemplateMobile)==null?void 0:s.template);if(this.dataLayer.renderingEngine===x.mustache){if(T.innerHTML=f.render(F,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(T),(o=(c=this.config)==null?void 0:c.templates)!=null&&o.mainTemplateMobile)for(const O of((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const q=T.querySelector("."+O);q&&q.addEventListener("click",this.closeOverlay.bind(this))}else for(const O of d.facets.mainTemplateMobile.closeOverlayTriggerClasses){const q=T.querySelector("."+O);q&&q.addEventListener("click",this.closeOverlay.bind(this))}const B=T.querySelector("."+(((b=(y=(g=this.config)==null?void 0:g.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:b.filterByContainerClass)||d.facets.mainTemplateMobile.filterByContainerClass));B&&this.createFilterByComponent(B);const P=T.querySelector("."+(((S=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:S.selectedFacetsContainerClass)||d.facets.mainTemplateMobile.selectedFacetsContainerClass));P&&(this.createSelectedFacetsComponents(P),this.createClearFacetsComponents(P));const N=T.querySelector("."+(((I=(R=(v=this.config)==null?void 0:v.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||d.facets.mainTemplateMobile.facetsContainerClass));if(N){N.innerHTML="";for(const O of e.facets)this.createFacetItem(O,N,!0)}}}}}class Pe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"previousButtonClass");n(this,"nextButtonClass");n(this,"loadMoreButtonClass");n(this,"routerHelper");n(this,"searchPaginationMainContainer",null);var t,a,r,s,i,c,o,h,u;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.previousButtonClass)??d.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:c.nextButtonClass)??d.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:u.loadMoreButtonClass)??d.pagination.infiniteScrollTemplate.loadMoreButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var t,a,r,s;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:(s=this.routerHelper)==null?void 0:s.searchObjectToUrl({...this.dataLayer.searchObject,page:((r=this.dataLayer.searchObject)==null?void 0:r.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.scrollTo(0,0)}nextPage(e){var t;console.log("next"),e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1,this.dataLayer.isInfiniteScroll)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass),a=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this)),a&&a.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var a,r,s,i,c,o,h,u,p,g;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(r=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||r.removeEventListener("click",this.nextPage));let t=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:c.template)||((o=d.pagination.mainTemplate)==null?void 0:o.template);this.dataLayer.isInfiniteScroll&&(t=((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.infiniteScrollTemplate)==null?void 0:p.template)||((g=d.pagination.infiniteScrollTemplate)==null?void 0:g.template)),this.dataLayer.renderingEngine===x.mustache&&(this.searchPaginationMainContainer.innerHTML=f.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class we{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)||d.relatedSearches.main.relatedSearchesContainerClass,this.searchRelatedSearchesMainContainer=document.getElementById(this.containerId),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var s,i,c,o,h;const a=document.createElement("div"),r=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.relatedSearch)==null?void 0:c.template)||d.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===x.mustache){a.innerHTML=f.render(r,e);const u=a.querySelector("."+(((h=(o=this.config.templates)==null?void 0:o.relatedSearch)==null?void 0:h.relatedSearchContainerClass)||d.relatedSearches.relatedSearch.relatedSearchContainerClass));u&&(t.appendChild(u),u.addEventListener("click",()=>{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,r,s,i;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.relatedSearches.main.template;if(this.dataLayer.renderingEngine===x.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=f.render(t,e);const c=(i=this.searchRelatedSearchesMainContainer)==null?void 0:i.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const o of e.relatedSearches)this.addRelatedSearchComponent(o,c)}}}class Ee{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"searchFeedbackMainContainer",null);n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,this.searchFeedbackMainContainer=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,r,s,i;const e=(i=this.searchFeedbackMainContainer)==null?void 0:i.querySelector("."+(((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:r.originalQueryClass)||((s=d.searchFeedback.main)==null?void 0:s.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,r,s;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.searchFeedback.main.template;this.dataLayer.renderingEngine===x.mustache&&(this.searchFeedbackMainContainer.innerHTML=f.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Fe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"suggestAfterMinChars");n(this,"containerId");n(this,"currentInputValue","");n(this,"autosuggestResults");n(this,"searchInput");n(this,"actionButton");n(this,"autosuggestContainer");n(this,"buttonState","search");n(this,"selectedAutosuggestItem",-1);n(this,"suggestTrigger");n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var s,i,c,o;const e=document.getElementById(this.containerId);if(!e)throw new Error("Search input container not found");const t=((i=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:i.template)||d.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===x.mustache){const h=f.render(t,{});e.innerHTML=h}const a=((o=(c=this.config.templates)==null?void 0:c.mainTemplate)==null?void 0:o.searchInputId)||d.searchInput.mainTemplate.searchInputId,r=document.querySelector(`#${a}`);if(r)this.searchInput=r,r.addEventListener("keyup",this.inputKeyupEvent.bind(this)),r.addEventListener("blur",this.hideAutosuggest.bind(this)),r.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===x.mustache&&(this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return E.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var r,s,i;const t=document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const a=((s=(r=this.config.templates)==null?void 0:r.autosuggestItemTemplate)==null?void 0:s.template)||((i=d.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=f.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 r in a)if(Object.prototype.hasOwnProperty.call(a,r)){const s=a[r];this.autosuggestResults=s,this.dataLayer.setAutosuggestResults(s),s.numFound>0?s.suggestions.forEach(i=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Me{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"linkClickCallback");n(this,"searchCallback");n(this,"containerId");n(this,"searchResultsMainContainer");n(this,"searchResultsContainer");n(this,"searchResultLinks",[]);this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,setTimeout(()=>{this.dataLayer.setSearchObject({...this.dataLayer.searchObject,itemsPerPage:this.config.resultsPerPage||10})},0),this.containerId=e.containerId;const t=document.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.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,r,s,i,c;const e=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.noSearchResultTemplate)==null?void 0:s.template)||((i=d.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((c=this.dataLayer.searchResultsMetadata)==null?void 0:c.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===x.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=f.render(e,{spellingSuggestion:t,searchTerm:this.dataLayer.searchTerm})),t&&this.searchResultsContainer){const o=this.searchResultsContainer.querySelector("a");o&&o.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,r,s,i;if(this.dataLayer.renderingEngine===x.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const c=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:r.template)||((s=d.searchResults.searchResultTemplate)==null?void 0:s.template),o=e.map(h=>f.render(c,h));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=o.join(""):this.searchResultsContainer.innerHTML=o.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,a,r;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((r=d.searchResults.searchResultTemplate)==null?void 0:r.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var t,a,r,s;const e=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.template)||((s=d.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===x.mustache&&(this.searchResultsMainContainer.innerHTML=f.render(e,{}),setTimeout(()=>{var o,h,u,p,g,y,b;const i=(u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.mainTemplate)!=null&&u.searchResultsContainerId?(y=(g=(p=this.config)==null?void 0:p.templates)==null?void 0:g.mainTemplate)==null?void 0:y.searchResultsContainerId:(b=d.searchResults.mainTemplate)==null?void 0:b.searchResultsContainerId,c=document.getElementById(i);if(c)this.searchResultsContainer=c;else throw new Error(`Search Results Container with id ${i} not found`)},0))}}class Ae{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"selectId");n(this,"searchSortingMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.selectId)||d.sorting.main.selectId,this.searchSortingMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){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.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var a,r,s;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.sorting.main.template;if(this.dataLayer.renderingEngine===x.mustache){this.searchSortingMainContainer.innerHTML=f.render(t,e),this.markOptionSelected();const i=document.getElementById(this.selectId);i&&i.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class De{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.answerContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)})}renderMainTemplate(e){var a,r,s;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.answer.main.template;this.dataLayer.renderingEngine===x.mustache&&(this.answerContainer.innerHTML=f.render(t,e))}}class Oe{constructor(e=x.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);this.dataLayer=new Y("searchstax_session_id"),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=x.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{var r;a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),this.dataLayer.turnAIAnswerGenerationOn===!0&&((r=this.searchHelper)==null||r.startSSE(a.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,a;e.turnAIAnswerGenerationOn===!0&&(this.dataLayer.turnAIAnswerGenerationOn=!0),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new ee({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new K(e.router?e.router:{enabled:!0}),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new K({})}search(e){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 s;const a=(((s=e.response)==null?void 0:s.docs)??[]).map((i,c)=>({...i,position:c+1})),r=[];for(const i of a)r.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:r}),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 s,i;this.handleRouter();let t=$.combineResultsWithMetadata(e),a=$.extractFacets(e);this.dataLayer.setSearchFacets(a),(i=(s=this.dataLayer.searchstaxConfig)==null?void 0:s.hooks)!=null&&i.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const r=$.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(r),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==M.question&&e!==M.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var a,r;let t=e;(r=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&r.afterAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(t)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Fe({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.setAnswerData(""),this.answerWidget=new De({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Me({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Ee({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new Ae({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Re({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Ie({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var s,i;const a={...this.dataLayer.searchObject};a.query=E.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let r=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(a);r&&(r=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(r)),r&&(a.additionalProps=Object.keys(r).map(c=>r?{key:c,value:r[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(a),this.dataLayer.lastSearchValue=a.query}executeSuggest(e){var a,r;let t={term:e,queryParams:[]};(r=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&r.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&&H.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,r;let t=$.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((r=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&r.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&(H.trackClick({result:t,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(t==null?void 0:t.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){var t,a,r;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(r=this.searchResultsWidget)==null||r.changeTemplate())}}exports.Searchstax=Oe;
|
|
240
|
+
`,selectId:"searchstax-search-order-select"}};class d{}n(d,"answer",ye),n(d,"externalPromotions",Ce),n(d,"facets",Se),n(d,"pagination",Le),n(d,"relatedSearches",ve),n(d,"searchFeedback",be),n(d,"searchInput",Te),n(d,"searchResults",xe),n(d,"sorting",ke);class Re{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"externalPromotionsContainerId");n(this,"searchExternalPromotionsMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.externalPromotionsContainerId=((a=(t=this.config.templates)==null?void 0:t.mainTemplate)==null?void 0:a.externalPromotionsContainerId)||d.externalPromotions.mainTemplate.externalPromotionsContainerId,this.searchExternalPromotionsMainContainer=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,r,s,i;const t=document.getElementById(this.externalPromotionsContainerId);if(t){const c=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.externalPromotion)==null?void 0:s.template)||((i=d.externalPromotions.externalPromotion)==null?void 0:i.template),o=document.createElement("div");o.classList.add("searchstax-external-promotion"),o.addEventListener("click",h=>{this.trackClick(e,h)}),o.innerHTML=f.render(c,e),t.appendChild(o)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var a,r,s,i;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:s.template)||((i=d.externalPromotions.mainTemplate)==null?void 0:i.template);if(this.dataLayer.renderingEngine===x.mustache){this.searchExternalPromotionsMainContainer.innerHTML=f.render(t,e);const c=document.getElementById(this.externalPromotionsContainerId);c&&(c.innerHTML="");for(const o of e.externalPromotions)this.addExternalSearch(o)}}}class Ie{constructor(e,t){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"routerHelper");n(this,"cachedPhrase","");n(this,"isCached",!1);n(this,"overlayOpened",!1);n(this,"facetPaginationStep");n(this,"facetPaginationStepMobile");n(this,"searchFacetsMainContainer",null);n(this,"searchFacetsMobileContainer",null);n(this,"searchFacetsDesktopContainer",null);n(this,"facetLimits",{});n(this,"facetLimitsMobile",{});n(this,"deactivatedFacets",{});n(this,"cachedData",null);n(this,"cacheFacets");n(this,"onFacetSelect",(e,t,a,r)=>{if(e.stopPropagation(),!t.disabled){const s=a.querySelector("input");s.checked=r?s.checked:!s.checked;const i=this.dataLayer.searchObject;let c=[...i.facets];const o=this.extractFacetValue(t);s.checked?c.find(u=>w.deepEqual(u,o)?u:!1)||(this.config.facetingType==="tabs"&&(c=c.filter(u=>u.name!==o.name)),c.push(o)):c=c.filter(h=>!w.deepEqual(h,o)),setTimeout(()=>{this.dataLayer.setSearchObject({...i,facets:c,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,this.searchFacetsMainContainer=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,r=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(s=>{r[s.name]||(r[s.name]=a)}),e.map(s=>({...s,values:s.values.slice(0,r[s.name]),showingAllFacets:s.values.length<=r[s.name],hasMoreFacets:s.values.length>a}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(r=>{var i;const s=(i=this.dataLayer.searchFacets)==null?void 0:i.find(c=>c.name===r.name);return s?{...r,values:r.values.map(o=>{const h=s.values.find(u=>o.type==="range"?!1:o.type==="checkbox"?u.value===o.value:!1);return{...o,disabled:!h,isMobile:e}})}:{...r,values:r.values.map(o=>({...o,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(r=>{var s;return(s=this.config.specificFacets)==null?void 0:s.includes(r.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 o,h,u,p,g,y,b,m,C,S,v,R;const r=document.createElement("div");r.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||r.classList.add("active");const s=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:u.template)||((p=d.facets.facetItemContainerTemplate)==null?void 0:p.template);r.innerHTML=f.render(s,e),t.appendChild(r);const i=r.querySelector("."+(((b=(y=(g=this.config)==null?void 0:g.templates)==null?void 0:y.facetItemContainerTemplate)==null?void 0:b.facetListTitleContainerClass)||((m=d.facets.facetItemContainerTemplate)==null?void 0:m.facetListTitleContainerClass)));i==null||i.addEventListener("click",()=>{r.classList.toggle("active")});const c=r.querySelector("."+(((v=(S=(C=this.config)==null?void 0:C.templates)==null?void 0:S.facetItemContainerTemplate)==null?void 0:v.facetListContainerClass)||((R=d.facets.facetItemContainerTemplate)==null?void 0:R.facetListContainerClass)));c&&(e.values.forEach(I=>{this.createFacetListItem(I,c)}),e.hasMoreFacets&&this.createHasMoreComponent(e,c,a))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>w.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var c,o,h,u,p,g,y,b,m,C,S,v,R;const a=document.createElement("div");a.classList.add("searchstax-facet-value-container"),e.disabled&&a.classList.add("searchstax-facet-value-disabled");const r=this.isChecked(e),s=((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.facetItemTemplate)==null?void 0:h.template)||((u=d.facets.facetItemTemplate)==null?void 0:u.template);a.innerHTML=f.render(s,{...e,isChecked:r});let i=(p=d.facets.facetItemTemplate)==null?void 0:p.checkTriggerClasses;i=((b=(y=(g=this.config)==null?void 0:g.templates)==null?void 0:y.facetItemTemplate)==null?void 0:b.checkTriggerClasses)||i,i.forEach(I=>{var T;(T=a.querySelector("."+I))==null||T.addEventListener("click",F=>{this.onFacetSelect(F,e,a)})}),(R=a.querySelector("."+(((S=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.facetItemTemplate)==null?void 0:S.inputCheckboxClass)||((v=d.facets.facetItemTemplate)==null?void 0:v.inputCheckboxClass))))==null||R.addEventListener("click",I=>{this.onFacetSelect(I,e,a,!0)}),t.appendChild(a)}createHasMoreComponent(e,t,a){var c,o,h,u,p,g,y,b;const r=document.createElement("div");r.classList.add("searchstax-facet-show-more-container");const s=((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.showMoreButtonContainerTemplate)==null?void 0:h.template)||((u=d.facets.showMoreButtonContainerTemplate)==null?void 0:u.template);r.innerHTML=f.render(s,e);const i=r.querySelector("."+(((y=(g=(p=this.config)==null?void 0:p.templates)==null?void 0:g.showMoreButtonContainerTemplate)==null?void 0:y.showMoreButtonClass)||((b=d.facets.showMoreButtonContainerTemplate)==null?void 0:b.showMoreButtonClass)));i&&(this.attachOnclickToShowMore(e,i,a),t&&t.appendChild(i))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",r=>{this.onShowMoreLessClick(r,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const r=a?this.facetPaginationStepMobile:this.facetPaginationStep,s=a?this.facetLimits:this.facetLimitsMobile;s[t.name]===void 0?s[t.name]=r*2:s[t.name]<=t.values.length?s[t.name]=s[t.name]+r:s[t.name]=r,this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,r,s,i,c,o,h,u,p,g,y;if(e&&(!w.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const b=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplateDesktop)==null?void 0:s.template)||((i=d.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===x.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=f.render(b,{...e});const m=(u=this.searchFacetsMainContainer)==null?void 0:u.querySelector("."+(((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||d.facets.mainTemplateDesktop.facetsContainerClass));if(m){m.innerHTML="";for(const C of e.facets)this.createFacetItem(C,m);if(this.searchFacetsMainContainer){const C=this.searchFacetsMainContainer.querySelector("."+(((y=(g=(p=this.config)==null?void 0:p.templates)==null?void 0:g.mainTemplateDesktop)==null?void 0:y.selectedFacetsContainerClass)||d.facets.mainTemplateDesktop.selectedFacetsContainerClass));C&&(this.createSelectedFacetsComponents(C),this.createClearFacetsComponents(C))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const r=decodeURIComponent(a.name),s=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=i==null?void 0:i.find(o=>o.name===r);if(c){const o=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${s}"`:!1);o&&e.push(o)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var i,c,o,h,u,p,g,y;const t=this.dataLayer.searchObject,a=((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:o.template)||((h=d.facets.clearFacetsTemplate)==null?void 0:h.template),r=document.createElement("div");r.innerHTML=f.render(a,{shouldShow:t.facets.length>0});const s=r.querySelector("."+(((g=(p=(u=this.config)==null?void 0:u.templates)==null?void 0:p.clearFacetsTemplate)==null?void 0:g.containerClass)||((y=d.facets.clearFacetsTemplate)==null?void 0:y.containerClass)));s&&(s.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(s))}createSelectedFacetsComponent(e,t){var i,c,o,h,u,p,g,y;const a=((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.selectedFacetsTemplate)==null?void 0:o.template)||((h=d.facets.selectedFacetsTemplate)==null?void 0:h.template),r=document.createElement("div");r.innerHTML=f.render(a,t);const s=r.querySelector("."+(((g=(p=(u=this.config)==null?void 0:u.templates)==null?void 0:p.selectedFacetsTemplate)==null?void 0:g.containerClass)||((y=d.facets.selectedFacetsTemplate)==null?void 0:y.containerClass)));s&&(s.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(s))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(r=>JSON.stringify(r)!==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 s,i,c,o,h,u,p,g;const t=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.filterByTemplate)==null?void 0:c.template)||((o=d.facets.filterByTemplate)==null?void 0:o.template),a=document.createElement("div");a.innerHTML=f.render(t,{});const r=a.querySelector("."+(((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.filterByTemplate)==null?void 0:p.containerClass)||((g=d.facets.filterByTemplate)==null?void 0:g.containerClass)));r&&(e.prepend(r),r.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,r,s,i,c,o,h,u,p,g,y,b,m,C,S,v,R,I;if(e){const T=document.createElement("div");T.classList.add("searchstax-facets-container-mobile");const F=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:r.template)||((s=d.facets.mainTemplateMobile)==null?void 0:s.template);if(this.dataLayer.renderingEngine===x.mustache){if(T.innerHTML=f.render(F,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(T),(o=(c=this.config)==null?void 0:c.templates)!=null&&o.mainTemplateMobile)for(const O of((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const q=T.querySelector("."+O);q&&q.addEventListener("click",this.closeOverlay.bind(this))}else for(const O of d.facets.mainTemplateMobile.closeOverlayTriggerClasses){const q=T.querySelector("."+O);q&&q.addEventListener("click",this.closeOverlay.bind(this))}const B=T.querySelector("."+(((b=(y=(g=this.config)==null?void 0:g.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:b.filterByContainerClass)||d.facets.mainTemplateMobile.filterByContainerClass));B&&this.createFilterByComponent(B);const P=T.querySelector("."+(((S=(C=(m=this.config)==null?void 0:m.templates)==null?void 0:C.mainTemplateMobile)==null?void 0:S.selectedFacetsContainerClass)||d.facets.mainTemplateMobile.selectedFacetsContainerClass));P&&(this.createSelectedFacetsComponents(P),this.createClearFacetsComponents(P));const N=T.querySelector("."+(((I=(R=(v=this.config)==null?void 0:v.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||d.facets.mainTemplateMobile.facetsContainerClass));if(N){N.innerHTML="";for(const O of e.facets)this.createFacetItem(O,N,!0)}}}}}class Pe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"previousButtonClass");n(this,"nextButtonClass");n(this,"loadMoreButtonClass");n(this,"routerHelper");n(this,"searchPaginationMainContainer",null);var t,a,r,s,i,c,o,h,u;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.previousButtonClass)??d.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:c.nextButtonClass)??d.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:u.loadMoreButtonClass)??d.pagination.infiniteScrollTemplate.loadMoreButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var t,a,r,s;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:(s=this.routerHelper)==null?void 0:s.searchObjectToUrl({...this.dataLayer.searchObject,page:((r=this.dataLayer.searchObject)==null?void 0:r.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.scrollTo(0,0)}nextPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1,this.dataLayer.isInfiniteScroll)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass),a=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this)),a&&a.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var a,r,s,i,c,o,h,u,p,g;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(r=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||r.removeEventListener("click",this.nextPage));let t=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:c.template)||((o=d.pagination.mainTemplate)==null?void 0:o.template);this.dataLayer.isInfiniteScroll&&(t=((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.infiniteScrollTemplate)==null?void 0:p.template)||((g=d.pagination.infiniteScrollTemplate)==null?void 0:g.template)),this.dataLayer.renderingEngine===x.mustache&&(this.searchPaginationMainContainer.innerHTML=f.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class we{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)||d.relatedSearches.main.relatedSearchesContainerClass,this.searchRelatedSearchesMainContainer=document.getElementById(this.containerId),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var s,i,c,o,h;const a=document.createElement("div"),r=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.relatedSearch)==null?void 0:c.template)||d.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===x.mustache){a.innerHTML=f.render(r,e);const u=a.querySelector("."+(((h=(o=this.config.templates)==null?void 0:o.relatedSearch)==null?void 0:h.relatedSearchContainerClass)||d.relatedSearches.relatedSearch.relatedSearchContainerClass));u&&(t.appendChild(u),u.addEventListener("click",()=>{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,r,s,i;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.relatedSearches.main.template;if(this.dataLayer.renderingEngine===x.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=f.render(t,e);const c=(i=this.searchRelatedSearchesMainContainer)==null?void 0:i.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const o of e.relatedSearches)this.addRelatedSearchComponent(o,c)}}}class Ee{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"searchFeedbackMainContainer",null);n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.searchTrigger=e.searchTrigger,this.searchFeedbackMainContainer=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,r,s,i;const e=(i=this.searchFeedbackMainContainer)==null?void 0:i.querySelector("."+(((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:r.originalQueryClass)||((s=d.searchFeedback.main)==null?void 0:s.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,r,s;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.searchFeedback.main.template;this.dataLayer.renderingEngine===x.mustache&&(this.searchFeedbackMainContainer.innerHTML=f.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Fe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"suggestAfterMinChars");n(this,"containerId");n(this,"currentInputValue","");n(this,"autosuggestResults");n(this,"searchInput");n(this,"actionButton");n(this,"autosuggestContainer");n(this,"buttonState","search");n(this,"selectedAutosuggestItem",-1);n(this,"suggestTrigger");n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var s,i,c,o;const e=document.getElementById(this.containerId);if(!e)throw new Error("Search input container not found");const t=((i=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:i.template)||d.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===x.mustache){const h=f.render(t,{});e.innerHTML=h}const a=((o=(c=this.config.templates)==null?void 0:c.mainTemplate)==null?void 0:o.searchInputId)||d.searchInput.mainTemplate.searchInputId,r=document.querySelector(`#${a}`);if(r)this.searchInput=r,r.addEventListener("keyup",this.inputKeyupEvent.bind(this)),r.addEventListener("blur",this.hideAutosuggest.bind(this)),r.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===x.mustache&&(this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return E.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var r,s,i;const t=document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const a=((s=(r=this.config.templates)==null?void 0:r.autosuggestItemTemplate)==null?void 0:s.template)||((i=d.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=f.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 r in a)if(Object.prototype.hasOwnProperty.call(a,r)){const s=a[r];this.autosuggestResults=s,this.dataLayer.setAutosuggestResults(s),s.numFound>0?s.suggestions.forEach(i=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Me{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"linkClickCallback");n(this,"searchCallback");n(this,"containerId");n(this,"searchResultsMainContainer");n(this,"searchResultsContainer");n(this,"searchResultLinks",[]);this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,setTimeout(()=>{this.dataLayer.setSearchObject({...this.dataLayer.searchObject,itemsPerPage:this.config.resultsPerPage||10})},0),this.containerId=e.containerId;const t=document.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.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,r,s,i,c;const e=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.noSearchResultTemplate)==null?void 0:s.template)||((i=d.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((c=this.dataLayer.searchResultsMetadata)==null?void 0:c.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===x.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=f.render(e,{spellingSuggestion:t,searchTerm:this.dataLayer.searchTerm})),t&&this.searchResultsContainer){const o=this.searchResultsContainer.querySelector("a");o&&o.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,r,s,i;if(this.dataLayer.renderingEngine===x.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const c=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:r.template)||((s=d.searchResults.searchResultTemplate)==null?void 0:s.template),o=e.map(h=>f.render(c,h));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=o.join(""):this.searchResultsContainer.innerHTML=o.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,a,r;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((r=d.searchResults.searchResultTemplate)==null?void 0:r.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var t,a,r,s;const e=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.template)||((s=d.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===x.mustache&&(this.searchResultsMainContainer.innerHTML=f.render(e,{}),setTimeout(()=>{var o,h,u,p,g,y,b;const i=(u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.mainTemplate)!=null&&u.searchResultsContainerId?(y=(g=(p=this.config)==null?void 0:p.templates)==null?void 0:g.mainTemplate)==null?void 0:y.searchResultsContainerId:(b=d.searchResults.mainTemplate)==null?void 0:b.searchResultsContainerId,c=document.getElementById(i);if(c)this.searchResultsContainer=c;else throw new Error(`Search Results Container with id ${i} not found`)},0))}}class Ae{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"selectId");n(this,"searchSortingMainContainer",null);var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.selectId=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.selectId)||d.sorting.main.selectId,this.searchSortingMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){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.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var a,r,s;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.sorting.main.template;if(this.dataLayer.renderingEngine===x.mustache){this.searchSortingMainContainer.innerHTML=f.render(t,e),this.markOptionSelected();const i=document.getElementById(this.selectId);i&&i.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class De{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.answerContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)})}renderMainTemplate(e){var a,r,s;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.answer.main.template;this.dataLayer.renderingEngine===x.mustache&&(this.answerContainer.innerHTML=f.render(t,e))}}class Oe{constructor(e=x.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);this.dataLayer=new Y("searchstax_session_id"),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=x.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{var r;a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),this.dataLayer.turnAIAnswerGenerationOn===!0&&((r=this.searchHelper)==null||r.startSSE(a.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,a;e.turnAIAnswerGenerationOn===!0&&(this.dataLayer.turnAIAnswerGenerationOn=!0),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new ee({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new K(e.router?e.router:{enabled:!0}),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new K({})}search(e){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 s;const a=(((s=e.response)==null?void 0:s.docs)??[]).map((i,c)=>({...i,position:c+1})),r=[];for(const i of a)r.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:r}),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 s,i;this.handleRouter();let t=$.combineResultsWithMetadata(e),a=$.extractFacets(e);this.dataLayer.setSearchFacets(a),(i=(s=this.dataLayer.searchstaxConfig)==null?void 0:s.hooks)!=null&&i.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const r=$.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(r),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==M.question&&e!==M.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var a,r;let t=e;(r=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&r.afterAutosuggest&&(t=this.dataLayer.searchInputConfig.hooks.afterAutosuggest(e)),this.dataLayer.setSearchAutosuggest(t)}suggest(e,t){this.searchHelper&&this.searchHelper.suggest(e,this.parseSuggestSuggestResponse.bind(this),t)}changeLanguage(e){this.searchHelper&&this.dataLayer.setLanguage(e)}addSearchInputWidget(e,t){this.dataLayer.searchInputConfig||(this.dataLayer.setSearchInputConfig(t),this.searchInputWidget=new Fe({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.setAnswerData(""),this.answerWidget=new De({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Me({containerId:e,linkClickCallback:this.executeLinkClick.bind(this),searchTrigger:this.executeSearch.bind(this),config:t,dataLayer:this.dataLayer}))}addPaginationWidget(e,t){this.searchPaginationConfig=t,this.searchPaginationWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new Ee({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new Ae({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new Re({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Ie({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var s,i;const a={...this.dataLayer.searchObject};a.query=E.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let r=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(a);r&&(r=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(r)),r&&(a.additionalProps=Object.keys(r).map(c=>r?{key:c,value:r[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(a),this.dataLayer.lastSearchValue=a.query}executeSuggest(e){var a,r;let t={term:e,queryParams:[]};(r=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&r.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&&H.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,r;let t=$.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((r=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&r.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&(H.trackClick({result:t,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(t==null?void 0:t.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){var t,a,r;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(r=this.searchResultsWidget)==null||r.changeTemplate())}}exports.Searchstax=Oe;
|
|
@@ -237,4 +237,4 @@ var Oe=Object.defineProperty;var qe=(F,C,M)=>C in F?Oe(F,C,{enumerable:!0,config
|
|
|
237
237
|
</div>
|
|
238
238
|
{{/hasResultsOrExternalPromotions}}
|
|
239
239
|
{{/searchExecuted}}
|
|
240
|
-
`,selectId:"searchstax-search-order-select"}};class d{}n(d,"answer",me),n(d,"externalPromotions",ye),n(d,"facets",Ce),n(d,"pagination",Se),n(d,"relatedSearches",Le),n(d,"searchFeedback",ve),n(d,"searchInput",be),n(d,"searchResults",Te),n(d,"sorting",xe);class ke{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)||d.externalPromotions.mainTemplate.externalPromotionsContainerId,this.searchExternalPromotionsMainContainer=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,r,s,i;const t=document.getElementById(this.externalPromotionsContainerId);if(t){const c=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.externalPromotion)==null?void 0:s.template)||((i=d.externalPromotions.externalPromotion)==null?void 0:i.template),o=document.createElement("div");o.classList.add("searchstax-external-promotion"),o.addEventListener("click",h=>{this.trackClick(e,h)}),o.innerHTML=f.render(c,e),t.appendChild(o)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var a,r,s,i;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:s.template)||((i=d.externalPromotions.mainTemplate)==null?void 0:i.template);if(this.dataLayer.renderingEngine===C.mustache){this.searchExternalPromotionsMainContainer.innerHTML=f.render(t,e);const c=document.getElementById(this.externalPromotionsContainerId);c&&(c.innerHTML="");for(const o of e.externalPromotions)this.addExternalSearch(o)}}}class Re{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,r)=>{if(e.stopPropagation(),!t.disabled){const s=a.querySelector("input");s.checked=r?s.checked:!s.checked;const i=this.dataLayer.searchObject;let c=[...i.facets];const o=this.extractFacetValue(t);s.checked?c.find(u=>w.deepEqual(u,o)?u:!1)||(this.config.facetingType==="tabs"&&(c=c.filter(u=>u.name!==o.name)),c.push(o)):c=c.filter(h=>!w.deepEqual(h,o)),setTimeout(()=>{this.dataLayer.setSearchObject({...i,facets:c,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,this.searchFacetsMainContainer=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,r=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(s=>{r[s.name]||(r[s.name]=a)}),e.map(s=>({...s,values:s.values.slice(0,r[s.name]),showingAllFacets:s.values.length<=r[s.name],hasMoreFacets:s.values.length>a}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(r=>{var i;const s=(i=this.dataLayer.searchFacets)==null?void 0:i.find(c=>c.name===r.name);return s?{...r,values:r.values.map(o=>{const h=s.values.find(u=>o.type==="range"?!1:o.type==="checkbox"?u.value===o.value:!1);return{...o,disabled:!h,isMobile:e}})}:{...r,values:r.values.map(o=>({...o,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(r=>{var s;return(s=this.config.specificFacets)==null?void 0:s.includes(r.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 o,h,u,p,g,y,T,m,L,v,b,R;const r=document.createElement("div");r.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||r.classList.add("active");const s=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:u.template)||((p=d.facets.facetItemContainerTemplate)==null?void 0:p.template);r.innerHTML=f.render(s,e),t.appendChild(r);const i=r.querySelector("."+(((T=(y=(g=this.config)==null?void 0:g.templates)==null?void 0:y.facetItemContainerTemplate)==null?void 0:T.facetListTitleContainerClass)||((m=d.facets.facetItemContainerTemplate)==null?void 0:m.facetListTitleContainerClass)));i==null||i.addEventListener("click",()=>{r.classList.toggle("active")});const c=r.querySelector("."+(((b=(v=(L=this.config)==null?void 0:L.templates)==null?void 0:v.facetItemContainerTemplate)==null?void 0:b.facetListContainerClass)||((R=d.facets.facetItemContainerTemplate)==null?void 0:R.facetListContainerClass)));c&&(e.values.forEach(I=>{this.createFacetListItem(I,c)}),e.hasMoreFacets&&this.createHasMoreComponent(e,c,a))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>w.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var c,o,h,u,p,g,y,T,m,L,v,b,R;const a=document.createElement("div");a.classList.add("searchstax-facet-value-container"),e.disabled&&a.classList.add("searchstax-facet-value-disabled");const r=this.isChecked(e),s=((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.facetItemTemplate)==null?void 0:h.template)||((u=d.facets.facetItemTemplate)==null?void 0:u.template);a.innerHTML=f.render(s,{...e,isChecked:r});let i=(p=d.facets.facetItemTemplate)==null?void 0:p.checkTriggerClasses;i=((T=(y=(g=this.config)==null?void 0:g.templates)==null?void 0:y.facetItemTemplate)==null?void 0:T.checkTriggerClasses)||i,i.forEach(I=>{var x;(x=a.querySelector("."+I))==null||x.addEventListener("click",A=>{this.onFacetSelect(A,e,a)})}),(R=a.querySelector("."+(((v=(L=(m=this.config)==null?void 0:m.templates)==null?void 0:L.facetItemTemplate)==null?void 0:v.inputCheckboxClass)||((b=d.facets.facetItemTemplate)==null?void 0:b.inputCheckboxClass))))==null||R.addEventListener("click",I=>{this.onFacetSelect(I,e,a,!0)}),t.appendChild(a)}createHasMoreComponent(e,t,a){var c,o,h,u,p,g,y,T;const r=document.createElement("div");r.classList.add("searchstax-facet-show-more-container");const s=((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.showMoreButtonContainerTemplate)==null?void 0:h.template)||((u=d.facets.showMoreButtonContainerTemplate)==null?void 0:u.template);r.innerHTML=f.render(s,e);const i=r.querySelector("."+(((y=(g=(p=this.config)==null?void 0:p.templates)==null?void 0:g.showMoreButtonContainerTemplate)==null?void 0:y.showMoreButtonClass)||((T=d.facets.showMoreButtonContainerTemplate)==null?void 0:T.showMoreButtonClass)));i&&(this.attachOnclickToShowMore(e,i,a),t&&t.appendChild(i))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",r=>{this.onShowMoreLessClick(r,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const r=a?this.facetPaginationStepMobile:this.facetPaginationStep,s=a?this.facetLimits:this.facetLimitsMobile;s[t.name]===void 0?s[t.name]=r*2:s[t.name]<=t.values.length?s[t.name]=s[t.name]+r:s[t.name]=r,this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,r,s,i,c,o,h,u,p,g,y;if(e&&(!w.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const T=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplateDesktop)==null?void 0:s.template)||((i=d.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===C.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=f.render(T,{...e});const m=(u=this.searchFacetsMainContainer)==null?void 0:u.querySelector("."+(((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||d.facets.mainTemplateDesktop.facetsContainerClass));if(m){m.innerHTML="";for(const L of e.facets)this.createFacetItem(L,m);if(this.searchFacetsMainContainer){const L=this.searchFacetsMainContainer.querySelector("."+(((y=(g=(p=this.config)==null?void 0:p.templates)==null?void 0:g.mainTemplateDesktop)==null?void 0:y.selectedFacetsContainerClass)||d.facets.mainTemplateDesktop.selectedFacetsContainerClass));L&&(this.createSelectedFacetsComponents(L),this.createClearFacetsComponents(L))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const r=decodeURIComponent(a.name),s=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=i==null?void 0:i.find(o=>o.name===r);if(c){const o=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${s}"`:!1);o&&e.push(o)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var i,c,o,h,u,p,g,y;const t=this.dataLayer.searchObject,a=((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:o.template)||((h=d.facets.clearFacetsTemplate)==null?void 0:h.template),r=document.createElement("div");r.innerHTML=f.render(a,{shouldShow:t.facets.length>0});const s=r.querySelector("."+(((g=(p=(u=this.config)==null?void 0:u.templates)==null?void 0:p.clearFacetsTemplate)==null?void 0:g.containerClass)||((y=d.facets.clearFacetsTemplate)==null?void 0:y.containerClass)));s&&(s.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(s))}createSelectedFacetsComponent(e,t){var i,c,o,h,u,p,g,y;const a=((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.selectedFacetsTemplate)==null?void 0:o.template)||((h=d.facets.selectedFacetsTemplate)==null?void 0:h.template),r=document.createElement("div");r.innerHTML=f.render(a,t);const s=r.querySelector("."+(((g=(p=(u=this.config)==null?void 0:u.templates)==null?void 0:p.selectedFacetsTemplate)==null?void 0:g.containerClass)||((y=d.facets.selectedFacetsTemplate)==null?void 0:y.containerClass)));s&&(s.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(s))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(r=>JSON.stringify(r)!==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 s,i,c,o,h,u,p,g;const t=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.filterByTemplate)==null?void 0:c.template)||((o=d.facets.filterByTemplate)==null?void 0:o.template),a=document.createElement("div");a.innerHTML=f.render(t,{});const r=a.querySelector("."+(((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.filterByTemplate)==null?void 0:p.containerClass)||((g=d.facets.filterByTemplate)==null?void 0:g.containerClass)));r&&(e.prepend(r),r.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,r,s,i,c,o,h,u,p,g,y,T,m,L,v,b,R,I;if(e){const x=document.createElement("div");x.classList.add("searchstax-facets-container-mobile");const A=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:r.template)||((s=d.facets.mainTemplateMobile)==null?void 0:s.template);if(this.dataLayer.renderingEngine===C.mustache){if(x.innerHTML=f.render(A,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(x),(o=(c=this.config)==null?void 0:c.templates)!=null&&o.mainTemplateMobile)for(const B of((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const N=x.querySelector("."+B);N&&N.addEventListener("click",this.closeOverlay.bind(this))}else for(const B of d.facets.mainTemplateMobile.closeOverlayTriggerClasses){const N=x.querySelector("."+B);N&&N.addEventListener("click",this.closeOverlay.bind(this))}const U=x.querySelector("."+(((T=(y=(g=this.config)==null?void 0:g.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:T.filterByContainerClass)||d.facets.mainTemplateMobile.filterByContainerClass));U&&this.createFilterByComponent(U);const P=x.querySelector("."+(((v=(L=(m=this.config)==null?void 0:m.templates)==null?void 0:L.mainTemplateMobile)==null?void 0:v.selectedFacetsContainerClass)||d.facets.mainTemplateMobile.selectedFacetsContainerClass));P&&(this.createSelectedFacetsComponents(P),this.createClearFacetsComponents(P));const _=x.querySelector("."+(((I=(R=(b=this.config)==null?void 0:b.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||d.facets.mainTemplateMobile.facetsContainerClass));if(_){_.innerHTML="";for(const B of e.facets)this.createFacetItem(B,_,!0)}}}}}class Ie{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,r,s,i,c,o,h,u;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.previousButtonClass)??d.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:c.nextButtonClass)??d.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:u.loadMoreButtonClass)??d.pagination.infiniteScrollTemplate.loadMoreButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var t,a,r,s;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:(s=this.routerHelper)==null?void 0:s.searchObjectToUrl({...this.dataLayer.searchObject,page:((r=this.dataLayer.searchObject)==null?void 0:r.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.scrollTo(0,0)}nextPage(e){var t;console.log("next"),e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1,this.dataLayer.isInfiniteScroll)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass),a=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this)),a&&a.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var a,r,s,i,c,o,h,u,p,g;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(r=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||r.removeEventListener("click",this.nextPage));let t=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:c.template)||((o=d.pagination.mainTemplate)==null?void 0:o.template);this.dataLayer.isInfiniteScroll&&(t=((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.infiniteScrollTemplate)==null?void 0:p.template)||((g=d.pagination.infiniteScrollTemplate)==null?void 0:g.template)),this.dataLayer.renderingEngine===C.mustache&&(this.searchPaginationMainContainer.innerHTML=f.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Pe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"relatedSearchesContainerClass");n(this,"searchRelatedSearchesMainContainer",null);n(this,"track");var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.relatedSearchesContainerClass)||d.relatedSearches.main.relatedSearchesContainerClass,this.searchRelatedSearchesMainContainer=document.getElementById(this.containerId),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var s,i,c,o,h;const a=document.createElement("div"),r=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.relatedSearch)==null?void 0:c.template)||d.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===C.mustache){a.innerHTML=f.render(r,e);const u=a.querySelector("."+(((h=(o=this.config.templates)==null?void 0:o.relatedSearch)==null?void 0:h.relatedSearchContainerClass)||d.relatedSearches.relatedSearch.relatedSearchContainerClass));u&&(t.appendChild(u),u.addEventListener("click",()=>{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,r,s,i;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.relatedSearches.main.template;if(this.dataLayer.renderingEngine===C.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=f.render(t,e);const c=(i=this.searchRelatedSearchesMainContainer)==null?void 0:i.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const o of e.relatedSearches)this.addRelatedSearchComponent(o,c)}}}class we{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,this.searchFeedbackMainContainer=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,r,s,i;const e=(i=this.searchFeedbackMainContainer)==null?void 0:i.querySelector("."+(((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:r.originalQueryClass)||((s=d.searchFeedback.main)==null?void 0:s.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,r,s;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.searchFeedback.main.template;this.dataLayer.renderingEngine===C.mustache&&(this.searchFeedbackMainContainer.innerHTML=f.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Ee{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"suggestAfterMinChars");n(this,"containerId");n(this,"currentInputValue","");n(this,"autosuggestResults");n(this,"searchInput");n(this,"actionButton");n(this,"autosuggestContainer");n(this,"buttonState","search");n(this,"selectedAutosuggestItem",-1);n(this,"suggestTrigger");n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var s,i,c,o;const e=document.getElementById(this.containerId);if(!e)throw new Error("Search input container not found");const t=((i=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:i.template)||d.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===C.mustache){const h=f.render(t,{});e.innerHTML=h}const a=((o=(c=this.config.templates)==null?void 0:c.mainTemplate)==null?void 0:o.searchInputId)||d.searchInput.mainTemplate.searchInputId,r=document.querySelector(`#${a}`);if(r)this.searchInput=r,r.addEventListener("keyup",this.inputKeyupEvent.bind(this)),r.addEventListener("blur",this.hideAutosuggest.bind(this)),r.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===C.mustache&&(this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return E.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var r,s,i;const t=document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const a=((s=(r=this.config.templates)==null?void 0:r.autosuggestItemTemplate)==null?void 0:s.template)||((i=d.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=f.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 r in a)if(Object.prototype.hasOwnProperty.call(a,r)){const s=a[r];this.autosuggestResults=s,this.dataLayer.setAutosuggestResults(s),s.numFound>0?s.suggestions.forEach(i=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Fe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"linkClickCallback");n(this,"searchCallback");n(this,"containerId");n(this,"searchResultsMainContainer");n(this,"searchResultsContainer");n(this,"searchResultLinks",[]);this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,setTimeout(()=>{this.dataLayer.setSearchObject({...this.dataLayer.searchObject,itemsPerPage:this.config.resultsPerPage||10})},0),this.containerId=e.containerId;const t=document.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.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,r,s,i,c;const e=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.noSearchResultTemplate)==null?void 0:s.template)||((i=d.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((c=this.dataLayer.searchResultsMetadata)==null?void 0:c.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===C.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=f.render(e,{spellingSuggestion:t,searchTerm:this.dataLayer.searchTerm})),t&&this.searchResultsContainer){const o=this.searchResultsContainer.querySelector("a");o&&o.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,r,s,i;if(this.dataLayer.renderingEngine===C.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const c=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:r.template)||((s=d.searchResults.searchResultTemplate)==null?void 0:s.template),o=e.map(h=>f.render(c,h));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=o.join(""):this.searchResultsContainer.innerHTML=o.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,a,r;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((r=d.searchResults.searchResultTemplate)==null?void 0:r.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var t,a,r,s;const e=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.template)||((s=d.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===C.mustache&&(this.searchResultsMainContainer.innerHTML=f.render(e,{}),setTimeout(()=>{var o,h,u,p,g,y,T;const i=(u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.mainTemplate)!=null&&u.searchResultsContainerId?(y=(g=(p=this.config)==null?void 0:p.templates)==null?void 0:g.mainTemplate)==null?void 0:y.searchResultsContainerId:(T=d.searchResults.mainTemplate)==null?void 0:T.searchResultsContainerId,c=document.getElementById(i);if(c)this.searchResultsContainer=c;else throw new Error(`Search Results Container with id ${i} not found`)},0))}}class Me{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)||d.sorting.main.selectId,this.searchSortingMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){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.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var a,r,s;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.sorting.main.template;if(this.dataLayer.renderingEngine===C.mustache){this.searchSortingMainContainer.innerHTML=f.render(t,e),this.markOptionSelected();const i=document.getElementById(this.selectId);i&&i.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class Ae{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.answerContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)})}renderMainTemplate(e){var a,r,s;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.answer.main.template;this.dataLayer.renderingEngine===C.mustache&&(this.answerContainer.innerHTML=f.render(t,e))}}class De{constructor(e=C.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);this.dataLayer=new G("searchstax_session_id"),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=C.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{var r;a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),this.dataLayer.turnAIAnswerGenerationOn===!0&&((r=this.searchHelper)==null||r.startSSE(a.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,a;e.turnAIAnswerGenerationOn===!0&&(this.dataLayer.turnAIAnswerGenerationOn=!0),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new Z({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new z(e.router?e.router:{enabled:!0}),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new z({})}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 s;const a=(((s=e.response)==null?void 0:s.docs)??[]).map((i,c)=>({...i,position:c+1})),r=[];for(const i of a)r.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:r}),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 s,i;this.handleRouter();let t=$.combineResultsWithMetadata(e),a=$.extractFacets(e);this.dataLayer.setSearchFacets(a),(i=(s=this.dataLayer.searchstaxConfig)==null?void 0:s.hooks)!=null&&i.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const r=$.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(r),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==D.question&&e!==D.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var a,r;let t=e;(r=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&r.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 Ee({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.setAnswerData(""),this.answerWidget=new Ae({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Fe({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 Ie({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new Me({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new ke({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Re({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var s,i;const a={...this.dataLayer.searchObject};a.query=E.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let r=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(a);r&&(r=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(r)),r&&(a.additionalProps=Object.keys(r).map(c=>r?{key:c,value:r[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(a),this.dataLayer.lastSearchValue=a.query}executeSuggest(e){var a,r;let t={term:e,queryParams:[]};(r=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&r.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&&H.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,r;let t=$.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((r=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&r.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&(H.trackClick({result:t,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(t==null?void 0:t.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){var t,a,r;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(r=this.searchResultsWidget)==null||r.changeTemplate())}}F.Searchstax=De,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxJs"]=this["@searchstaxInc/searchstudioUxJs"]||{});
|
|
240
|
+
`,selectId:"searchstax-search-order-select"}};class d{}n(d,"answer",me),n(d,"externalPromotions",ye),n(d,"facets",Ce),n(d,"pagination",Se),n(d,"relatedSearches",Le),n(d,"searchFeedback",ve),n(d,"searchInput",be),n(d,"searchResults",Te),n(d,"sorting",xe);class ke{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)||d.externalPromotions.mainTemplate.externalPromotionsContainerId,this.searchExternalPromotionsMainContainer=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,r,s,i;const t=document.getElementById(this.externalPromotionsContainerId);if(t){const c=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.externalPromotion)==null?void 0:s.template)||((i=d.externalPromotions.externalPromotion)==null?void 0:i.template),o=document.createElement("div");o.classList.add("searchstax-external-promotion"),o.addEventListener("click",h=>{this.trackClick(e,h)}),o.innerHTML=f.render(c,e),t.appendChild(o)}}trackClick(e,t){t.stopPropagation(),t.preventDefault(),window.open(e.url,"_blank")}renderMainTemplate(e){var a,r,s,i;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplate)==null?void 0:s.template)||((i=d.externalPromotions.mainTemplate)==null?void 0:i.template);if(this.dataLayer.renderingEngine===C.mustache){this.searchExternalPromotionsMainContainer.innerHTML=f.render(t,e);const c=document.getElementById(this.externalPromotionsContainerId);c&&(c.innerHTML="");for(const o of e.externalPromotions)this.addExternalSearch(o)}}}class Re{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,r)=>{if(e.stopPropagation(),!t.disabled){const s=a.querySelector("input");s.checked=r?s.checked:!s.checked;const i=this.dataLayer.searchObject;let c=[...i.facets];const o=this.extractFacetValue(t);s.checked?c.find(u=>w.deepEqual(u,o)?u:!1)||(this.config.facetingType==="tabs"&&(c=c.filter(u=>u.name!==o.name)),c.push(o)):c=c.filter(h=>!w.deepEqual(h,o)),setTimeout(()=>{this.dataLayer.setSearchObject({...i,facets:c,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,this.searchFacetsMainContainer=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,r=t?this.facetLimits:this.facetLimitsMobile;return e.forEach(s=>{r[s.name]||(r[s.name]=a)}),e.map(s=>({...s,values:s.values.slice(0,r[s.name]),showingAllFacets:s.values.length<=r[s.name],hasMoreFacets:s.values.length>a}))}generateTemplateData(e){if(this.generateSelectedFacetsData(),this.dataLayer.searchFacets){let t=this.dataLayer.searchFacets;this.needCache&&this.dataLayer.searchFacetsCached&&(t=this.dataLayer.searchFacetsCached,this.needDisabling&&(t=t.map(r=>{var i;const s=(i=this.dataLayer.searchFacets)==null?void 0:i.find(c=>c.name===r.name);return s?{...r,values:r.values.map(o=>{const h=s.values.find(u=>o.type==="range"?!1:o.type==="checkbox"?u.value===o.value:!1);return{...o,disabled:!h,isMobile:e}})}:{...r,values:r.values.map(o=>({...o,disabled:!0})),isMobile:e}}))),this.config.specificFacets&&(t=t.filter(r=>{var s;return(s=this.config.specificFacets)==null?void 0:s.includes(r.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 o,h,u,p,g,y,T,m,L,v,b,R;const r=document.createElement("div");r.classList.add("searchstax-facet-container"),this.deactivatedFacets[e.name]||r.classList.add("active");const s=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.facetItemContainerTemplate)==null?void 0:u.template)||((p=d.facets.facetItemContainerTemplate)==null?void 0:p.template);r.innerHTML=f.render(s,e),t.appendChild(r);const i=r.querySelector("."+(((T=(y=(g=this.config)==null?void 0:g.templates)==null?void 0:y.facetItemContainerTemplate)==null?void 0:T.facetListTitleContainerClass)||((m=d.facets.facetItemContainerTemplate)==null?void 0:m.facetListTitleContainerClass)));i==null||i.addEventListener("click",()=>{r.classList.toggle("active")});const c=r.querySelector("."+(((b=(v=(L=this.config)==null?void 0:L.templates)==null?void 0:v.facetItemContainerTemplate)==null?void 0:b.facetListContainerClass)||((R=d.facets.facetItemContainerTemplate)==null?void 0:R.facetListContainerClass)));c&&(e.values.forEach(I=>{this.createFacetListItem(I,c)}),e.hasMoreFacets&&this.createHasMoreComponent(e,c,a))}isChecked(e){var t;return!!((t=this.dataLayer.searchObject.facets)!=null&&t.find(a=>w.deepEqual(a,this.extractFacetValue(e))))}createFacetListItem(e,t){var c,o,h,u,p,g,y,T,m,L,v,b,R;const a=document.createElement("div");a.classList.add("searchstax-facet-value-container"),e.disabled&&a.classList.add("searchstax-facet-value-disabled");const r=this.isChecked(e),s=((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.facetItemTemplate)==null?void 0:h.template)||((u=d.facets.facetItemTemplate)==null?void 0:u.template);a.innerHTML=f.render(s,{...e,isChecked:r});let i=(p=d.facets.facetItemTemplate)==null?void 0:p.checkTriggerClasses;i=((T=(y=(g=this.config)==null?void 0:g.templates)==null?void 0:y.facetItemTemplate)==null?void 0:T.checkTriggerClasses)||i,i.forEach(I=>{var x;(x=a.querySelector("."+I))==null||x.addEventListener("click",A=>{this.onFacetSelect(A,e,a)})}),(R=a.querySelector("."+(((v=(L=(m=this.config)==null?void 0:m.templates)==null?void 0:L.facetItemTemplate)==null?void 0:v.inputCheckboxClass)||((b=d.facets.facetItemTemplate)==null?void 0:b.inputCheckboxClass))))==null||R.addEventListener("click",I=>{this.onFacetSelect(I,e,a,!0)}),t.appendChild(a)}createHasMoreComponent(e,t,a){var c,o,h,u,p,g,y,T;const r=document.createElement("div");r.classList.add("searchstax-facet-show-more-container");const s=((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.showMoreButtonContainerTemplate)==null?void 0:h.template)||((u=d.facets.showMoreButtonContainerTemplate)==null?void 0:u.template);r.innerHTML=f.render(s,e);const i=r.querySelector("."+(((y=(g=(p=this.config)==null?void 0:p.templates)==null?void 0:g.showMoreButtonContainerTemplate)==null?void 0:y.showMoreButtonClass)||((T=d.facets.showMoreButtonContainerTemplate)==null?void 0:T.showMoreButtonClass)));i&&(this.attachOnclickToShowMore(e,i,a),t&&t.appendChild(i))}attachOnclickToShowMore(e,t,a){t.addEventListener("click",r=>{this.onShowMoreLessClick(r,e,a)})}onShowMoreLessClick(e,t,a){e.preventDefault();const r=a?this.facetPaginationStepMobile:this.facetPaginationStep,s=a?this.facetLimits:this.facetLimitsMobile;s[t.name]===void 0?s[t.name]=r*2:s[t.name]<=t.values.length?s[t.name]=s[t.name]+r:s[t.name]=r,this.generateTemplateData(a),this.renderMainTemplate(this.generateTemplateData())}renderMainTemplate(e,t){var a,r,s,i,c,o,h,u,p,g,y;if(e&&(!w.deepEqual(this.cachedData??{},e)||t)){this.cachedData=e;const T=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.mainTemplateDesktop)==null?void 0:s.template)||((i=d.facets.mainTemplateDesktop)==null?void 0:i.template);if(this.dataLayer.renderingEngine===C.mustache&&this.searchFacetsMainContainer){this.searchFacetsMainContainer.innerHTML=f.render(T,{...e});const m=(u=this.searchFacetsMainContainer)==null?void 0:u.querySelector("."+(((h=(o=(c=this.config)==null?void 0:c.templates)==null?void 0:o.mainTemplateDesktop)==null?void 0:h.facetsContainerClass)||d.facets.mainTemplateDesktop.facetsContainerClass));if(m){m.innerHTML="";for(const L of e.facets)this.createFacetItem(L,m);if(this.searchFacetsMainContainer){const L=this.searchFacetsMainContainer.querySelector("."+(((y=(g=(p=this.config)==null?void 0:p.templates)==null?void 0:g.mainTemplateDesktop)==null?void 0:y.selectedFacetsContainerClass)||d.facets.mainTemplateDesktop.selectedFacetsContainerClass));L&&(this.createSelectedFacetsComponents(L),this.createClearFacetsComponents(L))}}}this.renderMobileTemplate(this.generateTemplateData(!0))}else this.generateSelectedFacetsData()}generateSelectedFacetsData(){const e=[],t=this.dataLayer.searchObject.facets;for(const a of t){const r=decodeURIComponent(a.name),s=decodeURIComponent(a.value);if(this.dataLayer.searchFacets){const i=this.needCache?this.dataLayer.searchFacetsCached:this.dataLayer.searchFacets,c=i==null?void 0:i.find(o=>o.name===r);if(c){const o=c.values.find(h=>h.type==="range"?!1:h.type==="checkbox"?`"${h.value}"`==`"${s}"`:!1);o&&e.push(o)}}}this.dataLayer.setSelectedFacetsTemplateData(e)}createSelectedFacetsComponents(e){var t;this.generateSelectedFacetsData(),(t=this.dataLayer.selectedFacetsTemplateData)==null||t.forEach(a=>{this.createSelectedFacetsComponent(e,a)})}createClearFacetsComponents(e){var i,c,o,h,u,p,g,y;const t=this.dataLayer.searchObject,a=((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.clearFacetsTemplate)==null?void 0:o.template)||((h=d.facets.clearFacetsTemplate)==null?void 0:h.template),r=document.createElement("div");r.innerHTML=f.render(a,{shouldShow:t.facets.length>0});const s=r.querySelector("."+(((g=(p=(u=this.config)==null?void 0:u.templates)==null?void 0:p.clearFacetsTemplate)==null?void 0:g.containerClass)||((y=d.facets.clearFacetsTemplate)==null?void 0:y.containerClass)));s&&(s.addEventListener("click",()=>{this.removeSelectedFacets()}),e.appendChild(s))}createSelectedFacetsComponent(e,t){var i,c,o,h,u,p,g,y;const a=((o=(c=(i=this.config)==null?void 0:i.templates)==null?void 0:c.selectedFacetsTemplate)==null?void 0:o.template)||((h=d.facets.selectedFacetsTemplate)==null?void 0:h.template),r=document.createElement("div");r.innerHTML=f.render(a,t);const s=r.querySelector("."+(((g=(p=(u=this.config)==null?void 0:u.templates)==null?void 0:p.selectedFacetsTemplate)==null?void 0:g.containerClass)||((y=d.facets.selectedFacetsTemplate)==null?void 0:y.containerClass)));s&&(s.addEventListener("click",()=>{this.unselectFacet(t)}),e.appendChild(s))}unselectFacet(e){const t=this.dataLayer.searchObject;let a=[...t.facets];e.type==="checkbox"&&(a=a.filter(r=>JSON.stringify(r)!==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 s,i,c,o,h,u,p,g;const t=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.filterByTemplate)==null?void 0:c.template)||((o=d.facets.filterByTemplate)==null?void 0:o.template),a=document.createElement("div");a.innerHTML=f.render(t,{});const r=a.querySelector("."+(((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.filterByTemplate)==null?void 0:p.containerClass)||((g=d.facets.filterByTemplate)==null?void 0:g.containerClass)));r&&(e.prepend(r),r.addEventListener("click",this.openOverlay.bind(this)))}openOverlay(){var e;this.overlayOpened=!0,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.add("searchstax-show"))}closeOverlay(){var e;this.overlayOpened=!1,this.searchFacetsMainContainer&&(document.body.classList.toggle("searchstax-no-scroll"),(e=this.searchFacetsMainContainer.querySelector(".searchstax-facets-mobile-overlay"))==null||e.classList.remove("searchstax-show"))}renderMobileTemplate(e){var t,a,r,s,i,c,o,h,u,p,g,y,T,m,L,v,b,R,I;if(e){const x=document.createElement("div");x.classList.add("searchstax-facets-container-mobile");const A=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplateMobile)==null?void 0:r.template)||((s=d.facets.mainTemplateMobile)==null?void 0:s.template);if(this.dataLayer.renderingEngine===C.mustache){if(x.innerHTML=f.render(A,{...e,overlayOpened:this.overlayOpened}),(i=this.searchFacetsMainContainer)==null||i.appendChild(x),(o=(c=this.config)==null?void 0:c.templates)!=null&&o.mainTemplateMobile)for(const B of((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.mainTemplateMobile)==null?void 0:p.closeOverlayTriggerClasses)||[]){const N=x.querySelector("."+B);N&&N.addEventListener("click",this.closeOverlay.bind(this))}else for(const B of d.facets.mainTemplateMobile.closeOverlayTriggerClasses){const N=x.querySelector("."+B);N&&N.addEventListener("click",this.closeOverlay.bind(this))}const U=x.querySelector("."+(((T=(y=(g=this.config)==null?void 0:g.templates)==null?void 0:y.mainTemplateMobile)==null?void 0:T.filterByContainerClass)||d.facets.mainTemplateMobile.filterByContainerClass));U&&this.createFilterByComponent(U);const P=x.querySelector("."+(((v=(L=(m=this.config)==null?void 0:m.templates)==null?void 0:L.mainTemplateMobile)==null?void 0:v.selectedFacetsContainerClass)||d.facets.mainTemplateMobile.selectedFacetsContainerClass));P&&(this.createSelectedFacetsComponents(P),this.createClearFacetsComponents(P));const _=x.querySelector("."+(((I=(R=(b=this.config)==null?void 0:b.templates)==null?void 0:R.mainTemplateMobile)==null?void 0:I.facetsContainerClass)||d.facets.mainTemplateMobile.facetsContainerClass));if(_){_.innerHTML="";for(const B of e.facets)this.createFacetItem(B,_,!0)}}}}}class Ie{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,r,s,i,c,o,h,u;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.routerHelper=e.routerHelper,this.previousButtonClass=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.previousButtonClass)??d.pagination.mainTemplate.previousButtonClass,this.nextButtonClass=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:c.nextButtonClass)??d.pagination.mainTemplate.nextButtonClass,this.loadMoreButtonClass=((u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.infiniteScrollTemplate)==null?void 0:u.loadMoreButtonClass)??d.pagination.infiniteScrollTemplate.loadMoreButtonClass,this.searchPaginationMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}get isFirstPage(){var e;return((e=this.dataLayer.searchObject)==null?void 0:e.page)===1}get isLastPage(){return this.dataLayer.parsedData.data.isLastPage}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){var t,a,r,s;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:(s=this.routerHelper)==null?void 0:s.searchObjectToUrl({...this.dataLayer.searchObject,page:((r=this.dataLayer.searchObject)==null?void 0:r.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.scrollTo(0,0)}nextPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isLastPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)+1,this.dataLayer.isInfiniteScroll)}previousPage(e){var t;e.preventDefault(),e.stopPropagation(),this.isFirstPage||this.goToPage(((t=this.dataLayer.searchObject)==null?void 0:t.page)-1)}overridePaginationEvents(){if(this.searchPaginationMainContainer){const e=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass),t=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass),a=this.searchPaginationMainContainer.querySelector("."+this.loadMoreButtonClass);e&&e.addEventListener("click",this.previousPage.bind(this)),t&&t.addEventListener("click",this.nextPage.bind(this)),a&&a.addEventListener("click",this.nextPage.bind(this))}}renderMainTemplate(e){var a,r,s,i,c,o,h,u,p,g;this.searchPaginationMainContainer&&((a=this.searchPaginationMainContainer.querySelector("."+this.previousButtonClass))==null||a.removeEventListener("click",this.previousPage),(r=this.searchPaginationMainContainer.querySelector("."+this.nextButtonClass))==null||r.removeEventListener("click",this.nextPage));let t=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.mainTemplate)==null?void 0:c.template)||((o=d.pagination.mainTemplate)==null?void 0:o.template);this.dataLayer.isInfiniteScroll&&(t=((p=(u=(h=this.config)==null?void 0:h.templates)==null?void 0:u.infiniteScrollTemplate)==null?void 0:p.template)||((g=d.pagination.infiniteScrollTemplate)==null?void 0:g.template)),this.dataLayer.renderingEngine===C.mustache&&(this.searchPaginationMainContainer.innerHTML=f.render(t,e),setTimeout(()=>{this.overridePaginationEvents()},0))}}class Pe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"relatedSearchesContainerClass");n(this,"searchRelatedSearchesMainContainer",null);n(this,"track");var t,a;this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.relatedSearchesContainerClass=((a=(t=this.config.templates)==null?void 0:t.main)==null?void 0:a.relatedSearchesContainerClass)||d.relatedSearches.main.relatedSearchesContainerClass,this.searchRelatedSearchesMainContainer=document.getElementById(this.containerId),this.track=e.trackRelatedSearchClick,this.initializeSubscriptions()}initializeSubscriptions(){this.dataLayer.$searchRelatedSearches.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){const e={...this.dataLayer.parsedData.data};return this.dataLayer.setRelatedSearchesData(e),e}addRelatedSearchComponent(e,t){var s,i,c,o,h;const a=document.createElement("div"),r=((c=(i=(s=this.config)==null?void 0:s.templates)==null?void 0:i.relatedSearch)==null?void 0:c.template)||d.relatedSearches.relatedSearch.template;if(this.dataLayer.renderingEngine===C.mustache){a.innerHTML=f.render(r,e);const u=a.querySelector("."+(((h=(o=this.config.templates)==null?void 0:o.relatedSearch)==null?void 0:h.relatedSearchContainerClass)||d.relatedSearches.relatedSearch.relatedSearchContainerClass));u&&(t.appendChild(u),u.addEventListener("click",()=>{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,r,s,i;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.relatedSearches.main.template;if(this.dataLayer.renderingEngine===C.mustache&&this.searchRelatedSearchesMainContainer){this.searchRelatedSearchesMainContainer.innerHTML="",this.searchRelatedSearchesMainContainer.innerHTML=f.render(t,e);const c=(i=this.searchRelatedSearchesMainContainer)==null?void 0:i.querySelector(`.${this.relatedSearchesContainerClass}`);if(c)for(const o of e.relatedSearches)this.addRelatedSearchComponent(o,c)}}}class we{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,this.searchFeedbackMainContainer=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,r,s,i;const e=(i=this.searchFeedbackMainContainer)==null?void 0:i.querySelector("."+(((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.main)==null?void 0:r.originalQueryClass)||((s=d.searchFeedback.main)==null?void 0:s.originalQueryClass)));e&&e.addEventListener("click",this.onOriginalQueryClick.bind(this))}renderMainTemplate(e){var a,r,s;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.searchFeedback.main.template;this.dataLayer.renderingEngine===C.mustache&&(this.searchFeedbackMainContainer.innerHTML=f.render(t,e),setTimeout(()=>{this.attachClick()},0))}}class Ee{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"suggestAfterMinChars");n(this,"containerId");n(this,"currentInputValue","");n(this,"autosuggestResults");n(this,"searchInput");n(this,"actionButton");n(this,"autosuggestContainer");n(this,"buttonState","search");n(this,"selectedAutosuggestItem",-1);n(this,"suggestTrigger");n(this,"searchTrigger");this.dataLayer=e.dataLayer,this.config=e.config,this.searchTrigger=e.searchTrigger,this.suggestTrigger=e.suggestTrigger,this.containerId=e.containerId,this.suggestAfterMinChars=e.config.suggestAfterMinChars,this.renderMainTemplate(),this.actionButtonInit(),this.updateActionButtonState("search"),this.searchInput&&(this.createAutosuggestContainer(),this.attachSubscriptions())}renderMainTemplate(){var s,i,c,o;const e=document.getElementById(this.containerId);if(!e)throw new Error("Search input container not found");const t=((i=(s=this.config.templates)==null?void 0:s.mainTemplate)==null?void 0:i.template)||d.searchInput.mainTemplate.template;if(this.dataLayer.renderingEngine===C.mustache){const h=f.render(t,{});e.innerHTML=h}const a=((o=(c=this.config.templates)==null?void 0:c.mainTemplate)==null?void 0:o.searchInputId)||d.searchInput.mainTemplate.searchInputId,r=document.querySelector(`#${a}`);if(r)this.searchInput=r,r.addEventListener("keyup",this.inputKeyupEvent.bind(this)),r.addEventListener("blur",this.hideAutosuggest.bind(this)),r.addEventListener("paste",this.inputPasteEvent.bind(this));else throw new Error("Input not found")}createAutosuggestContainer(){var e;this.dataLayer.renderingEngine===C.mustache&&(this.autosuggestContainer=document.createElement("div"),this.autosuggestContainer.classList.add("searchstax-autosuggest-container"),this.autosuggestContainer.addEventListener("mouseleave",()=>{this.resetAutosuggestSelection(),this.markActiveAutosuggestItem()}),(e=this.searchInput)==null||e.after(this.autosuggestContainer))}actionButtonInit(){this.actionButton=document.getElementById("searchstax-search-input-action-button"),this.actionButton&&this.actionButton.addEventListener("click",()=>{var e;this.buttonState==="search"?this.executeSearch(((e=this.searchInput)==null?void 0:e.value)??""):this.buttonState==="close"&&this.searchInput&&(this.searchInput.value="",this.executeSearch(""))})}attachSubscriptions(){this.dataLayer.$searchTermChange.subscribe(()=>{this.handleSearchTermChange()}),this.dataLayer.$loadingChange.subscribe(()=>{this.handleLoadingChange()}),this.dataLayer.$searchAutosuggest.subscribe(e=>{e&&this.appendSuggestions(e)}),this.dataLayer.$searchObject.subscribe(e=>{e.query!=="undefined"&&e.query!==void 0&&e.query!=="*"&&this.searchInput&&(this.searchInput.value=this.cleanSuggestionTerm(e.query??""))})}handleLoadingChange(){this.dataLayer.loading?this.updateActionButtonState("loading"):this.handleSearchTermChange()}handleSearchTermChange(){var e;this.dataLayer.searchTerm===((e=this.searchInput)==null?void 0:e.value)&&this.searchInput.value!==""?this.updateActionButtonState("close"):this.updateActionButtonState("search")}updateActionButtonState(e){if(this.buttonState=e,this.actionButton)switch(this.actionButton.classList.remove("searchstax-spinner-icon"),this.actionButton.classList.remove("searchstax-search-close"),this.actionButton.classList.remove("searchstax-search-icon"),e){case"loading":this.actionButton.classList.add("searchstax-spinner-icon");break;case"search":this.actionButton.classList.add("searchstax-search-icon");break;case"close":this.actionButton.classList.add("searchstax-search-close");break}}selectPreviousAutosuggestItem(){this.selectedAutosuggestItem>0?this.selectedAutosuggestItem--:this.selectedAutosuggestItem=this.autosuggestResults.suggestions.length-1,this.markActiveAutosuggestItem()}selectNextAutosuggestItem(){this.selectedAutosuggestItem<this.autosuggestResults.suggestions.length-1?this.selectedAutosuggestItem++:this.selectedAutosuggestItem=0,this.markActiveAutosuggestItem()}resetAutosuggestSelection(){this.selectedAutosuggestItem=-1,this.markActiveAutosuggestItem()}markActiveAutosuggestItem(){const e=document.getElementsByClassName("searchstax-autosuggest-item");for(let t=0;t<e.length;t++){const a=e[t];t===this.selectedAutosuggestItem?a.classList.add("active"):a.classList.remove("active")}}inputKeyupEvent(e){const t=e.key;this.currentInputValue=e.target.value,t==="Enter"?this.suggestionChosen():t==="Escape"?this.hideAutosuggest():t==="ArrowUp"?this.selectPreviousAutosuggestItem():t==="ArrowDown"?this.selectNextAutosuggestItem():this.autosuggestHandling(e),this.handleSearchTermChange()}autosuggestHandling(e){e.target&&e.target.value.length>=this.suggestAfterMinChars?this.executeSuggest(e.target.value):this.hideAutosuggest()}inputPasteEvent(e){setTimeout(()=>{this.autosuggestHandling(e),this.handleSearchTermChange()},0)}executeSuggest(e){this.suggestTrigger(e)}executeSearch(e){this.hideAutosuggest(),this.searchTrigger(e===""?"*":e)}suggestionChosen(){this.selectedAutosuggestItem>-1?this.autosuggestItemClicked(this.autosuggestResults.suggestions[this.selectedAutosuggestItem]):this.executeSearch(this.currentInputValue)}hideAutosuggest(){setTimeout(()=>{this.dataLayer.setAutosuggestResults({numFound:0,suggestions:[]}),this.autosuggestContainer&&(this.autosuggestContainer.innerHTML="",this.autosuggestContainer.classList.add("hidden")),this.resetAutosuggestSelection()},100)}cleanSuggestionTerm(e){return E.removeXSSRiskyTags(e.replace(/(<([^>]+)>)/gi,"")).trim()}autosuggestItemClicked(e){this.searchInput.value=this.cleanSuggestionTerm(e.term??""),this.executeSearch(this.cleanSuggestionTerm(e.term))}createAutosuggestItem(e){var r,s,i;const t=document.createElement("div");t.classList.add("searchstax-autosuggest-item"),t.addEventListener("click",()=>{this.autosuggestItemClicked(e)}),t.addEventListener("mouseenter",()=>{this.onSuggestionEnter(e)});const a=((s=(r=this.config.templates)==null?void 0:r.autosuggestItemTemplate)==null?void 0:s.template)||((i=d.searchInput.autosuggestItemTemplate)==null?void 0:i.template);return t.innerHTML=f.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 r in a)if(Object.prototype.hasOwnProperty.call(a,r)){const s=a[r];this.autosuggestResults=s,this.dataLayer.setAutosuggestResults(s),s.numFound>0?s.suggestions.forEach(i=>{this.autosuggestContainer&&this.autosuggestContainer.appendChild(this.createAutosuggestItem(i))}):this.autosuggestContainer&&this.autosuggestContainer.classList.add("hidden")}}}}class Fe{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"linkClickCallback");n(this,"searchCallback");n(this,"containerId");n(this,"searchResultsMainContainer");n(this,"searchResultsContainer");n(this,"searchResultLinks",[]);this.linkClickCallback=e.linkClickCallback,this.searchCallback=e.searchTrigger,this.dataLayer=e.dataLayer,this.config=e.config,setTimeout(()=>{this.dataLayer.setSearchObject({...this.dataLayer.searchObject,itemsPerPage:this.config.resultsPerPage||10})},0),this.containerId=e.containerId;const t=document.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.$searchResults.subscribe(e=>{e&&this.searchResultsContainer&&this.renderResults(e)})}changeTemplate(){this.dataLayer.searchResults&&this.renderResults(this.dataLayer.searchResults)}renderNoResultsTemplate(){var a,r,s,i,c;const e=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.noSearchResultTemplate)==null?void 0:s.template)||((i=d.searchResults.noSearchResultTemplate)==null?void 0:i.template),t=((c=this.dataLayer.searchResultsMetadata)==null?void 0:c.spellingSuggestion)??"";if(this.dataLayer.renderingEngine===C.mustache&&this.searchResultsContainer&&(this.searchResultsContainer.innerHTML=f.render(e,{spellingSuggestion:t,searchTerm:this.dataLayer.searchTerm})),t&&this.searchResultsContainer){const o=this.searchResultsContainer.querySelector("a");o&&o.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.searchCallback(t)})}}renderResults(e){var t,a,r,s,i;if(this.dataLayer.renderingEngine===C.mustache&&this.searchResultsContainer)if(this.removeLinkClickEvents(),e.length===0)this.renderNoResultsTemplate();else{const c=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.searchResultTemplate)==null?void 0:r.template)||((s=d.searchResults.searchResultTemplate)==null?void 0:s.template),o=e.map(h=>f.render(c,h));((i=this.config)==null?void 0:i.renderMethod)==="infiniteScroll"&&this.dataLayer.searchObject.page>1?this.searchResultsContainer.innerHTML+=o.join(""):this.searchResultsContainer.innerHTML=o.join(""),this.searchResultLinks=Array.from(this.searchResultsContainer.querySelectorAll(`[${this.uniqueIdAttribute}]`)),this.attachLinkClickEvents()}}removeLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.removeEventListener("click",()=>{})})}get uniqueIdAttribute(){var e,t,a,r;return((a=(t=(e=this.config)==null?void 0:e.templates)==null?void 0:t.searchResultTemplate)==null?void 0:a.searchResultUniqueIdAttribute)||((r=d.searchResults.searchResultTemplate)==null?void 0:r.searchResultUniqueIdAttribute)}attachLinkClickEvents(){this.searchResultLinks.forEach(e=>{e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const a=e.getAttribute(this.uniqueIdAttribute)??"";a&&this.linkClickCallback(a)})})}renderMainTemplate(){var t,a,r,s;const e=((r=(a=(t=this.config)==null?void 0:t.templates)==null?void 0:a.mainTemplate)==null?void 0:r.template)||((s=d.searchResults.mainTemplate)==null?void 0:s.template);this.dataLayer.renderingEngine===C.mustache&&(this.searchResultsMainContainer.innerHTML=f.render(e,{}),setTimeout(()=>{var o,h,u,p,g,y,T;const i=(u=(h=(o=this.config)==null?void 0:o.templates)==null?void 0:h.mainTemplate)!=null&&u.searchResultsContainerId?(y=(g=(p=this.config)==null?void 0:p.templates)==null?void 0:g.mainTemplate)==null?void 0:y.searchResultsContainerId:(T=d.searchResults.mainTemplate)==null?void 0:T.searchResultsContainerId,c=document.getElementById(i);if(c)this.searchResultsContainer=c;else throw new Error(`Search Results Container with id ${i} not found`)},0))}}class Me{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)||d.sorting.main.selectId,this.searchSortingMainContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.renderMainTemplate(this.generateTemplateData())}initializeSubscriptions(){this.dataLayer.$searchResults.subscribe(e=>{e&&this.renderMainTemplate(this.generateTemplateData())})}generateTemplateData(){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.getElementById(this.selectId);if(e){const t=e.querySelector(`option[value="${decodeURIComponent(this.dataLayer.searchObject.order)}"]`);t&&(t.selected=!0)}}renderMainTemplate(e){var a,r,s;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.sorting.main.template;if(this.dataLayer.renderingEngine===C.mustache){this.searchSortingMainContainer.innerHTML=f.render(t,e),this.markOptionSelected();const i=document.getElementById(this.selectId);i&&i.addEventListener("change",c=>{this.setOrderQuery(c.target.value)})}}}class Ae{constructor(e){n(this,"dataLayer");n(this,"config");n(this,"containerId");n(this,"answerContainer",null);this.dataLayer=e.dataLayer,this.config=e.config,this.containerId=e.containerId,this.answerContainer=document.getElementById(this.containerId),this.initializeSubscriptions(),this.dataLayer.setIsAnswerWidgetCreated(!0)}initializeSubscriptions(){this.dataLayer.$answer.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)}),this.dataLayer.$paginationData.subscribe(()=>{this.renderMainTemplate(this.dataLayer.parsedData.data)})}renderMainTemplate(e){var a,r,s;const t=((s=(r=(a=this.config)==null?void 0:a.templates)==null?void 0:r.main)==null?void 0:s.template)||d.answer.main.template;this.dataLayer.renderingEngine===C.mustache&&(this.answerContainer.innerHTML=f.render(t,e))}}class De{constructor(e=C.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);this.dataLayer=new G("searchstax_session_id"),e&&this.dataLayer.setRenderingEngine(e),this.handleHooks()}setRenderingEngine(e=C.mustache){this.dataLayer.setRenderingEngine(e)}handleHooks(){var e,t;(t=(e=this.dataLayer.searchstaxConfig)==null?void 0:e.hooks)!=null&&t.afterSearch&&this.dataLayer.$searchResults.subscribe(a=>{this.dataLayer.searchstaxConfig.hooks.afterSearch(a)}),this.dataLayer.$searchObject.subscribe(a=>{var r;a.query!==""&&a.query!==void 0&&a.query!=="undefined"&&(this.search(a),this.dataLayer.turnAIAnswerGenerationOn===!0&&((r=this.searchHelper)==null||r.startSSE(a.query,this.parseAnswerResultsResponse.bind(this))))}),this.dataLayer.$searchResults.subscribe(a=>{a&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackSearch({...this.dataLayer.parsedData.trackingData,impressions:this.dataLayer.searchResultsMetadata.impressions})})}initialize(e){var t,a;e.turnAIAnswerGenerationOn===!0&&(this.dataLayer.turnAIAnswerGenerationOn=!0),e.autoCorrect===!1&&(this.dataLayer.autoCorrect=!1),this.dataLayer.searchstaxConfig||(this.dataLayer.setSearchstaxConfig(e),this.searchHelper=new Z({...e,sessionId:this.dataLayer.sessionId},this.dataLayer)),((t=e.router)==null?void 0:t.enabled)===void 0||((a=e.router)==null?void 0:a.enabled)===!0?(this.routerEnabled=!0,this.routerHelper=new z(e.router?e.router:{enabled:!0}),this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href)),addEventListener("popstate",()=>{this.routerHelper&&this.dataLayer.setSearchObject(this.routerHelper.urlToSearchObject(window.location.href))})):this.routerHelper=new z({})}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 s;const a=(((s=e.response)==null?void 0:s.docs)??[]).map((i,c)=>({...i,position:c+1})),r=[];for(const i of a)r.push({relatedSearch:i.related_search,position:i.position});this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&H.trackRelatedSearches({...this.dataLayer.parsedData.trackingData,impressions:r}),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 s,i;this.handleRouter();let t=$.combineResultsWithMetadata(e),a=$.extractFacets(e);this.dataLayer.setSearchFacets(a),(i=(s=this.dataLayer.searchstaxConfig)==null?void 0:s.hooks)!=null&&i.afterSearch&&(t=this.dataLayer.searchstaxConfig.hooks.afterSearch(t)),this.dataLayer.setSearchExternalPromotions(e.externalLinks??[]);const r=$.extractSearchResultsMetadata(e);this.dataLayer.setSearchResultsMetadata(r),this.dataLayer.setSearchResults(t)}parseAnswerResultsResponse(e){this.handleRouter(),e!==D.question&&e!==D.notQuestion&&this.dataLayer.setAnswerData(this.dataLayer.getAnswerData+e)}cacheFacets(){var e;(e=this.searchHelper)==null||e.cacheFacets()}parseSuggestSuggestResponse(e){var a,r;let t=e;(r=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&r.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 Ee({containerId:e,config:t,searchTrigger:this.executeSearch.bind(this),suggestTrigger:this.executeSuggest.bind(this),dataLayer:this.dataLayer}))}addAnswerWidget(e,t){this.dataLayer.setAnswerData(""),this.answerWidget=new Ae({containerId:e,config:t,dataLayer:this.dataLayer})}addSearchResultsWidget(e,t){this.searchResultsConfig||(this.searchResultsConfig=t,this.searchResultsWidget=new Fe({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 Ie({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper})}addSearchFeedbackWidget(e,t){this.searchFeedbackConfig||(this.searchFeedbackConfig=t,this.searchFeedbackWidget=new we({containerId:e,config:t,dataLayer:this.dataLayer,searchTrigger:this.executeSearch.bind(this)}))}addSearchSortingWidget(e,t){this.searchSortingConfig||(this.searchSortingConfig=t,this.searchSortingWidget=new Me({containerId:e,config:t,dataLayer:this.dataLayer}))}addRelatedSearchesWidget(e,t){this.relatedSearchesConfig||(this.relatedSearchesConfig=t,this.relatedSearchesWidget=new Pe({containerId:e,config:t,dataLayer:this.dataLayer,trackRelatedSearchClick:this.trackRelatedSearchClick.bind(this)}),setTimeout(()=>{this.getRelatedSearches()},0))}addExternalPromotionsWidget(e,t){this.externalPromotionsConfig||(this.externalPromotionsConfig=t,this.externalPromotionsWidget=new ke({containerId:e,config:t,dataLayer:this.dataLayer}))}addFacetsWidget(e,t){this.searchFacetsConfig=t,this.searchFacetsWidget=new Re({containerId:e,config:t,dataLayer:this.dataLayer,routerHelper:this.routerHelper},this.cacheFacets.bind(this))}executeSearch(e,t){var s,i;const a={...this.dataLayer.searchObject};a.query=E.removeXSSRiskyTags(e),a.page=1,a.facets=[],this.dataLayer.forceNotCorrect=!!t;let r=(s=this.routerHelper)==null?void 0:s.searchObjectToParams(a);r&&(r=(i=this.routerHelper)==null?void 0:i.extractParamsThatDoNotStartWithRouteName(r)),r&&(a.additionalProps=Object.keys(r).map(c=>r?{key:c,value:r[c]}:{key:"",value:""})),this.dataLayer.setSearchObject(a),this.dataLayer.lastSearchValue=a.query}executeSuggest(e){var a,r;let t={term:e,queryParams:[]};(r=(a=this.dataLayer.searchInputConfig)==null?void 0:a.hooks)!=null&&r.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&&H.trackRelatedSearchClick({...this.dataLayer.parsedData.trackingData,relatedSearch:e})}executeLinkClick(e){var a,r;let t=$.findResultByUniqueId(e,this.dataLayer.searchResults??[]);t&&((r=(a=this.searchResultsConfig)==null?void 0:a.hooks)!=null&&r.afterLinkClick&&(t=this.searchResultsConfig.hooks.afterLinkClick(t)),t&&this.dataLayer.searchResultsMetadata&&!this.dataLayer.cookiesDisabled&&(H.trackClick({result:t,...this.dataLayer.parsedData.trackingData}),setTimeout(()=>{window.location.href=(t==null?void 0:t.url)??""},0)))}setPage(e){var t;(t=this.searchPaginationWidget)==null||t.goToPage(e)}setCookiesDisabled(e){this.dataLayer.setCookiesDisabled(e)}changeResultTemplate(e){var t,a,r;this.searchResultsConfig&&(this.searchResultsConfig.templates=(t=this.searchResultsConfig)!=null&&t.templates?{...(a=this.searchResultsConfig)==null?void 0:a.templates,...e}:e,(r=this.searchResultsWidget)==null||r.changeTemplate())}}F.Searchstax=De,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})})(this["@searchstaxInc/searchstudioUxJs"]=this["@searchstaxInc/searchstudioUxJs"]||{});
|
|
@@ -1899,7 +1899,7 @@ class Pe {
|
|
|
1899
1899
|
}
|
|
1900
1900
|
nextPage(e) {
|
|
1901
1901
|
var t;
|
|
1902
|
-
|
|
1902
|
+
e.preventDefault(), e.stopPropagation(), this.isLastPage || this.goToPage(
|
|
1903
1903
|
((t = this.dataLayer.searchObject) == null ? void 0 : t.page) + 1,
|
|
1904
1904
|
this.dataLayer.isInfiniteScroll
|
|
1905
1905
|
);
|