PageSourceSearch

https://www.univates.br/_nuxt/CbTczFcN.js

js univates.br collected 2026-09-24 17:38:21 UTC 9,468 bytes, 1 lines download raw bytes

1import{a as ee,F as te,b as oe,E as ie}from"./CneTwKKc.js";import{e as ae,b9 as re,r as g,bn as se,G as ne,b3 as le,g as q,o as l,h as c,w as G,a as n,c as u,i as E,F as M,k as B,b as H,t as y,Z as k,z as ue,a1 as V,p as $,a6 as ce,d as F}from"./DuNswFfk.js";import{_ as fe}from"./DlAUqK2U.js";var f=(t=>(t.TEXT="Texto",t.TEXT_LONG="Texto longo",t.EMAIL="E-mail",t.PASSWORD="Senha",t.PHONE="Fone",t.DATE="Data",t.SELECT="Seleção",t.RADIO="Opção",t.NUMBER="Número",t.FILE="Arquivo",t))(f||{});const de={class:"form-fields-group"},me=["for"],ve={key:0,class:"relative w-full flex items-center"},he={value:"",disabled:"",selected:""},be=["value"],ge=["onClick"],Ee=["onClick"],ye={key:1,class:"absolute left-0 top-full z-10000 mt-2 max-h-250px w-full flex flex-col gap-2 overflow-y-auto border-1px border-primary/25 border-solid rounded-20px bg-white p-4 shadow-lg"},ke=["checked","onChange"],pe={class:"c-primary"},xe=["accept","onChange"],Ce={class:"w-full flex items-center gap-3 overflow-hidden"},we={key:1,class:"form-field-error-group"},$e={flex:"~ col gap-2"},Se={key:0,class:"form-field-error-group ml-0 mt-0"},Ae=["disabled"],Me={key:0,class:"form-error"},Oe={key:1,class:"success-wrapper"},Te=ae({__name:"BaseForm",props:{form:{},formName:{},submitFn:{type:Function},showIconRight:{type:Boolean,default:!0}},setup(t){const p=ee(),{$recaptcha:I}=re(),P=g(),x=g(!1),S=g(!1),b=g(!1),A=g(),w=g({}),T=g(null),C=g("");let N=null;function X(o){switch(o){case f.PASSWORD:return"password";case f.EMAIL:return"email";case f.PHONE:return"tel";default:return"text"}}function U(o){switch(o){case f.PHONE:return"['(##) ####-####', '(##) #####-####']";case f.NUMBER:return"9";default:return}}function W(o){if(o===f.NUMBER)return"9:[0-9]:repeated"}function O(o,e){if(!(!e||e.length<=0))return`${e}${o?"*":""}`}function R(o){return o?o.split(",").map(e=>e.trim()).filter(e=>e.length>0):[]}function _(o){w.value[o]=!w.value[o]}function Z(o){w.value[o]=!1}function J(o,e,r){const a=Array.isArray(e)?[...e]:[],s=a.indexOf(o);s>-1?a.splice(s,1):a.push(o),r(a)}function K(o,e){const r=o.target;r&&r.files&&r.files.length>0?e(r.files[0]):e(void 0)}function j(o){return o?o.split(",").map(e=>e.trim().replace(/^\./,"").toLowerCase()).filter(e=>e.length>0):[]}function Q(o){const e=j(o);if(e.length)return e.map(r=>`.${r}`).join(",")}function L(){N!==null&&(I.reset(N),C.value="")}async function Y(o){if(x.value)return;if(!C.value){A.value="Marque a caixa de verificação do reCAPTCHA.",b.value=!0;return}x.value=!0,b.value=!1,S.value=!1;const e=[],r=new FormData;r.append("recaptcha_token",C.value);for(const[a,s]of Object.entries(o)){if(!s)continue;const d=a.split("_")[1];if(!d)continue;const v=t.form.campos.find(i=>i.id.toString()===d);if(v)if(s instanceof File)r.append("attachments",s,s.name);else{const i=Array.isArray(s)?s.join(", "):s;e.push({nome:v.titulo,valor:i})}}if(r.append("fields",JSON.stringify(e)),t.submitFn)t.submitFn(e).then(()=>{S.value=!0}).catch(a=>{A.value=a,b.value=!0}).finally(()=>{x.value=!1,L()});else if(t.form.acaoEnvio)if(t.form.acaoEnvio==="EMAIL"){switch(t.form.acaoEnvioEmailPara&&r.append("to",t.form.acaoEnvioEmailPara),t.form.acaoEnvioEmailCopia&&r.append("cc",t.form.acaoEnvioEmailCopia),t.form.acaoEnvioEmailTitulo&&r.append("subject",t.form.acaoEnvioEmailTitulo),t.form.acaoEnvioEmailBody){case"Template":t.form.acaoEnvioEmailTemplate&&r.append("template",t.form.acaoEnvioEmailTemplate),t.formName&&r.append("form_name",t.formName);break;case"Conteúdo":t.form.acaoEnvioEmailConteudo&&r.append("body",t.form.acaoEnvioEmailConteudo);break}$fetch("/api/mail",{method:"POST",body:r,onResponse({response:a}){S.value=a.ok}}).catch(a=>{A.value=a,b.value=!0}).finally(()=>{x.value=!1,L()})}else t.form.acaoEnvio==="API"&&$fetch(t.form.acaoEnvioDadosLink,{method:"POST",body:r,onResponse({response:a}){S.value=a.ok}}).catch(a=>{A.value=a,b.value=!0}).finally(()=>{x.value=!1,L()})}return se(()=>{const o={};t.form.campos.forEach(e=>{let r;if(Object.values(f).includes(e.tipo))if(e.tipo===f.FILE){let a=p.any().refine(s=>!s&&!e.obrigatorio?!0:s instanceof File,{message:"Arquivo inválido"});if(e.extensoesArquivo){const s=j(e.extensoesArquivo);s.length>0&&(a=a.refine(d=>{if(!d||!(d instanceof File))return!0;const v=d.name.split(".").pop()?.toLowerCase()||"";return s.includes(v)},{message:`Formato inválido. Aceito: ${s.join(", ")}`}))}if(e.tamanhoMaxMb){const s=e.tamanhoMaxMb*1024*1024;a=a.refine(d=>!d||!(d instanceof File)?!0:d.size<=s,{message:`O arquivo deve ter no máximo ${e.tamanhoMaxMb}MB`})}r=a}else if(e.tipo===f.SELECT&&e.multiplo){let a=p.array(p.string());e.obrigatorio&&(a=a.min(1,{message:"Selecione pelo menos uma opção"})),r=a}else{let a;e.tipo===f.EMAIL?a=p.email({message:"E-mail inválido"}):a=p.string({message:"Campo obrigatório"}),e.obrigatorio&&(a=a.min(1,{message:"Campo obrigatório"})),r=a}r&&(e.obrigatorio||(r=p.optional(r)),o[`field_${e.id}`]=r)}),P.value=p.object(o)}),ne(async()=>{T.value&&(N=await I.render(T.value,{callback:o=>{C.value=o,b.value=!1},"expired-callback":()=>{C.value=""},"error-callback":()=>{C.value=""}}))}),(o,e)=>{const r=oe,a=ie,s=te,d=le("maska");return l(),q(s,{"validation-schema":c(P),class:"form-wrapper",onSubmit:Y},{default:G(({errors:v})=>[n("div",de,[(l(!0),u(M,null,B(t.form.campos,i=>(l(),u("div",{key:i.id,class:"form-field-group"},[t.form.exibirTituloCampos?(l(),u("label",{key:0,for:`field_${i.id}`,class:"form-field-label"},y(i.titulo)+y(i.obrigatorio?"*":""),9,me)):E("",!0),H(r,{name:`field_${i.id}`},{default:G(({field:D,handleChange:z,value:h})=>[k(o.$slots,"field",{campo:i,field:D},()=>[i.tipo===c(f).SELECT?(l(),u("div",ve,[i.multiplo?(l(),u(M,{key:1},[n("div",{class:$(["form-field select-field flex items-center justify-between",{"has-error":!!v[`field_${i.id}`],"has-label":t.form.exibirTituloCampos}]),onClick:m=>_(i.id)},[n("span",{class:$(["truncate pr-4",{"c-primary/50":!(h&&h.length)}])},y(h&&h.length?h.join(", "):O(i.obrigatorio,i.placeholder)||"Selecione as opções"),3),n("div",{class:$(["i-material-symbols:keyboard-arrow-down-rounded size-28px flex-shrink-0 c-primary/50 transition-transform duration-300",{"rotate-180":c(w)[i.id]}])},null,2)],10,ge),c(w)[i.id]?(l(),u("div",{key:0,class:"fixed inset-0 z-40",onClick:m=>
1Z(i.id)},null,8,Ee)):E("",!0),c(w)[i.id]?(l(),u("div",ye,[(l(!0),u(M,null,B(R(i.opcoes),m=>(l(),u("label",{key:m,class:"flex cursor-pointer items-center gap-3 rounded-8px p-2 transition-colors hover:bg-site/10"},[n("input",{type:"checkbox",checked:h?.includes(m),class:"size-18px cursor-pointer accent-site",onChange:Ne=>J(m,h,z)},null,40,ke),n("span",pe,y(m),1)]))),128))])):E("",!0)],64)):(l(),u(M,{key:0},[n("select",V({class:["form-field select-field",{"has-error":!!v[`field_${i.id}`],"has-label":t.form.exibirTituloCampos}]},{ref_for:!0},D),[n("option",he,y(O(i.obrigatorio,i.placeholder)||"Selecione uma opção"),1),(l(!0),u(M,null,B(R(i.opcoes),m=>(l(),u("option",{key:m,value:m},y(m),9,be))),128))],16),e[0]||(e[0]=n("div",{class:"i-material-symbols:keyboard-arrow-down-rounded select-arrow-icon"},null,-1))],64))])):i.tipo===c(f).FILE?(l(),u("label",{key:1,class:$(["form-field flex cursor-pointer items-center",{"has-error":!!v[`field_${i.id}`],"has-label":t.form.exibirTituloCampos}])},[n("input",{type:"file",class:"hidden",accept:Q(i.extensoesArquivo),onChange:m=>K(m,z)},null,40,xe),n("div",Ce,[e[1]||(e[1]=n("div",{class:"i-material-symbols:attach-file-rounded size-24px flex-shrink-0 c-primary/50"},null,-1)),n("span",{class:$(["truncate",h?"c-primary":"c-primary/50"])},y(h?h.name:O(i.obrigatorio,i.placeholder)||"Anexar arquivo"),3)])],2)):ue((l(),q(ce(i.tipo===c(f).TEXT_LONG?"textarea":"input"),V({key:2,"data-maska-tokens":W(i.tipo),"data-maska":U(i.tipo),type:X(i.tipo),placeholder:O(i.obrigatorio,i.placeholder),class:["form-field",{"has-error":!!v[`field_${i.id}`],"has-label":t.form.exibirTituloCampos,"text-long":i.tipo===c(f).TEXT_LONG}]},{ref_for:!0},D),null,16,["data-maska-tokens","data-maska","type","placeholder","class"])),[[d]])],!0)]),_:2},1032,["name"]),v[`field_${i.id}`]?(l(),u("div",we,[H(a,{name:`field_${i.id}`,class:"form-field-error"},null,8,["name"])])):E("",!0)]))),128))]),n("div",$e,[n("div",{ref_key:"recaptchaContainer",ref:T},null,512),c(b)&&!c(C)?(l(),u("div",Se,[...e[2]||(e[2]=[n("span",{class:"text-0.875rem c-negative"}," Confirme que você não é um robô. ",-1)])])):E("",!0)]),n("button",{type:"submit",class:"form-submit-button",disabled:c(x)},[k(o.$slots,"button-icon-left",{},void 0,!0),k(o.$slots,"button",{},()=>[F(y(t.form.enviarLabel),1)],!0),t.showIconRight?k(o.$slots,"button-icon-right",{key:0},()=>[n("div",{class:$(["size-26px",c(x)?"i-material-symbols:progress-activity animate-spin":"i-material-symbols:expand-circle-right-outline-rounded"])},null,2)],!0):E("",!0)],8,Ae),c(b)?(l(),u("div",Me,[k(o.$slots,"form-error-icon",{},()=>[e[3]||(e[3]=n("div",{class:"i-material-symbols:error-circle-rounded-outline-sharp"},null,-1))],!0),k(o.$slots,"form-error-message",{error:c(A)},()=>[e[4]||(e[4]=F(" Ocorreu um erro ao enviar o formulário ",-1))],!0)])):E("",!0),c(S)?(l(),u("div",Oe,[k(o.$slots,"success-icon",{},()=>[e[5]||(e[5]=n("div",{class:"i-material-symbols:check-circle-outline"},null,-1))],!0),k(o.$slots,"success-message",{},()=>[e[6]||(e[6]=F(" Formulário enviado com sucesso ",-1))],!0)])):E("",!0)]),_:3},8,["validation-schema"])}}}),Fe=Object.assign(fe(Te,[["__scopeId","data-v-d18b7a54"]]),{__name:"BaseForm"});export{Fe 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.