@firestitch/2fa 12.8.4 → 12.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/app/enums/index.d.ts +1 -0
  2. package/app/interfaces/index.d.ts +1 -0
  3. package/app/modules/manage/components/2fa-manage/2fa-manage.component.d.ts +4 -3
  4. package/app/modules/manage/components/emails/emails.component.d.ts +2 -0
  5. package/app/modules/manage/components/numbers/numbers.component.d.ts +2 -0
  6. package/app/modules/manage/fs-2f-manage.module.d.ts +23 -23
  7. package/app/modules/manage/services/two-factor-manage.service.d.ts +14 -10
  8. package/app/modules/{manage → verification-methods}/components/verification-methods/index.d.ts +0 -0
  9. package/app/modules/verification-methods/components/verification-methods/verification-methods.component.d.ts +10 -5
  10. package/app/modules/verification-methods/index.d.ts +1 -0
  11. package/bundles/firestitch-2fa.umd.js +190 -165
  12. package/bundles/firestitch-2fa.umd.js.map +1 -1
  13. package/esm2015/app/enums/index.js +2 -0
  14. package/esm2015/app/interfaces/index.js +2 -0
  15. package/esm2015/app/modules/manage/components/2fa-manage/2fa-manage.component.js +9 -6
  16. package/esm2015/app/modules/manage/components/app/app.component.js +3 -3
  17. package/esm2015/app/modules/manage/components/email/email.component.js +3 -3
  18. package/esm2015/app/modules/manage/components/emails/emails.component.js +13 -7
  19. package/esm2015/app/modules/manage/components/manage-methods/manage-methods.component.js +6 -6
  20. package/esm2015/app/modules/manage/components/number/number.component.js +3 -3
  21. package/esm2015/app/modules/manage/components/numbers/numbers.component.js +13 -7
  22. package/esm2015/app/modules/manage/fs-2f-manage.module.js +6 -5
  23. package/esm2015/app/modules/manage/services/two-factor-manage.service.js +33 -23
  24. package/esm2015/app/modules/verification-methods/components/verification-methods/index.js +2 -0
  25. package/esm2015/app/modules/verification-methods/components/verification-methods/verification-methods.component.js +60 -5
  26. package/esm2015/app/modules/verification-methods/index.js +2 -0
  27. package/esm2015/public_api.js +2 -2
  28. package/fesm2015/firestitch-2fa.js +179 -154
  29. package/fesm2015/firestitch-2fa.js.map +1 -1
  30. package/package.json +1 -1
  31. package/public_api.d.ts +2 -2
  32. package/app/modules/manage/components/verification-methods/verification-methods.component.d.ts +0 -20
  33. package/esm2015/app/modules/manage/components/verification-methods/index.js +0 -2
  34. package/esm2015/app/modules/manage/components/verification-methods/verification-methods.component.js +0 -65
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@angular/common'), require('@angular/material/icon'), require('@angular/material/radio'), require('@angular/material/button'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/checkbox'), require('@firestitch/form'), require('@firestitch/skeleton'), require('@firestitch/radiogroup'), require('@firestitch/dialog'), require('rxjs'), require('rxjs/operators'), require('@angular/material/dialog'), require('angular-code-input'), require('@firestitch/message'), require('@angular/material/progress-spinner'), require('@firestitch/phone'), require('@firestitch/list'), require('@firestitch/label'), require('@firestitch/country'), require('ng-qrcode'), require('@firestitch/prompt')) :
3
3
  typeof define === 'function' && define.amd ? define('@firestitch/2fa', ['exports', '@angular/core', '@angular/forms', '@angular/common', '@angular/material/icon', '@angular/material/radio', '@angular/material/button', '@angular/material/form-field', '@angular/material/input', '@angular/material/checkbox', '@firestitch/form', '@firestitch/skeleton', '@firestitch/radiogroup', '@firestitch/dialog', 'rxjs', 'rxjs/operators', '@angular/material/dialog', 'angular-code-input', '@firestitch/message', '@angular/material/progress-spinner', '@firestitch/phone', '@firestitch/list', '@firestitch/label', '@firestitch/country', 'ng-qrcode', '@firestitch/prompt'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch["2fa"] = {}), global.ng.core, global.ng.forms, global.ng.common, global.ng.material.icon, global.ng.material.radio, global.ng.material.button, global.ng.material.formField, global.ng.material.input, global.ng.material.checkbox, global.i9, global.i11$1, global.i3$1, global.i3, global.rxjs, global.rxjs.operators, global.ng.material.dialog, global.i1$1, global.i2, global.ng.material.progressSpinner, global.i6$2, global.i2$1, global.i3$3, global.i3$2, global.i4$1, global.i1$3));
5
- })(this, (function (exports, i0, i8, i9$1, i4, i5, i6, i5$1, i11, i6$1, i9, i11$1, i3$1, i3, rxjs, operators, i1, i1$1, i2, i1$2, i6$2, i2$1, i3$3, i3$2, i4$1, i1$3) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch["2fa"] = {}), global.ng.core, global.ng.forms, global.ng.common, global.ng.material.icon, global.ng.material.radio, global.ng.material.button, global.ng.material.formField, global.ng.material.input, global.ng.material.checkbox, global.i9, global.i11$1, global.i3$1, global.i3, global.rxjs, global.rxjs.operators, global.ng.material.dialog, global.i1$1, global.i2, global.ng.material.progressSpinner, global.i6$2, global.i2$1, global.i3$2, global.i4$2, global.i4$1, global.i1$3));
5
+ })(this, (function (exports, i0, i8, i9$1, i4, i5, i6, i5$1, i11, i6$1, i9, i11$1, i3$1, i3, rxjs, operators, i1, i1$1, i2, i1$2, i6$2, i2$1, i3$2, i4$2, i4$1, i1$3) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -41,8 +41,8 @@
41
41
  var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
42
42
  var i6__namespace$2 = /*#__PURE__*/_interopNamespace(i6$2);
43
43
  var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
44
- var i3__namespace$3 = /*#__PURE__*/_interopNamespace(i3$3);
45
44
  var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$2);
45
+ var i4__namespace$2 = /*#__PURE__*/_interopNamespace(i4$2);
46
46
  var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4$1);
47
47
  var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$3);
48
48
 
@@ -513,7 +513,7 @@
513
513
  this.mode = 'qr-code';
514
514
  this.trustDevice = true;
