@nowzoo/ngx-firebase-auth
Version:
Angular components for Firebase email-first sign in and out-of-band (oob) actions (reset password, etc).
1 lines • 54.6 kB
JSON
{"__symbolic":"module","version":4,"metadata":{"ISignInMethodsForEmailResult":{"__symbolic":"interface"},"INgxFirebaseAuthRememberRecord":{"__symbolic":"interface"},"fadeInOutAnimation":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":17,"character":60},"arguments":["fadeInOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":18,"character":2},"arguments":["in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":18,"character":14},"arguments":[{"opacity":1,"display":"block"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":19,"character":2},"arguments":["void => *",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":20,"character":4},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":21,"character":4},"arguments":[300]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":23,"character":2},"arguments":["* => void",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":24,"character":4},"arguments":[300,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":24,"character":17},"arguments":[{"opacity":0}]}]}]]}]]},"screenAnimation":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":28,"character":57},"arguments":["screen",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":29,"character":2},"arguments":["in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":29,"character":14},"arguments":[{"opacity":1}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":30,"character":2},"arguments":["void => *",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":31,"character":4},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":32,"character":4},"arguments":[300]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":34,"character":2},"arguments":["* => void",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":35,"character":4},"arguments":[0,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":35,"character":15},"arguments":[{"opacity":0}]}]}]]}]]},"getOAuthProviderName":{"__symbolic":"error","message":"Lambda not supported","line":39,"character":36,"module":"./lib/shared"},"getOAuthProviderIcon":{"__symbolic":"error","message":"Lambda not supported","line":49,"character":36,"module":"./lib/shared"},"INgxFirebaseAuthOobSuccess":{"__symbolic":"interface"},"NgxFirebaseAuthService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angularfire2/auth","name":"AngularFireAuth","line":12,"character":21}]}],"getRemembered":[{"__symbolic":"method"}],"setRemembered":[{"__symbolic":"method"}]},"statics":{"rememberKey":"ngx-firebase-auth-remember","ngInjectableDef":{}}},"SignInComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"ngx-firebase-auth-sign-in","template":"<div *ngIf=\"'wait' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-secondary\">\n <i class=\"fas fa-spin fa-spinner fa-fw\" aria-hidden=\"true\"></i>\n Please wait...\n </div>\n</div>\n\n<div *ngIf=\"'unhandledError' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-danger\">\n <i class=\"fas fa-exclamation-triangle fa-fw text-danger\" aria-hidden=\"true\"></i>\n <strong>Woops!</strong> An unexpected error occurred.\n </div>\n <p class=\"text-muted\">\n Code: {{unhandledError.code}}. Message: {{unhandledError.message}}\n </p>\n <p>\n <a routerLink=\".\" [queryParams]=\"{action: 'signIn'}\">Start Over</a>\n </p>\n</div>\n\n\n<div *ngIf=\"'signInSuccess' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-success\">\n <i class=\"fas fa-check fa-fw\" aria-hidden=\"true\"></i>\n Welcome, {{cred.user.displayName}}!\n </div>\n</div>\n\n\n\n\n<div *ngIf=\"'signIn' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-success\" *ngIf=\"signedOut\">\n <i class=\"fas fa-check fa-fw\" aria-hidden=\"true\"></i>\n You’re signed out.\n </div>\n <ngx-firebase-auth-sign-in-methods-form\n [(email)]=\"email\"\n [(remember)]=\"remember\"\n [oAuthProviderIds]=\"oAuthProviderIds\"\n (error)=\"showUnhandledError($event)\"\n (success)=\"showSignInSuccess($event)\"></ngx-firebase-auth-sign-in-methods-form>\n <small class=\"text-center text-muted my-2 form-text\">\n <ng-container *ngTemplateOutlet=\"tosTemplate\"></ng-container>\n </small>\n</div>\n\n<div *ngIf=\"'signInPassword' === screen\" [@screen]=\"'in'\">\n <ngx-firebase-auth-sign-in-form\n [email]=\"email\"\n [(remember)]=\"remember\"\n (error)=\"showUnhandledError($event)\"\n (success)=\"showSignInSuccess($event)\"></ngx-firebase-auth-sign-in-form>\n <small class=\"text-center text-muted my-2 form-text\">\n <ng-container *ngTemplateOutlet=\"tosTemplate\"></ng-container>\n </small>\n</div>\n\n<div *ngIf=\"'signUpPassword' === screen\" [@screen]=\"'in'\">\n <ngx-firebase-auth-sign-up-form\n [email]=\"email\"\n [(remember)]=\"remember\"\n (error)=\"showUnhandledError($event)\"\n (success)=\"showSignInSuccess($event)\"></ngx-firebase-auth-sign-up-form>\n <small class=\"text-center text-muted my-2 form-text\">\n <ng-container *ngTemplateOutlet=\"tosTemplate\"></ng-container>\n </small>\n</div>\n\n<div *ngIf=\"'signInOAuth' === screen\" [@screen]=\"'in'\">\n <ngx-firebase-auth-sign-in-oauth\n [providerId]=\"oAuthProviderId\"\n [initialError]=\"initialOAuthError\"\n [useOAuthPopup]=\"useOAuthPopup\"\n [oAuthProviderFactory]=\"oAuthProviderFactory\"\n [(email)]=\"email\"\n [(remember)]=\"remember\"\n (error)=\"showUnhandledError($event)\"\n (success)=\"showSignInSuccess($event)\"></ngx-firebase-auth-sign-in-oauth>\n <small class=\"text-center text-muted my-2 form-text\">\n <ng-container *ngTemplateOutlet=\"tosTemplate\"></ng-container>\n </small>\n</div>\n\n\n\n<div *ngIf=\"'resetPassword' === screen\" [@screen]=\"'in'\">\n <h6>Reset Password</h6>\n <ngx-firebase-auth-reset-password-send-form\n [(email)]=\"email\"\n (error)=\"showUnhandledError($event)\"></ngx-firebase-auth-reset-password-send-form>\n</div>\n","styles":[""],"animations":[{"__symbolic":"reference","name":"screenAnimation"}]}]}],"members":{"oAuthProviderIds":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":113,"character":3}}]}],"useOAuthPopup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":114,"character":3}}]}],"oAuthProviderFactory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":115,"character":3}}]}],"tosTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":116,"character":3}}]}],"success":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":117,"character":3}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":118,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angularfire2/auth","name":"AngularFireAuth","line":133,"character":21},{"__symbolic":"reference","name":"NgxFirebaseAuthService"},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":135,"character":20},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":136,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"onInitHandleSignOut":[{"__symbolic":"method"}],"onInitHandleOAuthRedirect":[{"__symbolic":"method"}],"showSignOut":[{"__symbolic":"method"}],"showSignIn":[{"__symbolic":"method"}],"showSignInPassword":[{"__symbolic":"method"}],"showSignUpPassword":[{"__symbolic":"method"}],"showSignInOAuth":[{"__symbolic":"method"}],"showSignInSuccess":[{"__symbolic":"method"}],"showResetPassword":[{"__symbolic":"method"}],"showUnhandledError":[{"__symbolic":"method"}]}},"OobComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"ngx-firebase-auth-oob","template":"<div *ngIf=\"'resetPassword' === screen\" [@screen]=\"'in'\">\n <ngx-firebase-auth-oob-reset-password\n [oobCode]=\"oobCode\"\n (success)=\"success.emit($event)\"></ngx-firebase-auth-oob-reset-password>\n</div>\n\n<div *ngIf=\"'verifyEmail' === screen\" [@screen]=\"'in'\">\n <ngx-firebase-auth-oob-verify-email\n [oobCode]=\"oobCode\"\n (success)=\"success.emit($event)\"></ngx-firebase-auth-oob-verify-email>\n</div>\n\n<div *ngIf=\"'recoverEmail' === screen\" [@screen]=\"'in'\">\n <ngx-firebase-auth-oob-recover-email\n [oobCode]=\"oobCode\"\n (success)=\"success.emit($event)\"></ngx-firebase-auth-oob-recover-email>\n</div>\n","styles":[""],"animations":[{"__symbolic":"reference","name":"screenAnimation"}]}]}],"members":{"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":3}}]}],"navigationError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":35,"character":3}}]}],"success":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":36,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":40,"character":20}]}],"ngOnInit":[{"__symbolic":"method"}]}},"NgxFirebaseAuthSignInModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":15,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":16,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":17,"character":4},{"__symbolic":"reference","name":"NgxFirebaseAuthModule"}],"declarations":[{"__symbolic":"reference","name":"SignInComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}],"exports":[{"__symbolic":"reference","name":"SignInComponent"}]}]}],"members":{}},"NgxFirebaseAuthOobModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":12,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":15,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":16,"character":4},{"__symbolic":"reference","name":"NgxFirebaseAuthModule"}],"declarations":[{"__symbolic":"reference","name":"OobComponent"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"}],"exports":[{"__symbolic":"reference","name":"OobComponent"}]}]}],"members":{}},"NgxFirebaseAuthModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":9,"character":4}],"providers":[{"__symbolic":"reference","name":"NgxFirebaseAuthService"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"ngx-firebase-auth-sign-in-methods-form","template":"<form [formGroup]=\"fg\">\n <div class=\"form-group\">\n <label [attr.for]=\"formId + 'email'\">Email Address</label>\n <input\n #emailInput\n [attr.id]=\"formId + 'email'\"\n [attr.aria-describedby]=\"formId + 'email'\"\n type=\"email\"\n autocomplete=\"email\"\n placeholder=\"Email Address\"\n formControlName=\"email\"\n (blur)=\"fetch()\"\n (keyup.enter)=\"emailInput.blur()\"\n class=\"form-control\"\n [class.is-invalid]=\"emailFc.touched && emailFc.invalid\">\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.touched && emailFc.hasError('required')\">\n Required.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.touched && emailFc.hasError('email')\">\n Invalid email.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.touched && emailFc.hasError('auth/invalid-email')\">\n Invalid email.\n </div>\n <small class=\"text-muted form-text\" [attr.id]=\"formId + 'email'\" [ngSwitch]=\"fetchStatus\">\n <span *ngSwitchCase=\"'unfetched'\" [@fadeInOut]=\"'in'\">\n To get started, enter your email address.\n If you don’t yet have an account we’ll create one for you.\n </span>\n <span *ngSwitchCase=\"'fetching'\" [@fadeInOut]=\"'in'\">\n <i class=\"fas fa-spin fa-spinner fa-fw\" aria-hidden=\"true\"></i>\n Looking up account...\n </span>\n <span *ngSwitchCase=\"'fetched'\" [@fadeInOut]=\"'in'\">\n <i class=\"fas fa-check fa-fw text-success\" aria-hidden=\"true\"></i>\n <span *ngIf=\"accountExists\">Account found.</span>\n <span *ngIf=\"accountIsNew\">We'll create an account.</span>\n </span>\n </small>\n </div>\n <div class=\"form-group\">\n <div class=\"form-check\">\n <input\n class=\"form-check-input\"\n type=\"checkbox\"\n [value]=\"true\"\n formControlName=\"remember\"\n [attr.id]=\"formId + 'remember'\">\n <label class=\"form-check-label\" [attr.for]=\"formId + 'remember'\">\n Remember me on this device.\n </label>\n </div>\n </div>\n</form>\n<div *ngIf=\"methodsFetched && accountExists\" [@screen]=\"'in'\">\n <small class=\"text-muted mb-1 form-text\">\n <span *ngIf=\"accountHasPassword\">\n <span *ngIf=\"accountOAuthMethods.length === 0\">\n Please sign in with your password...\n </span>\n <span *ngIf=\"accountOAuthMethods.length === 1\">\n Please sign in with your password or your\n linked {{getOAuthProviderName(accountOAuthMethods[0])}} account...\n </span>\n <span *ngIf=\"accountOAuthMethods.length > 1\">\n Please sign in with your password or one of your linked accounts...\n </span>\n </span>\n <span *ngIf=\"!accountHasPassword\">\n <span *ngIf=\"accountOAuthMethods.length === 1\">\n Please sign in with your\n linked {{getOAuthProviderName(accountOAuthMethods[0])}} account...\n </span>\n <span *ngIf=\"accountOAuthMethods.length > 1\">\n Please sign in with one of your linked accounts...\n </span>\n </span>\n\n </small>\n\n <div class=\"list-group\">\n <a\n *ngIf=\"accountHasPassword\"\n routerLink=\".\"\n [queryParams]=\"{action: 'signInPassword'}\"\n class=\"list-group-item list-group-item-action\">\n <i class=\"fas fa-lock fa-fw\" aria-hidden=\"true\"></i>\n <span class=\"ml-2\">\n Sign In with Your Password\n </span>\n </a>\n <a\n *ngFor=\"let id of accountOAuthMethods\"\n routerLink=\".\"\n [queryParams]=\"{action: 'signInOAuth', providerId: id}\"\n class=\"list-group-item list-group-item-action\">\n <i [attr.class]=\"getOAuthProviderIcon(id)\" aria-hidden=\"true\"></i>\n <span class=\"ml-2\">\n Sign In with {{getOAuthProviderName(id)}}\n </span>\n </a>\n </div>\n</div>\n\n<div *ngIf=\"methodsFetched && accountIsNew\" [@screen]=\"'in'\">\n <small class=\"text-muted mb-1 form-text\">\n <span *ngIf=\"oAuthProviderIds.length === 0\">\n Please create an account...\n </span>\n <span *ngIf=\"oAuthProviderIds.length === 1\">\n Please sign up with your\n {{getOAuthProviderName(oAuthProviderIds[0])}} account,\n or create a separate account with a password....\n </span>\n <span *ngIf=\"oAuthProviderIds.length >1\">\n Please sign up with one of the services listed below,\n or create a separate account with a password....\n </span>\n </small>\n <div class=\"list-group\">\n\n <a\n *ngFor=\"let id of oAuthProviderIds\"\n routerLink=\".\"\n [queryParams]=\"{action: 'signInOAuth', providerId: id}\"\n class=\"list-group-item list-group-item-action\">\n <i [attr.class]=\"getOAuthProviderIcon(id)\" aria-hidden=\"true\"></i>\n <span class=\"ml-2\">\n Sign Up with {{getOAuthProviderName(id)}}\n </span>\n </a>\n <a\n routerLink=\".\"\n [queryParams]=\"{action: 'signUpPassword'}\"\n class=\"list-group-item list-group-item-action\">\n <i class=\"fas fa-lock fa-fw\" aria-hidden=\"true\"></i>\n <span class=\"ml-2\">\n Create\n <span *ngIf=\"oAuthProviderIds.length > 0\">\n a Separate\n </span>\n Account\n </span>\n </a>\n </div>\n</div>\n","styles":[""],"animations":[{"__symbolic":"reference","name":"fadeInOutAnimation"},{"__symbolic":"reference","name":"screenAnimation"}]}]}],"members":{"emailInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":168,"character":3},"arguments":["emailInput"]}]}],"email":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":169,"character":3}}]}],"remember":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":170,"character":3}}]}],"oAuthProviderIds":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":171,"character":3}}]}],"emailChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":172,"character":3}}]}],"rememberChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":173,"character":3}}]}],"success":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":174,"character":3}}]}],"error":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":175,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angularfire2/auth","name":"AngularFireAuth","line":188,"character":21},{"__symbolic":"reference","name":"NgxFirebaseAuthService"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":190,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"fetch":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"ngx-firebase-auth-sign-in-form","template":"<form [formGroup]=\"fg\" (ngSubmit)=\"submit()\">\n\n <div class=\"form-group\">\n <label [attr.for]=\"formId + 'email'\">Email Address</label>\n\n <input\n readonly\n #emailInput\n [attr.id]=\"formId + 'email'\"\n [attr.aria-describedby]=\"formId + 'email'\"\n type=\"email\"\n autocomplete=\"email\"\n placeholder=\"Email Address\"\n formControlName=\"email\"\n class=\"form-control\">\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.hasError('required')\">\n Required.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.hasError('email')\">\n Invalid email.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.hasError('auth/invalid-email')\">\n Invalid email.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.hasError('auth/user-not-found')\">\n We could not find an account with that email address.\n <a routerLink=\".\" [queryParams]=\"{action: 'signIn'}\">Create Account</a>\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.hasError('auth/user-disabled')\">\n The account with that email address has been disabled.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.hasError('ngx-firebase-auth/no-password')\">\n The account with that email address does not have a password.\n Please sign in using:\n <span *ngFor=\"let id of methodsForEmail; let isLast = last\">\n <a routerLink=\".\" [queryParams]=\"{action: 'signInOAuth', providerId: id}\">{{getOAuthProviderName(id)}}</a>\n <span *ngIf=\"!isLast\">\n |\n </span>\n </span>\n </div>\n\n <small class=\"text-muted form-text\" [attr.id]=\"formId + 'email'\" >\n Not your email address?\n <a routerLink=\".\" [queryParams]=\"{action: 'signIn'}\">Start Over</a>\n </small>\n </div>\n\n\n <div class=\"form-group\">\n <div class=\"d-flex justify-content-between align-items-end\">\n <label [attr.for]=\"formId + 'password'\">Password</label>\n <small>\n <a (click)=\"$event.preventDefault(); passwordInput.type = 'password' === passwordInput.type ? 'text' : 'password'\"\n href=\"#\" tabindex=\"-1\" class=\"d-inline-block\">\n <span *ngIf=\"'password' === passwordInput.type\">Show</span>\n <span *ngIf=\"'text' === passwordInput.type\">Hide</span>\n </a>\n </small>\n </div>\n <input\n #passwordInput\n [attr.id]=\"formId + 'password'\"\n [attr.aria-describedby]=\"formId + 'password-help'\"\n type=\"password\"\n formControlName=\"password\"\n placeholder=\"Password\"\n autocomplete=\"password\"\n class=\"form-control\"\n [class.is-invalid]=\"passwordFc.touched && passwordFc.invalid\">\n <div class=\"invalid-feedback\"\n *ngIf=\"passwordFc.touched && passwordFc.hasError('required')\"\n [@fadeInOut]=\"'in'\">\n Required.\n </div>\n <div class=\"invalid-feedback\"\n *ngIf=\"passwordFc.touched && passwordFc.hasError('auth/wrong-password')\"\n [@fadeInOut]=\"'in'\">\n Wrong password.\n </div>\n <small [attr.id]=\"formId + 'password-help'\" class=\"form-text text-muted\">\n Forgot? <a routerLink=\".\" [queryParams]=\"{action: 'resetPassword'}\">Reset Password</a>\n </small>\n </div>\n <div class=\"form-group\">\n <div class=\"form-check\">\n <input\n class=\"form-check-input\"\n type=\"checkbox\"\n [value]=\"true\"\n formControlName=\"remember\"\n [attr.id]=\"formId + 'remember'\">\n <label class=\"form-check-label\" [attr.for]=\"formId + 'remember'\">\n Remember me on this device.\n </label>\n </div>\n </div>\n <div class=\"form-group\">\n <button type=\"submit\"\n class=\"btn btn-success btn-block\"\n [disabled]=\"fg.invalid || submitting\">\n <i class=\"fas fa-lock fa-fw\" aria-hidden=\"true\"></i>\n Sign In\n </button>\n </div>\n</form>\n","styles":[""],"animations":[{"__symbolic":"reference","name":"fadeInOutAnimation"}]}]}],"members":{"passwordInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":130,"character":3},"arguments":["passwordInput"]}]}],"email":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":131,"character":3}}]}],"remember":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":132,"character":3}}]}],"rememberChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":133,"character":3}}]}],"success":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":134,"character":3}}]}],"error":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":135,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angularfire2/auth","name":"AngularFireAuth","line":147,"character":21},{"__symbolic":"reference","name":"NgxFirebaseAuthService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"ngx-firebase-auth-sign-up-form","template":"<form [formGroup]=\"fg\" (ngSubmit)=\"submit()\">\n <div class=\"form-group\">\n <label [attr.for]=\"formId + 'email'\">Email Address</label>\n <input\n readonly\n #emailInput\n [attr.id]=\"formId + 'email'\"\n [attr.aria-describedby]=\"formId + 'email'\"\n type=\"email\"\n autocomplete=\"email\"\n placeholder=\"Email Address\"\n formControlName=\"email\"\n class=\"form-control\">\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.hasError('required')\">\n Required.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.hasError('email')\">\n Invalid email.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.hasError('auth/invalid-email')\">\n Invalid email.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.hasError('ngx-firebase-auth/account-exists')\">\n We found an account with that email address.\n <a routerLink=\".\" [queryParams]=\"{action: 'signIn'}\">Sign In</a>\n </div>\n <small class=\"text-muted form-text\" [attr.id]=\"formId + 'email'\" >\n Not your email address?\n <a routerLink=\".\" [queryParams]=\"{action: 'signIn'}\">Go Back</a>\n </small>\n </div>\n\n <div class=\"form-group\">\n <div class=\"d-flex justify-content-between align-items-end\">\n <label [attr.for]=\"formId + 'password'\">Choose Password</label>\n <small>\n <a (click)=\"$event.preventDefault(); passwordInput.type = 'password' === passwordInput.type ? 'text' : 'password'\"\n href=\"#\" tabindex=\"-1\" class=\"d-inline-block\">\n <span *ngIf=\"'password' === passwordInput.type\">Show</span>\n <span *ngIf=\"'text' === passwordInput.type\">Hide</span>\n </a>\n </small>\n </div>\n <input\n #passwordInput\n [attr.id]=\"formId + 'password'\"\n [attr.aria-describedby]=\"formId + 'password-help'\"\n type=\"password\"\n formControlName=\"password\"\n placeholder=\"Choose Password\"\n autocomplete=\"password\"\n class=\"form-control\"\n [class.is-invalid]=\"passwordFc.touched && passwordFc.invalid\">\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"passwordFc.touched && passwordFc.hasError('required')\">\n Required.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"passwordFc.touched && passwordFc.hasError('auth/wrong-password')\">\n Wrong password.\n </div>\n <small [attr.id]=\"formId + 'password-help'\" class=\"form-text text-muted\">\n Please choose a strong password.\n </small>\n </div>\n <div class=\"form-group\">\n <label [attr.for]=\"formId + 'name'\">Your Name</label>\n <input\n [attr.id]=\"formId + 'name'\"\n type=\"text\"\n formControlName=\"name\"\n placeholder=\"Your Name\"\n class=\"form-control\"\n [class.is-invalid]=\"nameFc.touched && nameFc.invalid\">\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"nameFc.touched && nameFc.hasError('required')\">\n Required.\n </div>\n </div>\n <div class=\"form-group\">\n <div class=\"form-check\">\n <input\n class=\"form-check-input\"\n type=\"checkbox\"\n [value]=\"true\"\n formControlName=\"remember\"\n [attr.id]=\"formId + 'remember'\">\n <label class=\"form-check-label\" [attr.for]=\"formId + 'remember'\">\n Remember me on this device.\n </label>\n </div>\n </div>\n <div class=\"form-group\">\n <button type=\"submit\"\n class=\"btn btn-success btn-block\"\n [disabled]=\"fg.invalid || submitting\">\n <i class=\"fas fa-lock fa-fw\" aria-hidden=\"true\"></i>\n Create Account\n </button>\n </div>\n</form>\n","styles":[""],"animations":[{"__symbolic":"reference","name":"fadeInOutAnimation"}]}]}],"members":{"passwordInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":121,"character":3},"arguments":["passwordInput"]}]}],"email":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":122,"character":3}}]}],"remember":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":123,"character":3}}]}],"rememberChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":124,"character":3}}]}],"success":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":125,"character":3}}]}],"error":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":126,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angularfire2/auth","name":"AngularFireAuth","line":136,"character":21},{"__symbolic":"reference","name":"NgxFirebaseAuthService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"ngx-firebase-auth-reset-password-send-form","template":"<form [formGroup]=\"fg\" (ngSubmit)=\"submit()\">\n <div *ngIf=\"sent\" [@fadeInOut]=\"'in'\">\n <div class=\"alert alert-success\">\n <i class=\"fas fa-check fa-fw\" aria-hidden=\"true\"></i>\n We’ve sent a reset password link to {{sent}}.\n Please allow a few moments for the email to arrive.\n </div>\n </div>\n\n <div class=\"form-group\">\n <label [attr.for]=\"formId + 'email'\">Email Address</label>\n <input\n #emailInput\n [attr.id]=\"formId + 'email'\"\n [attr.aria-describedby]=\"formId + 'email-help'\"\n type=\"email\"\n formControlName=\"email\"\n class=\"form-control\"\n [class.is-invalid]=\"emailFc.touched && emailFc.invalid\">\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.touched && emailFc.hasError('required')\">\n Required.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.touched && emailFc.hasError('auth/user-not-found')\">\n We could not find an account with that email address.\n Please <a routerLink=\".\" [queryParams]=\"{action: 'signIUpPassword'}\">sign up</a>.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.touched && emailFc.hasError('email')\">\n Invalid email.\n </div>\n <div class=\"invalid-feedback\" [@fadeInOut]=\"'in'\"\n *ngIf=\"emailFc.touched && emailFc.hasError('auth/invalid-email')\">\n Invalid email.\n </div>\n <small [attr.id]=\"formId + 'email-help'\" class=\"form-text text-muted\">\n Enter the email address you used to sign up. We’ll\n send a reset password link to that address.\n </small>\n </div>\n <div class=\"form-group\">\n <button type=\"submit\"\n class=\"btn btn-block btn-success\"\n [disabled]=\"fg.invalid || submitting\">\n <i class=\"fas fa-fw fa-envelope\" aria-hidden=\"true\"></i>\n Send Link\n </button>\n </div>\n</form>\n","styles":[""],"animations":[{"__symbolic":"reference","name":"fadeInOutAnimation"}]}]}],"members":{"emailInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":65,"character":3},"arguments":["emailInput"]}]}],"email":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"emailChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":67,"character":3}}]}],"error":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":68,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angularfire2/auth","name":"AngularFireAuth","line":76,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"ngx-firebase-auth-sign-in-oauth","template":"<div *ngIf=\"'wait' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-secondary\">\n <i class=\"fas fa-spin fa-spinner fa-fw\" aria-hidden=\"true\"></i>\n Please wait...\n </div>\n</div>\n\n<div *ngIf=\"'methodError' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-danger\">\n <i class=\"fas fa-exclamation-triangle fa-fw\" aria-hidden=\"true\"></i>\n We could not sign you in with {{methodError.credential.providerId}}.\n </div>\n\n <p class=\"text-muted\">\n Please sign in with one of the methods associated with\n {{methodError.email}}:\n </p>\n\n <div class=\"list-group\">\n <a\n *ngIf=\"methodError.accountHasPassword\"\n routerLink=\".\"\n [queryParams]=\"{action: 'signInPassword'}\"\n class=\"list-group-item list-group-item-action\">\n <i class=\"fas fa-unlock\" aria-hidden=\"true\"></i>\n <span class=\"ml-2\">Sign In with Your Password</span>\n </a>\n <button\n *ngFor=\"let id of methodError.accountOAuthMethods\"\n (click)=\"oAuthSignIn(id)\"\n class=\"list-group-item list-group-item-action\">\n <i [attr.class]=\"getOAuthProviderIcon(id)\" aria-hidden=\"true\"></i>\n <span class=\"ml-2\">Sign In with {{getOAuthProviderName(id)}}</span>\n </button>\n </div>\n\n <form [formGroup]=\"fg\">\n <div class=\"form-group\">\n <div class=\"form-check\">\n <input\n class=\"form-check-input\"\n type=\"checkbox\"\n [value]=\"true\"\n formControlName=\"remember\"\n [attr.id]=\"formId + 'remember'\">\n <label class=\"form-check-label\" [attr.for]=\"formId + 'remember'\">\n Remember me on this device.\n </label>\n </div>\n </div>\n </form>\n\n <p class=\"text-muted\">\n Is {{methodError.email}} not your email address?\n <a routerLink=\".\" [queryParams]=\"{action: 'signIn'}\">Start Over</a>\n </p>\n\n</div>\n\n<div *ngIf=\"'retry' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-danger\">\n <i class=\"fas fa-exclamation-triangle fa-fw\" aria-hidden=\"true\"></i>\n It looks like you cancelled signing in with\n {{getOAuthProviderName(providerId)}}. Try again:\n </div>\n\n <div class=\"list-group\">\n <button\n (click)=\"oAuthSignIn(providerId)\"\n class=\"list-group-item list-group-item-action\">\n <i [attr.class]=\"getOAuthProviderIcon(providerId)\" aria-hidden=\"true\"></i>\n <span class=\"ml-2\">Sign In with {{getOAuthProviderName(providerId)}}</span>\n </button>\n </div>\n\n <form [formGroup]=\"fg\">\n <div class=\"form-group\">\n <div class=\"form-check\">\n <input\n class=\"form-check-input\"\n type=\"checkbox\"\n [value]=\"true\"\n formControlName=\"remember\"\n [attr.id]=\"formId + 'remember'\">\n <label class=\"form-check-label\" [attr.for]=\"formId + 'remember'\">\n Remember me on this device.\n </label>\n </div>\n </div>\n </form>\n\n\n <p class=\"text-muted\">\n <a routerLink=\".\" [queryParams]=\"{action: 'signIn'}\">Start Over</a>\n </p>\n\n</div>\n","styles":[""],"animations":[{"__symbolic":"reference","name":"screenAnimation"}]}]}],"members":{"providerId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":116,"character":3}}]}],"initialError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":117,"character":3}}]}],"useOAuthPopup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":118,"character":3}}]}],"oAuthProviderFactory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}}]}],"email":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":3}}]}],"remember":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":121,"character":3}}]}],"success":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":122,"character":3}}]}],"emailChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":123,"character":3}}]}],"rememberChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":124,"character":3}}]}],"error":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":125,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angularfire2/auth","name":"AngularFireAuth","line":137,"character":21},{"__symbolic":"reference","name":"NgxFirebaseAuthService"},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":139,"character":20},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":140,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"oAuthSignIn":[{"__symbolic":"method"}],"handleOAuthError":[{"__symbolic":"method"}],"getOAuthProvider":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"ngx-firebase-auth-oob-recover-email","template":"\n\n<div *ngIf=\"'wait' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-secondary\">\n <i class=\"fas fa-spin fa-spinner fa-fw\" aria-hidden=\"true\"></i>\n Please wait...\n </div>\n</div>\n\n\n<div *ngIf=\"'success' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-success\">\n <i class=\"fas fa-check fa-fw\" aria-hidden=\"true\"></i>\n Your email has been changed back to {{info.data.email}};\n </div>\n</div>\n\n<div *ngIf=\"screen === 'form'\" [@screen]=\"'in'\">\n <div class=\"form-group\">\n <p>\n Are you sure you want to change your email back to\n {{info.data.email}} from {{info.data.fromEmail}}?\n </p>\n <button\n type=\"button\"\n [disabled]=\"submitting\"\n (click)=\"submit()\"\n class=\"btn btn-block btn-success\">\n <i class=\"fas fa-save fa-fw\" aria-hidden=\"true\"></i>\n Yes, Continue\n </button>\n </div>\n</div>\n\n\n\n<div *ngIf=\"screen === 'error'\" [@screen]=\"'in'\">\n <div class=\"alert alert-danger\">\n <p>\n <i class=\"fas fa-exclamation-triangle fa-fw\" aria-hidden=\"true\"></i>\n Woops! An error occurred.\n </p>\n <div [ngSwitch]=\"unhandledError.code\">\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/expired-action-code'\">\n The recover email link you used has expired.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/invalid-action-code'\">\n The recover email link you used is not valid. This may be because it\n has already been used.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/user-disabled'\">\n The account associated with the recover email link you used has been disabled.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/user-not-found'\">\n The account associated with the recover email link you used has been removed.\n </p>\n <div *ngSwitchDefault>\n <p>Code: {{unhandledError.code}}</p>\n <p class=\"mb-0\">\n Message: {{unhandledError.message}}\n </p>\n </div>\n </div>\n </div>\n</div>\n","styles":[""],"animations":[{"__symbolic":"reference","name":"screenAnimation"}]}]}],"members":{"oobCode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":3}}]}],"success":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":81,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angularfire2/auth","name":"AngularFireAuth","line":89,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"ngx-firebase-auth-oob-reset-password","template":"<div *ngIf=\"'wait' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-secondary\">\n <i class=\"fas fa-spin fa-spinner fa-fw\" aria-hidden=\"true\"></i>\n Please wait...\n </div>\n</div>\n\n<div *ngIf=\"'success' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-success\">\n <i class=\"fas fa-check fa-fw\" aria-hidden=\"true\"></i>\n Welcome, {{cred.user.displayName}}!\n Your new password has been saved and you are signed in.\n </div>\n</div>\n\n<div *ngIf=\"screen === 'error'\" [@screen]=\"'in'\">\n <div class=\"alert alert-danger\">\n <p>\n <i class=\"fas fa-exclamation-triangle fa-fw\" aria-hidden=\"true\"></i>\n Woops! An error occurred.\n </p>\n <div [ngSwitch]=\"unhandledError.code\">\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/expired-action-code'\">\n The reset password link you used has expired.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/invalid-action-code'\">\n The reset password link you used is not valid. This may be because it\n has already been used.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/user-disabled'\">\n The account associated with the reset password link you used has been disabled.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/user-not-found'\">\n The account associated with the reset password link you used has been removed.\n </p>\n <div *ngSwitchDefault>\n <p>Code: {{unhandledError.code}}</p>\n <p class=\"mb-0\">\n Message: {{unhandledError.message}}\n </p>\n </div>\n </div>\n </div>\n</div>\n\n\n<div *ngIf=\"'form' === screen\" [@screen]=\"'in'\">\n <form [formGroup]=\"fg\" (ngSubmit)=\"submit()\">\n <div class=\"form-group\">\n <label [attr.for]=\"formId + 'email'\">Email Address</label>\n\n <input\n readonly\n #emailInput\n [attr.id]=\"formId + 'email'\"\n [attr.aria-describedby]=\"formId + 'email'\"\n type=\"email\"\n autocomplete=\"email\"\n placeholder=\"Email Address\"\n formControlName=\"email\"\n class=\"form-control\">\n <small class=\"text-muted form-text\" [attr.id]=\"formId + 'email'\" >\n You are resetting the password for {{emailFc.value}}.\n </small>\n </div>\n\n <div class=\"form-group\">\n <div class=\"d-flex justify-content-between align-items-end\">\n <label [attr.for]=\"formId + 'password'\">Password</label>\n <small>\n <a (click)=\"$event.preventDefault(); passwordInput.type = 'password' === passwordInput.type ? 'text' : 'password'\"\n href=\"#\" tabindex=\"-1\" class=\"d-inline-block\">\n <span *ngIf=\"'password' === passwordInput.type\">Show</span>\n <span *ngIf=\"'text' === passwordInput.type\">Hide</span>\n </a>\n </small>\n </div>\n <input\n #passwordInput\n [attr.id]=\"formId + 'password'\"\n [attr.aria-describedby]=\"formId + 'password-help'\"\n type=\"password\"\n formControlName=\"password\"\n placeholder=\"Password\"\n autocomplete=\"password\"\n class=\"form-control\"\n [class.is-invalid]=\"passwordFc.touched && passwordFc.invalid\">\n <div class=\"invalid-feedback\" *ngIf=\"passwordFc.touched && passwordFc.hasError('required')\">\n Required.\n </div>\n <div class=\"invalid-feedback\" *ngIf=\"passwordFc.touched && passwordFc.hasError('auth/weak-password')\">\n That password is too weak.\n </div>\n <small [attr.id]=\"formId + 'password-help'\" class=\"form-text text-muted\">\n Please choose a strong password.\n </small>\n </div>\n <div class=\"form-group\">\n <div class=\"form-check\">\n <input\n class=\"form-check-input\"\n type=\"checkbox\"\n [value]=\"true\"\n formControlName=\"remember\"\n [attr.id]=\"formId + 'remember'\">\n <label class=\"form-check-label\" [attr.for]=\"formId + 'remember'\">\n Remember me on this device.\n </label>\n </div>\n </div>\n <div class=\"form-group\">\n <button type=\"submit\"\n class=\"btn btn-success btn-block\"\n [disabled]=\"fg.invalid || submitting\">\n <i class=\"fas fa-save fa-fw\" aria-hidden=\"true\"></i>\n Save Password and Sign In\n </button>\n </div>\n </form>\n</div>\n","styles":[""],"animations":[{"__symbolic":"reference","name":"screenAnimation"}]}]}],"members":{"oobCode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":137,"character":3}}]}],"success":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":138,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angularfire2/auth","name":"AngularFireAuth","line":151,"character":21},{"__symbolic":"reference","name":"NgxFirebaseAuthService"}]}],"ngOnInit":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"ngx-firebase-auth-oob-verify-email","template":"<div *ngIf=\"'wait' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-secondary\">\n <i class=\"fas fa-spin fa-spinner fa-fw\" aria-hidden=\"true\"></i>\n Please wait...\n </div>\n</div>\n\n<div *ngIf=\"'success' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-success\">\n <i class=\"fas fa-check fa-fw\" aria-hidden=\"true\"></i>\n The email {{info.data.email}} has been verified.\n </div>\n</div>\n\n<div *ngIf=\"screen === 'error'\" [@screen]=\"'in'\">\n <div class=\"alert alert-danger\">\n <p>\n <i class=\"fas fa-exclamation-triangle fa-fw\" aria-hidden=\"true\"></i>\n Woops! An error occurred.\n </p>\n <div [ngSwitch]=\"unhandledError.code\">\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/expired-action-code'\">\n The verify email link you used has expired.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/invalid-action-code'\">\n The verify email link you used is not valid. This may be because it\n has already been used.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/user-disabled'\">\n The account associated with the verify email link you used has been disabled.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/user-not-found'\">\n The account associated with the verify email link you used has been removed.\n </p>\n <div *ngSwitchDefault>\n <p>Code: {{unhandledError.code}}</p>\n <p class=\"mb-0\">\n Message: {{unhandledError.message}}\n </p>\n </div>\n </div>\n </div>\n</div>\n","styles":[""],"animations":[{"__symbolic":"reference","name":"screenAnimation"}]}]}],"members":{"oobCode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"success":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angularfire2/auth","name":"AngularFireAuth","line":67,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}]}}},"origins":{"ISignInMethodsForEmailResult":"./lib/shared","INgxFirebaseAuthRememberRecord":"./lib/shared","fadeInOutAnimation":"./lib/shared","screenAnimation":"./lib/shared","getOAuthProviderName":"./lib/shared","getOAuthProviderIcon":"./lib/shared","INgxFirebaseAuthOobSuccess":"./lib/shared","NgxFirebaseAuthService":"./lib/ngx-firebase-auth.service","SignInComponent":"./lib/sign-in/sign-in.component","OobComponent":"./lib/oob/oob.component","NgxFirebaseAuthSignInModule":"./lib/sign-in/ngx-firebase-auth-sign-in.module","NgxFirebaseAuthOobModule":"./lib/oob/ngx-firebase-auth-oob.module","NgxFirebaseAuthModule":"./lib/ngx-firebase-auth.module","ɵa":"./lib/sign-in/sign-in-methods-form/sign-in-methods-form.component","ɵb":"./lib/sign-in/sign-in-form/sign-in-form.component","ɵc":"./lib/sign-in/sign-up-form/sign-up-form.component","ɵd":"./lib/sign-in/reset-password-send-form/reset-password-send-form.component","ɵe":"./lib/sign-in/sign-in-oauth/sign-in-oauth.component","ɵf":"./lib/oob/oob-recover-email/oob-recover-email.component","ɵg":"./lib/oob/oob-reset-password/oob-reset-password.component","ɵh":"./lib/oob/oob-verify-email/oob-verify-email.component"},"importAs":"@nowzoo/ngx-firebase-auth"}