1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[33736],{7937:(e,t,i)=>{i.d(t,{Z:()=>a});var s=i(3266),r=i(4049);let l=Object.freeze(new class{replaceFromMarkup(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],s=e;"string"==typeof s&&(s=this._createMarkupFromString(s)),"string"==typeof t&&(t=[t]),this._replaceSelectors(s,t,i)}replaceElement(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return("string"==typeof e&&(e=r.Z.querySelectorAll(document,e,i)),"string"==typeof t&&(t=r.Z.querySelectorAll(document,t,i)),e instanceof NodeList&&t instanceof NodeList&&t.length>e.length)?(s.Z.iterate(t,t=>{s.Z.iterate(e,e=>{e.innerHTML&&e.className===t.className&&(t.innerHTML=e.innerHTML)})}),!0):e instanceof NodeList?(s.Z.iterate(e,(e,i)=>{e.innerHTML&&(t[i].innerHTML=e.innerHTML)}),!0):t instanceof NodeList?(s.Z.iterate(t,t=>{e.innerHTML&&(t.innerHTML=e.innerHTML)}),!0):!!t&&!!e&&!!e.innerHTML&&(t.innerHTML=e.innerHTML,!0)}_replaceSelectors(e,t,i){s.Z.iterate(t,t=>{let s=r.Z.querySelectorAll(e,t,i),l=r.Z.querySelectorAll(document,t,i);this.replaceElement(s,l,i)})}_createMarkupFromString(e){return this._domParser.parseFromString(e,"text/html")}constructor(){this._domParser=new DOMParser}});class a{static replaceFromMarkup(e,t,i){l.replaceFromMarkup(e,t,i)}static replaceElement(e,t,i){return l.replaceElement(e,t,i)}}},3736:(e,t,i)=>{i.r(t),i.d(t,{default:()=>h});var s=i(9568),r=i(3107),l=i(3266),a=i(4049),n=i(2940),o=i(7937),c=i(9610);class h extends s.Z{init(){this._registry=[],this.httpClient=new r.Z,this._urlFilterParams=n.parse(window.location.search),this._filterPanel=a.Z.querySelector(document,this.options.filterPanelSelector,!1),this._filterPanelActive=!!this._filterPanel,this._filterPanelActive&&(this._showResetAll=!1,this.activeFilterContainer=a.Z.querySelector(document,this.options.activeFilterContainerSelector),this.ariaLiveContainer=a.Z.querySelector(document,this.options.ariaLiveSelector,!1)),this._cmsProductListingWrapper=a.Z.querySelector(document,this.options.cmsProductListingWrapperSelector,!1),this._cmsProductListingWrapperActive=!!this._cmsProductListingWrapper,this._allFiltersInitializedDebounce=c.Z.debounce(this.sendDisabledFiltersRequest.bind(this),100),this._registerEvents()}refreshRegistry(){let e=this._registry.filter(e=>document.body.contains(e.el));this.init(),this._registry=e,window.PluginManager.initializePlugins()}changeListing(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._buildRequest(e,t),this._filterPanelActive&&this._buildLabels()}registerFilter(e){this._registry.push(e),this._setFilterState(e),this.options.disableEmptyFilter&&this._allFiltersInitializedDebounce()}_setFilterState(e){Object.keys(this._urlFilterParams).length>0&&"function"==typeof e.setValuesFromUrl&&e.setValuesFromUrl(this._urlFilterParams)&&this._filterPanelActive&&(this._showResetAll=!0,this._buildLabels())}deregisterFilter(e){this._registry=this._registry.filter(t=>t!==e)}_fetchValuesOfRegisteredFilters(){let e={};return this._registry.forEach(t=>{let i=t.getValues();
1Object.keys(i).forEach(t=>{Object.prototype.hasOwnProperty.call(e,t)?Object.values(i[t]).forEach(i=>{e[t].push(i)}):e[t]=i[t]})}),e}_mapFilters(e){let t={};return Object.keys(e).forEach(i=>{let s=e[i];Array.isArray(s)&&(s=s.join("|")),"".concat(s).length&&(t[i]=s)}),t}_buildRequest(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this._fetchValuesOfRegisteredFilters(),s=this._mapFilters(i);this._filterPanelActive&&(this._showResetAll=!!Object.keys(s).length),this.options.params&&Object.keys(this.options.params).forEach(e=>{s[e]=this.options.params[e]}),Object.entries(t).forEach(e=>{let[t,i]=e;s[t]=i});let r=n.stringify(s);this.sendDataRequest(r),delete s.slots,delete s["no-aggregations"],delete s["reduce-aggregations"],delete s["only-aggregations"],r=n.stringify(s),e&&this._updateHistory(r),this.options.scrollTopListingWrapper&&this._scrollTopOfListing()}_scrollTopOfListing(){let e=this._cmsProductListingWrapper.getBoundingClientRect();if(e.top>=0)return;let t=e.top+window.scrollY-this.options.scrollOffset;window.scrollTo({top:t,behavior:"smooth"})}_getDisabledFiltersParamsFromParams(e){let t=Object.assign({},{"only-aggregations":1,"reduce-aggregations":1},e);return delete t.p,delete t.order,delete t["no-aggregations"],t}_updateHistory(e){window.history.pushState({},"","".concat(window.location.pathname,"?").concat(e))}_buildLabels(){let e="";this._registry.forEach(t=>{let i=t.getLabels();i.length&&i.forEach(t=>{e+=this.getLabelTemplate(t)})}),this.activeFilterContainer.innerHTML=e;let t=window.Feature.isActive("ACCESSIBILITY_TWEAKS")?a.Z.querySelectorAll(this.activeFilterContainer,this.options.activeFilterLabelSelector,!1):a.Z.querySelectorAll(this.activeFilterContainer,".".concat(this.options.activeFilterLabelRemoveClass),!1);e.length&&(this._registerLabelEvents(t),this.createResetAllButton())}_registerLabelEvents(e){l.Z.iterate(e,e=>{e.addEventListener("click",()=>this.resetFilter(e))})}createResetAllButton(){this.activeFilterContainer.insertAdjacentHTML("beforeend",this.getResetAllButtonTemplate());let e=a.Z.querySelector(this.activeFilterContainer,this.options.resetAllFilterButtonSelector);e.removeEventListener("click",this.resetAllFilter.bind(this)),e.addEventListener("click",this.resetAllFilter.bind(this)),this._showResetAll||e.remove()}resetFilter(e){this._registry.forEach(t=>{t.reset(e.dataset.id)}),this._buildRequest(),this._buildLabels()}resetAllFilter(){this._registry.forEach(e=>{e.resetAll()}),this._buildRequest(),this._buildLabels()}getLabelTemplate(e){return window.Feature.isActive("ACCESSIBILITY_TWEAKS")?'\n <button\n class="'.concat(this.options.activeFilterLabelClasses,'"\n data-id="').concat(e.id,'"\n title="').concat(this.options.snippets.removeFilterAriaLabel,": ").concat(e.label,'"\n aria-label="').concat(this.options.snippets.removeFilterAriaLabel,": ").concat(e.label,'">\n ').concat(this.getLabelPreviewTemplate(e),"\n ").concat(e.label,'\n <span aria-hidden="true" class="ms-1 fs-4">×</span>\n </button>\n '):'\n <span class="'.concat(this.options.activeFilterLabelClass,'">\n ').concat(this.getLabelPreviewTemplate(e),'\n <span aria-hidden="true">').concat(e.label,'</span>\n <button class="').concat(this.options.activeFilterLabelRemoveClass,'"\n data-id="').concat(e.id,'"\n title="').concat(this.options.snippets.removeFilterAriaLabel,": ").concat(e.label,'"\n aria-label="').concat(this.options.snippets.removeFilterAriaLabel,": ").concat(e.label,'">\n ×\n </button>\n </span>\n ')}getLabelPreviewTemplate(e){let t=this.options.activeFilterLabelPreviewClass;return e.previewHex?'\n <span class="'.concat(t,'" style="background-color: ').concat(e.previewHex,';"></span>\n '):e.previewImageUrl?'\n <span class="'.concat(t,'" style="background-image: url(\'').concat(e.previewImageUrl,"');\"></span>\n "):""}getResetAllButtonTemplate(){return'\n <button class="'.concat(this.options.resetAllFilterButtonClasse
1s,'" aria-label="').concat(this.options.snippets.resetAllFiltersAriaLabel,'">\n ').concat(this.options.snippets.resetAllButtonText,"\n </button>\n ")}addLoadingIndicatorClass(){this._filterPanel.classList.add(this.options.loadingIndicatorClass)}removeLoadingIndicatorClass(){this._filterPanel.classList.remove(this.options.loadingIndicatorClass)}addLoadingElementLoaderClass(){this._cmsProductListingWrapper.classList.add(this.options.loadingElementLoaderClass)}removeLoadingElementLoaderClass(){this._cmsProductListingWrapper.classList.remove(this.options.loadingElementLoaderClass)}sendDataRequest(e){this._filterPanelActive&&this.addLoadingIndicatorClass(),this._cmsProductListingWrapperActive&&this.addLoadingElementLoaderClass(),this.options.disableEmptyFilter&&this.sendDisabledFiltersRequest(),this.httpClient.get("".concat(this.options.dataUrl,"?").concat(e),e=>{this.renderResponse(e),this._filterPanelActive&&(this.removeLoadingIndicatorClass(),this._updateAriaLive()),this._cmsProductListingWrapperActive&&this.removeLoadingElementLoaderClass()})}sendDisabledFiltersRequest(){let e=this._fetchValuesOfRegisteredFilters(),t=this._mapFilters(e);this.options.params&&Object.keys(this.options.params).forEach(e=>{t[e]=this.options.params[e]}),this._allFiltersInitializedDebounce=()=>{};let i=this._getDisabledFiltersParamsFromParams(t);this.httpClient.get("".concat(this.options.filterUrl,"?").concat(n.stringify(i)),e=>{let t=JSON.parse(e);this._registry.forEach(e=>{"function"==typeof e.refreshDisabledState&&e.refreshDisabledState(t,i)})})}renderResponse(e){o.Z.replaceFromMarkup(e,this.options.cmsProductListingSelector,!1),this._registry.forEach(e=>{"function"==typeof e.afterContentChange&&e.afterContentChange()}),window.PluginManager.initializePlugins(),this.$emitter.publish("Listing/afterRenderResponse",{response:e})}_updateAriaLive(){if(!this.options.ariaLiveUpdates||!this.ariaLiveContainer)return;let e=this.el.querySelector(this.options.cmsProductListingResultsSelector);this.ariaLiveContainer.innerHTML=e.dataset.ariaLiveText}_registerEvents(){window.onpopstate=this._onWindowPopstate.bind(this)}_onWindowPopstate(){this.refreshRegistry(),this._registry.forEach(e=>{0===Object.keys(this._urlFilterParams).length&&(this._urlFilterParams.p=1),this._setFilterState(e)}),this.options.disableEmptyFilter&&this._allFiltersInitializedDebounce(),this.changeListing(!1)}}h.options={dataUrl:"",filterUrl:"",params:{},filterPanelSelector:".filter-panel",cmsProductListingSelector:".cms-element-product-listing",cmsProductListingWrapperSelector:".cms-element-product-listing-wrapper",cmsProductListingResultsSelector:".js-listing-wrapper",activeFilterContainerSelector:".filter-panel-active-container",activeFilterLabelClass:"filter-active",activeFilterLabelClasses:"filter-active btn",activeFilterLabelSelector:".filter-active",activeFilterLabelRemoveClass:"filter-active-remove",activeFilterLabelPreviewClass:"filter-active-preview",resetAllFilterButtonClasses:"filter-reset-all btn btn-outline-danger",resetAllFilterButtonSelector:".filter-reset-all",loadingIndicatorClass:"is-loading",loadingElementLoaderClass:"has-element-loader",ariaLiveSelector:".filter-panel-aria-live",ariaLiveUpdates:!0,disableEmptyFilter:!1,snippets:{resetAllButtonText:"Reset all",resetAllFiltersAriaLabel:"Reset all filters",removeFilterAriaLabel:"Remove filter"},scrollTopListingWrapper:!0,scrollOffset:15}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.