515
515
  this.verify = function () {
516
- return _this.twoFactorManageService.verificationMethodVerify(_this.code, _this.trustDevice)
516
+ return _this.twoFactorManageService.verificationMethodVerify$(_this.code, _this.trustDevice)
517
517
  .pipe(operators.tap(function () {
518
518
  _this._message.success('Created app authenticator verification method');
519
519
  _this._dialogRef.close(true);
@@ -534,7 +534,7 @@
534
534
  AppComponent.prototype.appTypeSelect = function (appType) {
535
535
  var _this = this;
536
536
  this.appType = appType;
537
- this.twoFactorManageService.verificationMethodCreate({
537
+ this.twoFactorManageService.verificationMethodCreate$({
538
538
  type: exports.VerificationMethodType.App,
539
539
  default: this.default,
540
540
  })
@@ -593,12 +593,12 @@
593
593
  return rxjs.of(true)
594
594
  .pipe(operators.switchMap(function () {
595
595
  return _this.verificationMethod ?
596
- _this.twoFactorManageService.verificationMethodVerify(_this.code, _this.trustDevice)
596
+ _this.twoFactorManageService.verificationMethodVerify$(_this.code, _this.trustDevice)
597
597
  .pipe(operators.tap(function (verificationMethod) {
598
598
  _this._message.success('Created email verification method');
599
599
  _this._dialogRef.close(verificationMethod);
600
600
  })) :
601
- _this.twoFactorManageService.verificationMethodCreate({
601
+ _this.twoFactorManageService.verificationMethodCreate$({
602
602
  type: exports.VerificationMethodType.Email,
603
603
  email: _this.email,
604
604
  default: _this.default,
@@ -661,12 +661,12 @@
661
661
  return rxjs.of(true)
662
662
  .pipe(operators.switchMap(function () {
663
663
  return _this.verificationMethod ?
664
- _this.twoFactorManageService.verificationMethodVerify(_this.code, _this.trustDevice)
664
+ _this.twoFactorManageService.verificationMethodVerify$(_this.code, _this.trustDevice)
665
665
  .pipe(operators.tap(function (verificationMethod) {
666
666
  _this._message.success('Created text message verification method');
667
667
  _this._dialogRef.close(verificationMethod);
668
668
  })) :
669
- _this.twoFactorManageService.verificationMethodCreate({
669
+ _this.twoFactorManageService.verificationMethodCreate$({
670
670
  type: exports.VerificationMethodType.Sms,
671
671
  phoneNumber: _this.phone.number,
672
672
  phoneCode: _this.phone.countryCode,
@@ -774,11 +774,14 @@
774
774
  return verificationMethod.type === type;
775
775
  });
776
776
  };
777
+ TwoFactorManageService.prototype.registerVerificationMethodDefault = function (value) {
778
+ this._verificationMethodDefault = value;
779
+ };
777
780
  TwoFactorManageService.prototype.registerVerificationMethodResend = function (value) {
778
781
  this._verificationMethodResend = value;
779
782
  };
780
- TwoFactorManageService.prototype.registerVerificationMethodFetch = function (value) {
781
- this._verificationMethodFetch = value;
783
+ TwoFactorManageService.prototype.registerVerificationMethodsFetch = function (value) {
784
+ this._verificationMethodsFetch = value;
782
785
  };
783
786
  TwoFactorManageService.prototype.registerVerificationMethodDelete = function (value) {
784
787
  this._verificationMethodDelete = value;
@@ -792,43 +795,50 @@
792
795
  TwoFactorManageService.prototype.registerAccountVerify = function (value) {
793
796
  this._accountVerify = value;
794
797
  };
795
- TwoFactorManageService.prototype.verificationMethodDelete = function (verificationMethod) {
798
+ TwoFactorManageService.prototype.verificationMethodDelete$ = function (verificationMethod) {
796
799
  var _this = this;
797
800
  return this._verificationMethodDelete(verificationMethod)
798
801
  .pipe(operators.tap(function () {
799
- _this.verificationMethodFetch();
802
+ _this.verificationMethodsFetch();
800
803
  }));
801
804
  };
802
- TwoFactorManageService.prototype.verificationMethodVerify = function (code, trustDevice) {
805
+ TwoFactorManageService.prototype.verificationMethodVerify$ = function (code, trustDevice) {
803
806
  var _this = this;
804
807
  return this._verificationMethodVerify(code, trustDevice)
805
808
  .pipe(operators.tap(function () {
806
- _this.verificationMethodFetch();
809
+ _this.verificationMethodsFetch();
807
810
  }));
808
811
  };
809
- TwoFactorManageService.prototype.verificationMethodCreate = function (verificationMethod) {
812
+ TwoFactorManageService.prototype.verificationMethodCreate$ = function (verificationMethod) {
810
813
  return this._verificationMethodCreate(verificationMethod);
811
814
  };
815
+ TwoFactorManageService.prototype.verificationMethodDefault$ = function (verificationMethod) {
816
+ return this._verificationMethodDefault(verificationMethod);
817
+ };
812
818
  TwoFactorManageService.prototype.verificationMethodResend = function () {
813
819
  return this._verificationMethodResend();
814
820
  };
815
- TwoFactorManageService.prototype.verificationMethodFetch = function () {
821
+ TwoFactorManageService.prototype.verificationMethodsFetch = function (query) {
822
+ this.verificationMethodsFetch$(query)
823
+ .subscribe();
824
+ };
825
+ TwoFactorManageService.prototype.verificationMethodsFetch$ = function (query) {
816
826
  var _this = this;
817
- this._verificationMethodFetch()
818
- .subscribe(function (verificationMethods) {
827
+ return this._verificationMethodsFetch(query)
828
+ .pipe(operators.tap(function (verificationMethods) {
819
829
  _this._verificationMethods$.next(verificationMethods);
820
- });
830
+ }));
821
831
  };
822
- TwoFactorManageService.prototype.accountVerify = function () {
832
+ TwoFactorManageService.prototype.accountVerify$ = function () {
823
833
  return this._accountVerify ? this._accountVerify() : rxjs.of(true);
824
834
  };
825
835
  TwoFactorManageService.prototype.ngOnDestroy = function () {
826
836
  this._destroy$.next();
827
837
  this._destroy$.complete();
828
838
  };
829
- TwoFactorManageService.prototype.addSms = function (defaultCountry) {
839
+ TwoFactorManageService.prototype.addSms$ = function (defaultCountry) {
830
840
  var _this = this;
831
- return this.accountVerify()
841
+ return this.accountVerify$()
832
842
  .pipe(operators.switchMap(function () { return _this._dialog.open(NumberComponent, {
833
843
  data: {
834
844
  defaultCountry: defaultCountry,
@@ -836,27 +846,27 @@
836
846
  },
837
847
  })
838
848
  .afterClosed(); }), operators.tap(function () {
839
- _this.verificationMethodFetch();
849
+ _this.verificationMethodsFetch();
840
850
  }), operators.takeUntil(this._destroy$));
841
851
  };
842
- TwoFactorManageService.prototype.addEmail = function () {
852
+ TwoFactorManageService.prototype.addEmail$ = function () {
843
853
  var _this = this;
844
- return this.accountVerify()
854
+ return this.accountVerify$()
845
855
  .pipe(operators.switchMap(function () { return _this._dialog.open(EmailComponent, {
846
856
  data: { twoFactorManageService: _this },
847
857
  })
848
858
  .afterClosed(); }), operators.tap(function () {
849
- _this.verificationMethodFetch();
859
+ _this.verificationMethodsFetch();
850
860
  }), operators.takeUntil(this._destroy$));
851
861
  };
852
- TwoFactorManageService.prototype.addApp = function () {
862
+ TwoFactorManageService.prototype.addApp$ = function () {
853
863
  var _this = this;
854
- return this.accountVerify()
864
+ return this.accountVerify$()
855
865
  .pipe(operators.switchMap(function () { return _this._dialog.open(AppComponent, {
856
866
  data: { twoFactorManageService: _this },
857
867
  })
858
868
  .afterClosed(); }), operators.tap(function () {
859
- _this.verificationMethodFetch();
869
+ _this.verificationMethodsFetch();
860
870
  }), operators.takeUntil(this._destroy$));
861
871
  };
862
872
  return TwoFactorManageService;
@@ -884,7 +894,7 @@
884
894
  }]
885
895
  }] });
886
896
 
887
- var VerificationMethodsComponent$1 = /** @class */ (function () {
897
+ var VerificationMethodsComponent = /** @class */ (function () {
888
898
  function VerificationMethodsComponent(_prompt) {
889
899
  this._prompt = _prompt;
890
900
  this.deleted = new i0.EventEmitter();
@@ -892,49 +902,103 @@
892
902
  }
893
903
  VerificationMethodsComponent.prototype.ngOnInit = function () {
894
904
  var _this = this;
905
+ var _a, _b, _c, _d;
906
+ if (!this.verificationMethodDefault && ((_a = this.twoFactorManageService) === null || _a === void 0 ? void 0 : _a.verificationMethodDefault$)) {
907
+ this.verificationMethodDefault = function (verificationMethod) {
908
+ return _this.twoFactorManageService.verificationMethodDefault$(verificationMethod);
909
+ };
910
+ }
911
+ if (!this.verificationMethodDelete && ((_b = this.twoFactorManageService) === null || _b === void 0 ? void 0 : _b.verificationMethodDelete$)) {
912
+ this.verificationMethodDelete = function (verificationMethod) {
913
+ return _this.twoFactorManageService.verificationMethodDelete$(verificationMethod);
914
+ };
915
+ }
916
+ if (!this.verificationMethodsFetch && ((_c = this.twoFactorManageService) === null || _c === void 0 ? void 0 : _c.verificationMethodsFetch$)) {
917
+ this.verificationMethodsFetch = function (query) {
918
+ return _this.twoFactorManageService.verificationMethodsFetch$(query);
919
+ };
920
+ }
921
+ if (!this.accountVerify && ((_d = this.twoFactorManageService) === null || _d === void 0 ? void 0 : _d.accountVerify$)) {
922
+ this.accountVerify = function () {
923
+ var _a;
924
+ return (_a = _this.twoFactorManageService) === null || _a === void 0 ? void 0 : _a.accountVerify$();
925
+ };
926
+ }
895
927
  this.listConfig = {
928
+ paging: false,
896
929
  rowActions: [
930
+ {
931
+ click: function (verificationMethod) {
932
+ _this.accountVerify()
933
+ .pipe(operators.switchMap(function () { return _this.verificationMethodDefault(verificationMethod); }))
934
+ .subscribe(function () {
935
+ _this.list.reload();
936
+ });
937
+ },
938
+ show: function () {
939
+ return !!_this.verificationMethodDefault;
940
+ },
941
+ label: 'Set as Default',
942
+ },
897
943
  {
898
944
  click: function (verificationMethod) {
899
945
  _this._prompt.confirm({
900
946
  title: 'Confirm',
901
947
  template: 'Would you like to delete this verification method?',
902
948
  })
903
- .pipe(operators.switchMap(function () { return _this.twoFactorManageService.accountVerify(); }), operators.switchMap(function () { return _this.twoFactorManageService
904
- .verificationMethodDelete(verificationMethod); }))
949
+ .pipe(operators.switchMap(function () { return _this.accountVerify(); }), operators.switchMap(function () { return _this.verificationMethodDelete(verificationMethod); }))
905
950
  .subscribe(function () {
906
- _this.deleted.emit(verificationMethod);
951
+ _this.deleted.emit();
952
+ _this.list.reload();
907
953
  });
908
954
  },
955
+ show: function () {
956
+ return !!_this.verificationMethodDelete;
957
+ },
909
958
  label: 'Delete',
910
959
  },
911
960
  ],
912
- fetch: function () {
913
- return _this.twoFactorManageService.verificationMethods$
961
+ fetch: function (query) {
962
+ query = Object.assign(Object.assign({}, query), { type: _this.type });
963
+ return _this.verificationMethodsFetch(query)
914
964
  .pipe(operators.map(function (verificationMethods) { return ({
915
965
  data: verificationMethods.filter(function (verificationMethod) {
916
- return verificationMethod.type === _this.type;
966
+ return !_this.type || verificationMethod.type === _this.type;
917
967
  }),
918
968
  }); }));
919
969
  },
920
970
  };
921
971
  };
972
+ VerificationMethodsComponent.prototype.reload = function () {
973
+ this.list.reload();
974
+ };
922
975
  return VerificationMethodsComponent;
923
976
  }());
924
- VerificationMethodsComponent$1.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VerificationMethodsComponent$1, deps: [{ token: i1__namespace$3.FsPrompt }], target: i0__namespace.ɵɵFactoryTarget.Component });
925
- VerificationMethodsComponent$1.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: VerificationMethodsComponent$1, selector: "app-verification-methods", inputs: { twoFactorManageService: "twoFactorManageService", type: "type" }, outputs: { deleted: "deleted" }, ngImport: i0__namespace, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column class=\"col-name\">\n <ng-template fs-list-cell let-row=\"row\">\n <div class=\"row\">\n <ng-container *ngIf=\"row.type === VerificationMethodType.Sms\">\n <fs-country [code]=\"row.phoneCountry\" [showName]=\"false\"></fs-country> {{row.phoneNumber | fsPhone}}\n </ng-container>\n\n <ng-container *ngIf=\"row.type === VerificationMethodType.Email\">\n {{row.email}}\n </ng-container>\n \n <app-defaulted *ngIf=\"row.default\"></app-defaulted>\n </div>\n </ng-template>\n </fs-list-column>\n</fs-list>", styles: [":host ::ng-deep .col-name .row{display:flex;align-items:center}fs-country{margin-right:5px}app-defaulted{margin-left:5px}\n"], components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i3__namespace$2.FsCountryComponent, selector: "fs-country", inputs: ["code", "showIcon", "showName", "region", "width"] }, { type: DefaultedComponent, selector: "app-defaulted" }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i9__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsPhone": i6__namespace$2.FsPhonePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
926
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VerificationMethodsComponent$1, decorators: [{
977
+ VerificationMethodsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VerificationMethodsComponent, deps: [{ token: i1__namespace$3.FsPrompt }], target: i0__namespace.ɵɵFactoryTarget.Component });
978
+ VerificationMethodsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: VerificationMethodsComponent, selector: "fs-2fa-verification-methods", inputs: { type: "type", accountVerify: "accountVerify", verificationMethodsFetch: "verificationMethodsFetch", verificationMethodDelete: "verificationMethodDelete", verificationMethodDefault: "verificationMethodDefault", twoFactorManageService: "twoFactorManageService" }, outputs: { deleted: "deleted" }, viewQueries: [{ propertyName: "list", first: true, predicate: i2$1.FsListComponent, descendants: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column class=\"col-icon\" width=\"1%\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.type === VerificationMethodType.Sms\">\n <mat-icon>textsms</mat-icon>\n </ng-container>\n\n <ng-container *ngIf=\"row.type === VerificationMethodType.Email\">\n <mat-icon>email</mat-icon>\n </ng-container>\n\n <ng-container *ngIf=\"row.type === VerificationMethodType.App\">\n <mat-icon>phone_iphone</mat-icon>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column class=\"col-name\">\n <ng-template fs-list-cell let-row=\"row\">\n <div class=\"row\">\n <ng-container *ngIf=\"row.type === VerificationMethodType.Sms\">\n <div class=\"row\">\n <fs-country [code]=\"row.phoneCountry\" [showName]=\"false\"></fs-country> \n <span>{{row.phoneNumber | fsPhone}}</span>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"row.type === VerificationMethodType.Email\">\n {{row.email}}\n </ng-container>\n\n <ng-container *ngIf=\"row.type === VerificationMethodType.App\">\n App\n </ng-container>\n\n <app-defaulted *ngIf=\"row.default\"></app-defaulted>\n </div>\n </ng-template>\n </fs-list-column>\n</fs-list>", styles: [":host ::ng-deep .col-name .row{display:flex;align-items:center}:host ::ng-deep .col-name fs-country img{display:flex}fs-country{margin-right:5px}app-defaulted{margin-left:5px}\n"], components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i4__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4__namespace$2.FsCountryComponent, selector: "fs-country", inputs: ["code", "showIcon", "showName", "region", "width"] }, { type: DefaultedComponent, selector: "app-defaulted" }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i9__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsPhone": i6__namespace$2.FsPhonePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
979
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VerificationMethodsComponent, decorators: [{
927
980
  type: i0.Component,
928
981
  args: [{
929
- selector: 'app-verification-methods',
982
+ selector: 'fs-2fa-verification-methods',
930
983
  templateUrl: './verification-methods.component.html',
931
984
  styleUrls: ['./verification-methods.component.scss'],
932
985
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
933
986
  }]
934
- }], ctorParameters: function () { return [{ type: i1__namespace$3.FsPrompt }]; }, propDecorators: { twoFactorManageService: [{
935
- type: i0.Input
987
+ }], ctorParameters: function () { return [{ type: i1__namespace$3.FsPrompt }]; }, propDecorators: { list: [{
988
+ type: i0.ViewChild,
989
+ args: [i2$1.FsListComponent]
936
990
  }], type: [{
937
991
  type: i0.Input
992
+ }], accountVerify: [{
993
+ type: i0.Input
994
+ }], verificationMethodsFetch: [{
995
+ type: i0.Input
996
+ }], verificationMethodDelete: [{
997
+ type: i0.Input
998
+ }], verificationMethodDefault: [{
999
+ type: i0.Input
1000
+ }], twoFactorManageService: [{
1001
+ type: i0.Input
938
1002
  }], deleted: [{
939
1003
  type: i0.Output
940
1004
  }] } });
@@ -949,8 +1013,11 @@
949
1013
  this.defaultCountry = _data.defaultCountry;
950
1014
  }
951
1015
  NumbersComponent.prototype.add = function () {
952
- this.twoFactorManageService.addSms(this.defaultCountry)
953
- .subscribe();
1016
+ var _this = this;
1017
+ this.twoFactorManageService.addSms$(this.defaultCountry)
1018
+ .subscribe(function () {
1019
+ _this.verificationMethods.reload();
1020
+ });
954
1021
  };
955
1022
  NumbersComponent.prototype.deleted = function () {
956
1023
  this._message.success('Deleted text message verification method');
@@ -961,7 +1028,7 @@
961
1028
  return NumbersComponent;
962
1029
  }());
963
1030
  NumbersComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NumbersComponent, deps: [{ token: i1.MAT_DIALOG_DATA }, { token: i1__namespace.MatDialogRef }, { token: i2__namespace.FsMessage }], target: i0__namespace.ɵɵFactoryTarget.Component });
964
- NumbersComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: NumbersComponent, selector: "ng-component", ngImport: i0__namespace, template: "<fs-dialog>\n <h1 mat-dialog-title>\n <mat-icon>textsms</mat-icon> Text Message Numbers\n </h1>\n <mat-dialog-content>\n <app-verification-methods\n [type]=\"VerificationMethodType.Sms\"\n [twoFactorManageService]=\"twoFactorManageService\"\n (deleted)=\"deleted()\">\n </app-verification-methods>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"undefined\">\n Close\n </button>\n <button\n mat-button\n (click)=\"add()\"\n type=\"button\">\n Add Number\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [""], components: [{ type: i3__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i4__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: VerificationMethodsComponent$1, selector: "app-verification-methods", inputs: ["twoFactorManageService", "type"], outputs: ["deleted"] }, { type: i6__namespace.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__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1031
+ NumbersComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: NumbersComponent, selector: "ng-component", viewQueries: [{ propertyName: "verificationMethods", first: true, predicate: VerificationMethodsComponent, descendants: true }], ngImport: i0__namespace, template: "<fs-dialog>\n <h1 mat-dialog-title>\n <mat-icon>textsms</mat-icon> Text Message Numbers\n </h1>\n <mat-dialog-content>\n <fs-2fa-verification-methods\n [type]=\"VerificationMethodType.Sms\"\n [twoFactorManageService]=\"twoFactorManageService\"\n (deleted)=\"deleted()\">\n </fs-2fa-verification-methods> \n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"undefined\">\n Close\n </button>\n <button\n mat-button\n (click)=\"add()\"\n type=\"button\">\n Add Number\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [""], components: [{ type: i3__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i4__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: VerificationMethodsComponent, selector: "fs-2fa-verification-methods", inputs: ["type", "accountVerify", "verificationMethodsFetch", "verificationMethodDelete", "verificationMethodDefault", "twoFactorManageService"], outputs: ["deleted"] }, { type: i6__namespace.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__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
965
1032
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: NumbersComponent, decorators: [{
966
1033
  type: i0.Component,
967
1034
  args: [{
@@ -974,7 +1041,10 @@
974
1041
  type: i0.Inject,
975
1042
  args: [i1.MAT_DIALOG_DATA]
976
1043
  }] }, { type: i1__namespace.MatDialogRef }, { type: i2__namespace.FsMessage }];
977
- } });
1044
+ }, propDecorators: { verificationMethods: [{
1045
+ type: i0.ViewChild,
1046
+ args: [VerificationMethodsComponent]
1047
+ }] } });
978
1048
 
979
1049
  var EmailsComponent = /** @class */ (function () {
980
1050
  function EmailsComponent(_data, _dialogRef, _message) {
@@ -985,8 +1055,11 @@
985
1055
  this.twoFactorManageService = _data.twoFactorManageService;
986
1056
  }
987
1057
  EmailsComponent.prototype.add = function () {
988
- this.twoFactorManageService.addEmail()
989
- .subscribe();
1058
+ var _this = this;
1059
+ this.twoFactorManageService.addEmail$()
1060
+ .subscribe(function () {
1061
+ _this.verificationMethods.reload();
1062
+ });
990
1063
  };
991
1064
  EmailsComponent.prototype.deleted = function () {
992
1065
  this._message.success('Deleted email verification method');
@@ -997,7 +1070,7 @@
997
1070
  return EmailsComponent;
998
1071
  }());
999
1072
  EmailsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EmailsComponent, deps: [{ token: i1.MAT_DIALOG_DATA }, { token: i1__namespace.MatDialogRef }, { token: i2__namespace.FsMessage }], target: i0__namespace.ɵɵFactoryTarget.Component });
1000
- EmailsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: EmailsComponent, selector: "ng-component", ngImport: i0__namespace, template: "<fs-dialog>\n <h1 mat-dialog-title>\n <mat-icon>email</mat-icon> Emails\n </h1>\n <mat-dialog-content>\n <app-verification-methods\n [type]=\"VerificationMethodType.Email\"\n [twoFactorManageService]=\"twoFactorManageService\"\n (deleted)=\"deleted()\">\n </app-verification-methods>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"undefined\">\n Close\n </button>\n <button\n mat-button\n (click)=\"add()\"\n type=\"button\">\n Add Email\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: ["h1{display:flex;align-items:center}h1 mat-icon{margin-right:5px}\n"], components: [{ type: i3__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i4__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: VerificationMethodsComponent$1, selector: "app-verification-methods", inputs: ["twoFactorManageService", "type"], outputs: ["deleted"] }, { type: i6__namespace.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__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1073
+ EmailsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: EmailsComponent, selector: "ng-component", viewQueries: [{ propertyName: "verificationMethods", first: true, predicate: VerificationMethodsComponent, descendants: true }], ngImport: i0__namespace, template: "<fs-dialog>\n <h1 mat-dialog-title>\n <mat-icon>email</mat-icon> Emails\n </h1>\n <mat-dialog-content>\n <fs-2fa-verification-methods\n [type]=\"VerificationMethodType.Email\"\n [twoFactorManageService]=\"twoFactorManageService\"\n (deleted)=\"deleted()\">\n </fs-2fa-verification-methods>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"undefined\">\n Close\n </button>\n <button\n mat-button\n (click)=\"add()\"\n type=\"button\">\n Add Email\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: ["h1{display:flex;align-items:center}h1 mat-icon{margin-right:5px}\n"], components: [{ type: i3__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i4__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: VerificationMethodsComponent, selector: "fs-2fa-verification-methods", inputs: ["type", "accountVerify", "verificationMethodsFetch", "verificationMethodDelete", "verificationMethodDefault", "twoFactorManageService"], outputs: ["deleted"] }, { type: i6__namespace.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__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1001
1074
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EmailsComponent, decorators: [{
1002
1075
  type: i0.Component,
1003
1076
  args: [{
@@ -1010,7 +1083,10 @@
1010
1083
  type: i0.Inject,
1011
1084
  args: [i1.MAT_DIALOG_DATA]
1012
1085
  }] }, { type: i1__namespace.MatDialogRef }, { type: i2__namespace.FsMessage }];
1013
- } });
1086
+ }, propDecorators: { verificationMethods: [{
1087
+ type: i0.ViewChild,
1088
+ args: [VerificationMethodsComponent]
1089
+ }] } });
1014
1090
 
1015
1091
  var ManageMethodsComponent = /** @class */ (function () {
1016
1092
  function ManageMethodsComponent(_data, _cdRef, _dialog, _message) {
@@ -1097,7 +1173,7 @@
1097
1173
  });
1098
1174
  };
1099
1175
  ManageMethodsComponent.prototype.textMessageAdd = function () {
1100
- this.twoFactorManageService.addSms(this._defaultCountry)
1176
+ this.twoFactorManageService.addSms$(this._defaultCountry)
1101
1177
  .subscribe();
1102
1178
  };
1103
1179
  ManageMethodsComponent.prototype.emailMessageManage = function () {
@@ -1108,7 +1184,7 @@
1108
1184
  });
1109
1185
  };
1110
1186
  ManageMethodsComponent.prototype.emailMessageAdd = function () {
1111
- this.twoFactorManageService.addEmail()
1187
+ this.twoFactorManageService.addEmail$()
1112
1188
  .subscribe();
1113
1189
  };
1114
1190
  ManageMethodsComponent.prototype.appRemove = function () {
@@ -1118,8 +1194,8 @@
1118
1194
  return _verificationMethod.type === exports.VerificationMethodType.App;
1119
1195
  });
1120
1196
  if (verificationMethod) {
1121
- this.twoFactorManageService.accountVerify()
1122
- .pipe(operators.switchMap(function () { return _this.twoFactorManageService.verificationMethodDelete(verificationMethod); }))
1197
+ this.twoFactorManageService.accountVerify$()
1198
+ .pipe(operators.switchMap(function () { return _this.twoFactorManageService.verificationMethodDelete$(verificationMethod); }))
1123
1199
  .subscribe(function () {
1124
1200
  _this._message.success('Removed App Authenticator verification method');
1125
1201
  _this._cdRef.markForCheck();
@@ -1127,7 +1203,7 @@
1127
1203
  }
1128
1204
  };
1129
1205
  ManageMethodsComponent.prototype.appAdd = function () {
1130
- this.twoFactorManageService.addApp()
1206
+ this.twoFactorManageService.addApp$()
1131
1207
  .subscribe();
1132
1208
  };
1133
1209
  ManageMethodsComponent.prototype.ngOnDestroy = function () {
@@ -1166,11 +1242,12 @@
1166
1242
  exports.VerificationMethodType.Email,
1167
1243
  exports.VerificationMethodType.App
1168
1244
  ];
1169
- this._twoFactorManageService.registerVerificationMethodFetch(this.verificationMethodsFetch);
1245
+ this._twoFactorManageService.registerVerificationMethodsFetch(this.verificationMethodsFetch);
1170
1246
  this._twoFactorManageService.registerVerificationMethodDelete(this.verificationMethodDelete);
1171
1247
  this._twoFactorManageService.registerVerificationMethodCreate(this.verificationMethodCreate);
1172
1248
  this._twoFactorManageService.registerVerificationMethodVerify(this.verificationMethodVerify);
1173
1249
  this._twoFactorManageService.registerVerificationMethodResend(this.verificationMethodResend);
1250
+ this._twoFactorManageService.registerVerificationMethodDefault(this.verificationMethodDefault);
1174
1251
  this._twoFactorManageService.registerAccountVerify(this.accountVerify);
1175
1252
  this._twoFactorManageService.verificationMethods$
1176
1253
  .subscribe(function (verificationMethods) {
@@ -1188,7 +1265,7 @@
1188
1265
  });
1189
1266
  _this._cdRef.markForCheck();
1190
1267
  });
1191
- this._twoFactorManageService.verificationMethodFetch();
1268
+ this._twoFactorManageService.verificationMethodsFetch();
1192
1269
  };
