ngx-firebase 1.1.13 → 22.0.1
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 +121 -13
- package/fesm2022/ngx-firebase.mjs +158 -0
- package/fesm2022/ngx-firebase.mjs.map +1 -0
- package/package.json +39 -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 -2299
- 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 -779
- 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 -1509
- 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 -70
- package/shared/interfaces/tokens.d.ts +0 -16
- package/shared/interfaces/ui-providers.interface.d.ts +0 -66
- package/shared/services/analytics.service.d.ts +0 -10
- package/shared/services/auth-process.service.d.ts +0 -197
- 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,99 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
4
|
-
import { PopoverController } from '@ionic/angular';
|
|
5
|
-
import { AuthProcessService, AuthProvider, UiService } from 'ngx-firebase';
|
|
6
|
-
import { map } from 'rxjs/operators';
|
|
7
|
-
import { NgxAuthFirebaseuiAnimations } from '../../animations';
|
|
8
|
-
export class AuthUIReauthenticateComponent {
|
|
9
|
-
constructor(
|
|
10
|
-
// tslint:disable-next-line @typescript-eslint/ban-types
|
|
11
|
-
aps, ui, changeDetectorRef, popoverController) {
|
|
12
|
-
this.aps = aps;
|
|
13
|
-
this.ui = ui;
|
|
14
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
15
|
-
this.popoverController = popoverController;
|
|
16
|
-
this.providers = AuthProvider.ALL; // google, facebook, twitter, github as array or all as one single string
|
|
17
|
-
this.registrationEnabled = true;
|
|
18
|
-
this.resetPasswordEnabled = true;
|
|
19
|
-
this.tosUrl = '';
|
|
20
|
-
this.privacyPolicyUrl = '';
|
|
21
|
-
// Events
|
|
22
|
-
// tslint:disable no-output-on-prefix
|
|
23
|
-
this.onSuccess = this.aps.onSignInEmitter;
|
|
24
|
-
this.onError = this.aps.onErrorEmitter;
|
|
25
|
-
this.onCreateAccountRequested = new EventEmitter();
|
|
26
|
-
this.onResetPasswordRequested = new EventEmitter();
|
|
27
|
-
// tslint:enable no-output-on-prefix
|
|
28
|
-
this.providers$ = this.aps.reauthenticateProviders$;
|
|
29
|
-
this.showPasswordProvider$ = this.providers$.pipe(map(providers => providers.includes(AuthProvider.EmailAndPassword)));
|
|
30
|
-
this.showDivider$ = this.providers$.pipe(map(providers => providers.length > 1 && providers.includes(AuthProvider.EmailAndPassword)));
|
|
31
|
-
this.message = '';
|
|
32
|
-
this.reauthForm = new FormGroup({
|
|
33
|
-
password: new FormControl(null, [Validators.required])
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
ngAfterViewInit() {
|
|
37
|
-
this.changeDetectorRef.detectChanges();
|
|
38
|
-
}
|
|
39
|
-
dismiss() {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
if (this.popoverController.getTop() !== null) {
|
|
42
|
-
yield this.popoverController.dismiss();
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
doReauthenticateWithPassword() {
|
|
47
|
-
var _a;
|
|
48
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
try {
|
|
50
|
-
if (!((_a = this.aps.user) === null || _a === void 0 ? void 0 : _a.email) || !this.reauthForm.value.password) {
|
|
51
|
-
throw new Error('Trying to reauth with email/password when not valid');
|
|
52
|
-
}
|
|
53
|
-
yield this.aps.reauthenicateWithProvider(AuthProvider.EmailAndPassword, { credentials: { email: this.aps.user.email, password: this.reauthForm.value.password } });
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
this.ui.logError(error);
|
|
57
|
-
}
|
|
58
|
-
finally {
|
|
59
|
-
yield this.dismiss();
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
doProviderClick(provider) {
|
|
64
|
-
try {
|
|
65
|
-
this.aps.reauthenicateWithProvider(provider);
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
this.ui.logError(error);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
AuthUIReauthenticateComponent.decorators = [
|
|
73
|
-
{ type: Component, args: [{
|
|
74
|
-
selector: 'mal-authui-reauthenticate',
|
|
75
|
-
template: "<div fxLayout=\"column\" fxLayoutAlign=\"center center\" id=\"signin-wrapper\" class=\"authui-wrapper\">\n <div [@animateStagger]=\"{ value: '50' }\" id=\"signin-inner\" class=\"authui-inner-wrapper\">\n\n <div *ngIf=\"logoUrl\" class=\"authui-logo\">\n <img [@animate]=\"{ value: '*', params: { x: '50px' } }\" [src]=\"logoUrl\" alt=\"logo\">\n </div>\n\n <div [@animate]=\"{ value: '*', params: { x: '-50px' } }\" class=\"authui-title\">\n {{ \"auth.reauthenticate.tabTitle\" | translate }}\n </div>\n\n {{ message }}\n\n <form *ngIf=\"showPasswordProvider$ | async\"\n [@animate]=\"{value:'*',params:{duration:'300ms',y:'100px'}}\"\n [formGroup]=\"reauthForm\"\n name=\"reauthForm\"\n novalidate>\n\n <mal-authui-password-field formControlName=\"password\"\n [@animate]=\"{ value: '*', params: { x: '50px' } }\">\n </mal-authui-password-field>\n\n <ion-button (click)=\"doReauthenticateWithPassword()\"\n color=\"primary\"\n [disabled]=\"reauthForm.invalid\"\n aria-label=\"LOG IN\"\n fxLayoutAlign=\"center center\"\n class=\"authui-submit-button\"\n id=\"loginButton\">\n {{\"auth.signIn.loginButton\" | translate }}\n </ion-button>\n\n </form>\n\n <mal-authui-or-divider *ngIf=\"showDivider$ | async\"\n [@animate]=\"{ value: '*', params: { z: '50px', delay: '50ms', scale: '0.2' } }\">\n </mal-authui-or-divider>\n\n <mal-authui-providers [providers]=\"providers$ | async\"\n (providerClick)=\"doProviderClick($event)\"\n fxLayoutAlign=\"center center\"\n layout=\"column\"></mal-authui-providers>\n\n </div>\n</div>",
|
|
76
|
-
encapsulation: ViewEncapsulation.None,
|
|
77
|
-
animations: NgxAuthFirebaseuiAnimations,
|
|
78
|
-
styles: ["div.authui-logo{margin:32px auto;width:30%}div.authui-logo img{display:block;max-width:120px;border-radius:20px;margin-left:auto;margin-right:auto}div.authui-title{font-size:20px;margin:16px 0}div.authui-alternate-action{margin:32px auto 24px;font-weight:500}div.authui-alternate-action .text{margin-right:8px}ion-content.auth-page{--background:var(--auth-pages-background,--background)}div.resend-confirmation{margin:24px 0;font-size:.9em;text-align:center}ion-button.authui-provider-button{width:220px;margin:8px auto;display:block;text-align:center;--background:var(--auth-provider-background-color,#fff)}@media screen and (max-width:599px){ion-button.authui-provider-button{width:100%}}ion-button.authui-submit-button{width:220px;margin:16px auto;display:block}@media screen and (max-width:599px){ion-button.authui-submit-button{width:100%}}ion-grid.terms{width:100%;margin:24px 0;text-align:left;font-size:.9em}ion-grid.terms ion-col ion-row a{font-size:16px;margin-left:4px}div.forgot-password{margin:24px 0;font-size:.9em}@media (prefers-color-scheme:dark){a{color:#fff}}div.auth-ui-form{width:384px;max-width:384px;padding:32px;text-align:center;flex:1 0 auto}@media screen and (max-width:599px){div.auth-ui-form{padding:24px;width:100%}}div.auth-ui-form form{width:100%;text-align:left}div.authui-wrapper{width:100%;background-size:cover;flex:1 0 auto;padding:32px}@media screen and (max-width:599px){div.authui-wrapper{padding:16px}}button.confirm:disabled{color:grey}div.email-popover-outer{width:100%}div.email-popover-outer div.email-popover-inner{padding:10%}"]
|
|
79
|
-
},] }
|
|
80
|
-
];
|
|
81
|
-
AuthUIReauthenticateComponent.ctorParameters = () => [
|
|
82
|
-
{ type: AuthProcessService },
|
|
83
|
-
{ type: UiService },
|
|
84
|
-
{ type: ChangeDetectorRef },
|
|
85
|
-
{ type: PopoverController }
|
|
86
|
-
];
|
|
87
|
-
AuthUIReauthenticateComponent.propDecorators = {
|
|
88
|
-
logoUrl: [{ type: Input }],
|
|
89
|
-
providers: [{ type: Input }],
|
|
90
|
-
registrationEnabled: [{ type: Input }],
|
|
91
|
-
resetPasswordEnabled: [{ type: Input }],
|
|
92
|
-
tosUrl: [{ type: Input }],
|
|
93
|
-
privacyPolicyUrl: [{ type: Input }],
|
|
94
|
-
onSuccess: [{ type: Output }],
|
|
95
|
-
onError: [{ type: Output }],
|
|
96
|
-
onCreateAccountRequested: [{ type: Output }],
|
|
97
|
-
onResetPasswordRequested: [{ type: Output }]
|
|
98
|
-
};
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhdXRoZW50aWNhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZpcmViYXNlL2lvbmljLWF1dGgtdWkvc3JjL2NvbXBvbmVudHMvcmVhdXRoZW50aWNhdGUvcmVhdXRoZW50aWNhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFTL0QsTUFBTSxPQUFPLDZCQUE2QjtJQTJCeEM7SUFDRSx3REFBd0Q7SUFDakQsR0FBdUIsRUFDdEIsRUFBYSxFQUNiLGlCQUFvQyxFQUNwQyxpQkFBb0M7UUFIckMsUUFBRyxHQUFILEdBQUcsQ0FBb0I7UUFDdEIsT0FBRSxHQUFGLEVBQUUsQ0FBVztRQUNiLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQTdCckMsY0FBUyxHQUFzQixZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsMEVBQTBFO1FBQzNILHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUMzQix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDNUIsV0FBTSxHQUFXLEVB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QUVoQyxpQkFBaUI7OztzQkFjdkIsS0FBSzt3QkFDTCxLQUFLO2tDQUNMLEtBQUs7bUNBQ0wsS0FBSztxQkFDTCxLQUFLOytCQUNMLEtBQUs7d0JBSUwsTUFBTTtzQkFDTixNQUFNO3VDQUNOLE1BQU07dUNBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEF1dGhQcm9jZXNzU2VydmljZSwgQXV0aFByb3ZpZGVyLCBVaVNlcnZpY2UgfSBmcm9tICduZ3gtZmlyZWJhc2UnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTmd4QXV0aEZpcmViYXNldWlBbmltYXRpb25zIH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbC1hdXRodWktcmVhdXRoZW50aWNhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhdXRoZW50aWNhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vaW9uaWMtYXV0aC11aS5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGFuaW1hdGlvbnM6IE5neEF1dGhGaXJlYmFzZXVpQW5pbWF0aW9uc1xufSlcbmV4cG9ydCBjbGFzcyBBdXRoVUlSZWF1dGhlbnRpY2F0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpIGxvZ29Vcmw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByb3ZpZGVyczogc3RyaW5nW10gfCBzdHJpbmcgPSBBdXRoUHJvdmlkZXIuQUxMOyAvLyAgZ29vZ2xlLCBmYWNlYm9vaywgdHdpdHRlciwgZ2l0aHViIGFzIGFycmF5IG9yIGFsbCBhcyBvbmUgc2luZ2xlIHN0cmluZ1xuICBASW5wdXQoKSByZWdpc3RyYXRpb25FbmFibGVkID0gdHJ1ZTtcbiAgQElucHV0KCkgcmVzZXRQYXNzd29yZEVuYWJsZWQgPSB0cnVlO1xuICBASW5wdXQoKSB0b3NVcmw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwcml2YWN5UG9saWN5VXJsOiBzdHJpbmcgPSAnJztcblxuICAvLyBFdmVudHNcbiAgLy8gdHNsaW50OmRpc2FibGUgbm8tb3V0cHV0LW9uLXByZWZpeFxuICBAT3V0cHV0KCkgb25TdWNjZXNzOiBhbnkgPSB0aGlzLmFwcy5vblNpZ25JbkVtaXR0ZXI7XG4gIEBPdXRwdXQoKSBvbkVycm9yOiBhbnkgPSB0aGlzLmFwcy5vbkVycm9yRW1pdHRlcjtcbiAgQE91dHB1dCgpIG9uQ3JlYXRlQWNjb3VudFJlcXVlc3RlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgb25SZXNldFBhc3N3b3JkUmVxdWVzdGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIC8vIHRzbGludDplbmFibGUgbm8tb3V0cHV0LW9uLXByZWZpeFxuXG4gIHJlYWRvbmx5IHByb3ZpZGVycyQgPSB0aGlzLmFwcy5yZWF1dGhlbnRpY2F0ZVByb3ZpZGVycyQ7XG4gIHJlYWRvbmx5IHNob3dQYXNzd29yZFByb3ZpZGVyJCA9IHRoaXMucHJvdmlkZXJzJC5waXBlKG1hcChwcm92aWRlcnMgPT4gcHJvdmlkZXJzLmluY2x1ZGVzKEF1dGhQcm92aWRlci5FbWFpbEFuZFBhc3N3b3JkKSkpO1xuICByZWFkb25seSBzaG93RGl2aWRlciQgPSB0aGlzLnByb3ZpZGVycyQucGlwZShtYXAocHJvdmlkZXJzID0+IHByb3ZpZGVycy5sZW5ndGggPiAxICYmIHByb3ZpZGVycy5pbmNsdWRlcyhBdXRoUHJvdmlkZXIuRW1haWxBbmRQYXNzd29yZCkpKTtcblxuICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIHJlYWRvbmx5IHJlYXV0aEZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIHBhc3N3b3JkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICB9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIHB1YmxpYyBhcHM6IEF1dGhQcm9jZXNzU2VydmljZSxcbiAgICBwcml2YXRlIHVpOiBVaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBwb3BvdmVyQ29udHJvbGxlcjogUG9wb3ZlckNvbnRyb2xsZXJcbiAgKSB7IH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBhc3luYyBkaXNtaXNzKCkge1xuICAgIGlmICh0aGlzLnBvcG92ZXJDb250cm9sbGVyLmdldFRvcCgpICE9PSBudWxsKSB7XG4gICAgICBhd2FpdCB0aGlzLnBvcG92ZXJDb250cm9sbGVyLmRpc21pc3MoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkb1JlYXV0aGVudGljYXRlV2l0aFBhc3N3b3JkKCkge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIXRoaXMuYXBzLnVzZXI/LmVtYWlsIHx8ICF0aGlzLnJlYXV0aEZvcm0udmFsdWUucGFzc3dvcmQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUcnlpbmcgdG8gcmVhdXRoIHdpdGggZW1haWwvcGFzc3dvcmQgd2hlbiBub3QgdmFsaWQnKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHRoaXMuYXBzLnJlYXV0aGVuaWNhdGVXaXRoUHJvdmlkZXIoXG4gICAgICAgIEF1dGhQcm92aWRlci5FbWFpbEFuZFBhc3N3b3JkLCB7IGNyZWRlbnRpYWxzOiB7IGVtYWlsOiB0aGlzLmFwcy51c2VyLmVtYWlsLCBwYXNzd29yZDogdGhpcy5yZWF1dGhGb3JtLnZhbHVlLnBhc3N3b3JkIH0gfVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy51aS5sb2dFcnJvcihlcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHRoaXMuZGlzbWlzcygpO1xuICAgIH1cbiAgfVxuXG4gIGRvUHJvdmlkZXJDbGljayhwcm92aWRlcjogQXV0aFByb3ZpZGVyKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuYXBzLnJlYXV0aGVuaWNhdGVXaXRoUHJvdmlkZXIocHJvdmlkZXIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLnVpLmxvZ0Vycm9yKGVycm9yKTtcbiAgICB9XG4gIH1cblxufVxuIl19
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
// Angular & Inionc
|
|
3
|
-
import { ChangeDetectorRef, Component, EventEmitter, forwardRef, Inject, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
4
|
-
// RxJS
|
|
5
|
-
import { Subject } from 'rxjs';
|
|
6
|
-
// Mal
|
|
7
|
-
import { NgxAuthFirebaseuiAnimations } from '../../animations';
|
|
8
|
-
import { AuthProcessService, AuthProvider, UiService, MalSharedConfigToken } from 'ngx-firebase';
|
|
9
|
-
import { PopoverController } from '@ionic/angular';
|
|
10
|
-
function isCreateAccountFormData(x) {
|
|
11
|
-
return x && x.email && x.password;
|
|
12
|
-
}
|
|
13
|
-
export class AuthUIRegisterComponent {
|
|
14
|
-
// tslint:disable-next-line @typescript-eslint/ban-types
|
|
15
|
-
constructor(config, aps, ui, popover, changeDetectorRef) {
|
|
16
|
-
this.config = config;
|
|
17
|
-
this.aps = aps;
|
|
18
|
-
this.ui = ui;
|
|
19
|
-
this.popover = popover;
|
|
20
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
21
|
-
this.showEmail = 'popover';
|
|
22
|
-
this.providers = AuthProvider.ALL; // google, facebook, twitter, github as array or all as one single string
|
|
23
|
-
// Events
|
|
24
|
-
// tslint:disable no-output-on-prefix
|
|
25
|
-
this.onSuccess = this.aps.onRegisterEmitter;
|
|
26
|
-
this.onError = this.aps.onErrorEmitter;
|
|
27
|
-
this.onLoginRequested = new EventEmitter();
|
|
28
|
-
// tslint:enable no-output-on-prefix
|
|
29
|
-
// Prevent somebody already logged in as guest - relogging in as gyest
|
|
30
|
-
this.guestEnabled$ = this.aps.canSignInAsGuest$;
|
|
31
|
-
// Private
|
|
32
|
-
this.destroy$ = new Subject();
|
|
33
|
-
}
|
|
34
|
-
ngAfterViewInit() {
|
|
35
|
-
this.changeDetectorRef.detectChanges();
|
|
36
|
-
}
|
|
37
|
-
ngOnDestroy() {
|
|
38
|
-
this.destroy$.next();
|
|
39
|
-
this.destroy$.complete();
|
|
40
|
-
}
|
|
41
|
-
doCreateAccount(data) {
|
|
42
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
try {
|
|
44
|
-
this.changeDetectorRef.markForCheck();
|
|
45
|
-
yield this.aps.registerWith(AuthProvider.EmailAndPassword, {
|
|
46
|
-
credentials: {
|
|
47
|
-
email: data.email,
|
|
48
|
-
password: data.password
|
|
49
|
-
},
|
|
50
|
-
displayName: data.name,
|
|
51
|
-
skipTosCheck: true
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
this.ui.logError(error);
|
|
56
|
-
}
|
|
57
|
-
finally {
|
|
58
|
-
this.changeDetectorRef.markForCheck();
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
doRegisterAnonymously() {
|
|
63
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
try {
|
|
65
|
-
this.changeDetectorRef.markForCheck();
|
|
66
|
-
yield this.aps.signInWith(AuthProvider.ANONYMOUS);
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
this.ui.logError(error);
|
|
70
|
-
}
|
|
71
|
-
finally {
|
|
72
|
-
this.changeDetectorRef.markForCheck();
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
doRegisterWithEmailPopover() {
|
|
77
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
-
try {
|
|
79
|
-
const data = yield new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
80
|
-
try {
|
|
81
|
-
const { AuthUIRegisterWithEmailPopoverComponent } = yield import('../register-with-email-popover/register-with-email-popover.component');
|
|
82
|
-
const popover = yield this.popover.create({
|
|
83
|
-
component: AuthUIRegisterWithEmailPopoverComponent,
|
|
84
|
-
cssClass: ['wide-popover', 'dark-backdrop']
|
|
85
|
-
});
|
|
86
|
-
popover.onDidDismiss().then((resp) => {
|
|
87
|
-
if (isCreateAccountFormData(resp === null || resp === void 0 ? void 0 : resp.data)) {
|
|
88
|
-
resolve(resp.data);
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
resolve(null);
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
yield popover.present();
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
this.ui.logError(error);
|
|
98
|
-
reject(error);
|
|
99
|
-
}
|
|
100
|
-
}));
|
|
101
|
-
if (data) {
|
|
102
|
-
yield this.doCreateAccount(data);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
this.ui.logError(error);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
doProviderClick(provider) {
|
|
111
|
-
try {
|
|
112
|
-
this.aps.registerWith(provider);
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
this.ui.logError(error);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
AuthUIRegisterComponent.decorators = [
|
|
120
|
-
{ type: Component, args: [{
|
|
121
|
-
selector: 'mal-authui-register',
|
|
122
|
-
template: "<div fxLayout=\"column\" fxLayoutAlign=\"center center\" id=\"register-wrapper\" class=\"authui-wrapper\">\n <div [@animateStagger]=\"{ value: '50' }\" id=\"register-inner\" class=\"authui-inner-wrapper\">\n\n <mal-authui-register-with-email *ngIf=\"showEmail === 'inline'\">\n (createAccountClick)=\"doCreateAccount($event)\">\n </mal-authui-register-with-email>\n\n <div fxLayoutAlign=\"stretch\"\n fxLayout=\"column\"\n class=\"provider-buttons\">\n\n <div *ngIf=\"showEmail === 'popover'\">\n <ion-button id=\"auth_register_email_btn\"\n (click)=\"doRegisterWithEmailPopover()\"\n [@animate]=\"{ value: '*', params: { x: '-100px' } }\"\n color=\"primary\"\n class=\"authui-provider-button\">\n <ion-icon name=\"mail-outline\"></ion-icon>\n <ion-label slot=\"end\">{{ \"auth.register.emailButton\" | translate }}</ion-label>\n </ion-button>\n </div>\n\n <div *ngIf=\"guestEnabled$ | async\">\n <ion-button id=\"auth_register_anon_btn\"\n (click)=\"doRegisterAnonymously()\"\n [@animate]=\"{ value: '*', params: { x: '-100px' } }\"\n color=\"primary\"\n class=\"authui-provider-button\">\n <ion-icon name=\"finger-print-outline\"></ion-icon>\n <ion-label slot=\"end\">{{ \"auth.register.guestButton\" | translate }}</ion-label>\n </ion-button>\n </div>\n </div>\n\n <mal-authui-providers [providers]=\"providers\"\n (providerClick)=\"doProviderClick($event)\"\n layout=\"column\">\n </mal-authui-providers>\n\n <div [@animate]=\"{value:'*',params:{duration:'300ms',y:'100px'}}\"\n class=\"alternate-action\"\n fxLayout=\"column\"\n fxLayoutAlign=\"center center\">\n\n <ion-text color=\"text\" [@animate]=\"{ value: '*', params: { x: '100px' } }\">\n {{ \"auth.register.alreadyHaveAccount\" | translate }}\n </ion-text>\n\n <a (click)=\"onLoginRequested.emit()\"\n [@animate]=\"{ value: '*', params: { x: '-100px' } }\"\n id=\"loginButton\">\n {{\"auth.register.signInButton\" | translate}}\n </a>\n\n </div>\n </div>",
|
|
123
|
-
encapsulation: ViewEncapsulation.None,
|
|
124
|
-
animations: NgxAuthFirebaseuiAnimations,
|
|
125
|
-
styles: ["div.authui-logo{margin:32px auto;width:30%}div.authui-logo img{display:block;max-width:120px;border-radius:20px;margin-left:auto;margin-right:auto}div.authui-title{font-size:20px;margin:16px 0}div.authui-alternate-action{margin:32px auto 24px;font-weight:500}div.authui-alternate-action .text{margin-right:8px}ion-content.auth-page{--background:var(--auth-pages-background,--background)}div.resend-confirmation{margin:24px 0;font-size:.9em;text-align:center}ion-button.authui-provider-button{width:220px;margin:8px auto;display:block;text-align:center;--background:var(--auth-provider-background-color,#fff)}@media screen and (max-width:599px){ion-button.authui-provider-button{width:100%}}ion-button.authui-submit-button{width:220px;margin:16px auto;display:block}@media screen and (max-width:599px){ion-button.authui-submit-button{width:100%}}ion-grid.terms{width:100%;margin:24px 0;text-align:left;font-size:.9em}ion-grid.terms ion-col ion-row a{font-size:16px;margin-left:4px}div.forgot-password{margin:24px 0;font-size:.9em}@media (prefers-color-scheme:dark){a{color:#fff}}div.auth-ui-form{width:384px;max-width:384px;padding:32px;text-align:center;flex:1 0 auto}@media screen and (max-width:599px){div.auth-ui-form{padding:24px;width:100%}}div.auth-ui-form form{width:100%;text-align:left}div.authui-wrapper{width:100%;background-size:cover;flex:1 0 auto;padding:32px}@media screen and (max-width:599px){div.authui-wrapper{padding:16px}}button.confirm:disabled{color:grey}div.email-popover-outer{width:100%}div.email-popover-outer div.email-popover-inner{padding:10%}"]
|
|
126
|
-
},] }
|
|
127
|
-
];
|
|
128
|
-
AuthUIRegisterComponent.ctorParameters = () => [
|
|
129
|
-
{ type: undefined, decorators: [{ type: Inject, args: [forwardRef(() => MalSharedConfigToken),] }] },
|
|
130
|
-
{ type: AuthProcessService },
|
|
131
|
-
{ type: UiService },
|
|
132
|
-
{ type: PopoverController },
|
|
133
|
-
{ type: ChangeDetectorRef }
|
|
134
|
-
];
|
|
135
|
-
AuthUIRegisterComponent.propDecorators = {
|
|
136
|
-
showEmail: [{ type: Input }],
|
|
137
|
-
providers: [{ type: Input }],
|
|
138
|
-
onSuccess: [{ type: Output }],
|
|
139
|
-
onError: [{ type: Output }],
|
|
140
|
-
onLoginRequested: [{ type: Output }]
|
|
141
|
-
};
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZpcmViYXNlL2lvbmljLWF1dGgtdWkvc3JjL2NvbXBvbmVudHMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxtQkFBbUI7QUFDbkIsT0FBTyxFQUNVLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQ3BGLE1BQU0sRUFBRSxpQkFBaUIsRUFDMUIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTztBQUNQLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsTUFBTTtBQUNOLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFtQixvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVsSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxTQUFTLHVCQUF1QixDQUFDLENBQU07SUFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQ3BDLENBQUM7QUFTRCxNQUFNLE9BQU8sdUJBQXVCO0lBa0JsQyx3REFBd0Q7SUFDeEQsWUFDeUQsTUFBdUIsRUFDdkUsR0FBdUIsRUFDdEIsRUFBYSxFQUNiLE9BQTBCLEVBQzFCLGlCQUFvQztRQUpXLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQ3ZFLFFBQUcsR0FBSCxHQUFHLENBQW9CO1FBQ3RCLE9BQUUsR0FBRixFQUFFLENBQVc7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBdEJyQyxj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YW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsXG4gIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIFJ4SlNcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLy8gTWFsXG5pbXBvcnQgeyBOZ3hBdXRoRmlyZWJhc2V1aUFuaW1hdGlvbnMgfSBmcm9tICcuLi8uLi9hbmltYXRpb25zJztcbmltcG9ydCB7IEF1dGhQcm9jZXNzU2VydmljZSwgQXV0aFByb3ZpZGVyLCBVaVNlcnZpY2UsIE1hbFNoYXJlZENvbmZpZywgTWFsU2hhcmVkQ29uZmlnVG9rZW4gfSBmcm9tICduZ3gtZmlyZWJhc2UnO1xuaW1wb3J0IHsgQ3JlYXRlQWNjb3VudEZvcm1EYXRhIH0gZnJvbSAnLi4vcmVnaXN0ZXItd2l0aC1lbWFpbC9yZWdpc3Rlci13aXRoLWVtYWlsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuZnVuY3Rpb24gaXNDcmVhdGVBY2NvdW50Rm9ybURhdGEoeDogYW55KTogeCBpcyBDcmVhdGVBY2NvdW50Rm9ybURhdGEge1xuICByZXR1cm4geCAmJiB4LmVtYWlsICYmIHgucGFzc3dvcmQ7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbC1hdXRodWktcmVnaXN0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVnaXN0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vaW9uaWMtYXV0aC11aS5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGFuaW1hdGlvbnM6IE5neEF1dGhGaXJlYmFzZXVpQW5pbWF0aW9uc1xufSlcbmV4cG9ydCBjbGFzcyBBdXRoVUlSZWdpc3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQElucHV0KCkgc2hvd0VtYWlsOiAnaW5saW5lJyB8ICdwb3BvdmVyJyB8ICdub25lJyA9ICdwb3BvdmVyJztcbiAgQElucHV0KCkgcHJvdmlkZXJzOiBzdHJpbmdbXSB8IHN0cmluZyA9IEF1dGhQcm92aWRlci5BTEw7IC8vICBnb29nbGUsIGZhY2Vib29rLCB0d2l0dGVyLCBnaXRodWIgYXMgYXJyYXkgb3IgYWxsIGFzIG9uZSBzaW5nbGUgc3RyaW5nXG5cbiAgLy8gRXZlbnRzXG4gIC8vIHRzbGludDpkaXNhYmxlIG5vLW91dHB1dC1vbi1wcmVmaXhcbiAgQE91dHB1dCgpIG9uU3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSB0aGlzLmFwcy5vblJlZ2lzdGVyRW1pdHRlcjtcbiAgQE91dHB1dCgpIG9uRXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gdGhpcy5hcHMub25FcnJvckVtaXR0ZXI7XG4gIEBPdXRwdXQoKSBvbkxvZ2luUmVxdWVzdGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIC8vIHRzbGludDplbmFibGUgbm8tb3V0cHV0LW9uLXByZWZpeFxuXG4gIC8vIFByZXZlbnQgc29tZWJvZHkgYWxyZWFkeSBsb2dnZWQgaW4gYXMgZ3Vlc3QgLSByZWxvZ2dpbmcgaW4gYXMgZ3llc3RcbiAgZ3Vlc3RFbmFibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYXBzLmNhblNpZ25JbkFzR3Vlc3QkO1xuXG4gIC8vIFByaXZhdGVcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE1hbFNoYXJlZENvbmZpZ1Rva2VuKSkgcHVibGljIGNvbmZpZzogTWFsU2hhcmVkQ29uZmlnLFxuICAgIHB1YmxpYyBhcHM6IEF1dGhQcm9jZXNzU2VydmljZSxcbiAgICBwcml2YXRlIHVpOiBVaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb3BvdmVyOiBQb3BvdmVyQ29udHJvbGxlcixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGFzeW5jIGRvQ3JlYXRlQWNjb3VudChkYXRhOiBDcmVhdGVBY2NvdW50Rm9ybURhdGEpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIGF3YWl0IHRoaXMuYXBzLnJlZ2lzdGVyV2l0aChcbiAgICAgICAgQXV0aFByb3ZpZGVyLkVtYWlsQW5kUGFzc3dvcmQsXG4gICAgICAgIHtcbiAgICAgICAgICBjcmVkZW50aWFsczoge1xuICAgICAgICAgICAgZW1haWw6IGRhdGEuZW1haWwsXG4gICAgICAgICAgICBwYXNzd29yZDogZGF0YS5wYXNzd29yZFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGlzcGxheU5hbWU6IGRhdGEubmFtZSxcbiAgICAgICAgICBza2lwVG9zQ2hlY2s6IHRydWVcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy51aS5sb2dFcnJvcihlcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZG9SZWdpc3RlckFub255bW91c2x5KCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgYXdhaXQgdGhpcy5hcHMuc2lnbkluV2l0aChBdXRoUHJvdmlkZXIuQU5PTllNT1VTKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy51aS5sb2dFcnJvcihlcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZG9SZWdpc3RlcldpdGhFbWFpbFBvcG92ZXIoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBuZXcgUHJvbWlzZTxDcmVhdGVBY2NvdW50Rm9ybURhdGEgfCBudWxsPihcbiAgICAgICAgYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IEF1dGhVSVJlZ2lzdGVyV2l0aEVtYWlsUG9wb3ZlckNvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9yZWdpc3Rlci13aXRoLWVtYWlsLXBvcG92ZXIvcmVnaXN0ZXItd2l0aC1lbWFpbC1wb3BvdmVyLmNvbXBvbmVudCcpO1xuICAgICAgICAgICAgY29uc3QgcG9wb3ZlciA9IGF3YWl0IHRoaXMucG9wb3Zlci5jcmVhdGUoe1xuICAgICAgICAgICAgICBjb21wb25lbnQ6IEF1dGhVSVJlZ2lzdGVyV2l0aEVtYWlsUG9wb3ZlckNvbXBvbmVudCxcbiAgICAgICAgICAgICAgY3NzQ2xhc3M6IFsnd2lkZS1wb3BvdmVyJywgJ2RhcmstYmFja2Ryb3AnXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHBvcG92ZXIub25EaWREaXNtaXNzKCkudGhlbigocmVzcDogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChpc0NyZWF0ZUFjY291bnRGb3JtRGF0YShyZXNwPy5kYXRhKSkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcC5kYXRhKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKG51bGwpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGF3YWl0IHBvcG92ZXIucHJlc2VudCgpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnVpLmxvZ0Vycm9yKGVycm9yKTtcbiAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5kb0NyZWF0ZUFjY291bnQoZGF0YSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMudWkubG9nRXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGRvUHJvdmlkZXJDbGljayhwcm92aWRlcjogQXV0aFByb3ZpZGVyKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuYXBzLnJlZ2lzdGVyV2l0aChwcm92aWRlcik7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMudWkubG9nRXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
package/esm2015/ionic-auth-ui/components/register-with-email/register-with-email.component.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
// Angular & Inionc
|
|
3
|
-
import { ChangeDetectorRef, Component, EventEmitter, forwardRef, Inject, Output, ViewEncapsulation } from '@angular/core';
|
|
4
|
-
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
5
|
-
// RxJS
|
|
6
|
-
import { Subject } from 'rxjs';
|
|
7
|
-
// Mal
|
|
8
|
-
import { NgxAuthFirebaseuiAnimations } from '../../animations';
|
|
9
|
-
import { AuthProcessService, UiService, MalSharedConfigToken } from 'ngx-firebase';
|
|
10
|
-
export class AuthUIRegisterWithEmailComponent {
|
|
11
|
-
// tslint:disable-next-line @typescript-eslint/ban-types
|
|
12
|
-
constructor(config, aps, ui, changeDetectorRef) {
|
|
13
|
-
this.config = config;
|
|
14
|
-
this.aps = aps;
|
|
15
|
-
this.ui = ui;
|
|
16
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
17
|
-
this.createAccountClick = new EventEmitter();
|
|
18
|
-
this.registerForm = new FormGroup({
|
|
19
|
-
name: new FormControl('', [Validators.required]),
|
|
20
|
-
email: new FormControl('', [Validators.required]),
|
|
21
|
-
password: new FormControl('', [Validators.required]),
|
|
22
|
-
terms: new FormControl(true, []),
|
|
23
|
-
});
|
|
24
|
-
// Prevent somebody already logged in as guest - relogging in as gyest
|
|
25
|
-
this.guestEnabled$ = this.aps.canSignInAsGuest$;
|
|
26
|
-
// Private
|
|
27
|
-
this.destroy$ = new Subject();
|
|
28
|
-
}
|
|
29
|
-
ngAfterViewInit() {
|
|
30
|
-
this.changeDetectorRef.detectChanges();
|
|
31
|
-
}
|
|
32
|
-
ngOnDestroy() {
|
|
33
|
-
this.destroy$.next();
|
|
34
|
-
this.destroy$.complete();
|
|
35
|
-
}
|
|
36
|
-
doCreateAccount() {
|
|
37
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
this.createAccountClick.emit(this.registerForm.value);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
AuthUIRegisterWithEmailComponent.decorators = [
|
|
43
|
-
{ type: Component, args: [{
|
|
44
|
-
selector: 'mal-authui-register-with-email',
|
|
45
|
-
template: "<form [@animate]=\"{value:'*',params:{duration:'300ms',y:'100px'}}\"\n [formGroup]=\"registerForm\"\n novalidate>\n\n <mal-authui-name-field formControlName=\"name\"\n [@animate]=\"{ value: '*', params: { x: '50px' } }\">\n </mal-authui-name-field>\n\n <mal-authui-email-field formControlName=\"email\"\n [@animate]=\"{ value: '*', params: { x: '50px' } }\">\n </mal-authui-email-field>\n\n <mal-authui-password-field formControlName=\"password\"\n [forUpdate]=\"true\"\n [@animate]=\"{ value: '*', params: { x: '50px' } }\">\n </mal-authui-password-field>\n\n <mal-authui-terms-field formControlName=\"terms\"\n [@animate]=\"{ value: '*', params: { x: '50px' } }\">\n </mal-authui-terms-field>\n\n <ion-button (click)=\"doCreateAccount()\"\n color=\"primary\"\n [disabled]=\"registerForm.invalid\"\n aria-label=\"CREATE AN ACCOUNT\"\n class=\"authui-submit-button\"\n id=\"createAccountButton\">\n {{ \"auth.register.createAccountButton\" | translate }}\n </ion-button>\n\n</form>",
|
|
46
|
-
encapsulation: ViewEncapsulation.None,
|
|
47
|
-
animations: NgxAuthFirebaseuiAnimations,
|
|
48
|
-
styles: ["div.authui-logo{margin:32px auto;width:30%}div.authui-logo img{display:block;max-width:120px;border-radius:20px;margin-left:auto;margin-right:auto}div.authui-title{font-size:20px;margin:16px 0}div.authui-alternate-action{margin:32px auto 24px;font-weight:500}div.authui-alternate-action .text{margin-right:8px}ion-content.auth-page{--background:var(--auth-pages-background,--background)}div.resend-confirmation{margin:24px 0;font-size:.9em;text-align:center}ion-button.authui-provider-button{width:220px;margin:8px auto;display:block;text-align:center;--background:var(--auth-provider-background-color,#fff)}@media screen and (max-width:599px){ion-button.authui-provider-button{width:100%}}ion-button.authui-submit-button{width:220px;margin:16px auto;display:block}@media screen and (max-width:599px){ion-button.authui-submit-button{width:100%}}ion-grid.terms{width:100%;margin:24px 0;text-align:left;font-size:.9em}ion-grid.terms ion-col ion-row a{font-size:16px;margin-left:4px}div.forgot-password{margin:24px 0;font-size:.9em}@media (prefers-color-scheme:dark){a{color:#fff}}div.auth-ui-form{width:384px;max-width:384px;padding:32px;text-align:center;flex:1 0 auto}@media screen and (max-width:599px){div.auth-ui-form{padding:24px;width:100%}}div.auth-ui-form form{width:100%;text-align:left}div.authui-wrapper{width:100%;background-size:cover;flex:1 0 auto;padding:32px}@media screen and (max-width:599px){div.authui-wrapper{padding:16px}}button.confirm:disabled{color:grey}div.email-popover-outer{width:100%}div.email-popover-outer div.email-popover-inner{padding:10%}"]
|
|
49
|
-
},] }
|
|
50
|
-
];
|
|
51
|
-
AuthUIRegisterWithEmailComponent.ctorParameters = () => [
|
|
52
|
-
{ type: undefined, decorators: [{ type: Inject, args: [forwardRef(() => MalSharedConfigToken),] }] },
|
|
53
|
-
{ type: AuthProcessService },
|
|
54
|
-
{ type: UiService },
|
|
55
|
-
{ type: ChangeDetectorRef }
|
|
56
|
-
];
|
|
57
|
-
AuthUIRegisterWithEmailComponent.propDecorators = {
|
|
58
|
-
createAccountClick: [{ type: Output }]
|
|
59
|
-
};
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItd2l0aC1lbWFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZmlyZWJhc2UvaW9uaWMtYXV0aC11aS9zcmMvY29tcG9uZW50cy9yZWdpc3Rlci13aXRoLWVtYWlsL3JlZ2lzdGVyLXdpdGgtZW1haWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxtQkFBbUI7QUFDbkIsT0FBTyxFQUNVLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQUUsaUJBQWlCLEVBQ3BILE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU87QUFDUCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE1BQU07QUFDTixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFtQixvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQWdCcEcsTUFBTSxPQUFPLGdDQUFnQztJQWlCM0Msd0RBQXdEO0lBQ3hELFlBQ3lELE1BQXVCLEVBQ3ZFLEdBQXVCLEVBQ3RCLEVBQWEsRUFDYixpQkFBb0M7UUFIVyxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUN2RSxRQUFHLEdBQUgsR0FBRyxDQUFvQjtRQUN0QixPQUFFLEdBQUYsRUFBRSxDQUFXO1FBQ2Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXBCcEMsdUJBQWtCLEdBQXdDLElBQUksWUFBWSxFQUF5QixDQUFDO1FBRTlHLGlCQUFZLEdBQWMsSUFBSSxTQUFTLENBQUM7WUFDdEMsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEQsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7U0FDakMsQ0FBQyxDQUFDO1FBRUgsc0VBQXNFO1FBQ3RFLGtCQUFhLEdBQXdCLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7UUFFaEUsVUFBVTtRQUNGLGFBQVEsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVN0RCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUssZUFBZTs7WUFDbkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELENBQUM7S0FBQTs7O1lBNUNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO2dCQUMxQywyckNBQW1EO2dCQUVuRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsVUFBVSxFQUFFLDJCQUEyQjs7YUFDeEM7Ozs0Q0FvQkksTUFBTSxTQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztZQW5DekMsa0JBQWtCO1lBQUUsU0FBUztZQVRyQixpQkFBaUI7OztpQ0EyQi9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyICYgSW5pb25jXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEluamVjdCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gUnhKU1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG4vLyBNYWxcbmltcG9ydCB7IE5neEF1dGhGaXJlYmFzZXVpQW5pbWF0aW9ucyB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQXV0aFByb2Nlc3NTZXJ2aWNlLCBVaVNlcnZpY2UsIE1hbFNoYXJlZENvbmZpZywgTWFsU2hhcmVkQ29uZmlnVG9rZW4gfSBmcm9tICduZ3gtZmlyZWJhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUFjY291bnRGb3JtRGF0YSB7XG4gIG5hbWU6IHN0cmluZyxcbiAgZW1haWw6IHN0cmluZyxcbiAgcGFzc3dvcmQ6IHN0cmluZyxcbiAgdGVybXM6IGJvb2xlYW5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFsLWF1dGh1aS1yZWdpc3Rlci13aXRoLWVtYWlsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZ2lzdGVyLXdpdGgtZW1haWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vaW9uaWMtYXV0aC11aS5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGFuaW1hdGlvbnM6IE5neEF1dGhGaXJlYmFzZXVpQW5pbWF0aW9uc1xufSlcbmV4cG9ydCBjbGFzcyBBdXRoVUlSZWdpc3RlcldpdGhFbWFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQE91dHB1dCgpIGNyZWF0ZUFjY291bnRDbGljazogRXZlbnRFbWl0dGVyPENyZWF0ZUFjY291bnRGb3JtRGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyPENyZWF0ZUFjY291bnRGb3JtRGF0YT4oKTtcblxuICByZWdpc3RlckZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICBlbWFpbDogbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIHBhc3N3b3JkOiBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXG4gICAgdGVybXM6IG5ldyBGb3JtQ29udHJvbCh0cnVlLCBbXSksXG4gIH0pO1xuXG4gIC8vIFByZXZlbnQgc29tZWJvZHkgYWxyZWFkeSBsb2dnZWQgaW4gYXMgZ3Vlc3QgLSByZWxvZ2dpbmcgaW4gYXMgZ3llc3RcbiAgZ3Vlc3RFbmFibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYXBzLmNhblNpZ25JbkFzR3Vlc3QkO1xuXG4gIC8vIFByaXZhdGVcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE1hbFNoYXJlZENvbmZpZ1Rva2VuKSkgcHVibGljIGNvbmZpZzogTWFsU2hhcmVkQ29uZmlnLFxuICAgIHB1YmxpYyBhcHM6IEF1dGhQcm9jZXNzU2VydmljZSxcbiAgICBwcml2YXRlIHVpOiBVaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBhc3luYyBkb0NyZWF0ZUFjY291bnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jcmVhdGVBY2NvdW50Q2xpY2suZW1pdCh0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZSk7XG4gIH1cblxufVxuIl19
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// Angular & Inionc
|
|
2
|
-
import { Component, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { PopoverController } from '@ionic/angular';
|
|
4
|
-
// RxJS
|
|
5
|
-
// Mal
|
|
6
|
-
import { NgxAuthFirebaseuiAnimations } from '../../animations';
|
|
7
|
-
export class AuthUIRegisterWithEmailPopoverComponent {
|
|
8
|
-
constructor(popoverController) {
|
|
9
|
-
this.popoverController = popoverController;
|
|
10
|
-
}
|
|
11
|
-
doCreateAccountClick(data) {
|
|
12
|
-
this.popoverController.dismiss(data);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
AuthUIRegisterWithEmailPopoverComponent.decorators = [
|
|
16
|
-
{ type: Component, args: [{
|
|
17
|
-
template: "<div class=\"email-popover-outer\">\n <div class=\"email-popover-inner\">\n <mal-authui-register-with-email (createAccountClick)=\"doCreateAccountClick($event)\">\n </mal-authui-register-with-email>\n </div>\n</div>",
|
|
18
|
-
encapsulation: ViewEncapsulation.None,
|
|
19
|
-
animations: NgxAuthFirebaseuiAnimations,
|
|
20
|
-
styles: ["div.authui-logo{margin:32px auto;width:30%}div.authui-logo img{display:block;max-width:120px;border-radius:20px;margin-left:auto;margin-right:auto}div.authui-title{font-size:20px;margin:16px 0}div.authui-alternate-action{margin:32px auto 24px;font-weight:500}div.authui-alternate-action .text{margin-right:8px}ion-content.auth-page{--background:var(--auth-pages-background,--background)}div.resend-confirmation{margin:24px 0;font-size:.9em;text-align:center}ion-button.authui-provider-button{width:220px;margin:8px auto;display:block;text-align:center;--background:var(--auth-provider-background-color,#fff)}@media screen and (max-width:599px){ion-button.authui-provider-button{width:100%}}ion-button.authui-submit-button{width:220px;margin:16px auto;display:block}@media screen and (max-width:599px){ion-button.authui-submit-button{width:100%}}ion-grid.terms{width:100%;margin:24px 0;text-align:left;font-size:.9em}ion-grid.terms ion-col ion-row a{font-size:16px;margin-left:4px}div.forgot-password{margin:24px 0;font-size:.9em}@media (prefers-color-scheme:dark){a{color:#fff}}div.auth-ui-form{width:384px;max-width:384px;padding:32px;text-align:center;flex:1 0 auto}@media screen and (max-width:599px){div.auth-ui-form{padding:24px;width:100%}}div.auth-ui-form form{width:100%;text-align:left}div.authui-wrapper{width:100%;background-size:cover;flex:1 0 auto;padding:32px}@media screen and (max-width:599px){div.authui-wrapper{padding:16px}}button.confirm:disabled{color:grey}div.email-popover-outer{width:100%}div.email-popover-outer div.email-popover-inner{padding:10%}"]
|
|
21
|
-
},] }
|
|
22
|
-
];
|
|
23
|
-
AuthUIRegisterWithEmailPopoverComponent.ctorParameters = () => [
|
|
24
|
-
{ type: PopoverController }
|
|
25
|
-
];
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItd2l0aC1lbWFpbC1wb3BvdmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1maXJlYmFzZS9pb25pYy1hdXRoLXVpL3NyYy9jb21wb25lbnRzL3JlZ2lzdGVyLXdpdGgtZW1haWwtcG9wb3Zlci9yZWdpc3Rlci13aXRoLWVtYWlsLXBvcG92ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjtBQUNuQixPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR25ELE9BQU87QUFFUCxNQUFNO0FBQ04sT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFTL0QsTUFBTSxPQUFPLHVDQUF1QztJQUVsRCxZQUNVLGlCQUFtQztRQUFuQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO0lBQ3pDLENBQUM7SUFFTCxvQkFBb0IsQ0FBQyxJQUEyQjtRQUM5QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OztZQWRGLFNBQVMsU0FBQztnQkFDVCx1UEFBMkQ7Z0JBRTNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxVQUFVLEVBQUUsMkJBQTJCOzthQUN4Qzs7O1lBZFEsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciAmIEluaW9uY1xuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBDcmVhdGVBY2NvdW50Rm9ybURhdGEgfSBmcm9tICcuLi9yZWdpc3Rlci13aXRoLWVtYWlsL3JlZ2lzdGVyLXdpdGgtZW1haWwuY29tcG9uZW50JztcblxuLy8gUnhKU1xuXG4vLyBNYWxcbmltcG9ydCB7IE5neEF1dGhGaXJlYmFzZXVpQW5pbWF0aW9ucyB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMnO1xuXG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vcmVnaXN0ZXItd2l0aC1lbWFpbC1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4uLy4uL2lvbmljLWF1dGgtdWkuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBOZ3hBdXRoRmlyZWJhc2V1aUFuaW1hdGlvbnNcbn0pXG5leHBvcnQgY2xhc3MgQXV0aFVJUmVnaXN0ZXJXaXRoRW1haWxQb3BvdmVyQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBvcG92ZXJDb250cm9sbGVyOlBvcG92ZXJDb250cm9sbGVyXG4gICkgeyB9XG5cbiAgZG9DcmVhdGVBY2NvdW50Q2xpY2soZGF0YTogQ3JlYXRlQWNjb3VudEZvcm1EYXRhKSB7XG4gICAgdGhpcy5wb3BvdmVyQ29udHJvbGxlci5kaXNtaXNzKGRhdGEpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { ChangeDetectorRef, Component, EventEmitter, forwardRef, Inject, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
4
|
-
import { AuthProcessService, AuthProvider, MalSharedConfigToken } from 'ngx-firebase';
|
|
5
|
-
import { MalIonicAlertsService } from 'ngx-firebase/ionic';
|
|
6
|
-
import { NgxAuthFirebaseuiAnimations } from '../../animations';
|
|
7
|
-
export class AuthUISignInComponent {
|
|
8
|
-
constructor(
|
|
9
|
-
// tslint:disable-next-line @typescript-eslint/ban-types
|
|
10
|
-
aps, alert, changeDetectorRef, config) {
|
|
11
|
-
this.aps = aps;
|
|
12
|
-
this.alert = alert;
|
|
13
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
14
|
-
this.config = config;
|
|
15
|
-
this.providers = AuthProvider.ALL; // google, facebook, twitter, github as array or all as one single string
|
|
16
|
-
this.registrationEnabled = true;
|
|
17
|
-
this.resetPasswordEnabled = true;
|
|
18
|
-
this.tosUrl = '';
|
|
19
|
-
this.privacyPolicyUrl = '';
|
|
20
|
-
// Events
|
|
21
|
-
// tslint:disable no-output-on-prefix
|
|
22
|
-
this.onSuccess = this.aps.onSignInEmitter;
|
|
23
|
-
this.onError = this.aps.onErrorEmitter;
|
|
24
|
-
this.onCreateAccountRequested = new EventEmitter();
|
|
25
|
-
this.onResetPasswordRequested = new EventEmitter();
|
|
26
|
-
// tslint:enable no-output-on-prefix
|
|
27
|
-
this.signInForm = new FormGroup({
|
|
28
|
-
email: new FormControl('', [Validators.required]),
|
|
29
|
-
password: new FormControl('', [Validators.required])
|
|
30
|
-
});
|
|
31
|
-
this.authProviders = AuthProvider;
|
|
32
|
-
}
|
|
33
|
-
signIn() {
|
|
34
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
try {
|
|
36
|
-
this.changeDetectorRef.markForCheck();
|
|
37
|
-
yield this.aps.signInWith(AuthProvider.EmailAndPassword, {
|
|
38
|
-
credentials: {
|
|
39
|
-
email: this.signInForm.value.email,
|
|
40
|
-
password: this.signInForm.value.password
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
finally {
|
|
45
|
-
this.changeDetectorRef.markForCheck();
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
providerClick(provider) {
|
|
50
|
-
this.aps.signInWith(provider);
|
|
51
|
-
}
|
|
52
|
-
ngAfterViewInit() {
|
|
53
|
-
this.changeDetectorRef.detectChanges();
|
|
54
|
-
}
|
|
55
|
-
doPasswordReset() {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
if (this.signInForm.controls.email.invalid) {
|
|
58
|
-
yield this.alert.errorAlert('auth.resetPassword.errors.pattern');
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
yield this.aps.resetPassword(this.signInForm.value.email);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
AuthUISignInComponent.decorators = [
|
|
67
|
-
{ type: Component, args: [{
|
|
68
|
-
selector: 'mal-authui-signin',
|
|
69
|
-
template: "<div fxLayout=\"column\" fxLayoutAlign=\"center center\" id=\"signin-wrapper\" class=\"authui-wrapper\">\n <div [@animateStagger]=\"{ value: '50' }\" id=\"signin-inner\" class=\"authui-inner-wrapper\">\n\n <form [@animate]=\"{value:'*',params:{duration:'300ms',y:'100px'}}\" [formGroup]=\"signInForm\" name=\"signInForm\"\n novalidate>\n\n <mal-authui-email-field formControlName=\"email\"\n [@animate]=\"{ value: '*', params: { x: '50px' } }\">\n </mal-authui-email-field>\n\n <mal-authui-password-field formControlName=\"password\"\n [@animate]=\"{ value: '*', params: { x: '50px' } }\">\n </mal-authui-password-field>\n\n <div [@animate]=\"{ value: '*', params: { x: '50px' } }\"\n class=\"forgot-password\"\n fxLayout=\"row\"\n fxLayout.xs=\"column\"\n fxLayoutAlign=\"space-between center\">\n\n <a (click)=\"doPasswordReset()\"\n *ngIf=\"resetPasswordEnabled\"\n [@animate]=\"{ value: '*', params: { x: '-50px' } }\"\n class=\"forgot-password\"\n type=\"button\">\n {{ \"auth.signIn.forgotPassword\" | translate }}\n </a>\n </div>\n\n <ion-button (click)=\"signIn()\"\n color=\"primary\"\n [disabled]=\"signInForm.invalid\"\n aria-label=\"LOG IN\"\n fxLayoutAlign=\"center center\"\n class=\"authui-submit-button\"\n id=\"auth_signin_btn\">\n {{\"auth.signIn.signInButton\" | translate }}\n </ion-button>\n\n </form>\n\n <!--mal-authui-or-divider *ngIf=\"providers.length > 0\"\n [@animate]=\"{ value: '*', params: { z: '50px', delay: '50ms', scale: '0.2' } }\">\n </mal-authui-or-divider> -->\n\n <mal-authui-providers [providers]=\"providers\"\n (providerClick)=\"providerClick($event)\"\n layout=\"column\"></mal-authui-providers>\n\n <div *ngIf=\" registrationEnabled\" [@animateStagger]=\"{ value: '100' }\"\n class=\"authui-alternate-action\"\n fxLayout=\"column\"\n fxLayoutAlign=\"center center\">\n <ion-text [@animate]=\"{ value: '*', params: { x: '100px' } }\"\n color=\"text\"\n class=\"text\">\n {{\"auth.signIn.dontHaveAccount\" | translate}}\n </ion-text>\n <a (click)=\"onCreateAccountRequested.emit()\"\n [@animate]=\"{ value: '*', params: { x: '-100px' } }\"\n id=\"createAccountButton\">\n {{\"auth.signIn.createAccountButton\" | translate}}\n </a>\n </div>\n\n </div>\n</div>",
|
|
70
|
-
encapsulation: ViewEncapsulation.None,
|
|
71
|
-
animations: NgxAuthFirebaseuiAnimations,
|
|
72
|
-
styles: ["div.authui-logo{margin:32px auto;width:30%}div.authui-logo img{display:block;max-width:120px;border-radius:20px;margin-left:auto;margin-right:auto}div.authui-title{font-size:20px;margin:16px 0}div.authui-alternate-action{margin:32px auto 24px;font-weight:500}div.authui-alternate-action .text{margin-right:8px}ion-content.auth-page{--background:var(--auth-pages-background,--background)}div.resend-confirmation{margin:24px 0;font-size:.9em;text-align:center}ion-button.authui-provider-button{width:220px;margin:8px auto;display:block;text-align:center;--background:var(--auth-provider-background-color,#fff)}@media screen and (max-width:599px){ion-button.authui-provider-button{width:100%}}ion-button.authui-submit-button{width:220px;margin:16px auto;display:block}@media screen and (max-width:599px){ion-button.authui-submit-button{width:100%}}ion-grid.terms{width:100%;margin:24px 0;text-align:left;font-size:.9em}ion-grid.terms ion-col ion-row a{font-size:16px;margin-left:4px}div.forgot-password{margin:24px 0;font-size:.9em}@media (prefers-color-scheme:dark){a{color:#fff}}div.auth-ui-form{width:384px;max-width:384px;padding:32px;text-align:center;flex:1 0 auto}@media screen and (max-width:599px){div.auth-ui-form{padding:24px;width:100%}}div.auth-ui-form form{width:100%;text-align:left}div.authui-wrapper{width:100%;background-size:cover;flex:1 0 auto;padding:32px}@media screen and (max-width:599px){div.authui-wrapper{padding:16px}}button.confirm:disabled{color:grey}div.email-popover-outer{width:100%}div.email-popover-outer div.email-popover-inner{padding:10%}"]
|
|
73
|
-
},] }
|
|
74
|
-
];
|
|
75
|
-
AuthUISignInComponent.ctorParameters = () => [
|
|
76
|
-
{ type: AuthProcessService },
|
|
77
|
-
{ type: MalIonicAlertsService },
|
|
78
|
-
{ type: ChangeDetectorRef },
|
|
79
|
-
{ type: undefined, decorators: [{ type: Inject, args: [forwardRef(() => MalSharedConfigToken),] }] }
|
|
80
|
-
];
|
|
81
|
-
AuthUISignInComponent.propDecorators = {
|
|
82
|
-
providers: [{ type: Input }],
|
|
83
|
-
registrationEnabled: [{ type: Input }],
|
|
84
|
-
resetPasswordEnabled: [{ type: Input }],
|
|
85
|
-
tosUrl: [{ type: Input }],
|
|
86
|
-
privacyPolicyUrl: [{ type: Input }],
|
|
87
|
-
onSuccess: [{ type: Output }],
|
|
88
|
-
onError: [{ type: Output }],
|
|
89
|
-
onCreateAccountRequested: [{ type: Output }],
|
|
90
|
-
onResetPasswordRequested: [{ type: Output }]
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmluLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1maXJlYmFzZS9pb25pYy1hdXRoLXVpL3NyYy9jb21wb25lbnRzL3NpZ25pbi9zaWduaW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hKLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQW1CLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBUy9ELE1BQU0sT0FBTyxxQkFBcUI7SUF3QmhDO0lBQ0Usd0RBQXdEO0lBQ2pELEdBQXVCLEVBQ3RCLEtBQTRCLEVBQzVCLGlCQUFvQyxFQUNXLE1BQXVCO1FBSHZFLFFBQUcsR0FBSCxHQUFHLENBQW9CO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQXVCO1FBQzVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDVyxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQTNCdkUsY0FBUyxHQUFzQixZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsMEVBQTBFO1FBQzNILHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUMzQix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDNUIsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUNwQixxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFFdkMsU0FBUztRQUNULHFDQUFxQztRQUMzQixjQUFTLEdBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDMUMsWUFBTyxHQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQ3hDLDZCQUF3QixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3hFLDZCQUF3QixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2xGLG9DQUFvQztRQUVwQyxlQUFVLEdBQWMsSUFBSSxTQUFTLENBQUM7WUFDcEMsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3JELENBQUMsQ0FBQztRQUVILGtCQUFhLEdBQUcsWUFBWSxDQUFDO0lBU3pCLENBQUM7SUFFQyxNQUFNOztZQUNWLElBQUk7Z0JBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0QyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDdkQsV0FBVyxFQUFFO3dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLO3dCQUNsQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUTtxQkFDekM7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7b0JBQVM7Z0JBQ1IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQztLQUFBO0lBRUQsYUFBYSxDQUFDLFFBQXNCO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFSyxlQUFlOztZQUNuQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQzFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsbUNBQW1DLENBQUMsQ0FBQzthQUNsRTtpQkFBTTtnQkFDTCxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzNEO1FBQ0gsQ0FBQztLQUFBOzs7WUFuRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLGtyRkFBc0M7Z0JBRXRDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxVQUFVLEVBQUUsMkJBQTJCOzthQUN4Qzs7O1lBWFEsa0JBQWtCO1lBQ2xCLHFCQUFxQjtZQUhOLGlCQUFpQjs0Q0EyQ3BDLE1BQU0sU0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Ozt3QkEzQi9DLEtBQUs7a0NBQ0wsS0FBSzttQ0FDTCxLQUFLO3FCQUNMLEtBQUs7K0JBQ0wsS0FBSzt3QkFJTCxNQUFNO3NCQUNOLE1BQU07dUNBQ04sTUFBTTt1Q0FDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbmplY3QsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXV0aFByb2Nlc3NTZXJ2aWNlLCBBdXRoUHJvdmlkZXIsIE1hbFNoYXJlZENvbmZpZywgTWFsU2hhcmVkQ29uZmlnVG9rZW4gfSBmcm9tICduZ3gtZmlyZWJhc2UnO1xuaW1wb3J0IHsgTWFsSW9uaWNBbGVydHNTZXJ2aWNlIH0gZnJvbSAnbmd4LWZpcmViYXNlL2lvbmljJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmd4QXV0aEZpcmViYXNldWlBbmltYXRpb25zIH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbC1hdXRodWktc2lnbmluJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZ25pbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuLi8uLi9pb25pYy1hdXRoLXVpLnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgYW5pbWF0aW9uczogTmd4QXV0aEZpcmViYXNldWlBbmltYXRpb25zXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhVSVNpZ25JbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpIHByb3ZpZGVyczogc3RyaW5nW10gfCBzdHJpbmcgPSBBdXRoUHJvdmlkZXIuQUxMOyAvLyAgZ29vZ2xlLCBmYWNlYm9vaywgdHdpdHRlciwgZ2l0aHViIGFzIGFycmF5IG9yIGFsbCBhcyBvbmUgc2luZ2xlIHN0cmluZ1xuICBASW5wdXQoKSByZWdpc3RyYXRpb25FbmFibGVkID0gdHJ1ZTtcbiAgQElucHV0KCkgcmVzZXRQYXNzd29yZEVuYWJsZWQgPSB0cnVlO1xuICBASW5wdXQoKSB0b3NVcmw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwcml2YWN5UG9saWN5VXJsOiBzdHJpbmcgPSAnJztcblxuICAvLyBFdmVudHNcbiAgLy8gdHNsaW50OmRpc2FibGUgbm8tb3V0cHV0LW9uLXByZWZpeFxuICBAT3V0cHV0KCkgb25TdWNjZXNzOiBhbnkgPSB0aGlzLmFwcy5vblNpZ25JbkVtaXR0ZXI7XG4gIEBPdXRwdXQoKSBvbkVycm9yPzogYW55ID0gdGhpcy5hcHMub25FcnJvckVtaXR0ZXI7XG4gIEBPdXRwdXQoKSBvbkNyZWF0ZUFjY291bnRSZXF1ZXN0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIG9uUmVzZXRQYXNzd29yZFJlcXVlc3RlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAvLyB0c2xpbnQ6ZW5hYmxlIG5vLW91dHB1dC1vbi1wcmVmaXhcblxuICBzaWduSW5Gb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBlbWFpbDogbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIHBhc3N3b3JkOiBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgfSk7XG5cbiAgYXV0aFByb3ZpZGVycyA9IEF1dGhQcm92aWRlcjtcbiAgb25FcnJvclN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIHB1YmxpYyBhcHM6IEF1dGhQcm9jZXNzU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0OiBNYWxJb25pY0FsZXJ0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE1hbFNoYXJlZENvbmZpZ1Rva2VuKSkgcHVibGljIGNvbmZpZzogTWFsU2hhcmVkQ29uZmlnLFxuICApIHsgfVxuXG4gIGFzeW5jIHNpZ25JbigpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIGF3YWl0IHRoaXMuYXBzLnNpZ25JbldpdGgoQXV0aFByb3ZpZGVyLkVtYWlsQW5kUGFzc3dvcmQsIHtcbiAgICAgICAgY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICBlbWFpbDogdGhpcy5zaWduSW5Gb3JtLnZhbHVlLmVtYWlsLFxuICAgICAgICAgIHBhc3N3b3JkOiB0aGlzLnNpZ25JbkZvcm0udmFsdWUucGFzc3dvcmRcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdmlkZXJDbGljayhwcm92aWRlcjogQXV0aFByb3ZpZGVyKSB7XG4gICAgdGhpcy5hcHMuc2lnbkluV2l0aChwcm92aWRlcik7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBhc3luYyBkb1Bhc3N3b3JkUmVzZXQoKSB7XG4gICAgaWYgKHRoaXMuc2lnbkluRm9ybS5jb250cm9scy5lbWFpbC5pbnZhbGlkKSB7XG4gICAgICBhd2FpdCB0aGlzLmFsZXJ0LmVycm9yQWxlcnQoJ2F1dGgucmVzZXRQYXNzd29yZC5lcnJvcnMucGF0dGVybicpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLmFwcy5yZXNldFBhc3N3b3JkKHRoaXMuc2lnbkluRm9ybS52YWx1ZS5lbWFpbCk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
// Angular & Inionc
|
|
2
|
-
import { Component, forwardRef, Inject, Input, } from '@angular/core';
|
|
3
|
-
import { FormControl, FormGroup, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
|
|
4
|
-
// RxJS
|
|
5
|
-
import { Subject } from 'rxjs';
|
|
6
|
-
// Mal
|
|
7
|
-
import { AuthProcessService, UiService, MalSharedConfigToken } from 'ngx-firebase';
|
|
8
|
-
import { takeUntil } from 'rxjs/operators';
|
|
9
|
-
export class AuthUITermsFieldComponent {
|
|
10
|
-
// tslint:disable-next-line @typescript-eslint/ban-types
|
|
11
|
-
constructor(config, aps, ui) {
|
|
12
|
-
this.config = config;
|
|
13
|
-
this.aps = aps;
|
|
14
|
-
this.ui = ui;
|
|
15
|
-
this.termsForm = new FormGroup({
|
|
16
|
-
tos: new FormControl(true, []),
|
|
17
|
-
privacyPolicy: new FormControl(true, [])
|
|
18
|
-
});
|
|
19
|
-
// Config
|
|
20
|
-
this.tosUrl = this.config.authUi.tosUrl;
|
|
21
|
-
this.privacyPolicyUrl = this.config.authUi.privacyPolicyUrl;
|
|
22
|
-
// Private
|
|
23
|
-
this.destroy$ = new Subject();
|
|
24
|
-
this.propogateChange = (val) => { };
|
|
25
|
-
this.propogateTouch = () => { };
|
|
26
|
-
this.propogateValidationChange = () => { };
|
|
27
|
-
this.termsForm.statusChanges
|
|
28
|
-
.pipe(takeUntil(this.destroy$))
|
|
29
|
-
.subscribe(_ => {
|
|
30
|
-
try {
|
|
31
|
-
this.propogateValidationChange();
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
this.ui.logError(error);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
set value(val) {
|
|
39
|
-
if (val) {
|
|
40
|
-
this.termsForm.patchValue({
|
|
41
|
-
tos: val,
|
|
42
|
-
privacyPolicy: val
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this.termsForm.reset();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
get value() {
|
|
50
|
-
return this.termsForm.controls.tos.value && this.termsForm.controls.privacyPolicy.value;
|
|
51
|
-
}
|
|
52
|
-
// Form Accessor functions
|
|
53
|
-
registerOnChange(fn) { this.propogateChange = fn; }
|
|
54
|
-
registerOnTouched(fn) { this.propogateTouch = fn; }
|
|
55
|
-
registerOnValidatorChange(fn) { this.propogateValidationChange = fn; }
|
|
56
|
-
writeValue(val) { this.value = val; }
|
|
57
|
-
validate(control) {
|
|
58
|
-
if (this.termsForm.controls.tos.errors || this.termsForm.controls.privacyPolicy.errors) {
|
|
59
|
-
return Object.assign(this.termsForm.controls.tos.errors || {}, this.termsForm.controls.privacyPolicy.errors || {});
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
ngOnInit() {
|
|
66
|
-
// If tos or privacy policy url set, ensure that the two form items are required
|
|
67
|
-
if (this.config.authUi.tosUrl) {
|
|
68
|
-
this.termsForm.controls.tos.setValidators(Validators.requiredTrue);
|
|
69
|
-
}
|
|
70
|
-
if (this.config.authUi.privacyPolicyUrl) {
|
|
71
|
-
this.termsForm.controls.privacyPolicy.setValidators(Validators.requiredTrue);
|
|
72
|
-
}
|
|
73
|
-
this.termsForm.updateValueAndValidity();
|
|
74
|
-
}
|
|
75
|
-
ngOnDestroy() {
|
|
76
|
-
this.destroy$.next();
|
|
77
|
-
this.destroy$.complete();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
AuthUITermsFieldComponent.decorators = [
|
|
81
|
-
{ type: Component, args: [{
|
|
82
|
-
selector: 'mal-authui-terms-field',
|
|
83
|
-
template: "<form [formGroup]=\"termsForm\">\n <ion-grid class=\"terms\">\n <ion-row *ngIf=\"this.tosUrl\">\n <ion-col size=\"2\">\n <ion-checkbox color=\"primary\" attr.aria-label=\"{{ 'auth.legal.readAndAccept' | translate }} {{ 'auth.legal.termsAndConditions'\n | translate }}\" formControlName=\"tos\"> </ion-checkbox>\n </ion-col>\n <ion-col>\n <ion-text color=\"text\"> {{ \"auth.legal.readAndAccept\" | translate }}</ion-text>\n <a target=\"_blank\" [href]=\"this.tosUrl\">\n {{ \"auth.legal.termsAndConditions\" | translate }}\n </a>\n </ion-col>\n </ion-row>\n <ion-row *ngIf=\"this.privacyPolicyUrl\">\n <ion-col size=\"2\">\n <ion-checkbox color=\"primary\" attr.aria-label=\"{{ 'auth.legal.readAndAccept' | translate }} {{ 'auth.legal.privacyPolicy'\n | translate }}\" formControlName=\"privacyPolicy\"></ion-checkbox>\n </ion-col>\n <ion-col>\n <ion-text color=\"text\">{{ \"auth.legal.readAndAccept\" | translate }}</ion-text>\n <a target=\"_blank\" [href]=\"this.privacyPolicyUrl\">\n {{ \"auth.legal.privacyPolicy\" | translate }}\n </a>\n </ion-col>\n </ion-row>\n </ion-grid>\n</form>",
|
|
84
|
-
providers: [
|
|
85
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => AuthUITermsFieldComponent), multi: true },
|
|
86
|
-
{ provide: NG_VALIDATORS, useExisting: AuthUITermsFieldComponent, multi: true }
|
|
87
|
-
],
|
|
88
|
-
styles: ["div.authui-logo{margin:32px auto;width:30%}div.authui-logo img{display:block;max-width:120px;border-radius:20px;margin-left:auto;margin-right:auto}div.authui-title{font-size:20px;margin:16px 0}div.authui-alternate-action{margin:32px auto 24px;font-weight:500}div.authui-alternate-action .text{margin-right:8px}ion-content.auth-page{--background:var(--auth-pages-background,--background)}div.resend-confirmation{margin:24px 0;font-size:.9em;text-align:center}ion-button.authui-provider-button{width:220px;margin:8px auto;display:block;text-align:center;--background:var(--auth-provider-background-color,#fff)}@media screen and (max-width:599px){ion-button.authui-provider-button{width:100%}}ion-button.authui-submit-button{width:220px;margin:16px auto;display:block}@media screen and (max-width:599px){ion-button.authui-submit-button{width:100%}}ion-grid.terms{width:100%;margin:24px 0;text-align:left;font-size:.9em}ion-grid.terms ion-col ion-row a{font-size:16px;margin-left:4px}div.forgot-password{margin:24px 0;font-size:.9em}@media (prefers-color-scheme:dark){a{color:#fff}}div.auth-ui-form{width:384px;max-width:384px;padding:32px;text-align:center;flex:1 0 auto}@media screen and (max-width:599px){div.auth-ui-form{padding:24px;width:100%}}div.auth-ui-form form{width:100%;text-align:left}div.authui-wrapper{width:100%;background-size:cover;flex:1 0 auto;padding:32px}@media screen and (max-width:599px){div.authui-wrapper{padding:16px}}button.confirm:disabled{color:grey}div.email-popover-outer{width:100%}div.email-popover-outer div.email-popover-inner{padding:10%}"]
|
|
89
|
-
},] }
|
|
90
|
-
];
|
|
91
|
-
AuthUITermsFieldComponent.ctorParameters = () => [
|
|
92
|
-
{ type: undefined, decorators: [{ type: Inject, args: [forwardRef(() => MalSharedConfigToken),] }] },
|
|
93
|
-
{ type: AuthProcessService },
|
|
94
|
-
{ type: UiService }
|
|
95
|
-
];
|
|
96
|
-
AuthUITermsFieldComponent.propDecorators = {
|
|
97
|
-
value: [{ type: Input }]
|
|
98
|
-
};
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybXMtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZpcmViYXNlL2lvbmljLWF1dGgtdWkvc3JjL2NvbXBvbmVudHMvdGVybXMtZmllbGQvdGVybXMtZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjtBQUNuQixPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxHQUFzQixNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQXlDLFdBQVcsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUErQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxSyxPQUFPO0FBQ1AsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixNQUFNO0FBQ04sT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBbUIsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBWTNDLE1BQU0sT0FBTyx5QkFBeUI7SUFpQ3BDLHdEQUF3RDtJQUN4RCxZQUN5RCxNQUF1QixFQUN2RSxHQUF1QixFQUN0QixFQUFhO1FBRmtDLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQ3ZFLFFBQUcsR0FBSCxHQUFHLENBQW9CO1FBQ3RCLE9BQUUsR0FBRixFQUFFLENBQVc7UUFuQ3ZCLGNBQVMsR0FBYyxJQUFJLFNBQVMsQ0FBQztZQUNuQyxHQUFHLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUM5QixhQUFhLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztTQUN6QyxDQUFDLENBQUM7UUFFSCxTQUFTO1FBQ1QsV0FBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMs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LElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7WUF0RkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLGt2Q0FBMkM7Z0JBRTNDLFNBQVMsRUFBRTtvQkFDVCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtvQkFDckcsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2lCQUNoRjs7YUFDRjs7OzRDQW9DSSxNQUFNLFNBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBaER6QyxrQkFBa0I7WUFBRSxTQUFTOzs7b0JBMkJuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciAmIEluaW9uY1xuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8vIFJ4SlNcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLy8gTWFsXG5pbXBvcnQgeyBBdXRoUHJvY2Vzc1NlcnZpY2UsIFVpU2VydmljZSwgTWFsU2hhcmVkQ29uZmlnLCBNYWxTaGFyZWRDb25maWdUb2tlbiB9IGZyb20gJ25neC1maXJlYmFzZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgVmFsdWVUeXBlID0gYm9vbGVhbiB8IHVuZGVmaW5lZDtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbC1hdXRodWktdGVybXMtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVybXMtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vaW9uaWMtYXV0aC11aS5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEF1dGhVSVRlcm1zRmllbGRDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9LFxuICAgIHsgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IEF1dGhVSVRlcm1zRmllbGRDb21wb25lbnQsIG11bHRpOiB0cnVlIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRoVUlUZXJtc0ZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuXG4gIHRlcm1zRm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgdG9zOiBuZXcgRm9ybUNvbnRyb2wodHJ1ZSwgW10pLFxuICAgIHByaXZhY3lQb2xpY3k6IG5ldyBGb3JtQ29udHJvbCh0cnVlLCBbXSlcbiAgfSk7XG5cbiAgLy8gQ29uZmlnXG4gIHRvc1VybCA9IHRoaXMuY29uZmlnLmF1dGhVaS50b3NVcmw7XG4gIHByaXZhY3lQb2xpY3lVcmwgPSB0aGlzLmNvbmZpZy5hdXRoVWkucHJpdmFjeVBvbGljeVVybDtcblxuICAvLyBQcml2YXRlXG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWw6IFZhbHVlVHlwZSkge1xuICAgIGlmICh2YWwpIHtcbiAgICAgIHRoaXMudGVybXNGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICB0b3M6IHZhbCxcbiAgICAgICAgcHJpdmFjeVBvbGljeTogdmFsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZXJtc0Zvcm0ucmVzZXQoKTtcbiAgICB9XG4gIH1cbiAgZ2V0IHZhbHVlKCk6IFZhbHVlVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMudGVybXNGb3JtLmNvbnRyb2xzLnRvcy52YWx1ZSAmJiB0aGlzLnRlcm1zRm9ybS5jb250cm9scy5wcml2YWN5UG9saWN5LnZhbHVlO1xuICB9XG5cbiAgcHJvcG9nYXRlQ2hhbmdlID0gKHZhbDogVmFsdWVUeXBlKSA9PiB7IH07XG4gIHByb3BvZ2F0ZVRvdWNoID0gKCkgPT4geyB9O1xuICBwcm9wb2dhdGVWYWxpZGF0aW9uQ2hhbmdlID0gKCkgPT4geyB9O1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBNYWxTaGFyZWRDb25maWdUb2tlbikpIHB1YmxpYyBjb25maWc6IE1hbFNoYXJlZENvbmZpZyxcbiAgICBwdWJsaWMgYXBzOiBBdXRoUHJvY2Vzc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB1aTogVWlTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnRlcm1zRm9ybS5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoaXMucHJvcG9nYXRlVmFsaWRhdGlvbkNoYW5nZSgpXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgdGhpcy51aS5sb2dFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLy8gRm9ybSBBY2Nlc3NvciBmdW5jdGlvbnNcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7IHRoaXMucHJvcG9nYXRlQ2hhbmdlID0gZm47IH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkgeyB0aGlzLnByb3BvZ2F0ZVRvdWNoID0gZm47IH1cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZT8oZm46ICgpID0+IHZvaWQpIHsgdGhpcy5wcm9wb2dhdGVWYWxpZGF0aW9uQ2hhbmdlID0gZm47IH1cbiAgd3JpdGVWYWx1ZSh2YWw6IFZhbHVlVHlwZSkgeyB0aGlzLnZhbHVlID0gdmFsOyB9XG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAodGhpcy50ZXJtc0Zvcm0uY29udHJvbHMudG9zLmVycm9ycyB8fCB0aGlzLnRlcm1zRm9ybS5jb250cm9scy5wcml2YWN5UG9saWN5LmVycm9ycykge1xuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24odGhpcy50ZXJtc0Zvcm0uY29udHJvbHMudG9zLmVycm9ycyB8fCB7fSwgdGhpcy50ZXJtc0Zvcm0uY29udHJvbHMucHJpdmFjeVBvbGljeS5lcnJvcnMgfHwge30pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBJZiB0b3Mgb3IgcHJpdmFjeSBwb2xpY3kgdXJsIHNldCwgZW5zdXJlIHRoYXQgdGhlIHR3byBmb3JtIGl0ZW1zIGFyZSByZXF1aXJlZFxuICAgIGlmICh0aGlzLmNvbmZpZy5hdXRoVWkudG9zVXJsKSB7XG4gICAgICB0aGlzLnRlcm1zRm9ybS5jb250cm9scy50b3Muc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZy5hdXRoVWkucHJpdmFjeVBvbGljeVVybCkge1xuICAgICAgdGhpcy50ZXJtc0Zvcm0uY29udHJvbHMucHJpdmFjeVBvbGljeS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlKTtcbiAgICB9XG4gICAgdGhpcy50ZXJtc0Zvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbn1cbiJdfQ==
|