UNPKG

firebaseui-angular-i18n

Version:

[![npm version](https://badge.fury.io/js/firebaseui-angular-i18n.svg)](https://badge.fury.io/js/firebaseui-angular-i18n)

1 lines 35.6 kB
{"version":3,"file":"firebaseui-angular-i18n.mjs","sources":["../../../projects/firebaseui-angular-library/src/lib/firebaseui-angular-library.helper.ts","../../../projects/firebaseui-angular-library/src/lib/dynamic-loader.service.ts","../../../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.module.ts","../../../projects/firebaseui-angular-library/src/public_api.ts","../../../projects/firebaseui-angular-library/src/firebaseui-angular-i18n.ts"],"sourcesContent":["/*\n * Created by Raphael Jenni\n * Copyright (c) 2017 Raphael Jenni\n */\n\nimport firebaseOriginal from 'firebase/compat/app';\nimport * as firebaseuiOriginal from 'firebaseui';\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;\nexport type ExtendedFirebaseUIAuthConfig = NativeFirebaseUIAuthConfig & {\n language?: string\n};\n\n\nexport class FirebaseUISignInSuccessWithAuthResult {\n authResult: UserCredential;\n redirectUrl: string;\n}\n\nexport class FirebaseUISignInFailure {\n code: string;\n credential: AuthCredential;\n}\n\nexport interface FirebaseUILanguage {\n code: string;\n name?: string;\n isRtL?: boolean;\n}\n\nexport const FirebaseUILanguages: FirebaseUILanguage[] = [\n { code: \"ar\", name: \"Arabic\", isRtL: true },\n { code: \"bg\", name: \"Bulgarian\" },\n { code: \"ca\", name: \"Catalan\" },\n { code: \"zh_cn\", name: \"Chinese (Simplified)\" },\n { code: \"zh_tw\", name: \"Chinese (Traditional)\" },\n { code: \"hr\", name: \"Croatian\" },\n { code: \"cs\", name: \"Czech\" },\n { code: \"da\", name: \"Danish\" },\n { code: \"nl\", name: \"Dutch\" },\n { code: \"en\", name: \"English\" },\n { code: \"en_gb\", name: \"English (UK)\" },\n { code: \"fa\", name: \"Farsi\", isRtL: true },\n { code: \"fil\", name: \"Filipino\" },\n { code: \"fi\", name: \"Finnish\" },\n { code: \"fr\", name: \"French\" },\n { code: \"de\", name: \"German\" },\n { code: \"el\", name: \"Greek\" },\n { code: \"iw\", name: \"Hebrew\", isRtL: true },\n { code: \"hi\", name: \"Hindi\" },\n { code: \"hu\", name: \"Hungarian\" },\n { code: \"id\", name: \"Indonesian\" },\n { code: \"it\", name: \"Italian\" },\n { code: \"ja\", name: \"Japanese\" },\n { code: \"ko\", name: \"Korean\" },\n { code: \"lv\", name: \"Latvian\" },\n { code: \"lt\", name: \"Lithuanian\" },\n { code: \"no\", name: \"Norwegian (Bokmal)\" },\n { code: \"pl\", name: \"Polish\" },\n { code: \"pt_br\", name: \"Portuguese (Brazil)\" },\n { code: \"pt_pt\", name: \"Portuguese (Portugal)\" },\n { code: \"ro\", name: \"Romanian\" },\n { code: \"ru\", name: \"Russian\" },\n { code: \"sr\", name: \"Serbian\" },\n { code: \"sk\", name: \"Slovak\" },\n { code: \"sl\", name: \"Slovenian\" },\n { code: \"es\", name: \"Spanish\" },\n { code: \"es_419\", name: \"Spanish (Latin America)\" },\n { code: \"sv\", name: \"Swedish\" },\n { code: \"th\", name: \"Thai\" },\n { code: \"tr\", name: \"Turkish\" },\n { code: \"uk\", name: \"Ukrainian\" },\n { code: \"vi\", name: \"Vietnamese\" }\n];\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\nexport interface Resource {\n name: string;\n type: \"css\" | \"js\";\n src: string;\n}\n\nexport interface LoadedResource {\n [name: string]: {\n loaded: boolean,\n type: \"css\" | \"js\",\n src: string\n }\n}\n\n@Injectable()\nexport class DynamicLoaderService {\n\n private static ResourcesStore: Resource[] = [];\n private static LoadedResources: LoadedResource = {};\n\n private _document: Document | undefined = undefined;\n\n constructor(@Inject(DOCUMENT) _document?: any) {\n this._document = _document;\n\n DynamicLoaderService.ResourcesStore.forEach((res) => {\n DynamicLoaderService.LoadedResources[res.name] = {\n loaded: false,\n type: res.type,\n src: res.src\n };\n });\n }\n\n /**\n * Loads a series of previously registered Script(s)\n * @param resNames The list of resources to load\n */\n load(...resNames: string[]) {\n const promises = resNames.map(name => this.loadResource(name));\n return Promise.all(promises);\n }\n\n /**\n * Loads a script given it's name.\n * @param name Name of the script to laod.\n */\n loadResource(name: string) {\n return new Promise((resolve, reject) => {\n const resourceRef = DynamicLoaderService.LoadedResources[name];\n\n if (!resourceRef) {\n return reject({ resource: name, loaded: false, statusText: 'Resource not registered' });\n }\n\n if (resourceRef.loaded) {\n return resolve({ resource: name, loaded: true, statusText: 'Already Loaded' });\n }\n\n const tag = resourceRef.type === \"js\" ? this._document.createElement(\"script\") : this._document.createElement(\"link\");\n\n tag.onload = (e) => {\n resourceRef.loaded = true;\n return resolve({ resource: name, loaded: true, statusText: \"Loaded\", status: e });\n };\n\n tag.onerror = (error) => {\n return reject({ resource: name, loaded: false, statusText: 'Error', error: error });\n }\n\n if (tag instanceof HTMLScriptElement) {\n tag.type = \"text/javascript\";\n tag.async = true;\n tag.src = resourceRef.src;\n }\n if (tag instanceof HTMLLinkElement) {\n tag.type = \"text/css\";\n tag.href = resourceRef.src;\n tag.rel = \"stylesheet\";\n }\n\n this._document.head.appendChild(tag);\n });\n }\n\n /**\n * Registers a series of Resource(s), without loading them\n * @param resources A list of Resource(s)\n */\n register(...resources: Resource[]) {\n resources.forEach(res => {\n DynamicLoaderService.ResourcesStore.push(res);\n DynamicLoaderService.LoadedResources[res.name] = {\n loaded: false,\n type: res.type,\n src: res.src\n };\n });\n }\n\n /**\n * Registers and then loads a list of Resource(s)\n * @param resources The list of resources\n */\n registerAndLoad(...resources: Resource[]) {\n const resNames = resources.map(s => s.name);\n this.register(...resources);\n return this.load(...resNames);\n }\n}\n","import { Inject, Injectable, NgZone, Optional } from '@angular/core';\nimport { FirebaseApp, FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵfirebaseAppFactory } from '@angular/fire/compat';\nimport { USE_EMULATOR as USE_AUTH_EMULATOR } from '@angular/fire/compat/auth';\nimport { FirebaseAppSettings, FirebaseOptions } from 'firebase/app';\nimport _firebase from 'firebase/compat/app';\nimport * as firebaseui from 'firebaseui';\nimport { Subject } from 'rxjs';\nimport { DynamicLoaderService, Resource } from './dynamic-loader.service';\nimport { ExtendedFirebaseUIAuthConfig, FirebaseUILanguages } from './firebaseui-angular-library.helper';\nimport * as jsonVersion from \"./version.json\";\n\ndeclare const global: any;\n\nconst FIREBASEUI_CDN_VERSION = jsonVersion.firebaseUiVersion || \"6.0.0\";\nconst FIREBASEUI_CDN_URL = `https://www.gstatic.com/firebasejs/ui/${FIREBASEUI_CDN_VERSION}`;\n\n\n@Injectable()\nexport class FirebaseuiAngularLibraryService {\n\n private static firebaseUiInstance: firebaseui.auth.AuthUI | undefined = undefined;\n private static uiInstanceObservable: Subject<firebaseui.auth.AuthUI> = new Subject<firebaseui.auth.AuthUI>();\n\n private static currentLanguageCode: string = \"\";\n private static firstLoad: boolean = true;\n\n private firebaseInstance: FirebaseApp;\n\n constructor(\n @Inject('firebaseUIAuthConfig') private _firebaseUiConfig: ExtendedFirebaseUIAuthConfig,\n @Inject(FIREBASE_OPTIONS) options: FirebaseOptions,\n @Optional() @Inject(FIREBASE_APP_NAME) nameOrConfig: string | FirebaseAppSettings | null | undefined,\n @Optional() @Inject(USE_AUTH_EMULATOR) private _useEmulator: any, // can't use the tuple here\n private _scriptLoaderService: DynamicLoaderService,\n zone: NgZone) {\n\n // noinspection JSNonASCIINames\n this.firebaseInstance = ɵfirebaseAppFactory(options, zone, nameOrConfig);\n }\n\n /**\n * Creates a new instance of FirebaseUI\n */\n private instantiateFirebaseUI() {\n const auth: _firebase.auth.Auth = this.firebaseInstance.auth();\n if (this._useEmulator) {\n const connectionString = this._useEmulator[0].startsWith('http') ? this._useEmulator[0] : `http://${this._useEmulator.join(':')}`;\n auth.useEmulator(connectionString);\n }\n\n FirebaseuiAngularLibraryService.firebaseUiInstance = new firebaseui.auth.AuthUI(auth);\n FirebaseuiAngularLibraryService.uiInstanceObservable.next(FirebaseuiAngularLibraryService.firebaseUiInstance);\n }\n\n //#region Changes made to the original lib to support i18n\n\n /**\n * Changes language of the currently displayed Firebase UI instance\n * @param languageCode One of the codes specified by a \"FirebaseUILanguage\" object\n */\n async setLanguage(languageCode: string) {\n if (FirebaseuiAngularLibraryService.firebaseUiInstance) {\n await FirebaseuiAngularLibraryService.firebaseUiInstance.delete();\n }\n\n const previousLanguageCode = FirebaseuiAngularLibraryService.currentLanguageCode;\n const previousLanguage = previousLanguageCode ? this.getLanguageByCode(previousLanguageCode) : null;\n\n FirebaseuiAngularLibraryService.currentLanguageCode = languageCode ? languageCode.toLowerCase() : \"en\";\n\n if (!languageCode || (languageCode.toLowerCase() === \"en\" && FirebaseuiAngularLibraryService.firstLoad)) {\n console.log(\"[service] using lib from npm bundles\");\n return this.instantiateFirebaseUI();\n }\n\n FirebaseuiAngularLibraryService.firstLoad = false;\n const languages = FirebaseUILanguages.filter((l) => l.code.toLowerCase() === languageCode.toLowerCase());\n\n if (languages.length !== 1) {\n throw new Error(\"Invalid language code\");\n }\n\n // Otherwise we'll use a version of the same library from CDN.\n // Expose a reference to the firebase object or the firebaseui won't work\n if (typeof window !== \"undefined\" && typeof window.firebase === \"undefined\") {\n // Semi-cheat: firebaseInstance is an instance of FirebaseApp,\n // but FirebaseUI uses an instance of the \"vanilla\" Firebase object (hence the cast to any and the \"\".firebase_\" part)\n (window as any).firebase = _firebase;\n }\n\n if (typeof global !== \"undefined\" && typeof global[\"firebase\"] === \"undefined\") {\n global[\"firebase\"] = _firebase;\n }\n\n const language = languages[0];\n const toLoad: Resource[] = [\n {\n name: `firebaseui-${language.code}`,\n type: \"js\",\n src: `${FIREBASEUI_CDN_URL}/firebase-ui-auth__${language.code}.js`\n }\n ];\n\n // If the selected language is a Right to Left one, load also the special css file\n if (language.isRtL) {\n toLoad.push({\n name: \"firebaseui-css-rtl\",\n type: \"css\",\n src: `${FIREBASEUI_CDN_URL}/firebase-ui-auth-rtl.css`\n });\n }\n\n // If we had previsouly loaded another language that was a RtL one and current one is not,\n // we need to load the LtR css\n if (previousLanguage && previousLanguage.isRtL && !language.isRtL) {\n toLoad.push({\n name: \"firebaseui-css\",\n type: \"css\",\n src: `${FIREBASEUI_CDN_URL}/firebase-ui-auth.css`\n });\n }\n\n await this._scriptLoaderService.registerAndLoad(...toLoad);\n\n // and create a new firebaseui instance, using the imported firebaseui\n return this.instantiateFirebaseUI();\n }\n\n /**\n * Returns the currently selected language, as an instance of FirebaseUILanguage.\n * If no previous language was set, it will return language specified in the \".forRoot\" method of this module.\n * If the parameter \"language\" was not set, it will defualt to English\n */\n getCurrentLanguage() {\n return this.getLanguageByCode(FirebaseuiAngularLibraryService.currentLanguageCode || this._firebaseUiConfig.language || \"en\");\n }\n\n /**\n * This method returns the observable of the Firebase UI instance\n */\n getFirebaseUiObservable = () => FirebaseuiAngularLibraryService.uiInstanceObservable;\n\n /**\n * Given a FirebaseUILanguage code, it returns the matching object\n * @param code Language code\n */\n private getLanguageByCode(code: string) {\n const matching = FirebaseUILanguages.filter((lang) => lang.code.toLowerCase() === code.toLowerCase());\n\n if (matching.length === 1) {\n return matching[0];\n }\n\n return null;\n }\n\n //#endregion\n\n}\n","import { Component, EventEmitter, Inject, Input, NgZone, OnChanges, OnDestroy, OnInit, Optional, Output, SimpleChanges } from '@angular/core';\nimport { AngularFireAuth } from '@angular/fire/compat/auth';\nimport firebase from 'firebase/compat/app';\nimport 'firebase/compat/auth';\nimport * as firebaseui from 'firebaseui';\nimport { Subscription } from 'rxjs';\nimport {\n ExtendedFirebaseUIAuthConfig,\n FirebaseUISignInFailure,\n FirebaseUISignInSuccessWithAuthResult\n} from './firebaseui-angular-library.helper';\nimport { FirebaseuiAngularLibraryService } from './firebaseui-angular-library.service';\n\nimport User = firebase.User;\nimport UserCredential = firebase.auth.UserCredential;\nimport AuthUI = firebaseui.auth.AuthUI;\n\n\n@Component({\n selector: 'firebase-ui',\n template: '<div id=\"firebaseui-auth-container\"></div>'\n})\nexport class FirebaseuiAngularLibraryComponent implements OnInit, OnDestroy, OnChanges {\n private static readonly COMPUTED_CALLBACKS = 'COMPUTED_CALLBACKS';\n private firebaseUISubscription: Subscription;\n\n @Optional() @Input(\"language\") language: string;\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: ExtendedFirebaseUIAuthConfig,\n @Inject('firebaseUIAuthConfigFeature') private _firebaseUiConfig_Feature: ExtendedFirebaseUIAuthConfig,\n private ngZone: NgZone,\n private firebaseUIService: FirebaseuiAngularLibraryService) {\n this.firebaseUISubscription = this.firebaseUIService.getFirebaseUiObservable().subscribe((fireUIInstance: AuthUI) => {\n this.firebaseUIPopup(fireUIInstance);\n });\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n await this.firebaseUIService.setLanguage(changes.language.currentValue);\n }\n\n get firebaseUiConfig(): ExtendedFirebaseUIAuthConfig {\n return {\n ...this._firebaseUiConfig,\n ...this._firebaseUiConfig_Feature\n };\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 // initialization of ngOnChanges occurs only when language value is accepted as @input. fire manually if it is not\n if (!this.language) {\n this.firebaseUIService.setLanguage('en');\n }\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 if (!!this.firebaseUISubscription) {\n this.firebaseUISubscription.unsubscribe();\n }\n }\n\n private getUIAuthConfig(): ExtendedFirebaseUIAuthConfig {\n if (!this.firebaseUiConfig.callbacks) {\n this._firebaseUiConfig[FirebaseuiAngularLibraryComponent.COMPUTED_CALLBACKS] = true;\n this._firebaseUiConfig.callbacks = this.getCallbacks();\n }\n return this.firebaseUiConfig;\n }\n\n private firebaseUIPopup(firebaseUiInstance: AuthUI) {\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 delete uiAuthConfig.language;\n\n // show the firebaseui\n firebaseUiInstance.start('#firebaseui-auth-container', uiAuthConfig);\n\n if (resetCallbacks) {\n this._firebaseUiConfig.callbacks = null;\n }\n }\n\n private getCallbacks(): any { // firebaseui.Callbacks\n const signInSuccessWithAuthResultCallback = (authResult: UserCredential, redirectUrl: string) => {\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","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { DynamicLoaderService } from './dynamic-loader.service';\nimport { FirebaseuiAngularLibraryComponent } from './firebaseui-angular-library.component';\nimport { ExtendedFirebaseUIAuthConfig } from './firebaseui-angular-library.helper';\nimport { FirebaseuiAngularLibraryService } from './firebaseui-angular-library.service';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [FirebaseuiAngularLibraryComponent],\n providers: [\n FirebaseuiAngularLibraryService,\n DynamicLoaderService\n ],\n exports: [FirebaseuiAngularLibraryComponent]\n})\nexport class FirebaseUIModule {\n static forRoot(firebaseUiAuthConfig: ExtendedFirebaseUIAuthConfig): 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: ExtendedFirebaseUIAuthConfig): 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":["firebaseOriginal","jsonVersion.firebaseUiVersion","firebaseui","USE_AUTH_EMULATOR","i1.DynamicLoaderService","i2.FirebaseuiAngularLibraryService"],"mappings":"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"}