import{aA as e,aB as t,aC as i,aD as a,ay as s,aw as n,aE as l,aF as o,aG as d,az as r,ax as c,k as u,U as _,E as m,g as h}from"../../vendor-element-plus.js?ver=3.1.8";import{W as p,X as g,a6 as f,ac as v,Z as y,$ as w,ab as V,a5 as b,a9 as k,Y as x,aa as C,J as T,az as B,aQ as $,a8 as E,aK as F}from"../../vendor.js?ver=3.1.8";import{_ as S}from"../../fc-bits-ui.js?ver=3.1.8";import{M as D}from"../../_MergeCodes.js?ver=3.1.8";import"../../input-popover-dropdown.js?ver=3.1.8";const I={class:"fc_iframe_wrap"};const R={style:{padding:"20px"}},M={style:{padding:"14px","text-align":"left"}},z={style:{"text-align":"center"}},L={style:{"text-align":"left"}};const P={key:0,class:"fc_visual_builder_wrap"},U={key:0,class:"fc_visual_wrap"},j={class:"fc_visual_preview_inline"},W={class:"fc_visual_intro"},N={key:0,class:"fc_visual_starter"},A={class:"fc_visual_blocks"},O=["onClick"],J=["src","alt"],Q={key:2,style:{position:"absolute",right:"2px"}},Y={class:"fc_builder_modal_wrap"},H={class:"fc_visual_modal"},q={key:0},G={class:"fc_editor_header"},K={class:"fc_head_left"},X=["src"],Z={class:"fc_head_right"},ee={class:"fc_visual_parent"},te=["src"],ie={key:1},ae={key:0,class:"fc_visual_starter"},se={class:"fc_visual_blocks"},ne=["onClick"],le=["src","alt"],oe={key:1,style:{background:"white"}},de=["src"];const re=S({name:"VisualEditor",props:["modelValue","campaign","extra_tags"],emits:["save","update:modelValue"],components:{IframeBuilder:S({name:"IframeBuilder",props:{preview_html:{type:String,default:()=>""},frame_height:{type:String,default:()=>"500px"}},data:()=>({loading_preview:!0}),methods:{loadFrame(){const e=this.$refs.fc_ifr.attachShadow({mode:"closed"}),t=document.createElement("div");t.innerHTML=this.preview_html,e.appendChild(t),this.loading_preview=!1,this.loading_preview=!1}},mounted(){this.loadFrame()}},[["render",function(e,t,i,a,s,n){return p(),g("div",I,[f(y("div",{ref:"fc_ifr",style:w([{width:"100%",height:"500px",overflow:"auto"},{height:i.frame_height}])},null,4),[[v,!s.loading_preview]])])}]]),MergeCodes:D,LoaderSkeleton:S({name:"LoaderSkeleton"},[["render",function(s,n,l,o,d,r){const c=e,u=i,_=a,m=t;return p(),g("div",R,[V(_,{gutter:30},{default:b(()=>[V(c,{span:5},{default:b(()=>[...n[0]||(n[0]=[k(".",-1)])],void 0,!0),_:1}),V(c,{span:9},{default:b(()=>[V(m,{animated:""},{template:b(()=>[V(u,{variant:"image",style:{height:"240px"}}),V(u,{variant:"h3",style:{width:"50%",margin:"20px auto"}}),y("div",M,[y("div",z,[V(u,{variant:"text",style:{width:"30%"}}),V(u,{variant:"text"}),V(u,{variant:"text"})]),V(_,{gutter:30},{default:b(()=>[V(c,{span:12},{default:b(()=>[V(u,{variant:"image",style:{height:"140px",margin:"20px 0"}})],void 0,!0),_:1}),V(c,{span:12},{default:b(()=>[V(u,{variant:"image",style:{height:"140px",margin:"20px 0"}})],void 0,!0),_:1})],void 0,!0),_:1}),y("div",L,[V(u,{variant:"text"}),V(u,{variant:"text"}),V(u,{variant:"text",style:{width:"30%"}})])])]),_:1})],void 0,!0),_:1}),V(c,{span:5},{default:b(()=>[...n[1]||(n[1]=[k(".",-1)])],void 0,!0),_:1}),V(c,{span:4},{default:b(()=>[V(m,{rows:12,animated:""}),V(m,{animated:"",rows:3})],void 0,!0),_:1}),V(c,{span:1},{default:b(()=>[V(m,{rows:6})],void 0,!0),_:1})],void 0),_:1})])}]]),DisplayCondition:S({name:"DisplayCondition",props:["existing_tag","editing_condition"],emits:["insertTag"],data:()=>({form:{selected_tags:[],display_type:"show_if_tag_exist"},loading:!1}),computed:{tags(){const e={};return this.each(this.appVars.available_tags,t=>{e[t.id]=t}),e}},methods:{fireCondition(){const e=[];if(this.each(this.form.selected_tags,t=>{this.tags[t]?e.push(this.tags[t].title):delete this.form.selected_tags[t]}),!this.form.selected_tags||!this.form.selected_tags.length)return void this.$notify.error(this.$t("Please select at least one tag"));let t=this.$t("Show if in tags:");"show_if_tag_not_exist"==this.form.display_type&&(t=this.$t("Show if not in tags:"));const i={type:"check_contact_tag",label:t,description:e.join(", "),before:'

[fc_vis_cond type=\''+this.form.display_type+"' values='"+this.form.selected_tags.join("|")+"']

",after:'

[/fc_vis_cond]

'};this.$emit("insertTag",i)},parseExitingCondition(){if(!this.editing_condition||!this.editing_condition.before)return;this.loading=!0;let e=this.editing_condition.before.match(/\[fc_vis_cond ([^\]]*)\]/)[1];e=e.split(" ");var t={};for(const i in e){const a=e[i].split("='");t[a[0]]=a[1].replace(/'/g,"")}t.type&&(this.form.display_type=t.type),t.values&&(this.form.selected_tags=t.values.split("|")),this.loading=!1}},mounted(){this.parseExitingCondition()}},[["render",function(e,t,i,a,_,m){const h=o,v=l,y=n,w=r,$=d,E=c,F=u,S=s;return p(),g("div",null,[f((p(),x(E,{"label-position":"top",model:_.form},{default:b(()=>[V(y,{label:e.$t("CONDITION TYPE")},{default:b(()=>[V(v,{modelValue:_.form.display_type,"onUpdate:modelValue":t[0]||(t[0]=e=>_.form.display_type=e)},{default:b(()=>[V(h,{value:"show_if_tag_exist"},{default:b(()=>[k(C(e.$t("Show IF in Selected Tag")),1)],void 0,!0),_:1}),V(h,{value:"show_if_tag_not_exist"},{default:b(()=>[k(C(e.$t("Show IF not in selected tag")),1)],void 0,!0),_:1})],void 0,!0),_:1},8,["modelValue"])],void 0,!0),_:1},8,["label"]),V(y,{label:e.$t("Select Targeted Tags")},{default:b(()=>[V($,{modelValue:_.form.selected_tags,"onUpdate:modelValue":t[1]||(t[1]=e=>_.form.selected_tags=e)},{default:b(()=>[(p(!0),g(T,null,B(m.tags,e=>(p(),x(w,{key:e.slug,value:e.id},{default:b(()=>[k(C(e.title),1)],void 0,!0),_:2},1032,["value"]))),128))],void 0,!0),_:1},8,["modelValue"])],void 0,!0),_:1},8,["label"])],void 0),_:1},8,["model"])),[[S,_.loading]]),V(F,{onClick:t[2]||(t[2]=e=>m.fireCondition()),type:"primary"},{default:b(()=>[k(C(e.$t("Apply Condition")),1)],void 0),_:1})])}]]),Loading:_},data(){var e;return{is_active:!1,is_loading:!1,editor_loaded:!1,visualFrameReady:!1,pendingVisualBuilderDesign:null,pendingVisualBuilderRefresh:!1,visualBuilderRefreshTimers:[],editor_type:"old",frame_url:"",isVerified:!1,target_origin:window.fcVisualVars.editor_domain,context:(null==(e=this.$route)?void 0:e.name)||"contact_email",inlineCallBack:null,predefinedTemplates:[{id:243318,name:"Blank",image:this.appVars.images_url+"/templates/blank.jpg"},{id:228634,name:"Standard",image:this.appVars.images_url+"/templates/standard.jpg"},{id:249301,name:"Sales",image:this.appVars.images_url+"/templates/sales.jpg"}],loadedtemplateId:243318,showDisplayCondition:!1,editing_condition:{}}},computed:{mergeTags(){const e={};let t=[...window.fcAdmin.globalSmartCodes,...window.fcAdmin.extendedSmartCodes];return this.extra_tags&&this.extra_tags.length&&(t=[...t,...this.extra_tags]),this.each(t,t=>{e[t.key]||(e[t.key]={name:t.title,mergeTags:{}});let i=1;this.each(t.shortcodes,(a,s)=>{e[t.key].mergeTags[i+"_"+s]={name:a,value:s},i++})}),e},is_inline(){return"edit_template"==this.context||"campaign"==this.context||"edit-sequence-email"==this.context}},methods:{cloneForPostMessage(e){const t=F(e);if(null==t||"object"!=typeof t)return t;if("function"==typeof structuredClone)try{return structuredClone(t)}catch(i){}try{return JSON.parse(JSON.stringify(t))}catch(i){return t}},loadingFrame(){document.body.classList.add("fc_locked"),this.is_loading=!0,this.is_active=!0;const e=document.getElementById("fc_visual_frame");this.isVerified||(e.contentWindow.postMessage({from:"fc_parent",action:"verify"},this.target_origin),this.isVerified=!0)},iframeEvent(e){const t=e.data;if("fc_editor"==t.type)if("editor_loaded"==t.action){if(document.body.classList.add("fc_locked_loaded"),this.visualFrameReady=!0,!this.hydrateVisualDesign(this.pendingVisualBuilderDesign||this.getInitialContent())){document.getElementById("fc_visual_frame").contentWindow.postMessage({from:"fc_parent",action:"load_template",template_id:this.loadedtemplateId,mergeTags:this.cloneForPostMessage(this.mergeTags)},this.target_origin)}setTimeout(()=>{this.is_loading=!1,this.editor_loaded=!0},1e3)}else if("save_design"==t.action)this.saveContent(t),this.$notify({message:this.$t("Saved"),position:"bottom-right",customClass:"fc_notify_z bottom_right",type:"success",duration:500});else if("save_close"==t.action)this.saveContent(t),document.body.classList.remove("fc_locked","fc_locked_loaded"),this.is_active=!1,"edit_funnel"==this.context&&(this.frame_url="",this.$nextTick(()=>{this.setFrameUrl()}));else if("image_selector"==t.action)this.initUploader();else if("open_merge_codes"==t.action)jQuery("#fc_merge_code_wrap button").trigger("click");else if("updated_design"==t.action)this.saveContent(t),this.inlineCallBack&&this.inlineCallBack(t);else if("display_condition"==t.action){if(!window.fcVisualVars.has_conditions)return void this.$notify.error(this.$t("Please update FluentCRM Pro first"));this.initDisplayCondition(t.items)}else console.log(t)},initDisplayCondition(e){this.editing_condition=e,this.showDisplayCondition=!0},loadTemplate(e,t){const i=document.getElementById("fc_visual_frame");this.loadedtemplateId=e,i.contentWindow.postMessage({from:"fc_parent",action:"load_template",template_id:e,mergeTags:this.cloneForPostMessage(this.mergeTags)},this.target_origin),this.editor_type="old",t?this.loadingFrame():setTimeout(()=>{this.is_loading=!1,this.editor_loaded=!0},1e3)},loadDesign(e){return!!e&&(this.campaign._visual_builder_design=e,this.pendingVisualBuilderDesign=e,this.pendingVisualBuilderRefresh=!0,this.editor_type="old",this.hydrateVisualDesign(e))},hydrateVisualDesign(e){if(!e)return!1;const t=document.getElementById("fc_visual_frame");return!!(t&&t.contentWindow&&this.visualFrameReady)&&(t.contentWindow.postMessage({from:"fc_parent",action:"load_design",data:this.cloneForPostMessage(e),mergeTags:this.cloneForPostMessage(this.mergeTags)},this.target_origin),this.pendingVisualBuilderDesign=null,this.pendingVisualBuilderRefresh&&this.scheduleVisualContentRefresh("template_import_preview"),!0)},scheduleVisualContentRefresh(e="update_only"){const t=document.getElementById("fc_visual_frame");return!!(t&&t.contentWindow&&this.visualFrameReady)&&(this.pendingVisualBuilderRefresh=!1,this.clearVisualBuilderRefreshTimers(),[1200,3e3,6e3].forEach(t=>{const i=setTimeout(()=>{if(!this.visualFrameReady)return;const t=document.getElementById("fc_visual_frame");t&&t.contentWindow&&t.contentWindow.postMessage({from:"fc_parent",action:"fire_save_data",reference:e},this.target_origin)},t);this.visualBuilderRefreshTimers.push(i)}),!0)},clearVisualBuilderRefreshTimers(){this.visualBuilderRefreshTimers.forEach(e=>{clearTimeout(e)}),this.visualBuilderRefreshTimers=[]},saveContent(e){"template_import_preview"!==e.reference&&(this.campaign._visual_builder_design=e.design),this.$emit("update:modelValue",e.html),["update_only","template_import_preview"].includes(e.reference)||this.$nextTick(()=>{this.$emit("save")}),this.editor_type="old"},getInitialContent(){return this.campaign._visual_builder_design||null},initUploader(){wp.media.editor.remove("fc_launch_editor_button");const e=wp.media.editor.send.attachment,t=this;return wp.media.editor.send.attachment=function(i,a){const s=document.getElementById("fc_visual_frame");let n={url:a.url,width:a.width,height:a.height,altText:a.alt,alternateText:a.alt};"full"!=i.size&&a.sizes&&a.sizes[i.size]&&(a.sizes[i.size].width<1e3&&(i.size="large"),a.sizes[i.size]&&a.sizes[i.size].width>1e3&&(n=a.sizes[i.size])),s.contentWindow.postMessage({from:"fc_parent",action:"add_media",media:n},t.target_origin),wp.media.editor.send.attachment=e},wp.media.editor.open("fc_launch_editor_button",{frame:"post",state:"insert",title:this.$t("Select Image for Your Email Body"),multiple:!1}),!1},setFrameUrl(){if(!window.fcVisualVars)return"";const e=new URL(window.fcVisualVars.url);this.each(window.fcVisualVars.params,(t,i)=>{e.searchParams.set(i,t)}),e.searchParams.set("context",this.context),e.searchParams.set("version",this.appVars.app_version),this.appVars.disable_ai&&e.searchParams.set("disable_ai","yes"),this.frame_url=e.href},listenBus(e){if(!this.editor_loaded)return void this.$notify.error(this.$t("Editor is loading. Please wait"));e.callback?this.inlineCallBack=e.callback:this.inlineCallBack=null;document.getElementById("fc_visual_frame").contentWindow.postMessage({from:"fc_parent",action:"fire_save_data",reference:e.reference},this.target_origin)},fireConditionTag(e){document.getElementById("fc_visual_frame").contentWindow.postMessage({from:"fc_parent",action:"apply_condition",item:this.cloneForPostMessage(e)},this.target_origin),this.showDisplayCondition=!1}},mounted(){this.setFrameUrl(),this.campaign._visual_builder_design?this.editor_type="old":!this.modelValue||-1!==this.modelValue.indexOf(this.$t("Start Writing Here"))||jQuery(this.modelValue).text().trim().length<20?this.editor_type="new":this.editor_type="existing_content",window.addEventListener("message",this.iframeEvent,!1),window.wpActiveEditor||(window.wpActiveEditor=null),this.$bus.on("getVisualData",this.listenBus)},beforeUnmount(){window.removeEventListener("message",this.iframeEvent,!1),document.body.classList.remove("fc_locked","fc_locked_loaded"),this.$bus.off("getVisualData",this.listenBus),this.clearVisualBuilderRefreshTimers()}},[["render",function(e,t,i,a,s,n){const l=u,o=$("Loading"),d=m,r=$("iframe-builder"),c=$("loader-skeleton"),_=$("merge-codes"),F=$("display-condition"),S=h;return p(),g("div",null,[n.is_inline?(p(),g("div",ie,["new"==s.editor_type?(p(),g("div",ae,[y("h1",null,C(e.$t("Select a starter design to build your email")),1),y("div",se,[(p(!0),g(T,null,B(s.predefinedTemplates,e=>(p(),g("div",{onClick:t=>n.loadTemplate(e.id),key:e.id,class:"fc_visual_block"},[y("img",{src:e.image,alt:e.name},null,8,le),y("h3",null,C(e.name),1)],8,ne))),128))])])):s.editor_loaded?E("",!0):(p(),g("div",oe,[V(c)])),s.frame_url?(p(),g("iframe",{key:2,id:"fc_visual_frame",style:w([{visibility:s.editor_loaded&&"new"!=s.editor_type?"visible":"hidden"},{width:"100%","min-height":"calc(100vh - 110px)"}]),src:s.frame_url+"&inline=yes"},null,12,de)):E("",!0)])):(p(),g("div",P,[s.is_active?E("",!0):(p(),g("div",U,[y("div",j,[y("div",W,[y("h3",null,C(e.$t("Visually design your email with Drag & Drop Builder")),1),"new"==s.editor_type?(p(),g("div",N,[y("h1",null,C(e.$t("Select a starter design to build your email")),1),y("div",A,[(p(!0),g(T,null,B(s.predefinedTemplates,e=>(p(),g("div",{onClick:t=>n.loadTemplate(e.id,!0),key:e.id,class:"fc_visual_block"},[y("img",{src:e.image,alt:e.name},null,8,J),y("h3",null,C(e.name),1)],8,O))),128))])])):(p(),x(l,{key:1,id:"fc_launch_editor_button",type:"primary",onClick:t[0]||(t[0]=e=>n.loadingFrame())},{default:b(()=>[k(C(e.$t("Launch Visual Editor")),1)],void 0),_:1})),s.editor_loaded?E("",!0):(p(),g("p",Q,[V(d,{class:"is-loading"},{default:b(()=>[V(o)],void 0),_:1})]))]),s.is_active?E("",!0):(p(),x(r,{key:0,frame_height:"800px",preview_html:i.modelValue},null,8,["preview_html"]))])])),f(y("div",Y,[y("div",H,[s.editor_loaded?E("",!0):(p(),g("div",q,[y("div",G,[y("div",K,[y("img",{src:e.appVars.images_url+"/fluentcrm-logo.svg"},null,8,X),t[2]||(t[2]=y("span",null,"Pro",-1))]),y("div",Z,[V(l,{type:"primary",size:"small",disabled:!0},{default:b(()=>[k(C(e.$t("Save")),1)],void 0),_:1}),V(l,{type:"danger",size:"small",disabled:!0},{default:b(()=>[k(C(e.$t("Save & close")),1)],void 0),_:1})])]),V(c)])),y("div",ee,[V(_,{id:"fc_merge_code_wrap",extra_tags:i.extra_tags},null,8,["extra_tags"])]),s.frame_url?(p(),g("iframe",{key:1,style:w([{visibility:s.editor_loaded?"visible":"hidden"},{width:"100%"}]),id:"fc_visual_frame",src:s.frame_url},null,12,te)):E("",!0)])],512),[[v,s.is_active]])])),s.showDisplayCondition?(p(),x(S,{key:2,class:"fc_force_modal",title:"Select your Condition",modelValue:s.showDisplayCondition,"onUpdate:modelValue":t[1]||(t[1]=e=>s.showDisplayCondition=e),"append-to-body":!0,"modal-append-to-body":!0,width:"30%"},{default:b(()=>[V(F,{editing_condition:s.editing_condition,onInsertTag:n.fireConditionTag},null,8,["editing_condition","onInsertTag"])],void 0),_:1},8,["modelValue"])):E("",!0)])}]]);!function e(){window.FLUENTCRM&&window.FLUENTCRM.app?window.FLUENTCRM.app.component("VisualEmailBuilder",re):setTimeout(e,100)}();