1import{_ as B}from"./BUrkYI_r.js";import{d as C,a as S,n as x,aw as L,h as U,w as D,z as M,l as F,k as a,A as u,J as h,aM as J,o as K,f as s,t as n,g as r,R as b,p as O,K as Y,Y as p,c as j}from"./DueOjiqX.js";import{_ as G}from"./CXsIKkaA.js";import{u as H,r as y,s as Q,a as W}from"./D-1suGa4.js";import{u as X}from"./BO44Jnii.js";import"./C7m3VfuV.js";import"./D9_waTeN.js";import"./D5Cglv31.js";const Z={class:"flex flex-col gap-4"},ss={for:"password",class:"block mb-2 font-semibold"},es={for:"password",class:"block mb-2 font-semibold"},ts={class:"text-legacy-neutral-900 flex flex-col gap-4"},as={class:"flex flex-row"},os={class:"font-semibold"},ns={class:"flex flex-row items-center gap-2"},rs={class:"flex flex-row items-center gap-2"},ls={class:"flex flex-row items-center gap-2"},is={class:"flex flex-row items-center gap-2"},gs=C({__name:"password",async setup(cs){let i,w;const{query:k}=S(),{uuid:f}=k;f||x("/user/account/settings/edit/password-otp");const P=L(),m=u(!1),{t:V}=U(),l=u(null),c=u(null),R=e=>/\d/.test(e),A=e=>/[#?!@$%^&*-]/.test(e),v=J({password:l,confirmPassword:c}),z={password:{required:y,minLength:W(12),containsNumber:R,containsSpecial:A},confirmPassword:{required:y,sameAsPassword:Q(h(()=>v.password))}},I=h(()=>({newPassword:l.value,passwordResetId:f})),E=u({}),t=H(z,v,{$externalResults:E}),{execute:N,error:g}=([i,w]=D(async()=>X("/api/nuxt/auth/password/reset",{immediate:!1,watch:!1,method:"POST",body:I,onResponse:async({response:e})=>{e.ok&&(P.add({title:V("account_settings_edit_password_update_success"),color:"success",icon:"mdi:check-circle-outline"}),await x("/user/account/settings"))}},"$EoyuqBiP8d")),i=await i,w(),i),T=async()=>{if(t.value.$clearExternalResults(),t.value.$validate(),t.value.$error){const e=[];t.value.$errors.forEach(o=>{e.push(o.$property)});return}if(m.value=!0,await N(),m.value=!1,g.value)throw j(g.value)};return(e,o)=>{const $=B,d=Y,q=G;return K(),M(q,{"back-link":"/user/account/settings","cancel-link":"/user/account/settings",submit:T,"submit-disabled":a(t).confirmPassword.$invalid,"submit-loading":a(m),title:e.$t("account_settings_edit_password_title")},{default:F(()=>[s("div",null,[s("div",Z,[s("div",null,[s("label",ss,n(e.$t("account_settings_edit_password_enter_password")),1),r($,{modelValue:a(l),"onUpdate:modelValue":o[0]||(o[0]=_=>b(l)?l.value=_:null),type:"password",error:a(t).$error&&a(t).password.$invalid,autocomplete:"new-password"},null,8,["modelValue","error"])]),s("div",null,[s("label",es,n(e.$t("account_settings_edit_password_confirm_password")),1),r($,{modelValue:a(c),"onUpdate:modelValue":o[1]||(o[1]=_=>b(c)?c.value=_:null),type:"password",error:a(t).$error&&a(t).confirmPassword.$invalid,autocomplete:"new-password"},null,8,["modelValue","error"])]),s("div",ts,[s("div",as,[s("span",os,n(e.$t("account_settings_edit_password_tip")),1),o[2]||(o[2]=O("Â ",-1)),s("span",null,n(e.$t("account_settings_edit_password_tip_text")),1)]),s("div",ns,[r(d,{name:"mdi:check-bold",size:"1.25rem",class:p(a(t).password.containsNumber.$invalid?"text-neutral-400":"text-primary")},null,8,["class"]),s("span",null,n(e.$t("account_settings_edit_password_number")),1)]),s("div",rs,[r(d,{name:"mdi:check-bold",size:"1.25rem",class:p(a(t).password.containsSpecial.$invalid?"text-neutral-400":"text-primary")},null,8,["class"]),s("span",null,n(e.$t("account_settings_edit_password_special_char")),1)]),s("div",ls,[r(d,{name:"mdi:check-bold",size:"1.25rem",class:p(!a(t).password.required.$invalid&&!a(t).password.minLength.$invalid?"text-primary":"text-neutral-400")},null,8,["class"]),s("span",null,n(e.$t("account_settings_edit_password_min_length")),1)]),s("div",is,[r(d,{name:"mdi:check-bold",size:"1.25rem",class:p(a(t).confirmPassword.$invalid?"text-neutral-400":"text-primary")},null,8,["class"]),s("span",null,n(e.$t("account_settings_edit_password_match")),1)])])])])]),_:1},8,["submit-disabled","submit-loading","title"])}}});export{gs 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.