1193
1270
  Fs2faManageComponent.prototype.manage = function () {
1194
1271
  var _this = this;
@@ -1207,7 +1284,7 @@
1207
1284
  });
1208
1285
  };
1209
1286
  Fs2faManageComponent.prototype.reload = function () {
1210
- this._twoFactorManageService.verificationMethodFetch();
1287
+ this._twoFactorManageService.verificationMethodsFetch();
1211
1288
  };
1212
1289
  Fs2faManageComponent.prototype.ngOnDestroy = function () {
1213
1290
  this._destroy$.next();
@@ -1216,7 +1293,7 @@
1216
1293
  return Fs2faManageComponent;
1217
1294
  }());
1218
1295
  Fs2faManageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2faManageComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i1__namespace.MatDialog }, { token: TwoFactorManageService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1219
- Fs2faManageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: Fs2faManageComponent, selector: "fs-2fa-manage", inputs: { accountVerify: "accountVerify", defaultCountry: "defaultCountry", verificationMethodTypes: "verificationMethodTypes", verificationMethodsFetch: "verificationMethodsFetch", verificationMethodDelete: "verificationMethodDelete", verificationMethodCreate: "verificationMethodCreate", verificationMethodVerify: "verificationMethodVerify", verificationMethodResend: "verificationMethodResend" }, providers: [TwoFactorManageService], ngImport: i0__namespace, template: "<fs-label-field>\n <fs-label>Status</fs-label>\n <ng-container *ngIf=\"statuses\">\n <ng-container *ngIf=\"statuses.length === 1\">\n {{statuses[0]}} verification is enabled\n </ng-container>\n\n <ng-container *ngIf=\"statuses.length > 1\">\n {{statuses.join(', ')}} verifications are enabled\n </ng-container>\n\n <ng-container *ngIf=\"statuses.length === 0\">\n No verification methods are enabled\n </ng-container>\n </ng-container>\n</fs-label-field>", styles: [""], components: [{ type: i3__namespace$3.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i3__namespace$3.FsLabelComponent, selector: "fs-label" }], directives: [{ type: i9__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1296
+ Fs2faManageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: Fs2faManageComponent, selector: "fs-2fa-manage", inputs: { accountVerify: "accountVerify", defaultCountry: "defaultCountry", verificationMethodTypes: "verificationMethodTypes", verificationMethodsFetch: "verificationMethodsFetch", verificationMethodDelete: "verificationMethodDelete", verificationMethodCreate: "verificationMethodCreate", verificationMethodDefault: "verificationMethodDefault", verificationMethodVerify: "verificationMethodVerify", verificationMethodResend: "verificationMethodResend" }, providers: [TwoFactorManageService], ngImport: i0__namespace, template: "<fs-label-field>\n <fs-label>Status</fs-label>\n <ng-container *ngIf=\"statuses\">\n <ng-container *ngIf=\"statuses.length === 1\">\n {{statuses[0]}} verification is enabled\n </ng-container>\n\n <ng-container *ngIf=\"statuses.length > 1\">\n {{statuses.join(', ')}} verifications are enabled\n </ng-container>\n\n <ng-container *ngIf=\"statuses.length === 0\">\n No verification methods are enabled\n </ng-container>\n </ng-container>\n</fs-label-field>", styles: [""], components: [{ type: i3__namespace$2.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i3__namespace$2.FsLabelComponent, selector: "fs-label" }], directives: [{ type: i9__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1220
1297
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2faManageComponent, decorators: [{
1221
1298
  type: i0.Component,
1222
1299
  args: [{
@@ -1238,6 +1315,8 @@
1238
1315
  type: i0.Input
1239
1316
  }], verificationMethodCreate: [{
1240
1317
  type: i0.Input
1318
+ }], verificationMethodDefault: [{
1319
+ type: i0.Input
1241
1320
  }], verificationMethodVerify: [{
1242
1321
  type: i0.Input
1243
1322
  }], verificationMethodResend: [{
@@ -1262,6 +1341,47 @@
1262
1341
  }]
1263
1342
  }] });
1264
1343
 
1344
+ var Fs2faVerificationMethodsModule = /** @class */ (function () {
1345
+ function Fs2faVerificationMethodsModule() {
1346
+ }
1347
+ return Fs2faVerificationMethodsModule;
1348
+ }());
1349
+ Fs2faVerificationMethodsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2faVerificationMethodsModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1350
+ Fs2faVerificationMethodsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2faVerificationMethodsModule, declarations: [VerificationMethodsComponent], imports: [i9$1.CommonModule,
1351
+ i8.FormsModule,
1352
+ i4.MatIconModule,
1353
+ i2$1.FsListModule,
1354
+ i6$2.FsPhoneModule,
1355
+ i4$2.FsCountryModule,
1356
+ DefautledModule], exports: [VerificationMethodsComponent] });
1357
+ Fs2faVerificationMethodsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2faVerificationMethodsModule, imports: [[
1358
+ i9$1.CommonModule,
1359
+ i8.FormsModule,
1360
+ i4.MatIconModule,
1361
+ i2$1.FsListModule,
1362
+ i6$2.FsPhoneModule,
1363
+ i4$2.FsCountryModule,
1364
+ DefautledModule,
1365
+ ]] });
1366
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2faVerificationMethodsModule, decorators: [{
1367
+ type: i0.NgModule,
1368
+ args: [{
1369
+ imports: [
1370
+ i9$1.CommonModule,
1371
+ i8.FormsModule,
1372
+ i4.MatIconModule,
1373
+ i2$1.FsListModule,
1374
+ i6$2.FsPhoneModule,
1375
+ i4$2.FsCountryModule,
1376
+ DefautledModule,
1377
+ ],
1378
+ declarations: [
1379
+ VerificationMethodsComponent,
1380
+ ],
1381
+ exports: [VerificationMethodsComponent],
1382
+ }]
1383
+ }] });
1384
+
1265
1385
  var Fs2faManageModule = /** @class */ (function () {
1266
1386
  function Fs2faManageModule() {
1267
1387
  }
@@ -1273,7 +1393,6 @@
1273
1393
  NumbersComponent,
1274
1394
  AppComponent,
1275
1395
  EmailComponent,
1276
- VerificationMethodsComponent$1,
1277
1396
  NumberComponent,
1278
1397
  EmailsComponent], imports: [i9$1.CommonModule,
1279
1398
  i8.FormsModule,
@@ -1285,15 +1404,16 @@
1285
1404
  i3.FsDialogModule,
1286
1405
  i2$1.FsListModule,
1287
1406
  i9.FsFormModule,
1288
- i3$3.FsLabelModule,
1407
+ i3$2.FsLabelModule,
1289
1408
  i6$2.FsPhoneModule,
1290
1409
  i11$1.FsSkeletonModule,
1291
- i3$2.FsCountryModule,
1410
+ i4$2.FsCountryModule,
1292
1411
  CodeInputModule,
1293
1412
  i4$1.QrCodeModule,
1294
1413
  ResendModule,
1295
1414
  DefautledModule,
1296
- Fs2faVerificationModule], exports: [Fs2faManageComponent] });
1415
+ Fs2faVerificationModule,
1416
+ Fs2faVerificationMethodsModule], exports: [Fs2faManageComponent] });
1297
1417
  Fs2faManageModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2faManageModule, imports: [[
1298
1418
  i9$1.CommonModule,
1299
1419
  i8.FormsModule,
@@ -1305,15 +1425,16 @@
1305
1425
  i3.FsDialogModule,
1306
1426
  i2$1.FsListModule,
1307
1427
  i9.FsFormModule,
1308
- i3$3.FsLabelModule,
1428
+ i3$2.FsLabelModule,
1309
1429
  i6$2.FsPhoneModule,
1310
1430
  i11$1.FsSkeletonModule,
1311
- i3$2.FsCountryModule,
1431
+ i4$2.FsCountryModule,
1312
1432
  CodeInputModule,
1313
1433
  i4$1.QrCodeModule,
1314
1434
  ResendModule,
1315
1435
  DefautledModule,
1316
1436
  Fs2faVerificationModule,
1437
+ Fs2faVerificationMethodsModule,
1317
1438
  ]] });
