{"version":3,"file":"firebaseui-angular.mjs","sources":["../../../projects/firebaseui-angular-library/src/lib/firebaseui-angular-library.service.ts","../../../projects/firebaseui-angular-library/src/lib/firebaseui-angular-library.component.ts","../../../projects/firebaseui-angular-library/src/lib/firebaseui-angular-library.helper.ts","../../../projects/firebaseui-angular-library/src/lib/firebaseui-angular-library.module.ts","../../../projects/firebaseui-angular-library/src/public_api.ts","../../../projects/firebaseui-angular-library/src/firebaseui-angular.ts"],"sourcesContent":["import { Inject, Injectable, NgZone, Optional } from '@angular/core';\nimport * as firebaseui from 'firebaseui';\nimport {FIREBASE_APP_NAME, FIREBASE_OPTIONS, FirebaseApp, ɵfirebaseAppFactory} from '@angular/fire/compat';\nimport { FirebaseOptions, FirebaseAppSettings } from 'firebase/app';\n\nimport _firebase from 'firebase/compat/app';\nimport { USE_EMULATOR as USE_AUTH_EMULATOR } from '@angular/fire/compat/auth';\n\ntype UseEmulatorArguments = [string, number];\n\n@Injectable()\nexport class FirebaseuiAngularLibraryService {\n  public firebaseUiInstance: firebaseui.auth.AuthUI;\n\n  constructor(@Inject(FIREBASE_OPTIONS) options: FirebaseOptions,\n              @Optional() @Inject(FIREBASE_APP_NAME) nameOrConfig: string | FirebaseAppSettings | null | undefined,\n              @Optional() @Inject(USE_AUTH_EMULATOR) _useEmulator: any, // can't use the tuple here\n              zone: NgZone) {\n    // noinspection JSNonASCIINames\n    const app: FirebaseApp = ɵfirebaseAppFactory(options, zone, nameOrConfig);\n\n    const useEmulator: UseEmulatorArguments | null = _useEmulator;\n\n    if (!(<any>window).firebaseUiInstance) {\n      const auth: _firebase.auth.Auth = app.auth();\n      if (useEmulator) {\n        const connectionString = useEmulator[0].startsWith('http') ? useEmulator[0] : `http://${useEmulator.join(':')}`;\n        auth.useEmulator(connectionString);\n      }\n      (<any>window).firebaseUiInstance = new firebaseui.auth.AuthUI(auth);\n    }\n    // store the firebaseui instance on the window object to prevent double initialization\n    this.firebaseUiInstance = (<any>window).firebaseUiInstance as firebaseui.auth.AuthUI;\n  }\n}\n","import {Component, EventEmitter, Inject, NgZone, OnDestroy, OnInit, Output} from '@angular/core';\nimport {AngularFireAuth} from '@angular/fire/compat/auth';\nimport {Subscription} from 'rxjs';\nimport {\n  FirebaseUISignInFailure,\n  FirebaseUISignInSuccessWithAuthResult,\n  NativeFirebaseUIAuthConfig,\n} from './firebaseui-angular-library.helper';\nimport * as firebaseui from 'firebaseui';\nimport firebase from 'firebase/compat/app';\nimport {FirebaseuiAngularLibraryService} from './firebaseui-angular-library.service';\nimport 'firebase/compat/auth';\nimport User = firebase.User;\nimport UserCredential = firebase.auth.UserCredential;\n\n@Component({\n    selector: 'firebase-ui',\n    template: '<div id=\"firebaseui-auth-container\"></div>',\n    standalone: true\n})\nexport class FirebaseuiAngularLibraryComponent implements OnInit, OnDestroy {\n  private static readonly COMPUTED_CALLBACKS = 'COMPUTED_CALLBACKS';\n\n  @Output('signInSuccessWithAuthResult') signInSuccessWithAuthResultCallback: EventEmitter<FirebaseUISignInSuccessWithAuthResult> = new EventEmitter(); // tslint:disable-line\n  @Output('signInFailure') signInFailureCallback: EventEmitter<FirebaseUISignInFailure> = new EventEmitter(); // tslint:disable-line\n  @Output('uiShown') uiShownCallback: EventEmitter<void> = new EventEmitter(); // tslint:disable-line\n\n  private subscription: Subscription;\n\n  constructor(private angularFireAuth: AngularFireAuth,\n              @Inject('firebaseUIAuthConfig') private _firebaseUiConfig: NativeFirebaseUIAuthConfig,\n              @Inject('firebaseUIAuthConfigFeature') private _firebaseUiConfig_Feature: NativeFirebaseUIAuthConfig,\n              private ngZone: NgZone,\n              private firebaseUIService: FirebaseuiAngularLibraryService) {\n  }\n\n  get firebaseUiConfig(): NativeFirebaseUIAuthConfig {\n    return {\n      ...this._firebaseUiConfig,\n      ...this._firebaseUiConfig_Feature\n    } as NativeFirebaseUIAuthConfig;\n  }\n\n  ngOnInit(): void {\n    this.subscription = this.angularFireAuth.authState.subscribe((value: User) => {\n      if ((value && value.isAnonymous) || !value) {\n        if (this.firebaseUiConfig.signInOptions.length !== 0) {\n          this.firebaseUIPopup();\n        } else {\n          throw new Error('There must be at least one AuthProvider.');\n        }\n      }\n    });\n  }\n\n  ngOnDestroy(): void {\n    if (!!this.subscription) {\n      this.subscription.unsubscribe();\n    }\n  }\n\n  private getUIAuthConfig(): NativeFirebaseUIAuthConfig {\n    if (!(this.firebaseUiConfig as NativeFirebaseUIAuthConfig).callbacks) {\n      this._firebaseUiConfig[FirebaseuiAngularLibraryComponent.COMPUTED_CALLBACKS] = true;\n      (this._firebaseUiConfig as NativeFirebaseUIAuthConfig).callbacks = this.getCallbacks();\n    }\n    return (this.firebaseUiConfig as NativeFirebaseUIAuthConfig);\n  }\n\n  private firebaseUIPopup() {\n    const firebaseUiInstance = this.firebaseUIService.firebaseUiInstance;\n    const uiAuthConfig = this.getUIAuthConfig();\n\n    // Check if callbacks got computed to reset them again after providing the to firebaseui.\n    // Necessary for allowing updating the firebaseui config during runtime.\n    let resetCallbacks = false;\n    if (uiAuthConfig[FirebaseuiAngularLibraryComponent.COMPUTED_CALLBACKS]) {\n      resetCallbacks = true;\n      delete uiAuthConfig[FirebaseuiAngularLibraryComponent.COMPUTED_CALLBACKS];\n    }\n\n    // show the firebaseui\n    firebaseUiInstance.start('#firebaseui-auth-container', uiAuthConfig);\n\n    if (resetCallbacks) {\n      (this._firebaseUiConfig as NativeFirebaseUIAuthConfig).callbacks = null;\n    }\n  }\n\n  private getCallbacks(): any { // firebaseui.Callbacks\n    const signInSuccessWithAuthResultCallback = (authResult: UserCredential, redirectUrl) => {\n      this.ngZone.run(() => {\n        this.signInSuccessWithAuthResultCallback.emit({\n          authResult,\n          redirectUrl\n        });\n      });\n      return this.firebaseUiConfig.signInSuccessUrl;\n    };\n\n    const signInFailureCallback = (error: firebaseui.auth.AuthUIError) => {\n      this.ngZone.run(() => {\n        this.signInFailureCallback.emit({\n          code: error.code,\n          credential: error.credential\n        });\n      });\n      return Promise.reject();\n    };\n\n    const uiShownCallback = () => {\n      this.ngZone.run(() => {\n        this.uiShownCallback.emit();\n      });\n    };\n\n    return {\n      signInSuccessWithAuthResult: signInSuccessWithAuthResultCallback,\n      signInFailure: signInFailureCallback,\n      uiShown: uiShownCallback\n    };\n  }\n}\n","/*\n * Created by Raphael Jenni\n * Copyright (c) 2017 Raphael Jenni\n */\n\nimport * as firebaseuiOriginal from 'firebaseui';\nimport firebaseOriginal from 'firebase/compat/app';\nimport UserCredential = firebaseOriginal.auth.UserCredential;\nimport AuthCredential = firebaseOriginal.auth.AuthCredential;\n\nexport const firebase = firebaseOriginal;\nexport const firebaseui = firebaseuiOriginal;\n\nexport type NativeFirebaseUIAuthConfig = firebaseuiOriginal.auth.Config;\n\n\nexport class FirebaseUISignInSuccessWithAuthResult {\n  authResult: UserCredential;\n  redirectUrl: string;\n}\n\nexport class FirebaseUISignInFailure {\n  code: string;\n  credential: AuthCredential;\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {FirebaseuiAngularLibraryComponent} from './firebaseui-angular-library.component';\nimport {CommonModule} from '@angular/common';\nimport {NativeFirebaseUIAuthConfig} from './firebaseui-angular-library.helper';\nimport {FirebaseuiAngularLibraryService} from './firebaseui-angular-library.service';\n\n@NgModule({\n    imports: [\n        CommonModule,\n        FirebaseuiAngularLibraryComponent\n    ],\n    providers: [FirebaseuiAngularLibraryService],\n    exports: [FirebaseuiAngularLibraryComponent]\n})\nexport class FirebaseUIModule {\n  static forRoot(firebaseUiAuthConfig: NativeFirebaseUIAuthConfig): ModuleWithProviders<FirebaseUIModule> {\n    return {\n      ngModule: FirebaseUIModule,\n      providers: [\n        {provide: 'firebaseUIAuthConfig', useValue: firebaseUiAuthConfig},\n        {provide: 'firebaseUIAuthConfigFeature', useValue: {}}\n      ]\n    };\n  }\n\n  static forFeature(firebaseUIAuthConfig: NativeFirebaseUIAuthConfig | any): ModuleWithProviders<FirebaseUIModule> {\n    return {\n      ngModule: FirebaseUIModule,\n      providers: [\n        {provide: 'firebaseUIAuthConfigFeature', useValue: firebaseUIAuthConfig}\n      ]\n    };\n  }\n}\n","/*\n * Public API Surface of firebaseui-angular-library\n */\n\nexport * from './lib/firebaseui-angular-library.service';\nexport * from './lib/firebaseui-angular-library.component';\nexport * from './lib/firebaseui-angular-library.helper';\nexport * from './lib/firebaseui-angular-library.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵfirebaseAppFactory","firebaseui","USE_AUTH_EMULATOR","i2.FirebaseuiAngularLibraryService","firebaseuiOriginal"],"mappings":"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"}