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.
Files changed (274) hide show
  1. package/README.md +121 -13
  2. package/fesm2022/ngx-firebase.mjs +158 -0
  3. package/fesm2022/ngx-firebase.mjs.map +1 -0
  4. package/package.json +39 -30
  5. package/types/ngx-firebase.d.ts +55 -0
  6. package/bundles/ngx-firebase-capacitor.umd.js +0 -763
  7. package/bundles/ngx-firebase-capacitor.umd.js.map +0 -1
  8. package/bundles/ngx-firebase-capacitor.umd.min.js +0 -16
  9. package/bundles/ngx-firebase-capacitor.umd.min.js.map +0 -1
  10. package/bundles/ngx-firebase-iap.umd.js +0 -718
  11. package/bundles/ngx-firebase-iap.umd.js.map +0 -1
  12. package/bundles/ngx-firebase-iap.umd.min.js +0 -2
  13. package/bundles/ngx-firebase-iap.umd.min.js.map +0 -1
  14. package/bundles/ngx-firebase-ionic-auth-ui.umd.js +0 -2116
  15. package/bundles/ngx-firebase-ionic-auth-ui.umd.js.map +0 -1
  16. package/bundles/ngx-firebase-ionic-auth-ui.umd.min.js +0 -16
  17. package/bundles/ngx-firebase-ionic-auth-ui.umd.min.js.map +0 -1
  18. package/bundles/ngx-firebase-ionic.umd.js +0 -979
  19. package/bundles/ngx-firebase-ionic.umd.js.map +0 -1
  20. package/bundles/ngx-firebase-ionic.umd.min.js +0 -16
  21. package/bundles/ngx-firebase-ionic.umd.min.js.map +0 -1
  22. package/bundles/ngx-firebase-testing.umd.js +0 -801
  23. package/bundles/ngx-firebase-testing.umd.js.map +0 -1
  24. package/bundles/ngx-firebase-testing.umd.min.js +0 -2
  25. package/bundles/ngx-firebase-testing.umd.min.js.map +0 -1
  26. package/bundles/ngx-firebase.umd.js +0 -2299
  27. package/bundles/ngx-firebase.umd.js.map +0 -1
  28. package/bundles/ngx-firebase.umd.min.js +0 -2
  29. package/bundles/ngx-firebase.umd.min.js.map +0 -1
  30. package/capacitor/capacitor.module.d.ts +0 -9
  31. package/capacitor/interfaces/config.d.ts +0 -12
  32. package/capacitor/interfaces/index.d.ts +0 -1
  33. package/capacitor/ngx-firebase-capacitor.d.ts +0 -5
  34. package/capacitor/ngx-firebase-capacitor.metadata.json +0 -1
  35. package/capacitor/package.json +0 -25
  36. package/capacitor/public-api.d.ts +0 -3
  37. package/capacitor/services/analytics-firebase-capacitor.service.d.ts +0 -9
  38. package/capacitor/services/crashlytics-firebase-capacitor.service.d.ts +0 -8
  39. package/capacitor/services/credential-factory-capacitor.service.d.ts +0 -18
  40. package/capacitor/services/index.d.ts +0 -3
  41. package/esm2015/capacitor/capacitor.module.js +0 -78
  42. package/esm2015/capacitor/interfaces/config.js +0 -3
  43. package/esm2015/capacitor/interfaces/index.js +0 -2
  44. package/esm2015/capacitor/ngx-firebase-capacitor.js +0 -6
  45. package/esm2015/capacitor/public-api.js +0 -4
  46. package/esm2015/capacitor/services/analytics-firebase-capacitor.service.js +0 -43
  47. package/esm2015/capacitor/services/crashlytics-firebase-capacitor.service.js +0 -40
  48. package/esm2015/capacitor/services/credential-factory-capacitor.service.js +0 -182
  49. package/esm2015/capacitor/services/index.js +0 -4
  50. package/esm2015/iap/iap.module.js +0 -32
  51. package/esm2015/iap/interfaces/index.js +0 -5
  52. package/esm2015/iap/ngx-firebase-iap.js +0 -5
  53. package/esm2015/iap/public-api.js +0 -5
  54. package/esm2015/iap/services/iap.service.js +0 -317
  55. package/esm2015/iap/tokens/index.js +0 -4
  56. package/esm2015/ionic/animations/index.js +0 -30
  57. package/esm2015/ionic/components/avatar/avatar.component.js +0 -98
  58. package/esm2015/ionic/components/avatar/index.js +0 -2
  59. package/esm2015/ionic/components/index.js +0 -3
  60. package/esm2015/ionic/components/popover-menu/index.js +0 -3
  61. package/esm2015/ionic/components/popover-menu/interface.js +0 -2
  62. package/esm2015/ionic/components/popover-menu/popover-menu.component.js +0 -34
  63. package/esm2015/ionic/ionic.module.js +0 -46
  64. package/esm2015/ionic/ngx-firebase-ionic.js +0 -5
  65. package/esm2015/ionic/public-api.js +0 -5
  66. package/esm2015/ionic/services/alerts-ionic.service.js +0 -107
  67. package/esm2015/ionic/services/index.js +0 -6
  68. package/esm2015/ionic/services/legality-dialog-ionic.service.js +0 -85
  69. package/esm2015/ionic/services/loading-ionic.service.js +0 -46
  70. package/esm2015/ionic/services/picker-ionic.service.js +0 -44
  71. package/esm2015/ionic/services/toast-ionic.service.js +0 -49
  72. package/esm2015/ionic-auth-ui/animations/index.js +0 -30
  73. package/esm2015/ionic-auth-ui/components/email-confirmation/email-confirmation.component.js +0 -99
  74. package/esm2015/ionic-auth-ui/components/email-field/email-field.component.js +0 -25
  75. package/esm2015/ionic-auth-ui/components/form-field/form-field.component.js +0 -82
  76. package/esm2015/ionic-auth-ui/components/index.js +0 -12
  77. package/esm2015/ionic-auth-ui/components/name-field/name-field.component.js +0 -30
  78. package/esm2015/ionic-auth-ui/components/or-divider/or-divider.component.js +0 -11
  79. package/esm2015/ionic-auth-ui/components/password-field/password-field.component.js +0 -138
  80. package/esm2015/ionic-auth-ui/components/password-field/passwordValidatorFunctions.js +0 -62
  81. package/esm2015/ionic-auth-ui/components/providers/providers.component.js +0 -70
  82. package/esm2015/ionic-auth-ui/components/reauthenticate/reauthenticate.component.js +0 -99
  83. package/esm2015/ionic-auth-ui/components/register/register.component.js +0 -142
  84. package/esm2015/ionic-auth-ui/components/register-with-email/register-with-email.component.js +0 -60
  85. package/esm2015/ionic-auth-ui/components/register-with-email-popover/register-with-email-popover.component.js +0 -26
  86. package/esm2015/ionic-auth-ui/components/signin/signin.component.js +0 -92
  87. package/esm2015/ionic-auth-ui/components/terms-field/terms-field.component.js +0 -99
  88. package/esm2015/ionic-auth-ui/components/user/user.component.js +0 -195
  89. package/esm2015/ionic-auth-ui/ionic-auth-ui.module.js +0 -92
  90. package/esm2015/ionic-auth-ui/ngx-firebase-ionic-auth-ui.js +0 -23
  91. package/esm2015/ionic-auth-ui/pages/index.js +0 -5
  92. package/esm2015/ionic-auth-ui/pages/register/index.js +0 -2
  93. package/esm2015/ionic-auth-ui/pages/register/register.page.js +0 -56
  94. package/esm2015/ionic-auth-ui/pages/signin/index.js +0 -2
  95. package/esm2015/ionic-auth-ui/pages/signin/signin.page.js +0 -78
  96. package/esm2015/ionic-auth-ui/pages/user/index.js +0 -2
  97. package/esm2015/ionic-auth-ui/pages/user/user.page.js +0 -11
  98. package/esm2015/ionic-auth-ui/pages/verifyemail/index.js +0 -2
  99. package/esm2015/ionic-auth-ui/pages/verifyemail/verifyemail.page.js +0 -85
  100. package/esm2015/ionic-auth-ui/public-api.js +0 -5
  101. package/esm2015/ngx-firebase.js +0 -6
  102. package/esm2015/public-api.js +0 -6
  103. package/esm2015/shared/guards/index.js +0 -3
  104. package/esm2015/shared/guards/logged-in.guard.js +0 -60
  105. package/esm2015/shared/guards/verify-email.guard.js +0 -41
  106. package/esm2015/shared/interfaces/accounts.enum.js +0 -9
  107. package/esm2015/shared/interfaces/authprovider.enum.js +0 -15
  108. package/esm2015/shared/interfaces/config.interface.js +0 -61
  109. package/esm2015/shared/interfaces/index.js +0 -8
  110. package/esm2015/shared/interfaces/main.interface.js +0 -7
  111. package/esm2015/shared/interfaces/providers.interface.js +0 -2
  112. package/esm2015/shared/interfaces/tokens.js +0 -19
  113. package/esm2015/shared/interfaces/ui-providers.interface.js +0 -2
  114. package/esm2015/shared/services/analytics.service.js +0 -24
  115. package/esm2015/shared/services/auth-process.service.js +0 -779
  116. package/esm2015/shared/services/crashlytics.service.js +0 -42
  117. package/esm2015/shared/services/device-info.service.js +0 -14
  118. package/esm2015/shared/services/firebase.service.js +0 -37
  119. package/esm2015/shared/services/firestore-sync.service.js +0 -60
  120. package/esm2015/shared/services/index.js +0 -10
  121. package/esm2015/shared/services/performance.service.js +0 -28
  122. package/esm2015/shared/services/remoteconfig.service.js +0 -49
  123. package/esm2015/shared/services/ui.service.js +0 -45
  124. package/esm2015/shared/shared.module.js +0 -175
  125. package/esm2015/shared/types/DisplayWidth.js +0 -9
  126. package/esm2015/shared/types/Location.js +0 -2
  127. package/esm2015/shared/types/ValueAccessorControlComponent.js +0 -85
  128. package/esm2015/shared/types/ValueAccessorValueComponent.js +0 -40
  129. package/esm2015/shared/types/index.js +0 -5
  130. package/esm2015/testing/fakeavatar.module.js +0 -22
  131. package/esm2015/testing/fakes/FakeAuthProcessService.js +0 -31
  132. package/esm2015/testing/fakes/FakeAvatarComponent.js +0 -13
  133. package/esm2015/testing/fakes/FakeFireService.js +0 -21
  134. package/esm2015/testing/fakes/FakeFirestoreSyncService.js +0 -11
  135. package/esm2015/testing/fakes/FakeIAPurchaseService.js +0 -11
  136. package/esm2015/testing/fakes/FakePickerService.js +0 -9
  137. package/esm2015/testing/fakes/FakeRemoteConfigService.js +0 -44
  138. package/esm2015/testing/fakes/FakeTranslateService.js +0 -21
  139. package/esm2015/testing/fakes/FakeUiService.js +0 -26
  140. package/esm2015/testing/fakes/angular-fire/FakeAngularFireAuth.js +0 -30
  141. package/esm2015/testing/fakes/angular-fire/FakeAngularFireFunctions.js +0 -17
  142. package/esm2015/testing/fakes/angular-fire/FakeAngularFirePerformance.js +0 -17
  143. package/esm2015/testing/fakes/angular-fire/FakeAngularFireStorage.js +0 -8
  144. package/esm2015/testing/fakes/angular-fire/FakeAngularFirestore.js +0 -8
  145. package/esm2015/testing/fakes/angular-fire/FakeUserCredential.js +0 -18
  146. package/esm2015/testing/fakes/index.js +0 -19
  147. package/esm2015/testing/ngx-firebase-testing.js +0 -6
  148. package/esm2015/testing/public-api.js +0 -5
  149. package/esm2015/testing/test.module.js +0 -66
  150. package/esm2015/testing/utils/index.js +0 -17
  151. package/esm2015/testing/utils/patchConsole.js +0 -14
  152. package/fesm2015/ngx-firebase-capacitor.js +0 -328
  153. package/fesm2015/ngx-firebase-capacitor.js.map +0 -1
  154. package/fesm2015/ngx-firebase-iap.js +0 -354
  155. package/fesm2015/ngx-firebase-iap.js.map +0 -1
  156. package/fesm2015/ngx-firebase-ionic-auth-ui.js +0 -1482
  157. package/fesm2015/ngx-firebase-ionic-auth-ui.js.map +0 -1
  158. package/fesm2015/ngx-firebase-ionic.js +0 -495
  159. package/fesm2015/ngx-firebase-ionic.js.map +0 -1
  160. package/fesm2015/ngx-firebase-testing.js +0 -388
  161. package/fesm2015/ngx-firebase-testing.js.map +0 -1
  162. package/fesm2015/ngx-firebase.js +0 -1509
  163. package/fesm2015/ngx-firebase.js.map +0 -1
  164. package/iap/iap.module.d.ts +0 -5
  165. package/iap/interfaces/index.d.ts +0 -11
  166. package/iap/ngx-firebase-iap.d.ts +0 -4
  167. package/iap/ngx-firebase-iap.metadata.json +0 -1
  168. package/iap/package.json +0 -23
  169. package/iap/public-api.d.ts +0 -4
  170. package/iap/services/iap.service.d.ts +0 -47
  171. package/iap/tokens/index.d.ts +0 -3
  172. package/ionic/animations/index.d.ts +0 -1
  173. package/ionic/components/avatar/avatar.component.d.ts +0 -27
  174. package/ionic/components/avatar/index.d.ts +0 -1
  175. package/ionic/components/index.d.ts +0 -2
  176. package/ionic/components/popover-menu/index.d.ts +0 -2
  177. package/ionic/components/popover-menu/interface.d.ts +0 -6
  178. package/ionic/components/popover-menu/popover-menu.component.d.ts +0 -10
  179. package/ionic/ionic.module.d.ts +0 -2
  180. package/ionic/ngx-firebase-ionic.d.ts +0 -4
  181. package/ionic/ngx-firebase-ionic.metadata.json +0 -1
  182. package/ionic/package.json +0 -30
  183. package/ionic/public-api.d.ts +0 -4
  184. package/ionic/services/alerts-ionic.service.d.ts +0 -13
  185. package/ionic/services/index.d.ts +0 -5
  186. package/ionic/services/legality-dialog-ionic.service.d.ts +0 -10
  187. package/ionic/services/loading-ionic.service.d.ts +0 -17
  188. package/ionic/services/picker-ionic.service.d.ts +0 -9
  189. package/ionic/services/toast-ionic.service.d.ts +0 -11
  190. package/ionic-auth-ui/animations/index.d.ts +0 -1
  191. package/ionic-auth-ui/components/email-confirmation/email-confirmation.component.d.ts +0 -31
  192. package/ionic-auth-ui/components/email-field/email-field.component.d.ts +0 -7
  193. package/ionic-auth-ui/components/form-field/form-field.component.d.ts +0 -28
  194. package/ionic-auth-ui/components/index.d.ts +0 -11
  195. package/ionic-auth-ui/components/name-field/name-field.component.d.ts +0 -8
  196. package/ionic-auth-ui/components/or-divider/or-divider.component.d.ts +0 -2
  197. package/ionic-auth-ui/components/password-field/password-field.component.d.ts +0 -34
  198. package/ionic-auth-ui/components/password-field/passwordValidatorFunctions.d.ts +0 -4
  199. package/ionic-auth-ui/components/providers/providers.component.d.ts +0 -26
  200. package/ionic-auth-ui/components/reauthenticate/reauthenticate.component.d.ts +0 -30
  201. package/ionic-auth-ui/components/register/register.component.d.ts +0 -26
  202. package/ionic-auth-ui/components/register-with-email/register-with-email.component.d.ts +0 -24
  203. package/ionic-auth-ui/components/register-with-email-popover/register-with-email-popover.component.d.ts +0 -7
  204. package/ionic-auth-ui/components/signin/signin.component.d.ts +0 -28
  205. package/ionic-auth-ui/components/terms-field/terms-field.component.d.ts +0 -27
  206. package/ionic-auth-ui/components/user/user.component.d.ts +0 -45
  207. package/ionic-auth-ui/ionic-auth-ui.module.d.ts +0 -32
  208. package/ionic-auth-ui/ngx-firebase-ionic-auth-ui.d.ts +0 -22
  209. package/ionic-auth-ui/ngx-firebase-ionic-auth-ui.metadata.json +0 -1
  210. package/ionic-auth-ui/package.json +0 -30
  211. package/ionic-auth-ui/pages/index.d.ts +0 -4
  212. package/ionic-auth-ui/pages/register/index.d.ts +0 -1
  213. package/ionic-auth-ui/pages/register/register.page.d.ts +0 -16
  214. package/ionic-auth-ui/pages/signin/index.d.ts +0 -1
  215. package/ionic-auth-ui/pages/signin/signin.page.d.ts +0 -22
  216. package/ionic-auth-ui/pages/user/index.d.ts +0 -1
  217. package/ionic-auth-ui/pages/user/user.page.d.ts +0 -3
  218. package/ionic-auth-ui/pages/verifyemail/index.d.ts +0 -1
  219. package/ionic-auth-ui/pages/verifyemail/verifyemail.page.d.ts +0 -19
  220. package/ionic-auth-ui/public-api.d.ts +0 -4
  221. package/ngx-firebase.d.ts +0 -5
  222. package/ngx-firebase.metadata.json +0 -1
  223. package/public-api.d.ts +0 -5
  224. package/shared/guards/index.d.ts +0 -2
  225. package/shared/guards/logged-in.guard.d.ts +0 -13
  226. package/shared/guards/verify-email.guard.d.ts +0 -11
  227. package/shared/interfaces/accounts.enum.d.ts +0 -7
  228. package/shared/interfaces/authprovider.enum.d.ts +0 -13
  229. package/shared/interfaces/config.interface.d.ts +0 -63
  230. package/shared/interfaces/index.d.ts +0 -7
  231. package/shared/interfaces/main.interface.d.ts +0 -13
  232. package/shared/interfaces/providers.interface.d.ts +0 -70
  233. package/shared/interfaces/tokens.d.ts +0 -16
  234. package/shared/interfaces/ui-providers.interface.d.ts +0 -66
  235. package/shared/services/analytics.service.d.ts +0 -10
  236. package/shared/services/auth-process.service.d.ts +0 -197
  237. package/shared/services/crashlytics.service.d.ts +0 -11
  238. package/shared/services/device-info.service.d.ts +0 -3
  239. package/shared/services/firebase.service.d.ts +0 -16
  240. package/shared/services/firestore-sync.service.d.ts +0 -16
  241. package/shared/services/index.d.ts +0 -9
  242. package/shared/services/performance.service.d.ts +0 -12
  243. package/shared/services/remoteconfig.service.d.ts +0 -18
  244. package/shared/services/ui.service.d.ts +0 -22
  245. package/shared/shared.module.d.ts +0 -14
  246. package/shared/types/DisplayWidth.d.ts +0 -7
  247. package/shared/types/Location.d.ts +0 -8
  248. package/shared/types/ValueAccessorControlComponent.d.ts +0 -27
  249. package/shared/types/ValueAccessorValueComponent.d.ts +0 -19
  250. package/shared/types/index.d.ts +0 -4
  251. package/testing/fakeavatar.module.d.ts +0 -2
  252. package/testing/fakes/FakeAuthProcessService.d.ts +0 -28
  253. package/testing/fakes/FakeAvatarComponent.d.ts +0 -3
  254. package/testing/fakes/FakeFireService.d.ts +0 -20
  255. package/testing/fakes/FakeFirestoreSyncService.d.ts +0 -9
  256. package/testing/fakes/FakeIAPurchaseService.d.ts +0 -9
  257. package/testing/fakes/FakePickerService.d.ts +0 -6
  258. package/testing/fakes/FakeRemoteConfigService.d.ts +0 -19
  259. package/testing/fakes/FakeTranslateService.d.ts +0 -15
  260. package/testing/fakes/FakeUiService.d.ts +0 -25
  261. package/testing/fakes/angular-fire/FakeAngularFireAuth.d.ts +0 -52
  262. package/testing/fakes/angular-fire/FakeAngularFireFunctions.d.ts +0 -11
  263. package/testing/fakes/angular-fire/FakeAngularFirePerformance.d.ts +0 -10
  264. package/testing/fakes/angular-fire/FakeAngularFireStorage.d.ts +0 -5
  265. package/testing/fakes/angular-fire/FakeAngularFirestore.d.ts +0 -5
  266. package/testing/fakes/angular-fire/FakeUserCredential.d.ts +0 -9
  267. package/testing/fakes/index.d.ts +0 -16
  268. package/testing/ngx-firebase-testing.d.ts +0 -5
  269. package/testing/ngx-firebase-testing.metadata.json +0 -1
  270. package/testing/package.json +0 -29
  271. package/testing/public-api.d.ts +0 -4
  272. package/testing/test.module.d.ts +0 -4
  273. package/testing/utils/index.d.ts +0 -5
  274. 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=
@@ -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==