1import{_ as pe}from"./DD0bMvq5.js";/* empty css *//* empty css *//* empty css *//* empty css */import{M as K,cd as Y,x as c,u as e,B as p,bE as o,bO as t,H as U,cr as oe,s as X,cs as m,cj as x,ci as te,cf as B,b as A,bo as R,w as h,bc as u,bm as S,bW as me,bV as _e,co as be,b7 as xe,a_ as z,ck as O,A as ve,b0 as N,aX as H,bk as fe,ai as G,c5 as ge}from"./BqRK_f-2.js";import{d as he}from"./BLEjQckR.js";import{r as ye}from"./BcB13ASJ.js";import{r as ke}from"./DJOCsDZD.js";import{a as E}from"./DOcBdUHk.js";import{M as we}from"./ss8uvVgk.js";import{F as $e}from"./DlOvc8xN.js";import{u as Ce}from"./CNxMQkOW.js";import{u as Ve}from"./vJAMW08J.js";import{u as Ue}from"./DyTmvOMJ.js";import{r as Se}from"./xeJOJFDg.js";import{r as Ee}from"./xVg5lwfs.js";import{E as Te}from"./nlMPApAa.js";import{r as Pe}from"./2eavgsaj.js";import"./e5v6qK9R.js";import"./DXek99um.js";import"./DapnQ07H.js";import"./BhFJ2G4y.js";const je={class:"space-y-4"},Fe={class:"text-xs text-[var(--muted)] leading-relaxed"},Me={class:"text-[var(--text)]"},Ae={class:"text-[var(--text)]"},Le={class:"text-[var(--accent)]"},qe={class:"rounded-xl border border-[var(--border)] bg-[var(--surface-2)] p-4 space-y-3"},ze={class:"flex items-center justify-between gap-2"},Ne=["aria-label"],Be=["onClick"],Re={class:"grid grid-cols-1 sm:grid-cols-2 gap-3"},De={class:"space-y-1"},Ie={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},Oe=["onUpdate:modelValue","placeholder"],He={class:"space-y-1"},Ge={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},We=["onUpdate:modelValue"],Je={value:"text"},Qe={value:"email"},Xe={value:"tel"},Ke={value:"cpf"},Ye={value:"cnpj"},Ze={value:"cep"},et={value:"textarea"},tt={value:"select"},ot={class:"space-y-1 sm:col-span-2"},at={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},rt=["onUpdate:modelValue"],st={class:"space-y-1 sm:col-span-2"},nt={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},lt=["onUpdate:modelValue"],it={class:"space-y-1"},dt={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},ct=["onUpdate:modelValue"],ut={value:"nome"},pt={value:"telefone"},mt={value:"email"},_t={value:"cpf"},bt={value:"cep"},xt={value:"observacao"},vt={class:"flex items-end"},ft={class:"inline-flex items-center gap-2 text-sm text-[var(--text)] cursor-pointer"},gt=["onUpdate:modelValue"],ht={key:0,class:"space-y-2 sm:col-span-2"},yt={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},kt=["onUpdate:modelValue","placeholder"],wt=["title","onClick"],$t=["onClick"],Ct={key:0,class:"text-[11px] text-[var(--muted)]"},Vt=K({__name:"EmbedFormCamposEditor",props:{modelValue:{}},emits:["update:modelValue"],setup(b,{emit:s}){const{tn:l}=Y(),T=b,y=s,k=X({get:()=>T.modelValue,set:g=>y("update:modelValue",g)});function w(){const v={name:`campo_${k.value.length+1}`,tipo:"text",label:"Novo campo",placeholder:"",obrigatorio:!1,mapeamento:"observacao"};y("update:modelValue",[...k.value,v])}function V(g){y("update:modelValue",k.value.filter(v=>v.name!==g))}function $(g){Array.isArray(g.opcoes)||(g.opcoes=[]),g.opcoes.push(""),y("update:modelValue",[...k.value])}function D(g,v){Array.isArray(g.opcoes)&&(g.opcoes.splice(v,1),y("update:modelValue",[...k.value]))}return(g,v)=>(u(),c("div",je,[e("p",Fe,[p(o(t(l)("Defina os campos do formulário. à obrigatório haver pelo menos um mapeamento"))+" ",1),e("strong",Me,o(t(l)("telefone")),1),p(" "+o(t(l)("ou"))+" ",1),e("strong",Ae,o(t(l)("email")),1),p(o(t(l)(". Nomes"))+" ",1),e("code",Le,o(t(l)("name")),1),p(" "+o(t(l)("devem ser únicos.")),1)]),U(t(he),{modelValue:k.value,"onUpdate:modelValue":v[0]||(v[0]=d=>k.value=d),"item-key":"name",handle:".gf-drag",animation:180,class:"space-y-3"},{item:oe(({element:d})=>[e("div",qe,[e("div",ze,[e("button",{type:"button",class:"gf-drag p-1.5 rounded-lg text-[var(--muted)] hover:bg-[var(--surface)] cursor-grab active:cursor-grabbing","aria-label":t(l)("Arrastar")},[U(t(ye),{class:"h-5 w-5"})],8,Ne),e("button",{type:"button",class:"text-xs font-semibold text-[var(--status-danger)] hover:underline",onClick:f=>V(d.name)}
1,o(t(l)("Remover")),9,Be)]),e("div",Re,[e("div",De,[e("label",Ie,o(t(l)("name (HTML)")),1),m(e("input",{"onUpdate:modelValue":f=>d.name=f,type:"text",class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface)] px-3 py-2 text-sm font-mono text-[var(--text)]",placeholder:t(l)("ex: whatsapp")},null,8,Oe),[[x,d.name]])]),e("div",He,[e("label",Ge,o(t(l)("Tipo")),1),m(e("select",{"onUpdate:modelValue":f=>d.tipo=f,class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface)] px-3 py-2 text-sm text-[var(--text)]"},[e("option",Je,o(t(l)("Texto")),1),e("option",Qe,o(t(l)("E-mail")),1),e("option",Xe,o(t(l)("Telefone")),1),e("option",Ke,o(t(l)("CPF")),1),e("option",Ye,o(t(l)("CNPJ")),1),e("option",Ze,o(t(l)("CEP")),1),e("option",et,o(t(l)("Ãrea de texto")),1),e("option",tt,o(t(l)("Escolha (lista de opções)")),1)],8,We),[[te,d.tipo]])]),e("div",ot,[e("label",at,o(t(l)("Label")),1),m(e("input",{"onUpdate:modelValue":f=>d.label=f,type:"text",class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface)] px-3 py-2 text-sm text-[var(--text)]"},null,8,rt),[[x,d.label]])]),e("div",st,[e("label",nt,o(t(l)("Placeholder")),1),m(e("input",{"onUpdate:modelValue":f=>d.placeholder=f,type:"text",class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface)] px-3 py-2 text-sm text-[var(--text)]"},null,8,lt),[[x,d.placeholder]])]),e("div",it,[e("label",dt,o(t(l)("Mapeamento CRM")),1),m(e("select",{"onUpdate:modelValue":f=>d.mapeamento=f,class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface)] px-3 py-2 text-sm text-[var(--text)]"},[e("option",ut,o(t(l)("Nome")),1),e("option",pt,o(t(l)("Telefone")),1),e("option",mt,o(t(l)("E-mail (vai para observações)")),1),e("option",_t,o(t(l)("CPF (vai para o cadastro do cliente)")),1),e("option",bt,o(t(l)("CEP (vai para o cadastro do cliente)")),1),e("option",xt,o(t(l)("Observação")),1)],8,ct),[[te,d.mapeamento]])]),e("div",vt,[e("label",ft,[m(e("input",{"onUpdate:modelValue":f=>d.obrigatorio=f,type:"checkbox",class:"rounded border-[var(--border)]"},null,8,gt),[[B,d.obrigatorio]]),p(" "+o(t(l)("Obrigatório")),1)])]),d.tipo==="select"?(u(),c("div",ht,[e("label",yt,o(t(l)("Opções da escolha")),1),(u(!0),c(A,null,R(d.opcoes||[],(f,C)=>(u(),c("div",{key:C,class:"flex items-center gap-2"},[m(e("input",{"onUpdate:modelValue":P=>d.opcoes[C]=P,type:"text",maxlength:"100",class:"flex-1 rounded-xl border border-[var(--border)] bg-[var(--surface)] px-3 py-2 text-sm text-[var(--text)]",placeholder:t(l)("ex: Dono do negócio")},null,8,kt),[[x,d.opcoes[C]]]),e("button",{type:"button",class:"shrink-0 p-2 rounded-xl text-[var(--status-danger)] hover:bg-[var(--surface-2)]",title:t(l)("Remover opção"),onClick:P=>D(d,C)},[U(t(ke),{class:"w-4 h-4"})],8,wt)]))),128)),e("button",{type:"button",class:"text-xs font-semibold text-[var(--accent)] hover:underline",onClick:f=>$(d)}," + "+o(t(l)("Adicionar opção")),9,$t),(d.opcoes||[]).length?h("",!0):(u(),c("p",Ct,o(t(l)("Sem nenhuma opção, este campo vira texto livre ao salvar â um select vazio não teria o que responder.")),1))])):h("",!0)])])]),_:1},8,["modelValue"]),e("button",{type:"button",class:"w-full py-3 rounded-xl border border-dashed border-[var(--border)] text-sm font-semibold text-[var(--accent)] hover:bg-[var(--surface-2)] transition",onClick:w},o(t(l)("+ Adicionar campo")),1)]))}}),Ut=Object.assign(Vt,{__name:"EmbedFormCamposEditor"}),St={key:0,class:"space-y-6"},Et={key:0,class:"rounded-xl border border-[var(--accent)]/20 bg-[var(--accent)]/08 px-4 py-3 space-y-2 text-sm text-[var(--muted)]"},Tt={key:0},Pt={key:1},jt={class:"space-y-3"},Ft={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},Mt={class:"relative rounded-xl border border-[var(--border)] bg-[var(--bg)] p-3 font-mono text-xs text-[var(--text)] overflow-x-auto whitespace-pre-wrap break-all"},At={class:"space-y-3"},Lt={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},qt={class:"relative rounded-xl border border-[var(--border)] bg-[var(--bg)] p-3 font-mono text-xs text-[var(--text)] overflow-x-auto max-h-48 overflow-y-auto whitespace-pre-wrap break-all"},zt={class:"space-y-3"},Nt={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},Bt={class:"relative rounded-xl border border-[var(--border)] bg-[var(--bg)] p-3 font-mono text-xs text-[var(--text)] overflow-x-auto whitespace-pre-wrap break-all"},Rt={key:1,class:"space-y-2"},Dt={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},It={class:"space-y-2 text-xs"},Ot={class:"font-semibold text-[var(--text)] shrink-0"},Ht={class:"text-[var(--muted)] break-all flex-1"},Gt=["onClick"],Wt={key:1,class:"text-sm text-[var(--muted)]"},Jt=K({__name:"EmbedFormSnippetPanel",props:{snippet:{}},setup(b){const{tn:s}=Y(),l=S(null);let T=null;async function y(k,w){try{await navigator.clipboard.writeText(k),l.value=w,E.success(s("Copiado para a área de transferência")),T&&clearTimeout(T),T=setTimeout(()=>{l.value=null},2e3)}catch{E.error(s("Não foi possÃvel copiar"))}}return(k,w)=>b.snippet?(u(),c("div",St,[b.snippet.instrucoes?(u(),c("div",Et,[b.snippet.instrucoes.head?(u(),c("p",Tt,o(b.snippet.instrucoes.head),1)):h("",!0),b.snippet.instrucoes.antes_do_fechamento_body?(u(),c("p",Pt,o(b.snippet.instrucoes.antes_do_fechamento_body),1)):h("",!0)])):h("",!0),e("div",jt,[e("p",Ft,o(t(s)("Bloco head")),1),e("div",Mt,o(b.snippet.head),1),e("button",{type:"button",class:"text-xs font-semibold text-[var(--accent)] hover:underline",onClick:w[0]||(w[0]=V=>y(b.snippet.head,"head"))},o(l.value==="head"?"Copiado!":"Copiar head"),1)]),e("div",At,[e("p",Lt,o(t(s)("HTML do formulário")),1),e("div",qt,o(b.snippet.html),1),e("button",{type:"button",class:"text-xs font-semibold text-[var(--accent)] hover:underline",onClick:w[1]||(w[1]=V=>y(b.snippet.html,"html"))},o(l.value==="html"?"Copiado!":"Copiar HTML"),1)]),e("div",zt,[e("p",Nt,o(t(s)("Script")),1),e("div",Bt,o(b.snippet.script),1),e("button",{type:"button",class:"text-xs font-semibold text-[var(--accent)] hover:underline",onClick:w[2]||(w[2]=V=>y(b.snippet.script,"script"))},o(l.value==="script"?"Copiado!":"Copiar script"),1)]),b.snippet.urls&&Object.keys(b.snippet.urls).length?(u(),c("div",Rt,[e("p",Dt,o(t(s)("URLs")),1),e("ul",It,[(u(!0),c(A,null,R(b.snippet.urls,(V,$)=>(u(),c("li",{key:$,class:"flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-3 rounded-lg border border-[var(--border)] bg-[var(--surface-2)] px-3 py-2"},[e("span",Ot,o($),1),e("code",Ht,o(V),1),e("button",{type:"button",class:"text-[var(--accent)] font-semibold shrink-0 hover:underline",onClick:D=>y(V,`url-${String($)}`)},o(l.value===`url-${String($)}`?"Copiado":"Copiar"),9,Gt)]))),128))])])):h("",!0)])):(u(),c("p",Wt,o(t(s)("Salve o formulário e carregue o snippet.")),1))}}),Qt=Object.assign(Jt,{__name:"EmbedFormSnippetPanel"}),Xt={key:0,class:"min-h-screen flex items-center justify-center px-4"},Kt={class:"text-[var(--muted)]"},Yt={key:1,class:"min-h-[calc(100vh-6rem)] flex flex-col"},Zt={class:"flex flex-wrap items-center gap-3 mb-4"},eo={key:0,class:"flex justify-center py-20"},to={class:"flex flex-wrap gap-1 mb-6 bg-[var(--surface-2)] rounded-xl p-1 border border-[var(--border)] w-fit max-w-full"},oo=["onClick"],ao={class:"space-y-6 rounded-2xl border border-[var(--border)] bg-[var(--surface)] p-5 md:p-6"},ro={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},so={class:"space-y-1 md:col-span-2"},no={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},lo=["placeholder"],io={class:"inline-flex items-center gap-2 text-sm text-[var(--text)] cursor-pointer md:col-span-2"},co={class:"space-y-1 md:col-span-2"},uo={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},po=["placeholder"],mo={class:"space-y-1 md:col-span-2"},_o={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},bo=["placeholder"],xo={class:"text-xs text-[var(--subtle)] leading-relaxed"},vo={class:"space-y-1 md:col-span-2"},fo={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},go=["placeholder"],ho={class:"md:col-span-2 relative overflow-hidden rounded-2xl border border-[var(--border)] bg-[var(--surface-2)] p-5"},yo={class:"flex items-center gap-3"},ko={class:"flex h-9 w-9 items-center justify-center rounded-xl bg-[var(--accent)]/15 text-[var(--accent)]"},wo={class:"text-[15px] font-semibold text-[var(--text)]"},$o={class:"font-normal text-[var(--muted)]"},Co={class:"mt-2 text-xs leading-relaxed text-[var(--subtle)]"},Vo={class:"text-[var(--text)]"},Uo={class:"text-[var(--text)]"},So={class:"mt-4"},Eo={class:"mt-4 space-y-1.5 border-t border-[var(--border)] pt-4"},To={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},Po={class:"md:col-span-2 relative overflow-hidden rounded-2xl border border-[var(--border)] bg-[var(--surface-2)] p-5"},jo={class:"flex items-center gap-3"},Fo={class:"text-[15px] font-semibold text-[var(--text)]"},Mo={class:"font-normal text-[var(--muted)]"},Ao={class:"mt-2 text-xs leading-relaxed text-[var(--subtle)]"},Lo={class:"text-[var(--text)]"},qo={class:"text-[var(--text)]"},zo={class:"text-[var(--text)]"},No={class:"mt-4 space-y-1.5"},Bo={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},Ro=["placeholder"],Do={class:"flex items-start justify-between gap-4"},Io={class:"min-w-0"},Oo={class:"text-sm font-semibold text-[var(--text)]"},Ho={class:"mt-1 text-xs leading-relaxed text-[var(--subtle)]"},Go={class:"text-[var(--text)]"},Wo={class:"text-[var(--text)]"},Jo=["title"],Qo={key:0,class:"mt-4 space-y-1.5 rounded-xl border border-[var(--border)] bg-[var(--surface)]/60 p-4"},Xo={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},Ko=["placeholder"],Yo={class:"text-[11px] text-[var(--subtle)]"},Zo={class:"text-[var(--text)]"},ea={class:"mt-3 flex items-center gap-3 border-t border-[var(--border)]/60 pt-3"},ta=["title"],oa={class:"text-sm text-[var(--text)]"},aa={class:"text-[11px] text-[var(--subtle)]"},ra={key:0,class:"mt-2 space-y-1"},sa={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},na=["placeholder"],la={class:"text-[11px] text-[var(--status-warning)]"},ia={class:"w-full rounded-2xl border border-[var(--border)] bg-[var(--surface)] p-5 md:p-6 shadow-[var(--shadow)]"},da={class:"grid grid-cols-1 lg:grid-cols-2 gap-5"},ca={class:"space-y-5 rounded-2xl border border-[var(--border)] bg-[var(--surface)] p-5 md:p-6"},ua={class:"space-y-2"},pa={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},ma={class:"grid grid-cols-2 sm:grid-cols-4 gap-2"},_a=["onClick"],ba={class:"grid grid-cols-2 gap-3"},xa={class:"space-y-1"},va={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},fa={class:"space-y-1"},ga={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},ha={class:"space-y-1"},ya={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},ka={class:"space-y-1"},wa={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},$a={class:"space-y-3"},Ca={class:"space-y-1"},Va={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},Ua=["placeholder"],Sa={class:"space-y-1"},Ea={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},Ta=["placeholder"],Pa={class:"space-y-1"},ja={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},Fa=["placeholder"],Ma={class:"space-y-2"},Aa={class:"text-[11px] font-bold uppercase tracking-[0.06em] text-[var(--muted)]"},La={class:"rounded-2xl border border-[var(--border)] p-4 flex items-center justify-center bg-[var(--surface-2)]"},qa=["src"],za=["src"],Na={class:"text-xs opacity-80"},Ba={class:"text-[11px] text-[var(--subtle)]"},Ra={class:"rounded-2xl border border-[var(--border)] bg-[var(--surface)] p-5 md:p-6 space-y-4"},Da={key:0,class:"text-xs text-[var(--muted)]"},Ia={key:1,class:"text-sm text-[var(--status-warning)]"},Oa={class:"flex flex-wrap gap-2"},Ha=["disabled"],Ga={key:0,class:"inline-flex items-center gap-2 text-xs text-[var(--muted)] mr-auto"},Wa=["disabled"],vr=K({__name:"[id]",setup(b){const{tn:s}=Y(),{embedDetailBodyClass:l,embedStickyFooterClass:T,pageTitleClass:y}=Ue(),k=ge(),{canViewCrm:w,canEditCrm:V}=Ce(),$=Ve(),D=me(),g=_e(),v=X(()=>k.params.id),d=X(()=>v.value==="novo"),f=[{id:"geral",label:"Geral"},{id:"layout",label:"Campos"},{id:"estilo",label:"Estilo"},{id:"snippet",label:"Snippet"}],C=S("geral"),P=S(!d.value),I=S(!1),L=S(!1),W=S(null),j=S(!1),a=fe({nome:"",ativo:!0,css_conteudo:"",embed_layout_json:null,config_campos:[],crm_funil_id:null,crm_coluna_id:null,maquina_id:null,mensagem_sucesso:"Recebemos seu contato!",redirect_url:"",texto_consentimento:"",meta_pixel_id:null,meta_capi_token:null,meta_capi_test_code:null,branding:{cor_primaria:"",cor_fundo:"",cor_botao:"",cor_texto_botao:"",logo_url:"",banner_url:"",tag_marketing:""}}),ae=[{id:"clean",nome:"Clean",cor_fundo:"#ffffff",cor_primaria:"#0ea5e9",cor_botao:"#0ea5e9",cor_texto_botao:"#ffffff"},{id:"escuro",nome:"Escuro",cor_fundo:"#0b1220",cor_primaria:"#7dd3fc",cor_botao:"#38bdf8",cor_texto_botao:"#06243a"},{id:"card",nome:"Card",cor_fundo:"#f8fafc",cor_primaria:"#111827",cor_botao:"#111827",cor_texto_botao:"#ffffff"},{id:"natureza",nome:"Natureza",cor_fundo:"#ffffff",cor_primaria:"#16a34a",cor_botao:"#16a34a",cor_texto_botao:"#ffffff"}];function re(i){a.branding.cor_fundo=i.cor_fundo,a.branding.cor_primaria=i.cor_primaria,a.branding.cor_botao=i.cor_botao,a.branding.cor_texto_botao=i.cor_texto_botao}function se(i){const r=i.replace("#","");if(r.length<6)return"#0f172a";const _=parseInt(r.slice(0,2),16),n=parseInt(r.slice(2,4),16),M=parseInt(r.slice(4,6),16);return .299*_+.587*n+.114*M>150?"#0f172a":"#f1f5f9"}function ne(){const i={};for(const[r,_]of Object.entries(a.branding))_&&String(_).trim()&&(i[r]=String(_).trim());return i}function Z(){return[{name:"nome_completo",tipo:"text",label:"Nome",placeholder:"",obrigatorio:!0,mapeamento:"nome"},{name:"whatsapp",tipo:"tel",label:"WhatsApp",placeholder:"",obrigatorio:!0,mapeamento:"telefone"}]}function le(){if(!a.nome.trim())return s("Informe o nome do formulário.");const i=a.config_campos.map(n=>
1n.name.trim()).filter(Boolean);if(new Set(i).size!==i.length)return s("Cada campo precisa de um name único.");const r=a.config_campos.some(n=>n.mapeamento==="telefone"),_=a.config_campos.some(n=>n.mapeamento==="email");if(!r&&!_)return s("Inclua pelo menos um campo com mapeamento Telefone ou E-mail.");for(const n of a.config_campos){const M=n.tag?.trim();if(M&&M.length>80)return`Campo "${n.name}": tag com no máximo 80 caracteres.`}return null}function ee(i,r){const _=r;console.error(`[crm/formularios-embed] carregarFormulario â ${i}`,{id:v.value,message:_?.message,stack:_?.stack,responseStatus:_?.response?.status,responseData:_?.response?.data})}const q=S(!1),F=S(!1);function ie(){q.value||(a.meta_capi_token=null,a.meta_capi_test_code=null,F.value=!1)}function de(){F.value||(a.meta_capi_test_code=null)}async function ce(){if(d.value){a.config_campos=Z(),a.embed_layout_json=null,a.css_conteudo="",P.value=!1;return}P.value=!0;try{const i=await $.obter(v.value);try{J(i)}catch(r){ee("aplicarForm",r),E.error(G(r)),await H("/crm/formularios-embed");return}W.value=null}catch(i){ee("api.obter",i),E.error(G(i)),await H("/crm/formularios-embed")}finally{P.value=!1}}function J(i){a.nome=i.nome,a.ativo=i.ativo,a.css_conteudo=i.css_conteudo??"",a.embed_layout_json=i.embed_layout_json??null,a.config_campos=Array.isArray(i.config_campos)&&i.config_campos.length?[...i.config_campos]:Z(),a.crm_funil_id=i.crm_funil_id??null,a.crm_coluna_id=i.crm_coluna_id,a.maquina_id=i.maquina_id??null,a.mensagem_sucesso=i.mensagem_sucesso??"Recebemos seu contato!",a.redirect_url=i.redirect_url??"",a.texto_consentimento=i.texto_consentimento??"",a.meta_pixel_id=i.meta_pixel_id??null,a.meta_capi_token=i.meta_capi_token??null,a.meta_capi_test_code=i.meta_capi_test_code??null,q.value=!!i.meta_capi_token,F.value=!!i.meta_capi_test_code;const r=i.branding||{};a.branding={cor_primaria:r.cor_primaria??"",cor_fundo:r.cor_fundo??"",cor_botao:r.cor_botao??"",cor_texto_botao:r.cor_texto_botao??"",logo_url:r.logo_url??"",banner_url:r.banner_url??"",tag_marketing:r.tag_marketing??""}}async function Q(){if(!d.value){L.value=!0;try{W.value=await $.snippet(v.value)}catch(i){E.error(G(i))}finally{L.value=!1}}}async function ue(){const i=le();if(i){E.warning(i);return}if(V.value){if(!d.value&&j.value)try{await Te.confirm(s("O snippet antigo deixará de funcionar. Deseja gerar um novo link público?"),"Rotacionar token",{confirmButtonText:s("Sim"),cancelButtonText:s("Não"),type:"warning"})}catch{return}I.value=!0;try{const r={nome:a.nome.trim(),ativo:a.ativo,css_conteudo:a.css_conteudo||null,embed_layout_json:a.embed_layout_json,config_campos:a.config_campos.map(_=>({..._,name:_.name.trim(),placeholder:_.placeholder??"",tag:_.tag?.trim()||null,cor:_.cor?.trim()||null,imagem_url:_.imagem_url?.trim()||null})),crm_funil_id:a.crm_funil_id,crm_coluna_id:a.crm_coluna_id,maquina_id:a.maquina_id,mensagem_sucesso:a.mensagem_sucesso||null,redirect_url:a.redirect_url?.trim()||null,texto_consentimento:a.texto_consentimento?.trim()||null,meta_pixel_id:a.meta_pixel_id&&String(a.meta_pixel_id).trim()||null,meta_capi_token:a.meta_capi_token&&String(a.meta_capi_token).trim()||null,meta_capi_test_code:a.meta_capi_test_code&&String(a.meta_capi_test_code).trim()||null,branding:ne()};if(d.value){const _=await $.criar(r);E.success(s("Formulário criado")),await H(`/crm/formularios-embed/${_.id}`,{replace:!0}),J(_),j.value=!1,C.value="snippet",await Q()}else{await $.atualizar(v.value,{...r,rotacionar_public_token:j.value}),E.success(s("Salvo")),j.value=!1;const _=await $.obter(v.value);J(_),await Q()}}catch(r){E.error(G(r))}finally{I.value=!1}}}return be(()=>v.value,()=>{ce()},{immediate:!0}),xe(async()=>{if(g.barbeariaSelecionada?.id)try{await D.loadColunas()}catch{}}),(i,r)=>{const _=pe;return t(w)?(u(),c("div",Yt,[e("div",{class:z(t(l))},[e("div",Zt,[U(_,{to:"/crm/formularios-embed",class:"inline-flex items-center gap-1.5 text-sm text-[var(--muted)] hover:text-[var(--accent)]"},{default:oe(()=>[U(t(Pe),{class:"h-4 w-4"}),p(" "+o(t(s)("Voltar")),1)]),_:1}),e("h1",{class:z(t(y)??"text-lg md:text-xl font-bold text-[var(--text)]")},o(d.value?"Novo formulário":a.nome||"Formulário"),3)]),P.value?(u(),c("div",eo,[...r[23]||(r[23]=[e("span",{class:"h-10 w-10 border-2 border-[var(--accent)] border-t-transparent roun
1ded-full animate-spin"},null,-1)])])):(u(),c(A,{key:1},[e("div",to,[(u(),c(A,null,R(f,n=>e("button",{key:n.id,type:"button",class:z(["px-3 py-2 rounded-lg text-sm font-semibold transition",C.value===n.id?"bg-[var(--surface)] text-[var(--text)] shadow-sm":"text-[var(--muted)] hover:text-[var(--text)]"]),onClick:M=>C.value=n.id},o(t(s)(n.label)),11,oo)),64))]),m(e("div",ao,[e("div",ro,[e("div",so,[e("label",no,o(t(s)("Nome interno")),1),m(e("input",{"onUpdate:modelValue":r[0]||(r[0]=n=>a.nome=n),type:"text",class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface-2)] px-3 py-2 text-sm text-[var(--text)]",placeholder:t(s)("Landing parceiro")},null,8,lo),[[x,a.nome]])]),e("label",io,[m(e("input",{"onUpdate:modelValue":r[1]||(r[1]=n=>a.ativo=n),type:"checkbox",class:"rounded border-[var(--border)]"},null,512),[[B,a.ativo]]),p(" "+o(t(s)("Formulário ativo")),1)]),e("div",co,[e("label",uo,o(t(s)("Mensagem de sucesso")),1),m(e("input",{"onUpdate:modelValue":r[2]||(r[2]=n=>a.mensagem_sucesso=n),type:"text",class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface-2)] px-3 py-2 text-sm text-[var(--text)]",placeholder:t(s)("Recebemos seu contato!")},null,8,po),[[x,a.mensagem_sucesso]])]),e("div",mo,[e("label",_o,o(t(s)("URL de redirecionamento (opcional)")),1),m(e("input",{"onUpdate:modelValue":r[3]||(r[3]=n=>a.redirect_url=n),type:"url",class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface-2)] px-3 py-2 text-sm text-[var(--text)]",placeholder:t(s)("https://...")},null,8,bo),[[x,a.redirect_url]]),e("p",xo,[p(o(t(s)("Para onde a pessoa vai depois de enviar o formulário (sua página de obrigado). Qualquer domÃnio"))+" ",1),e("strong",null,o(t(s)("HTTPS")),1),p(" "+o(t(s)("é aceito (sem usuário/senha na URL). Deixe vazio para mostrar um aviso de sucesso interno.")),1)])]),e("div",vo,[e("label",fo,o(t(s)("Texto de consentimento (LGPD)")),1),m(e("textarea",{"onUpdate:modelValue":r[4]||(r[4]=n=>a.texto_consentimento=n),rows:"3",class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface-2)] px-3 py-2 text-sm text-[var(--text)]",placeholder:t(s)("Se preenchido, o snippet inclui checkbox obrigatório gf_consentimento.")},null,8,go),[[x,a.texto_consentimento]])]),e("div",ho,[r[24]||(r[24]=e("span",{class:"absolute inset-y-0 left-0 w-1 bg-[var(--accent)]","aria-hidden":"true"},null,-1)),e("div",yo,[e("span",ko,[U(t(Se),{class:"h-5 w-5"})]),e("h3",wo,[p(o(t(s)("Destino do lead"))+" ",1),e("span",$o,o(t(s)("· funil e etapa")),1)])]),e("p",Co,[p(o(t(s)("Escolha em qual"))+" ",1),e("strong",Vo,o(t(s)("funil")),1),p(" "+o(t(s)("o lead deste formulário entra e, se quiser, em qual"))+" ",1),e("strong",Uo,o(t(s)("etapa")),1),p(" "+o(t(s)(". Sem etapa, ele cai na primeira etapa do funil escolhido.")),1)]),e("div",So,[U($e,{modelValue:a.crm_coluna_id,"onUpdate:modelValue":r[5]||(r[5]=n=>a.crm_coluna_id=n),"funil-id":a.crm_funil_id,"onUpdate:funilId":r[6]||(r[6]=n=>a.crm_funil_id=n),"label-coluna":"Etapa (opcional)","coluna-opcional":"","texto-coluna-vazia":t(s)("â Primeira etapa do funil â"),"permitir-funil-vazio":"","texto-funil-vazio":"â Funil padrão â"},null,8,["modelValue","funil-id","texto-coluna-vazia"])]),e("div",Eo,[e("label",To,o(t(s)("Máquina (intenção de captação)")),1),U(we,{modelValue:a.maquina_id,"onUpdate:modelValue":r[7]||(r[7]=n=>a.maquina_id=n),hint:t(s)("Agrupa os leads deste formulário numa máquina, pra medir origem e custo junto das outras ferramentas.")},null,8,["modelValue","hint"])])]),e("div",Po,[r[31]||(r[31]=e("span",{class:"absolute inset-y-0 left-0 w-1 bg-[var(--accent)]","aria-hidden":"true"},null,-1)),e("div",jo,[r[25]||(r[25]=ve('<span class="flex h-9 w-9 items-center justify-center rounded-xl bg-[var(--accent)]/15 text-[var(--accent)]"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="h-5 w-5"><circle cx="12" cy="12" r="9"></circle><circle cx="12" cy="12" r="4.5"></circle><circle cx="12" cy="12" r="1" fill="currentColor" stroke="none"></circle></svg></span>',1)),e("h3",Fo,[p(o(t(s)("Pixel da Meta"))+" ",1),e("span",Mo,o(t(s)("· rastreamento")),1)])]),e("p",Ao,[p(o(t(s)("O snippet já sai com o Pixel: conta a visualização do formulário e dispara o evento"))+" ",1),e("strong",Lo,o(t(s)("Lead")),1),p(" "+o(t(s)("no envio. Cole o"))+" ",1),e("strong",qo,o(t(s)("ID do Pixel")),1),p(" "+o(t(s)("(Gerenciador de Eventos da Meta â seu Pixel â"))+" ",1),e("strong",zo,o(t(s)("Configurações")),1),p(o(t(s)("). Use o mesmo pixel das campanhas pra otimizar e fazer remarketing.")),1)]),e("div",No,[e("label",Bo,o(t(s)("ID do Pixel")),1),m(e("input",{"onUpdate:modelValue":r[8]||(r[8]=n=>a.meta_pixel_id=n),type:"text",inputmode:"numeric",placeholder:t(s)("ID do Pixel (só números) â ex.: 1234567890123456"),class:"w-full max-w-md rounded-xl border border-[var(--border)] bg-[var(--surface)] px-3.5 py-2.5 text-sm font-mono text-[var(--text)] outline-none transition focus:border-[var(--accent)]/60 focus:ring-2 focus:ring-[var(--accent)]/25"},null,8,Ro),[[x,a.meta_pixel_id]])]),r[32]||(r[32]=e("div",{class:"my-5 h-px bg-[var(--border)]/70"},null,-1)),e("div",Do,[e("div",Io,[e("p",Oo,o(t(s)("API de Conversão")),1),e("p",Ho,[p(o(t(s)("Manda o"))+" ",1),e("strong",Go,o(t(s)("Lead")),1),p(" "+o(t(s)("também pelo"))+" ",1),e("strong",Wo,o(t(s)("nosso servidor")),1),p(" "+o(t(s)("direto pra Meta (deduplicado com o pixel pelo mesmo evento) â recupera os ~20â40% de eventos que o navegador bloqueia.")),1)])]),e("label",{class:"relative inline-flex shrink-0 cursor-pointer items-center",title:t(s)("Habilitar API de Conversão")},[m(e("input",{type:"checkbox","onUpdate:modelValue":r[9]||(r[9]=n=>q.value=n),onChange:ie,class:"peer sr-only"},null,544),[[B,q.value]]),r[26]||(r[26]=e("span",{class:"h-6 w-11 rounded-full bg-[var(--border)] transition-colors duration-200 peer-checked:bg-[var(--accent)]"},null,-1)),r[27]||(r[27]=e("span",{class:"absolute left-0.5 top-0.5 h-5 w-5 rounded-full bg-white shadow-sm transition-transform duration-200 peer-checked:translate-x-5"},null,-1))],8,Jo)]),q.value?(u(),c("div",Qo,[e("label",Xo,o(t(s)("Token de acesso")),1),m(e("input",{"onUpdate:modelValue":r[10]||(r[10]=n=>a.meta_capi_token=n),type:"password",autocomplete:"off",placeholder:t(s)("Cole o token de acesso da API de Conversão"),class:"w-full max-w-md rounded-xl border border-[var(--border)] bg-[var(--surface)] px-3.5 py-2.5 text-sm font-mono text-[var(--text)] outline-none transition focus:border-[var(--accent)]/60 focus:ring-2 focus:ring-[var(--accent)]/25"},null,8,Ko),[[x,a.meta_capi_token]]),e("p",Yo,[p(o(t(s)("Gere em: Gerenciador de Eventos â seu Pixel â"))+" ",1),e("strong",Zo,o(t(s)("Configurações â API de Conversão â Gerar token de acesso")),1),r[28]||(r[28]=p(". ",-1))]),e("div",ea,[e("label",{class:"relative inline-flex shrink-0 cursor-pointer items-center",title:t(s)("Habilitar evento de teste")},[m(e("input",{type:"checkbox","onUpdate:modelValue":r[11]||(r[11]=n=>F.value=n),onChange:de,class:"peer sr-only"},null,544),[[B,F.value]]),r[29]||(r[29]=e("span",{class:"h-5 w-9 rounded-full bg-[var(--border)] transition-colors duration-200 peer-checked:bg-[var(--accent)]"},null,-1)),r[30]||(r[30]=e("span",{class:"absolute left-0.5 top-0.5 h-4 w-4 roun
1ded-full bg-white shadow-sm transition-transform duration-200 peer-checked:translate-x-4"},null,-1))],8,ta),e("span",oa,o(t(s)("Habilitar evento de teste")),1),e("span",aa,o(t(s)("â só pra validar; apague depois")),1)]),F.value?(u(),c("div",ra,[e("label",sa,o(t(s)("test_event_code")),1),m(e("input",{"onUpdate:modelValue":r[12]||(r[12]=n=>a.meta_capi_test_code=n),type:"text",autocomplete:"off",placeholder:t(s)("TESTxxxxx"),class:"w-full max-w-xs rounded-xl border border-amber-500/40 bg-[var(--surface)] px-3.5 py-2.5 text-sm font-mono text-[var(--text)] outline-none transition focus:ring-2 focus:ring-amber-500/25"},null,8,na),[[x,a.meta_capi_test_code]]),e("p",la,[p(o(t(s)("Cole o código do"))+" ",1),e("strong",null,o(t(s)("Gerenciador de Eventos â Testar eventos")),1),p(" "+o(t(s)("pra ver o Lead chegando ao vivo."))+" ",1),e("strong",null,o(t(s)("Apague depois do teste")),1),p(" "+o(t(s)("(senão os eventos contam só como teste).")),1)])])):h("",!0)])):h("",!0)])])],512),[[O,C.value==="geral"]]),m(e("div",ia,[U(Ut,{modelValue:a.config_campos,"onUpdate:modelValue":r[13]||(r[13]=n=>a.config_campos=n)},null,8,["modelValue"])],512),[[O,C.value==="layout"]]),m(e("div",da,[e("div",ca,[e("div",ua,[e("label",pa,o(t(s)("Tema (clique pra aplicar)")),1),e("div",ma,[(u(),c(A,null,R(ae,n=>e("button",{key:n.id,type:"button",class:"rounded-xl border border-[var(--border)] p-2 text-xs font-semibold text-[var(--text)] hover:border-[var(--accent)]/50 transition",onClick:M=>re(n)},[e("span",{class:"block h-8 rounded-lg mb-1",style:N({backgroundColor:n.cor_fundo,border:"1px solid rgba(0,0,0,.1)"})},[e("span",{class:"block h-3 w-3/4 mx-auto mt-2 rounded",style:N({backgroundColor:n.cor_botao})},null,4)],4),p(" "+o(n.nome),1)],8,_a)),64))])]),e("div",ba,[e("label",xa,[e("span",va,o(t(s)("Cor de fundo")),1),m(e("input",{"onUpdate:modelValue":r[14]||(r[14]=n=>a.branding.cor_fundo=n),type:"color",class:"w-full h-10 rounded-lg border border-[var(--border)] bg-transparent cursor-pointer"},null,512),[[x,a.branding.cor_fundo]])]),e("label",fa,[e("span",ga,o(t(s)("Cor primária")),1),m(e("input",{"onUpdate:modelValue":r[15]||(r[15]=n=>a.branding.cor_primaria=n),type:"color",class:"w-full h-10 rounded-lg border border-[var(--border)] bg-transparent cursor-pointer"},null,512),[[x,a.branding.cor_primaria]])]),e("label",ha,[e("span",ya,o(t(s)("Cor do botão")),1),m(e("input",{"onUpdate:modelValue":r[16]||(r[16]=n=>a.branding.cor_botao=n),type:"color",class:"w-full h-10 rounded-lg border border-[var(--border)] bg-transparent cursor-pointer"},null,512),[[x,a.branding.cor_botao]])]),e("label",ka,[e("span",wa,o(t(s)("Texto do botão")),1),m(e("input",{"onUpdate:modelValue":r[17]||(r[17]=n=>a.branding.cor_texto_botao=n),type:"color",class:"w-full h-10 rounded-lg border border-[var(--border)] bg-transparent cursor-pointer"},null,512),[[x,a.branding.cor_texto_botao]])])]),e("div",$a,[e("div",Ca,[e("label",Va,o(t(s)("Logo (URL da imagem)")),1),m(e("input",{"onUpdate:modelValue":r[18]||(r[18]=n=>a.branding.logo_url=n),type:"url",placeholder:t(s)("https://..."),class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface-2)] px-3 py-2 text-sm text-[var(--text)]"},null,8,Ua),[[x,a.branding.logo_url]])]),e("div",Sa,[e("label",Ea,o(t(s)("Banner (URL da imagem)")),1),m(e("input",{"onUpdate:modelValue":r[19]||(r[19]=n=>a.branding.banner_url=n),type:"url",placeholder:t(s)("https://..."),class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface-2)] px-3 py-2 text-sm text-[var(--text)]"},null,8,Ta),[[x,a.branding.banner_url]])]),e("div",Pa,[e("label",ja,o(t(s)("Frase de destaque (opcional)")),1),m(e("input",{"onUpdate:modelValue":r[20]||(r[20]=n=>a.branding.tag_marketing=n),type:"text",maxlength:"120",placeholder:t(s)("Ex.: Agende e ganhe 10% off"),class:"w-full rounded-xl border border-[var(--border)] bg-[var(--surface-2)] px-3 py-2 text-sm text-[var(--text)]"},null,8,Fa),[[x,a.branding.tag_marketing]])])])]),e("div",Ma,[e("label",Aa,o(t(s)("Prévia")),1),e("div",La,[e("div",{class:"w-full max-w-sm rounded-xl p-5 space-y-3 shadow-lg",style:N({backgroundColor:a.branding.cor_fundo||"#ffffff",color:se(a.branding.cor_fundo||"#ffffff")})},[a.branding.banner_url?(u(),c("img",{key:0,src:a.branding.banner_url,alt:"",class:"w-full h-20 object-cover rounded-lg"},null,8,qa)):h("",!0),a.branding.logo_url?(u(),c("img",{key:1,src:a.branding.logo_url,alt:"",class:"h-10 mx-auto object-contain"},null,8,za)):h("",!0),a.branding.tag_marketing?(u(),c("p",{key:2,class:"text-center font-bold",style:N({color:a.branding.cor_primaria||void 0})},o(a.branding.tag_marketing),5)):h("",!0),(u(!0),c(A,null,R(a.config_campos.slice(0,3),n=>(u(),c("div",{key:n.name,class:"space-y-1"},[e("label",Na,o(n.label||n.name),1),r[33]||(r[33]=e("div",{class:"h-9 rounded-lg border border-black/10 bg-white/70"},null,-1))]))),128)),e("button",{type:"button",class:"w-full py-2.5 rounded-lg font-semibold",style:N({backgroundColor:a.branding.cor_botao||a.branding.cor_primaria||"#0ea5e9",color:a.branding.cor_texto_botao||"#ffffff"})},o(t(s)("Enviar")),5)],4)]),e("p",Ba,o(t(s)("Prévia aproximada â o formulário no site usa exatamente estas cores/imagens.")),1)])],512),[[O,C.value==="estilo"]]),m(e("div",Ra,[d.value?(u(),c("p",Ia,o(t(s)("Salve o formulário primeiro para obter o snippet.")),1)):(u(),c("p",Da,o(t(s)("Gere o snippet após salvar. Copie os blocos para o site do cliente.")),1)),e("div",Oa,[d.value?h("",!0):(u(),c("button",{key:0,t
1ype:"button",class:"inline-flex items-center gap-2 px-4 py-2 rounded-xl text-sm font-semibold border border-[var(--accent)] text-[var(--accent)] hover:bg-[var(--accent)]/10 disabled:opacity-50",disabled:L.value,onClick:Q},[U(t(Ee),{class:z(["h-4 w-4",{"animate-spin":L.value}])},null,8,["class"]),p(" "+o(L.value?"Carregandoâ¦":"Atualizar snippet"),1)],8,Ha))]),U(Qt,{snippet:W.value},null,8,["snippet"])],512),[[O,C.value==="snippet"]]),e("div",{class:z(t(T))},[!d.value&&t(V)?(u(),c("label",Ga,[m(e("input",{"onUpdate:modelValue":r[21]||(r[21]=n=>j.value=n),type:"checkbox",class:"rounded border-[var(--border)]"},null,512),[[B,j.value]]),p(" "+o(t(s)("Gerar novo link público ao salvar (invalida snippet antigo)")),1)])):h("",!0),e("button",{type:"button",class:"px-4 py-2 rounded-xl text-sm font-semibold text-[var(--muted)] border border-[var(--border)] hover:bg-[var(--surface-2)]",onClick:r[22]||(r[22]=n=>t(H)("/crm/formularios-embed"))},o(t(s)("Cancelar")),1),t(V)?(u(),c("button",{key:1,type:"button",class:"btn-primary-gradient px-5 py-2 rounded-xl text-sm font-semibold disabled:opacity-50",disabled:I.value,onClick:ue},o(I.value?"Salvandoâ¦":d.value?"Criar formulário":"Salvar alterações"),9,Wa)):h("",!0)],2)],64))],2)])):(u(),c("div",Xt,[e("p",Kt,o(t(s)("Sem permissão.")),1)]))}}});
1export{vr as default};
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.