"use strict";function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function s(e,t){for(var i=0;i<t.length;i++){var s=t[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(e,t,i){return t&&s(e.prototype,t),i&&s(e,i),e}}();(function(){var i,d,a,s,n=[].indexOf;function l(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};_classCallCheck(this,l),this.clicked=this.clicked.bind(this),this.picker=t,this.opts=i,this.option=jQuery(e),this.create_node()}function r(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};_classCallCheck(this,r),this.sync_picker_with_select=this.sync_picker_with_select.bind(this),this.opts=t,this.select=jQuery(e),this.multiple="multiple"===this.select.attr("multiple"),null!=this.select.data("limit")&&(this.opts.limit=parseInt(this.select.data("limit"))),this.build_and_append_picker()}jQuery.fn.extend({imagepicker:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};return this.each(function(){var e;if((e=jQuery(this)).data("picker")&&e.data("picker").destroy(),e.data("picker",new i(this,s(t))),null!=t.initialized)return t.initialized.call(e.data("picker"))})}}),s=function(e){var t={hide_select:!0,show_label:!1,initialized:void 0,changed:void 0,clicked:void 0,selected:void 0,limit:void 0,limit_reached:void 0,font_awesome:!1};return jQuery.extend(t,e)},a=function(e,t){var i,s,l,a;if(!e||!t||e.length!==t.length)return!1;for(e=e.slice(0),t=t.slice(0),e.sort(),t.sort(),i=s=0,l=e.length;s<l;i=++s)if(a=e[i],t[i]!==a)return!1;return!0},_createClass(r,[{key:"destroy",value:function(){for(var e,t=0,i=(e=this.picker_options).length;t<i;t++)e[t].destroy();return this.picker.remove(),this.select.off("change",this.sync_picker_with_select),this.select.removeData("picker"),this.select.show()}},{key:"build_and_append_picker",value:function(){return this.opts.hide_select&&this.select.hide(),this.select.on("change",this.sync_picker_with_select),null!=this.picker&&this.picker.remove(),this.create_picker(),this.select.after(this.picker),this.sync_picker_with_select()}},{key:"sync_picker_with_select",value:function(){for(var e,t,i=[],s=0,l=(t=this.picker_options).length;s<l;s++)(e=t[s]).is_selected()?i.push(e.mark_as_selected()):i.push(e.unmark_as_selected());return i}},{key:"create_picker",value:function(){return this.picker=jQuery("<ul class='thumbnails image_picker_selector'></ul>"),this.picker_options=[],this.recursively_parse_option_groups(this.select,this.picker),this.picker}},{key:"recursively_parse_option_groups",value:function(l,e){for(var t,i,s,a,n,r,c,h,o=0,u=(r=l.children("optgroup")).length;o<u;o++)n=r[o],n=jQuery(n),(t=jQuery("<ul></ul>")).append(jQuery("<li class='group_title'>"+n.attr("label")+"</li>")),e.append(jQuery("<li class='group'>").append(t)),this.recursively_parse_option_groups(n,t);for(h=[],i=0,s=(c=function(){for(var e,t=[],i=0,s=(e=l.children("option")).length;i<s;i++)a=e[i],t.push(new d(a,this,this.opts));return t}.call(this)).length;i<s;i++)a=c[i],this.picker_options.push(a),a.has_image()&&h.push(e.append(a.node));return h}},{key:"has_implicit_blanks",value:function(){var l;return 0<function(){for(var e,t=[],i=0,s=(e=this.picker_options).length;i<s;i++)(l=e[i]).is_blank()&&!l.has_image()&&t.push(l);return t}.call(this).length}},{key:"selected_values",value:function(){return this.multiple?this.select.val()||[]:[this.select.val()]}},{key:"toggle",value:function(e,t){var i,s=this.selected_values(),l=e.value().toString();if(this.multiple?0<=n.call(this.selected_values(),l)?((i=this.selected_values()).splice(jQuery.inArray(l,s),1),this.select.val([]),this.select.val(i)):null!=this.opts.limit&&this.selected_values().length>=this.opts.limit?null!=this.opts.limit_reached&&this.opts.limit_reached.call(this.select):this.select.val(this.selected_values().concat(l)):this.has_implicit_blanks()&&e.is_selected()?this.select.val(""):this.select.val(l),!a(s,this.selected_values())&&(this.select.change(),null!=this.opts.changed))return this.opts.changed.call(this.select,s,this.selected_values(),t)}}]),i=r,_createClass(l,[{key:"destroy",value:function(){return this.node.find(".thumbnail").off("click",this.clicked)}},{key:"has_image",value:function(){return null!=this.option.data("img-src")}},{key:"is_blank",value:function(){return!(null!=this.value()&&""!==this.value())}},{key:"is_selected",value:function(){var e=this.picker.select.val();return this.picker.multiple?0<=jQuery.inArray(this.value(),e):this.value()===e}},{key:"mark_as_selected",value:function(){return this.node.find(".thumbnail").addClass("selected")}},{key:"unmark_as_selected",value:function(){return this.node.find(".thumbnail").removeClass("selected")}},{key:"value",value:function(){return this.option.val()}},{key:"label",value:function(){return this.option.data("img-label")?this.option.data("img-label"):this.option.text()}},{key:"clicked",value:function(e){if(this.picker.toggle(this,e),null!=this.opts.clicked&&this.opts.clicked.call(this.picker.select,this,e),null!=this.opts.selected&&this.is_selected())return this.opts.selected.call(this.picker.select,this,e)}},{key:"create_node",value:function(){var e,t,i;return this.node=jQuery("<li/>"),this.option.data("font_awesome")?(e=jQuery("<i>")).attr("class","fa-fw "+this.option.data("img-src")):(e=jQuery("<img class='image_picker_image'/>")).attr("src",this.option.data("img-src")),i=jQuery("<div class='thumbnail'>"),(t=this.option.data("img-class"))&&(this.node.addClass(t),e.addClass(t),i.addClass(t)),(t=this.option.data("img-alt"))&&e.attr("alt",t),i.on("click",this.clicked),i.append(e),this.opts.show_label&&i.append(jQuery("<p/>").html(this.label())),this.node.append(i),this.node}}]),d=l}).call(void 0),function(){function e(e,r){(e=e.find("[data-pafe-form-builder-image-select]")).length&&r.each(e,function(e,s){var l=r(s).data("pafe-form-builder-image-select"),a=r(s).find("option"),n={show_label:!0};null!=r(s).attr("data-pafe-form-builder-image-select-limit-multiple")&&(n.limit=r(s).attr("data-pafe-form-builder-image-select-limit-multiple")),r(s).closest(".elementor-field").addClass("pafe-image-select-field"),r(s).closest(".pafe-image-select-field").find(".image_picker_selector").remove(),a.eq(0).attr("value").trim(),a.each(function(e,t){var i;""==a.eq(0).attr("value").trim()&&0!=e&&(i=l[e-1].url,r(this).html(),r(this).attr("data-img-src",i),r(s).imagepicker(n)),""!=a.eq(0).attr("value").trim()&&null!=l[e]&&(i=l[e].url,r(this).html(),r(this).attr("data-img-src",i),r(s).imagepicker(n)),r(s).closest(".pafe-image-select-field").find(".thumbnail.selected").closest("li").addClass("disabled")})})}jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/pafe-form-builder-field.default",e)})}();