1import{d as L,p as Q,as as $,j as q,i as r,c as o,D as z,a as c,o as v,h as n,b as l,w as S,u,Y as H,F as j,s as G,x as Y,f as C,aw as J,v as K}from"./index-CKcFUwu3.js";import{b as X,T as Z,O as g,y as aa,U as ea}from"./nebraska-web-FR6-51qQ.js";import{r as sa,u as ta}from"./index-BJBFTJOp.js";import{g as ra,v as oa}from"./validatePassword-Br9AYJiC.js";const la={class:"change-password"},na={class:"change-password__content"},ua={class:"forgot-password-link"},ia={class:"password-rules"},da={class:"password-rules-list"},ca={key:0,class:"password-rule-bullet"},va={key:1,class:"password-rule-icon"},pa=L({__name:"ChangePassword",setup(wa){const{addNotification:p}=Q(),{layout:N}=$(),V=q(),i=r(""),t=r(""),w=r(""),d=r(!1),y=r(!1),h=r(!1),E=r(!1),_=r(!1),R=r(!1),O=o(()=>!!t.value),f={PASSWORD_REQUIRED:"Senha atual é obrigatória",NEW_PASSWORD_REQUIRED:"Nova senha é obrigatória",CONFIRMATION_REQUIRED:"Confirmação da nova senha é obrigatória",PASSWORDS_NOT_MATCH:"As senhas não coincidem"};function T(e){return E.value?e?"":f.PASSWORD_REQUIRED:""}const D=e=>{if(!e){h.value=!1;return}const a=oa(e);h.value=!a};z(t,e=>{D(e)});const A=o(()=>{const e=ra(t.value),a=s=>O.value?s?"valid":"invalid":"neutral";return[{id:"min-length",label:"Ter pelo menos 8 caracteres",isValid:e.hasMinLength,status:a(e.hasMinLength)},{id:"special-char",label:"Ter um caractere especial (!@#$%&*)",isValid:e.hasSpecialChar,status:a(e.hasSpecialChar)},{id:"no-sequence-repetition",label:"Nao ter sequencias ou repeticoes (123, aaa)",isValid:e.hasNoSequenceOrRepetition,status:a(e.hasNoSequenceOrRepetition)}]});function I(e,a){return R.value?a?e!==a?f.PASSWORDS_NOT_MATCH:"":f.CONFIRMATION_REQUIRED:""}const m=o(()=>T(i.value)),b=o(()=>_.value?t.value?"":f.NEW_PASSWORD_REQUIRED:""),P=o(()=>I(t.value,w.value)),k=o(()=>m.value?"error":"default"),x=o(()=>b.value?"error":"default"),U=o(()=>P.value?"error":"default"),B=o(()=>!i.value||!t.value||!w.value||!!m.value||!h.value||!!P.value||y.value);function M(){window.history.back()}async function W(){try{d.value=!0;const{email:e}=await J();await sa({email:e}),p("Enviado email para recuperação da senha","success")}catch{p("Erro ao enviar email de recuperação","error")}finally{d.value=!1}}async function F(){try{d.value=!0,await ta({currentPassword:i.value,newPassword:t.value}),p("Senha alterada com sucesso. Faça login novamente.","success"),setTimeout(()=>{V.push({path:`/${N.value}/login`})},1500)}catch{p("Erro ao trocar senha","error")}finally{d.value=!1}}return(e,a)=>(v(),c("div",la,[n(u(Z),null,{left:S(()=>[n(u(X),{icon:"EA0030",label:"Voltar",onClick:M})]),center:S(()=>[...a[6]||(a[6]=[l("span",{class:"font-semibold"}," Trocar senha ",-1)])]),_:1}),l("main",na,[n(u(g),{modelValue:i.value,"onUpdate:modelValue":a[0]||(a[0]=s=>i.value=s),class:"input","helper-text":m.value,label:"Senha atual",status:k.value,onBlur:a[1]||(a[1]=s=>E.value=!0)},null,8,["modelValue","helper-text","status"]),l("div",ua,[l("a",{href:"#",onClick:H(W,["prevent"])}," Esqueceu a senha? ")]),n(u(g),{modelValue:t.value,"onUpdate:modelValue":a[2]||(a[2]=s=>t.value=s),class:"input","helper-text":b.value,label:"Nova senha",status:x.value,onBlur:a[3]||(a[3]=s=>_.value=!0)},null,8,["modelValue","helper-text","status"]),n(u(g),{modelValue:w.value,"onUpdate:modelValue":a[4]||(a[4]=s=>w.value=s),class:"input","helper-text":P.value,label:"Confirme a nova senha",status:U.value,onBlur:a[5]||(a[5]=s=>R.value=!0)},null,8,["modelValue","helper-text","status"]),l("div",ia,[a[7]||(a[7]=l("p",{class:"password-rules-title"},"Sua senha deve:",-1)),l("ul",da,[(v(!0),c(j,null,G(A.value,s=>(v(),c("li",{key:s.id,class:Y(["password-rule-item",`password-rule-item--${s.status}`])},[s.status==="neutral"?(v(),c("span",ca," ⢠")):(v(),c("span",va,C(s.isValid?"â":"â"),1)),l("span",null,C(s.label),1)],2))),128))])])]),n(u(ea),null,{"button-primary":S(()=>[n(u(aa),{"data-testid":"button",disabled:B.value,label:"Trocar senha",loading:d.value,size:"large",onClick:F},null,8,["disabled","loading"])]),_:1})]))}}),Sa=K(pa,[["__scopeId","data-v-c1fa7238"]]);export{Sa 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.