1/*! cmsmasters-elementor-addon - v1.16.1 - 14-02-2025 */ 2"use strict";(self.webpackChunkcmsmasters_elementor_addon=self.webpackChunkcmsmasters_elementor_addon||[]).push([[2893],{2277:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.frontend.handlers.Base{__construct(){super.__construct(...arguments),this.bindElements=[],this.deviceNames=["mobile","tablet","desktop"],this.devicePrefixMaps={mobile:"mobile",tablet:"tablet",desktop:""}}bindElementChange(e,t){this.bindElements.push([e,t])}onElementChange(e){this.bindElements&&this.bindElements.length&&this.bindElements.forEach((t=>{let[s]=t;Array.isArray(s)||(s=s.split(/\s/));const[,n]=t;s.some((t=>{if(-1!==[t,`${t}_tablet`,`${t}_mobile`].indexOf(e))return n(...arguments),!0}))}))}onDestroy(){this.trigger("destroy:before"),super.onDestroy()}getCurrentDeviceSettingInherit(e){const t=["desktop","tablet","mobile"],s=elementorFrontend.getCurrentDeviceMode(),n=this.getElementSettings();let i=t.indexOf(s);for(;i>0;){const s=n[e+"_"+t[i]];if(s&&"object"==typeof s&&Object.prototype.hasOwnProperty.call(s,"size")&&s.size)return s;i--}return n[e]}getCurrentDeviceSettingSize(e){let t=this.getCurrentDeviceSettingInherit(e);return"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"size")&&(t=t.size),t}}t.default=_default},5898:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.ViewModule{__construct(e){super.__construct(e),this.$element=e.widget,this.controls=e.controls,this.type=!!e.type&&e.type,"custom"===this.type&&(this.container=e.container?e.container:null,this.translateNames=e.translateNames?e.translateNames:[]),"document"===this.type&&(this.documents=e.documents?e.documents:{}),this.contentGap=44,this.elementorDocument="data-elementor-id",this.handles={}}getDefaultSettings(){const e="elementor-document-handle",t={handle:e,handleWrap:`${e}-wrapper`,handleInner:`${e}-inner`,handleTitle:`${e}__title`,widgetContainer:"elementor-widget-container",widgetTemplate:"cmsmasters-widget-template",parentDocument:"cmsmasters-parent-document",templateStyles:"cmsmasters-template-styles",editMode:"elementor-edit-mode"};return{classes:t,selectors:{handle:`.${t.handle}`,handleWrap:`.${t.handleWrap}`,handleInner:`.${t.handleInner}`,handleTitle:`.${t.handleTitle}`,widgetContainer:`> .${t.widgetContainer}`,editMode:`.${t.editMode}`}}}getDefaultElements(){if("document"===this.type)return;const{selectors:e}=this.getSettings(),t={$widgetContainer:this.$element.find(e.widgetContainer)};return this.container&&(t.$widgetContainer=this.container),t}onInit(){super.onInit(),this.createTemplateHandles()}createTemplateHandles(){switch(this.type){case"document":this.createControlDocumentHandles();break;case"listing":this.createControlTemplateHandles();break;case"custom":this.createRepeaterTemplateHandles();break;default:this.createWidgetTemplateHandles()}}createControlDocumentHandles(){const{classes:e,selectors:t}=this.getSettings();Object.values(this.documents).forEach((s=>{const n=s.$element;if(n.hasClass(e.editMode))return;if(n.children(t.handle).length)return;const i=jQuery("<div>",{class:e.handle}),a=n.data("elementor-title");i.append(this.getHandleInner(s,a)),n.prepend(i)}))}getHandleInner(e,t){const{classes:s}=this.getSettings(),n=jQuery("<i>",{class:"eicon-edit"}),i="document"!==this.type?cmsmastersElementorFrontend.translate(t):t,a=jQuery("<div>",{class:s.handleTitle}).text(cmsmastersElementorFrontend.translate("edit_element",[i]));return jQuery("<div>",{class:s.handleInner}).append(n,a).on("click",(()=>this.onDocumentHandleClick(e)))}createControlTemplateHandles(){const{classes:e,selectors:t}=this.getSettings(),s=this.elements.$widgetContainer.closest(".elementor").not(t.editMode);if(s.length&&s.data("elementor-id"))return;const n=jQuery("<div>",{class:e.handle});Object.entries(this.controls).forEach((t=>{let[s,i]=t;this.elements.$widgetContainer.addClass(e.handleWrap);const a=this.$element.find(`[${this.elementorDocument}=${i}]`).first();n.append(this.getHandleInner(a,s))})),this.elements.$widgetContainer.prepend(n)}createRepeaterTemplateHandles(){const{classes:e}=this.getSettings();Array.from(this.elements.$widgetContainer).forEach((t=>{const s=jQuery(t),n=jQuery("<div>",{class:e.handle}),i=s.find(`[${this.elementorDocument}]`).first();if(!i.length)return;const a=this.translateNames.indexOf(`saved_${i.data("elementor-type")}`);
2if(0>a)return;i.addClass(e.handleWrap);const r=this.translateNames[a];n.append(this.getHandleInner(i,r)),i.prepend(n)}))}createWidgetTemplateHandles(){const{classes:e,selectors:t}=this.getSettings(),s=this.elements.$widgetContainer.closest(".elementor").not(t.editMode);s.length&&s.data("elementor-id")||Object.entries(this.controls).forEach((t=>{let[s,n]=t;const i=jQuery("<div>",{class:e.handle});this.elements.$widgetContainer.addClass(e.handleWrap);const a=this.$element.find(`[${this.elementorDocument}=${n}]`).first();i.append(this.getHandleInner(a,s)),a.prepend(i)}))}onDocumentHandleClick(e){const t="document"!==this.type?e.data("elementor-id"):e.getSettings("id"),s=elementorCommon.api.run("editor/documents/switch",{id:t,mode:"autosave"});"document"!==this.type&&s.finally((()=>this.initModal(e)))}async initModal(e){const{classes:t}=this.getSettings(),s=e.data("elementor-id"),n=elementor.$previewContents.find(`[id=${t.templateStyles}-${s}]`),i=elementor.$previewContents.find(`.elementor-${s}`).first();if(this.modal)return void this.modal.setMessage(i).show();let a=e;this.container&&(a=this.$element);const r=a.closest(`.elementor:not(.elementor-${s})`);let o=`${t.widgetTemplate}-modal`,l=!1;r.length&&(l=r.data("elementor-id")),l&&(o+=` ${t.parentDocument}-${l}`),window.DialogsManager||await elementorFrontend.utils.assetsLoader.load("script","dialog"),this.modal=elementorFrontend.getDialogsManager().createWidget("lightbox",{id:`${t.widgetTemplate}-${s}`,className:o,closeButton:!0,closeButtonClass:"eicon-close",preventScroll:!0,hide:{onBackgroundClick:!0,onEscKeyPress:!0},position:{enable:!1}});const{widgetContent:d}=this.modal.getElements();"listing"!==this.type&&d.width(`${e.outerWidth()+this.contentGap}px`),this.modal.setMessage(i).show(),setTimeout((()=>{n.remove()}),1e3),this.modal.on("hide",(()=>{d.css("opacity",.5),setTimeout((()=>{this.modal.setMessage(""),l?elementorCommon.api.run("editor/documents/switch",{id:l,mode:"autosave"}).finally((()=>{this.createTemplateHandles(),elementor.dynamicTags.cleanCache(),setTimeout((()=>{this.modal.destroy(),jQuery(document).find(`[data-id=${this.$element.data("id")}]`).trigger("click")}),1e3)})):this.modal.destroy()}))}))}}t.default=_default},2398:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class _default{constructor(){this.buffer={}}set(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=this.toID(e);this.buffer[n]=JSON.stringify(t,null,""),s&&setTimeout((()=>this.remove(n)),s)}toID(e){return"string"==typeof e?e:jQuery.param(e)}remove(e){const t=this.toID(e);return!!this.buffer[t]&&(this.buffer[t]=null,delete this.buffer[t],!0)}get(e){const t=this.toID(e);try{return JSON.parse(this.buffer[t])}catch(e){return this.buffer[t]||null}}}},7674:(e,t,s)=>{var n=s(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(s(2398));class _default extends elementorModules.ViewModule{__construct(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.widget=e.widget,this.ajaxVarsDefault=e.ajaxVarsDefault||{},super.__construct(e)}getDefaultSettings(){this.cachingManager=new i.default;const e=super.getDefaultSettings(...arguments);return Object.assign(e,{classes:{loading:"--loading",animationLoading:"--loading-animation"},response:null,responseData:null,ajaxVars:this.cloneObj(this.ajaxVarsDefault),ajaxVarsSafe:this.cloneObj(this.ajaxVarsDefault),requestFree:!0,cacheAllow:!1,animationLoading:!0})}cloneObj(e){return JSON.parse(JSON.stringify(e))}request(){return new Promise(((e,t)=>{if(!this.isRequestFree())return;const s=this.isCacheAllow();this.setSettings("requestFree",!1);const n=this.getAjaxParameters();if(s){const t=this.getCache(n);if(t)return this.setSettings("responseData",t),this.responseSuccess(),e(t),void this.ajaxReset()}const i=jQuery.ajax(n);this.ajaxStart(),i.done((t=>{this.setSettings("response",t),this.setSettings("responseData",t.data),this.isValidResponse()?(s&&this.setCache(t.data),e(t.data),this.responseSuccess()):this.responseFail()})),i.fail((()=>{this.setSettings("response",i.responseJSON),i.responseJSON&&i.responseJSON.data&&this.setSettings("responseData",i.responseJSON.data),t(i),this.responseFail()})),i.always((()=>{this.ajaxReset(),this.ajaxFinish()}))}))}
2isRequestFree(){return this.getSettings("requestFree")}getAjaxParameters(){let e=this.widget.$element.data().documentId;e||(e=elementorFrontendConfig.post.id),e||(e=this.widget.$element.parents(".elementor[data-elementor-id]").data("elementor-id"));const t={url:elementorCmsmastersFrontendConfig.ajaxurl,type:"POST",dataType:"json",data:{_ajax_nonce:elementorCmsmastersFrontendConfig.nonces.ajax_widget,action:`ajax_widget_${this.widget.getWidgetType()}`,ajax_vars:this.getAjaxVars(),document_id:e,widget_id:this.widget.getID()}};if(elementorFrontend.isEditMode()){const e=elementorFrontend.config.elements.data[this.widget.getModelCID()];if(e){const s=e.toJSON({remove:["default","editSettings","defaultEditSettings"]});t.data.element_data={id:this.widget.getID(),elType:this.widget.getElementType(),widgetType:this.widget.getWidgetType(),elements:[],isInner:!1,settings:s}}}return this.trigger("parameters",t),t}getAjaxVars(){return this.getSettings("ajaxVars")}getCache(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.cachingManager.get(this.getCacheParameters(e))}getCacheParameters(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e||(e=this.getAjaxParameters()),e=this.cloneObj(e),delete e.data.element_data,this.trigger("parameters/cache",e),e}responseSuccess(){this.successQueryArgs(),this.trigger("response/success")}successQueryArgs(){this.setSettings("ajaxVarsSafe",this.cloneObj(this.getSettings("ajaxVars")))}ajaxReset(){this.setSettings("requestFree",!0),this.trigger("ajaxReset")}ajaxStart(){const{classes:e}=this.getSettings();this.widget.$element.addClass(e.loading),this.isAnimationLoading()&&this.widget.$element.addClass(e.animationLoading),this.trigger("ajaxReset")}isValidResponse(){const e=this.getResponse();return e&&e.success}getResponse(){return this.getSettings("response")}setCache(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.cachingManager.set(this.getCacheParameters(t),e)}responseFail(){this.failureQueryArgs(),this.trigger("response/fail")}failureQueryArgs(){this.setSettings("ajaxVars",this.cloneObj(this.getSettings("ajaxVarsSafe")))}ajaxFinish(){const{classes:e}=this.getSettings();this.widget.$element.removeClass(e.loading),this.isAnimationLoading()&&this.widget.$element.removeClass(e.animationLoading)}setAjaxVars(e,t){return e=`.${e}`,this.setSettings(`ajaxVars${e}`,t)}getResponseData(){return this.getSettings("responseData")}isCacheAllow(){return Boolean(this.getSettings("cacheAllow"))}isAnimationLoading(){return Boolean(this.getSettings("animationLoading"))}}t.default=_default},7537:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.ViewModule{__construct(){super.__construct(...arguments),this.isContainerGrid=!1}getDefaultSettings(){const e={columns:"cmsmasters-border-columns",wrap:"cmsmasters-border-columns-wrap"};return{widget:null,classes:e,selectors:{columns:`.${e.columns}`,wrap:`.${e.wrap}`},$items:null,$container:null,columns:null,type:()=>{const{widget:e}=this.getSettings();return e.getCurrentDeviceSetting("border_columns_type")},size:()=>{const{widget:e}=this.getSettings();return e.getCurrentDeviceSettingSize("border_vertical_width")}}}getDefaultElements(){const e=this.getSettings("selectors"),t={};return Object.defineProperty(t,"$container",{get:this.createMethodByType("$container")}),this.isContainerGrid="grid"===t.$container.css("display"),Object.defineProperty(t,"$items",{get:this.createMethodByType("$items")}),Object.defineProperty(t,"$columns",{get:()=>this.elements.$wrap.find("> "+e.columns)}),Object.defineProperty(t,"$wrap",{get:()=>this.elements.$container.find("> "+e.wrap)}),t}onInit(){super.onInit(),this.getColumns=(()=>{const e=this.createMethodByType("columns");return()=>e()||0})(),this.getType=this.createMethodByType("type"),this.getSize=this.createMethodByType("size"),this.update()}createMethodByType(e){const t=this.getSettings(e);return"function"==typeof t?t:()=>t}update(){this.clear();const e=this.getColumns(),t=this.getType(),s=this.getSize();if(1>=e||"none"===t||!t||0>=s)return this.clear(),!1;let n=e-1;if(this.elements.$items.length<=n&&(n=this.elements.$items.length-1),!this.elements.$columns.length||this.elements.$columns.length!==n){const{classes:e}=this.getSettings();this.elements.$wrap.length||jQuery("<div />").addClass(e.wrap).appendTo(this.elements.$container);const t=n-this.elements.$columns.length,s=jQuery("<div />");
2s.addClass(e.columns),0<t?[...Array(t)].forEach((()=>{s.clone().appendTo(this.elements.$wrap)})):this.elements.$columns.filter(`:nth-last-child(-n+${Math.abs(t)})`).remove()}if(this.elements.$columns.length){const t=this.elements.$items.get(1).getBoundingClientRect().left-this.elements.$items.get(0).getBoundingClientRect().right;let n="";n=this.isContainerGrid?this.elements.$container.css("grid-template-columns"):`repeat(${e}, minmax(0, 1fr))`,this.elements.$wrap.css({"grid-template-columns":n,"grid-column-gap":t+"px",left:`calc((${t}px + ${s}px) / 2)`})}}clear(){this.elements.$wrap.remove()}}t.default=_default},9945:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const n=s(2363);class Pagination extends elementorModules.ViewModule{__construct(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super.__construct(t),this.widget=e,this.pagedUrl=location.href,this.observer=null}getDefaultSettings(){const e={linkLoadMore:"a.page-numbers.next",root:"ul.page-numbers",link:"a.page-numbers"},t=this.getPagedCurrent();return{selectors:e,paged:t,pagedSafe:t}}getDefaultElements(){const{selectors:e}=this.getSettings(),t=this;return{get $root(){return t.widget.findElement(e.root)},get $linkLoadMore(){return t.widget.findElement(e.linkLoadMore)}}}bindEvents(){const{selectors:e}=this.getSettings();this.widget.$element.off("click",e.link),this.widget.on("destroy:before",this.onDestroy.bind(this)),this.isShow()&&(this.isAjax()&&this.isPagination()||this.isLoadMore()||this.isInfiniteScroll())&&this.widget.$element.on("click",e.link,this.onClickLink.bind(this))}onInit(){super.onInit(),this.isInfiniteScroll()&&setTimeout(this.initInfiniteScroll.bind(this),150)}getPagedCurrent(){return this.getPagedByUrl(location.href)}isCurrentQuery(){const e=this.widget.getElementSettings("query_control_prefix");return"current_query"===this.widget.getElementSettings(`${e}_post_type`)}getPagedByUrl(e){const t=new URL(e);let s=1;if(this.isCurrentQuery()){const e=t.pathname.split("/");let n=e.findIndex((e=>"page"===e));n++,-1!==n&&e[n]&&(s=e[n])}else{s=new URLSearchParams(t.search).get(this.getPagedName())}return s=Math.max(1,Number(s)),s}getPagedName(){return`cmsmasters-page-${this.widget.getID()}`}isShow(){return this.widget.getElementSettings("pagination_show")}isAjax(){return this.isLoadMore()||this.isInfiniteScroll()||Boolean(this.widget.getElementSettings("pagination_via_ajax"))}isLoadMore(){return"load_more"===this.widget.getElementSettings("pagination_type")}isPagination(){return"pagination"===this.widget.getElementSettings("pagination_type")}isInfiniteScroll(){return"infinite_scroll"===this.widget.getElementSettings("pagination_type")}onClickLink(e){e.preventDefault();const t=this.getPagedByUrl(e.currentTarget.href);this.setPage(t),this.pagedUrl=e.currentTarget.href,this.trigger("click",t),this.isLoadMore()||this.isInfiniteScroll()||!this.widget.getElementSettings("pagination_scroll_into_view")||this.widget.$element.get(0).scrollIntoView({behavior:"smooth"})}setPage(e){this.setSettings("paged",e),this.updatePage(e)}updatePage(e){this.trigger("updatePage",e)}getPaged(){return Number(this.getSettings("paged"))}onSuccess(){if(this.pagedSafe(),this.saveState(),this.isInfiniteScroll()&&setTimeout((()=>{this.initInfiniteScroll()}),150),this.isAjax()&&this.isPagination()){let e=this.widget.$element.offset().top;if(elementorFrontend.elements.$wpAdminBar.length){e-=elementorFrontend.elements.$wpAdminBar.height()}jQuery("html, body").animate({scrollTop:e})}}pagedSafe(){this.setSettings("pagedSafe",this.getPaged())}saveState(){if(!this.isSaveState()||this.isLoadMore())return;const e=this.getPaged();if(this.isCurrentQuery()){const e=new URL(this.pagedUrl);history.replaceState({},"",e.pathname+e.search)}else n.saveParameters({[this.getPagedName()]:1<e&&e})}isSaveState(){return!elementorFrontend.isEditMode()&&Boolean(this.widget.getElementSettings("pagination_save_state"))}initInfiniteScroll(){if(!this.isInfiniteScroll()||elementorFrontend.isEditMode())return;const checkScrollPosition=()=>{const e=this.widget.elements.$variable.get(0);if(e){e.getBoundingClientRect().bottom<=window.innerHeight&&this.elements.$linkLoadMore.trigger("click")}};window.addEventListener("scroll",checkScrollPosition),window.addEventListener("resize",checkScrollPosition),jQuery(document).on("ajaxComplete",(function(){checkScrollPosition()}))}onDestroy(){this.observer&&this.observer.disconnect()}onFail(){this.setPage(this.getSettings("pagedSafe"))}}var i=Pagination;t.default=i},4190:(e,t,s)=>{var n=s(3203);
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(s(7674)),a=n(s(9945)),r=n(s(2277)),o=n(s(5898)),l=n(s(7537));const d=s(2363);class Products extends r.default{__construct(){super.__construct(...arguments),this.handles=null,this.templateControls=["cmsmasters_template_id"],this.reLayoutDebounce=d.debounce(this.reLayoutDebounce.bind(this)),this.onResize=this.onResize.bind(this)}getDefaultSettings(){const e=super.getDefaultSettings(...arguments);return Object.assign(e,{selectors:{wrapper:".woocommerce",product:"li.product",products:"ul.products",orderby:"select.orderby",resultCount:".woocommerce-result-count",layoutColumns:".cmsmasters-woo-products__header-layout-column",wrapperColumns:".cmsmasters-woo-products__header-layout"}})}getDefaultElements(){const{selectors:e}=this.getSettings(),t=this;return{$variable:this.findElement(".woocommerce"),get $wrapper(){return t.findElement(e.wrapper)},get $product(){return t.findElement(e.product)},get $products(){return t.findElement(e.products)},get $resultCount(){return t.findElement(e.resultCount)},get $orderby(){return t.findElement(e.orderby)},get $layoutColumns(){return t.findElement(e.layoutColumns)},get $WrapperColumns(){return t.findElement(e.layoutColumns)}}}bindEvents(){const{selectors:e}=this.getSettings(),t=this.getElementSettings("query_control_prefix");"current_query"!==this.getElementSettings(`${t}_post_type`)&&(this.findElement(".woocommerce-ordering").off("change"),this.$element.off("change"),this.$element.on("change",e.orderby,this.onOrderby.bind(this))),document.addEventListener("wpfAjaxStart",this.onWBWFilter.bind(this)),elementorFrontend.elements.$window.on("resize",this.onResize),this.on("ajaxInsertHTML:after",(()=>{this.$element.find(".elementor-element").each(((e,t)=>{elementorFrontend.elementsHandler.runReadyTrigger(t)}))})),this.on("ajaxInsertHTML:after",this.reLayout.bind(this)),this.bindElementChange(["columns_gap","masonry","rows_gap"],this.initMasonry.bind(this)),this.bindElementChange(["border_columns_type","border_vertical_width","columns","columns_gap"],this.initBorderColumn.bind(this)),this.bindElementChange(["border_columns_type","border_horizontal_width"],this.initBorderRow.bind(this))}onInit(){super.onInit(),this.initHandles(),this.elements.$variable.length&&(this.initPagination(),this.reLayout(),this.initAjaxWidget(),this.setCacheDefault(),"yes"===this.getElementSettings("show_layout")&&this.setCustomLayout(),this.runFunctionOnAjax(),this.on("ajaxInsertHTML:after",(()=>{"yes"===this.getElementSettings("show_layout")&&(this.elements.$layoutColumns.removeClass("active"),this.hideCustomLayoutVariations())})))}runFunctionOnAjax(){null!==localStorage.getItem(`cmsmasters-custom-layout-${this.getID()}`)&&"NaN"!==localStorage.getItem(`cmsmasters-custom-layout-${this.getID()}`)&&void 0!==localStorage.getItem(`cmsmasters-custom-layout-${this.getID()}`)&&"undefined"!==localStorage.getItem(`cmsmasters-custom-layout-${this.getID()}`)||localStorage.setItem(`cmsmasters-custom-layout-${this.getID()}`,!1);let e=JSON.parse(localStorage.getItem(`cmsmasters-custom-layout-${this.getID()}`));jQuery(document).on("click",this.elements.$layoutColumns,(t=>{jQuery(t.target).closest(this.elements.$layoutColumns).length&&(e=JSON.parse(localStorage.getItem(`cmsmasters-custom-layout-${this.getID()}`)))})),jQuery(document).ajaxStop((()=>{e&&localStorage.setItem(`cmsmasters-custom-layout-${this.getID()}`,parseInt(e)),this.$element.find(".elementor-element").each(((e,t)=>{elementorFrontend.elementsHandler.runReadyTrigger(t)})),this.elements.$layoutColumns.removeClass("active"),this.reLayout()}))}getDeviceSetting(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"desktop";const s=this.getElementSettings();return elementorFrontend.getDeviceSetting(t,s,e)}setCustomLayout(){jQuery(document).on("click touch",this.elements.$layoutColumns,(e=>{if(jQuery(e.target).closest(this.elements.$layoutColumns).length){const t=jQuery(e.target),s=window.elementorFrontend.getCurrentDeviceMode(),n=this.getDeviceSetting("columns",s),i=this.elements.$products;if(t.hasClass("active"))i.css("grid-template-columns","repeat("+n+", minmax(0, 1fr))"),t.removeClass("active"),localStorage.setItem(`cmsmasters-custom-layout-${this.getID()}`,!1),this.initMasonry(n),this.initBorderColumn(n),this.initBorderRow(n);else{const e=t.data("layout");e&&(i.css("grid-template-columns","repeat("+e+", minmax(0, 1fr))"),this.initMasonry(e),this.initBorderColumn(e),this.initBorderRow(e)),this.elements.$layoutColumns.removeClass("active"),t.addClass("active"),localStorage.setItem(`cmsmasters-custom-layout-${this.getID()}`,e)}}}))}hideCustomLayoutVariations(){const e=this.elements.$wrapper.get(0).offsetWidth,t=window.elementorFrontend.getCurrentDeviceMode(),s=this.getDeviceSetting("columns",t);this.elements.$layoutColumns.each(((t,n)=>{const i=jQuery(n),a=i.data("layout"),r=parseInt(localStorage.getItem(`cmsmasters-custom-layout-${this.getID()}`));let o="",l="";if(e<=600?(o=2>=a,l=2>=r):e>600&&e<=800?(o=3>=a,l=3>=r):e>800&&e<=1100?(o=4>=a&&2<=a,l=4>=r&&2<=r):e>1100&&e<=1400?(o=5>=a&&2<=a,l=5>
2=r&&2<=r):1400<e&&(o=3<=a,l=3<=r),o?i.show():(i.hide(),i.removeClass("active"),(null==r||null!=r&&!l)&&(this.elements.$products.css("grid-template-columns","repeat("+s+", minmax(0, 1fr))"),setTimeout((()=>{this.initMasonry(s),this.initBorderColumn(s),this.initBorderRow(s)}),300))),null!=r){this.elements.$layoutColumns.filter('[data-layout="'+r+'"]').length>0&&l&&a===r&&(i.addClass("active"),this.elements.$products.css("grid-template-columns","repeat("+r+", minmax(0, 1fr))"),setTimeout((()=>{this.initMasonry(r),this.initBorderColumn(r),this.initBorderRow(r)}),300))}}))}initPagination(){this.pagination=new a.default(this),this.pagination.on("updatePage",this.onUpdatePage.bind(this)),this.pagination.on("click",this.onPagination.bind(this))}reLayout(){"yes"===this.getElementSettings("show_layout")?this.hideCustomLayoutVariations():(this.initMasonry(this.getColumns()),this.initBorderColumn(this.getColumns()),this.initBorderRow(this.getColumns()))}initMasonry(e){if(this.removeMasonry(),!this.isMasonry())return;const t=parseInt(getComputedStyle(this.$element.get(0)).getPropertyValue("--cmsmasters-gap-row"));e||(e=this.getColumns()),new elementorModules.utils.Masonry({container:elementorFrontend.elements.$body,items:this.elements.$product,columnsCount:e,verticalSpaceBetween:t}).run()}removeMasonry(){this.elements.$product.css({marginTop:""})}isMasonry(){return 1<this.getColumns()&&Boolean(this.getElementSettings("masonry"))}getColumns(){return Number(this.getCurrentDeviceSetting("columns"))}initBorderColumn(e){this.borderColumns?this.borderColumns.update():(e||(e=this.getColumns()),this.borderColumns=new l.default({$container:()=>this.elements.$products,$items:()=>this.elements.$product,columns:()=>e,widget:this}))}initBorderRow(e){e||(e=this.getColumns());const t=this.getCurrentDeviceSetting("border_horizontal_width"),s=this.getElementSettings("border_columns_type");this.elements.$product.removeClass("separator-vertical"),s&&t&&this.elements.$product.filter(`:not(:nth-last-of-type(-n+${e}))`).addClass("separator-vertical")}initAjaxWidget(){this.ajaxWidget=new i.default({ajaxVarsDefault:{query_vars:{paged:this.pagination.getPagedCurrent()},attributes:{orderby:this.elements.$orderby.val()}},cacheAllow:!0,widget:this}),this.ajaxWidget.on("response/success",this.responseSuccess.bind(this)),this.ajaxWidget.on("response/fail",this.responseFail.bind(this))}setCacheDefault(){this.ajaxWidget.setCache(this.elements.$variable.get(0).outerHTML)}onOrderby(e){e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault(),this.ajaxWidget.isRequestFree()&&(this.ajaxMethod="orderby",this.pagination.setPage(1),this.ajaxWidget.setAjaxVars("attributes.orderby",this.elements.$orderby.val()),this.ajaxWidget.request())}onPagination(){if(!this.ajaxWidget.isRequestFree())return;this.pagination.isLoadMore()||this.pagination.isInfiniteScroll()?this.ajaxMethod="load-more":this.ajaxMethod="pagination";new URLSearchParams(location.search).forEach(function(e,t){this.ajaxWidget.setAjaxVars(`attributes.${t}`,e)}.bind(this)),this.ajaxWidget.request()}onUpdatePage(e){this.ajaxWidget.isRequestFree()&&this.ajaxWidget.setAjaxVars("query_vars.paged",e)}onWBWFilter(){d.saveParameters({[this.pagination.getPagedName()]:!1})}responseSuccess(){this.trigger("ajaxInsertHTML:before"),this.ajaxInsertHTML(),this.trigger("ajaxInsertHTML:after"),this.pagination.onSuccess(),this.saveState()}saveState(){if(!this.pagination.isSaveState())return;const e={};if("orderby"===this.ajaxMethod){const t=`cmsmasters-orderby-${this.getID()}`,{default_orderby:s}=elementorCmsmastersFrontendConfig.woocommerce,n=this.elements.$orderby.val();e[t]=s!==n&&n}d.saveParameters(e)}responseFail(){this.pagination.onFail()}
2ajaxInsertHTML(){const e=this.ajaxWidget.getResponseData(),t=jQuery(e),s=t.find(".elementor-invisible"),{selectors:n}=this.getSettings(),{selectors:i}=this.pagination.getSettings();if(1<=s.length){const e=s.data("settings"),t=e.animation||"none";if("none"!==t){const n=e._animation_delay||e.animation_delay||0;setTimeout((()=>{s.removeClass("elementor-invisible").addClass(`animated ${t}`)}),n)}else s.removeClass("elementor-invisible")}if("load-more"===this.ajaxMethod){this.elements.$products.append(t.find(n.products).contents());const e=t.find(i.root);e.find(i.linkLoadMore).length?this.pagination.elements.$root.replaceWith(e):this.pagination.elements.$root.remove(),this.elements.$resultCount.replaceWith(t.find(n.resultCount))}else this.elements.$variable.html(t.contents())}onResize(){this.resetLayout(),this.reLayoutDebounce()}resetLayout(){this.borderColumns.clear(),this.removeMasonry()}reLayoutDebounce(){this.reLayout()}unbindEvents(){elementorFrontend.elements.$window.off("resize",this.onResize)}initHandles(){if(!elementorFrontend.isEditMode())return;const e={};this.templateControls.forEach((t=>{const s=this.getElementSettings(t);if(!s)return!1;e[t]=s})),this.handles=new o.default({widget:this.$element,controls:e,type:"listing"})}}t.default=Products}}]);
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.