ngx-firebase 1.1.12 → 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -11
- package/fesm2022/ngx-firebase.mjs +158 -0
- package/fesm2022/ngx-firebase.mjs.map +1 -0
- package/package.json +40 -30
- package/types/ngx-firebase.d.ts +55 -0
- package/bundles/ngx-firebase-capacitor.umd.js +0 -763
- package/bundles/ngx-firebase-capacitor.umd.js.map +0 -1
- package/bundles/ngx-firebase-capacitor.umd.min.js +0 -16
- package/bundles/ngx-firebase-capacitor.umd.min.js.map +0 -1
- package/bundles/ngx-firebase-iap.umd.js +0 -718
- package/bundles/ngx-firebase-iap.umd.js.map +0 -1
- package/bundles/ngx-firebase-iap.umd.min.js +0 -2
- package/bundles/ngx-firebase-iap.umd.min.js.map +0 -1
- package/bundles/ngx-firebase-ionic-auth-ui.umd.js +0 -2116
- package/bundles/ngx-firebase-ionic-auth-ui.umd.js.map +0 -1
- package/bundles/ngx-firebase-ionic-auth-ui.umd.min.js +0 -16
- package/bundles/ngx-firebase-ionic-auth-ui.umd.min.js.map +0 -1
- package/bundles/ngx-firebase-ionic.umd.js +0 -979
- package/bundles/ngx-firebase-ionic.umd.js.map +0 -1
- package/bundles/ngx-firebase-ionic.umd.min.js +0 -16
- package/bundles/ngx-firebase-ionic.umd.min.js.map +0 -1
- package/bundles/ngx-firebase-testing.umd.js +0 -801
- package/bundles/ngx-firebase-testing.umd.js.map +0 -1
- package/bundles/ngx-firebase-testing.umd.min.js +0 -2
- package/bundles/ngx-firebase-testing.umd.min.js.map +0 -1
- package/bundles/ngx-firebase.umd.js +0 -2271
- package/bundles/ngx-firebase.umd.js.map +0 -1
- package/bundles/ngx-firebase.umd.min.js +0 -2
- package/bundles/ngx-firebase.umd.min.js.map +0 -1
- package/capacitor/capacitor.module.d.ts +0 -9
- package/capacitor/interfaces/config.d.ts +0 -12
- package/capacitor/interfaces/index.d.ts +0 -1
- package/capacitor/ngx-firebase-capacitor.d.ts +0 -5
- package/capacitor/ngx-firebase-capacitor.metadata.json +0 -1
- package/capacitor/package.json +0 -25
- package/capacitor/public-api.d.ts +0 -3
- package/capacitor/services/analytics-firebase-capacitor.service.d.ts +0 -9
- package/capacitor/services/crashlytics-firebase-capacitor.service.d.ts +0 -8
- package/capacitor/services/credential-factory-capacitor.service.d.ts +0 -18
- package/capacitor/services/index.d.ts +0 -3
- package/esm2015/capacitor/capacitor.module.js +0 -78
- package/esm2015/capacitor/interfaces/config.js +0 -3
- package/esm2015/capacitor/interfaces/index.js +0 -2
- package/esm2015/capacitor/ngx-firebase-capacitor.js +0 -6
- package/esm2015/capacitor/public-api.js +0 -4
- package/esm2015/capacitor/services/analytics-firebase-capacitor.service.js +0 -43
- package/esm2015/capacitor/services/crashlytics-firebase-capacitor.service.js +0 -40
- package/esm2015/capacitor/services/credential-factory-capacitor.service.js +0 -182
- package/esm2015/capacitor/services/index.js +0 -4
- package/esm2015/iap/iap.module.js +0 -32
- package/esm2015/iap/interfaces/index.js +0 -5
- package/esm2015/iap/ngx-firebase-iap.js +0 -5
- package/esm2015/iap/public-api.js +0 -5
- package/esm2015/iap/services/iap.service.js +0 -317
- package/esm2015/iap/tokens/index.js +0 -4
- package/esm2015/ionic/animations/index.js +0 -30
- package/esm2015/ionic/components/avatar/avatar.component.js +0 -98
- package/esm2015/ionic/components/avatar/index.js +0 -2
- package/esm2015/ionic/components/index.js +0 -3
- package/esm2015/ionic/components/popover-menu/index.js +0 -3
- package/esm2015/ionic/components/popover-menu/interface.js +0 -2
- package/esm2015/ionic/components/popover-menu/popover-menu.component.js +0 -34
- package/esm2015/ionic/ionic.module.js +0 -46
- package/esm2015/ionic/ngx-firebase-ionic.js +0 -5
- package/esm2015/ionic/public-api.js +0 -5
- package/esm2015/ionic/services/alerts-ionic.service.js +0 -107
- package/esm2015/ionic/services/index.js +0 -6
- package/esm2015/ionic/services/legality-dialog-ionic.service.js +0 -85
- package/esm2015/ionic/services/loading-ionic.service.js +0 -46
- package/esm2015/ionic/services/picker-ionic.service.js +0 -44
- package/esm2015/ionic/services/toast-ionic.service.js +0 -49
- package/esm2015/ionic-auth-ui/animations/index.js +0 -30
- package/esm2015/ionic-auth-ui/components/email-confirmation/email-confirmation.component.js +0 -99
- package/esm2015/ionic-auth-ui/components/email-field/email-field.component.js +0 -25
- package/esm2015/ionic-auth-ui/components/form-field/form-field.component.js +0 -82
- package/esm2015/ionic-auth-ui/components/index.js +0 -12
- package/esm2015/ionic-auth-ui/components/name-field/name-field.component.js +0 -30
- package/esm2015/ionic-auth-ui/components/or-divider/or-divider.component.js +0 -11
- package/esm2015/ionic-auth-ui/components/password-field/password-field.component.js +0 -138
- package/esm2015/ionic-auth-ui/components/password-field/passwordValidatorFunctions.js +0 -62
- package/esm2015/ionic-auth-ui/components/providers/providers.component.js +0 -70
- package/esm2015/ionic-auth-ui/components/reauthenticate/reauthenticate.component.js +0 -99
- package/esm2015/ionic-auth-ui/components/register/register.component.js +0 -142
- package/esm2015/ionic-auth-ui/components/register-with-email/register-with-email.component.js +0 -60
- package/esm2015/ionic-auth-ui/components/register-with-email-popover/register-with-email-popover.component.js +0 -26
- package/esm2015/ionic-auth-ui/components/signin/signin.component.js +0 -92
- package/esm2015/ionic-auth-ui/components/terms-field/terms-field.component.js +0 -99
- package/esm2015/ionic-auth-ui/components/user/user.component.js +0 -195
- package/esm2015/ionic-auth-ui/ionic-auth-ui.module.js +0 -92
- package/esm2015/ionic-auth-ui/ngx-firebase-ionic-auth-ui.js +0 -23
- package/esm2015/ionic-auth-ui/pages/index.js +0 -5
- package/esm2015/ionic-auth-ui/pages/register/index.js +0 -2
- package/esm2015/ionic-auth-ui/pages/register/register.page.js +0 -56
- package/esm2015/ionic-auth-ui/pages/signin/index.js +0 -2
- package/esm2015/ionic-auth-ui/pages/signin/signin.page.js +0 -78
- package/esm2015/ionic-auth-ui/pages/user/index.js +0 -2
- package/esm2015/ionic-auth-ui/pages/user/user.page.js +0 -11
- package/esm2015/ionic-auth-ui/pages/verifyemail/index.js +0 -2
- package/esm2015/ionic-auth-ui/pages/verifyemail/verifyemail.page.js +0 -85
- package/esm2015/ionic-auth-ui/public-api.js +0 -5
- package/esm2015/ngx-firebase.js +0 -6
- package/esm2015/public-api.js +0 -6
- package/esm2015/shared/guards/index.js +0 -3
- package/esm2015/shared/guards/logged-in.guard.js +0 -60
- package/esm2015/shared/guards/verify-email.guard.js +0 -41
- package/esm2015/shared/interfaces/accounts.enum.js +0 -9
- package/esm2015/shared/interfaces/authprovider.enum.js +0 -15
- package/esm2015/shared/interfaces/config.interface.js +0 -61
- package/esm2015/shared/interfaces/index.js +0 -8
- package/esm2015/shared/interfaces/main.interface.js +0 -7
- package/esm2015/shared/interfaces/providers.interface.js +0 -2
- package/esm2015/shared/interfaces/tokens.js +0 -19
- package/esm2015/shared/interfaces/ui-providers.interface.js +0 -2
- package/esm2015/shared/services/analytics.service.js +0 -24
- package/esm2015/shared/services/auth-process.service.js +0 -752
- package/esm2015/shared/services/crashlytics.service.js +0 -42
- package/esm2015/shared/services/device-info.service.js +0 -14
- package/esm2015/shared/services/firebase.service.js +0 -37
- package/esm2015/shared/services/firestore-sync.service.js +0 -60
- package/esm2015/shared/services/index.js +0 -10
- package/esm2015/shared/services/performance.service.js +0 -28
- package/esm2015/shared/services/remoteconfig.service.js +0 -49
- package/esm2015/shared/services/ui.service.js +0 -45
- package/esm2015/shared/shared.module.js +0 -175
- package/esm2015/shared/types/DisplayWidth.js +0 -9
- package/esm2015/shared/types/Location.js +0 -2
- package/esm2015/shared/types/ValueAccessorControlComponent.js +0 -85
- package/esm2015/shared/types/ValueAccessorValueComponent.js +0 -40
- package/esm2015/shared/types/index.js +0 -5
- package/esm2015/testing/fakeavatar.module.js +0 -22
- package/esm2015/testing/fakes/FakeAuthProcessService.js +0 -31
- package/esm2015/testing/fakes/FakeAvatarComponent.js +0 -13
- package/esm2015/testing/fakes/FakeFireService.js +0 -21
- package/esm2015/testing/fakes/FakeFirestoreSyncService.js +0 -11
- package/esm2015/testing/fakes/FakeIAPurchaseService.js +0 -11
- package/esm2015/testing/fakes/FakePickerService.js +0 -9
- package/esm2015/testing/fakes/FakeRemoteConfigService.js +0 -44
- package/esm2015/testing/fakes/FakeTranslateService.js +0 -21
- package/esm2015/testing/fakes/FakeUiService.js +0 -26
- package/esm2015/testing/fakes/angular-fire/FakeAngularFireAuth.js +0 -30
- package/esm2015/testing/fakes/angular-fire/FakeAngularFireFunctions.js +0 -17
- package/esm2015/testing/fakes/angular-fire/FakeAngularFirePerformance.js +0 -17
- package/esm2015/testing/fakes/angular-fire/FakeAngularFireStorage.js +0 -8
- package/esm2015/testing/fakes/angular-fire/FakeAngularFirestore.js +0 -8
- package/esm2015/testing/fakes/angular-fire/FakeUserCredential.js +0 -18
- package/esm2015/testing/fakes/index.js +0 -19
- package/esm2015/testing/ngx-firebase-testing.js +0 -6
- package/esm2015/testing/public-api.js +0 -5
- package/esm2015/testing/test.module.js +0 -66
- package/esm2015/testing/utils/index.js +0 -17
- package/esm2015/testing/utils/patchConsole.js +0 -14
- package/fesm2015/ngx-firebase-capacitor.js +0 -328
- package/fesm2015/ngx-firebase-capacitor.js.map +0 -1
- package/fesm2015/ngx-firebase-iap.js +0 -354
- package/fesm2015/ngx-firebase-iap.js.map +0 -1
- package/fesm2015/ngx-firebase-ionic-auth-ui.js +0 -1482
- package/fesm2015/ngx-firebase-ionic-auth-ui.js.map +0 -1
- package/fesm2015/ngx-firebase-ionic.js +0 -495
- package/fesm2015/ngx-firebase-ionic.js.map +0 -1
- package/fesm2015/ngx-firebase-testing.js +0 -388
- package/fesm2015/ngx-firebase-testing.js.map +0 -1
- package/fesm2015/ngx-firebase.js +0 -1482
- package/fesm2015/ngx-firebase.js.map +0 -1
- package/iap/iap.module.d.ts +0 -5
- package/iap/interfaces/index.d.ts +0 -11
- package/iap/ngx-firebase-iap.d.ts +0 -4
- package/iap/ngx-firebase-iap.metadata.json +0 -1
- package/iap/package.json +0 -23
- package/iap/public-api.d.ts +0 -4
- package/iap/services/iap.service.d.ts +0 -47
- package/iap/tokens/index.d.ts +0 -3
- package/ionic/animations/index.d.ts +0 -1
- package/ionic/components/avatar/avatar.component.d.ts +0 -27
- package/ionic/components/avatar/index.d.ts +0 -1
- package/ionic/components/index.d.ts +0 -2
- package/ionic/components/popover-menu/index.d.ts +0 -2
- package/ionic/components/popover-menu/interface.d.ts +0 -6
- package/ionic/components/popover-menu/popover-menu.component.d.ts +0 -10
- package/ionic/ionic.module.d.ts +0 -2
- package/ionic/ngx-firebase-ionic.d.ts +0 -4
- package/ionic/ngx-firebase-ionic.metadata.json +0 -1
- package/ionic/package.json +0 -30
- package/ionic/public-api.d.ts +0 -4
- package/ionic/services/alerts-ionic.service.d.ts +0 -13
- package/ionic/services/index.d.ts +0 -5
- package/ionic/services/legality-dialog-ionic.service.d.ts +0 -10
- package/ionic/services/loading-ionic.service.d.ts +0 -17
- package/ionic/services/picker-ionic.service.d.ts +0 -9
- package/ionic/services/toast-ionic.service.d.ts +0 -11
- package/ionic-auth-ui/animations/index.d.ts +0 -1
- package/ionic-auth-ui/components/email-confirmation/email-confirmation.component.d.ts +0 -31
- package/ionic-auth-ui/components/email-field/email-field.component.d.ts +0 -7
- package/ionic-auth-ui/components/form-field/form-field.component.d.ts +0 -28
- package/ionic-auth-ui/components/index.d.ts +0 -11
- package/ionic-auth-ui/components/name-field/name-field.component.d.ts +0 -8
- package/ionic-auth-ui/components/or-divider/or-divider.component.d.ts +0 -2
- package/ionic-auth-ui/components/password-field/password-field.component.d.ts +0 -34
- package/ionic-auth-ui/components/password-field/passwordValidatorFunctions.d.ts +0 -4
- package/ionic-auth-ui/components/providers/providers.component.d.ts +0 -26
- package/ionic-auth-ui/components/reauthenticate/reauthenticate.component.d.ts +0 -30
- package/ionic-auth-ui/components/register/register.component.d.ts +0 -26
- package/ionic-auth-ui/components/register-with-email/register-with-email.component.d.ts +0 -24
- package/ionic-auth-ui/components/register-with-email-popover/register-with-email-popover.component.d.ts +0 -7
- package/ionic-auth-ui/components/signin/signin.component.d.ts +0 -28
- package/ionic-auth-ui/components/terms-field/terms-field.component.d.ts +0 -27
- package/ionic-auth-ui/components/user/user.component.d.ts +0 -45
- package/ionic-auth-ui/ionic-auth-ui.module.d.ts +0 -32
- package/ionic-auth-ui/ngx-firebase-ionic-auth-ui.d.ts +0 -22
- package/ionic-auth-ui/ngx-firebase-ionic-auth-ui.metadata.json +0 -1
- package/ionic-auth-ui/package.json +0 -30
- package/ionic-auth-ui/pages/index.d.ts +0 -4
- package/ionic-auth-ui/pages/register/index.d.ts +0 -1
- package/ionic-auth-ui/pages/register/register.page.d.ts +0 -16
- package/ionic-auth-ui/pages/signin/index.d.ts +0 -1
- package/ionic-auth-ui/pages/signin/signin.page.d.ts +0 -22
- package/ionic-auth-ui/pages/user/index.d.ts +0 -1
- package/ionic-auth-ui/pages/user/user.page.d.ts +0 -3
- package/ionic-auth-ui/pages/verifyemail/index.d.ts +0 -1
- package/ionic-auth-ui/pages/verifyemail/verifyemail.page.d.ts +0 -19
- package/ionic-auth-ui/public-api.d.ts +0 -4
- package/ngx-firebase.d.ts +0 -5
- package/ngx-firebase.metadata.json +0 -1
- package/public-api.d.ts +0 -5
- package/shared/guards/index.d.ts +0 -2
- package/shared/guards/logged-in.guard.d.ts +0 -13
- package/shared/guards/verify-email.guard.d.ts +0 -11
- package/shared/interfaces/accounts.enum.d.ts +0 -7
- package/shared/interfaces/authprovider.enum.d.ts +0 -13
- package/shared/interfaces/config.interface.d.ts +0 -63
- package/shared/interfaces/index.d.ts +0 -7
- package/shared/interfaces/main.interface.d.ts +0 -13
- package/shared/interfaces/providers.interface.d.ts +0 -63
- package/shared/interfaces/tokens.d.ts +0 -16
- package/shared/interfaces/ui-providers.interface.d.ts +0 -65
- package/shared/services/analytics.service.d.ts +0 -10
- package/shared/services/auth-process.service.d.ts +0 -172
- package/shared/services/crashlytics.service.d.ts +0 -11
- package/shared/services/device-info.service.d.ts +0 -3
- package/shared/services/firebase.service.d.ts +0 -16
- package/shared/services/firestore-sync.service.d.ts +0 -16
- package/shared/services/index.d.ts +0 -9
- package/shared/services/performance.service.d.ts +0 -12
- package/shared/services/remoteconfig.service.d.ts +0 -18
- package/shared/services/ui.service.d.ts +0 -22
- package/shared/shared.module.d.ts +0 -14
- package/shared/types/DisplayWidth.d.ts +0 -7
- package/shared/types/Location.d.ts +0 -8
- package/shared/types/ValueAccessorControlComponent.d.ts +0 -27
- package/shared/types/ValueAccessorValueComponent.d.ts +0 -19
- package/shared/types/index.d.ts +0 -4
- package/testing/fakeavatar.module.d.ts +0 -2
- package/testing/fakes/FakeAuthProcessService.d.ts +0 -28
- package/testing/fakes/FakeAvatarComponent.d.ts +0 -3
- package/testing/fakes/FakeFireService.d.ts +0 -20
- package/testing/fakes/FakeFirestoreSyncService.d.ts +0 -9
- package/testing/fakes/FakeIAPurchaseService.d.ts +0 -9
- package/testing/fakes/FakePickerService.d.ts +0 -6
- package/testing/fakes/FakeRemoteConfigService.d.ts +0 -19
- package/testing/fakes/FakeTranslateService.d.ts +0 -15
- package/testing/fakes/FakeUiService.d.ts +0 -25
- package/testing/fakes/angular-fire/FakeAngularFireAuth.d.ts +0 -52
- package/testing/fakes/angular-fire/FakeAngularFireFunctions.d.ts +0 -11
- package/testing/fakes/angular-fire/FakeAngularFirePerformance.d.ts +0 -10
- package/testing/fakes/angular-fire/FakeAngularFireStorage.d.ts +0 -5
- package/testing/fakes/angular-fire/FakeAngularFirestore.d.ts +0 -5
- package/testing/fakes/angular-fire/FakeUserCredential.d.ts +0 -9
- package/testing/fakes/index.d.ts +0 -16
- package/testing/ngx-firebase-testing.d.ts +0 -5
- package/testing/ngx-firebase-testing.metadata.json +0 -1
- package/testing/package.json +0 -29
- package/testing/public-api.d.ts +0 -4
- package/testing/test.module.d.ts +0 -4
- package/testing/utils/index.d.ts +0 -5
- package/testing/utils/patchConsole.d.ts +0 -4
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-firebase-ionic-auth-ui.js","sources":["../../../projects/ngx-firebase/ionic-auth-ui/src/components/email-confirmation/email-confirmation.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/animations/index.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/signin/signin.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/register/register.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/user/user.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/reauthenticate/reauthenticate.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/providers/providers.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/email-field/email-field.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/form-field/form-field.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/name-field/name-field.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/or-divider/or-divider.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/password-field/passwordValidatorFunctions.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/password-field/password-field.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/pages/register/register.page.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/pages/signin/signin.page.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/pages/user/user.page.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/pages/verifyemail/verifyemail.page.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/terms-field/terms-field.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/register-with-email/register-with-email.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/components/register-with-email-popover/register-with-email-popover.component.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/ionic-auth-ui.module.ts","../../../projects/ngx-firebase/ionic-auth-ui/src/ngx-firebase-ionic-auth-ui.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, forwardRef, Inject, Input, OnChanges, OnInit, Output,\n SimpleChanges, TemplateRef, ViewChild\n} from '@angular/core';\nimport { NavController } from '@ionic/angular';\nimport { AuthProcessService, FirebaseService, MalSharedConfig, MalSharedConfigToken, UiService } from 'ngx-firebase';\n\ninterface VerifyEmailContext {\n email: string;\n goBackURL: string;\n}\n\n@Component({\n selector: 'mal-authui-email-confirmation',\n templateUrl: './email-confirmation.component.html',\n styleUrls: ['./email-confirmation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EmailConfirmationComponent implements OnInit, OnChanges {\n\n @Input() email?: string;\n @Input() goBackURL?: string;\n\n // Template to use in place of default template\n @Input() template?: TemplateRef<any>;\n\n @Output() signOut = new EventEmitter();\n\n // Final template\n verifyEmailTemplate?: TemplateRef<any>;\n // Context hash to use for verifyEmailTemplate.\n verifyEmailContext: VerifyEmailContext = this.createTemplateContext();\n\n isLoading: boolean = false;\n\n @ViewChild('defaultVerifyEmail', { static: true }) defaultTemplate?: TemplateRef<any>;\n\n constructor(\n private aps: AuthProcessService,\n private changeDetectorRef: ChangeDetectorRef,\n private navController: NavController,\n private fire: FirebaseService,\n private ui: UiService,\n @Inject(forwardRef(() => MalSharedConfigToken)) public config: MalSharedConfig,\n ) {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.verifyEmailTemplate && changes.verifyEmailTemplate.currentValue == null) {\n this.verifyEmailTemplate = this.defaultTemplate;\n // console.log('ngOnChanges - defaultTemplate:', this.verifyEmailTemplate);\n }\n this.verifyEmailContext = this.createTemplateContext();\n }\n\n ngOnInit(): void {\n if (!this.verifyEmailTemplate) {\n // console.log('ngOnInit - defaultTemplate');\n this.verifyEmailTemplate = this.defaultTemplate;\n }\n this.verifyEmailContext = this.createTemplateContext();\n // console.log('verifyEmailTemplate:', this.verifyEmailTemplate);\n // console.log('verifyEmailContext:', this.verifyEmailContext);\n }\n\n async continue() {\n try {\n await this.aps.reloadUserInfo();\n await this.navController.navigateBack([this.goBackURL]);\n } catch (error) {\n this.notifyError(error);\n }\n }\n\n async sendNewVerificationEmail() {\n try {\n this.isLoading = true;\n this.changeDetectorRef.markForCheck();\n await this.aps.sendNewVerificationEmail();\n this.ui.toast('auth.emailConfirmation.onConfirmationSuccess');\n } catch (error) {\n this.notifyError(error);\n } finally {\n this.isLoading = false;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private createTemplateContext(): any {\n return {\n email: this.email,\n goBackURL: this.goBackURL,\n };\n }\n\n private notifyError(error: any) {\n this.fire.recordException(error);\n if (this.config.authUi.toastMessageOnAuthError) {\n const message = error.toString() || 'Sorry, something went wrong. Please retry later.';\n this.ui.toast(message, { duration: this.config.authUi.toastDefaultDurationMil });\n }\n }\n}\n","import {animate, animateChild, animation, query, stagger, state, style, transition, trigger, useAnimation} from '@angular/animations';\n\nconst customAnimation = animation(\n [\n style({\n opacity: '{{opacity}}',\n transform: 'scale({{scale}}) translate3d({{x}}, {{y}}, {{z}})'\n }),\n animate('{{duration}} {{delay}} cubic-bezier(0.0, 0.0, 0.2, 1)', style('*'))\n ],\n {\n params: {\n duration: '200ms',\n delay: '0ms',\n opacity: '0',\n scale: '1',\n x: '0',\n y: '0',\n z: '0'\n }\n }\n);\n\nexport const NgxAuthFirebaseuiAnimations = [\n trigger('animate', [transition('void => *', [useAnimation(customAnimation)])]),\n\n trigger('animateStagger', [\n state('50', style('*')),\n state('100', style('*')),\n state('200', style('*')),\n\n transition('void => 50', query('@*', [stagger('50ms', [animateChild()])], {optional: true})),\n transition('void => 100', query('@*', [stagger('100ms', [animateChild()])], {optional: true})),\n transition('void => 200', query('@*', [stagger('200ms', [animateChild()])], {optional: true}))\n ]),\n];\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, forwardRef, Inject, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AuthProcessService, AuthProvider, MalSharedConfig, MalSharedConfigToken } from 'ngx-firebase';\nimport { MalIonicAlertsService } from 'ngx-firebase/ionic';\nimport { Subscription } from 'rxjs';\nimport { NgxAuthFirebaseuiAnimations } from '../../animations';\n\n@Component({\n selector: 'mal-authui-signin',\n templateUrl: './signin.component.html',\n styleUrls: ['../../ionic-auth-ui.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: NgxAuthFirebaseuiAnimations\n})\nexport class AuthUISignInComponent implements AfterViewInit {\n\n @Input() providers: string[] | string = AuthProvider.ALL; // google, facebook, twitter, github as array or all as one single string\n @Input() registrationEnabled = true;\n @Input() resetPasswordEnabled = true;\n @Input() tosUrl: string = '';\n @Input() privacyPolicyUrl: string = '';\n\n // Events\n // tslint:disable no-output-on-prefix\n @Output() onSuccess: any = this.aps.onSignInEmitter;\n @Output() onError?: any = this.aps.onErrorEmitter;\n @Output() onCreateAccountRequested: EventEmitter<void> = new EventEmitter<void>();\n @Output() onResetPasswordRequested: EventEmitter<void> = new EventEmitter<void>();\n // tslint:enable no-output-on-prefix\n\n signInForm: FormGroup = new FormGroup({\n email: new FormControl('', [Validators.required]),\n password: new FormControl('', [Validators.required])\n });\n\n authProviders = AuthProvider;\n onErrorSubscription?: Subscription;\n\n constructor(\n // tslint:disable-next-line @typescript-eslint/ban-types\n public aps: AuthProcessService,\n private alert: MalIonicAlertsService,\n private changeDetectorRef: ChangeDetectorRef,\n @Inject(forwardRef(() => MalSharedConfigToken)) public config: MalSharedConfig,\n ) { }\n\n async signIn() {\n try {\n this.changeDetectorRef.markForCheck();\n await this.aps.signInWith(AuthProvider.EmailAndPassword, {\n credentials: {\n email: this.signInForm.value.email,\n password: this.signInForm.value.password\n }\n });\n } finally {\n this.changeDetectorRef.markForCheck();\n }\n }\n\n providerClick(provider: AuthProvider) {\n this.aps.signInWith(provider);\n }\n\n ngAfterViewInit() {\n this.changeDetectorRef.detectChanges();\n }\n\n async doPasswordReset() {\n if (this.signInForm.controls.email.invalid) {\n await this.alert.errorAlert('auth.resetPassword.errors.pattern');\n } else {\n await this.aps.resetPassword(this.signInForm.value.email);\n }\n }\n\n}\n","// Angular & Inionc\nimport {\n AfterViewInit, ChangeDetectorRef, Component, EventEmitter, forwardRef, Inject, Input, OnDestroy, OnInit,\n Output, ViewEncapsulation\n} from '@angular/core';\n\n// RxJS\nimport { Observable, Subject } from 'rxjs';\n\n// Mal\nimport { NgxAuthFirebaseuiAnimations } from '../../animations';\nimport { AuthProcessService, AuthProvider, UiService, MalSharedConfig, MalSharedConfigToken } from 'ngx-firebase';\nimport { CreateAccountFormData } from '../register-with-email/register-with-email.component';\nimport { PopoverController } from '@ionic/angular';\n\nfunction isCreateAccountFormData(x: any): x is CreateAccountFormData {\n return x && x.email && x.password;\n}\n\n@Component({\n selector: 'mal-authui-register',\n templateUrl: './register.component.html',\n styleUrls: ['../../ionic-auth-ui.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: NgxAuthFirebaseuiAnimations\n})\nexport class AuthUIRegisterComponent implements OnDestroy, AfterViewInit {\n\n @Input() showEmail: 'inline' | 'popover' | 'none' = 'popover';\n @Input() providers: string[] | string = AuthProvider.ALL; // google, facebook, twitter, github as array or all as one single string\n\n // Events\n // tslint:disable no-output-on-prefix\n @Output() onSuccess: EventEmitter<any> = this.aps.onRegisterEmitter;\n @Output() onError: EventEmitter<any> = this.aps.onErrorEmitter;\n @Output() onLoginRequested: EventEmitter<void> = new EventEmitter<void>();\n // tslint:enable no-output-on-prefix\n\n // Prevent somebody already logged in as guest - relogging in as gyest\n guestEnabled$: Observable<boolean> = this.aps.canSignInAsGuest$;\n\n // Private\n private destroy$: Subject<void> = new Subject<void>();\n\n // tslint:disable-next-line @typescript-eslint/ban-types\n constructor(\n @Inject(forwardRef(() => MalSharedConfigToken)) public config: MalSharedConfig,\n public aps: AuthProcessService,\n private ui: UiService,\n private popover: PopoverController,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n }\n\n ngAfterViewInit() {\n this.changeDetectorRef.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n async doCreateAccount(data: CreateAccountFormData): Promise<void> {\n try {\n this.changeDetectorRef.markForCheck();\n await this.aps.registerWith(\n AuthProvider.EmailAndPassword,\n {\n credentials: {\n email: data.email,\n password: data.password\n },\n displayName: data.name,\n skipTosCheck: true\n }\n );\n } catch (error) {\n this.ui.logError(error);\n } finally {\n this.changeDetectorRef.markForCheck();\n }\n }\n\n async doRegisterAnonymously() {\n try {\n this.changeDetectorRef.markForCheck();\n await this.aps.signInWith(AuthProvider.ANONYMOUS);\n } catch (error) {\n this.ui.logError(error);\n } finally {\n this.changeDetectorRef.markForCheck();\n }\n }\n\n async doRegisterWithEmailPopover() {\n try {\n const data = await new Promise<CreateAccountFormData | null>(\n async (resolve, reject) => {\n try {\n const { AuthUIRegisterWithEmailPopoverComponent } = await import('../register-with-email-popover/register-with-email-popover.component');\n const popover = await this.popover.create({\n component: AuthUIRegisterWithEmailPopoverComponent,\n cssClass: ['wide-popover', 'dark-backdrop']\n })\n popover.onDidDismiss().then((resp: any) => {\n if (isCreateAccountFormData(resp?.data)) {\n resolve(resp.data);\n } else {\n resolve(null);\n }\n });\n await popover.present();\n } catch (error) {\n this.ui.logError(error);\n reject(error);\n }\n }\n );\n if (data) {\n await this.doCreateAccount(data);\n }\n } catch (error) {\n this.ui.logError(error);\n }\n }\n\n doProviderClick(provider: AuthProvider) {\n try {\n this.aps.registerWith(provider);\n } catch (error) {\n this.ui.logError(error);\n }\n }\n\n}\n","import { Component, EventEmitter, forwardRef, Inject, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AuthProcessService, MalSharedConfigToken, MalSharedConfig, FirebaseErrorCodes, PHONE_NUMBER_REGEX, FirebaseService, UiService } from 'ngx-firebase';\nimport { takeUntil } from 'rxjs/operators';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { NavController, PopoverController } from '@ionic/angular';\nimport { UserInfo, User } from '@firebase/auth-types';\n\n@Component({\n selector: 'mal-authui-user',\n templateUrl: './user.component.html',\n styleUrls: ['./user.component.scss', '../../ionic-auth-ui.scss']\n})\nexport class AuthUIUserComponent implements OnInit, OnDestroy {\n\n @Input()\n get editMode(): boolean { return this._editMode$.value; }\n set editMode(val: boolean) { this._editMode$.next(val); }\n get editMode$(): Observable<boolean> { return this._editMode$.asObservable(); }\n private _editMode$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n canEditAccount = this.config.authUi.allowAccountEdit;\n canLogout = this.config.authUi.allowAccountLogout;\n canDeleteAccount = this.config.authUi.allowAccountDelete;\n\n // tslint:disable no-output-on-prefix\n @Output() onSignOut: EventEmitter<void> = this.aps.onSignOutEmitter;\n @Output() onAccountEdited: EventEmitter<UserInfo> = this.aps.onUserUpdatedEmitter;\n @Output() onAccountDeleted: EventEmitter<void> = this.aps.onUserDeletedEmitter;\n // tslint:enable no-output-on-prefix\n\n private destroy$: Subject<void> = new Subject<void>();\n\n userPhotoUrl$: Observable<string | null> = this.aps.getUserPhotoUrl();\n user$: Observable<User | null> = this.aps.user$;\n\n public readonly updateFormGroup: FormGroup = new FormGroup({\n name: new FormControl('', [Validators.required]),\n email: new FormControl('', [Validators.required]),\n phoneNumber: new FormControl('', [Validators.pattern(PHONE_NUMBER_REGEX)])\n });\n\n constructor(\n public aps: AuthProcessService,\n private ui: UiService,\n private navController: NavController,\n @Inject(forwardRef(() => MalSharedConfigToken)) public config: MalSharedConfig,\n private popoverController: PopoverController,\n private fire: FirebaseService\n ) {\n }\n ngOnInit() {\n this.aps.user$\n .pipe(takeUntil(this.destroy$))\n .subscribe(currentUser => {\n if (currentUser) {\n this.updateFormGroup.patchValue({\n name: currentUser.displayName,\n email: currentUser.email,\n phoneNumber: currentUser.phoneNumber\n });\n this.updateFormGroup.markAsPristine();\n } else {\n this.updateFormGroup.reset();\n this.editMode = false;\n }\n });\n\n this.editMode$\n .pipe(takeUntil(this.destroy$))\n .subscribe(editMode => {\n if (editMode) {\n this.updateFormGroup.enable();\n } else {\n this.updateFormGroup.disable();\n }\n });\n\n this.editMode = false;\n this.updateFormGroup.disable();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n changeEditMode() {\n this.editMode = !this.editMode;\n }\n\n async dismiss() {\n if (this.popoverController.getTop() !== null) {\n await this.popoverController.dismiss();\n }\n }\n\n async save() {\n if (this.updateFormGroup.dirty) {\n\n try {\n await this.aps.updateUserInfo({\n displayName: (this.updateFormGroup.controls.name.dirty) ? this.updateFormGroup.controls.name.value : undefined,\n email: (this.updateFormGroup.controls.email.dirty) ? this.updateFormGroup.controls.email.value : undefined,\n phoneNumber: (this.updateFormGroup.controls.phoneNumber.dirty) ? this.updateFormGroup.controls.phoneNumber.value : undefined,\n });\n } catch (error) {\n this.fire.recordException(error);\n this.ui.toast(error && error.message ? error.message : error);\n }\n\n await this.dismiss();\n\n } else {\n this.editMode = false;\n }\n }\n\n async signOut() {\n try {\n await Promise.all([\n this.aps.signOut(),\n this.dismiss(),\n this.navController.navigateRoot(this.config.authUi.authGuardFallbackURL)\n ]);\n } catch (error) {\n this.fire.recordException(error);\n }\n }\n\n /**\n * Delete the account of the current firebase ngx-auth-firebaseui-user\n *\n * On Success, emit the <onAccountDeleted> event and toast a msg!#\n * Otherwise, log the and toast and error msg!\n *\n * If the operation fails due to not having current enough signIn, redrect to reSignInUrl, providing forOperation=deleteUser\n *\n */\n async deleteAccount() {\n try {\n if (await this.ui.yesNoAlert(\n 'auth.user.message.confirmDelete',\n { defaultToNo: true, interpolateParams: { userName: this.aps.user?.displayName } })\n ) {\n await this.aps.deleteUser();\n await Promise.all([\n this.dismiss(),\n this.ui.toast('auth.user.message.acountDeleted'),\n this.navController.navigateRoot(this.config.authUi.authGuardFallbackURL)\n ]);\n }\n } catch (error) {\n\n if (error.code === FirebaseErrorCodes.requiresRecentLogin) {\n // If we've failed due to lack of current credentials ask the user to reauthenticate and try again.\n await new Promise<void>(async (resolve, reject) => {\n const popover = await this.popoverController.create({\n component: await import('../reauthenticate/reauthenticate.component').then(m => m.AuthUIReauthenticateComponent),\n componentProps: {\n message: error.message\n },\n cssClass: 'wide-popover'\n });\n popover.onDidDismiss().then(async () => {\n try {\n await this.aps.deleteUser();\n await Promise.all([\n this.dismiss(),\n this.ui.toast('auth.user.message.acountDeleted'),\n this.navController.navigateRoot(this.config.authUi.authGuardFallbackURL)\n ]);\n } catch (error) {\n await this.ui.toast('auth.user.message.acountDeleted', { interpolateParams: { error: error.message } });\n }\n resolve();\n });\n await popover.present();\n });\n\n } else {\n this.fire.recordException(error);\n await this.ui.toast('auth.user.message.acountDeleted', { interpolateParams: { error: error.message } });\n }\n }\n }\n\n}\n\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { PopoverController } from '@ionic/angular';\nimport { AuthProcessService, AuthProvider, UiService } from 'ngx-firebase';\nimport { map } from 'rxjs/operators';\nimport { NgxAuthFirebaseuiAnimations } from '../../animations';\n\n@Component({\n selector: 'mal-authui-reauthenticate',\n templateUrl: './reauthenticate.component.html',\n styleUrls: ['../../ionic-auth-ui.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: NgxAuthFirebaseuiAnimations\n})\nexport class AuthUIReauthenticateComponent implements AfterViewInit {\n\n @Input() logoUrl?: string;\n @Input() providers: string[] | string = AuthProvider.ALL; // google, facebook, twitter, github as array or all as one single string\n @Input() registrationEnabled = true;\n @Input() resetPasswordEnabled = true;\n @Input() tosUrl: string = '';\n @Input() privacyPolicyUrl: string = '';\n\n // Events\n // tslint:disable no-output-on-prefix\n @Output() onSuccess: any = this.aps.onSignInEmitter;\n @Output() onError: any = this.aps.onErrorEmitter;\n @Output() onCreateAccountRequested: EventEmitter<void> = new EventEmitter<void>();\n @Output() onResetPasswordRequested: EventEmitter<void> = new EventEmitter<void>();\n // tslint:enable no-output-on-prefix\n\n readonly providers$ = this.aps.reauthenticateProviders$;\n readonly showPasswordProvider$ = this.providers$.pipe(map(providers => providers.includes(AuthProvider.EmailAndPassword)));\n readonly showDivider$ = this.providers$.pipe(map(providers => providers.length > 1 && providers.includes(AuthProvider.EmailAndPassword)));\n\n public message: string = '';\n\n public readonly reauthForm: FormGroup = new FormGroup({\n password: new FormControl(null, [Validators.required])\n });\n\n constructor(\n // tslint:disable-next-line @typescript-eslint/ban-types\n public aps: AuthProcessService,\n private ui: UiService,\n private changeDetectorRef: ChangeDetectorRef,\n private popoverController: PopoverController\n ) { }\n\n ngAfterViewInit() {\n this.changeDetectorRef.detectChanges();\n }\n\n async dismiss() {\n if (this.popoverController.getTop() !== null) {\n await this.popoverController.dismiss();\n }\n }\n\n async doReauthenticateWithPassword() {\n try {\n if (!this.aps.user?.email || !this.reauthForm.value.password) {\n throw new Error('Trying to reauth with email/password when not valid');\n }\n await this.aps.reauthenicateWithProvider(\n AuthProvider.EmailAndPassword, { credentials: { email: this.aps.user.email, password: this.reauthForm.value.password } }\n );\n } catch (error) {\n this.ui.logError(error);\n } finally {\n await this.dismiss();\n }\n }\n\n doProviderClick(provider: AuthProvider) {\n try {\n this.aps.reauthenicateWithProvider(provider);\n } catch (error) {\n this.ui.logError(error);\n }\n }\n\n}\n","import { Component, Input, Output, EventEmitter, Inject, forwardRef } from '@angular/core';\nimport { AuthProcessService, AuthProvider, MalSharedConfigToken, MalSharedConfig, UiService } from 'ngx-firebase';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\nimport { NgxAuthFirebaseuiAnimations } from '../../animations';\n\nexport enum Layout {\n ROW = 'row',\n COLUMN = 'column'\n}\n\nexport interface DisplayProvider {\n name: AuthProvider;\n icon?: string;\n label: string;\n}\nconst displayProviders: { [key: string]: DisplayProvider } = {\n google: { name: AuthProvider.Google, icon: 'logo-google', label: 'Google' },\n apple: { name: AuthProvider.Apple, icon: 'logo-apple', label: 'Apple' },\n facebook: { name: AuthProvider.Facebook, icon: 'logo-facebook', label: 'Facebook' },\n twitter: { name: AuthProvider.Twitter, icon: 'logo-twitter', label: 'Twitter' },\n github: { name: AuthProvider.Github, icon: 'logo-github', label: 'GitHub' },\n microsoft: { name: AuthProvider.Microsoft, label: 'Microsoft' },\n yahoo: { name: AuthProvider.Yahoo, icon: 'logo-yahoo', label: 'Yahoo' }\n};\n\ndeclare type ProviderType = AuthProvider[] | AuthProvider;\n\n@Component({\n selector: 'mal-authui-providers',\n templateUrl: 'providers.component.html',\n styleUrls: ['providers.component.scss', '../../ionic-auth-ui.scss'],\n animations: NgxAuthFirebaseuiAnimations\n})\nexport class AuthProvidersComponent {\n\n @Input() layout: string = Layout.ROW;\n\n @Input()\n get providers(): ProviderType | AuthProvider.ALL { return this.providers$.value; }\n set providers(val: ProviderType | AuthProvider.ALL) { this.providers$.next(val); }\n private providers$: BehaviorSubject<ProviderType | AuthProvider.ALL> = new BehaviorSubject<ProviderType>(AuthProvider.ALL);\n\n @Output() providerClick: EventEmitter<AuthProvider> = new EventEmitter<AuthProvider>();\n\n readonly displayProviders$: Observable<DisplayProvider[]> = this.providers$.pipe(\n // Filter for those in config\n map(providerOrArray => {\n if (providerOrArray === AuthProvider.ALL) {\n providerOrArray = this.config.authUi.supportedProviders;\n }\n const providers = Array.isArray(providerOrArray) ? providerOrArray : [providerOrArray];\n return providers.filter(item => this.providers === AuthProvider.ALL || this.providers.includes(item));\n }),\n // Filter for those valid on platform\n switchMap(async providers => {\n const providerFilter = await Promise.all(providers.map(item => this.aps.isProviderSupported(item)));\n return providers.filter((_item, index) => providerFilter[index]);\n }),\n // Map to display type\n map(providers => providers.map(item => displayProviders[item])),\n catchError(error => {\n this.ui.logError(error);\n return of([]);\n })\n );\n\n constructor(\n public aps: AuthProcessService,\n public ui: UiService,\n @Inject(forwardRef(() => MalSharedConfigToken)) public config: MalSharedConfig\n ) {\n }\n\n}\n","import { ChangeDetectorRef, Component, forwardRef, Injector } from '@angular/core';\nimport { FormControl, NG_VALUE_ACCESSOR, Validators, NG_VALIDATORS } from '@angular/forms';\nimport { ValueAccessorControlComponent } from 'ngx-firebase';\n\n@Component({\n selector: 'mal-authui-email-field',\n templateUrl: 'email-field.component.html',\n styleUrls: ['../../ionic-auth-ui.scss'],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => AuthUIEmailFieldComponent), multi: true },\n { provide: NG_VALIDATORS, useExisting: AuthUIEmailFieldComponent, multi: true }]\n})\nexport class AuthUIEmailFieldComponent extends ValueAccessorControlComponent<string> {\n\n public control: FormControl = new FormControl('', [Validators.email]);\n\n constructor(\n injector: Injector,\n cdRef: ChangeDetectorRef\n ) {\n super(injector, cdRef);\n }\n\n}\n","import { Component, Input } from '@angular/core';\nimport { FormControl, NgControl, ValidationErrors } from '@angular/forms';\nimport { UiService } from 'ngx-firebase';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { catchError, map, startWith, switchMap } from 'rxjs/operators';\n\ntype ControlType = NgControl | FormControl | undefined | null;\n\n@Component({\n selector: 'mal-authui-form-field',\n templateUrl: 'form-field.component.html',\n styleUrls: ['form-field.component.scss', '../../ionic-auth-ui.scss']\n})\nexport class AuthUIFormFieldComponent {\n\n @Input() label: string = '';\n\n @Input()\n get control(): ControlType { return this.control$.value; }\n set control(val: ControlType) { this.control$.next(val); }\n private control$: BehaviorSubject<ControlType> = new BehaviorSubject<ControlType>(undefined);\n\n public errors$: Observable<string[]> = this.control$.pipe(\n switchMap(control => (control && control.statusChanges)\n ? control.statusChanges.pipe(startWith(control.errors), map(_ => this.errorMessageFn(control.errors)))\n : of([])\n ),\n catchError(error => {\n this.ui.logError(error);\n return of([error.message]);\n })\n );\n\n public readonly isValid$: Observable<boolean> = this.control$.pipe(\n switchMap(control => (control && control.statusChanges)\n ? control.statusChanges.pipe(startWith(control.valid), map(() => control.valid || false))\n : of(true)\n )\n );\n\n public readonly isDisabled$: Observable<boolean> = this.control$.pipe(\n switchMap(control => (control && control.statusChanges)\n ? control.statusChanges.pipe(startWith(control.disabled), map(() => control.disabled || false))\n : of(true)\n )\n );\n\n @Input() errorMessage?: string;\n @Input() errorMessageFn: (errors: ValidationErrors | null) => string[] = this.flattenErrors.bind(this);\n @Input() errorPrefix?: string;\n @Input() customErrors?: { [index: string]: string };\n @Input() translateParams: { [key: string]: string } = {};\n @Input() icon?: string;\n @Input() hintEnd?: string;\n\n constructor(\n private ui: UiService\n ) { }\n\n private flattenErrors(errors: ValidationErrors | null): string[] {\n if (errors) {\n if (this.customErrors || this.errorPrefix) {\n return Object.keys(errors)\n .map(key => {\n if (this.customErrors) {\n if (undefined !== this.customErrors[key]) {\n return this.customErrors[key];\n } else if (undefined !== this.customErrors.default) {\n return this.customErrors.default;\n } else {\n return '';\n }\n } else if (this.errorPrefix) {\n return `${this.errorPrefix}.${key}`;\n }\n })\n .filter(item => !!item) as string[] || [];\n } else if (this.errorMessage) {\n return [this.errorMessage];\n } else {\n return [];\n }\n } else {\n return [];\n }\n }\n\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, forwardRef, Inject, Injector, OnDestroy } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, Validators, NG_VALIDATORS, Validator } from '@angular/forms';\nimport { MalSharedConfigToken, MalSharedConfig, ValueAccessorControlComponent } from 'ngx-firebase';\n\n@Component({\n selector: 'mal-authui-name-field',\n templateUrl: 'name-field.component.html',\n styleUrls: ['../../ionic-auth-ui.scss'],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => AuthUINameFieldComponent), multi: true },\n { provide: NG_VALIDATORS, useExisting: AuthUINameFieldComponent, multi: true }]\n})\nexport class AuthUINameFieldComponent extends ValueAccessorControlComponent<string>\n implements ControlValueAccessor, Validator, OnDestroy, AfterViewInit {\n\n public control: FormControl = new FormControl('', [\n Validators.minLength(this.config.authUi.nameMinLength),\n Validators.maxLength(this.config.authUi.nameMaxLength)\n ]);\n\n constructor(\n @Inject(forwardRef(() => MalSharedConfigToken)) public config: MalSharedConfig,\n injector: Injector,\n cdRef: ChangeDetectorRef\n ) {\n super(injector, cdRef);\n }\n\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'mal-authui-or-divider',\n templateUrl: 'or-divider.component.html',\n styleUrls: ['or-divider.component.scss', '../../ionic-auth-ui.scss']\n})\nexport class AuthUIOrDividerComponent {\n\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { MalAuthUIConfig } from 'ngx-firebase';\n\nexport function passwordStrengthValidator(config: MalAuthUIConfig): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n let strengthErrors: ValidationErrors | null = null;\n if (control.value) {\n if (config.passwordMinLength && control.value.length < config.passwordMinLength) {\n return { minlength: true };\n }\n if (config.passwordMaxLength && control.value.length > config.passwordMaxLength) {\n return { maxlength: true };\n }\n if (config.passwordRequireLowercase && (!/[a-z]/.test(control.value))) {\n if (!strengthErrors) { strengthErrors = {}; }\n strengthErrors.requireLowercase = true;\n }\n if (config.passwordRequireUppercase && (!/[A-Z]/.test(control.value))) {\n if (!strengthErrors) { strengthErrors = {}; }\n strengthErrors.requireUppercase = true;\n }\n if (config.passwordRequireSpecial && (!/[!@#\\$%\\^&]/.test(control.value))) {\n if (!strengthErrors) { strengthErrors = {}; }\n strengthErrors.requireSpecial = true;\n }\n if (config.passwordRequireNumbers && (!/[0-9]/.test(control.value))) {\n if (!strengthErrors) { strengthErrors = {}; }\n strengthErrors.requireNumbers = true;\n }\n if (strengthErrors) {\n return { passwordStrength: strengthErrors };\n }\n }\n return null;\n };\n}\n\nexport function confirmPasswordValidator(control: AbstractControl): ValidationErrors | null {\n if (!control.parent || !control) {\n return null;\n }\n\n const password = control.parent.get('password');\n const passwordConfirm = control.parent.get('passwordConfirm');\n\n if (!password || !passwordConfirm) {\n return null;\n }\n\n if (!password.value && !passwordConfirm.value) {\n return null;\n }\n\n if (password.value === passwordConfirm.value) {\n return null;\n }\n\n if (password.value && !passwordConfirm.value) {\n return { passwordConfirmationRequired: true };\n }\n\n return { passwordsNotMatching: true };\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, forwardRef, Inject, Injector, Input, OnDestroy } from '@angular/core';\nimport {\n AbstractControl, ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, Validators,\n FormGroup, NG_VALIDATORS, Validator, ValidationErrors, NgControl\n} from '@angular/forms';\nimport { UiService, MalSharedConfig, MalSharedConfigToken } from 'ngx-firebase';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { confirmPasswordValidator, passwordStrengthValidator } from './passwordValidatorFunctions';\n\ntype ValueType = string | undefined;\n\n@Component({\n selector: 'mal-authui-password-field',\n templateUrl: 'password-field.component.html',\n styleUrls: ['../../ionic-auth-ui.scss'],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => AuthUIPasswordFieldComponent), multi: true },\n { provide: NG_VALIDATORS, useExisting: AuthUIPasswordFieldComponent, multi: true }]\n})\nexport class AuthUIPasswordFieldComponent implements ControlValueAccessor, Validator, OnDestroy, AfterViewInit {\n\n // Validators are added by set validators function\n public form: FormGroup = new FormGroup({\n password: new FormControl('', []),\n passwordConfirm: new FormControl('', [])\n });\n\n public autocomplete: string = 'current-password';\n\n @Input()\n set forUpdate(val: boolean) {\n this._forUpdate = val;\n this.setValidators();\n if (val) {\n this.autocomplete = 'new-password';\n } else {\n this.autocomplete = 'current-password';\n }\n }\n get forUpdate(): boolean {\n return this._forUpdate;\n }\n private _forUpdate: boolean = false;\n\n @Input()\n set value(val: ValueType) {\n if (val) {\n this.form.patchValue({\n password: val,\n passwordConfirm: val\n });\n } else {\n this.form.reset();\n }\n }\n get value(): ValueType {\n return this.form.controls.password.value;\n }\n\n public isDisabled: boolean = false;\n public parentControl?: NgControl | null;\n\n private destroy$: Subject<void> = new Subject<void>();\n\n propogateChange = (val: ValueType) => { };\n propogateTouch = () => { };\n propogateValidationChange = () => { };\n\n constructor(\n @Inject(forwardRef(() => MalSharedConfigToken)) public config: MalSharedConfig,\n private injector: Injector,\n private cdRef: ChangeDetectorRef,\n private ui: UiService\n ) {\n this.setValidators();\n this.form.controls.password.valueChanges\n .pipe(takeUntil(this.destroy$))\n .subscribe(val => {\n try {\n this.form.controls.passwordConfirm.updateValueAndValidity();\n this.propogateChange(val);\n } catch (error) {\n this.ui.logError(error);\n }\n });\n this.form.statusChanges\n .pipe(takeUntil(this.destroy$))\n .subscribe(_ => {\n try {\n this.propogateValidationChange()\n } catch (error) {\n this.ui.logError(error);\n }\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n ngAfterViewInit() {\n this.parentControl = this.injector.get(NgControl, null);\n this.setValidators();\n this.cdRef.detectChanges();\n }\n\n // Form Accessor functions\n registerOnChange(fn: any) { this.propogateChange = fn; }\n registerOnTouched(fn: any) { this.propogateTouch = fn; }\n registerOnValidatorChange?(fn: () => void) { this.propogateValidationChange = fn; }\n writeValue(val: ValueType) { this.value = val; }\n setDisabledState(isDisabled: boolean) { this.isDisabled = isDisabled; }\n validate(control: AbstractControl): ValidationErrors | null {\n if (this.form.controls.password.errors || this.form.controls.passwordConfirm.errors) {\n return Object.assign(this.form.controls.password.errors || {}, this.form.controls.passwordConfirm.errors || {});\n } else {\n return null;\n }\n }\n\n private setValidators() {\n if (this.forUpdate) {\n this.form.controls.password.setValidators([\n Validators.maxLength(this.config.authUi.passwordMaxLength),\n Validators.minLength(this.config.authUi.passwordMinLength),\n passwordStrengthValidator(this.config.authUi)\n ]);\n this.form.controls.passwordConfirm.setValidators([\n confirmPasswordValidator\n ]);\n } else {\n this.form.controls.password.setValidators([]);\n this.form.controls.passwordConfirm.setValidators([]);\n }\n this.form.controls.password.updateValueAndValidity();\n this.form.controls.passwordConfirm.updateValueAndValidity();\n }\n\n}\n","import { Component, forwardRef, Inject, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NavController } from '@ionic/angular';\r\nimport { UiService, FirebaseService, MalSharedConfig, MalSharedConfigToken } from 'ngx-firebase';\r\nimport { NgxAuthFirebaseuiAnimations } from '../../animations';\r\n\r\n@Component({\r\n templateUrl: 'register.page.html',\r\n styleUrls: ['../../ionic-auth-ui.scss'],\r\n animations: NgxAuthFirebaseuiAnimations\r\n})\r\nexport class AuthRegisterPage implements OnInit {\r\n\r\n readonly logoUrl?: string = this.config.authUi.logoUrl;\r\n\r\n constructor(\r\n private ui: UiService,\r\n private fire: FirebaseService,\r\n private activatedRoute: ActivatedRoute,\r\n private navController: NavController,\r\n @Inject(forwardRef(() => MalSharedConfigToken)) public config: MalSharedConfig,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.fire.setScreenName('register', 'AuthRegisterPage');\r\n }\r\n\r\n doSuccess() {\r\n try {\r\n const redirectUrl = this.activatedRoute.snapshot.queryParamMap.get('redirectUrl');\r\n if (redirectUrl) {\r\n console.log('Redirecting logged in user to>', redirectUrl);\r\n this.navController.navigateRoot(redirectUrl);\r\n } else {\r\n this.navController.navigateRoot(['/']);\r\n }\r\n } catch (error) {\r\n this.ui.logError(error);\r\n }\r\n }\r\n\r\n doLoginRequested() {\r\n try {\r\n this.navController.navigateRoot(['/auth', 'signin'], { queryParams: { redirectUrl: this.activatedRoute.snapshot.queryParamMap.get('redirectUrl') } });\r\n } catch (error) {\r\n this.ui.logError(error);\r\n }\r\n }\r\n\r\n}\r\n","import { Component, forwardRef, Inject, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NavController } from '@ionic/angular';\r\nimport { NgxAuthFirebaseuiAnimations } from '../../animations';\r\nimport { AuthProcessService, MalSharedConfigToken, MalSharedConfig, UiService, FirebaseService } from 'ngx-firebase';\r\n\r\nexport interface SocialProvider {\r\n name: string;\r\n label: string;\r\n loginFn: () => Promise<void>;\r\n}\r\n\r\n@Component({\r\n templateUrl: 'signin.page.html',\r\n styleUrls: ['../../ionic-auth-ui.scss'],\r\n animations: NgxAuthFirebaseuiAnimations\r\n})\r\nexport class AuthSignInPage implements OnInit {\r\n\r\n readonly logoUrl?: string = this.config.authUi.logoUrl;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private aps: AuthProcessService,\r\n private navController: NavController,\r\n private ui: UiService,\r\n private fire: FirebaseService,\r\n @Inject(forwardRef(() => MalSharedConfigToken)) public config: MalSharedConfig,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.fire.setScreenName('signin', 'AuthSignInPage');\r\n }\r\n\r\n async doSuccess(e: any) {\r\n\r\n const redirectUrl = this.activatedRoute.snapshot.queryParamMap.get('redirectUrl');\r\n const forOperation = this.activatedRoute.snapshot.queryParamMap.get('forOperation');\r\n\r\n if (redirectUrl) {\r\n // Ridirect to page on SignIn\r\n this.fire.addLogMessage(`Redirecting logged in user to> ${redirectUrl}`);\r\n await this.navController.navigateRoot(redirectUrl);\r\n\r\n } else {\r\n try {\r\n switch (forOperation) {\r\n\r\n case 'deleteUser':\r\n if (await this.ui.yesNoAlert(\r\n 'auth.user.message.confirmDelete',\r\n { interpolateParams: { userName: this.aps.user?.displayName } })\r\n ) {\r\n await this.aps.deleteUser();\r\n }\r\n break;\r\n\r\n case undefined:\r\n case null:\r\n break;\r\n\r\n default:\r\n throw new Error(`Unknown forOperation: ${forOperation}`);\r\n\r\n }\r\n } catch (error) {\r\n this.ui.logError(error);\r\n } finally {\r\n await this.navController.navigateRoot(this.config.authUi.authGuardLoggedInURL);\r\n }\r\n }\r\n }\r\n\r\n doCreateAccountRequested() {\r\n try {\r\n return this.navController.navigateRoot(\r\n ['/auth', 'register'],\r\n { queryParams: { redirectUrl: this.activatedRoute.snapshot.queryParamMap.get('redirectUrl') } }\r\n );\r\n } catch (error) {\r\n this.ui.logError(error);\r\n }\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n templateUrl: 'user.page.html'\r\n})\r\nexport class AuthUserPage {\r\n\r\n constructor(\r\n ) { }\r\n\r\n}\r\n","// Angular\nimport { Component, forwardRef, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { NavController } from '@ionic/angular';\n\n// Mal\nimport { AuthProcessService, MalSharedConfig, MalSharedConfigToken, UiService, FirebaseService } from 'ngx-firebase';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n templateUrl: 'verifyemail.page.html',\n styleUrls: ['../../ionic-auth-ui.scss']\n})\nexport class AuthVerifyEmailPage implements OnInit, OnDestroy {\n\n readonly backgroundClass = this.config?.authUi.verifyEmailBackground || '';\n\n private destroy$: Subject<void> = new Subject<void>();\n\n constructor(\n private ui: UiService,\n private fire: FirebaseService,\n private aps: AuthProcessService,\n private route: ActivatedRoute,\n private navCtrl: NavController,\n @Inject(forwardRef(() => MalSharedConfigToken)) public config: MalSharedConfig,\n ) { }\n\n ngOnInit() {\n this.fire.setScreenName('verifyemail', 'VerifyEmailPage');\n\n this.aps.user$.pipe(\n takeUntil(this.destroy$)\n ).subscribe(user => {\n try {\n if (user && user.emailVerified) {\n this.doRetry();\n }\n } catch (error) {\n this.ui.logError(error);\n }\n });\n\n this.aps.onSignOutEmitter.pipe(\n takeUntil(this.destroy$)\n ).subscribe(() => {\n try {\n this.navCtrl.navigateRoot(this.config.authUi.authGuardFallbackURL || '/');\n } catch (error) {\n this.ui.logError(error);\n }\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n async doRetry() {\n try {\n await this.aps.reloadUserInfo();\n const redirect = this.route.snapshot.queryParamMap.get('redirectUrl');\n this.navCtrl.navigateRoot(redirect);\n } catch (error) {\n this.ui.logError(error);\n }\n }\n\n async doResendVerification() {\n try {\n await this.aps.sendNewVerificationEmail();\n await this.ui.toast('auth.emailConfirmation.onConfirmationSuccess');\n } catch (error) {\n this.ui.logError(error);\n }\n }\n\n}\n","// Angular & Inionc\nimport { Component, forwardRef, Inject, Input, OnDestroy, OnInit, } from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, FormControl, FormGroup, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator, Validators } from '@angular/forms';\n\n// RxJS\nimport { Subject } from 'rxjs';\n\n// Mal\nimport { AuthProcessService, UiService, MalSharedConfig, MalSharedConfigToken } from 'ngx-firebase';\nimport { takeUntil } from 'rxjs/operators';\n\ntype ValueType = boolean | undefined;\n@Component({\n selector: 'mal-authui-terms-field',\n templateUrl: './terms-field.component.html',\n styleUrls: ['../../ionic-auth-ui.scss'],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => AuthUITermsFieldComponent), multi: true },\n { provide: NG_VALIDATORS, useExisting: AuthUITermsFieldComponent, multi: true }\n ]\n})\nexport class AuthUITermsFieldComponent implements OnInit, OnDestroy, ControlValueAccessor, Validator {\n\n termsForm: FormGroup = new FormGroup({\n tos: new FormControl(true, []),\n privacyPolicy: new FormControl(true, [])\n });\n\n // Config\n tosUrl = this.config.authUi.tosUrl;\n privacyPolicyUrl = this.config.authUi.privacyPolicyUrl;\n\n // Private\n private destroy$: Subject<void> = new Subject<void>();\n\n @Input()\n set value(val: ValueType) {\n if (val) {\n this.termsForm.patchValue({\n tos: val,\n privacyPolicy: val\n });\n } else {\n this.termsForm.reset();\n }\n }\n get value(): ValueType {\n return this.termsForm.controls.tos.value && this.termsForm.controls.privacyPolicy.value;\n }\n\n propogateChange = (val: ValueType) => { };\n propogateTouch = () => { };\n propogateValidationChange = () => { };\n\n // tslint:disable-next-line @typescript-eslint/ban-types\n constructor(\n @Inject(forwardRef(() => MalSharedConfigToken)) public config: MalSharedConfig,\n public aps: AuthProcessService,\n private ui: UiService,\n ) {\n this.termsForm.statusChanges\n .pipe(takeUntil(this.destroy$))\n .subscribe(_ => {\n try {\n this.propogateValidationChange()\n } catch (error) {\n this.ui.logError(error);\n }\n });\n }\n\n // Form Accessor functions\n registerOnChange(fn: any) { this.propogateChange = fn; }\n registerOnTouched(fn: any) { this.propogateTouch = fn; }\n registerOnValidatorChange?(fn: () => void) { this.propogateValidationChange = fn; }\n writeValue(val: ValueType) { this.value = val; }\n validate(control: AbstractControl): ValidationErrors | null {\n if (this.termsForm.controls.tos.errors || this.termsForm.controls.privacyPolicy.errors) {\n return Object.assign(this.termsForm.controls.tos.errors || {}, this.termsForm.controls.privacyPolicy.errors || {});\n } else {\n return null;\n }\n }\n\n ngOnInit(): void {\n // If tos or privacy policy url set, ensure that the two form items are required\n if (this.config.authUi.tosUrl) {\n this.termsForm.controls.tos.setValidators(Validators.requiredTrue);\n }\n if (this.config.authUi.privacyPolicyUrl) {\n this.termsForm.controls.privacyPolicy.setValidators(Validators.requiredTrue);\n }\n this.termsForm.updateValueAndValidity();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n}\n","// Angular & Inionc\nimport {\n AfterViewInit, ChangeDetectorRef, Component, EventEmitter, forwardRef, Inject, OnDestroy, Output, ViewEncapsulation\n} from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\n\n// RxJS\nimport { Observable, Subject } from 'rxjs';\n\n// Mal\nimport { NgxAuthFirebaseuiAnimations } from '../../animations';\nimport { AuthProcessService, UiService, MalSharedConfig, MalSharedConfigToken } from 'ngx-firebase';\n\nexport interface CreateAccountFormData {\n name: string,\n email: string,\n password: string,\n terms: boolean\n}\n\n@Component({\n selector: 'mal-authui-register-with-email',\n templateUrl: './register-with-email.component.html',\n styleUrls: ['../../ionic-auth-ui.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: NgxAuthFirebaseuiAnimations\n})\nexport class AuthUIRegisterWithEmailComponent implements OnDestroy, AfterViewInit {\n\n @Output() createAccountClick: EventEmitter<CreateAccountFormData> = new EventEmitter<CreateAccountFormData>();\n\n registerForm: FormGroup = new FormGroup({\n name: new FormControl('', [Validators.required]),\n email: new FormControl('', [Validators.required]),\n password: new FormControl('', [Validators.required]),\n terms: new FormControl(true, []),\n });\n\n // Prevent somebody already logged in as guest - relogging in as gyest\n guestEnabled$: Observable<boolean> = this.aps.canSignInAsGuest$;\n\n // Private\n private destroy$: Subject<void> = new Subject<void>();\n\n // tslint:disable-next-line @typescript-eslint/ban-types\n constructor(\n @Inject(forwardRef(() => MalSharedConfigToken)) public config: MalSharedConfig,\n public aps: AuthProcessService,\n private ui: UiService,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n }\n\n ngAfterViewInit() {\n this.changeDetectorRef.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n async doCreateAccount(): Promise<void> {\n this.createAccountClick.emit(this.registerForm.value);\n }\n\n}\n","// Angular & Inionc\nimport { Component, ViewEncapsulation } from '@angular/core';\nimport { PopoverController } from '@ionic/angular';\nimport { CreateAccountFormData } from '../register-with-email/register-with-email.component';\n\n// RxJS\n\n// Mal\nimport { NgxAuthFirebaseuiAnimations } from '../../animations';\n\n\n@Component({\n templateUrl: './register-with-email-popover.component.html',\n styleUrls: ['../../ionic-auth-ui.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: NgxAuthFirebaseuiAnimations\n})\nexport class AuthUIRegisterWithEmailPopoverComponent {\n\n constructor(\n private popoverController:PopoverController\n ) { }\n\n doCreateAccountClick(data: CreateAccountFormData) {\n this.popoverController.dismiss(data);\n }\n\n}\n","// @angular/*\nimport { NgModule } from '@angular/core';\nimport { HttpClientModule } from '@angular/common/http';\nimport { IonicModule } from '@ionic/angular';\nimport { CommonModule } from '@angular/common';\n\nimport { TooltipsModule } from 'ionic4-tooltips';\n\n// Mal\nimport { MalSharedModule } from 'ngx-firebase';\nimport { MalIonicModule } from 'ngx-firebase/ionic';\n\n// components\nimport { AuthUISignInComponent } from './components/signin/signin.component';\nimport { AuthUIRegisterComponent } from './components/register/register.component';\nimport { AuthUIUserComponent } from './components/user/user.component';\nimport { AuthUIReauthenticateComponent } from './components/reauthenticate/reauthenticate.component';\nimport { EmailConfirmationComponent } from './components/email-confirmation/email-confirmation.component';\nimport { AuthUINameFieldComponent } from './components/name-field/name-field.component';\nimport { AuthUIPasswordFieldComponent } from './components/password-field/password-field.component';\nimport { AuthUIEmailFieldComponent } from './components/email-field/email-field.component';\nimport { AuthUIOrDividerComponent } from './components/or-divider/or-divider.component';\nimport { AuthUIFormFieldComponent } from './components/form-field/form-field.component';\nimport { AuthProvidersComponent } from './components/providers/providers.component';\nimport { AuthUITermsFieldComponent } from './components/terms-field/terms-field.component';\nimport { AuthUIRegisterWithEmailComponent } from './components/register-with-email/register-with-email.component';\nimport { AuthUIRegisterWithEmailPopoverComponent } from './components/register-with-email-popover/register-with-email-popover.component';\n// services\n// interfaces\n// pages\nimport { AuthSignInPage } from './pages/signin';\nimport { AuthRegisterPage } from './pages/register';\nimport { AuthUserPage } from './pages/user';\nimport { AuthVerifyEmailPage } from './pages/verifyemail';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nconst COMPONENTS = [\n AuthUIUserComponent,\n EmailConfirmationComponent,\n AuthUISignInComponent,\n AuthUIRegisterComponent,\n AuthUIReauthenticateComponent,\n AuthSignInPage,\n AuthRegisterPage,\n AuthUserPage,\n AuthVerifyEmailPage,\n AuthUIPasswordFieldComponent,\n AuthUIEmailFieldComponent,\n AuthUINameFieldComponent,\n AuthUIFormFieldComponent,\n AuthUITermsFieldComponent,\n AuthUIRegisterWithEmailComponent,\n AuthUIRegisterWithEmailPopoverComponent,\n AuthUIOrDividerComponent,\n AuthProvidersComponent\n];\n\nexport const IONIC_AUTH_UI_ROUTER_CONFIG = [\n { path: 'signin', component: AuthSignInPage },\n { path: 'register', component: AuthRegisterPage },\n { path: 'user', component: AuthUserPage },\n { path: 'verify', component: AuthVerifyEmailPage },\n { path: '', pathMatch: 'full', redirectTo: 'signin' }\n];\n\n@NgModule({\n imports: [\n MalSharedModule,\n MalIonicModule,\n IonicModule,\n CommonModule,\n TooltipsModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n FlexLayoutModule,\n ],\n exports: [\n ...COMPONENTS,\n FormsModule,\n ReactiveFormsModule,\n FlexLayoutModule,\n IonicModule\n ],\n declarations: COMPONENTS,\n entryComponents: [\n AuthUIUserComponent\n ]\n})\nexport class MalIonicAuthUiModule {\n\n}\n\n\n// Guards\n\n// Components\n\n// services\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {EmailConfirmationComponent as ɵf} from './components/email-confirmation/email-confirmation.component';\nexport {AuthUIEmailFieldComponent as ɵk} from './components/email-field/email-field.component';\nexport {AuthUIFormFieldComponent as ɵm} from './components/form-field/form-field.component';\nexport {AuthUINameFieldComponent as ɵl} from './components/name-field/name-field.component';\nexport {AuthUIOrDividerComponent as ɵq} from './components/or-divider/or-divider.component';\nexport {AuthUIPasswordFieldComponent as ɵj} from './components/password-field/password-field.component';\nexport {AuthProvidersComponent as ɵr} from './components/providers/providers.component';\nexport {AuthUIReauthenticateComponent as ɵi} from './components/reauthenticate/reauthenticate.component';\nexport {AuthUIRegisterWithEmailPopoverComponent as ɵp} from './components/register-with-email-popover/register-with-email-popover.component';\nexport {AuthUIRegisterWithEmailComponent as ɵo} from './components/register-with-email/register-with-email.component';\nexport {AuthUIRegisterComponent as ɵh} from './components/register/register.component';\nexport {AuthUISignInComponent as ɵg} from './components/signin/signin.component';\nexport {AuthUITermsFieldComponent as ɵn} from './components/terms-field/terms-field.component';\nexport {AuthUIUserComponent as ɵe} from './components/user/user.component';\nexport {AuthRegisterPage as ɵb} from './pages/register';\nexport {AuthSignInPage as ɵa} from './pages/signin';\nexport {AuthUserPage as ɵc} from './pages/user';\nexport {AuthVerifyEmailPage as ɵd} from './pages/verifyemail';"],"names":[],"mappings":"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"}
|