@firestitch/2fa 12.0.10 → 12.1.2

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 (70) hide show
  1. package/app/modules/code-input/code-input.module.d.ts +8 -0
  2. package/app/modules/code-input/components/code-input/code-input.component.d.ts +13 -0
  3. package/app/modules/code-input/components/code-input/index.d.ts +1 -0
  4. package/app/modules/code-input/index.d.ts +1 -0
  5. package/app/modules/manage/components/2fa-manage/2fa-manage.component.d.ts +26 -0
  6. package/app/modules/manage/components/2fa-manage/index.d.ts +1 -0
  7. package/app/modules/manage/components/app/app.component.d.ts +31 -0
  8. package/app/modules/manage/components/app/index.d.ts +1 -0
  9. package/app/modules/manage/components/defaulted/defaulted.component.d.ts +5 -0
  10. package/app/modules/manage/components/defaulted/index.d.ts +1 -0
  11. package/app/modules/manage/components/email/email.component.d.ts +25 -0
  12. package/app/modules/manage/components/email/index.d.ts +1 -0
  13. package/app/modules/manage/components/emails/emails.component.d.ts +17 -0
  14. package/app/modules/manage/components/emails/index.d.ts +1 -0
  15. package/app/modules/manage/components/manage-methods/index.d.ts +1 -0
  16. package/app/modules/manage/components/manage-methods/manage-methods.component.d.ts +31 -0
  17. package/app/modules/manage/components/number/index.d.ts +1 -0
  18. package/app/modules/manage/components/number/number.component.d.ts +26 -0
  19. package/app/modules/manage/components/numbers/index.d.ts +1 -0
  20. package/app/modules/manage/components/numbers/numbers.component.d.ts +18 -0
  21. package/app/modules/manage/components/verification-methods/index.d.ts +1 -0
  22. package/app/modules/manage/components/verification-methods/verification-methods.component.d.ts +18 -0
  23. package/app/modules/manage/fs-2f-manage.module.d.ts +31 -0
  24. package/app/modules/manage/services/index.d.ts +1 -0
  25. package/app/modules/manage/services/two-factor-manage.service.d.ts +39 -0
  26. package/app/{components → modules/verification/components}/2fa-verification/2fa-verification.component.d.ts +8 -8
  27. package/app/{components → modules/verification/components}/2fa-verification-code/2fa-verification-code.component.d.ts +6 -6
  28. package/app/{components → modules/verification/components}/2fa-verification-methods/2fa-verification-methods.component.d.ts +7 -7
  29. package/app/modules/verification/fs-2fa-verification.module.d.ts +23 -0
  30. package/bundles/firestitch-2fa.umd.js +946 -99
  31. package/bundles/firestitch-2fa.umd.js.map +1 -1
  32. package/esm2015/app/modules/code-input/code-input.module.js +26 -0
  33. package/esm2015/app/modules/code-input/components/code-input/code-input.component.js +36 -0
  34. package/esm2015/app/modules/code-input/components/code-input/index.js +2 -0
  35. package/esm2015/app/modules/code-input/index.js +2 -0
  36. package/esm2015/app/modules/manage/components/2fa-manage/2fa-manage.component.js +92 -0
  37. package/esm2015/app/modules/manage/components/2fa-manage/index.js +2 -0
  38. package/esm2015/app/modules/manage/components/app/app.component.js +82 -0
  39. package/esm2015/app/modules/manage/components/app/index.js +2 -0
  40. package/esm2015/app/modules/manage/components/defaulted/defaulted.component.js +16 -0
  41. package/esm2015/app/modules/manage/components/defaulted/index.js +2 -0
  42. package/esm2015/app/modules/manage/components/email/email.component.js +79 -0
  43. package/esm2015/app/modules/manage/components/email/index.js +2 -0
  44. package/esm2015/app/modules/manage/components/emails/emails.component.js +43 -0
  45. package/esm2015/app/modules/manage/components/emails/index.js +2 -0
  46. package/esm2015/app/modules/manage/components/manage-methods/index.js +2 -0
  47. package/esm2015/app/modules/manage/components/manage-methods/manage-methods.component.js +118 -0
  48. package/esm2015/app/modules/manage/components/number/index.js +2 -0
  49. package/esm2015/app/modules/manage/components/number/number.component.js +81 -0
  50. package/esm2015/app/modules/manage/components/numbers/index.js +2 -0
  51. package/esm2015/app/modules/manage/components/numbers/numbers.component.js +44 -0
  52. package/esm2015/app/modules/manage/components/verification-methods/index.js +2 -0
  53. package/esm2015/app/modules/manage/components/verification-methods/verification-methods.component.js +63 -0
  54. package/esm2015/app/modules/manage/fs-2f-manage.module.js +108 -0
  55. package/esm2015/app/modules/manage/services/index.js +2 -0
  56. package/esm2015/app/modules/manage/services/two-factor-manage.service.js +123 -0
  57. package/esm2015/app/modules/verification/components/2fa-verification/2fa-verification.component.js +109 -0
  58. package/esm2015/app/modules/verification/components/2fa-verification-code/2fa-verification-code.component.js +57 -0
  59. package/esm2015/app/modules/verification/components/2fa-verification-methods/2fa-verification-methods.component.js +73 -0
  60. package/esm2015/app/modules/verification/fs-2fa-verification.module.js +88 -0
  61. package/esm2015/public_api.js +5 -7
  62. package/fesm2015/firestitch-2fa.js +812 -46
  63. package/fesm2015/firestitch-2fa.js.map +1 -1
  64. package/package.json +1 -1
  65. package/public_api.d.ts +4 -2
  66. package/app/fs-2fa.module.d.ts +0 -23
  67. package/esm2015/app/components/2fa-verification/2fa-verification.component.js +0 -108
  68. package/esm2015/app/components/2fa-verification-code/2fa-verification-code.component.js +0 -57
  69. package/esm2015/app/components/2fa-verification-methods/2fa-verification-methods.component.js +0 -73
  70. package/esm2015/app/fs-2fa.module.js +0 -88
