1import{a as Ie}from"./chunk-LU7ZZXQA.js";import{a as Ee}from"./chunk-LRUDMPW7.js";import{c as q}from"./chunk-GVDOXYUI.js";import"./chunk-KIOUS7YV.js";import{b as I}from"./chunk-LWUUEIQO.js";import{h as _e,i as Fe,j as Te}from"./chunk-ZFUIHNPN.js";import{a as E}from"./chunk-KJIUKXJ4.js";import{g as Ue}from"./chunk-BCT6AZ4D.js";import"./chunk-GBA5HQ3D.js";import"./chunk-L2XAKF7E.js";import"./chunk-ARHQJIEW.js";import"./chunk-J4G6UZTT.js";import"./chunk-SCJMMS4R.js";import{a as be}from"./chunk-N2OMGYSR.js";import"./chunk-GLB6FXVW.js";import"./chunk-7YDYSXNF.js";import"./chunk-PLWO6N5B.js";import"./chunk-NYVODJB2.js";import{Ic as ve,Kb as he,cg as ye,dd as Ce,nd as T,od as Se,qd as B,za as F}from"./chunk-JWTTV2TH.js";import"./chunk-HKNOB5YZ.js";import"./chunk-NGZBGJL5.js";import{J as fe,d as P,f as we,g as N,j as h,m as Pe,v as ge}from"./chunk-UBDARBLF.js";import{X as oe,Za as se,bd as ce,ec as ae,fa as ne,ic as de,jc as le,oc as pe,vd as me,wd as ue}from"./chunk-DM3NC7AB.js";import{$b as Y,$c as j,Ad as Z,Bc as c,Cc as n,Dc as a,De as re,Ec as v,Fa as H,Hd as u,Id as w,Jb as i,Kc as R,Ld as ee,Mc as X,Oe as ie,Pc as S,Qa as L,Ra as O,Rc as f,Ta as $,Vb as z,Wa as W,Wb as m,X as k,a as K,ac as J,ed as l,fc as y,fd as p,gd as _,sc as Q,uc as b,ve as te,wc as U}from"./chunk-WVBH4ZDA.js";import"./chunk-YDOXD4O3.js";var xe=s=>({valid:s});function Ve(s,r){s&1&&R(0)}function Me(s,r){if(s&1&&y(0,Ve,1,0,"ng-container",13),s&2){f();let e=j(32);c("ngTemplateOutlet",e)}}function ke(s,r){if(s&1){let e=X();n(0,"div",7)(1,"app-amor-form-input",14),S("keyup",function(o){L(e);let d=f();return O(d.passwordValidation(o))})("input",function(){L(e);let o=f();return O(o.characterCount("confirmPassword"))}),l(2),u(3,"cxTranslate"),a()()}if(s&2){let e=f();i(),c("type","password")("formInputid","confirmPassword")("isPassword",!0)("description","passwordField")("required",!0)("hideContainer",!0)("errorContainerText",e.getConfirmPasswordErrorMessage())("hasError",e.updateClicked&&(!e.signetUpdatePwdForm.controls.confirmPassword.valid||e.signetUpdatePwdForm.controls.confirmPassword.value!==e.signetUpdatePwdForm.controls.newPassword.value)&&(e.signetUpdatePwdForm.controls.confirmPassword.dirty||e.signetUpdatePwdForm.controls.confirmPassword.touched))("control",e.signetUpdatePwdForm.controls.confirmPassword),i(),p(w(3,10,"myAccount.updatePwd.confirmPassword"))}}function Le(s,r){s&1&&R(0)}function Oe(s,r){if(s&1&&y(0,Le,1,0,"ng-container",13),s&2){f();let e=j(32);c("ngTemplateOutlet",e)}}function Re(s,r){if(s&1&&(n(0,"ul",15)(1,"li")(2,"ul",16)(3,"li"),l(4),a(),n(5,"li",17),l(6),a(),n(7,"li",18),l(8),a()()(),n(9,"li")(10,"ul",16)(11,"li"),v(12,"app-amor-icon",19),n(13,"span"),l(14),a(),n(15,"span",20),l(16),a()(),n(17,"li"),v(18,"app-amor-icon",21),n(19,"span"),l(20),a(),n(21,"span",20),l(22),a()(),n(23,"li"),v(24,"app-amor-icon",22),n(25,"span"),l(26),a(),n(27,"span",20),l(28),a()(),n(29,"li"),v(30,"app-amor-icon",23),n(31,"span"),l(32),a(),n(33,"span"),l(34),a(),n(35,"span",20),l(36),a()()()()()),s&2){let e=f();i(4),p(e.passwordValidationLabels.passwordValidationHeading),i(2),_(" ",e.passwordValidationLabels.passwordValidationCriteriaMet," "),i(),c("ngClass",Z(17,xe,e.errorNewPassword)),i(),_(" ",e.passwordValidationLabels.passwordValidationCriteriaNotMet," "),i(4),c("icon",e.minlength||!e.formSubmitted?"fa-Checkmark":"fa-Close"),i(2),p(e.passwordValidationLabels.passwordValidation8Plus),i(2),p(e.minlengthStatus),i(2),c("icon",e.numberValidation||!e.formSubmitted?"fa-Checkmark":"fa-Close"),i(2),p(e.passwordValidationLabels.passwordValidationNumber),i(2),p(e.numberStatus),i(2),c("icon",e.lowerUpperCase||!e.formSubmitted?"fa-Checkmark":"fa-Close"),i(2),p(e.passwordValidationLabels.passwordValidationlowerupperCase),i(2),p(e.lowerUpperCaseStatus),i(2),c("icon",e.specialCharacter||!e.formSubmitted?"fa-Checkmark":"fa-Close"),i(2),p(e.passwordValidationLabels.passwordValidationSpecialChar),i(2),_(": ",e.specialCharPattern),i(2),p(e.specialCharStatus)}}var A=class s{constructor(r,e,t,o,d,C,g,x,V,M){this.document=r;this.renderer=e;this.globalMessageService=t;this.authService=o;this.siteIdentificationService=d;this.router=C;this.updatePasswordService=g;this.translation=x;this.eventService=V;this.TaggingEventRegistrationService=M;this.passwordValidationLabels=he;this.PasswordValidationStatusEnum=Te;this.emitTriggerButtonClick=new W;this.minlengthStatus="requirement not met";this.numberStatus="requirement not met";this.lowerUpperCaseStatus="requirement not met";this.specialCharStatus="requirement not met";this.specialCharPattern=ye;this.fieldType=_e;this.ariaLiveText=Fe;this.parser=null;this.minlength=!1;this.specialCharacter=!1;this.numberValidation=!1;this.lowerUpperCase=!1;this.errorNewPassword=!1;this.errorConfirmPassword=!1;this.updateClicked=!1;this.formSubmitted=!1;this.isUKSite=!1;this.passwordMismatch=!1;this.UPDATE_PASSWORD=F;this.subscriptions$=[];this.subscription=new K}ngOnInit(){this.isUKSite=this.siteIdentificationService.isUKSite,this.signetUpdatePwdForm=this.updateFormInitialize()}updateFormInitialize(){return this.isUKSite?new N({currentPassword:new h("",[P.required]),newPassword:new h("",[P.required,P.pattern(T)]),confirmPassword:new h("",[P.required,this.confirmPasswordValidator])}):new N({currentPassword:new h("",[P.required]),newPassword:new h("",[P.required,P.pattern(T)]),confirmPassword:new h("")})}passwordValidation(r){let e=this.document.getElementById("newPassword").value,t=T,o=F.LOWER_CASE_VALIDATION,d=F.NUMBER_VALIDATION,C=Se,g=this.document.querySelector("#password-requirements .pwd-validation-success"),x=this.document.querySelector("#password-requirements .pwd-validation-error");e.match(t)?(g.classList.add("valid"),x.classList.remove("valid")):(x.classList.add("valid"),g.classList.remove("valid"));let V=this.document.querySelector("#password-requirements .password-min-length .icon");e.length>=8?(V.classList.add("valid"),this.minlengthStatus="requirement met",this.minlength=!0):(V.classList.remove("valid"),this.minlengthStatus="requirement not met",this.minlength=!1);let M=this.document.querySelector("#password-requirements .password-lower-upper-case .icon");e.match(o)?(M.classList.add("valid"),this.lowerUpperCaseStatus="requirement met",this.lowerUpperCase=!0):(M.classList.remove("valid"),this.lowerUpperCaseStatus="requirement not met",this.lowerUpperCase=!1);let D=this.document.querySelector("#password-requirements .password-number .icon");e.match(d)?(D.classList.add("valid"),this.numberStatus="requirement met",this.numberValidation=!0):(D.classList.remove("valid"),this.numberStatus="requirement not met",this.numberValidation=!1);let G=this.document.querySelector("#password-requirements .password-special-char .icon");e.match(C)?(G.classList.add("valid"),this.specialCharStatus="requirement met",this.specialCharacter=!0):(G.classList.remove("valid"),this.specialCharStatus="requirement not met",this.specialCharacter=!1)}characterCount(r){let e=this.renderer.selectRootElement("#"+r);e&&this.renderer.listen(e,"input",t=>{let o=t.target.value;e.value.length>ve&&(t.target.value=o.slice(0,20))}),this.formSubmitted=!1,this.passwordMismatch=!1}formSubmit(r){this.updateClicked=!0,this.formSubmitted=!0,this.signetUpdatePwdForm.valid?this.updatePassword():this.passwordResetFormSubmit()}passwordResetFormSubmit(){let r=[];
1Object.keys(this.signetUpdatePwdForm.controls).forEach(o=>{let d=this.signetUpdatePwdForm.get(o),C=this.signetUpdatePwdForm.get(o)?.errors;if(C){let g={field:"",errorController:null};g.field=o,g.errorController=C,r.push(g)}d.markAsTouched({onlySelf:!0}),this.focusErrorField(this.signetUpdatePwdForm)});let e=[],t=0;r.forEach(o=>{let d=o.errorController;o.field=="newPassword"&&Object.prototype.hasOwnProperty.call(d,"required")?(e[t]=this.getTranslationText("login.passwordRequiredMsg"),t++):o.field=="newPassword"&&Object.prototype.hasOwnProperty.call(d,"pattern")?(e[t]=this.getTranslationText("login.PasswordFieldErrorMsg"),t++):o.field=="currentPassword"&&Object.prototype.hasOwnProperty.call(d,"required")?(e[t]=this.getTranslationText("login.passwordRequiredMsg"),t++):o.field=="currentPassword"&&Object.prototype.hasOwnProperty.call(d,"pattern")?(e[t]=this.getTranslationText("login.PasswordFieldErrorMsg"),t++):o.field=="confirmPassword"&&Object.prototype.hasOwnProperty.call(d,"required")?(e[t]=this.getTranslationText("login.passwordRequiredMsg"),t++):o.field=="confirmPassword"&&Object.prototype.hasOwnProperty.call(d,"passwordMismatch")&&(e[t]=this.getTranslationText("login.passwordFieldMustMatchMsg"),t++)}),this.eventService.dispatch(this.TaggingEventRegistrationService.errorInteractionEvent("signetUpdatePwdForm",e),Ee),this.isUKSite&&this.initialErrorMsg()}getTranslationText(r){let e="",t=this.translation.translate(r).pipe(k(1)).subscribe(o=>{e=o});return this.subscription.add(t),e}initialErrorMsg(){this.updateClicked&&!this.signetUpdatePwdForm.controls.newPassword.valid&&(this.signetUpdatePwdForm.controls.newPassword.errors?.required||this.signetUpdatePwdForm.controls.newPassword.errors?.pattern)&&(this.signetUpdatePwdForm.controls.newPassword.dirty||this.signetUpdatePwdForm.controls.newPassword.touched)&&this.updateClicked&&!this.signetUpdatePwdForm.controls.confirmPassword.valid&&(this.signetUpdatePwdForm.controls.confirmPassword.errors?.required||this.signetUpdatePwdForm.controls.confirmPassword!==this.signetUpdatePwdForm.controls.newPassword)&&(this.signetUpdatePwdForm.controls.confirmPassword.dirty||this.signetUpdatePwdForm.controls.confirmPassword.touched)&&this.isUKSite?(this.errorNewPassword=!0,this.errorConfirmPassword=!0):(this.errorNewPassword=!1,this.errorConfirmPassword=!1)}confirmPasswordValidator(r){let e=r.root.get("newPassword"),t=r.value;return!e||!t||e.value===t?null:{passwordMismatch:!0}}isConfirmPasswordInvalid(){return this.updateClicked&&!this.signetUpdatePwdForm.controls.confirmPassword.valid&&(this.signetUpdatePwdForm.controls.confirmPassword.errors?.required||this.signetUpdatePwdForm.controls.confirmPassword.value!==this.signetUpdatePwdForm.controls.newPassword.value)&&(this.signetUpdatePwdForm.controls.confirmPassword.dirty||this.signetUpdatePwdForm.controls.confirmPassword.touched)}getConfirmPasswordErrorMessage(){let r=this.signetUpdatePwdForm.controls.confirmPassword,e=this.signetUpdatePwdForm.controls.newPassword;return this.updateClicked&&r.errors?.required?"This field is required.":this.updateClicked&&r.value!==e.value?"Password fields must match.":""}cancelSubmit(r){this.subscriptions$.push(this.authService.isUserLoggedIn().subscribe(e=>this.isanonymous=!e)),!this.isanonymous&&(this.router.url.includes(B)||this.router.url.includes(B))&&this.router.navigate([Ce])}focusErrorField(r){r.get("currentPassword")?.invalid?this.renderer.selectRootElement("#currentPassword").focus():r.get("newPassword")?.invalid?this.renderer.selectRootElement("#newPassword").focus():r.get("confirmPassword")?.invalid&&this.renderer.selectRootElement("#confirmPassword").focus()}emitTriggerButtonClicked(r){this.translation.translate("myAccount.updatePwd.passwordChanged").pipe(k(1)).subscribe(e=>{let t=e;this.globalMessageService.add(t,le.MSG_TYPE_CONFIRMATION,5e4)}),this.emitTriggerButtonClick.emit()}updatePassword(){let r=this.signetUpdatePwdForm.value.currentPassword,e=this.signetUpdatePwdForm.value.newPassword;this.subscriptions$.push(this.updatePasswordService.updatePassword(r,e).subscribe(t=>{this.emitTriggerButtonClicked(event),this.resetFormAfterSuccessFull()},t=>{t&&(this.passwordMismatch=!0,this.renderer.selectRootElement("#currentPassword").focus(),this.signetUpdatePwdForm.controls.currentPassword.setValue(""))}))}resetFormAfterSuccessFull(){this.signetUpdatePwdForm.reset(),this.updateClicked=!1,this.passwordValidation(""),this.formSubmitted=!1;let r=this.document.querySelector("#password-requirements .pwd-validation-success");this.document.querySelector("#password-requirements .pwd-validation-error")?.classList.remove("valid"),r?.classList.remove("valid")}ngOnDestroy(){this.subscriptions$.forEach(r=>r.unsubscribe())}static{this.\u0275fac=function(e){return new(e||s)(m($),m(z),m(de),m(ae),m(be),m(oe),m(Ie),m(ce),m(se),m(Ue))}}static{this.\u0275cmp=Y({type:s,selectors:[["app-account-updatepassword-page"]],hostAttrs:["ngSkipHydration","true"],outputs:{emitTriggerButtonClick:"emitTriggerButtonClick"},standalone:!1,decls:33,vars:47,consts:[["myTemplate",""],[1,"account-page"],[1,"account-page-heading"],[1,"border-hairline-h"],[1,"account-page-body","simple-form-body","amor-container"],[1,"account-reset-password"],[1,"js-
1parsley",3,"formGroup"],[1,"form-group"],[3,"type","formInputid","isPassword","description","required","hideContainer","errorContainerText","hasError","control"],[3,"keyup","input","type","formInputid","isPassword","description","required","hideContainer","errorContainerText","hasError","control","helperText","helperTextId"],[1,"btn-collection"],[3,"buttonClick"],[3,"buttonClick","buttonInversed"],[4,"ngTemplateOutlet"],[3,"keyup","input","type","formInputid","isPassword","description","required","hideContainer","errorContainerText","hasError","control"],["id","password-requirements",1,"ul-password-requirements","password-new-ui"],[1,"ul-column"],["aria-live","polite",1,"pwd-validation-success"],["aria-live","polite",1,"pwd-validation-error",3,"ngClass"],[1,"password-min-length",3,"icon"],[1,"sr-only"],[1,"password-number",3,"icon"],[1,"password-lower-upper-case",3,"icon"],[1,"password-special-char",3,"icon"]],template:function(e,t){e&1&&(n(0,"div",1)(1,"div",2)(2,"h1"),l(3),u(4,"cxTranslate"),a()(),v(5,"div",3)(6,"br"),n(7,"div",4)(8,"div",5)(9,"form",6),u(10,"cxTranslate"),n(11,"div",7)(12,"app-amor-form-input",8),u(13,"c
1xTranslate"),u(14,"cxTranslate"),l(15),u(16,"cxTranslate"),a()(),n(17,"div",7)(18,"app-amor-form-input",9),S("keyup",function(d){return t.passwordValidation(d)})("input",function(){return t.characterCount("newPassword")}),l(19),u(20,"cxTranslate"),a()(),b(21,Me,1,1,"ng-container"),b(22,ke,4,12,"div",7),b(23,Oe,1,1,"ng-container"),a(),n(24,"div",10)(25,"app-amor-button",11),S("buttonClick",function(d){return t.formSubmit(d)}),l(26),u(27,"cxTranslate"),a(),n(28,"app-amor-button",12),S("buttonClick",function(d){return t.cancelSubmit(d)}),l(29),u(30,"cxTranslate"),a()()()()(),y(31,Re,37,19,"ng-template",null,0,ee)),e&2&&(i(3),p(w(4,31,"myAccount.updatePwd.title")),i(6),c("formGroup",t.signetUpdatePwdForm),Q("aria-label",w(10,33,"myAccount.updatePwd.title")),i(3),c("type","password")("formInputid","currentPassword")("isPassword",!0)("description","passwordField")("required",!0)("hideContainer",!0)("errorContainerText",t.updateClicked&&!t.signetUpdatePwdForm.controls.currentPassword.valid&&(t.signetUpdatePwdForm.controls.currentPassword.errors!=null&&t.signetUpdatePwdForm.controls.currentPassword.errors.required)&&(t.signetUpdatePwdForm.controls.currentPassword.dirty||t.signetUpdatePwdForm.controls.currentPassword.touched)?t.passwordMismatch?w(13,35,"myAccount.updatePwd.updatePwdHelperTxt"):w(14,37,"myAccount.updatePwd.fieldrequiredTxt"):"")("hasError",t.updateClicked&&!t.signetUpdatePwdForm.controls.currentPassword.valid&&(t.signetUpdatePwdForm.controls.currentPassword.errors==null?null:t.signetUpdatePwdForm.controls.currentPassword.errors.required)&&(t.signetUpdatePwdForm.controls.currentPassword.dirty||t.signetUpdatePwdForm.controls.currentPassword.touched)||t.passwordMismatch)("control",t.signetUpdatePwdForm.controls.currentPassword),i(3),p(w(16,39,"myAccount.updatePwd.currentPassword")),i(3),c("type","password")("formInputid","newPassword")("isPassword",!0)("description","passwordField")("required",!0)("hideContainer",!0)("errorContainerText",t.updateClicked&&!t.signetUpdatePwdForm.controls.newPassword.valid&&(t.signetUpdatePwdForm.controls.newPassword.errors!=null&&t.signetUpdatePwdForm.controls.newPassword.errors.required||t.signetUpdatePwdForm.controls.newPassword.errors!=null&&t.signetUpdatePwdForm.controls.newPassword.errors.pattern)&&(t.signetUpdatePwdForm.controls.newPassword.dirty||t.signetUpdatePwdForm.controls.newPassword.touched)?t.signetUpdatePwdForm.controls.newPassword.errors!=null&&t.signetUpdatePwdForm.controls.newPassword.errors.required?"This field is required. ":"Password does not meet minimum requirements. See below.":"")("hasError",t.updateClicked&&!t.signetUpdatePwdForm.controls.newPassword.valid&&((t.signetUpdatePwdForm.controls.newPassword.errors==null?null:t.signetUpdatePwdForm.controls.newPassword.errors.required)||(t.signetUpdatePwdForm.controls.newPassword.errors==null?null:t.signetUpdatePwdForm.controls.newPassword.errors.pattern))&&(t.signetUpdatePwdForm.controls.newPassword.dirty||t.signetUpdatePwdForm.controls.newPassword.touched))("control",t.signetUpdatePwdForm.controls.newPassword)("helperText","Password requirements include 8 or more characters, one number, one upper, one lower case letter and one special character.")("helperTextId","helperText"),i(),p(w(20,41,"myAccount.updatePwd.newPassword")),i(2),U(t.isUKSite?-1:21),i(),U(t.isUKSite?22:-1),i(),U(t.isUKSite?23:-1),i(3),p(w(27,43,"myAccount.updatePwd.update")),i(2),c("buttonInversed",!0),i(),p(w(30,45,"myAccount.updatePwd.cancel")))},dependencies:[te,re,I,Pe,we,ge,q,E,me],encapsulation:2})}};var qe=class s{static{this.\u0275fac=function(e){return new(e||s)}}static{this.\u0275mod=J({type:s})}static{this.\u0275inj=H({providers:[ne({cmsComponents:{UpdatePasswordFlexComponent:{component:A,guards:[pe]}}})],imports:[ie,I,ue,fe,q,E]})}};export{qe as AccountUpdatePasswordeModule};
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.