{"__symbolic":"module","version":4,"metadata":{"ɵa":{"toastMessageOnAuthSuccess":true,"toastMessageOnAuthError":true},"NgxAuthFirebaseUIConfigToken":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":45,"character":48},"arguments":["NgxAuthFirebaseUIConfig"]},"NgxAuthFirebaseUIModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":47,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":49,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":50,"character":4},{"__symbolic":"reference","module":"@angular/flex-layout","name":"FlexLayoutModule","line":51,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":52,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":53,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTabsModule","line":54,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatCardModule","line":55,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatInputModule","line":56,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatButtonModule","line":57,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":58,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatSnackBarModule","line":59,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatDividerModule","line":60,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatChipsModule","line":61,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTooltipModule","line":62,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatDialogModule","line":63,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatCheckboxModule","line":64,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressSpinnerModule","line":65,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressBarModule","line":66,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatDialogModule","line":67,"character":4},{"__symbolic":"reference","module":"@angular/fire/auth","name":"AngularFireAuthModule","line":68,"character":4},{"__symbolic":"reference","module":"@angular/fire/firestore","name":"AngularFirestoreModule","line":69,"character":4}],"exports":[{"__symbolic":"reference","name":"AuthComponent"},{"__symbolic":"reference","name":"UserComponent"},{"__symbolic":"reference","name":"AuthProvidersComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@angular/fire/auth","name":"AngularFireAuthModule","line":76,"character":4},{"__symbolic":"reference","module":"@angular/fire/firestore","name":"AngularFirestoreModule","line":77,"character":4}],"declarations":[{"__symbolic":"reference","name":"AuthComponent"},{"__symbolic":"reference","name":"UserComponent"},{"__symbolic":"reference","name":"AuthProvidersComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"LegalityDialogComponent"}],"entryComponents":[{"__symbolic":"reference","name":"LegalityDialogComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["configFactory","appNameFactory","config"],"defaults":[null,null,{"__symbolic":"reference","name":"ɵa"}],"value":{"ngModule":{"__symbolic":"reference","name":"NgxAuthFirebaseUIModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/fire","name":"FirebaseOptionsToken","line":101,"character":21},"useValue":{"__symbolic":"reference","name":"configFactory"}},{"provide":{"__symbolic":"reference","module":"@angular/fire","name":"FirebaseNameOrConfigToken","line":105,"character":21},"useFactory":{"__symbolic":"reference","name":"appNameFactory"}},{"provide":{"__symbolic":"reference","name":"NgxAuthFirebaseUIConfigToken"},"useValue":{"__symbolic":"reference","name":"config"}},{"__symbolic":"reference","name":"AuthProcessService"},{"__symbolic":"reference","name":"FirestoreSyncService"}]}}}},"AuthComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"ngx-auth-firebaseui","template":"\n    <mat-tab-group [color]=\"color\" [selectedIndex]=\"tabIndex\">\n      <!--Reset password tab-->\n      <mat-tab *ngIf=\"passwordResetWished\" label=\"Reset Password\">\n        <form [formGroup]=\"resetPasswordFormGroup\" (ngSubmit)=\"resetPasswordFormGroup.valid && resetPassword()\">\n\n          <mat-card>\n            <mat-card-header fxLayoutAlign=\"end\">\n              <button mat-icon-button\n                      [color]=\"color\"\n                      matTooltip=\"close\"\n                      matTooltipPosition=\"above\"\n                      (click)=\"passwordResetWished = false\">\n                <mat-icon>close</mat-icon>\n              </button>\n            </mat-card-header>\n\n            <mat-card-content>\n              <mat-form-field class=\"full-width\" [appearance]=\"appearance\">\n                <mat-label>Reset e-mail address to password</mat-label>\n                <input matInput\n                       [readonly]=\"passReset\"\n                       formControlName=\"email\"\n                       title=\"Reset e-mail address to password\"\n                       required>\n                <mat-icon matSuffix [color]=\"color\">email</mat-icon>\n                <mat-error *ngIf=\"resetPasswordEmailFormControl.hasError('required')\">\n                  E-mail is required to reset the password!\n                </mat-error>\n                <mat-error *ngIf=\"resetPasswordEmailFormControl.hasError('pattern')\">\n                  Please enter a valid e-mail address\n                </mat-error>\n              </mat-form-field>\n            </mat-card-content>\n            <mat-card-actions fxLayoutAlign=\"center\">\n              <button mat-raised-button\n                      type=\"submit\"\n                      [color]=\"color\"\n                      [disabled]=\"passReset\">\n                Reset\n              </button>\n            </mat-card-actions>\n            <mat-card-footer *ngIf=\"passReset\" fxLayoutAlign=\"center\">\n              <p>Reset requested. Check your e-mail instructions.</p>\n            </mat-card-footer>\n            <mat-card-footer>\n              <mat-progress-bar *ngIf=\"authProcess.isLoading\" mode=\"indeterminate\"></mat-progress-bar>\n            </mat-card-footer>\n          </mat-card>\n        </form>\n      </mat-tab>\n\n      <!--Sign in tab-->\n      <mat-tab label=\"Sign in\">\n        <mat-card>\n          <mat-card-title>Signing in</mat-card-title>\n          <mat-card-content>\n            <form [formGroup]=\"signInFormGroup\"\n                  (ngSubmit)=\"signInFormGroup.valid &&\n                  authProcess.signInWith\n                  (authProviders.EmailAndPassword,signInFormGroup.value.email,signInFormGroup.value.password)\">\n              <div fxLayout=\"column\" fxLayoutAlign=\"center\">\n                <mat-form-field [appearance]=\"appearance\">\n                  <mat-label>E-mail</mat-label>\n                  <input matInput\n                         placeholder=\"E-mail\"\n                         formControlName=\"email\"\n                         required>\n                  <mat-icon matSuffix [color]=\"color\">email</mat-icon>\n                  <mat-error *ngIf=\"signInEmailFormControl.hasError('required')\">\n                    E-mail is required\n                  </mat-error>\n                  <mat-error *ngIf=\"signInEmailFormControl.hasError('pattern')\">\n                    Please enter a valid e-mail address\n                  </mat-error>\n                </mat-form-field>\n\n                <mat-form-field [appearance]=\"appearance\">\n                  <mat-label>Password</mat-label>\n                  <input matInput\n                         type=\"current-password\"\n                         placeholder=\"Password\"\n                         minlength=\"6\"\n                         maxlength=\"25\"\n                         formControlName=\"password\"\n                         required>\n                  <mat-icon matSuffix [color]=\"color\">lock</mat-icon>\n                  <mat-hint align=\"end\" aria-live=\"polite\">\n                    {{signInFormGroup.value.password.length}} / 25\n                  </mat-hint>\n                  <mat-error *ngIf=\"sigInPasswordFormControl.hasError('required')\">\n                    Please do not forget the password\n                  </mat-error>\n                  <mat-error *ngIf=\"sigInPasswordFormControl.hasError('minlength')\">\n                    The password must be at least 6 characters long.\n                  </mat-error>\n                  <mat-error *ngIf=\"sigInPasswordFormControl.hasError('maxlength')\">\n                    The password must not exceed 25 characters\n                  </mat-error>\n                </mat-form-field>\n\n                <button mat-raised-button\n                        style=\"margin-top: 20px\"\n                        type=\"submit\"\n                        class=\"space-top\"\n                        [color]=\"color\">\n                  Log In\n                </button>\n\n              </div>\n            </form>\n\n            <div fxLayoutAlign=\"center\">\n              <button mat-button\n                      class=\"space-top\"\n                      [color]=\"color\"\n                      (click)=\"createForgotPasswordTab()\">\n                Forgot Password?\n              </button>\n            </div>\n\n          </mat-card-content>\n          <mat-card-footer *ngIf=\"authProcess.isLoading\">\n            <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n          </mat-card-footer>\n        </mat-card>\n      </mat-tab>\n\n      <!--tab register-->\n      <mat-tab label=\"Register\">\n        <mat-card>\n          <mat-card-title>Registration</mat-card-title>\n          <div *ngIf=\"!authProcess.emailConfirmationSent;then register else confirm\"></div>\n          <ng-template #register>\n            <mat-card-content fxLayout=\"column\" fxLayoutAlign=\"center\">\n              <form [formGroup]=\"signUpFormGroup\" (ngSubmit)=\"signUpFormGroup.valid &&\n              authProcess.signUp\n              (signUpFormGroup.value.name,signUpFormGroup.value.email,signUpFormGroup.value.password)\">\n                <div fxLayout=\"column\" fxLayoutAlign=\"center\">\n                  <!--name-->\n                  <mat-form-field [appearance]=\"appearance\">\n                    <!--labels will work only with @angular/material@6.2.0 -->\n                    <mat-label>Name</mat-label>\n                    <input matInput\n                           placeholder=\"Name\"\n                           minlength=\"2\"\n                           maxlength=\"30\"\n                           [formControl]=\"sigUpNameFormControl\"\n                           required>\n                    <mat-icon matSuffix [color]=\"color\">person</mat-icon>\n                    <mat-hint align=\"end\" aria-live=\"polite\">\n                      {{signUpFormGroup.value.name?.length}} / 25\n                    </mat-hint>\n                    <mat-error *ngIf=\"sigUpNameFormControl.hasError('required')\">\n                      Name is required\n                    </mat-error>\n                    <mat-error *ngIf=\"sigUpPasswordFormControl.hasError('minlength')\">\n                      The name is too short!\n                    </mat-error>\n                    <mat-error *ngIf=\"sigUpPasswordFormControl.hasError('maxlength')\">\n                      The name is too long!\n                    </mat-error>\n                  </mat-form-field>\n\n                  <!--email-->\n                  <mat-form-field [appearance]=\"appearance\">\n                    <mat-label>E-mail</mat-label>\n                    <input matInput\n                           placeholder=\"E-mail\"\n                           type=\"email\"\n                           [formControl]=\"sigUpEmailFormControl\">\n                    <mat-icon matSuffix [color]=\"color\">email</mat-icon>\n                    <mat-error *ngIf=\"sigUpEmailFormControl.hasError('required')\">\n                      E-mail is required\n                    </mat-error>\n                    <mat-error *ngIf=\"sigUpEmailFormControl.hasError('pattern')\">\n                      Please enter a valid e-mail address\n                    </mat-error>\n                  </mat-form-field>\n\n                  <!--password-->\n                  <div fxLayout=\"column\">\n\n                    <mat-form-field [appearance]=\"appearance\">\n                      <mat-label>Password</mat-label>\n                      <input matInput\n                             type=\"password\"\n                             placeholder=\"password\"\n                             name=\"password\"\n                             [formControl]=\"sigUpPasswordFormControl\"\n                             required>\n                      <mat-icon matSuffix [color]=\"color\">lock</mat-icon>\n\n                      <mat-hint align=\"end\" aria-live=\"polite\">\n                        {{signUpFormGroup.value.password?.length}} / 25\n                      </mat-hint>\n\n                      <mat-error *ngIf=\"sigUpPasswordFormControl.hasError('required')\" class=\"cut-text\">\n                        Please do not forget the password\n                      </mat-error>\n\n                      <mat-error *ngIf=\"sigUpPasswordFormControl.hasError('minlength')\" class=\"cut-text\">\n                        The password must be at least 6 characters long.\n                      </mat-error>\n                      <mat-error *ngIf=\"sigUpPasswordFormControl.hasError('maxlength')\" class=\"cut-text\">\n                        The password can not be longer than 25 characters.\n                      </mat-error>\n\n                    </mat-form-field>\n\n                  </div>\n\n                  <button mat-raised-button\n                          style=\"margin-top: 20px\"\n                          type=\"submit\"\n                          [color]=\"color\">\n                    Register\n                  </button>\n\n                </div>\n              </form>\n\n              <button *ngIf=\"guestEnabled\"\n                      mat-button\n                      style=\"margin-top: 20px\"\n                      [color]=\"color\"\n                      (click)=\"openLegalityDialog(authProvider.ANONYMOUS)\">\n                <mat-icon>fingerprint</mat-icon>\n                continue as guest\n              </button>\n\n            </mat-card-content>\n\n            <mat-card-footer *ngIf=\"authProcess.isLoading\">\n              <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n            </mat-card-footer>\n\n          </ng-template>\n\n          <!--confirm template-->\n          <ng-template #confirm>\n            <ngx-auth-firebaseui-email-confirmation [email]=\"authProcess.emailToConfirm\"\n                                                    [goBackURL]=\"goBackURL\">\n            </ngx-auth-firebaseui-email-confirmation>\n          </ng-template>\n\n        </mat-card>\n      </mat-tab>\n    </mat-tab-group>\n    <mat-divider></mat-divider>\n    <ngx-auth-firebaseui-providers [providers]=\"providers\"></ngx-auth-firebaseui-providers>\n  ","styles":["\n    .mat-card{margin:2rem}.space-top{margin-top:.5rem}.full-width{width:100%}.cut-text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}\n  "]}]}],"members":{"providers":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":280,"character":3}}]}],"appearance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":283,"character":3}}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":286,"character":3}}]}],"guestEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":289,"character":3}}]}],"tosUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":292,"character":3}}]}],"privacyPolicyUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":295,"character":3}}]}],"goBackURL":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":298,"character":3}}]}],"onSuccess":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":301,"character":3}}]}],"onError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":304,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":331,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":331,"character":22}]}],null,null,null],"parameters":[{"__symbolic":"reference","name":"Object"},{"__symbolic":"reference","module":"@angular/fire/auth","name":"AngularFireAuth","line":332,"character":27},{"__symbolic":"reference","name":"AuthProcessService"},{"__symbolic":"reference","module":"@angular/material","name":"MatDialog","line":334,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"createForgotPasswordTab":[{"__symbolic":"method"}],"openLegalityDialog":[{"__symbolic":"method"}],"signUp":[{"__symbolic":"method"}],"signUpAnonymously":[{"__symbolic":"method"}],"resetPassword":[{"__symbolic":"method"}],"_initSignInFormGroupBuilder":[{"__symbolic":"method"}],"_initSignUpFormGroupBuilder":[{"__symbolic":"method"}],"_initResetPasswordFormGroupBuilder":[{"__symbolic":"method"}],"_afterSignUpMiddleware":[{"__symbolic":"method"}]}},"UserComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"ngx-auth-firebaseui-user","template":"\n    <div *ngIf=\"auth.authState| async as user; then authenticated else none\">\n\n    </div>\n\n    <ng-template #authenticated>\n      <mat-card *ngIf=\"auth.user | async as user\">\n        <!--<form [formGroup]=\"updateFormGroup\" >-->\n        <!--card header-->\n        <mat-card-header fxLayout=\"column\" fxLayoutAlign=\"center center\">\n\n          <img mat-card-avatar [src]=\"authProcess?.getUserPhotoUrl()\">\n\n          <div *ngIf=\"user.emailVerified; then emailVerified else emailNotVerified\"></div>\n          <ng-template #emailVerified>\n            <mat-icon color=\"primary\"\n                      matTooltip=\"email is verified\"\n                      matTooltipPosition=\"after\">\n              verified_user\n            </mat-icon>\n          </ng-template>\n          <ng-template #emailNotVerified>\n            <mat-icon color=\"warn\"\n                      matTooltip=\"email is not verified\"\n                      matTooltipPosition=\"after\">\n              warning\n            </mat-icon>\n          </ng-template>\n\n        </mat-card-header>\n\n        <!--card content-->\n        <mat-card-content *ngIf=\"editMode; then edit else readonly\">\n        </mat-card-content>\n\n        <ng-template #edit>\n          <form [formGroup]=\"updateFormGroup\" (submit)=\"save()\">\n\n            <mat-card-content fxLayout=\"column\" fxLayoutAlign=\"center center\">\n              <div fxLayoutAlign=\"center\">\n                <button mat-raised-button color=\"warn\" class=\"edit-button\"\n                        (click)=\"changeEditMode()\">\n                  cancel\n                </button>\n              </div>\n\n              <!--name-->\n              <mat-form-field class=\"full-width\" [appearance]=\"appearance\">\n                <mat-label>Name</mat-label>\n                <input matInput\n                       placeholder=\"Name\"\n                       [formControl]=\"updateNameFormControl\"\n                       [value]=\"user.displayName\">\n                <mat-icon matSuffix>person</mat-icon>\n                <mat-hint align=\"end\" aria-live=\"polite\">\n                  {{updateNameFormControl.value.length}} / 25\n                </mat-hint>\n                <mat-error *ngIf=\"updateNameFormControl.hasError('required')\">\n                  Name is required\n                </mat-error>\n              </mat-form-field>\n\n              <!--email-->\n              <mat-form-field class=\"full-width\" [appearance]=\"appearance\">\n                <mat-label>E-mail</mat-label>\n                <input matInput\n                       placeholder=\"E-mail\"\n                       [formControl]=\"updateEmailFormControl\"\n                       [value]=\"user.email\">\n                <mat-icon matSuffix>email</mat-icon>\n                <mat-error *ngIf=\"updateEmailFormControl.hasError('required')\">\n                  E-mail is required {{updateEmailFormControl.value}}\n                </mat-error>\n                <mat-error *ngIf=\"updateEmailFormControl.hasError('pattern')\">\n                  Please enter a valid e-mail address {{updateEmailFormControl.value}}\n                </mat-error>\n              </mat-form-field>\n\n              <!--phone number-->\n              <mat-form-field class=\"full-width\" [appearance]=\"appearance\">\n                <mat-label>Phone number</mat-label>\n                <input matInput\n                       type=\"number\"\n                       placeholder=\"Phone number\"\n                       [formControl]=\"updatePhoneNumberFormControl\"\n                       [value]=\"user.phoneNumber\">\n                <mat-icon matSuffix>phone</mat-icon>\n                <mat-hint align=\"end\" aria-live=\"polite\">\n                  The phone number is international. Therefore, it should start with a + sign or 00,\n                  followed by the country code, - and national number e.g: +49-12345678 or 0041-1234567890\n\n                  NOTE : the phone number must be a valid phone credential !!\n                </mat-hint>\n                <mat-error *ngIf=\"updatePhoneNumberFormControl.hasError('pattern')\">\n                  Please enter a valid phone number\n                </mat-error>\n              </mat-form-field>\n\n            </mat-card-content>\n\n            <mat-card-actions fxLayout=\"column\">\n              <button mat-button\n                      color=\"primary\"\n                      type=\"submit\">\n                Save changes\n              </button>\n            </mat-card-actions>\n          </form>\n        </ng-template>\n\n        <ng-template #readonly>\n          <div fxLayoutAlign=\"center\">\n            <button mat-raised-button color=\"primary\" class=\"edit-button\"\n                    (click)=\"changeEditMode()\">\n              edit\n            </button>\n          </div>\n\n          <!--name-->\n          <mat-form-field class=\"full-width\" [appearance]=\"appearance\">\n            <mat-label>Name</mat-label>\n            <input matInput\n                   placeholder=\"Name\"\n                   [value]=\"user.displayName\"\n                   [disabled]=\"!editMode\">\n            <mat-icon matSuffix color=\"primary\">person</mat-icon>\n          </mat-form-field>\n\n          <!--email-->\n          <mat-form-field class=\"full-width\" [appearance]=\"appearance\">\n            <mat-label>E-mail</mat-label>\n            <input matInput\n                   placeholder=\"E-mail\" [value]=\"user.email\"\n                   [disabled]=\"!editMode\">\n            <mat-icon matSuffix color=\"primary\">email</mat-icon>\n          </mat-form-field>\n\n          <!--phone number-->\n          <mat-form-field class=\"full-width\" [appearance]=\"appearance\">\n            <mat-label>Phone number</mat-label>\n            <input matInput\n                   placeholder=\"Phone number\"\n                   [value]=\"user.phoneNumber\"\n                   [disabled]=\"!editMode\">\n            <mat-icon matSuffix color=\"primary\">phone</mat-icon>\n          </mat-form-field>\n\n          <mat-card-actions fxLayout=\"column\">\n            <button mat-button color=\"primary\" (click)=\"auth.auth.signOut()\">Sign out</button>\n            <button mat-button color=\"warn\" (click)=\"deleteAccount()\">Delete account</button>\n          </mat-card-actions>\n\n        </ng-template>\n\n      </mat-card>\n\n    </ng-template>\n\n\n    <ng-template #none>\n      <mat-card class=\"none-card\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n        <mat-card-content fxLayout=\"row\" fxLayoutAlign=\"center center\">\n          <mat-icon color=\"accent\">warning</mat-icon>\n          <span>You are not logged in!</span>\n        </mat-card-content>\n      </mat-card>\n    </ng-template>\n  ","styles":["\n    .edit-button{margin:1rem}.full-width{width:100%}.cut-text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.none-card{min-height:430px}.none-card span{font-size:24px;text-align:center;color:rgba(0,0,0,.54)}\n  "]}]}],"members":{"editMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":185,"character":3}}]}],"appearance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":188,"character":3}}]}],"onAccountDeleted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":191,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/fire/auth","name":"AngularFireAuth","line":200,"character":27},{"__symbolic":"reference","name":"AuthProcessService"},{"__symbolic":"reference","name":"FirestoreSyncService"},{"__symbolic":"reference","module":"@angular/material","name":"MatSnackBar","line":203,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"initUpdateFormGroup":[{"__symbolic":"method"}],"changeEditMode":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"deleteAccount":[{"__symbolic":"method"}]}},"AuthProvidersComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"ngx-auth-firebaseui-providers","template":"\n    <div [ngSwitch]=\"theme\">\n\n      <!--default icon buttons-->\n      <div *ngSwitchDefault\n           [fxLayout]=\"layout\"\n           fxLayout.xs=\"column\"\n           [fxLayoutAlign]=\"layout == 'row' ? 'space-around center' : 'stretch'\">\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Google)\"\n                mat-button\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Google)\">\n          <mat-icon svgIcon=\"google-colored\"></mat-icon>\n          Google\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Facebook)\"\n                mat-button\n                class=\"facebook-filled\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Facebook)\">\n          <mat-icon svgIcon=\"facebook\"></mat-icon>\n          Facebook\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Twitter)\"\n                mat-button\n                class=\"twitter-filled\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Twitter)\">\n          <mat-icon svgIcon=\"twitter\"></mat-icon>\n          Twitter\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Github)\"\n                mat-button\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Github)\">\n          <mat-icon svgIcon=\"github\"></mat-icon>\n          GitHub\n        </button>\n      </div>\n\n      <!--classic-->\n      <div *ngSwitchCase=\"themes.CLASSIC\"\n           class=\"buttons-classic\"\n           [fxLayout]=\"layout\"\n           fxLayout.xs=\"column\"\n           [fxLayoutAlign]=\"layout == 'row' ? 'space-around center' : 'stretch'\">\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Google)\"\n                mat-button\n                class=\"google-classic\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Google)\">\n          Google\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Facebook)\"\n                mat-button\n                class=\"facebook-classic\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Facebook)\">\n          Facebook\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Twitter)\"\n                mat-button\n                class=\"twitter-classic\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Twitter)\">\n          Twitter\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Github)\"\n                mat-button\n                class=\"github-classic\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Github)\">\n          GitHub\n        </button>\n      </div>\n\n      <!--stroked-->\n      <div *ngSwitchCase=\"themes.STROKED\"\n           class=\"buttons-classic\"\n           [fxLayout]=\"layout\"\n           fxLayout.xs=\"column\"\n           [fxLayoutAlign]=\"layout == 'row' ? 'space-around center' : 'stretch'\">\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Google)\"\n                mat-stroked-button\n                class=\"google-classic\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Google)\">\n          Google\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Facebook)\"\n                mat-stroked-button\n                class=\"facebook-classic\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Facebook)\">\n          Facebook\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Twitter)\"\n                mat-stroked-button\n                class=\"twitter-classic\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Twitter)\">\n          Twitter\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Github)\"\n                mat-stroked-button\n                class=\"github-classic\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Github)\">\n          GitHub\n        </button>\n      </div>\n\n      <!--raised-->\n      <div *ngSwitchCase=\"themes.RAISED\"\n           class=\"buttons-raised\"\n           [fxLayout]=\"layout\"\n           fxLayout.xs=\"column\"\n           [fxLayoutAlign]=\"layout == 'row' ? 'space-around center' : 'stretch'\">\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Google)\"\n                mat-raised-button\n                class=\"google-raised\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Google)\">\n          Google\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Facebook)\"\n                mat-raised-button\n                class=\"facebook-raised\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Facebook)\">\n          Facebook\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Twitter)\"\n                mat-raised-button\n                class=\"twitter-raised\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Twitter)\">\n          Twitter\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Github)\"\n                mat-raised-button\n                class=\"github-raised\"\n                [ngClass.xs]=\"{'space-full-xs':true}\"\n                (click)=\"authProcess.signInWith(authProvider.Github)\">\n          GitHub\n        </button>\n      </div>\n\n      <!--fab-->\n      <div *ngSwitchCase=\"themes.FAB\"\n           class=\"buttons-raised\"\n           [fxLayout]=\"layout\"\n           [fxLayoutAlign]=\"layout == 'row' ? 'space-around center' : 'stretch'\">\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Google)\"\n                mat-fab\n                class=\"google-raised\"\n                (click)=\"authProcess.signInWith(authProvider.Google)\">\n          <mat-icon svgIcon=\"google\"></mat-icon>\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Facebook)\"\n                mat-fab\n                class=\"facebook-raised\"\n                (click)=\"authProcess.signInWith(authProvider.Facebook)\">\n          <mat-icon svgIcon=\"facebook\"></mat-icon>\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Twitter)\"\n                mat-fab\n                class=\"twitter-raised\"\n                (click)=\"authProcess.signInWith(authProvider.Twitter)\">\n          <mat-icon svgIcon=\"twitter\"></mat-icon>\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Github)\"\n                mat-fab\n                class=\"github-raised\"\n                (click)=\"authProcess.signInWith(authProvider.Github)\">\n          <mat-icon svgIcon=\"github\"></mat-icon>\n        </button>\n      </div>\n\n      <!--mini-fab-->\n      <div *ngSwitchCase=\"themes.MINI_FAB\"\n           class=\"buttons-raised\"\n           [fxLayout]=\"layout\"\n           fxLayoutAlign.xs=\"center center\"\n           [fxLayoutAlign]=\"layout == 'row' ? 'space-around center' : 'stretch'\">\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Google)\"\n                mat-mini-fab\n                class=\"google-raised\"\n                fxFlexAlign=\"center\"\n                (click)=\"authProcess.signInWith(authProvider.Google)\">\n          <mat-icon svgIcon=\"google\"></mat-icon>\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Facebook)\"\n                mat-mini-fab\n                class=\"facebook-raised\"\n                (click)=\"authProcess.signInWith(authProvider.Facebook)\">\n          <mat-icon svgIcon=\"facebook\"></mat-icon>\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Twitter)\"\n                mat-mini-fab\n                class=\"twitter-raised\"\n                (click)=\"authProcess.signInWith(authProvider.Twitter)\">\n          <mat-icon svgIcon=\"twitter\" class=\"icon-white\"></mat-icon>\n        </button>\n        <button *ngIf=\"providers === authProvider.ALL || providers.includes(authProvider.Github)\"\n                mat-mini-fab\n                class=\"github-raised\"\n                (click)=\"authProcess.signInWith(authProvider.Github)\">\n          <mat-icon svgIcon=\"github\"></mat-icon>\n        </button>\n      </div>\n    </div>\n  ","styles":["\n    :host{display:block}:host .mat-icon{vertical-align:inherit}.space-full-xs{width:100%;margin:.4rem}.facebook-filled mat-icon{fill:#385899}.twitter-filled mat-icon{fill:#1da1f2}.buttons-raised button{color:#fff!important}.buttons-raised .google-raised{background-color:#db4437}.buttons-raised .facebook-raised{background-color:#385899}.buttons-raised .twitter-raised{background-color:#1da1f2}.buttons-raised .github-raised{background-color:#000}.buttons-classic button.google-classic{color:#db4437!important}.buttons-classic .facebook-classic{color:#385899!important}.buttons-classic .twitter-classic{color:#1da1f2!important}.buttons-classic .github-classic{color:#000!important}.icon-white{color:#fff}.icon-white mat-icon{fill:#fff}\n  "]}]}],"members":{"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":240,"character":3}}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":244,"character":3}}]}],"providers":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":247,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AuthProcessService"},{"__symbolic":"reference","module":"@angular/material","name":"MatIconRegistry","line":254,"character":37},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":255,"character":34}]}]}},"Theme":{"DEFAULT":"default","CLASSIC":"classic","STROKED":"stroked","FAB":"fab","MINI_FAB":"mini-fab","RAISED":"raised"},"Layout":{"ROW":"row","COLUMN":"column"},"LegalityDialogComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"ngx-auth-firebaseui-legality-dialog","template":"\n    <h1 matDialogTitle>Legal requirements</h1>\n\n    <mat-dialog-content>\n      <div fxLayout=\"column\" fxLayoutAlign=\"start\">\n        <mat-checkbox *ngIf=\"this.data.tosUrl\" [(ngModel)]=\"checkTOS\">\n          I agree to the\n          <span>&nbsp;</span>\n          <a target=\"_blank\"\n             [href]=\"this.data.tosUrl\">\n            Terms of Service and Conditions\n          </a>\n        </mat-checkbox>\n\n        <mat-checkbox *ngIf=\"this.data.privacyPolicyUrl\"\n                      [(ngModel)]=\"checkPrivacyPolicy\">\n          I have read and agree to the\n          <span>&nbsp;</span>\n          <a target=\"_blank\"\n             [href]=\"this.data.privacyPolicyUrl\">\n            Privacy\n          </a>\n        </mat-checkbox>\n      </div>\n    </mat-dialog-content>\n\n    <mat-dialog-actions>\n      <button id=\"decline-action\"\n              mat-raised-button\n              matDialogClose\n              color=\"warn\">Decline</button>\n      <button id=\"confirm-action\"\n              mat-raised-button\n              color=\"primary\"\n              [disabled]=\"disableConfirmActionButton\"\n              (click)=\"closeDialog()\">Confirm\n      </button>\n    </mat-dialog-actions>\n  ","styles":["\n    ::ng-deep .mat-checkbox-label{display:flex;flex-wrap:wrap}mat-dialog-content div{margin-top:1.5rem}mat-dialog-actions{margin-top:1rem}\n  "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":56,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/material","name":"MAT_DIALOG_DATA","line":56,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material","arguments":[{"__symbolic":"reference","name":"LegalityDialogComponent"}]},{"__symbolic":"reference","name":"ɵc"}]}],"closeDialog":[{"__symbolic":"method"}]}},"AuthProcessService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":31,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":40,"character":15},"arguments":[{"__symbolic":"reference","name":"NgxAuthFirebaseUIConfigToken"}]}],null,null,null],"parameters":[{"__symbolic":"reference","name":"NgxAuthFirebaseUIConfig"},{"__symbolic":"reference","module":"@angular/fire/auth","name":"AngularFireAuth","line":42,"character":26},{"__symbolic":"reference","module":"@angular/material","name":"MatSnackBar","line":43,"character":32},{"__symbolic":"reference","name":"FirestoreSyncService"}]}],"resetPassword":[{"__symbolic":"method"}],"signInWith":[{"__symbolic":"method"}],"signUp":[{"__symbolic":"method"}],"updateProfile":[{"__symbolic":"method"}],"deleteAccount":[{"__symbolic":"method"}],"parseUserInfo":[{"__symbolic":"method"}],"getUserPhotoUrl":[{"__symbolic":"method"}],"getPhotoPath":[{"__symbolic":"method"}],"signInWithPhoneNumber":[{"__symbolic":"method"}],"handleSuccess":[{"__symbolic":"method"}],"handleError":[{"__symbolic":"method"}]}},"AuthProvider":{"ALL":"all","ANONYMOUS":"anonymous","EmailAndPassword":"firebase","Google":"google","Facebook":"facebook","Twitter":"twitter","Github":"github","PhoneNumber":"phoneNumber"},"FirestoreSyncService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/fire/firestore","name":"AngularFirestore","line":12,"character":26}]}],"getUserDocRefByUID":[{"__symbolic":"method"}],"getUsersCollectionRef":[{"__symbolic":"method"}],"deleteUserData":[{"__symbolic":"method"}],"updateUserData":[{"__symbolic":"method"}]}},"NgxAuthFirebaseUIConfig":{"__symbolic":"interface"},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"ngx-auth-firebaseui-email-confirmation","template":"\n    <mat-card-content fxLayout=\"column\" fxLayoutAlign=\"center center\">\n      <mat-icon>email</mat-icon>\n      <div class=\"title\">\n        Confirm your e-mail address!\n      </div>\n      <div class=\"subtitle\">\n        <p>A confirmation e-mail has been sent to\n          <b><strong>{{email}}</strong></b>.</p>\n        <p>Check your inbox and click on the link\n                       \"Confirm my e-mail\" to confirm your e-mail address.</p>\n      </div>\n    </mat-card-content>\n\n    <mat-card-actions *ngIf=\"goBackURL\"\n                      fxLayoutAlign=\"center center\">\n      <a mat-button\n         color=\"primary\"\n         [href]=\"goBackURL\">\n        Go back to the sign up page\n      </a>\n    </mat-card-actions>\n  ","styles":["\n    .material-icons{font-size:4rem}.mat-icon{height:4rem;width:4rem;color:rgba(0,0,0,.54)}.title{font-size:20px;margin-top:16px}.subtitle{margin:16px auto;max-width:300px;color:rgba(0,0,0,.54);font-size:15px;text-align:center}.subtitle p{display:block;-webkit-margin-before:1em;-webkit-margin-after:1em;-webkit-margin-start:0;-webkit-margin-end:0}\n  "]}]}],"members":{"email":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"goBackURL":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}]}},"ɵc":{"__symbolic":"interface"}},"origins":{"ɵa":"./module/interfaces/config.interface","NgxAuthFirebaseUIConfigToken":"./module/ngx-auth-firebase-u-i.module","NgxAuthFirebaseUIModule":"./module/ngx-auth-firebase-u-i.module","AuthComponent":"./module/components/auth/auth.component","UserComponent":"./module/components/user/user.component","AuthProvidersComponent":"./module/components/providers/auth.providers.component","Theme":"./module/components/providers/auth.providers.component","Layout":"./module/components/providers/auth.providers.component","LegalityDialogComponent":"./module/components/legality-dialog/legality-dialog.component","AuthProcessService":"./module/services/auth-process.service","AuthProvider":"./module/services/auth-process.service","FirestoreSyncService":"./module/services/firestore-sync.service","NgxAuthFirebaseUIConfig":"./module/interfaces/config.interface","ɵb":"./module/components/email-confirmation/email-confirmation.component","ɵc":"./module/interfaces/legality.dialog.intreface"},"importAs":"ngx-auth-firebaseui"}