1318
1439
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2faManageModule, decorators: [{
1319
1440
  type: i0.NgModule,
@@ -1329,15 +1450,16 @@
1329
1450
  i3.FsDialogModule,
1330
1451
  i2$1.FsListModule,
1331
1452
  i9.FsFormModule,
1332
- i3$3.FsLabelModule,
1453
+ i3$2.FsLabelModule,
1333
1454
  i6$2.FsPhoneModule,
1334
1455
  i11$1.FsSkeletonModule,
1335
- i3$2.FsCountryModule,
1456
+ i4$2.FsCountryModule,
1336
1457
  CodeInputModule,
1337
1458
  i4$1.QrCodeModule,
1338
1459
  ResendModule,
1339
1460
  DefautledModule,
1340
1461
  Fs2faVerificationModule,
1462
+ Fs2faVerificationMethodsModule,
1341
1463
  ],
1342
1464
  declarations: [
1343
1465
  Fs2faManageComponent,
@@ -1345,7 +1467,6 @@
1345
1467
  NumbersComponent,
1346
1468
  AppComponent,
1347
1469
  EmailComponent,
1348
- VerificationMethodsComponent$1,
1349
1470
  NumberComponent,
1350
1471
  EmailsComponent,
1351
1472
  ],
@@ -1353,102 +1474,6 @@
1353
1474
  }]
