// source --> https://ocalafence.com/wp-content/plugins/woocommerce-product-filters/assets/build/js/plugin.js?ver=1.4.16 
(()=>{"use strict";var __webpack_modules__={362:(e,t,n)=>{n.d(t,{Z:()=>r});var i=n(405);class s extends i.Z{get prototypes(){return{component:this.app.objectContainer.get("Filter/Component/Prototypes"),urlNavigation:this.app.objectContainer.get("Project/URLNavigation/Prototypes")}}get register(){return{components:this.app.objectContainer.get("Filter/Components"),entityTypes:this.app.objectContainer.get("Entity/Register"),productsQueryVars:this.app.objectContainer.get("ProductsQueryVars"),productsLoopProperties:this.app.objectContainer.get("ProductsLoopProperties")}}get builders(){return{component:this.app.componentRegister.get("Filter/Builder/Component")}}get componentBuilder(){return this.app.objectContainer.get("ComponentBuilder")}get entityCollector(){return this.app.componentRegister.get("Entity/Collector")}get localizedMessages(){return this.app.objectContainer.get("Messages")}get appSelectors(){return this.app.objectContainer.get("Selectors")}get filterPackage(){return this.app.packageRegister.get("Filter/Package")}get wooData(){return this.app.objectContainer.get("WooData")}}const r=s},694:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{Z:()=>Project});var Front_Component_ComponentAbstract__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(362),System_ApplicationEvent__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(841),System_Object_ExtendObject__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(203),System_Helper_CreateElement__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(937),Front_Project_URLNavigation_QueryNavigation__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(718);class Project extends Front_Component_ComponentAbstract__WEBPACK_IMPORTED_MODULE_0__.Z{constructor(){super(),this.initEvent=new System_ApplicationEvent__WEBPACK_IMPORTED_MODULE_1__.Z,this.productPageLoadedEvent=new System_ApplicationEvent__WEBPACK_IMPORTED_MODULE_1__.Z,this.beforeLoadingProductPageEvent=new System_ApplicationEvent__WEBPACK_IMPORTED_MODULE_1__.Z,this.afterLoadingProductPageEvent=new System_ApplicationEvent__WEBPACK_IMPORTED_MODULE_1__.Z,this.applyFilterValueEvent=new System_ApplicationEvent__WEBPACK_IMPORTED_MODULE_1__.Z,this.removeFilterValueEvent=new System_ApplicationEvent__WEBPACK_IMPORTED_MODULE_1__.Z,this.productPageRequest=null,this.activeFilters={},this.componentKeys=new Map,this.enabledFilters=0}get projectId(){return this.projectComponent.entity.entityId}get projectOptions(){return this.projectComponent.options}initialProperties(){this.pageUrl=this.app.objectContainer.get("PageUrl"),this.urlNavigator=this.componentBuilder.build(Front_Project_URLNavigation_QueryNavigation__WEBPACK_IMPORTED_MODULE_2__.Z,this.package),this.urlNavigator.navigationOptions=(0,System_Object_ExtendObject__WEBPACK_IMPORTED_MODULE_3__.Z)(this.urlNavigator.navigationOptions,this.projectOptions.get("urlNavigationOptions"))}attachEvents(e){e.addSystemHandler(this.initEvent,this.onInit),this.app.objectContainer.get("IsPaged")&&this.eventManager.addSystemHandler(this.beforeLoadingProductPageEvent,this.resetPaginationUrl)}resetPaginationUrl(){let e=this.urlNavigator.getAllAttributes();e&&e.hasOwnProperty("product-page")&&delete e["product-page"],e&&e.hasOwnProperty("paged")&&delete e.paged;let t=this.urlNavigator.setAllAttributesToUrl(this.pageUrl,e);this.replacePageUrl(t),this.eventManager.removeSystemHandler(this.beforeLoadingProductPageEvent,this.resetPaginationUrl)}onInit(){this.eachComponents((e=>{if(!("getFilterKeys"in e))return;let t=e.getFilterKeys();for(let n of Object.values(t)){if(this.urlNavigator.hasAttribute(n)){let t=this.urlNavigator.getAttribute(n);this.activeFilters[n]=t,this.applyFilterValueEvent.trigger({filterComponent:e,filterKey:n,value:t})}this.componentKeys.set(n,e)}e.componentElement.length&&!e.componentElement.hasClass("wcpf-status-disabled")&&(this.enabledFilters+=1)}));let e=Object.keys(this.activeFilters);e.push("product-page"),e.push("paged"),this.pageUrl=this.urlNavigator.removeAllAttributesFromUrl(this.pageUrl,e),this.enabledFilters||this.projectComponent.componentElement.add(this.projectComponent.componentElement.parents(".widget")).addClass("wcpf-all-filters-disabled")}removeFilterValue(e,t){this.activeFilters.hasOwnProperty(t)&&(delete this.activeFilters[t],this.removeFilterValueEvent.trigger({filterComponent:e,filterKey:t}),"auto"==this.projectOptions.get("filteringStarts")&&(this.urlNavigator.removeAttribute(t),this.applyFilters()))}applyFilterValue(e,t,n){this.activeFilters[t]=n,this.applyFilterValueEvent.trigger({filterComponent:e,filterKey:t,value:n}),"auto"==this.projectOptions.get("filteringStarts")&&(this.urlNavigator.setAttribute(t,n),this.applyFilters())}resetFilters(){for(let e in this.activeFilters)this.activeFilters.hasOwnProperty(e)&&(this.urlNavigator.removeAttribute(e),this.componentKeys.has(e)&&this.removeFilterValueEvent.trigger({filterComponent:this.componentKeys.get(e),filterKey:e}));this.activeFilters={},this.applyFilters()}applyFilters(properties){if(properties=(0,System_Object_ExtendObject__WEBPACK_IMPORTED_MODULE_3__.Z)({updateFiltersElements:!0,applyAttributes:!0},"object"==typeof properties?properties:{}),"auto"!=this.projectOptions.get("filteringStarts")&&properties.applyAttributes){for(let e in this.urlNavigator.getAllAttributes())this.componentKeys.has(e)&&!this.activeFilters.hasOwnProperty(e)&&this.urlNavigator.removeAttribute(e);for(let e in this.activeFilters)this.activeFilters.hasOwnProperty(e)&&this.urlNavigator.setAttribute(e,this.activeFilters[e])}this.productPageRequest&&this.productPageRequest.abort(),this.beforeLoadingProductPageEvent.trigger({filters:this.activeFilters,project:this}),this.app.windowElement.trigger("wcpf_before_ajax_filtering"),this.productPageRequest=jQuery.ajax({url:location.href,type:"GET"}).done((responseHtml=>{let responsePage=document.implementation.createHTMLDocument(document.title);responsePage.documentElement.innerHTML=responseHtml,properties.updateFiltersElements&&this.updateComponentElementsFromPage(responsePage),this.productPageLoadedEvent.trigger({page:responsePage,filters:this.activeFilters,project:this}),this.app.windowElement.trigger("wcpf_update_products");let scriptAfterProductsUpdate=window.WCPFData.scriptAfterProductsUpdate;scriptAfterProductsUpdate&&scriptAfterProductsUpdate.length&&eval(scriptAfterProductsUpdate)})).always((()=>{this.afterLoadingProductPageEvent.trigger({filters:this.activeFilters,project:this}),this.app.windowElement.trigger("wcpf_after_ajax_filtering")}))}goToPageNumberByUrl(e){this.eventManager.removeSystemHandler(this.beforeLoadingProductPageEvent,this.resetPaginationUrl),this.replacePageUrl(e),this.applyFilters({updateFiltersElements:!1,applyAttributes:!1}),this.eventManager.addSystemHandler(this.beforeLoadingProductPageEvent,this.resetPaginationUrl)}applySortingToProducts(e){this.urlNavigator.setAttribute("orderby",e),this.applyFilters({updateFiltersElements:!1,applyAttributes:!1})}replacePageUrl(e){window.history.replaceState({},document.title,e)}eachComponents(e){let t=n=>{e(n);for(let e in n.childFilterComponents)n.childFilterComponents.hasOwnProperty(e)&&t(n.childFilterComponents[e])};t(this.projectComponent)}updateComponentElementsFromPage(e){let t=(0,System_Helper_CreateElement__WEBPACK_IMPORTED_MODULE_4__.Z)(e.documentElement).find(`.wcpf-front-element-${this.projectId}`);this.projectComponent.componentElement.replaceWith(t.first()),this.projectComponent.componentElement=this.app.bodyElement.find(`.wcpf-front-element-${this.projectId}`),this.eachComponents((e=>{e.entity.entityId!=this.projectId&&(e.componentElement=this.projectComponent.componentElement.find(`.wcpf-front-element-${e.entity.entityId}`))})),this.eachComponents((e=>{e.componentElement.length&&(e.initialPropertiesOfElement(),e.attachElementEvents(e.eventManager))}))}}},718:(e,t,n)=>{n.d(t,{Z:()=>l});var i=n(362);class s extends i.Z{constructor(){super(...arguments),this.navigationOptions={}}attachEvents(e){}}const r=s;class l extends r{initialProperties(){super.initialProperties(),this.urlParams=new Map,this.updateUrlParams()}updateUrlParams(){this.urlParams.clear();let e=location.search.substring(1),t=e.split("&");if(e.length)for(let e in t){if(!t.hasOwnProperty(e))continue;let n=t[e].split("=");this.urlParams.set(n[0],n.length>1?this.decode(n[1]):void 0)}}hasAttribute(e){return this.urlParams.has(e)}getAttribute(e){return this.urlParams.get(e)}setAttribute(e,t){this.updateUrlParams(),this.urlParams.set(e,t),this.updateUrl()}removeAttribute(e){this.updateUrlParams(),this.urlParams.delete(e),this.updateUrl()}updateUrl(){let e=[];for(let[t,n]of this.urlParams.entries())null==n?e.push(this.encode(t)):e.push(this.encode(t)+"="+this.encode(n));let t=location.pathname+location.hash;e.length&&(t="?"+e.join("&")),window.history.replaceState({},document.title,t)}decode(e){return-1!==(e=decodeURIComponent(e)).indexOf(",")?e.split(","):e}encode(e){return Array.isArray(e)?e.join(","):e}setAllAttributesToUrl(e,t){let n="";-1!=e.indexOf("?")&&(n=e.slice(e.indexOf("?")+1),e=e.slice(0,e.indexOf("?")));let i={},s=-1!=n.indexOf("&")?n.split("&"):[],r=[];for(let e in s){if(!s.hasOwnProperty(e))continue;let t=s[e].split("=");i[t[0]]=this.decode(t[1])}for(let e in t)t.hasOwnProperty(e)&&(i[e]=t[e]);for(let e in i){if(!i.hasOwnProperty(e))continue;let t=i[e];r.push(this.encode(e)+"="+this.encode(t))}return r.length&&(e+="?"+r.join("&")),e}removeAllAttributesFromUrl(e,t){if(-1==e.indexOf("?"))return e;let n=e.slice(e.indexOf("?")+1);if(!n.length)return e;e=e.slice(0,e.indexOf("?"));let i={},s=n.split("&"),r=[];for(let e in s){if(!s.hasOwnProperty(e))continue;let t=s[e].split("=");i[t[0]]=this.decode(t[1])}for(let e in t){if(!t.hasOwnProperty(e))continue;let n=t[e];i.hasOwnProperty(n)&&delete i[n]}for(let e in i){if(!i.hasOwnProperty(e))continue;let t=i[e];r.push(this.encode(e)+"="+this.encode(t))}return r.length&&(e+="?"+r.join("&")),e}getAllAttributes(){this.updateUrlParams();let e={};for(let[t,n]of this.urlParams.entries())e[t]=n;return e}}},841:(e,t,n)=>{n.d(t,{Z:()=>i});class i{constructor(){this.defaultContext=null,this.callbacks=[]}subscribe(e,t){!t&&this.defaultContext&&(t=this.defaultContext),t||(t=e);let n=this,i={callback:e,event:n,unsubscribe:function(){n.unsubscribe(e)}};return this.callbacks.push({callback:e,subscriber:t}),i}unsubscribe(e,t){!t&&this.defaultContext&&(t=this.defaultContext),t||(t=e);let n=[];for(let i=0;i<this.callbacks.length;i++)this.callbacks[i].callback!==e&&this.callbacks[i].subscriber!==t&&n.push(this.callbacks[i]);this.callbacks=n}trigger(e,t){for(let n=0;n<this.callbacks.length;n++)this.callbacks[n].callback.apply(this.callbacks[n].subscriber,[e,t])}}},405:(e,t,n)=>{n.d(t,{Z:()=>s});var i=n(251);const s=class{constructor(e){this.eventManager=e||new i.Z(this)}get app(){return this.package.app}initialProperties(){}}},251:(e,t,n)=>{n.d(t,{Z:()=>l});var i=n(937),s=n(777),r=n(149);class l{constructor(e){this.component=e,this.rootElement=(0,i.Z)(document.documentElement)}addWindowHandler(e,t,n){this.applyElementHandler(!0,{element:(0,i.Z)(window),event:e,eventSelector:null,eventHandler:t,context:n})}removeWindowHandler(e,t,n){this.applyElementHandler(!1,{element:(0,i.Z)(window),event:e,eventSelector:null,eventHandler:t,context:n})}addSystemHandler(e,t,n){n=this.getContext(n),e.subscribe(t,n)}removeSystemHandler(e,t,n){n=this.getContext(n),e.unsubscribe(t,n)}addElementHandler(e,t,n,i,s){this.applyElementHandler(!0,{element:e,event:t,eventSelector:n,eventHandler:i,context:s})}removeElementHandler(e,t,n,i,s){this.applyElementHandler(!1,{element:e,event:t,eventSelector:n,eventHandler:i,context:s})}applyElementHandler(e,t){t.context=this.getContext(t.context),t.eventSelector instanceof Function&&!t.eventHandler&&(t.eventHandler=t.eventSelector,t.eventSelector=""),t.context&&(t.eventHandler=(0,r.Z)(t.eventHandler,t.context)),t.element instanceof Element&&(t.element=jQuery(t.element)),e?t.eventSelector?t.element.on(t.event,t.eventSelector,t.eventHandler):t.element.on(t.event,t.eventHandler):t.eventSelector?t.element.off(t.event,t.eventSelector,t.eventHandler):t.element.off(t.event,t.eventHandler)}getContext(e){return!e&&this.component&&(e=this.component),e}addEntityHandler(e,t,n,i,l){let o="",a=n;"string"==typeof n&&i instanceof Function&&(o=n,a=i),l||!i||i instanceof Function||(l=i),(l=this.getContext(l))&&(a=(0,r.Z)(a,l));let c=(0,s.Z)(e,o);this.rootElement.on(t,c,a)}removeEntityHandler(e,t,n,i,l){let o="",a=n;"string"==typeof n&&i instanceof Function&&(o=n,a=i),l||!i||i instanceof Function||(l=i),(l=this.getContext(l))&&(a=(0,r.Z)(a,l));let c=(0,s.Z)(e,o);this.rootElement.off(t,c,a)}addComponentHandler(e,t,n,i){this.addEntityHandler(this.component,e,t,n,i)}removeComponentHandler(e,t,n,i){this.removeEntityHandler(this.component,e,t,n,i)}addPackageHandler(e,t,n,i){this.addEntityHandler(this.component.package,e,t,n,i)}removePackageHandler(e,t,n,i){this.removeEntityHandler(this.component.package,e,t,n,i)}addPageElementHandler(e,t,n,i){this.applyElementHandler(!0,{element:this.rootElement,event:e,eventSelector:t,eventHandler:n,context:i})}removePageElementHandler(e,t,n,i){this.applyElementHandler(!1,{element:this.rootElement,event:e,eventSelector:t,eventHandler:n,context:i})}}},937:(e,t,n)=>{function i(e){return jQuery(e)}n.d(t,{Z:()=>i})},777:(e,t,n)=>{function i(e,t){let n="";for(;;){let t=e.getParentEntity();if(!e.rootSelector){if(t){e=t;continue}break}if(n=0==n.length?e.rootSelector:e.rootSelector+" "+n,!t)break;e=t}return t&&(0==n.length?n=t:n+=" "+t),n}n.d(t,{Z:()=>i})},149:(e,t,n)=>{function i(e,t){return jQuery.proxy(e,t)}n.d(t,{Z:()=>i})},203:(e,t,n)=>{function i(e,t){return jQuery.extend(e,t)}n.d(t,{Z:()=>i})}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](n,n.exports,__webpack_require__),n.exports}__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__={};(()=>{var e=__webpack_require__(937);class t{constructor(){this.objectContainer=new Map,this.componentRegister=new Map,this.packageRegister=new Map}get bodyElement(){return(0,e.Z)(document.body)}get windowElement(){return(0,e.Z)(window)}initialization(){}}var n=__webpack_require__(841);const i=class{constructor(){this.componentList=new Set,this.subpackageList=new Set,this.collectAfter=new n.Z}initialProperties(){}getInitialSubpackages(){return[]}};class s{buildByClass(e,t,n){let i=this.createPackageByClass(e,t,n);return this.build(i,t,n)}build(e,t,n){return e.app=t,e.parentPackage=n,this.createInteraction(e,t,n),this.afterInteractionBuilding(e,t),this.packageInitialProperties(e),this.packageAttachEvents(e),e.collectAfter.trigger(e),e}packageAttachEvents(e){e.componentList.forEach((e=>{e.attachEvents(e.eventManager)})),e.subpackageList.forEach((e=>{this.packageAttachEvents(e)}))}packageInitialProperties(e){e.initialProperties(),e.componentList.forEach((e=>{e.initialProperties()})),e.subpackageList.forEach((e=>{this.packageInitialProperties(e)}))}createInteraction(e,t,n){let s=e.getInitialSubpackages(),r=e.getInitialComponents();r&&r.forEach((t=>{t.package=e,e.componentList.add(t)})),s&&(s.forEach((n=>{let s=null;n instanceof i?(s=n,s.app=t,s.parentPackage=e):s=this.createPackageByClass(n,e.app,e),e.subpackageList.add(s)})),e.subpackageList.forEach((e=>{this.createInteraction(e,e.app,e.parentPackage)})))}createPackageByClass(e,t,n){if(!(e.prototype instanceof i))throw new TypeError('Сlass does not implement class "PackageAbstract"');let s=new e;return s.app=t,s.parentPackage=n,s}afterInteractionBuilding(e,t){e.afterInteractionBuilding&&e.afterInteractionBuilding(t),e.componentList.size&&e.componentList.forEach((e=>{e.afterInteractionBuilding&&e.afterInteractionBuilding(t)})),e.subpackageList.size&&e.subpackageList.forEach((e=>{this.afterInteractionBuilding(e,t)}))}}class r{build(e,t){let n=new e;return t&&this.implementation(n,t),n}implementation(e,t){e.package=t,e.initialProperties(),e.attachEvents(e.eventManager)}}var l,o=__webpack_require__(405),a=__webpack_require__(203);class c{}!function(e){e.remove="remove",e.virtual="virtual",e.published="published"}(l||(l={}));const p=l;class h extends o.Z{get register(){return this.app.objectContainer.get("Entity/Register")}initialProperties(){this.app.componentRegister.set("Entity/Collector",this)}attachEvents(e){}collectVirtualEntityByKey(e){let t=null;if(!this.register.has(e))throw new Error(`Entry by key '${e}' in register not found`);let n=this.register.get(e);return t=new c,t.status=p.virtual,t.entityId=this.createUniqueID(),t.parentId=0,t.entityKey=n.id,t.order=0,t.options=(0,a.Z)({},n.defaultOptions),t.title=n.label,t.childEntities=[],t}collectEntityByStructure(e){let t=null;if(t=new c,t.status=p.published,t.entityId=e.entityId,t.parentId=e.parentId,t.entityKey=e.entityKey,t.order=Number(e.order),t.options=(0,a.Z)({},e.options),t.title=e.title,t.childEntities=[],e.childEntities&&e.childEntities.hasOwnProperty("length")&&e.childEntities.length)for(let n in e.childEntities){if(!e.childEntities.hasOwnProperty(n))continue;let i=e.childEntities[n],s=this.collectEntityByStructure(i);t.childEntities.push(s)}return t}createUniqueID(){let e=()=>Math.random().toString(16).slice(-4);return"virtual-"+e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}}class m extends i{initialProperties(){let e=new Map;this.app.objectContainer.set("Entity/Register",e)}getInitialComponents(){return[new h]}}var d=__webpack_require__(718);class u extends i{initialProperties(){this.app.objectContainer.set("Project/URLNavigation/Prototypes",new Map([["query",d.Z]]))}getInitialComponents(){return[]}}var g=__webpack_require__(362);class f extends o.Z{constructor(e){super(),e&&(e instanceof Element&&(e=jQuery(e)),this.componentElement=e)}addElementHandler(e,t,n,i){this.eventManager.addElementHandler(this.componentElement,e,t,n,i)}removeElementHandler(e,t,n,i){this.eventManager.removeElementHandler(this.componentElement,e,t,n,i)}}const E=f,y=class extends E{get prototypes(){return{component:this.app.objectContainer.get("Filter/Component/Prototypes"),urlNavigation:this.app.objectContainer.get("Project/URLNavigation/Prototypes")}}get register(){return{components:this.app.objectContainer.get("Filter/Components"),entityTypes:this.app.objectContainer.get("Entity/Register"),productsQueryVars:this.app.objectContainer.get("ProductsQueryVars"),productsLoopProperties:this.app.objectContainer.get("ProductsLoopProperties")}}get builders(){return{component:this.app.componentRegister.get("Filter/Builder/Component")}}get componentBuilder(){return this.app.objectContainer.get("ComponentBuilder")}get entityCollector(){return this.app.componentRegister.get("Entity/Collector")}get localizedMessages(){return this.app.objectContainer.get("Messages")}get appSelectors(){return this.app.objectContainer.get("Selectors")}get filterPackage(){return this.app.packageRegister.get("Filter/Package")}get wooData(){return this.app.objectContainer.get("WooData")}};var v=__webpack_require__(149);class w{constructor(){this.observers=new Map}add(e,t,n){this.observers.has(e)||this.observers.set(e,[]),t=n?(0,v.Z)(t,n):t,this.observers.get(e).push(t)}remove(e,t,n){this.observers.has(e)&&(t=n||(0,v.Z)(t,this),this.observers.get(e).filter((e=>e!==t)))}notify(e,t,n){this.observers.has(e)&&this.observers.get(e).forEach((i=>{i(t,n,e)}))}}function b(e,t,n){if("string"==typeof t)return b(e,t.split("."),n);if(1==t.length&&void 0!==n)return e[t[0]]=n;if(0==t.length)return i=e,JSON.parse(JSON.stringify(i));if(!e.hasOwnProperty(t[0])){if(void 0===n)return;e[t[0]]={}}return b(e[t[0]],t.slice(1),n);var i}class P{constructor(e){this.observable=new w,e&&(this.container=e)}has(e){return void 0!==b(this.container,e)}get(e){return b(this.container,e)}set(e,t){let n=this.has(e)?this.get(e):null;b(this.container,e,t),"string"==typeof e&&e.split(".").length&&(e=e.split(".")[0]),this.observable.notify(e,t,n)}}class C extends y{constructor(){super(),this.options=new P,this.childFilterComponents=[],this.componentState=new Map}initialProperties(){this.options.container=this.entity.options,this.initialPropertiesOfElement()}attachEvents(e){this.attachElementEvents(e)}initialPropertiesOfElement(){}attachElementEvents(e){}get activeComponentElement(){if(this.componentElement.length>1){let e=this.componentElement.filter(":visible");return e.each(((t,n)=>{let i=jQuery(n);if("visible"==i.css("visibility"))return e=i,!1})),e}return this.componentElement}}function _(e,t){for(let n in e){if(e.hasOwnProperty(n)!==t.hasOwnProperty(n))return!1;let i=typeof e[n];if("object"==i){if(!_(e[n],t[n]))return!1}else if("function"==i){if(void 0===t[n]||e[n].toString()!=t[n].toString())return!1}else if(e[n]!=t[n])return!1}for(let n in t)if(void 0===e[n])return!1;return!0}function F(e,t){return Object.getPrototypeOf(e)===Object.getPrototypeOf(t)&&void 0!==e.length&&e.length===t.length&&Array.prototype.every.call(e,((e,n)=>e===t[n]))}class x extends y{get notesListElement(){return this.componentElement.find(".wcpf-note-list")}get notesItemsElement(){return this.notesListElement.find(".wcpf-note-item")}attachEvents(e){e.addElementHandler(this.componentElement,"click",".remove-filter",this.onRemoveFilterClick),this.eventManager.addSystemHandler(this.project.applyFilterValueEvent,this.onApplyFilterValue),this.eventManager.addSystemHandler(this.project.removeFilterValueEvent,this.onRemoveFilterValue)}onRemoveFilterValue(t){let n=t.filterComponent;this.notesItemsElement.each(((t,i)=>{let s=(0,e.Z)(i),r=s.data("wcpf-note-entry");n.entity.entityId==r.filterComponent.entity.entityId&&s.remove()}))}onApplyFilterValue(t){let n=t.filterComponent;"collectFilterNotes"in n&&this.notesListElement.each(((i,s)=>{let r=n.collectFilterNotes(t.value,t.filterKey),l=!r.length;if(jQuery(s).find(".wcpf-note-item").each(((t,i)=>{let s=(0,e.Z)(i),o=s.data("wcpf-note-entry"),a=-1;if(n.entity.entityId==o.filterComponent.entity.entityId){for(let[e,t]of r.entries()){let n=!1;if(typeof t.filterValue==typeof o.filterValue&&(n=!(!Array.isArray(t.filterValue)||!F(t.filterValue,o.filterValue))||!("object"!=typeof t.filterValue||!_(t.filterValue,o.filterValue))||t.filterValue==o.filterValue,n&&t.mark==o.mark)){a=e;break}}-1==a||l?s.remove():r.splice(a,1)}})),r.length)for(let e of r.values())this.addEntry(e)}))}onRemoveFilterClick(e){let t=function(e){return jQuery(e.currentTarget)}(e),n=t.parents(".wcpf-note-item:first").data("wcpf-note-entry");n&&n.filterComponent&&"removeFilterValueByFilterNote"in n.filterComponent&&n.filterComponent.removeFilterValueByFilterNote(n)}addEntry(t){let n=(0,e.Z)(`\n            <div class="wcpf-note-item">\n                <span class="note-text">${t.text}</span>\n                <span class="remove-filter"></span>\n            </div>\n        `);n.data("wcpf-note-entry",t),this.notesListElement.append(n)}}class k extends C{initialProperties(){super.initialProperties(),this.productsElement=null,this.getNotesElement()&&(this.filterNotes=this.componentBuilder.build(x),this.filterNotes.project=this.project,this.filterNotes.componentElement=this.getNotesElement(),this.componentBuilder.implementation(this.filterNotes,this.package))}attachEvents(e){super.attachEvents(e),e.addSystemHandler(this.project.beforeLoadingProductPageEvent,this.beforeLoadingProductPage),e.addSystemHandler(this.project.afterLoadingProductPageEvent,this.afterLoadingProductPage),e.addSystemHandler(this.project.productPageLoadedEvent,this.onProductPageLoaded),this.attachEventsToPageParts(e)}attachEventsToPageParts(e){this.options.get("paginationAjax")&&-1!=this.options.get("useComponents").indexOf("pagination")&&this.getPaginationElement()&&e.addElementHandler(this.getPaginationElement(),"click","a",this.onPaginationClick),this.options.get("sortingAjax")&&-1!=this.options.get("useComponents").indexOf("sorting")&&this.getSortingElement()&&(e.addElementHandler(this.getSortingElement(),"submit",this.onSortingSubmit),e.addElementHandler(this.getSortingElement(),"change",".orderby",this.onSortingChange))}getThemePartSelector(e){return this.app.objectContainer.has("ThemeSelectors")&&this.app.objectContainer.get("ThemeSelectors").hasOwnProperty(e)?this.app.objectContainer.get("ThemeSelectors")[e]:null}getBreadcrumbSelectors(){return[this.options.get("breadcrumbSelector"),this.appSelectors.breadcrumb]}getSortingSelectors(){let e=[this.options.get("sortingSelector"),this.appSelectors.sorting];return this.getThemePartSelector("sorting")&&e.push(this.getThemePartSelector("sorting")),e}getResultCountSelectors(){let e=[this.options.get("resultCountSelector"),this.appSelectors.resultCount];return this.getThemePartSelector("resultCount")&&e.push(this.getThemePartSelector("resultCount")),e}getPaginationSelectors(){let e=[this.options.get("paginationSelector"),this.appSelectors.paginationContainer];return this.getThemePartSelector("paginationContainer")&&e.push(this.getThemePartSelector("paginationContainer")),e}getProductsSelectors(){let e=[`.wcpf-products-container-${this.entity.entityId}`,this.options.get("productsContainerSelector"),this.appSelectors.productsContainer];return this.options.get("multipleContainersForProducts")&&(e[0]+=","+this.options.get("productsContainerSelector")),e}getNotesSelectors(){return[`.wcpf-filter-notes-${this.entity.entityId}`,".wcpf-filter-notes-default"]}getPageTitleSelectors(){return[this.options.get("pageTitleSelector"),this.appSelectors.pageTitle]}getBreadcrumbElement(){return this.findElementBySelectors(this.getBreadcrumbSelectors())}getNotesElement(){return this.findElementBySelectors(this.getNotesSelectors())}getPaginationElement(){return this.findElementBySelectors(this.getPaginationSelectors())}getSortingElement(){return this.findElementBySelectors(this.getSortingSelectors())}getResultCountElement(){return this.findElementBySelectors(this.getResultCountSelectors())}getPageTitleElement(){return this.findElementBySelectors(this.getPageTitleSelectors())}getProductsElement(){return this.productsElement?this.productsElement:this.findElementBySelectors(this.getProductsSelectors())}setProductsElement(e){this.productsElement=e}beforeLoadingProductPage(){jQuery.blockUI({message:null})}afterLoadingProductPage(){jQuery.unblockUI()}prepareComponentElement(e,t,n){"pagination"==e&&t.attr("style")&&!n.attr("style")&&n.attr("style",t.attr("style"))}onProductPageLoaded(t){let n=(0,e.Z)(t.page.documentElement),i=this.options.get("useComponents"),s=[{selectors:this.getPaginationSelectors(),componentKey:"pagination",element:this.getPaginationElement()},{selectors:this.getResultCountSelectors(),componentKey:"results-count",element:this.getResultCountElement()},{selectors:this.getSortingSelectors(),componentKey:"sorting",element:this.getSortingElement()},{selectors:this.getPageTitleSelectors(),componentKey:"page-title",element:this.getPageTitleElement()},{selectors:this.getBreadcrumbSelectors(),componentKey:"breadcrumb",element:this.getBreadcrumbElement()}];for(let e of s.values())if(-1!=i.indexOf(e.componentKey)&&e.element)if(e.element.html(""),-1!=e.selectors[0].indexOf(",")){let t=e.selectors[0].split(",");for(let i in t){if(!t.hasOwnProperty(i))continue;let s=this.findElementBySelectors([t[i]],n),r=this.findElementBySelectors([t[i]]);r&&s&&(this.prepareComponentElement(e.componentKey,r,s.first()),r.replaceWith(s.first()))}}else{let t=this.findElementBySelectors(e.selectors,n);t&&(this.prepareComponentElement(e.componentKey,e.element,t.first()),e.element.replaceWith(t.first()))}let r=this.getProductsElement();if(r&&r.length||(r=this.findContainerElementForProducts(this.app.bodyElement)),r){let e=this.findElementBySelectors(this.getProductsSelectors(),n);e&&e.length||(e=this.findContainerElementForProducts(n)),e?(this.options.get("multipleContainersForProducts")&&e.length>1&&e.length==r.length?e.each(((e,t)=>{jQuery(r.get(e)).replaceWith(jQuery(t))})):(e=e.first(),r.replaceWith(e)),this.setProductsElement(e),this.updateImageHeightForSafari()):r.html("")}this.attachEventsToPageParts(this.eventManager),"yes"==window.WCPFData.scrollTop&&this.productsElement&&jQuery("html,body").stop().animate({scrollTop:this.productsElement.offset().top-jQuery(window).height()/3.5},500,"swing")}findContainerElementForProducts(e){let t=[],n=[e.find(".product.type-product").filter('[class^="post-"],[class*=" post-"]'),e.find(".product-category.product")];for(let e in n){if(!n.hasOwnProperty(e))continue;let i=n[e];i.length&&i.each(((e,n)=>{let i=jQuery(n).parent(),s=!1;for(let e in t)if(t.hasOwnProperty(e)&&jQuery(t[e]).is(i)){s=!0;break}s||t.push(i.get(0))}))}return t.length?jQuery(t):null}updateImageHeightForSafari(){let e=this.getProductsElement();e&&e.find("img").each(((e,t)=>{t.outerHTML=t.outerHTML}))}onPaginationClick(t){t.preventDefault();let n=(0,e.Z)(t.currentTarget).attr("href");n&&this.project.goToPageNumberByUrl(n)}onSortingChange(t){let n=(0,e.Z)(t.currentTarget).val();n&&this.project.applySortingToProducts(n)}onSortingSubmit(e){e.preventDefault()}findElementBySelectors(t,n){for(let i of t.values()){let t=n?n.find(i):(0,e.Z)(i);if(t.length)return t}return null}}class S extends g.Z{attachEvents(e){e.addSystemHandler(this.filterPackage.initFilterEvent,this.initFilter)}initFilter(e){e.component.set("Project",k)}}class j extends i{initialProperties(){this.app.packageRegister.set("Project/Package",this)}getInitialSubpackages(){return[new u]}getInitialComponents(){return[new S]}}var I=__webpack_require__(694);class O extends g.Z{initialProperties(){this.app.componentRegister.set("Filter/Dispatcher",this)}attachEvents(e){e.addWindowHandler("load",this.onWindowLoaded)}expansionSupport(){if(Array.prototype.hasOwnProperty("compare")){let e=Array.prototype.compare;delete Array.prototype.compare,Object.defineProperty(Array.prototype,"compare",{value:e,enumerable:!1})}}onWindowLoaded(e){this.expansionSupport();let t=window.WCPFData;this.app.objectContainer.set("IsPaged",t.isPaged),this.app.objectContainer.set("Messages",t.messages),this.app.objectContainer.set("Selectors",t.selectors),this.app.objectContainer.set("PageUrl",t.pageUrl),this.app.objectContainer.set("WooData",{priceFormat:t.priceFormat});for(let e in t.registerEntities){if(!t.registerEntities.hasOwnProperty(e))continue;let n=t.registerEntities[e];this.register.entityTypes.set(e,{id:n.id,label:n.label,isGrouped:n.is_grouped,defaultOptions:n.default_options})}this.filterPackage.initFilterEvent.trigger(this.prototypes)}loadProject(e){let t=this.entityCollector.collectEntityByStructure(e);if(this.register.components.has(e.entityId))return;let n=new I.Z;n.projectComponent=this.builders.component.createComponent(t,n),this.assignDocumentElementForFilterComponent(n.projectComponent),this.builders.component.implementationComponent(n.projectComponent),this.componentBuilder.implementation(n,this.package),n.initEvent.trigger(n)}assignDocumentElementForFilterComponent(e){e.componentElement=this.app.bodyElement.find(`.wcpf-front-element-${e.entity.entityId}`);for(let t in e.childFilterComponents)e.childFilterComponents.hasOwnProperty(t)&&this.assignDocumentElementForFilterComponent(e.childFilterComponents[t])}}class V extends g.Z{initialProperties(){this.app.componentRegister.set("Filter/Builder/Component",this)}attachEvents(e){}createComponent(e,t){if(!this.prototypes.component.has(e.entityKey))throw new Error(`Component prototype by entity key '${e.entityKey}' not found`);let n=this.prototypes.component.get(e.entityKey),i=this.componentBuilder.build(n);i.entity=e,i.project=t;for(let n in e.childEntities){if(!e.childEntities.hasOwnProperty(n))continue;let s=e.childEntities[n];i.childFilterComponents.push(this.createComponent(s,t))}return this.register.components.set(e.entityId,i),i}implementationComponent(e){this.componentBuilder.implementation(e,this.package);for(let t in e.childFilterComponents)e.childFilterComponents.hasOwnProperty(t)&&this.implementationComponent(e.childFilterComponents[t])}}class M extends i{constructor(){super(...arguments),this.initFilterEvent=new n.Z}initialProperties(){this.app.objectContainer.set("ProductsQueryVars",new Map),this.app.objectContainer.set("ProductsLoopProperties",new Map),this.app.packageRegister.set("Filter/Package",this),this.app.objectContainer.set("Filter/Components",new Map),this.app.objectContainer.set("Filter/Component/Prototypes",new Map)}getInitialSubpackages(){return[new j]}getInitialComponents(){return[new O,new V]}}const K=class extends C{getFilterKeysList(){return Object.values(this.getFilterKeys())}getFilterKeyByIndex(e){let t=this.getFilterKeys();return t.hasOwnProperty(e)?t[e]:null}applyFilterValue(e,t){this.project.applyFilterValue(this,e,t)}removeFilterValue(e){this.project.removeFilterValue(this,e)}},B=class extends K{getFieldKey(){return this.getFilterKeys().field}getFilterKeys(){return{field:this.options.get("optionKey")}}updateValueFromElement(e){let t=this.getFieldKey();"string"==typeof e&&(t=e);let n=this.getDocumentElementValue(t);Array.isArray(n)&&!n.length||null==n||"string"==typeof n&&!n.length?this.removeFilterValue(t):this.applyFilterValue(t,n)}resetDocumentElementValue(e){this.setDocumentElementValue(e,null)}initialPropertiesOfElement(){super.initialPropertiesOfElement(),this.componentState.has("box")?"hide"==this.componentState.get("box")?(this.componentElement.addClass("wcpf-box-hide"),this.componentElement.find(".wcpf-content").slideUp(0)):(this.componentElement.removeClass("wcpf-box-hide"),this.componentElement.find(".wcpf-content").slideDown(0)):this.componentElement.hasClass("wcpf-box-style")&&this.componentElement.hasClass("wcpf-box-hide")&&this.componentElement.find(".wcpf-content").slideUp(300),this.componentElement.hasClass("wcpf-hierarchical-collapsed")&&this.componentElement.find(".wcpf-item-hierarchical-collapsed").each(((e,t)=>{let n=jQuery(t),i="boxItem_"+n.data("item-key"),s=n.hasClass("wcpf-item-box-hide");this.componentState.has(i)&&"hide"!=this.componentState.get(i)&&s?(n.removeClass("wcpf-item-box-hide"),n.find(".wcpf-item-children-container:first").slideDown(0)):n.find(".wcpf-item-children-container:first").css({display:s?"none":"block"})})),this.componentElement.hasClass("wcpf-scrollbar")?this.componentElement.each(((e,t)=>{let n=jQuery(t),i=n.find(".wcpf-content"),s="maxHeight_"+e;if(this.componentState.has(s))i.css({maxHeight:this.componentState.get(s)+"px"});else{let e=this.options.get("heightOfVisibleContent");(!e||e<=0)&&(e=12);let t=n.find(".wcpf-item-label:first").actual("height")*e;t+=2,i.css({maxHeight:t+"px"}),this.componentState.set(s,t)}})):this.componentElement.hasClass("wcpf-contain-more-button")&&!this.componentState.get("showMoreContent")&&this.componentElement.each(((e,t)=>{let n=jQuery(t),i=this.options.get("heightOfVisibleContent"),s=n.find(".wcpf-item"),r=n.find(".wcpf-more-button");(!i||i<=0)&&(i=12);let l=1;s.each(((e,t)=>{let n=jQuery(t);n.parents(".wcpf-item.wcpf-item-box-hide").length||(l>i&&n.addClass("wcpf-more-item wcpf-item-hide"),l++)})),l>i&&r.addClass("wcpf-status-active")}))}attachElementEvents(e){super.attachElementEvents(e),this.componentElement.hasClass("wcpf-box-style")&&e.addElementHandler(this.componentElement,"click",".wcpf-heading-label",this.onBoxToggleClick),this.componentElement.hasClass("wcpf-hierarchical-collapsed")&&e.addElementHandler(this.componentElement.find([".wcpf-item-hierarchical-collapsed > .wcpf-item-inner > .wcpf-item-label .wcpf-title-container",".wcpf-item-hierarchical-collapsed > .wcpf-item-inner > .wcpf-item-label .box-item-toggle"].join(",")),"click",this.onItemBoxToggleClick),this.componentElement.hasClass("wcpf-contain-more-button")&&e.addElementHandler(this.componentElement.find(".wcpf-more-button"),"click",this.onMoreButtonClick)}onMoreButtonClick(e){let t=jQuery(e.currentTarget).parents(".wcpf-front-element:first"),n=t.find(".wcpf-more-item");t.hasClass("wcpf-hide-more-items")?n.addClass("wcpf-item-hide"):n.removeClass("wcpf-item-hide"),t.toggleClass("wcpf-hide-more-items"),this.componentState.set("showMoreContent",t.hasClass("wcpf-hide-more-items"))}onItemBoxToggleClick(t){let n=(0,e.Z)(t.currentTarget).parents(".wcpf-item-hierarchical-collapsed:first"),i="boxItem_"+n.data("item-key");n.hasClass("wcpf-item-box-hide")?(n.find(".wcpf-item-children-container:first").slideDown(300),this.componentState.set(i,"show")):(n.find(".wcpf-item-children-container:first").slideUp(300),this.componentState.set(i,"hide")),n.toggleClass("wcpf-item-box-hide")}onBoxToggleClick(e){this.componentElement.toggleClass("wcpf-box-hide"),this.componentElement.hasClass("wcpf-box-hide")?(this.componentElement.find(".wcpf-content").slideUp(300),this.componentState.set("box","hide")):(this.componentElement.find(".wcpf-content").slideDown(300),this.componentState.set("box","show"))}};class D{constructor(e){this.mark="",e&&(e.hasOwnProperty("filterComponent")&&(this.filterComponent=e.filterComponent),e.hasOwnProperty("filterValue")&&(this.filterValue=e.filterValue),e.hasOwnProperty("text")&&(this.text=e.text),e.hasOwnProperty("mark")&&(this.mark=e.mark))}}class A extends B{get itemElements(){return this.activeComponentElement.find(".wcpf-checkbox-item")}attachElementEvents(e){super.attachElementEvents(e);let t=[];this.componentElement.hasClass("wcpf-hierarchical-collapsed")?(t.push(".wcpf-checkbox-item.wcpf-item-hierarchical-collapsed:not(.disabled) > .wcpf-item-inner > .wcpf-item-label .wcpf-input-container"),t.push(".wcpf-checkbox-item:not(.disabled,.wcpf-item-hierarchical-collapsed)> .wcpf-item-inner > .wcpf-item-label")):t.push(".wcpf-checkbox-item:not(.disabled) .wcpf-checkbox-label"),e.addElementHandler(this.componentElement.find(t.join(",")),"click",this.onLabelClick)}onLabelClick(t){let n=(0,e.Z)(t.currentTarget),i=n.parents(".wcpf-checkbox-item:first");i.toggleClass("checked"),n.find(".wcpf-input").prop("checked",i.hasClass("checked")),i.parents(".wcpf-checkbox-item.checked").each(this.uncheckElement),i.find(".wcpf-checkbox-item.checked").each(this.uncheckElement),this.updateValueFromElement(this.getFieldKey())}uncheckElement(e,t){let n=jQuery(t),i=n.data("item-key");n.removeClass("checked"),n.find(`.wcpf-input[value="${i}"]`).prop("checked",!1)}setDocumentElementValue(e,t){if(null==t&&(t=""),this.itemElements.find(".wcpf-input").prop("checked",!1),this.itemElements.filter(".checked").removeClass("checked"),"string"==typeof t&&(t=[t]),Array.isArray(t))for(let e of t){let t=this.itemElements.find(`.wcpf-input[value="${e}"]`),n=t.parents(".wcpf-checkbox-item:first");t.prop("checked",!0),n.addClass("checked")}}getDocumentElementValue(t){let n=[];return this.itemElements.filter(".checked").each(((t,i)=>{let s=(0,e.Z)(i);n.push(s.data("item-key"))})),n}removeFilterValueByFilterNote(e){let t=this.getDocumentElementValue(this.getFieldKey()),n=t.indexOf(e.filterValue);-1!=n&&(t.splice(n,1),this.setDocumentElementValue(this.getFieldKey(),t),t.length?this.applyFilterValue(this.getFieldKey(),t):this.removeFilterValue(this.getFieldKey()))}collectFilterNotes(e,t){let n=[];if("string"==typeof e&&(e=[e]),Array.isArray(e))for(let t of e.values()){let e=this.itemElements.filter(`[data-item-key="${t}"]`),i=e.find(".wcpf-checkbox-label:first");e.length&&i.length&&n.push(new D({filterComponent:this,filterValue:t,text:i.find(".wcpf-title").html()}))}return n}}class H extends g.Z{attachEvents(e){e.addSystemHandler(this.filterPackage.initFilterEvent,this.initFilter)}initFilter(e){e.component.set("CheckBoxListField",A)}}class L extends i{getInitialComponents(){return[new H]}}class T extends B{get itemElements(){return this.activeComponentElement.find(".wcpf-radio-item")}initialProperties(){super.initialProperties()}attachElementEvents(e){super.attachElementEvents(e);let t=[];this.componentElement.hasClass("wcpf-hierarchical-collapsed")?(t.push(".wcpf-radio-item.wcpf-item-hierarchical-collapsed:not(.disabled) > .wcpf-item-inner > .wcpf-item-label .wcpf-input-container"),t.push(".wcpf-radio-item:not(.disabled,.wcpf-item-hierarchical-collapsed)> .wcpf-item-inner > .wcpf-item-label")):t.push(".wcpf-radio-item:not(.disabled) .wcpf-radio-label"),e.addElementHandler(this.componentElement.find(t.join(",")),"click",this.onLabelClick)}onLabelClick(t){let n=(0,e.Z)(t.currentTarget),i=n.parents(".wcpf-radio-item:first");this.itemElements.find(".wcpf-input").prop("checked",!1),this.itemElements.filter(".checked").removeClass("checked"),n.find(".wcpf-input").prop("checked",!0),i.addClass("checked"),this.updateValueFromElement(this.getFieldKey())}setDocumentElementValue(e,t){null==t&&(t=""),this.itemElements.find(".wcpf-input").prop("checked",!1),this.itemElements.filter(".checked").removeClass("checked");let n=this.itemElements.filter(`[data-item-key="${t}"]`);n.find(".wcpf-input:first").prop("checked",!0),n.addClass("checked")}getDocumentElementValue(e){return this.itemElements.filter(".checked").data("item-key")}removeFilterValueByFilterNote(e){this.resetDocumentElementValue(this.getFieldKey()),this.removeFilterValue(this.getFieldKey())}collectFilterNotes(e,t){let n=[];if(null!=e&&"string"==typeof e){let t=this.itemElements.filter(`[data-item-key="${e}"]`),i=t.find(".wcpf-radio-label:first");if(!t.length)return n;n.push(new D({filterComponent:this,filterValue:e,text:i.find(".wcpf-title").html()}))}return n}}class Z extends g.Z{attachEvents(e){e.addSystemHandler(this.filterPackage.initFilterEvent,this.initFilter)}initFilter(e){e.component.set("RadioListField",T)}}class U extends i{getInitialComponents(){return[new Z]}}class R extends B{get inputElement(){return this.activeComponentElement.find(".wcpf-input")}initialPropertiesOfElement(){super.initialPropertiesOfElement();let e=this.componentElement.find(".wcpf-drop-down-style-woocommerce");jQuery.fn.hasOwnProperty("selectWoo")&&e.selectWoo({minimumResultsForSearch:5,width:"100%",allowClear:!1,placeholder:this.options.get("titleItemReset"),language:{noResults:()=>this.localizedMessages.selectNoMatchesFound}})}attachElementEvents(e){super.attachElementEvents(e),e.addElementHandler(this.componentElement.find(".wcpf-input"),"change",this.updateValueFromElement)}setDocumentElementValue(e,t){null==t&&(t=""),this.inputElement.val(t)}getDocumentElementValue(e){return this.inputElement.val()}removeFilterValueByFilterNote(e){this.resetDocumentElementValue(this.getFieldKey()),this.removeFilterValue(this.getFieldKey())}collectFilterNotes(e,t){let n=[];if(null!=e&&"string"==typeof e){let t=this.inputElement.find(`option[value="${e}"]`);if(!t.length)return n;n.push(new D({filterComponent:this,filterValue:e,text:t.data("title")}))}return n}}class N extends g.Z{attachEvents(e){e.addSystemHandler(this.filterPackage.initFilterEvent,this.initFilter)}initFilter(e){e.component.set("DropDownListField",R)}}class Q extends i{getInitialComponents(){return[new N]}}class W extends C{attachElementEvents(e){super.attachElementEvents(e),e.addElementHandler(this.componentElement,"click",".wcpf-button",this.onButtonClick)}onButtonClick(e){let t=this.options.get("action");"filter"==t?this.project.applyFilters():"reset"==t&&this.project.resetFilters()}}class q extends g.Z{attachEvents(e){e.addSystemHandler(this.filterPackage.initFilterEvent,this.initFilter)}initFilter(e){e.component.set("ButtonField",W)}}class $ extends i{getInitialComponents(){return[new q]}}class z extends B{get minInputElement(){return this.activeComponentElement.find(".wcpf-min-input")}get maxInputElement(){return this.activeComponentElement.find(".wcpf-max-input")}get sliderElement(){return this.componentElement.find(".priceSliderInput")}get labelElement(){return this.componentElement.find(".priceLabel")}getFilterKeys(){let e={};return"dash"==this.options.get("optionKeyFormat")?e.price=this.options.get("optionKey"):"two"==this.options.get("optionKeyFormat")&&(e.minPrice=this.options.get("minPriceOptionKey"),e.maxPrice=this.options.get("maxPriceOptionKey")),e}initialPropertiesOfElement(){super.initialPropertiesOfElement(),this.sliderElement.show(),this.componentElement.hasClass("wcpf-display-price-label")&&this.labelElement.show();let e=parseFloat(this.minInputElement.data("min")),t=parseFloat(this.maxInputElement.data("max")),n=parseFloat(this.minInputElement.val()),i=parseFloat(this.maxInputElement.val());this.sliderElement.slider({range:!0,animate:!0,min:e,max:t,values:[n,i],stop:(0,v.Z)(this.onSlideStop,this),slide:(0,v.Z)(this.onSlideMove,this)}),this.setPriceLabel(n,i),this.componentElement.hasClass("wcpf-box-style")&&this.componentElement.hasClass("wcpf-box-hide")&&this.componentElement.find(".wcpf-content").slideUp(300)}attachElementEvents(e){super.attachElementEvents(e),this.attachMinMaxInputEvents(),this.eventManager.addElementHandler(this.componentElement,"keypress keyup blur",".wcpf-price-slider-min-max-inputs .wcpf-input",this.onMinMaxInputKeyChange)}attachMinMaxInputEvents(){this.eventManager.addElementHandler(this.componentElement,"change",".wcpf-price-slider-min-max-inputs .wcpf-input",this.onMinMaxInputChange)}detachMinMaxInputEvents(){this.eventManager.removeElementHandler(this.componentElement,"change",".wcpf-price-slider-min-max-inputs .wcpf-input",this.onMinMaxInputChange)}resetDocumentElementValue(e){let t=parseFloat(this.minInputElement.data("min")),n=parseFloat(this.maxInputElement.data("max"));this.getFilterKeyByIndex("price")==e?this.setDocumentElementValue(e,t+"-"+n):this.getFilterKeyByIndex("minPrice")==e?this.setDocumentElementValue(e,t):this.getFilterKeyByIndex("maxPrice")==e&&this.setDocumentElementValue(e,n)}setDocumentElementValue(e,t){if(this.detachMinMaxInputEvents(),this.getFilterKeyByIndex("price")==e){let e=t.split("-");this.minInputElement.val(e[0]),e.length>1&&this.maxInputElement.val(e[1])}else this.getFilterKeyByIndex("minPrice")==e?this.minInputElement.val(t):this.getFilterKeyByIndex("maxPrice")==e&&this.maxInputElement.val(t);this.updateSliderRangeValue(),this.attachMinMaxInputEvents()}getDocumentElementValue(e){let t=this.getMinValue(),n=this.getMaxValue();return this.getFilterKeyByIndex("price")==e?t+"-"+n:this.getFilterKeyByIndex("minPrice")==e?t:this.getFilterKeyByIndex("maxPrice")==e?n:""}updateSliderRangeValue(){let e=parseFloat(this.minInputElement.val()),t=parseFloat(this.maxInputElement.val());this.sliderElement.slider("values",[e,t]),this.setPriceLabel(e,t)}onMinMaxInputKeyChange(e){let t=jQuery(e.currentTarget),n=t.val();this.detachMinMaxInputEvents(),t.val(n.replace(/[^\d].+/,"")),(e.which<48||e.which>57)&&e.preventDefault(),this.attachMinMaxInputEvents()}onMinMaxInputChange(e){let t=jQuery(e.currentTarget),n=null;"dash"==this.options.get("optionKeyFormat")?n=this.getFilterKeyByIndex("price"):"two"==this.options.get("optionKeyFormat")&&(n=t.hasClass("wcpf-min-input")?this.getFilterKeyByIndex("minPrice"):this.getFilterKeyByIndex("maxPrice")),this.updateSliderRangeValue(),n&&this.applyFilterValue(n,this.getDocumentElementValue(n))}onSlideMove(e,t){this.minInputElement.val(t.values[0]),this.maxInputElement.val(t.values[1]),this.updateSliderRangeValue()}onSlideStop(e,t){let n=null;"dash"==this.options.get("optionKeyFormat")?n=this.getFilterKeyByIndex("price"):"two"==this.options.get("optionKeyFormat")&&(n=jQuery(t.handle).is(":last-child")?this.getFilterKeyByIndex("maxPrice"):this.getFilterKeyByIndex("minPrice")),n&&this.applyFilterValue(n,this.getDocumentElementValue(n))}getPriceText(e){return window.accounting.formatMoney(e,{symbol:this.wooData.priceFormat.currencyFormatSymbol,decimal:this.wooData.priceFormat.currencyFormatDecimalSep,thousand:this.wooData.priceFormat.currencyFormatThousandSep,precision:this.wooData.priceFormat.currencyFormatNumDecimals,format:this.wooData.priceFormat.currencyFormat})}setPriceLabel(e,t){window.accounting,this.labelElement.find(".from").html(this.getPriceText(e)),this.labelElement.find(".to").html(this.getPriceText(t))}removeFilterValueByFilterNote(e){for(let e of this.getFilterKeysList())this.resetDocumentElementValue(e),this.removeFilterValue(e)}getMaxValue(){let e=this.maxInputElement.val();return""==e&&(e=this.maxInputElement.data("max")),e}getMinValue(){let e=this.minInputElement.val();return""==e&&(e=this.minInputElement.data("min")),e}collectFilterNotes(e,t){let n=[];if(null!=e&&"string"==typeof e){let t=this.getMinValue(),i=this.getMaxValue();n.push(new D({filterComponent:this,filterValue:e,text:this.getPriceText(t)+" - "+this.getPriceText(i)}))}return n}}class G extends g.Z{attachEvents(e){e.addSystemHandler(this.filterPackage.initFilterEvent,this.initFilter)}initFilter(e){e.component.set("PriceSliderField",z)}}class J extends i{getInitialComponents(){return[new G]}}class X extends B{get itemElements(){return this.activeComponentElement.find(".wcpf-box-item")}attachElementEvents(e){super.attachElementEvents(e),e.addElementHandler(this.componentElement.find(".wcpf-box-item:not(.disabled)"),"click",this.onClickItem)}onClickItem(t){let n=(0,e.Z)(t.currentTarget);this.options.get("multiSelect")||this.itemElements.filter(".selected").not(`[data-value="${n.data("value")}"]`).removeClass("selected"),n.toggleClass("selected"),this.updateValueFromElement(this.getFieldKey())}setDocumentElementValue(e,t){if(null==t&&(t=""),this.itemElements.filter(".selected").removeClass("selected"),"string"==typeof t&&(t=[t]),Array.isArray(t))for(let e of t)this.itemElements.filter(`[data-value="${e}"]`).addClass("selected")}getDocumentElementValue(t){let n=[];return this.itemElements.filter(".selected").each(((t,i)=>{let s=(0,e.Z)(i);n.push(s.data("value"))})),n}removeFilterValueByFilterNote(e){let t=this.getDocumentElementValue(this.getFieldKey()),n=t.indexOf(e.filterValue);-1!=n&&(t.splice(n,1),this.setDocumentElementValue(this.getFieldKey(),t),t.length?this.applyFilterValue(this.getFieldKey(),t):this.removeFilterValue(this.getFieldKey()))}collectFilterNotes(e,t){let n=[];if("string"==typeof e&&(e=[e]),Array.isArray(e))for(let t of e.values()){let e=this.itemElements.filter(`[data-value="${t}"]`),i=e.find(".wcpf-title");e.length&&i.length&&n.push(new D({filterComponent:this,filterValue:t,text:i.html()}))}return n}}class Y extends g.Z{attachEvents(e){e.addSystemHandler(this.filterPackage.initFilterEvent,this.initFilter)}initFilter(e){e.component.set("BoxListField",X)}}class ee extends i{getInitialComponents(){return[new Y]}}class te extends B{get itemElements(){return this.activeComponentElement.find(".wcpf-text-item")}attachElementEvents(e){super.attachElementEvents(e),e.addElementHandler(this.componentElement.find(".wcpf-text-item:not(.disabled) .wcpf-text-label"),"click",this.onLabelClick)}onLabelClick(e){let t=jQuery(e.currentTarget).parents(".wcpf-text-item:first");this.options.get("multiSelect")||this.itemElements.filter(".selected").not(`[data-value="${t.data("value")}"]`).removeClass("selected"),t.toggleClass("selected"),t.parents(".wcpf-text-item.selected").each(this.uncheckElement),t.find(".wcpf-text-item.selected").each(this.uncheckElement),this.updateValueFromElement(this.getFieldKey())}uncheckElement(e,t){let n=jQuery(t),i=n.data("value");n.removeClass("selected"),n.find(`.wcpf-input[value="${i}"]`).prop("checked",!1)}setDocumentElementValue(e,t){if(null==t&&(t=""),this.itemElements.filter(".selected").removeClass("selected"),"string"==typeof t&&(t=[t]),Array.isArray(t))for(let e of t)this.itemElements.filter(`[data-value="${e}"]`).addClass("selected")}getDocumentElementValue(t){let n=[];return this.itemElements.filter(".selected").each(((t,i)=>{let s=(0,e.Z)(i);n.push(s.data("value"))})),n}removeFilterValueByFilterNote(e){let t=this.getDocumentElementValue(this.getFieldKey()),n=t.indexOf(e.filterValue);-1!=n&&(t.splice(n,1),this.setDocumentElementValue(this.getFieldKey(),t),t.length?this.applyFilterValue(this.getFieldKey(),t):this.removeFilterValue(this.getFieldKey()))}collectFilterNotes(e,t){let n=[];if("string"==typeof e&&(e=[e]),Array.isArray(e))for(let t of e.values()){let e=this.itemElements.filter(`[data-value="${t}"]`),i=e.find(".wcpf-title");i.length&&e.length&&n.push(new D({filterComponent:this,filterValue:t,text:i.html()}))}return n}}class ne extends g.Z{attachEvents(e){e.addSystemHandler(this.filterPackage.initFilterEvent,this.initFilter)}initFilter(e){e.component.set("TextListField",te)}}class ie extends i{getInitialComponents(){return[new ne]}}class se extends B{get itemElements(){return this.activeComponentElement.find(".wcpf-color-item")}attachElementEvents(e){super.attachElementEvents(e),e.addElementHandler(this.componentElement.find(".wcpf-color-item:not(.disabled)").filter(":not(.disabled)"),"click",this.onClickItem)}onClickItem(t){let n=(0,e.Z)(t.currentTarget);this.options.get("multiSelect")||this.itemElements.filter(".selected").not(`[data-value="${n.data("value")}"]`).removeClass("selected"),n.toggleClass("selected"),this.updateValueFromElement(this.getFieldKey())}setDocumentElementValue(e,t){if(null==t&&(t=""),this.itemElements.filter(".selected").removeClass("selected"),"string"==typeof t&&(t=[t]),Array.isArray(t))for(let e of t)this.itemElements.filter(`[data-value="${e}"]`).addClass("selected")}getDocumentElementValue(t){let n=[];return this.itemElements.filter(".selected").each(((t,i)=>{let s=(0,e.Z)(i);n.push(s.data("value"))})),n}removeFilterValueByFilterNote(e){let t=this.getDocumentElementValue(this.getFieldKey()),n=t.indexOf(e.filterValue);-1!=n&&(t.splice(n,1),this.setDocumentElementValue(this.getFieldKey(),t),t.length?this.applyFilterValue(this.getFieldKey(),t):this.removeFilterValue(this.getFieldKey()))}collectFilterNotes(e,t){let n=[];if("string"==typeof e&&(e=[e]),Array.isArray(e))for(let t of e.values()){let e=this.itemElements.filter(`[data-value="${t}"]`),i=e.data("title");e.length&&i&&n.push(new D({filterComponent:this,filterValue:t,text:i}))}return n}}class re extends g.Z{attachEvents(e){e.addSystemHandler(this.filterPackage.initFilterEvent,this.initFilter)}initFilter(e){e.component.set("ColorListField",se)}}class le extends i{getInitialComponents(){return[new re]}}class oe extends i{getInitialSubpackages(){return[new L,new U,new Q,new $,new J,new ee,new ie,new le]}getInitialComponents(){return[]}}class ae extends g.Z{attachEvents(e){e.addSystemHandler(this.filterPackage.initFilterEvent,this.initFilter)}initFilter(e){e.component.set("ColumnsLayout",C)}}class ce extends i{getInitialComponents(){return[new ae]}}class pe extends C{initialPropertiesOfElement(){super.initialPropertiesOfElement(),this.componentState.has("box")?"hide"==this.componentState.get("box")?(this.componentElement.addClass("wcpf-box-hide"),this.componentElement.find(".wcpf-content:first").slideUp(0)):(this.componentElement.removeClass("wcpf-box-hide"),this.componentElement.find(".wcpf-content:first").slideDown(0)):this.componentElement.hasClass("wcpf-box-style")&&this.componentElement.hasClass("wcpf-box-hide")&&this.componentElement.find(".wcpf-content:first").slideUp(300)}attachElementEvents(e){super.attachElementEvents(e),this.componentElement.hasClass("wcpf-box-style")&&e.addElementHandler(this.componentElement,"click",".wcpf-heading-label:first",this.onBoxToggleClick)}onBoxToggleClick(e){this.componentElement.toggleClass("wcpf-box-hide"),this.componentElement.hasClass("wcpf-box-hide")?(this.componentElement.find(".wcpf-content:first").slideUp(300),this.componentState.set("box","hide")):(this.componentElement.find(".wcpf-content:first").slideDown(300),this.componentState.set("box","show"))}}class he extends g.Z{attachEvents(e){e.addSystemHandler(this.filterPackage.initFilterEvent,this.initFilter)}initFilter(e){e.component.set("SimpleBoxLayout",pe)}}class me extends i{getInitialComponents(){return[new he]}}class de extends i{getInitialSubpackages(){return[new ce,new me]}getInitialComponents(){return[]}}let ue=new class extends t{initialization(){let e=new s,t=new r;this.objectContainer.set("ComponentBuilder",t),e.build(new m,this),e.build(new M,this),e.build(new oe,this),e.build(new de,this)}};ue.initialization(),window.wcpfFrontApp=ue})()})();