PageSourceSearch

https://my.ignitestudentunion.ca/webapp/51.ad0b44764024e71e.js

js ignitestudentunion.ca collected 2026-10-09 17:06:25 UTC 46,462 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkstudents_community_platform=self.webpackChunkstudents_community_platform||[]).push([[51],{1051:(G,$,c)=>{c.r($),c.d($,{AuthModule:()=>yt});var p=c(5007),e=c(4438),f=c(8660),F=c(6270),P=c(5245),y=c(6697),R=c(9079),w=c(5131),_=c(7277),m=c(9437),S=c(6354),D=c(1626);let v=(()=>{class o{constructor(){this.activatedRoute=(0,e.WQX)(p.nX),this.authService=(0,e.WQX)(_.k),this.httpClient=(0,e.WQX)(D.Qq),this.$errorMessages=(0,e.vPA)([]),this.$queryParams=(0,R.ot)(this.activatedRoute.queryParams),this.$redirect=(0,e.EWP)(()=>{const t=this.$queryParams();if(void 0!==t&&"redirect"in t)return t.redirect}),this.$urlEmail=(0,e.EWP)(()=>{const t=this.$queryParams();return void 0!==t&&"email"in t?t.email:""}),this.$loginMessages=(0,e.EWP)(()=>{const t=[],n=this.$queryParams();if(void 0!==n){const i={LOGIN_REQUIRED:{type:"danger",message:"Login is required."},LOCKED_ACCOUNT:{type:"danger",message:"Your account is temporarily locked because of too many failed logins. Please try again in a few minutes."},TOO_MANY_ATTEMPTS:{type:"danger",message:"We have received too many failed login attempts from you recently. Please try again in a few minutes."},ACCOUNT_NO_LONGER_EXISTS:{type:"danger",message:"This account no longer exists."},INVALID_OTP:{type:"danger",message:"Invalid OTP."},OTP_EXPIRED:{type:"danger",message:"OTP expired."},OTP_ALREADY_USED:{type:"danger",message:"OTP already used."},SSO_NOT_ENABLED:{type:"danger",message:"It looks like we have not enabled your School's SSO yet. Feel free to email us at [email protected] to discuss about it!"},SSO_ERROR:{type:"danger",message:"There seems to be an error with your School's SSO. Please feel free to email us at [email protected] to let us know!"},LOGOUT:{type:"warning",message:"You've been logged out."},VERIFY_EMAIL:{type:"danger",message:'ATTENTION: You must verify your email address by clicking on the link in the "Verify your new CampusGroups account". We just had this email sent to you again, please check your email in a few seconds. Thank you.'},USER_NOT_FOUND:{type:"danger",message:"Sorry but this user does not exist."},LOGIN_OK_USER_NOT_FOUND:{type:"info",message:"You logged on your school portal successfully, but we cannot find your profile. Please reach out to your school administration to be added to the platform. Or please contact us if you have any questions."},RESOURCE_NOT_FOUND:{type:"danger",message:"Sorry but the resource you are looking does not exist."},RESOURCE_UNAUTHORIZED:{type:"danger",message:"Sorry but you are not authorized to access this resource."},INVALID_EMAIL:{type:"danger",message:"Invalid email address."},INVALID_CREDENTIALS:{type:"danger",message:"Invalid email or password, please try again."},INVALID_PARAMETERS:{type:"danger",message:"Invalid parameters."},CSRF:{type:"danger",message:"An error occurred while logging you in. Please try again. (Error: CSRF)"},REGISTRATION_ALREADY_CANCELLED:{type:"danger",message:"This registration has already been cancelled."},SSO_STERN_ERROR:{type:"danger",message:'Sorry, your single sign-on did not work properly, please click the following <a href="https://w3.stern.nyu.edu/simon3/sso/cglogin">link</a> to try again.'}};if("msg"in n&&"string"==typeof n.msg&&""!==n.msg.trim()){const r=n.msg.split("|");for(const l of r){const[d]=l.split(":").map(u=>u.trim());if(d){const u=i[d];t.push({key:d,type:u?.type??"warning",message:u?.message??l.trim()})}}}}return t})}loginWithPassword(t,n){this.$errorMessages.set([]);const i=new FormData;return i.append("_csrf",this.authService.csrfToken??""),i.append("redirect",this.$redirect()??""),i.append("angular","1"),i.append("email",t),i.append("password",n),this.httpClient.post("/student_login",i).pipe((0,m.W)(r=>{throw"object"==typeof r.error&&"reason"in r.error&&this.$errorMessages.set([r.error.reason]),r}),(0,S.T)(r=>void 0!==r.redirect&&""!==r.redirect?r.redirect:"/student_index"))}loginWithOTP(t,n=!1,i=null){this.$errorMessages.set([]);const r=new FormData;return r.append("_csrf",this.authService.csrfToken??""),r.append("redirect",this.$redirect()??""),r.append("api","1"),r.append("email",t),n&&r.append("not_received","1"),null!==i&&r.append("g-recaptcha-response",i),this.httpClient.post("/api/v1/otp",r).pi
1pe((0,m.W)(l=>{throw"object"==typeof l.error&&this.$errorMessages.set(l.error.errors.map(u=>u.detail)),l}),(0,S.T)(l=>void 0!==l.token?l.token:null))}loginWithOTPVerify(t,n,i,r,l,d,u){this.$errorMessages.set([]);const g=new FormData;return g.append("_csrf",this.authService.csrfToken??""),g.append("token",t),g.append("otp",[n,i,r,l,d,u].join("")),this.httpClient.post("/api/v1/otp",g).pipe((0,m.W)(b=>{throw this.$errorMessages.set("object"==typeof b.error?b.error.errors.map(O=>O.detail):["Something went wrong"]),b}),(0,S.T)(b=>(b.redirectUrl??"/student_index?")+"&angular=1&redirect="+encodeURIComponent(this.$redirect()??"")))}resetPasswordRequest(t){const n=new FormData;return n.append("update","1"),n.append("api","1"),n.append("angular","1"),n.append("_csrf",this.authService.csrfToken??""),n.append("email",t),this.httpClient.post("/password",n).pipe((0,S.T)(i=>"object"==typeof i&&"success"in i&&!1!==i.success))}static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275prov=e.jDH({token:o,factory:o.\u0275fac})}}return o})();var h=c(177),V=c(25),T=c(7583),B=c(2645);const X=(o,s)=>s.key,Y=o=>({"has-messages":o});function U(o,s){if(1&o&&(e.j41(0,"cg-container")(1,"app-core-message-box",6),e.EFF(2),e.k0s()()),2&o){const t=s.$implicit;e.R7$(),e.Y8G("type",t.type),e.R7$(),e.JRh(t.message)}}function W(o,s){if(1&o&&(e.j41(0,"div",2),e.Z7z(1,U,3,2,"cg-container",null,X),e.k0s()),2&o){const t=e.XpG();e.R7$(),e.Dyx(t.loginService.$loginMessages())}}function K(o,s){if(1&o&&(e.j41(0,"div",4),e.nrm(1,"img",7),e.k0s()),2&o){const t=e.XpG();e.R7$(),e.Y8G("src",t.schoolService.$loginData().topImageUrl,e.B4B)}}let J=(()=>{class o{constructor(){this.ariaLiveRegionService=(0,e.WQX)(F.a),this.schoolService=(0,e.WQX)(f.g),this.modalService=(0,e.WQX)(w.Bq),this.loginService=(0,e.WQX)(v),this.$loading=(0,R.ot)(this.schoolService.isSchoolLoading$)}ngOnInit(){this.schoolService.isSchoolLoading$.pipe((0,P.i)(1),(0,y.s)(1)).subscribe(t=>{this.ariaLiveRegionService.setMessage(F.j.STATUS,t?"Login options are loading.":"Login options are loaded.")})}static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275cmp=e.VBU({type:o,selectors:[["app-auth"]],decls:7,vars:8,consts:[[3,"sidebar"],[1,"auth-wrapper",2,"background-color","#D9DEE6",3,"ngClass"],[1,"grid","grid-cols-1","gap-4","mb-12"],[1,"box-wrapper","bg-white-alt","rounded-xl","overflow-hidden","mx-4","sm:mx-auto","sm:mb-auto"],[1,"flex","items-center","justify-center"],[1,"login-body","px-4","py-8"],[3,"type"],["alt","",1,"w-full",3,"src"]],template:function(n,i){if(1&n&&(e.j41(0,"app-core-layout",0)(1,"div",1),e.DNE(2,W,3,0,"div",2),e.j41(3,"div",3),e.DNE(4,K,2,1,"div",4),e.j41(5,"div",5),e.nrm(6,"router-outlet"),e.k0s()()()()),2&n){let r;e.Y8G("sidebar",!1),e.R7$(),e.xc7("background-image","url("+(null!==(r=i.schoolService.$loginData().backgroundImageUrl)&&void 0!==r?r:"")+")"),e.Y8G("ngClass",e.eq3(6,Y,i.loginService.$loginMessages().length>0)),e.R7$(),e.vxM(2,i.loginService.$loginMessages().length>0?2:-1),e.R7$(2),e.vxM(4,i.schoolService.$loginData().topImageUrl?4:-1)}},dependencies:[p.n3,h.YU,V.C,T.M,B.T],styles:["[_nghost-%COMP%]{display:flex;min-height:100%}  app-core-layout-content>div{min-height:100%}.auth-wrapper[_ngcontent-%COMP%]{flex-grow:1;justify-content:center;background-size:cover;background-position:center;padding-top:2.5rem;padding-bottom:2.5rem}@media (min-width: 640px){.auth-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-bottom:5rem}}.auth-wrapper[_ngcontent-%COMP%]{min-height:calc(100% - 4rem)}@media (min-width: 640px){.auth-wrapper.has-messages[_ngcontent-%COMP%]{padding-top:3rem}.auth-wrapper[_ngcontent-%COMP%]:not(.has-messages){padding-top:7rem}.box-wrapper[_ngcontent-%COMP%]{width:28rem}}"]})}}return o})();var Q=c(1093),z=c(1517);function H(o,s){1&o&&e.nrm(0,"router-outlet")}function q(o,s){1&o&&(e.j41(0,"div",0),e.nrm(1,"cg-spinner",1),e.k0s()),2&o&&(e.R7$(),e.Y8G("featureColor","primary"))}let Z=(()=>{class o{constructor(){this.schoolService=(0,e.WQX)(f.g),this.modalService=(0,e.WQX)(w.Bq),this.activatedRoute=(0,e.WQX)(p.nX),this.router=(0,e.WQX)(p.Ix),this.loginService=(0,e.WQX)(v),this.$loading=(0,R.ot)(this.schoolService.isSchoolLoading$),this.$isAlreadyAuthenticated=(0,e.vPA)(!1)}ngOnInit(){if(Q.AuthenticationService.jwt){this.$isAlreadyAuthenticated.set(!0);const t=new URL("redirect",window.location.origin);this.loginService.$redirect()&&t.searchParams.set("redirect",this.loginService.$redirect()),window.location.href=t.toString()}"method"in this.activatedRoute.snapshot.queryParams&&"email"in this.activatedRoute.snapshot.queryParams&&"otp"===this.activatedRoute.snapshot.queryParams.method&&this.router.navigate(["auth","login","otp"],{queryParams:{email:this.activatedRoute.snapshot.queryParams.email}})}static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275cmp=e.VBU({type:o,selectors:[["app-auth-login"]],decls:2,vars:1,consts:[[1,"flex","justify-center","items-center"],[3,"featureColor"]],template:function(n,i){1&n&&e.DNE(0,H,1,0,"router-outlet")(1,q,2,1),2&n&&e.vxM(0,i.$isAlreadyAuthenticated()?1:0)},dependencies:[p.n3,z.t],styles:["[_nghost-%COMP%]{display:block}"]})}}return o}
1)();var k=c(65),a=c(9417),ee=c(8250);const te=["required","email","minlength","invalidDate","invalidYear"].reduce((o,s)=>({...o,[s]:null}),{});class C{static getErrorValidationMessages(s,t){return null===t?[]:Object.entries(t).map(i=>i[0]in te?C.getErrorValidationMessage(s,i):null).filter(i=>null!==i)}static getErrorValidationMessage(s,t){switch(t[0]){case"required":return`${s??"This field"} is required.`;case"invalidYear":return"The date should be after year 1900.";case"invalidDate":return"This is not a valid date.";case"email":return"This is not a valid email address.";case"minlength":return((o,s)=>`${o} should be at least ${s} characters.`)(s,C.getErrorMessage(t,"minlength")?.requiredLength);default:return""}}static checkErrorType(s,t){return s.some(([n])=>n===t)}static getErrorMessage(s,t){return s.find(([n])=>n===t)?.[1]}}function oe(o,s){if(1&o&&(e.j41(0,"span"),e.EFF(1),e.k0s(),e.nrm(2,"div")),2&o){let t,n,i;const r=e.XpG();e.ZvI("flex-shrink mx-4 ",r._textColor?"":null!==(t=r._textClassNameColor)&&void 0!==t?t:"",""),e.xc7("color",r._textColor),e.R7$(),e.JRh(r.content),e.R7$(),e.ZvI("flex-grow border-t ",r._borderRightColor?"":null!==(n=r._borderRightClassNameColor)&&void 0!==n?n:"",""),e.xc7("border-color",null!==(i=r._borderRightColor)&&void 0!==i?i:"initial")}}let ne=(()=>{class o{ngOnInit(){this.textColor?this._textColor=this.textColor:this._textClassNameColor=this.textClassNameColor?this.textClassNameColor:"text-gray-500",this.borderLeftColor?this._borderLeftColor=this.borderLeftColor:this.borderLeftClassNameColor?this._borderLeftClassNameColor=this.borderLeftClassNameColor:this.borderColor?this._borderLeftColor=this.borderColor:this._borderLeftClassNameColor=this.borderClassNameColor?this.borderClassNameColor:"border-gray-500",this.borderRightColor?this._borderRightColor=this.borderRightColor:this.borderRightClassNameColor?this._borderRightClassNameColor=this.borderRightClassNameColor:this.borderColor?this._borderRightColor=this.borderColor:this._borderRightClassNameColor=this.borderClassNameColor?this.borderClassNameColor:"border-gray-500"}static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275cmp=e.VBU({type:o,selectors:[["app-core-separator"]],inputs:{content:"content",textColor:"textColor",textClassNameColor:"textClassNameColor",borderColor:"borderColor",borderClassNameColor:"borderClassNameColor",borderLeftColor:"borderLeftColor",borderLeftClassNameColor:"borderLeftClassNameColor",borderRightColor:"borderRightColor",borderRightClassNameColor:"borderRightClassNameColor"},decls:3,vars:6,consts:[[1,"flex","items-center","my-4"]],template:function(n,i){if(1&n&&(e.j41(0,"div",0),e.nrm(1,"div"),e.DNE(2,oe,3,11),e.k0s()),2&n){let r,l;e.R7$(),e.ZvI("flex-grow border-t ",i._borderLeftColor?"":null!==(r=i._borderLeftClassNameColor)&&void 0!==r?r:"",""),e.xc7("border-color",null!==(l=i._borderLeftColor)&&void 0!==l?l:"initial"),e.R7$(),e.vxM(2,i.content?2:-1)}},styles:["[_nghost-%COMP%]{display:block;width:100%}"]})}}return o})();function ie(o,s){1&o&&e.nrm(0,"app-core-separator",7),2&o&&e.Y8G("content","Or")("borderClassNameColor","text-silver")("textClassNameColor","text-black")}function se(o,s){1&o&&(e.j41(0,"div")(1,"a",8),e.EFF(2,"Create an Account"),e.k0s()())}function re(o,s){if(1&o){const t=e.RV6();e.j41(0,"div",9)(1,"button",10),e.bIt("click",function(){e.eBV(t);const i=e.XpG(),r=e.sdS(8);return e.Njj(i.modalService.open(r,{centered:!0}))}),e.nrm(2,"mat-icon",11),e.j41(3,"span"),e.EFF(4,"Forgot password"),e.k0s()()()}}function ae(o,s){if(1&o){const t=e.RV6();e.j41(0,"div",12)(1,"button",13),e.bIt("click",function(){e.eBV(t);const i=e.XpG(),r=e.sdS(6);return e.Njj(i.modalService.open(r,{centered:!0}))}),e.nrm(2,"mat-icon",11),e.j41(3,"span"),e.EFF(4,"Need help logging in?"),e.k0s()()()}if(2&o){const t=e.XpG();e.R7$(),e.ZvI("flex items-center font-medium ",t.$loading()?"skeleton-loading":"","")}}function le(o,s){if(1&o&&(e.j41(0,"li")(1,"a",16),e.EFF(2,"Terms of Service"),e.k0s()()),2&o){let t;const n=e.XpG(2);e.R7$(),e.FS9("href",null==(t=n.schoolService.$school())?null:t.configTermsOfServiceLink,e.B4B)}}function ce(o,s){if(1&o&&(e.j41(0,"li")(1,"a",16),e.EFF(2,"Privacy Policy"),e.k0s()()),2&o){let t;const n=e.XpG(2);e.R7$(),e.FS9("href",null==(t=n.schoolService.$school())?null:t.configPrivacyPolicyLink,e.B4B)}}function pe(o,s){if(1&o&&(e.j41(0,"div",14)(1,"div"),e.EFF(2,"By logging on, you agree to the"),e.k0s(),e.j41(3,"ul",15),e.DNE(4,le,3,1,"li")(5,ce,3,1,"li"),e.k0s()()),2&o){let t,n;const i=e.XpG();e.R7$(4),e.vxM(4,null!=(t=i.schoolService.$school())&&t.configTermsOfServiceLink?4:-1),e.R7$(),e.vxM(5,null!=(n=i.schoolService.$school())&&n.configPrivacyPolicyLink?5:-1)}}function de(o,s){if(1&o){const t=e.RV6();
1e.j41(0,"div",17)(1,"h1",18),e.EFF(2,"Sign In Instruction"),e.k0s(),e.j41(3,"button",19),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss())}),e.nrm(4,"mat-icon",20),e.k0s()(),e.j41(5,"div",21),e.nrm(6,"div",22),e.k0s()}if(2&o){const t=e.XpG();e.R7$(6),e.Y8G("innerHTML",t.schoolService.$loginData().instructions,e.npT)}}function ue(o,s){if(1&o&&(e.j41(0,"li"),e.EFF(1),e.k0s()),2&o){const t=s.$implicit;e.R7$(),e.JRh(t)}}function he(o,s){if(1&o&&(e.j41(0,"div",30)(1,"ul"),e.DNE(2,ue,2,1,"li",35),e.k0s()()),2&o){const t=e.XpG(2);e.R7$(2),e.Y8G("ngForOf",t.$formEmailErrors())}}function me(o,s){if(1&o&&(e.j41(0,"app-core-message-box",36),e.EFF(1),e.k0s()),2&o){const t=e.XpG(2);e.Y8G("type","danger"),e.R7$(),e.JRh(t.$passwordResetErrorMessage())}}function ge(o,s){if(1&o){const t=e.RV6();e.j41(0,"div",23)(1,"h1",24),e.EFF(2,"Reset Password"),e.k0s(),e.j41(3,"button",25),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss())}),e.nrm(4,"mat-icon",26),e.k0s()(),e.j41(5,"div",21)(6,"form",27)(7,"div",28)(8,"input",29),e.bIt("blur",function(){e.eBV(t);const i=e.XpG();return e.Njj(i.validateResetPasswordForm())}),e.k0s(),e.DNE(9,he,3,1,"div",30),e.k0s()(),e.DNE(10,me,2,2,"app-core-message-box",31),e.k0s(),e.j41(11,"div",32)(12,"button",33),e.bIt("click",function(){const i=e.eBV(t).$implicit;return e.Njj(i.dismiss())}),e.EFF(13,"Close"),e.k0s(),e.j41(14,"button",34),e.bIt("click",function(){const i=e.eBV(t).$implicit,r=e.XpG();return e.Njj(r.resetPassword(i))}),e.EFF(15,"Send"),e.k0s()()}if(2&o){const t=e.XpG();e.R7$(6),e.Y8G("formGroup",t.resetPasswordForm),e.R7$(2),e.Y8G("formControlName","email"),e.R7$(),e.vxM(9,t.$formEmailErrors().length>0?9:-1),e.R7$(),e.Y8G("ngIf",!1!==t.$passwordResetErrorMessage())}}let A=(()=>{class o{constructor(){this.showSeparator=(0,e.hFB)(!1),this.showCreateAccount=(0,e.hFB)(!1),this.showForgotPassword=(0,e.hFB)(!1),this.showNeedHelp=(0,e.hFB)(!1),this.showLegal=(0,e.hFB)(!1),this.$_showSeparator=(0,e.EWP)(()=>this.showSeparator()&&(this.$_showCreateAccount()||this.$_showForgotPassword()||this.$_showNeedHelp()||this.$_showLegal())),this.$_showCreateAccount=(0,e.EWP)(()=>!!this.schoolService.$school()?.guestAccountCreationEnabled&&this.showCreateAccount()),this.$_showForgotPassword=(0,e.EWP)(()=>
1this.showForgotPassword()),this.$_showNeedHelp=(0,e.EWP)(()=>this.showNeedHelp()&&(this.$loading()||!!this.schoolService.$loginData().instructions)),this.$_showLegal=(0,e.EWP)(()=>this.showLegal()&&(this.schoolService.$school()?.configPrivacyPolicyLink||this.schoolService.$school()?.configTermsOfServiceLink)),this.alertService=(0,e.WQX)(ee.u),this.loginService=(0,e.WQX)(v),this.modalService=(0,e.WQX)(w.Bq),this.schoolService=(0,e.WQX)(f.g),this.$loading=(0,R.ot)(this.schoolService.isSchoolLoading$),this.$formEmailErrors=(0,e.vPA)([]),this.$passwordResetErrorMessage=(0,e.vPA)(!1),this.resetPasswordForm=new a.gE({email:new a.MJ("",[a.k0.required,a.k0.email])})}validateResetPasswordForm(){this.$formEmailErrors.set(C.getErrorValidationMessages("Email",this.resetPasswordForm.controls.email.errors))}resetPassword(t){this.validateResetPasswordForm(),this.resetPasswordForm.valid&&(this.$passwordResetErrorMessage.set(!1),this.resetPasswordForm.disable(),this.loginService.resetPasswordRequest(this.resetPasswordForm.value.email??"").pipe((0,m.W)(n=>{let i="Something went wrong";throw 400===n.status&&"object"==typeof n.error&&"reason"in n.error&&("WRONG_LOCATION"===n.error.reason&&"message"in n.error&&(i=n.error.message),"NO_RECORD"===n.error.reason&&(i="No account found with this email address.")),this.$passwordResetErrorMessage.set(i),this.resetPasswordForm.enable(),n})).subscribe(()=>{this.alertService.success("Password reset email sent. Please check your inbox."),this.resetPasswordForm.reset(),this.resetPasswordForm.enable(),t.close()}))}static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275cmp=e.VBU({type:o,selectors:[["app-auth-login-footer"]],inputs:{showSeparator:[e.Mj6.SignalBased,"showSeparator"],showCreateAccount:[e.Mj6.SignalBased,"showCreateAccount"],showForgotPassword:[e.Mj6.SignalBased,"showForgotPassword"],showNeedHelp:[e.Mj6.SignalBased,"showNeedHelp"],showLegal:[e.Mj6.SignalBased,"showLegal"]},decls:9,vars:5,consts:[["loginInstructionTemplate",""],["forgotPasswordTemplate",""],[3,"content","borderClassNameColor","textClassNameColor",4,"ngIf"],[4,"ngIf"],["class","mt-4 flex justify-center",4,"ngIf"],["class","mt-4 flex justify-center hover:underline",4,"ngIf"],["class","text-grey-darker flex flex-col items-center mt-8",4,"ngIf"],[3,"content","borderClassNameColor","textClassNameColor"],["href","/otp_signup",1,"btn","btn-outline-default","rounded-full","block","w-full","btn-lg"],[1,"mt-4","flex","justify-center"],["role","button","type","button",1,"flex","items-center","font-medium","hover:underline",3,"click"],["svgIcon","information-outline",1,"mr-1","text-xl","leading-none"],[1,"mt-4","flex","justify-center","hover:underline"],[3,"click"],[1,"text-grey-darker","flex","flex-col","items-center","mt-8"],[1,"legal-terms"],["target","_blank",3,"href"],[1,"modal-header"],[1,"mb-0","leading-none","text-xl"],["aria-label","Close",1,"ml-auto",3,"click"],["svgIcon","window-close"],[1,"modal-body"],[1,"not-tw",3,"innerHTML"],[1,"modal-header","bg-blue","flex"],[1,"modal-title","text-xl"],["aria-label","Close","type","button",1,"ml-auto","close-button",3,"click"],["svgIcon","close-thick"],[3,"formGroup"],[1,"py-4"],["ngbAutofocus","","autocomplete","email","placeholder","Email address","type","email",1,"cg-input",3,"blur","formControlName"],[1,"invalid-feedback"],[3,"type",4,"ngIf"],[1,"modal-footer"],["type","button","aria-label","Close",1,"btn","btn-outline-default",3,"click"],["type","button","aria-label","Send Reset Email",1,"btn","btn-theme",3,"click"],[4,"ngFor","ngForOf"],[3,"type"]],template:function(n,i){1&n&&e.DNE(0,ie,1,3,"app-core-separator",2)(1,se,3,0,"div",3)(2,re,5,0,"div",4)(3,ae,5,3,"div",5)(4,pe,6,2,"div",6)(5,de,7,1,"ng-template",null,0,e.C5r)(7,ge,16,4,"ng-template",null,1,e.C5r),2&n&&(e.Y8G("ngIf",i.$_showSeparator()),e.R7$(),e.Y8G("ngIf",i.$_showCreateAccount()),e.R7$(),e.Y8G("ngIf",i.showForgotPassword()),e.R7$(),e.Y8G("ngIf",i.$_showNeedHelp()),e.R7$(),e.Y8G("ngIf",i.$_showLegal()))},dependencies:[h.Sq,h.bT,ne,T.M,a.qT,a.me,a.BC,a.cb,a.j4,a.JD,k.An],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}ul.legal-terms[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center}ul.legal-terms[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{font-weight:500}ul.legal-terms[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]:not(:first-child):before{content:"\\2022";color:var(--color-theme-grey-darker);margin-left:.5em;margin-right:.5em}ul.legal-terms[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]:hover{color:var(--color-theme-black)}']})}}return o}
1)();const fe=()=>[void 0,void 0,void 0],j=o=>({redirect:o}),M=(o,s)=>({name:o,subtitle:s});function _e(o,s){1&o&&(e.j41(0,"li")(1,"div",5)(2,"div",6),e.nrm(3,"div",7)(4,"div",8),e.k0s(),e.j41(5,"div",9),e.nrm(6,"mat-icon",10),e.k0s()()())}function ve(o,s){1&o&&e.Z7z(0,_e,7,0,"li",null,e.Vm6),2&o&&e.Dyx(e.lJ4(0,fe))}function Ce(o,s){if(1&o&&(e.j41(0,"a",11),e.eu8(1,12),e.k0s()),2&o){const t=e.XpG().$implicit,n=e.XpG(),i=e.sdS(12);e.Y8G("routerLink","./otp")("queryParams",e.eq3(4,j,n.loginService.$redirect())),e.R7$(),e.Y8G("ngTemplateOutlet",i)("ngTemplateOutletContext",e.l_i(6,M,t.name,t.subtitle))}}function be(o,s){if(1&o&&(e.j41(0,"a",11),e.eu8(1,12),e.k0s()),2&o){const t=e.XpG().$implicit,n=e.XpG(),i=e.sdS(12);e.Y8G("routerLink","./password")("queryParams",e.eq3(4,j,n.loginService.$redirect())),e.R7$(),e.Y8G("ngTemplateOutlet",i)("ngTemplateOutletContext",e.l_i(6,M,t.name,t.subtitle))}}function ye(o,s){if(1&o&&(e.j41(0,"a",13),e.eu8(1,12),e.k0s()),2&o){const t=e.XpG().$implicit;e.XpG();const n=e.sdS(12);e.Y8G("href",t.targetUrl,e.B4B),e.R7$(),e.Y8G("ngTemplateOutlet",n)("ngTemplateOutletContext",e.l_i(3,M,t.name,t.subtitle))}}function we(o,s){if(1&o&&(e.j41(0,"li"),e.DNE(1,Ce,2,9,"a",11)(2,be,2,9)(3,ye,2,6),e.k0s()),2&o){const t=s.$implicit;e.R7$(),e.vxM(1,"OTP"===t.method?1:"Email_Password"===t.method?2:t.targetUrl?3:-1)}}function Re(o,s){if(1&o&&(e.j41(0,"div",15),e.EFF(1),e.k0s()),2&o){const t=e.XpG().subtitle;e.R7$(),e.JRh(t)}}function xe(o,s){if(1&o&&(e.j41(0,"div",6)(1,"div",14),e.EFF(2),e.k0s(),e.DNE(3,Re,2,1,"div",15),e.k0s(),e.j41(4,"div",16),e.nrm(5,"mat-icon",10),e.k0s()),2&o){const t=s.name,n=s.subtitle;e.R7$(2),e.JRh(t),e.R7$(),e.vxM(3,n?3:-1)}}let Ee=(()=>{class o{constructor(){this.schoolService=(0,e.WQX)(f.g),this.modalService=(0,e.WQX)(w.Bq),this.loginService=(0,e.WQX)(v),this.$loading=(0,R.ot)(this.schoolService.isSchoolLoading$)}static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275cmp=e.VBU({type:o,selectors:[["app-auth-login-index"]],decls:13,vars:10,consts:[["loginOptionTemplate",""],[1,"grid","grid-cols-1","gap-3"],["role","group"],[1,"login-options","grid","grid-cols-1","gap-3"],[3,"showNeedHelp"],[1,"skeleton-loading","skeleton-with-transparency","flex","h-full","px-3","py-4","bg-white","rounded-lg"],[1,"grow"],[1,"h-5","w-1/2","mb-4",2,"background-color","rgba(255,255,255,0.5)"],[1,"mt-2","h-4","w-1/3",2,"background-color","rgba(255,255,255,0.5)"],[1,"h-full","flex","items-center","text-3xl","leading-none",2,"color","#ccc !important"],["svgIcon","chevron-right"],[1,"flex","h-full","px-3","py-4","bg-white","rounded-lg",3,"routerLink","queryParams"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"flex","h-full","px-3","py-4","bg-white","rounded-lg",3,"href"],[1,"text-lg","font-medium"],[1,"mt-1","text-grey-darker"],[1,"h-full","flex","items-center","text-3xl","leading-none","text-grey-darker"]],template:function(n,i){1&n&&(e.j41(0,"div",1)(1,"h1"),e.EFF(2,"Login"),e.k0s(),e.j41(3,"p"),e.EFF(4),e.k0s(),e.j41(5,"div",2)(6,"ul",3),e.DNE(7,ve,2,1),e.Z7z(8,we,4,1,"li",null,e.Vm6),e.k0s()(),e.nrm(10,"app-auth-login-footer",4),e.k0s(),e.DNE(11,xe,6,2,"ng-template",null,0,e.C5r)),2&n&&(e.R7$(),e.ZvI("text-center text-2xl font-semibold mb-0 leading-none ",i.$loading()?"skeleton-loading w-24 mx-auto":"",""),e.R7$(2),e.ZvI("text-grey-darker text-center ",i.$loading()?"skeleton-loading w-48 h-4 mx-auto":"",""),e.R7$(),e.JRh(i.schoolService.$loginData().title),e.R7$(),e.BMQ("aria-label",i.$loading()?"Loading":"Login options"),e.R7$(2),e.vxM(7,i.$loading()?7:-1),e.R7$(),e.Dyx(i.schoolService.$loginData().options),e.R7$(2),e.Y8G("showNeedHelp",!0))},dependencies:[p.Wk,h.T3,k.An,A],styles:["[_nghost-%COMP%]{display:block}ul.login-options[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{box-shadow:4px 3px 13px 3px #00000017}"]})}}return o})();var $e=c(7786),L=c(7673),Fe=c(4412),Se=c(5964);const Te=new e.nKC("recaptcha-language"),Oe=new e.nKC("recaptcha-base-url"),Pe=new e.nKC("recaptcha-nonce-tag"),ke=new e.nKC("recaptcha-settings"),Ae=new e.nKC("recaptcha-v3-site-key"),Me=new e.nKC("recaptcha-loader-options"),I={loadScript:function je(o,s,t,{url:n,lang:i,nonce:r}={}){window.ng2recaptchaloaded=()=>{t(grecaptcha)};const l=document.createElement("script");l.innerHTML="";const{url:d,nonce:u}=s(new URL(n||"https://www.google.com/recaptcha/api.js"));d.searchParams.set("render","explicit"===o?o:o.key),d.searchParams.set("onload","ng2recaptchaloaded"),d.searchParams.set("trustedtypes","true"),i&&d.searchParams.set("hl",i),l.src=d.href;const g=u||r;g&&l.setAttribute("nonce",g),l.async=!0,l.defer=!0,document.head.appendChild(l)},newLoadScript:function Le({v3SiteKey:o,onBeforeLoad:s,onLoaded:t}){I.loadScript(o?{key:o}:"explicit",s,t)}};let N=(()=>{class o{static{this.ready=null}constructor(t,n,i,r,l,d){this.platformId=t,this.language=n,this.baseUrl=i,this.nonce=r,this.v3SiteKey=l,this.options=d;const u=this.init();this.ready=u?function Ie(o){return o.asObservable().pipe((0,Se.p)(s=>null!==s))}(u):(0,L.of)()}init(){if(o.ready)return o.ready;if(!(0,h.UE)(this.platformId))return;const t=new Fe.t(null);return o.ready=t,I.newLoadScript({v3SiteKey:this.v3SiteKey,onBeforeLoad:n=>{if(this.options?.onBeforeLoad)return this.options.onBeforeLoad(n);const i=new URL(this.baseUrl??n);return this.language&&i.searchParams.set("hl",this.language),{url:i,nonce:this.nonce}},onLoaded:n=>{let i=n;this.options?.onLoaded&&(i=this.options.onLoaded(n)),t.next(i)}}),t}static{this.\u0275fac=function(n){return new(n||o)(e.KVO(e.Agw),e.KVO(Te,8),e.KVO(Oe,8),e.KVO(Pe,8),e.KVO(Ae,8),e.KVO(Me,8))}}static{this.\u0275prov=e.jDH({token:o,factory:o.\u0275fac})}}return o}
1)(),Ne=0,Ge=(()=>{class o{constructor(t,n,i,r){this.elementRef=t,this.loader=n,this.zone=i,this.id="ngrecaptcha-"+Ne++,this.errorMode="default",this.resolved=new e.bkB,this.error=new e.bkB,this.errored=new e.bkB,r&&(this.siteKey=r.siteKey,this.theme=r.theme,this.type=r.type,this.size=r.size,this.badge=r.badge)}ngAfterViewInit(){this.subscription=this.loader.ready.subscribe(t=>{null!=t&&t.render instanceof Function&&(this.grecaptcha=t,this.renderRecaptcha())})}ngOnDestroy(){this.grecaptchaReset(),this.subscription&&this.subscription.unsubscribe()}execute(){"invisible"===this.size&&(null!=this.widget?this.grecaptcha.execute(this.widget):this.executeRequested=!0)}reset(){null!=this.widget&&(this.grecaptcha.getResponse(this.widget)&&this.resolved.emit(null),this.grecaptchaReset())}get __unsafe_widgetValue(){return null!=this.widget?this.grecaptcha.getResponse(this.widget):null}expired(){this.resolved.emit(null)}onError(t){this.error.emit(t),this.errored.emit(t)}captchaResponseCallback(t){this.resolved.emit(t)}grecaptchaReset(){null!=this.widget&&this.zone.runOutsideAngular(()=>this.grecaptcha.reset(this.widget))}renderRecaptcha(){const t={badge:this.badge,callback:n=>{this.zone.run(()=>this.captchaResponseCallback(n))},"expired-callback":()=>{this.zone.run(()=>this.expired())},sitekey:this.siteKey,size:this.size,tabindex:this.tabIndex,theme:this.theme,type:this.type};"handled"===this.errorMode&&(t["error-callback"]=(...n)=>{this.zone.run(()=>this.onError(n))}),this.widget=this.grecaptcha.render(this.elementRef.nativeElement,t),!0===this.executeRequested&&(this.executeRequested=!1,this.execute())}static{this.\u0275fac=function(n){return new(n||o)(e.rXU(e.aKT),e.rXU(N),e.rXU(e.SKi),e.rXU(ke,8))}}static{this.\u0275cmp=e.VBU({type:o,selectors:[["re-captcha"]],hostVars:1,hostBindings:function(n,i){2&n&&e.BMQ("id",i.id)},inputs:{id:"id",siteKey:"siteKey",theme:"theme",type:"type",size:"size",tabIndex:"tabIndex",badge:"badge",errorMode:"errorMode"},outputs:{resolved:"resolved",error:"error",errored:"errored"},exportAs:["reCaptcha"],decls:0,vars:0,template:function(n,i){},encapsulation:2})}}return o})(),De=(()=>{class o{static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275mod=e.$C({type:o})}static{this.\u0275inj=e.G2t({})}}return o})(),Ve=(()=>{class o{static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275mod=e.$C({type:o})}static{this.\u0275inj=e.G2t({providers:[N],imports:[De]})}}return o})();const Be=["emailAddressInput"],Xe=["otpInputs"],Ye=o=>({disabled:o}),Ue=()=>[1,2,3,4,5,6];function We(o,s){if(1&o&&e.eu8(0,6),2&o){e.XpG(2);const t=e.sdS(5);e.Y8G("ngTemplateOutlet",t)}}function Ke(o,s){}function Je(o,s){if(1&o&&e.DNE(0,We,1,1,"ng-container",6)(1,Ke,0,0),2&o){const t=e.XpG();e.vxM(0,t.$emailOnLoading()?1:0)}}function Qe(o,s){if(1&o&&e.eu8(0,6),2&o){e.XpG();const t=e.sdS(7);e.Y8G("ngTemplateOutlet",t)}}function ze(o,s){if(1&o&&(e.j41(0,"div",7)(1,"app-core-message-box",8),e.EFF(2),e.k0s()()),2&o){const t=s.$implicit;e.R7$(),e.Y8G("type","danger"),e.R7$(),e.JRh(t)}}function He(o,s){1&o&&e.nrm(0,"app-auth-login-footer",5),2&o&&e.Y8G("showSeparator",!0)("showCreateAccount",!0)("showLegal",!0)}function qe(o,s){if(1&o&&(e.j41(0,"li"),e.EFF(1),e.k0s()),2&o){const t=s.$implicit;e.R7$(),e.JRh(t)}}function Ze(o,s){if(1&o&&(e.j41(0,"div",14)(1,"ul"),e.DNE(2,qe,2,1,"li",16),e.k0s()()),2&o){const t=e.XpG(2);e.R7$(2),e.Y8G("ngForOf",t.$formEmailErrors())}}function et(o,s){if(1&o){const t=e.RV6();e.j41(0,"h1",9),e.EFF(1,"What is your email address?"),e.k0s(),e.j41(2,"form",10),e.bIt("ngSubmit",function(){e.eBV(t);const i=e.XpG();return e.Njj(i.onEmailFormSubmit())}),e.nrm(3,"input",11),e.j41(4,"div",12)(5,"div")(6,"input",13,2),e.bIt("blur",function(){e.eBV(t);const i=e.XpG();return e.Njj(i.validateForm())}),e.k0s(),e.DNE(8,Ze,3,1,"div",14),e.k0s()(),e.j41(9,"button",15),e.EFF(10,"Continue"),e.k0s()()}if(2&o){const t=e.XpG();e.R7$(2),e.Y8G("formGroup",t.emailForm),e.R7$(),e.Y8G("formControlName","angular"),e.R7$(3),e.Y8G("formControlName","email"),e.R7$(2),e.vxM(8,t.$formEmailErrors().length>0?8:-1),e.R7$(),e.Y8G("ngClass",e.eq3(5,Ye,t.emailForm.disabled))}}function tt(o,s){if(1&o){const t=e.RV6();e.j41(0,"label",24),e.EFF(1),e.k0s(),e.j41(2,"input",25),e.bIt("input",function(i){const r=e.eBV(t).$implicit,l=e.XpG(2);return e.Njj(l.inputEv(r,i))})("keyup",function(i){const r=e.eBV(t).$implicit,l=e.XpG(2);return e.Njj(l.keyUpEv(r,i))})("keydown",function(i){const r=e.eBV(t).$implicit,l=e.XpG(2);return e.Njj(l.keyDownEv(r,i))}),e.k0s()}if(2&o){const t=s.$implicit;e.Mz_("for","otc-",t,""),e.R7$(),e.SpI("Number ",t,""),e.R7$(),e.Mz_("id","otc-",t,""),e.Y8G("formControlName","number"+t),e.BMQ("autocomplete",1===t?"one-time-code":void 0)("min",t>1?"0":void 0)("max",t>1?"9":void 0)("maxlength",t>1?"1":void 0)}}function ot(o,s){if(1&o){const t=e.RV6();e.j41(0,"p",26),e.EFF(1,"Did not receive a code? "),e.j41(2,"button",27),e.bIt("click",function(){e.eBV(t);const i=e.XpG(3);return e.Njj(i.$showReCaptcha.set(!0))}),e.j41(3,"b",28),e.EFF(4,"Resend"),e.k0s()()()}}function nt(o,s){1&o&&(e.j41(0,"p",26),e.EFF(1,"The email has been re-sent"),e.k0s())}function it(o,s){if(1&o&&e.DNE(0,ot,5,0,"p",26)(1,nt,2,0),2&o){const t=e.XpG(2);e.vxM(0,t.$wasResent()?1:0)}}function st(o,s){if(1&o){const t=e.RV6();e.j41(0,"app-core-message-box",29),e.EFF(1," Please validate the captcha to re-send the email. "),e.k0s(),e.j41(2,"re-captcha",30),e.bIt("resolved",function(i){e.eBV(t);const r=e.XpG(3);return e.Njj(r.resendOtp(i))}),e.k0s()}if(2&o){let t;const n=e.XpG(3);e.Y8G("type","primary"),e.R7$(2),e.Y8G("siteKey",null==(t=n.schoolService.$school())?null:t.captchaSiteKey)}}function rt(o,s){if(1&o&&(e.j41(0,"div",23),e.DNE(1,st,3,2),e.k0s()),2&o){const t=e.XpG(2);e.R7$(),e.vxM(1,t.$wasResent()?-1:1)}}function at(o,s){if(1&o){const t=e.RV6();e.j41(0,"h1",17),e.EFF(1,"We have emailed you a code at"),e.k0s(),e.j41(2,"div",18),e.EFF(3),e.k0s(),e.j41(4,"form",19),e.bIt("ngSubmit",function(){e.eBV(t);const i=e.XpG();return e.Njj(i.onOtpFormSubmit())}),e.j41(5,"fieldset",20)(6,"legend"),e.EFF(7,"OTP"),e.k0s(),e.j41(8,"div",21,3),e.Z7z(10,tt,3,10,null,null,e.fX1),e.k0s(),e.j41(12,"button",22),e.EFF(13,"Continue"),e.k0s()()(),e.DNE(14,it,2,1)(15,rt,2,1,"div",23)}if(2&o){let t;const n=e.XpG();e.R7$(3),e.JRh(n.emailForm.value.email),e.R7$(),e.Y8G("formGroup",n.otpForm),e.R7$(6),e.Dyx(e.lJ4(5,Ue)),e.R7$(2),e.Y8G("disabled",!n.otpForm.valid),e.R7$(2),e.vxM(14,n.$showOtpMessageInfo()&&null!=(t=n.schoolService.$school())&&t.captchaSiteKey?14:-1),e.R7$(),e.vxM(15,n.$showReCaptcha()?15:-1)}}const ct=["formPassword"],pt=["emailAddressInput"],dt=["passwordInput"];function ut(o,s){if(1&o&&(e.j41(0,"li"),e.EFF(1),e.k0s()),2&o){const t=s.$implicit;e.R7$(),e.JRh(t)}}function ht(o,s){if(1&o&&(e.j41(0,"div",11)(1,"ul"),e.DNE(2,ut,2,1,"li",17),e.k0s()()),2&o){const t=e.XpG();e.R7$(2),e.Y8G("ngForOf",t.$formEmailErrors())}}function mt(o,s){if(1&o&&(e.j41(0,"li"),e.EFF(1),e.k0s()),2&o){const t=s.$implicit;e.R7$(),e.JRh(t)}}function gt(o,s){if(1&o&&(e.j41(0,"div",13)(1,"ul"),e.DNE(2,mt,2,1,"li",17),e.k0s()()),2&o){const t=e.XpG();e.R7$(2),e.Y8G("ngForOf",t.$formPasswordErrors())}}function ft(o,s){if(1&o&&(e.j41(0,"div",18)(1,"app-core-message-box",19),e.EFF(2),e.k0s()()),2&o){const t=s.$implicit;e.R7$(),e.Y8G("type","danger"),e.R7$(),e.JRh(t)}}const _t=[{path:"",component:J,children:[{path:"login",title:"Login",children:[{path:"",component:Ee},{path:"otp",component:(()=>{class o{constructor(){this.loginService=(0,e.WQX)(v),this.schoolService=(0,e.WQX)(f.g),this.$emailOnLoading=(0,e.vPA)(!1),this.$confirmStep=(0,e.vPA)(!1),this.$showOtpMessageInfo=(0,e.vPA)(!1),this.$showReCaptcha=(0,e.vPA)(!1),this.$wasResent=(0,e.vPA)(!1),this.$formEmailErrors=(0,e.vPA)([]),this.emailForm=new a.gE({angular:new a.MJ("1"),email:new a.MJ(this.loginService.$urlEmail(),[a.k0.required,a.k0.email])}),this.otpPartialValidationRules=[a.k0.required,a.k0.pattern("[0-9]*")],this.otpValidationRules=[...this.otpPartialValidationRules,a.k0.minLength(1),a.k0.maxLength(1),a.k0.max(9),a.k0.min(0)],this.otpForm=new a.gE({number1:new a.MJ("",this.otpPartialValidationRules),number2:new a.MJ("",this.otpValidationRules),number3:new a.MJ("",this.otpValidationRules),number4:new a.MJ("",this.otpValidationRules),number5:new a.MJ("",this.otpValidationRules),number6:new a.MJ("",this.otpValidationRules)}),this.otpToken=""}validateForm(){this.$formEmailErrors.set(C.getErrorValidationMessages("Email",this.emailForm.controls.email.errors))}onEmailFormSubmit(t=!1,n=null){this.validateForm(),this.emailForm.valid&&(this.$showOtpMessageInfo.set(!1),this.emailForm.disable(),this.loginService.loginWithOTP(this.emailForm.value.email??"",t,n).pipe((0,m.W)(i=>{throw this.emailForm.enable(),i})).subscribe(i=>{null!==i&&(this.otpToken=i),this.emailForm.enable(),this.$confirmStep.set(!0),t&&this.$wasResent.set(!0),this.$showOtpMessageInfo.set(!0),this.$emailOnLoading.set(!1)}))}onOtpFormSubmit(){this.otpForm.valid&&(this.$showOtpMessageInfo.set(!1),this.otpForm.disable(),this.loginService.loginWithOTPVerify(this.otpToken,this.otpForm.value.number1?.toString()??"",this.otpForm.value.number2?.toString()??"",this.otpForm.value.number3?.toString()??"",this.otpForm.value.number4?.toString()??"",this.otpForm.value.number5?.toString()??"",this.otpForm.value.number6?.toString()??"").pipe((0,m.W)(t=>{throw this.otpForm.enable(),this.getOtpInputElement(5)?.focus(),t})).subscribe(t=>{window.location.href=t}))}ngOnInit(){this.loginService.$urlEmail()&&(this.loginService.$loginMessages().find(t=>"INVALID_CREDENTIALS"===t.key)||(this.$emailOnLoading.set(!0),this.onEmailFormSubmit()))}ngAfterViewInit(){(0,$e.h)((0,L.of)(null),this.emailAddressInputRef.changes,this.otpInputsRef.changes).subscribe(()=>{if(this.$confirmStep()){const t=this.getOtpInputElements();t&&t[0].focus()}else this.emailAddressInputRef?.get(0)?.nativeElement.focus()})}getOtpInputElements(){return this.otpInputsRef&&this.otpInputsRef.get(0)?this.otpInputsRef.get(0).nativeElement.querySelectorAll("input"):null}getOtpInputElement(t){const n=this.getOtpInputElements();return n&&typeof n[t]<"u"?n[t]:null}keyDownEv(t,n){["ArrowDown","ArrowUp","e","-","+",".",","].includes(n.key)&&n.preventDefault()}keyUpEv(t,n){n.code.startsWith("Digit")&&this.otpForm.get("number"+t)?.value&&t<6&&this.getOtpInputElement(t)?.focus(),"Backspace"===n.code&&t>1&&this.getOtpInputElement(t-2)?.focus()}inputEv(t,n){if(this.getOtpInputElements()&&n.inputType.startsWith("insert")){let l=n.data||n.target.value;const d=this.getOtpInputElement(t-1)?.value;if(null===l)return;l!=d&&""!==d&&(l=(d??"").substring(0,1));const u=l.toString().replace(/[^0-9]/g,"");0===u.length&&this.otpForm.get("number"+t)?.setValue(u),u.split("").forEach((b,E)=>{if(t+E<=6){const O=this.getOtpInputElements();O&&(O[t-1+E].focus(),this.otpForm.get("number"+(t+E).toString())?.setValue(b))}}),u.length>1&&this.onOtpFormSubmit()}}resendOtp(t){this.onEmailFormSubmit(!0,t),this.$showReCaptcha.set(!1)}ngOnDestroy(){this.loginService.$errorMessages.set([])}static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275cmp=e.VBU({type:o,selectors:[["app-auth-login-otp"]],viewQuery:function(n,i){if
1(1&n&&(e.GBs(Be,5),e.GBs(Xe,5)),2&n){let r;e.mGM(r=e.lsd())&&(i.emailAddressInputRef=r),e.mGM(r=e.lsd())&&(i.otpInputsRef=r)}},decls:8,vars:3,consts:[["step1",""],["step2",""],["emailAddressInput",""],["otpInputs",""],["class","my-3",4,"ngFor","ngForOf"],[3,"showSeparator","showCreateAccount","showLegal"],[3,"ngTemplateOutlet"],[1,"my-3"],[3,"type"],[1,"text-center","text-2xl","font-semibold","leading-none","mb-8"],["action","/student_login","method","post",1,"grid","grid-cols-1","gap-6",3,"ngSubmit","formGroup"],["type","hidden",3,"formControlName"],[1,"grid","grid-cols-1","gap-3"],["autocomplete","email","placeholder","Email address","type","text",1,"cg-input",3,"blur","formControlName"],[1,"invalid-feedback",2,"display","block"],["type","submit",1,"btn","btn-theme","w-full","rounded-full","btn-lg",3,"ngClass"],[4,"ngFor","ngForOf"],[1,"text-center","text-2xl","font-semibold","leading-none","mb-4"],[1,"text-center","text-lg","font-normal","mb-4","text-grey-darker"],[3,"ngSubmit","formGroup"],[1,"otc"],[1,"flex","items-center","gap-3","justify-center","mb-3"],["type","submit",1,"btn","btn-theme","w-full","rounded-full","btn-lg",3,"disabled"],[1,"my-4"],[3,"for"],["type","number","pattern","[0-9]*",3,"input","keyup","keydown","formControlName","id"],[1,"mt-6","text-center"],[3,"click"],[1,"font-medium"],[1,"mb-2",3,"type"],[3,"resolved","siteKey"]],template:function(n,i){1&n&&e.DNE(0,Je,2,1)(1,Qe,1,1)(2,ze,3,2,"div",4)(3,He,1,3,"app-auth-login-footer",5)(4,et,11,7,"ng-template",null,0,e.C5r)(6,at,16,6,"ng-template",null,1,e.C5r),2&n&&(e.vxM(0,i.$confirmStep()?1:0),e.R7$(2),e.Y8G("ngForOf",i.loginService.$errorMessages()),e.R7$(),e.vxM(3,i.$confirmStep()?-1:3))},dependencies:[h.YU,h.Sq,h.T3,T.M,a.qT,a.me,a.Q0,a.BC,a.cb,a.R_,a.j4,a.JD,Ge,A],styles:["[_nghost-%COMP%]{display:block}fieldset.otc[_ngcontent-%COMP%]{border:0;padding:0;margin:0}fieldset.otc[_ngcontent-%COMP%]   input[type=number][_ngcontent-%COMP%]{border-radius:.375rem;font-size:1.25rem;line-height:1.75rem;line-height:1;width:2em;height:2em;margin:.1em;text-align:center;appearance:textfield;-webkit-appearance:textfield;border:1px solid var(--color-theme-grey)}fieldset.otc[_ngcontent-%COMP%]   input[_ngcontent-%COMP%]::-webkit-outer-spin-button, fieldset.otc[_ngcontent-%COMP%]   input[_ngcontent-%COMP%]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}fieldset.otc[_ngcontent-%COMP%]   label[_ngcontent-%COMP%], fieldset.otc[_ngcontent-%COMP%]   legend[_ngcontent-%COMP%]{border:0!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}"]})}}return o})()},{path:"password",component:(()=>{class o{constructor(){this.loginService=(0,e.WQX)(v),this.authService=(0,e.WQX)(_.k),this.passwordForm=new a.gE({_csrf:new a.MJ(this.authService.csrfToken),angular:new a.MJ("1"),update:new a.MJ("1"),redirect:new a.MJ(this.loginService.$redirect()),email:new a.MJ(this.loginService.$urlEmail(),[a.k0.required,a.k0.email]),password:new a.MJ("",[a.k0.required])}),this.$formEmailErrors=(0,e.vPA)([]),this.$formPasswordErrors=(0,e.vPA)([])}validateEmail(){this.$formEmailErrors.set(C.getErrorValidationMessages("Email",this.passwordForm.controls.email.errors))}validatePassword(){this.$formPasswordErrors.set(C.getErrorValidationMessages("Password",this.passwordForm.controls.password.errors))}validateForm(){this.validateEmail(),this.validatePassword()}onSubmit(){this.validateForm(),this.passwordForm.valid&&(this.formPasswordRef?.nativeElement.submit(),this.passwordForm.disable())}ngAfterViewInit(){(this.loginService.$urlEmail()?this.passwordInputRef:this.emailAddressInputRef)?.nativeElement.focus()}static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275cmp=e.VBU({type:o,selectors:[["app-auth-login-password"]],viewQuery:function(n,i){if(1&n&&(e.GBs(ct,5),e.GBs(pt,5),e.GBs(dt,5)),2&n){let r;e.mGM(r=e.lsd())&&(i.formPasswordRef=r.first),e.mGM(r=e.lsd())&&(i.emailAddressInputRef=r.first),e.mGM(r=e.lsd())&&(i.passwordInputRef=r.first)}},decls:21,vars:14,consts:[["formPassword",""],["emailAddressInput",""],["passwordInput",""],[1,"text-center","text-2xl","font-semibold","leading-none","mb-8"],["ngNoForm","","action","/student_login","method","post",1,"grid","grid-cols-1","gap-6",3,"formGroup"],["type","hidden","name","angular",3,"formControlName"],["type","hidden","name","update",3,"formControlName"],["type","hidden","name","_csrf",3,"formControlName"],["type","hidden","name","redirect",3,"formControlName"],[1,"grid","grid-cols-1","gap-3"],["name","email","autocomplete","email","placeholder","Email address","type","email",1,"cg-input",3,"blur","formControlName"],[1,"invalid-feedback"],["name","password","autocomplete","current-password","placeholder","Password","type","password",1,"cg-input",3,"blur","formControlName"],[1,"invalid-feedback",2,"display","block"],["type","submit",1,"btn","btn-theme","w-full","rounded-full","btn-lg",3,"click"],["class","my-3",4,"ngFor","ngForOf"],[3,"showSeparator","showCreateAccount","showForgotPassword","showLegal"],[4,"ngFor","ngForOf"],[1,"my-3"],[3,"type"]],template:function(n,i){if
1(1&n){const r=e.RV6();e.j41(0,"h1",3),e.EFF(1,"Login"),e.k0s(),e.j41(2,"form",4,0),e.nrm(4,"input",5)(5,"input",6)(6,"input",7)(7,"input",8),e.j41(8,"div",9)(9,"div")(10,"input",10,1),e.bIt("blur",function(){return e.eBV(r),e.Njj(i.validateEmail())}),e.k0s(),e.DNE(12,ht,3,1,"div",11),e.k0s(),e.j41(13,"div")(14,"input",12,2),e.bIt("blur",function(){return e.eBV(r),e.Njj(i.validatePassword())}),e.k0s(),e.DNE(16,gt,3,1,"div",13),e.k0s()(),e.j41(17,"button",14),e.bIt("click",function(){return e.eBV(r),e.Njj(i.onSubmit())}),e.EFF(18,"Sign in"),e.k0s(),e.DNE(19,ft,3,2,"div",15),e.k0s(),e.nrm(20,"app-auth-login-footer",16)}2&n&&(e.R7$(2),e.Y8G("formGroup",i.passwordForm),e.R7$(2),e.Y8G("formControlName","angular"),e.R7$(),e.Y8G("formControlName","update"),e.R7$(),e.Y8G("formControlName","_csrf"),e.R7$(),e.Y8G("formControlName","redirect"),e.R7$(3),e.Y8G("formControlName","email"),e.R7$(2),e.vxM(12,i.$formEmailErrors().length>0?12:-1),e.R7$(2),e.Y8G("formControlName","password"),e.R7$(2),e.vxM(16,i.$formPasswordErrors().length>0?16:-1),e.R7$(3),e.Y8G("ngForOf",i.loginService.$errorMessages()),e.R7$(),e.Y8G("showSeparator",!0)("showCreateAccount",!0)("showForgotPassword",!0)("showLegal",!0))},dependencies:[h.Sq,T.M,a.me,a.BC,a.cb,a.j4,a.JD,A],styles:["[_nghost-%COMP%]{display:block}"]})}}return o})()}],component:Z}],data:{public:!0}},{path:"**",redirectTo:"login"}];let vt=(()=>{class o{static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275mod=e.$C({type:o})}static{this.\u0275inj=e.G2t({imports:[p.iI.forChild(_t),p.iI]})}}return o})();var Ct=c(8423),bt=c(3887);let yt=(()=>{class o{static{this.\u0275fac=function(n){return new(n||o)}}static{this.\u0275mod=e.$C({type:o})}static{this.\u0275inj=e.G2t({providers:[v],imports:[vt,h.MD,Ct.U,a.X1,Ve,k.An,bt.G]})}}return o})()},7583:(G,$,c)=>{c.d($,{M:()=>P});var p=c(4438),e=c(177),f=c(65);const F=["*"];let P=(()=>{class y{constructor(){this.icon="information"}ngOnInit(){"danger"===this.type?this.icon="close-circle":"warning"===this.type?this.icon="alert-circle":"success"===this.type?this.icon="check-circle":"info"===this.type?this.icon="information":(this.icon="information",this.type="primary")}static{this.\u0275fac=function(_){return new(_||y)}}static{this.\u0275cmp=p.VBU({type:y,selectors:[["app-core-message-box"]],inputs:{type:"type"},ngContentSelectors:F,decls:4,vars:2,consts:[[1,"flex","items-center","rounded-lg","p-2","box","gap-1.5",3,"ngClass"],[1,"text-xl",3,"svgIcon"],[1,"flex-1"]],template:function(_,m){1&_&&(p.NAR(),p.j41(0,"div",0),p.nrm(1,"mat-icon",1),p.j41(2,"div",2),p.SdG(3),p.k0s()()),2&_&&(p.Y8G("ngClass",m.type),p.R7$(),p.Y8G("svgIcon",m.icon))},dependencies:[e.YU,f.An],styles:["[_nghost-%COMP%]{display:block;width:100%}.box.secondary[_ngcontent-%COMP%]{background-color:#e2e3e5;color:#2b2f32}.box.primary[_ngcontent-%COMP%]{background-color:#ccdff2;color:#00264c}.box.success[_ngcontent-%COMP%]{background-color:#dbe6cf;color:#1e3507}.box.info[_ngcontent-%COMP%]{background-color:#cff4fc;color:#055160}.box.warning[_ngcontent-%COMP%]{background-color:#fff3cd;color:#664d03}.box.caution[_ngcontent-%COMP%]{background-color:#f6dace;color:#531c05}.box.danger[_ngcontent-%COMP%]{background-color:#f1d2d2;color:#490b0b}mat-icon[_ngcontent-%COMP%]{font-size:1.25rem}"]})}}return y})()}}]);

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.