1354
1475
  }] });
1355
1476
 
1356
- var VerificationMethodsComponent = /** @class */ (function () {
1357
- function VerificationMethodsComponent(_prompt) {
1358
- this._prompt = _prompt;
1359
- this.VerificationMethodType = exports.VerificationMethodType;
1360
- }
1361
- VerificationMethodsComponent.prototype.ngOnInit = function () {
1362
- var _this = this;
1363
- this.listConfig = {
1364
- paging: false,
1365
- rowActions: [
1366
- {
1367
- click: function (verificationMethod) {
1368
- _this._prompt.confirm({
1369
- title: 'Confirm',
1370
- template: 'Would you like to delete this verification method?',
1371
- })
1372
- .pipe(operators.switchMap(function () { return _this.accountVerify(); }), operators.switchMap(function () { return _this.verificationMethodDelete(verificationMethod); }))
1373
- .subscribe(function () {
1374
- _this.list.reload();
1375
- });
1376
- },
1377
- label: 'Delete',
1378
- },
1379
- ],
1380
- fetch: function (query) {
1381
- return _this.verificationMethodsFetch(query)
1382
- .pipe(operators.map(function (verificationMethods) { return ({
1383
- data: verificationMethods,
1384
- }); }));
1385
- },
1386
- };
1387
- };
1388
- return VerificationMethodsComponent;
1389
- }());
1390
- VerificationMethodsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VerificationMethodsComponent, deps: [{ token: i1__namespace$3.FsPrompt }], target: i0__namespace.ɵɵFactoryTarget.Component });
1391
- VerificationMethodsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: VerificationMethodsComponent, selector: "fs-2fa-verification-methods", inputs: { accountVerify: "accountVerify", verificationMethodsFetch: "verificationMethodsFetch", verificationMethodDelete: "verificationMethodDelete" }, viewQueries: [{ propertyName: "list", first: true, predicate: i2$1.FsListComponent, descendants: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column class=\"col-icon\" width=\"1%\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.type === VerificationMethodType.Sms\">\n <mat-icon>textsms</mat-icon>\n </ng-container>\n\n <ng-container *ngIf=\"row.type === VerificationMethodType.Email\">\n <mat-icon>email</mat-icon>\n </ng-container>\n\n <ng-container *ngIf=\"row.type === VerificationMethodType.App\">\n <mat-icon>phone_iphone</mat-icon>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column class=\"col-name\">\n <ng-template fs-list-cell let-row=\"row\">\n <div class=\"row\">\n <ng-container *ngIf=\"row.type === VerificationMethodType.Sms\">\n <div class=\"row\">\n <fs-country [code]=\"row.phoneCountry\" [showName]=\"false\"></fs-country> \n <span>{{row.phoneNumber | fsPhone}}</span>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"row.type === VerificationMethodType.Email\">\n {{row.email}}\n </ng-container>\n\n <ng-container *ngIf=\"row.type === VerificationMethodType.App\">\n App\n </ng-container>\n\n <app-defaulted *ngIf=\"row.default\"></app-defaulted>\n </div>\n </ng-template>\n </fs-list-column>\n</fs-list>", styles: [":host ::ng-deep .col-name .row{display:flex;align-items:center}:host ::ng-deep .col-name fs-country img{display:flex}fs-country{margin-right:5px}app-defaulted{margin-left:5px}\n"], components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i4__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3__namespace$2.FsCountryComponent, selector: "fs-country", inputs: ["code", "showIcon", "showName", "region", "width"] }, { type: DefaultedComponent, selector: "app-defaulted" }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i9__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsPhone": i6__namespace$2.FsPhonePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1392
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VerificationMethodsComponent, decorators: [{
1393
- type: i0.Component,
1394
- args: [{
1395
- selector: 'fs-2fa-verification-methods',
1396
- templateUrl: './verification-methods.component.html',
1397
- styleUrls: ['./verification-methods.component.scss'],
1398
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
1399
- }]
1400
- }], ctorParameters: function () { return [{ type: i1__namespace$3.FsPrompt }]; }, propDecorators: { list: [{
1401
- type: i0.ViewChild,
1402
- args: [i2$1.FsListComponent]
1403
- }], accountVerify: [{
1404
- type: i0.Input
1405
- }], verificationMethodsFetch: [{
1406
- type: i0.Input
1407
- }], verificationMethodDelete: [{
1408
- type: i0.Input
1409
- }] } });
1410
-
1411
- var Fs2faVerificationMethodsModule = /** @class */ (function () {
1412
- function Fs2faVerificationMethodsModule() {
1413
- }
1414
- return Fs2faVerificationMethodsModule;
1415
- }());
1416
- Fs2faVerificationMethodsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2faVerificationMethodsModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1417
- Fs2faVerificationMethodsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2faVerificationMethodsModule, declarations: [VerificationMethodsComponent], imports: [i9$1.CommonModule,
1418
- i8.FormsModule,
1419
- i4.MatIconModule,
1420
- i2$1.FsListModule,
1421
- i6$2.FsPhoneModule,
1422
- i3$2.FsCountryModule,
1423
- DefautledModule], exports: [VerificationMethodsComponent] });
1424
- Fs2faVerificationMethodsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2faVerificationMethodsModule, imports: [[
1425
- i9$1.CommonModule,
1426
- i8.FormsModule,
1427
- i4.MatIconModule,
1428
- i2$1.FsListModule,
1429
- i6$2.FsPhoneModule,
1430
- i3$2.FsCountryModule,
1431
- DefautledModule,
1432
- ]] });
1433
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2faVerificationMethodsModule, decorators: [{
1434
- type: i0.NgModule,
1435
- args: [{
1436
- imports: [
1437
- i9$1.CommonModule,
1438
- i8.FormsModule,
1439
- i4.MatIconModule,
1440
- i2$1.FsListModule,
1441
- i6$2.FsPhoneModule,
1442
- i3$2.FsCountryModule,
1443
- DefautledModule,
1444
- ],
1445
- declarations: [
1446
- VerificationMethodsComponent,
1447
- ],
1448
- exports: [VerificationMethodsComponent],
1449
- }]
1450
- }] });
1451
-
1452
1477
  /**
1453
1478
  * Generated bundle index. Do not edit.
1454
1479
  */