1import{a as K}from"./chunk-VUIQ43IW.js";import{a as J}from"./chunk-DFWETVRG.js";import{Db as H}from"./chunk-B6QQTL5U.js";import"./chunk-3YLKWUWH.js";import"./chunk-B3ZX5VU2.js";import{C as B,p as $}from"./chunk-DQFPXF55.js";import"./chunk-WQJBBTCI.js";import"./chunk-4CJWBYCB.js";import"./chunk-SURXIWHQ.js";import"./chunk-XA5FCWDS.js";import"./chunk-HI2SFOKG.js";import"./chunk-Q4RKSZPF.js";import"./chunk-EAXXXKJF.js";import{a as Y}from"./chunk-TSAGDD3L.js";import"./chunk-2KLHVVXY.js";import{a as E}from"./chunk-57ZE2MFX.js";import"./chunk-2K3OMPC4.js";import"./chunk-Y7RIDXUL.js";import"./chunk-YEGPHGBX.js";import{d as w,g as G,h as L,j as N,l as j,o as A,v as O,w as z}from"./chunk-7RCWNHPV.js";import{b as W}from"./chunk-UVZTK3KN.js";import"./chunk-SHGQQ3FD.js";import"./chunk-V4O2LDMY.js";import"./chunk-2ST2D35A.js";import"./chunk-QM7L3NXF.js";import"./chunk-FQJS5LDW.js";import"./chunk-QNL77YDP.js";import"./chunk-57ZU5LG5.js";import{pa as C}from"./chunk-PHLZ3AAU.js";import"./chunk-M6TI2MTM.js";import"./chunk-3X7N74SL.js";import"./chunk-GDVMO23R.js";import{a as U}from"./chunk-L24GWH2F.js";import"./chunk-XZ7DUGPR.js";import{o as q,p as h}from"./chunk-DVYNXNTI.js";import"./chunk-4KBURNX4.js";import{d}from"./chunk-5HC4BW43.js";import"./chunk-B6STJHB2.js";import{j as R}from"./chunk-PWUAYS4F.js";import"./chunk-YJKRYWMV.js";import"./chunk-ZDR3KJJS.js";import"./chunk-KTIPPCE2.js";import"./chunk-IVJ2I5VN.js";import{$b as V,Aa as c,Cb as F,E as u,Ec as v,Gb as I,Gc as k,N as b,Na as M,P as g,Zb as T,aa as P,dc as l,ea as f,ec as n,fc as a,mb as i,nc as x,rc as m,s as S,sa as _,tc as D,za as p}from"./chunk-EN2B4KZW.js";import"./chunk-4KIXNS7N.js";function Q(o,Z){if(o&1&&(n(0,"span",7),v(1),a()),o&2){let r=D();i(),k(" ",r.passwordsMustMatchError," ")}}var X=1e3,he=(()=>{class o extends W{constructor(){super(...arguments),this.store=_(q),this.router=_(R),this.showSuccess$=this.store.pipe(h(C),g(),u(r=>!!r),S(()=>{})),this.showPassword="password",this.newPasswordError="Invalid Password",this.confirmNewPasswordError="Invalid Password",this.paswordRequirementsNotMetError=d.inlineErrorMessages.passwordReqsNotMet,this.passwordsMustMatchError=d.inlineErrorMessages.passwordsMustMatch,this.requiredFieldError=d.inlineErrorMessages.requiredField,this.newPassword=new N("",{validators:[w.required,w.pattern(d.regexes.password)]}),this.newPasswordInputErrors=[{validationName:w.required.name,errorText:"Please enter a password"},{validationName:w.pattern.name,errorText:d.inlineErrorMessages.passwordReqsNotMet}],this.confirmNewPassword=new N("",{validators:[w.required]}),this.validatingForm=new L({newPassword:this.newPassword,confirmNewPassword:this.confirmNewPassword})}ngOnInit(){this.store.pipe(h(H),P(1),u(r=>!!r.errorCode),f(this.destroyed$)).subscribe(r=>this.onUserRestError(r.errorCode,r.errorObject)),E.onNextEventLoop(()=>this.confirmNewPassword.addValidators([()=>this.matchNewPasswordValidator(this.confirmNewPassword,this.newPassword)])),E.onNextEventLoop(()=>this.newPassword.addValidators([()=>this.matchNewPasswordValidator(this.newPassword,this.confirmNewPassword)]))}ngAfterViewInit(){this.store.pipe(h(C),g(),P(1),f(this.destroyed$),b(X)).subscribe(()=>{this.store.dispatch($()),this.router.navigate([U.LOBBY])})}toggleShowPassword(){this.showPassword=this.showPassword==="password"?"text":"password"}onSubmit(){let r={new_password1:this.newPassword.value,new_password2:this.confirmNewPassword.value};this.store.dispatch(B({payload:r}))}onUserRestError(r,t){switch(r){case"INVALID_FIELD":if(t?.native_error_response){let e=t.native_error_response;for(let s in e)if(Object.prototype.hasOwnProperty.call(e,s))switch(s){case"new_password1":case"new_password2":this.newPassword.setErrors({msg:e[s]}),this.confirmNewPassword.setErrors({msg:e[s]}),this.newPasswordError=e[s],this.confirmNewPasswordError=e[s];break}}break}}matchNewPasswordValidator(r,t){let e=t?.value,s=r?.value;return!e||!s||e===s?null:{mustMatch:!0}}static{this.\u0275fac=(()=>{let r;return function(e){return(r||(r=M(o)))(e||o)}})()}static{this.\u0275cmp=F({type:o,selectors:[["app-change-password"]],features:[I],decls:12,vars:14,consts:[["submitButton",""],[1,"ghg-page-container","ghg-fill-height"],[1,"ghg-fill-height__display-card"],[1,"title","h5","mb-0"],[1,"content"],[1,"my-3",3,"formGroup"],["inputSize","medium","labelText","New Password","id","new-password","autocomplete","new-password","placeholder","Enter new password","hint","8+ characters, 1 capital letter, 1 number/ special character ($%&@!)","testID","join-email-password-input","iconTestID","join-email-toggle-password-icon",3,"iconClick","control","controlErrors","type","iconName"],[1,"form-error-message"],["inputSize","medium","labelText","Confirm New Password","id","new-password","autocomplete","new-password","placeholder","Enter new password","testID","confirm-new-password-input","id","confirm-new-password","iconTestID","join-email-toggle-password-icon",1,"d-block","mb-2","mt-2",3,"iconClick","control","type","iconName"],[1,"text-center","mt-4"],["appFormSubmissionButton","","aria-label","Change Password",3,"click","validatingForm","defaultText","errorText","showSuccess$","disabled"]],template:function(t,e){if(t&1){let s=x();n(0,"div",1)(1,"app-display-card",2)(2,"h1",3),v(3,"Change My Password"),a(),n(4,"div",4)(5,"form",5)(6,"app-ghg-text-input",6),m("iconClick",function(){return p(s),c(e.toggleShowPassword())}
1),a(),T(7,Q,2,1,"span",7),n(8,"app-ghg-text-input",8),m("iconClick",function(){return p(s),c(e.toggleShowPassword())}),a(),n(9,"div",9)(10,"button",10,0),m("click",function(){return p(s),c(e.onSubmit())}),a()()()()()()}t&2&&(i(5),l("formGroup",e.validatingForm),i(),l("control",e.newPassword)("controlErrors",e.newPasswordInputErrors)("type",e.showPassword==="text"?"text":"password")("iconName",e.showPassword==="text"?"eye-slash-icon":"eye-icon"),i(),V(!(e.confirmNewPassword==null||e.confirmNewPassword.errors==null)&&e.confirmNewPassword.errors.mustMatch?7:-1),i(),l("control",e.confirmNewPassword)("type",e.showPassword==="text"?"text":"password")("iconName",e.showPassword==="text"?"eye-slash-icon":"eye-icon"),i(2),l("validatingForm",e.validatingForm)("defaultText","Change Password")("errorText","Error")("showSuccess$",e.showSuccess$)("disabled",e.validatingForm.invalid))},dependencies:[J,O,j,G,z,A,K,Y],encapsulation:2,changeDetection:0})}}return o})();export{he as ChangePasswordComponent};
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.