@@ -0,0 +1,109 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Inject, Input, Output, ViewChild, } from '@angular/core';
2
+ import { FsDialog } from '@firestitch/dialog';
3
+ import { filter, takeUntil } from 'rxjs/operators';
4
+ import { Fs2faVerificationMethodsComponent } from '../2fa-verification-methods/2fa-verification-methods.component';
5
+ import { Subject } from 'rxjs';
6
+ import { FS_2FA_VERIFICATION_PROVIDER } from '../../../../tokens/verification.token';
7
+ import { FsVerificationMethodType } from '../../../../enums/verification-method-type.enum';
8
+ import { Fs2faVerificationCodeComponent } from '../2fa-verification-code/2fa-verification-code.component';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@firestitch/dialog";
11
+ import * as i2 from "../2fa-verification-code/2fa-verification-code.component";
12
+ import * as i3 from "@angular/material/checkbox";
13
+ import * as i4 from "@angular/material/progress-spinner";
14
+ import * as i5 from "@angular/forms";
15
+ import * as i6 from "@angular/common";
16
+ export class Fs2faVerificationComponent {
17
+ constructor(verificationProvider, _cdRef, _dialog) {
18
+ this.verificationProvider = verificationProvider;
19
+ this._cdRef = _cdRef;
20
+ this._dialog = _dialog;
21
+ this.verified = new EventEmitter();
22
+ this.codeChanged = new EventEmitter();
23
+ this.codeCompleted = new EventEmitter();
24
+ this.resendInProgress = false;
25
+ this.code = '';
26
+ this.trustedDevice = true;
27
+ this.FsVerificationMethodType = FsVerificationMethodType;
28
+ this._destroy$ = new Subject();
29
+ }
30
+ ngOnInit() {
31
+ this.codeChanged
32
+ .pipe(takeUntil(this._destroy$))
33
+ .subscribe((code) => {
34
+ this.code = code;
35
+ });
36
+ }
37
+ ngOnDestroy() {
38
+ this._destroy$.next();
39
+ this._destroy$.complete();
40
+ }
41
+ verify() {
42
+ this.verificationProvider
43
+ .verify(this.code, this.trustedDevice)
44
+ .subscribe((response) => {
45
+ this.verified.emit(response);
46
+ });
47
+ }
48
+ ;
49
+ ngAfterViewInit() {
50
+ this.verificationCodeComponent.focus();
51
+ }
52
+ resend() {
53
+ this.resendInProgress = true;
54
+ this.code = '';
55
+ this.verificationProvider
56
+ .resend()
57
+ .pipe(takeUntil(this._destroy$))
58
+ .subscribe(() => {
59
+ this.resendInProgress = false;
60
+ this.verificationCodeComponent.focus();
61
+ this._cdRef.markForCheck();
62
+ });
63
+ }
64
+ showVerificationMethods() {
65
+ this._dialog.open(Fs2faVerificationMethodsComponent, {
66
+ data: {
67
+ method: this.method,
68
+ }
69
+ })
70
+ .afterClosed()
71
+ .pipe(filter((method) => !!method))
72
+ .subscribe((method) => {
73
+ this.method = method;
74
+ this.code = '';
75
+ this._cdRef.markForCheck();
76
+ setTimeout(() => {
77
+ this.verificationCodeComponent.focus();
78
+ });
79
+ });
80
+ }
81
+ }
82
+ Fs2faVerificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2faVerificationComponent, deps: [{ token: FS_2FA_VERIFICATION_PROVIDER }, { token: i0.ChangeDetectorRef }, { token: i1.FsDialog }], target: i0.ɵɵFactoryTarget.Component });
83
+ Fs2faVerificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: Fs2faVerificationComponent, selector: "fs-2fa-verification", inputs: { method: "method" }, outputs: { verified: "verified", codeChanged: "codeChanged", codeCompleted: "codeCompleted" }, viewQueries: [{ propertyName: "verificationCodeComponent", first: true, predicate: Fs2faVerificationCodeComponent, descendants: true }], ngImport: i0, template: "<div class=\"code-container\">\n <fs-2fa-verification-code\n [method]=\"method\"\n [code]=\"code\"\n (codeChanged)=\"codeChanged.emit($event)\"\n (codeCompleted)=\"codeCompleted.emit()\">\n </fs-2fa-verification-code>\n</div>\n\n<div class=\"additional\">\n <mat-checkbox\n name=\"trust-device\"\n [(ngModel)]=\"trustedDevice\">\n Trust this device\n </mat-checkbox>\n\n <span class=\"resend-code-btn\">\n <ng-container *ngIf=\"!resendInProgress else sending\">\n <a (click)=\"resend()\">\n Resend Code\n </a>\n </ng-container>\n <ng-template #sending>\n <mat-spinner [diameter]=\"12\"></mat-spinner> Sending\n </ng-template>\n </span>\n</div>", styles: [".code-container{text-align:center}.additional{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.additional .resend-code-btn{cursor:pointer;text-transform:none}.additional .resend-code-btn mat-spinner{display:inline-block;vertical-align:middle}\n"], components: [{ type: i2.Fs2faVerificationCodeComponent, selector: "fs-2fa-verification-code", inputs: ["method", "code"], outputs: ["codeChanged", "codeCompleted"] }, { type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i4.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2faVerificationComponent, decorators: [{
85
+ type: Component,
86
+ args: [{
87
+ selector: 'fs-2fa-verification',
88
+ templateUrl: './2fa-verification.component.html',
89
+ styleUrls: [
90
+ './2fa-verification.component.scss',
91
+ ],
92
+ changeDetection: ChangeDetectionStrategy.OnPush,
93
+ }]
94
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
95
+ type: Inject,
96
+ args: [FS_2FA_VERIFICATION_PROVIDER]
97
+ }] }, { type: i0.ChangeDetectorRef }, { type: i1.FsDialog }]; }, propDecorators: { verificationCodeComponent: [{
98
+ type: ViewChild,
99
+ args: [Fs2faVerificationCodeComponent]
100
+ }], method: [{
101
+ type: Input
102
+ }], verified: [{
103
+ type: Output
104
+ }], codeChanged: [{
105
+ type: Output
106
+ }], codeCompleted: [{
107
+ type: Output
108
+ }] } });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMmZhLXZlcmlmaWNhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvdmVyaWZpY2F0aW9uL2NvbXBvbmVudHMvMmZhLXZlcmlmaWNhdGlvbi8yZmEtdmVyaWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy92ZXJpZmljYXRpb24vY29tcG9uZW50cy8yZmEtdmVyaWZpY2F0aW9uLzJmYS12ZXJpZmljYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDbkgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVyRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQzs7Ozs7Ozs7QUFXMUcsTUFBTSxPQUFPLDBCQUEwQjtJQXdCckMsWUFFUyxvQkFBNkMsRUFDNUMsTUFBeUIsRUFDekIsT0FBaUI7UUFGbEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM1QyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFVO1FBbkJwQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUd2QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHMUMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTVDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1Ysa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsNkJBQXdCLEdBQUcsd0JBQXdCLENBQUM7UUFFbkQsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFReEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVzthQUNmLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLG9CQUFvQjthQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQ3JDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUFBLENBQUM7SUFFSyxlQUFlO1FBQ3BCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsb0JBQW9CO2FBQ3RCLE1BQU0sRUFBRTthQUNSLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQzlCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDZixpQ0FBaUMsRUFDakM7WUFDRSxJQUFJLEVBQUU7Z0JBQ0osTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQ3BCO1NBQ0YsQ0FDRjthQUNFLFdBQVcsRUFBRTthQUNiLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FDN0I7YUFDQSxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUVmLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFM0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3dIQWxHVSwwQkFBMEIsa0JBeUIzQiw0QkFBNEI7NEdBekIzQiwwQkFBMEIsbVBBRTFCLDhCQUE4QixnRENyQzNDLGtzQkEwQk07NEZEU08sMEJBQTBCO2tCQVJ0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSxtQ0FBbUM7b0JBQ2hELFNBQVMsRUFBRTt3QkFDVCxtQ0FBbUM7cUJBQ3BDO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7MEJBMEJJLE1BQU07MkJBQUMsNEJBQTRCO21HQXRCL0IseUJBQXlCO3NCQUQvQixTQUFTO3VCQUFDLDhCQUE4QjtnQkFJbEMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsTUFBTTtnQkFJQSxXQUFXO3NCQURqQixNQUFNO2dCQUlBLGFBQWE7c0JBRG5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGc0RpYWxvZyB9IGZyb20gJ0BmaXJlc3RpdGNoL2RpYWxvZyc7XG5cbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElGc1ZlcmlmaWNhdGlvbk1ldGhvZCB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvdmVyaWZpY2F0aW9uLW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRnMyZmFWZXJpZmljYXRpb25NZXRob2RzQ29tcG9uZW50IH0gZnJvbSAnLi4vMmZhLXZlcmlmaWNhdGlvbi1tZXRob2RzLzJmYS12ZXJpZmljYXRpb24tbWV0aG9kcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRlNfMkZBX1ZFUklGSUNBVElPTl9QUk9WSURFUiB9IGZyb20gJy4uLy4uLy4uLy4uL3Rva2Vucy92ZXJpZmljYXRpb24udG9rZW4nO1xuaW1wb3J0IHsgSUZzVmVyaWZpY2F0aW9uUHJvdmlkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL3ZlcmlmaWNhdGlvbi1wcm92aWRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRnNWZXJpZmljYXRpb25NZXRob2RUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMvdmVyaWZpY2F0aW9uLW1ldGhvZC10eXBlLmVudW0nO1xuaW1wb3J0IHsgRnMyZmFWZXJpZmljYXRpb25Db2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vMmZhLXZlcmlmaWNhdGlvbi1jb2RlLzJmYS12ZXJpZmljYXRpb24tY29kZS5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLTJmYS12ZXJpZmljYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vMmZhLXZlcmlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuLzJmYS12ZXJpZmljYXRpb24uY29tcG9uZW50LnNjc3MnLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnMyZmFWZXJpZmljYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE9uSW5pdCB7XG5cbiAgQFZpZXdDaGlsZChGczJmYVZlcmlmaWNhdGlvbkNvZGVDb21wb25lbnQpXG4gIHB1YmxpYyB2ZXJpZmljYXRpb25Db2RlQ29tcG9uZW50OiBGczJmYVZlcmlmaWNhdGlvbkNvZGVDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1ldGhvZDogSUZzVmVyaWZpY2F0aW9uTWV0aG9kO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdmVyaWZpZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjb2RlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNvZGVDb21wbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XG5cbiAgcHVibGljIHJlc2VuZEluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgcHVibGljIGNvZGUgPSAnJztcbiAgcHVibGljIHRydXN0ZWREZXZpY2UgPSB0cnVlO1xuICBwdWJsaWMgRnNWZXJpZmljYXRpb25NZXRob2RUeXBlID0gRnNWZXJpZmljYXRpb25NZXRob2RUeXBlO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZTXzJGQV9WRVJJRklDQVRJT05fUFJPVklERVIpXG4gICAgcHVibGljIHZlcmlmaWNhdGlvblByb3ZpZGVyOiBJRnNWZXJpZmljYXRpb25Qcm92aWRlcixcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBGc0RpYWxvZyxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb2RlQ2hhbmdlZFxuICAgIC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICApXG4gICAgLnN1YnNjcmliZSgoY29kZTogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLmNvZGUgPSBjb2RlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHZlcmlmeSgpIHtcbiAgICB0aGlzLnZlcmlmaWNhdGlvblByb3ZpZGVyXG4gICAgICAudmVyaWZ5KHRoaXMuY29kZSwgdGhpcy50cnVzdGVkRGV2aWNlKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy52ZXJpZmllZC5lbWl0KHJlc3BvbnNlKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy52ZXJpZmljYXRpb25Db2RlQ29tcG9uZW50LmZvY3VzKCk7ICAgIFxuICB9XG5cbiAgcHVibGljIHJlc2VuZCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2VuZEluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIHRoaXMuY29kZSA9ICcnO1xuXG4gICAgdGhpcy52ZXJpZmljYXRpb25Qcm92aWRlclxuICAgICAgLnJlc2VuZCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlc2VuZEluUHJvZ3Jlc3MgPSBmYWxzZTsgICBcbiAgICAgICAgdGhpcy52ZXJpZmljYXRpb25Db2RlQ29tcG9uZW50LmZvY3VzKCk7ICBcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KVxuICB9XG5cbiAgcHVibGljIHNob3dWZXJpZmljYXRpb25NZXRob2RzKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZy5vcGVuKFxuICAgICAgRnMyZmFWZXJpZmljYXRpb25NZXRob2RzQ29tcG9uZW50LFxuICAgICAge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgbWV0aG9kOiB0aGlzLm1ldGhvZCxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIClcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtZXRob2QpID0+ICEhbWV0aG9kKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG1ldGhvZCkgPT4ge1xuICAgICAgICB0aGlzLm1ldGhvZCA9IG1ldGhvZDtcbiAgICAgICAgdGhpcy5jb2RlID0gJyc7XG5cbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy52ZXJpZmljYXRpb25Db2RlQ29tcG9uZW50LmZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNvZGUtY29udGFpbmVyXCI+XG4gIDxmcy0yZmEtdmVyaWZpY2F0aW9uLWNvZGVcbiAgICBbbWV0aG9kXT1cIm1ldGhvZFwiXG4gICAgW2NvZGVdPVwiY29kZVwiXG4gICAgKGNvZGVDaGFuZ2VkKT1cImNvZGVDaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgKGNvZGVDb21wbGV0ZWQpPVwiY29kZUNvbXBsZXRlZC5lbWl0KClcIj5cbiAgPC9mcy0yZmEtdmVyaWZpY2F0aW9uLWNvZGU+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImFkZGl0aW9uYWxcIj5cbiAgPG1hdC1jaGVja2JveFxuICAgIG5hbWU9XCJ0cnVzdC1kZXZpY2VcIlxuICAgIFsobmdNb2RlbCldPVwidHJ1c3RlZERldmljZVwiPlxuICAgIFRydXN0IHRoaXMgZGV2aWNlXG4gIDwvbWF0LWNoZWNrYm94PlxuXG4gIDxzcGFuIGNsYXNzPVwicmVzZW5kLWNvZGUtYnRuXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZXNlbmRJblByb2dyZXNzIGVsc2Ugc2VuZGluZ1wiPlxuICAgICAgPGEgKGNsaWNrKT1cInJlc2VuZCgpXCI+XG4gICAgICAgIFJlc2VuZCBDb2RlXG4gICAgICA8L2E+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNzZW5kaW5nPlxuICAgICAgPG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCIxMlwiPjwvbWF0LXNwaW5uZXI+IFNlbmRpbmdcbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3NwYW4+XG48L2Rpdj4iXX0=
@@ -0,0 +1,57 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
+ import { ControlContainer, NgForm } from '@angular/forms';
3
+ import { CodeInputComponent } from '../../../../modules/code-input/components/code-input';
4
+ import { FsVerificationMethodType } from '../../../../enums/verification-method-type.enum';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../code-input/components/code-input/code-input.component";
7
+ import * as i2 from "@angular/common";
8
+ export class Fs2faVerificationCodeComponent {
9
+ constructor() {
10
+ this.codeChanged = new EventEmitter();
11
+ this.codeCompleted = new EventEmitter();
12
+ this.FsVerificationMethodType = FsVerificationMethodType;
13
+ }
14
+ codeChange(code) {
15
+ this.code = code;
16
+ this.codeChanged.emit(this.code);
17
+ }
18
+ focus() {
19
+ this.codeInputComponent.focus();
20
+ }
21
+ }
22
+ Fs2faVerificationCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2faVerificationCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ Fs2faVerificationCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: Fs2faVerificationCodeComponent, selector: "fs-2fa-verification-code", inputs: { method: "method", code: "code" }, outputs: { codeChanged: "codeChanged", codeCompleted: "codeCompleted" }, viewQueries: [{ propertyName: "codeInputComponent", first: true, predicate: CodeInputComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"method.phoneNumber && method.type === FsVerificationMethodType.Sms\">\n <p class=\"description\">\n A text message with a verification code was just\n sent to <span style=\"white-space: nowrap;\">{{ method.phoneNumber }}</span> to verify it's you.\n </p>\n\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"method.type === FsVerificationMethodType.Email\">\n <p class=\"description\">\n A email with a verification code was just sent to {{ method.email }} to verify it's you.\n </p>\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"method.type === FsVerificationMethodType.App\">\n <p class=\"description\">\n Enter the verification code generated by your 2 factor authenticator app to verify it's you.\n </p>\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n</ng-container>\n\n<ng-template #input> \n <app-code-input \n [code]=\"code\"\n (codeChanged)=\"codeChange($event)\"\n (codeCompleted)=\"codeCompleted.emit()\">\n </app-code-input> \n</ng-template> ", styles: ["mat-form-field{width:100%}mat-form-field ::ng-deep .mat-form-field-subscript-wrapper{min-height:unset!important}mat-form-field ::ng-deep .mat-form-field-subscript-wrapper .fs-form-error{padding-bottom:5px}app-code-input{margin-bottom:5px}\n"], components: [{ type: i1.CodeInputComponent, selector: "app-code-input", inputs: ["codeLength", "code"], outputs: ["codeCompleted", "codeChanged"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], viewProviders: [
24
+ {
25
+ provide: ControlContainer,
26
+ useExisting: NgForm,
27
+ },
28
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2faVerificationCodeComponent, decorators: [{
30
+ type: Component,
31
+ args: [{
32
+ selector: 'fs-2fa-verification-code',
33
+ templateUrl: './2fa-verification-code.component.html',
34
+ styleUrls: [
35
+ './2fa-verification-code.component.scss',
36
+ ],
37
+ changeDetection: ChangeDetectionStrategy.OnPush,
38
+ viewProviders: [
39
+ {
40
+ provide: ControlContainer,
41
+ useExisting: NgForm,
42
+ },
43
+ ],
44
+ }]
45
+ }], propDecorators: { codeInputComponent: [{
46
+ type: ViewChild,
47
+ args: [CodeInputComponent]
48
+ }], method: [{
49
+ type: Input
50
+ }], code: [{
51
+ type: Input
52
+ }], codeChanged: [{
53
+ type: Output
54
+ }], codeCompleted: [{
55
+ type: Output
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMmZhLXZlcmlmaWNhdGlvbi1jb2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy92ZXJpZmljYXRpb24vY29tcG9uZW50cy8yZmEtdmVyaWZpY2F0aW9uLWNvZGUvMmZhLXZlcmlmaWNhdGlvbi1jb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy92ZXJpZmljYXRpb24vY29tcG9uZW50cy8yZmEtdmVyaWZpY2F0aW9uLWNvZGUvMmZhLXZlcmlmaWNhdGlvbi1jb2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDMUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7QUFtQjNGLE1BQU0sT0FBTyw4QkFBOEI7SUFkM0M7UUEwQlMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBR3pDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV6Qyw2QkFBd0IsR0FBRyx3QkFBd0IsQ0FBQztLQVc1RDtJQVRRLFVBQVUsQ0FBQyxJQUFJO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzs0SEExQlUsOEJBQThCO2dIQUE5Qiw4QkFBOEIseU9BRTlCLGtCQUFrQixnREMvQi9CLDBtQ0E2QmUsNG5CRFBFO1FBQ2I7WUFDRSxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFdBQVcsRUFBRSxNQUFNO1NBQ3BCO0tBQ0Y7NEZBRVUsOEJBQThCO2tCQWQxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRTt3QkFDVCx3Q0FBd0M7cUJBQ3pDO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUU7d0JBQ2I7NEJBQ0UsT0FBTyxFQUFFLGdCQUFnQjs0QkFDekIsV0FBVyxFQUFFLE1BQU07eUJBQ3BCO3FCQUNGO2lCQUNGOzhCQUlRLGtCQUFrQjtzQkFEeEIsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBSXRCLE1BQU07c0JBRFosS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsTUFBTTtnQkFJQSxhQUFhO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29kZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kdWxlcy9jb2RlLWlucHV0L2NvbXBvbmVudHMvY29kZS1pbnB1dCc7XG5pbXBvcnQgeyBGc1ZlcmlmaWNhdGlvbk1ldGhvZFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtcy92ZXJpZmljYXRpb24tbWV0aG9kLXR5cGUuZW51bSc7XG5cbmltcG9ydCB7IElGc1ZlcmlmaWNhdGlvbk1ldGhvZCB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvdmVyaWZpY2F0aW9uLW1ldGhvZC5pbnRlcmZhY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLTJmYS12ZXJpZmljYXRpb24tY29kZScsXG4gIHRlbXBsYXRlVXJsOiAnLi8yZmEtdmVyaWZpY2F0aW9uLWNvZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi8yZmEtdmVyaWZpY2F0aW9uLWNvZGUuY29tcG9uZW50LnNjc3MnLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsXG4gICAgICB1c2VFeGlzdGluZzogTmdGb3JtLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzMmZhVmVyaWZpY2F0aW9uQ29kZUNvbXBvbmVudCB7XG5cbiAgQFZpZXdDaGlsZChDb2RlSW5wdXRDb21wb25lbnQpXG4gIHB1YmxpYyBjb2RlSW5wdXRDb21wb25lbnQ6IENvZGVJbnB1dENvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWV0aG9kOiBJRnNWZXJpZmljYXRpb25NZXRob2Q7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvZGU7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjb2RlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY29kZUNvbXBsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgRnNWZXJpZmljYXRpb25NZXRob2RUeXBlID0gRnNWZXJpZmljYXRpb25NZXRob2RUeXBlO1xuXG4gIHB1YmxpYyBjb2RlQ2hhbmdlKGNvZGUpOiB2b2lkIHtcbiAgICB0aGlzLmNvZGUgPSBjb2RlO1xuICAgIHRoaXMuY29kZUNoYW5nZWQuZW1pdCh0aGlzLmNvZGUpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuY29kZUlucHV0Q29tcG9uZW50LmZvY3VzKCk7XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1ldGhvZC5waG9uZU51bWJlciAmJiBtZXRob2QudHlwZSA9PT0gRnNWZXJpZmljYXRpb25NZXRob2RUeXBlLlNtc1wiPlxuICA8cCBjbGFzcz1cImRlc2NyaXB0aW9uXCI+XG4gICAgQSB0ZXh0IG1lc3NhZ2Ugd2l0aCBhIHZlcmlmaWNhdGlvbiBjb2RlIHdhcyBqdXN0XG4gICAgc2VudCB0byA8c3BhbiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7XCI+e3sgbWV0aG9kLnBob25lTnVtYmVyIH19PC9zcGFuPiB0byB2ZXJpZnkgaXQncyB5b3UuXG4gIDwvcD5cblxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwibWV0aG9kLnR5cGUgPT09IEZzVmVyaWZpY2F0aW9uTWV0aG9kVHlwZS5FbWFpbFwiPlxuICA8cCBjbGFzcz1cImRlc2NyaXB0aW9uXCI+XG4gICAgQSBlbWFpbCB3aXRoIGEgdmVyaWZpY2F0aW9uIGNvZGUgd2FzIGp1c3Qgc2VudCB0byB7eyBtZXRob2QuZW1haWwgfX0gdG8gdmVyaWZ5IGl0J3MgeW91LlxuICA8L3A+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJtZXRob2QudHlwZSA9PT0gRnNWZXJpZmljYXRpb25NZXRob2RUeXBlLkFwcFwiPlxuICA8cCBjbGFzcz1cImRlc2NyaXB0aW9uXCI+XG4gICAgRW50ZXIgdGhlIHZlcmlmaWNhdGlvbiBjb2RlIGdlbmVyYXRlZCBieSB5b3VyIDIgZmFjdG9yIGF1dGhlbnRpY2F0b3IgYXBwIHRvIHZlcmlmeSBpdCdzIHlvdS5cbiAgPC9wPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2lucHV0PiBcbiA8YXBwLWNvZGUtaW5wdXQgIFxuICAgIFtjb2RlXT1cImNvZGVcIlxuICAgIChjb2RlQ2hhbmdlZCk9XCJjb2RlQ2hhbmdlKCRldmVudClcIlxuICAgIChjb2RlQ29tcGxldGVkKT1cImNvZGVDb21wbGV0ZWQuZW1pdCgpXCI+XG4gIDwvYXBwLWNvZGUtaW5wdXQ+IFxuPC9uZy10ZW1wbGF0ZT4gIl19
@@ -0,0 +1,73 @@
1
+ import { ChangeDetectionStrategy, Component, Inject, } from '@angular/core';
2
+ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
3
+ import { map, shareReplay, tap } from 'rxjs/operators';
4
+ import { FS_2FA_VERIFICATION_PROVIDER } from '../../../../tokens/verification.token';
5
+ import { FsVerificationMethodType } from '../../../../enums/verification-method-type.enum';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/dialog";
8
+ import * as i2 from "@firestitch/dialog";
9
+ import * as i3 from "@firestitch/radiogroup";
10
+ import * as i4 from "@angular/material/icon";
11
+ import * as i5 from "@angular/material/radio";
12
+ import * as i6 from "@angular/material/button";
13
+ import * as i7 from "@angular/forms";
14
+ import * as i8 from "@firestitch/form";
15
+ import * as i9 from "@firestitch/skeleton";
16
+ import * as i10 from "@angular/common";
17
+ export class Fs2faVerificationMethodsComponent {
18
+ constructor(_verificationProvider, _dialogData, _dialogRef) {
19
+ this._verificationProvider = _verificationProvider;
20
+ this._dialogData = _dialogData;
21
+ this._dialogRef = _dialogRef;
22
+ this.verificationMethodType = FsVerificationMethodType;
23
+ this.setVerificationMethod = () => {
24
+ return this._verificationProvider
25
+ .updateVerificationMethod(this.method.id)
26
+ .pipe(tap((method) => {
27
+ this._dialogRef.close(method);
28
+ }));
29
+ };
30
+ this._setActiveMethod();
31
+ this._initMethods();
32
+ }
33
+ compareWith(o1, o2) {
34
+ return o1 && o2 && o1.id === o2.id;
35
+ }
36
+ _setActiveMethod() {
37
+ var _a;
38
+ this.method = (_a = this._dialogData) === null || _a === void 0 ? void 0 : _a.method;
39
+ }
40
+ _initMethods() {
41
+ this.methods$ = this._verificationProvider
42
+ .methods()
43
+ .pipe(map((methods) => {
44
+ return methods
45
+ .reduce((acc, method) => {
46
+ if (!acc[method.type]) {
47
+ acc[method.type] = [];
48
+ }
49
+ acc[method.type].push(method);
50
+ return acc;
51
+ }, {});
52
+ }), shareReplay(1));
53
+ }
54
+ }
55
+ Fs2faVerificationMethodsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2faVerificationMethodsComponent, deps: [{ token: FS_2FA_VERIFICATION_PROVIDER }, { token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
56
+ Fs2faVerificationMethodsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: Fs2faVerificationMethodsComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog>\n <h1 mat-dialog-title>\n Verification Methods\n </h1>\n <form fsForm [submit]=\"setVerificationMethod\" [dirtySubmitButton]=\"false\">\n <mat-dialog-content>\n <ng-container *fsSkeleton=\"methods$ | async as methods\">\n <fs-radio-group [(ngModel)]=\"method\" name=\"method\" [compareWith]=\"compareWith\">\n <ng-container *ngFor=\"let methodMap of methods | keyvalue\">\n <div class=\"method\">\n <ng-container [ngSwitch]=\"methodMap.key\">\n <ng-container *ngSwitchCase=\"verificationMethodType.Sms\">\n <div class=\"method-header\">\n <div class=\"method-icon\">\n <mat-icon>\n textsms\n </mat-icon>\n </div>\n <div class=\"method-name\">\n <div class=\"method-title\">Text Message</div>\n <div class=\"method-subtitle\">\n Verification code send to one of following mobile number\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"verificationMethodType.Email\">\n <div class=\"method-header\">\n <div class=\"method-icon\">\n <mat-icon>\n mail\n </mat-icon>\n </div>\n <div class=\"method-name\">\n <div class=\"method-title\">Email</div>\n <div class=\"method-subtitle\">\n Verification code send to one of following email\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"verificationMethodType.App\">\n <div class=\"method-header\">\n <div class=\"method-icon\">\n <mat-icon>\n phone_iphone\n </mat-icon>\n </div>\n <div class=\"method-name\">\n <div class=\"method-title\">Authenticator App</div>\n <div class=\"method-subtitle\">\n Verification code generated by an authenticator app\n </div>\n </div>\n </div>\n </ng-container> \n </ng-container>\n\n <mat-radio-button class=\"method-item\" *ngFor=\"let method of methodMap.value\" [value]=\"method\">\n <ng-container [ngSwitch]=\"methodMap.key\">\n <ng-container *ngSwitchCase=\"verificationMethodType.Sms\">\n {{ method.phoneNumber }}\n </ng-container>\n <ng-container *ngSwitchCase=\"verificationMethodType.Email\">\n {{ method.email }}\n </ng-container>\n <ng-container *ngSwitchCase=\"verificationMethodType.App\">\n Authenticator App\n </ng-container> \n </ng-container>\n </mat-radio-button>\n </div>\n </ng-container>\n </fs-radio-group>\n </ng-container>\n </mat-dialog-content>\n <mat-dialog-actions>\n <div class=\"actions\">\n <ng-container *ngIf=\"methods$ | async\">\n <button mat-button type=\"submit\" color=\"primary\">Next</button>\n </ng-container>\n <button mat-button type=\"button\" [mat-dialog-close]=\"null\">Cancel</button>\n </div>\n </mat-dialog-actions>\n </form>\n</fs-dialog>\n", styles: [".method{display:block;margin-bottom:20px}.method .method-header{display:flex;align-items:flex-start}.method .method-header .method-name{margin-left:10px}.method .method-header .method-name .method-title{font-size:14px;font-weight:400}.method .method-header .method-name .method-subtitle{font-size:12px;color:#a3a3a3}.method .method-item{display:block;margin:10px 0 0 35px}\n"], components: [{ type: i2.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i3.FsRadioGroupComponent, selector: "fs-radio-group", inputs: ["orientation", "radioPosition", "compareWith", "required", "disabled", "label", "name"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "successDelay", "errorDelay", "submit", "tabGroup"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i9.ɵa, selector: "[fsSkeleton]", inputs: ["fsSkeletonPattern", "fsSkeleton"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ɵw, selector: "button[type=\"submit\"]", inputs: ["dirtySubmit", "name"] }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "async": i10.AsyncPipe, "keyvalue": i10.KeyValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2faVerificationMethodsComponent, decorators: [{
58
+ type: Component,
59
+ args: [{
60
+ templateUrl: './2fa-verification-methods.component.html',
61
+ styleUrls: [
62
+ './2fa-verification-methods.component.scss',
63
+ ],
64
+ changeDetection: ChangeDetectionStrategy.OnPush,
65
+ }]
66
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
67
+ type: Inject,
68
+ args: [FS_2FA_VERIFICATION_PROVIDER]
69
+ }] }, { type: undefined, decorators: [{
70
+ type: Inject,
71
+ args: [MAT_DIALOG_DATA]
72
+ }] }, { type: i1.MatDialogRef }]; } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMmZhLXZlcmlmaWNhdGlvbi1tZXRob2RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy92ZXJpZmljYXRpb24vY29tcG9uZW50cy8yZmEtdmVyaWZpY2F0aW9uLW1ldGhvZHMvMmZhLXZlcmlmaWNhdGlvbi1tZXRob2RzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy92ZXJpZmljYXRpb24vY29tcG9uZW50cy8yZmEtdmVyaWZpY2F0aW9uLW1ldGhvZHMvMmZhLXZlcmlmaWNhdGlvbi1tZXRob2RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7Ozs7Ozs7QUFZM0YsTUFBTSxPQUFPLGlDQUFpQztJQVE1QyxZQUVVLHFCQUE4QyxFQUU5QyxXQUFnQixFQUNoQixVQUEyRDtRQUgzRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXlCO1FBRTlDLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQWlEO1FBUHJELDJCQUFzQixHQUFHLHdCQUF3QixDQUFDO1FBaUIzRCwwQkFBcUIsR0FBRyxHQUFHLEVBQUU7WUFDbEMsT0FBTyxJQUFJLENBQUMscUJBQXFCO2lCQUM5Qix3QkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztpQkFDeEMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLE1BQTZCLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNOLENBQUMsQ0FBQztRQWhCQSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxFQUFFLEVBQUUsRUFBRTtRQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFBO0lBQ3BDLENBQUM7SUFZTyxnQkFBZ0I7O1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxNQUFNLENBQUM7SUFDekMsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCO2FBQ3ZDLE9BQU8sRUFBRTthQUNULElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLE9BQU8sT0FBTztpQkFDWCxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNyQixHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztpQkFDdkI7Z0JBRUQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRTlCLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFDTixDQUFDOzsrSEF2RFUsaUNBQWlDLGtCQVNsQyw0QkFBNEIsYUFFNUIsZUFBZTttSEFYZCxpQ0FBaUMsb0RDeEI5QyxxdUhBd0ZBOzRGRGhFYSxpQ0FBaUM7a0JBUDdDLFNBQVM7bUJBQUM7b0JBQ1QsV0FBVyxFQUFFLDJDQUEyQztvQkFDeEQsU0FBUyxFQUFFO3dCQUNULDJDQUEyQztxQkFDNUM7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkFVSSxNQUFNOzJCQUFDLDRCQUE0Qjs7MEJBRW5DLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGU18yRkFfVkVSSUZJQ0FUSU9OX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vLi4vLi4vdG9rZW5zL3ZlcmlmaWNhdGlvbi50b2tlbic7XG5pbXBvcnQgeyBGc1ZlcmlmaWNhdGlvbk1ldGhvZFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtcy92ZXJpZmljYXRpb24tbWV0aG9kLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBJRnNWZXJpZmljYXRpb25Qcm92aWRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvdmVyaWZpY2F0aW9uLXByb3ZpZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRnNWZXJpZmljYXRpb25NZXRob2QgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL3ZlcmlmaWNhdGlvbi1tZXRob2QuaW50ZXJmYWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuLzJmYS12ZXJpZmljYXRpb24tbWV0aG9kcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuLzJmYS12ZXJpZmljYXRpb24tbWV0aG9kcy5jb21wb25lbnQuc2NzcycsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGczJmYVZlcmlmaWNhdGlvbk1ldGhvZHNDb21wb25lbnQge1xuXG4gIHB1YmxpYyBtZXRob2Q6IElGc1ZlcmlmaWNhdGlvbk1ldGhvZDtcbiAgcHVibGljIHBob25lOiBzdHJpbmc7XG4gIHB1YmxpYyBjb2RlOiBzdHJpbmc7XG4gIHB1YmxpYyBtZXRob2RzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBJRnNWZXJpZmljYXRpb25NZXRob2RbXT4+O1xuICBwdWJsaWMgcmVhZG9ubHkgdmVyaWZpY2F0aW9uTWV0aG9kVHlwZSA9IEZzVmVyaWZpY2F0aW9uTWV0aG9kVHlwZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZTXzJGQV9WRVJJRklDQVRJT05fUFJPVklERVIpXG4gICAgcHJpdmF0ZSBfdmVyaWZpY2F0aW9uUHJvdmlkZXI6IElGc1ZlcmlmaWNhdGlvblByb3ZpZGVyLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxuICAgIHByaXZhdGUgX2RpYWxvZ0RhdGE6IGFueSxcbiAgICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxGczJmYVZlcmlmaWNhdGlvbk1ldGhvZHNDb21wb25lbnQ+LFxuICApIHtcbiAgICB0aGlzLl9zZXRBY3RpdmVNZXRob2QoKTtcbiAgICB0aGlzLl9pbml0TWV0aG9kcygpO1xuICB9XG5cbiAgcHVibGljIGNvbXBhcmVXaXRoKG8xLCBvMikge1xuICAgIHJldHVybiBvMSAmJiBvMiAmJiBvMS5pZCA9PT0gbzIuaWRcbiAgfVxuXG4gIHB1YmxpYyBzZXRWZXJpZmljYXRpb25NZXRob2QgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZlcmlmaWNhdGlvblByb3ZpZGVyXG4gICAgICAudXBkYXRlVmVyaWZpY2F0aW9uTWV0aG9kKHRoaXMubWV0aG9kLmlkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgobWV0aG9kOiBJRnNWZXJpZmljYXRpb25NZXRob2QpID0+IHtcbiAgICAgICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UobWV0aG9kKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfc2V0QWN0aXZlTWV0aG9kKCk6IHZvaWQge1xuICAgIHRoaXMubWV0aG9kID0gdGhpcy5fZGlhbG9nRGF0YT8ubWV0aG9kO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdE1ldGhvZHMoKTogdm9pZCB7XG4gICAgdGhpcy5tZXRob2RzJCA9IHRoaXMuX3ZlcmlmaWNhdGlvblByb3ZpZGVyXG4gICAgICAubWV0aG9kcygpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChtZXRob2RzKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG1ldGhvZHNcbiAgICAgICAgICAgIC5yZWR1Y2UoKGFjYywgbWV0aG9kKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghYWNjW21ldGhvZC50eXBlXSkge1xuICAgICAgICAgICAgICAgIGFjY1ttZXRob2QudHlwZV0gPSBbXTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGFjY1ttZXRob2QudHlwZV0ucHVzaChtZXRob2QpO1xuXG4gICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9LCB7fSk7XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICAgICk7XG4gIH1cbn1cbiIsIjxmcy1kaWFsb2c+XG4gIDxoMSBtYXQtZGlhbG9nLXRpdGxlPlxuICAgIFZlcmlmaWNhdGlvbiBNZXRob2RzXG4gIDwvaDE+XG4gIDxmb3JtIGZzRm9ybSBbc3VibWl0XT1cInNldFZlcmlmaWNhdGlvbk1ldGhvZFwiIFtkaXJ0eVN1Ym1pdEJ1dHRvbl09XCJmYWxzZVwiPlxuICAgIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGFpbmVyICpmc1NrZWxldG9uPVwibWV0aG9kcyQgfCBhc3luYyBhcyBtZXRob2RzXCI+XG4gICAgICAgIDxmcy1yYWRpby1ncm91cCBbKG5nTW9kZWwpXT1cIm1ldGhvZFwiIG5hbWU9XCJtZXRob2RcIiBbY29tcGFyZVdpdGhdPVwiY29tcGFyZVdpdGhcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZXRob2RNYXAgb2YgbWV0aG9kcyB8IGtleXZhbHVlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0aG9kXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm1ldGhvZE1hcC5rZXlcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ2ZXJpZmljYXRpb25NZXRob2RUeXBlLlNtc1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGhvZC1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGhvZC1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHNtc1xuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0aG9kLW5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0aG9kLXRpdGxlXCI+VGV4dCBNZXNzYWdlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGhvZC1zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgVmVyaWZpY2F0aW9uIGNvZGUgc2VuZCB0byBvbmUgb2YgZm9sbG93aW5nIG1vYmlsZSBudW1iZXJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInZlcmlmaWNhdGlvbk1ldGhvZFR5cGUuRW1haWxcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRob2QtaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRob2QtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1haWxcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGhvZC1uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGhvZC10aXRsZVwiPkVtYWlsPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGhvZC1zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgVmVyaWZpY2F0aW9uIGNvZGUgc2VuZCB0byBvbmUgb2YgZm9sbG93aW5nIGVtYWlsXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ2ZXJpZmljYXRpb25NZXRob2RUeXBlLkFwcFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGhvZC1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGhvZC1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgcGhvbmVfaXBob25lXG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRob2QtbmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRob2QtdGl0bGVcIj5BdXRoZW50aWNhdG9yIEFwcDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRob2Qtc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIFZlcmlmaWNhdGlvbiBjb2RlIGdlbmVyYXRlZCBieSBhbiBhdXRoZW50aWNhdG9yIGFwcFxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gY2xhc3M9XCJtZXRob2QtaXRlbVwiICpuZ0Zvcj1cImxldCBtZXRob2Qgb2YgbWV0aG9kTWFwLnZhbHVlXCIgW3ZhbHVlXT1cIm1ldGhvZFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm1ldGhvZE1hcC5rZXlcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInZlcmlmaWNhdGlvbk1ldGhvZFR5cGUuU21zXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IG1ldGhvZC5waG9uZU51bWJlciB9fVxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ2ZXJpZmljYXRpb25NZXRob2RUeXBlLkVtYWlsXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IG1ldGhvZC5lbWFpbCB9fVxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJ2ZXJpZmljYXRpb25NZXRob2RUeXBlLkFwcFwiPlxuICAgICAgICAgICAgICAgICAgICBBdXRoZW50aWNhdG9yIEFwcFxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+ICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mcy1yYWRpby1ncm91cD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWV0aG9kcyQgfCBhc3luY1wiPlxuICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY29sb3I9XCJwcmltYXJ5XCI+TmV4dDwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJudWxsXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cbiAgPC9mb3JtPlxuPC9mcy1kaWFsb2c+XG4iXX0=
@@ -0,0 +1,88 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { CommonModule } from '@angular/common';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatRadioModule } from '@angular/material/radio';
6
+ import { MatButtonModule } from '@angular/material/button';
7
+ import { MatFormFieldModule } from '@angular/material/form-field';
8
+ import { MatInputModule } from '@angular/material/input';
9
+ import { MatCheckboxModule } from '@angular/material/checkbox';
10
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
11
+ import { FsFormModule } from '@firestitch/form';
12
+ import { FsSkeletonModule } from '@firestitch/skeleton';
13
+ import { FsRadioGroupModule } from '@firestitch/radiogroup';
14
+ import { FsDialogModule } from '@firestitch/dialog';
15
+ import { Fs2faVerificationComponent } from './components/2fa-verification/2fa-verification.component';
16
+ import { Fs2faVerificationCodeComponent } from './components/2fa-verification-code/2fa-verification-code.component';
17
+ import { Fs2faVerificationMethodsComponent } from './components/2fa-verification-methods/2fa-verification-methods.component';
18
+ import { CodeInputModule } from '../code-input';
19
+ import * as i0 from "@angular/core";
20
+ export class Fs2faVerificationModule {
21
+ }
22
+ Fs2faVerificationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2faVerificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
+ Fs2faVerificationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2faVerificationModule, declarations: [Fs2faVerificationComponent,
24
+ Fs2faVerificationCodeComponent,
25
+ Fs2faVerificationMethodsComponent], imports: [CommonModule,
26
+ FormsModule,
27
+ MatFormFieldModule,
28
+ MatInputModule,
29
+ MatButtonModule,
30
+ FsFormModule,
31
+ FsRadioGroupModule,
32
+ FsDialogModule,
33
+ CodeInputModule,
34
+ MatCheckboxModule,
35
+ MatProgressSpinnerModule,
36
+ FsSkeletonModule,
37
+ FsSkeletonModule,
38
+ MatIconModule,
39
+ MatRadioModule], exports: [Fs2faVerificationComponent] });
40
+ Fs2faVerificationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2faVerificationModule, providers: [], imports: [[
41
+ CommonModule,
42
+ FormsModule,
43
+ MatFormFieldModule,
44
+ MatInputModule,
45
+ MatButtonModule,
46
+ FsFormModule,
47
+ FsRadioGroupModule,
48
+ FsDialogModule,
49
+ CodeInputModule,
50
+ MatCheckboxModule,
51
+ MatProgressSpinnerModule,
52
+ FsSkeletonModule,
53
+ FsSkeletonModule,
54
+ MatIconModule,
55
+ MatRadioModule,
56
+ ]] });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2faVerificationModule, decorators: [{
58
+ type: NgModule,
59
+ args: [{
60
+ imports: [
61
+ CommonModule,
62
+ FormsModule,
63
+ MatFormFieldModule,
64
+ MatInputModule,
65
+ MatButtonModule,
66
+ FsFormModule,
67
+ FsRadioGroupModule,
68
+ FsDialogModule,
69
+ CodeInputModule,
70
+ MatCheckboxModule,
71
+ MatProgressSpinnerModule,
72
+ FsSkeletonModule,
73
+ FsSkeletonModule,
74
+ MatIconModule,
75
+ MatRadioModule,
76
+ ],
77
+ declarations: [
78
+ Fs2faVerificationComponent,
79
+ Fs2faVerificationCodeComponent,
80
+ Fs2faVerificationMethodsComponent,
81
+ ],
82
+ exports: [
83
+ Fs2faVerificationComponent,
84
+ ],
85
+ providers: [],
86
+ }]
87
+ }] });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtMmZhLXZlcmlmaWNhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvdmVyaWZpY2F0aW9uL2ZzLTJmYS12ZXJpZmljYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNwSCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUU3SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWtDaEQsTUFBTSxPQUFPLHVCQUF1Qjs7cUhBQXZCLHVCQUF1QjtzSEFBdkIsdUJBQXVCLGlCQVRoQywwQkFBMEI7UUFDMUIsOEJBQThCO1FBQzlCLGlDQUFpQyxhQXRCakMsWUFBWTtRQUNaLFdBQVc7UUFFWCxrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGVBQWU7UUFFZixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGNBQWM7UUFFZCxlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLHdCQUF3QjtRQUN4QixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixjQUFjLGFBUWQsMEJBQTBCO3NIQUlqQix1QkFBdUIsYUFGdkIsRUFBRSxZQTVCSjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBRVgsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxlQUFlO1lBRWYsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixjQUFjO1lBRWQsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQix3QkFBd0I7WUFDeEIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsY0FBYztTQUNmOzRGQVdVLHVCQUF1QjtrQkEvQm5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFFWCxrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsZUFBZTt3QkFFZixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFFZCxlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3FCQUNmO29CQUNELFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLDhCQUE4Qjt3QkFDOUIsaUNBQWlDO3FCQUNsQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3FCQUMzQjtvQkFDRCxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuXG5pbXBvcnQgeyBGc0Zvcm1Nb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9mb3JtJztcbmltcG9ydCB7IEZzU2tlbGV0b25Nb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9za2VsZXRvbic7XG5pbXBvcnQgeyBGc1JhZGlvR3JvdXBNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9yYWRpb2dyb3VwJztcbmltcG9ydCB7IEZzRGlhbG9nTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGlhbG9nJztcblxuaW1wb3J0IHsgRnMyZmFWZXJpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvMmZhLXZlcmlmaWNhdGlvbi8yZmEtdmVyaWZpY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGczJmYVZlcmlmaWNhdGlvbkNvZGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvMmZhLXZlcmlmaWNhdGlvbi1jb2RlLzJmYS12ZXJpZmljYXRpb24tY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnMyZmFWZXJpZmljYXRpb25NZXRob2RzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzLzJmYS12ZXJpZmljYXRpb24tbWV0aG9kcy8yZmEtdmVyaWZpY2F0aW9uLW1ldGhvZHMuY29tcG9uZW50JztcblxuaW1wb3J0IHsgQ29kZUlucHV0TW9kdWxlIH0gZnJvbSAnLi4vY29kZS1pbnB1dCc7XG5cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcblxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG5cbiAgICBGc0Zvcm1Nb2R1bGUsXG4gICAgRnNSYWRpb0dyb3VwTW9kdWxlLFxuICAgIEZzRGlhbG9nTW9kdWxlLFxuXG4gICAgQ29kZUlucHV0TW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBGc1NrZWxldG9uTW9kdWxlLFxuICAgIEZzU2tlbGV0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRnMyZmFWZXJpZmljYXRpb25Db21wb25lbnQsXG4gICAgRnMyZmFWZXJpZmljYXRpb25Db2RlQ29tcG9uZW50LFxuICAgIEZzMmZhVmVyaWZpY2F0aW9uTWV0aG9kc0NvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZzMmZhVmVyaWZpY2F0aW9uQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBGczJmYVZlcmlmaWNhdGlvbk1vZHVsZSB7fVxuIl19
@@ -1,9 +1,7 @@
1
- /*
2
- * Public API Surface of fs-2fa
3
- */
4
- export { Fs2FaModule } from './app/fs-2fa.module';
5
- // Components
6
- export { Fs2FAVerificationComponent } from './app/components/2fa-verification/2fa-verification.component';
1
+ export { Fs2faVerificationModule } from './app/modules/verification/fs-2fa-verification.module';
2
+ export { Fs2faManageModule } from './app/modules/manage/fs-2f-manage.module';
3
+ export { Fs2faVerificationComponent } from './app/modules/verification/components/2fa-verification/2fa-verification.component';
4
+ export { Fs2faManageComponent } from './app/modules/manage/components/2fa-manage/2fa-manage.component';
7
5
  export { FsVerificationMethodType } from './app/enums/verification-method-type.enum';
8
6
  export { FS_2FA_VERIFICATION_PROVIDER } from './app/tokens/verification.token';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELGFBQWE7QUFDYixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUsxRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVyRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZnMtMmZhXG4gKi9cblxuZXhwb3J0IHsgRnMyRmFNb2R1bGUgfSBmcm9tICcuL2FwcC9mcy0yZmEubW9kdWxlJztcblxuLy8gQ29tcG9uZW50c1xuZXhwb3J0IHsgRnMyRkFWZXJpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2FwcC9jb21wb25lbnRzLzJmYS12ZXJpZmljYXRpb24vMmZhLXZlcmlmaWNhdGlvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgeyBJRnNWZXJpZmljYXRpb25Qcm92aWRlciB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvdmVyaWZpY2F0aW9uLXByb3ZpZGVyLmludGVyZmFjZSc7XG5leHBvcnQgeyBJRnNWZXJpZmljYXRpb25NZXRob2QgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL3ZlcmlmaWNhdGlvbi1tZXRob2QuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgRnNWZXJpZmljYXRpb25NZXRob2RUeXBlIH0gZnJvbSAnLi9hcHAvZW51bXMvdmVyaWZpY2F0aW9uLW1ldGhvZC10eXBlLmVudW0nO1xuXG5leHBvcnQgeyBGU18yRkFfVkVSSUZJQ0FUSU9OX1BST1ZJREVSIH0gZnJvbSAnLi9hcHAvdG9rZW5zL3ZlcmlmaWNhdGlvbi50b2tlbic7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1GQUFtRixDQUFDO0FBQy9ILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBS3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXJGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRnMyZmFWZXJpZmljYXRpb25Nb2R1bGUgfSBmcm9tICcuL2FwcC9tb2R1bGVzL3ZlcmlmaWNhdGlvbi9mcy0yZmEtdmVyaWZpY2F0aW9uLm1vZHVsZSc7XG5leHBvcnQgeyBGczJmYU1hbmFnZU1vZHVsZSB9IGZyb20gJy4vYXBwL21vZHVsZXMvbWFuYWdlL2ZzLTJmLW1hbmFnZS5tb2R1bGUnO1xuXG5leHBvcnQgeyBGczJmYVZlcmlmaWNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYXBwL21vZHVsZXMvdmVyaWZpY2F0aW9uL2NvbXBvbmVudHMvMmZhLXZlcmlmaWNhdGlvbi8yZmEtdmVyaWZpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGczJmYU1hbmFnZUNvbXBvbmVudCB9IGZyb20gJy4vYXBwL21vZHVsZXMvbWFuYWdlL2NvbXBvbmVudHMvMmZhLW1hbmFnZS8yZmEtbWFuYWdlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB7IElGc1ZlcmlmaWNhdGlvblByb3ZpZGVyIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy92ZXJpZmljYXRpb24tcHJvdmlkZXIuaW50ZXJmYWNlJztcbmV4cG9ydCB7IElGc1ZlcmlmaWNhdGlvbk1ldGhvZCB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvdmVyaWZpY2F0aW9uLW1ldGhvZC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgeyBGc1ZlcmlmaWNhdGlvbk1ldGhvZFR5cGUgfSBmcm9tICcuL2FwcC9lbnVtcy92ZXJpZmljYXRpb24tbWV0aG9kLXR5cGUuZW51bSc7XG5cbmV4cG9ydCB7IEZTXzJGQV9WRVJJRklDQVRJT05fUFJPVklERVIgfSBmcm9tICcuL2FwcC90b2tlbnMvdmVyaWZpY2F0aW9uLnRva2VuJztcbiJdfQ==