Missing html template for module : "+n.id);var t=o("."+n.control.css_attr.pre_add_item_content,n.container);t.prepend(o("",{class:"pre-item-wrapper"})),t.find(".pre-item-wrapper").append(e),i.resolve(t.find(".pre-item-wrapper")).promise()};return s.isEmpty(n.itemPreAddEl)?r.CZR_Helpers.getModuleTmpl({tmpl:"pre-item",module_type:n.module_type,module_id:n.id,control_id:n.control.id}).done(function(e){t(r.CZR_Helpers.parseTemplate(e)())}).fail(function(e){i.reject(["renderPreItemView for module : ",n.id,e].join(" "))}):(o("#tmpl-"+n.itemPreAddEl).length<1&&i.reject("renderPreItemView => Missing itemPreAddEl or template in module "+n.id),t(wp.template(n.itemPreAddEl)())),i.promise()},_getPreItemView:function(){return o("."+this.control.css_attr.pre_add_item_content,this.container)},_togglePreItemViewExpansion:function(t){var n=this;o("."+n.control.css_attr.pre_add_item_content,n.container).slideToggle({duration:200,done:function(){var e=o("."+n.control.css_attr.open_pre_add_btn,n.container);o(this).toggleClass("open",t),t?e.find(".fas").removeClass("fa-plus-square").addClass("fa-minus-square"):e.find(".fas").removeClass("fa-minus-square").addClass("fa-plus-square"),e.toggleClass("active",t),o(n.container).toggleClass(n.control.css_attr.adding_new,t),n._adjustScrollExpandedBlock(o(this),120)}})},toggleSuccessMessage:function(e){var t=this,n=t.itemAddedMessage,i=o("."+t.control.css_attr.pre_add_wrapper,t.container);return $_success_wrapper=o("."+t.control.css_attr.pre_add_success,t.container),"on"==e?($_success_wrapper.find("p").text(n),$_success_wrapper.css("z-index",1000001).css("height",i.height()+"px").css("line-height",i.height()+"px")):$_success_wrapper.attr("style",""),t.container.toggleClass("czr-model-added","on"==e),this}})}(wp.customize,jQuery,_);var CZRBaseControlMths=CZRBaseControlMths||{};!function(i,e,r){e.extend(CZRBaseControlMths,{initialize:function(e,t){var n=this;n.css_attr=r.has(serverControlParams,"css_attr")?serverControlParams.css_attr:{},i.Control.prototype.initialize.call(n,e,t),n.bind("czr-partial-refresh-done",function(){r.has(n,"czr_moduleCollection")&&r.each(n.czr_moduleCollection(),function(e){n.czr_Module(e.id)&&n.czr_Module(e.id).sendModuleInputsToPreview({isPartialRefresh:!0})})})},refreshPreview:function(e){this.previewer.refresh()}})}(wp.customize,jQuery,_);var CZRBaseModuleControlMths=CZRBaseModuleControlMths||{};!function(l,c,d){c.extend(CZRBaseModuleControlMths,{initialize:function(e,t){var n=this;if(!l.has(e))throw new Error("Missing a registered setting for control : "+e);n.czr_Module=new l.Values,n.czr_moduleCollection=new l.Value,n.czr_moduleCollection.set([]),n.moduleCollectionReady=c.Deferred(),n.moduleCollectionReady.done(function(e){n.czr_moduleCollection.callbacks.add(function(){return n.moduleCollectionReact.apply(n,arguments)})}),l.CZRBaseControl.prototype.initialize.call(n,e,t),l.section(n.section(),function(e){e.expanded.bind(function(e){n.czr_Module.each(function(e){e.closeAllItems().closeRemoveDialogs(),d.has(e,"preItem")&&e.preItemExpanded(!1)})})})},ready:function(){var n=this,i={};try{n.getSavedModules()}catch(e){return l.errare("api.CZRBaseControl::ready() => error on control.getSavedModules()",e),void n.moduleCollectionReady.reject()}d.each(n.getSavedModules(),function(t,e){if(i=t,serverControlParams.isDevMode)n.instantiateModule(t,{});else try{n.instantiateModule(t,{})}catch(e){return void l.errare("api.CZRBaseControl::Failed to instantiate module "+t.id,e)}n.container.attr("data-module",t.id)}),n.moduleCollectionReady.resolve(i)},getDefaultModuleApiModel:function(){return{id:"",module_type:"",modOpt:{},items:[],crud:!1,hasPreItem:!0,refresh_on_add_item:!0,multi_item:!1,sortable:!1,control:{},section:""}},getSavedModules:function(){var n=this,e=[],i=n.params.module_type,r=[],o=[],s={};l.CZR_Helpers.isMultiItemModule(i)||d.isEmpty(l(n.id)())||d.isObject(l(n.id)())||l.errare("api.CZRBaseControl::getSavedModules => module Control Init for "+n.id+" : a mono item module control value should be an object if not empty.");var t=l.CZR_Helpers.getControlSettingId(n.id),a=l(t)();return r=d.isEmpty(a)?[]:d.isArray(a)?a:[a],d.each(r,function(e,t){d.isObject(e)?(d.isEmpty(e)||d.each(e,function(e,t){d.isString(t)||l.errare("api.CZRBaseControl::::getSavedModules => item not well formed in control : "+n.id+" => module type => "+n.params.module_type,r)}),l.CZR_Helpers.hasModuleModOpt(i)&&0===t&&(d.has(e,"id")?l.errare("api.CZRBaseControl::getSavedModules : the module "+i+" in control "+n.id+" has no mod_opt defined while it should."):s=e),d.has(e,"is_mod_opt")||o.push(e)):l.errare("api.CZRBaseControl::::getSavedModules => an item must be an object in control "+n.id+" => module type => "+n.params.module_type,r)}),e.push({id:l.CZR_Helpers.getOptionName(n.id)+"_"+n.params.type,module_type:n.params.module_type,section:n.section(),modOpt:c.extend(!0,{},s),items:c.extend(!0,[],o)}),e},isModuleRegistered:function(e){return!d.isUndefined(d.findWhere(this.czr_moduleCollection(),{id:e}))}})}(wp.customize,jQuery,_);CZRBaseModuleControlMths=CZRBaseModuleControlMths||{};!function(s,e,a){e.extend(CZRBaseModuleControlMths,{instantiateModule:function(e,t){if(!a.has(e,"id"))throw new Error("CZRModule::instantiateModule() : a module has no id and could not be added in the collection of : "+this.id+". Aborted.");var n=this;if((a.isUndefined(t)||a.isEmpty(t))&&(t=n.getModuleConstructor(e)),!a.isEmpty(e.id)&&n.czr_Module.has(e.id))throw new Error("The module id already exists in the collection in control : "+n.id);var i=n.prepareModuleForAPI(e);if(n.czr_Module.add(i.id,new t(i.id,i)),!n.czr_Module.has(i.id))throw new Error("instantiateModule() : instantiation failed for module id "+i.id+" in control "+n.id);return n.czr_Module(i.id)},getModuleConstructor:function(e){var t;if(!a.has(e,"module_type"))throw new Error("CZRModule::getModuleConstructor : no module type found for module "+e.id);if(!a.has(s.czrModuleMap,e.module_type))throw new Error("Module type "+e.module_type+" is not listed in the module map api.czrModuleMap.");var n=s.czrModuleMap[e.module_type].mthds;if(t=(s.czrModuleMap[e.module_type].crud?s.CZRDynModule:s.CZRModule).extend(n),a.isUndefined(t)||a.isEmpty(t)||!t)throw new Error("CZRModule::getModuleConstructor : no constructor found for module type : "+e.module_type+".");return t},prepareModuleForAPI:function(i){if(!a.isObject(i))throw new Error("prepareModuleForAPI : a module must be an object to be instantiated.");var r=this,o={};return a.each(r.getDefaultModuleApiModel(),function(e,t){var n=i[t];switch(t){case"id":a.isEmpty(n)?o[t]=r.generateModuleId(i.module_type):o[t]=n;break;case"module_type":if(!a.isString(n)||a.isEmpty(n))throw new Error("prepareModuleForAPI : a module type must a string not empty");o[t]=n;break;case"items":if(!a.isArray(n))throw new Error("prepareModuleForAPI : a module item list must be an array");o[t]=n;break;case"modOpt":if(!a.isObject(n))throw new Error("prepareModuleForAPI : a module modOpt property must be an object");o[t]=n;break;case"crud":if(a.has(s.czrModuleMap,i.module_type))n=s.czrModuleMap[i.module_type].crud,a.isUndefined(n)&&(n=e);else if(!a.isUndefined(n)&&!a.isBoolean(n))throw new Error('prepareModuleForAPI : the module param "crud" must be a boolean');o[t]=n||!1;break;case"hasPreItem":if(a.has(s.czrModuleMap,i.module_type))n=s.czrModuleMap[i.module_type].hasPreItem,a.isUndefined(n)&&(n=e);else if(!a.isUndefined(n)&&!a.isBoolean(n))throw new Error('prepareModuleForAPI : the module param "hasPreItem" must be a boolean');o[t]=n||!1;break;case"refresh_on_add_item":if(a.has(s.czrModuleMap,i.module_type))n=s.czrModuleMap[i.module_type].refresh_on_add_item,a.isUndefined(n)&&(n=e);else if(!a.isUndefined(n)&&!a.isBoolean(n))throw new Error('prepareModuleForAPI : the module param "refresh_on_add_item" must be a boolean');o[t]=n||!1;break;case"multi_item":if(a.has(s.czrModuleMap,i.module_type))n=s.czrModuleMap[i.module_type].multi_item,a.isUndefined(n)&&(n=s.czrModuleMap[i.module_type].crud);else if(!a.isUndefined(n)&&!a.isBoolean(n))throw new Error('prepareModuleForAPI : the module param "multi_item" must be a boolean');o[t]=n||!1;break;case"sortable":if(a.has(s.czrModuleMap,i.module_type))n=s.czrModuleMap[i.module_type].sortable,a.isUndefined(n)&&(n=s.czrModuleMap[i.module_type].crud),a.isUndefined(n)&&(n=s.czrModuleMap[i.module_type].multi_item);else if(!a.isUndefined(n)&&!a.isBoolean(n))throw new Error('prepareModuleForAPI : the module param "sortable" must be a boolean');o[t]=n||!1;break;case"control":o[t]=r;break;case"section":if(!a.isString(n)||a.isEmpty(n))throw new Error("prepareModuleForAPI : a module section must be a string not empty");o[t]=n;break;case"dirty":o[t]=n||!1}}),o},generateModuleId:function(e,t,n){if(100<(n=n||1))throw new Error("Infinite loop when generating of a module id.");var i=this,r=e+"_"+(t=t||i._getNextModuleKeyInCollection());if(!a.has(i,"czr_moduleCollection")||!a.isArray(i.czr_moduleCollection()))throw new Error("The module collection does not exist or is not properly set in control : "+i.id);return i.isModuleRegistered(r)?(t++,n++,i.generateModuleId(e,t,n)):r},_getNextModuleKeyInCollection:function(){var e={},t=0;return a.isEmpty(this.czr_moduleCollection())||(e=a.max(this.czr_moduleCollection(),function(e){return parseInt(e.id.replace(/[^\/\d]/g,""),10)}),t=parseInt(e.id.replace(/[^\/\d]/g,""),10)+1),t}})}(wp.customize,jQuery,_);CZRBaseModuleControlMths=CZRBaseModuleControlMths||{};!function(s,a,l){a.extend(CZRBaseModuleControlMths,{updateModulesCollection:function(e){var t=this,n=t.czr_moduleCollection(),i=a.extend(!0,[],n);if(l.has(e,"collection"))t.czr_moduleCollection.set(e.collection,e.data||{});else{if(!l.has(e,"module"))throw new Error("updateModulesCollection, no module provided "+t.id+". Aborting");var r=t.prepareModuleForAPI(l.clone(e.module));l.findWhere(i,{id:r.id})?l.each(n,function(e,t){e.id==r.id&&(i[t]=r)}):i.push(r);var o={};l.has(e,"data")&&(o=a.extend(!0,{},e.data),a.extend(o,{module:r})),t.czr_moduleCollection.set(i,o)}},moduleCollectionReact:function(t,e,n){var i=l.size(t)>l.size(e),r=l.size(e)>l.size(t);l.size(e),l.size(t);if(is_collection_sorted=!1,r){var o=l.filter(e,function(e){return l.isUndefined(l.findWhere(t,{id:e.id}))});o=o[0],this.czr_Module.remove(o.id)}if(l.isObject(n)&&l.has(n,"module")&&(n.module_id=n.module.id,n.moduleRegistrationParams=n.module,n.module=this.prepareModuleForDB(a.extend(!0,{},n.module))),!i)if(serverControlParams.isDevMode)s(this.id).set(this.filterModuleCollectionBeforeAjax(t),n);else try{s(this.id).set(this.filterModuleCollectionBeforeAjax(t),n)}catch(e){s.errare("api.CZRBaseControl::moduleCollectionReact => error when firing control.filterModuleCollectionBeforeAjax( to )",e)}},filterModuleCollectionBeforeAjax:function(e){var t,i=this,n=a.extend(!0,[],e),r=[];if(l.each(n,function(e,t){var n=a.extend(!0,{},e);r[t]=i.prepareModuleForDB(n)}),1",{class:"customize-controls-home-or-add fas fa-home",html:'Home'}),n.when(n("#customize-header-actions").append(i)).done(function(){i.keydown(function(e){9!==e.which&&(13===e.which&&this.click(),e.preventDefault())}).on("click.customize-controls-home-or-add",function(){e.section.has(e.czr_activeSectionId())?e.section(e.czr_activeSectionId()).expanded(!1):e.section.each(function(e){e.expanded(!1)}),e.panel.each(function(e){e.expanded(!1)})}),_.delay(function(){if(!i.hasClass("button-see-me")){var e=0,t=function(){n.Deferred(function(){var e=this;i.addClass("button-see-me"),_.delay(function(){i.removeClass("button-see-me"),e.resolve()},800)}).done(function(){0<=--e&&_.delay(function(){t()},50)})};t()}},2e3)})})}(wp);