@firestitch/2fa 12.0.0 → 12.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class FsTrustedCurrentDeviceComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<FsTrustedCurrentDeviceComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<FsTrustedCurrentDeviceComponent, "fs-trusted-current-device", never, {}, {}, never, never>;
5
+ }
@@ -1,7 +1,7 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "./components/trusted-devices/trusted-devices.component";
4
- import * as i2 from "./components/current-device/current-device.component";
4
+ import * as i2 from "./components/trusted-current-device/trusted-current-device.component";
5
5
  import * as i3 from "@angular/common";
6
6
  import * as i4 from "@angular/flex-layout";
7
7
  import * as i5 from "@angular/material/icon";
@@ -14,6 +14,6 @@ import * as i11 from "@firestitch/badge";
14
14
  export declare class Fs2FaModule {
15
15
  static forRoot(): ModuleWithProviders<Fs2FaModule>;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<Fs2FaModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<Fs2FaModule, [typeof i1.FsTrustedDevicesComponent, typeof i2.FsCurrentDeviceComponent], [typeof i3.CommonModule, typeof i4.FlexLayoutModule, typeof i5.MatIconModule, typeof i6.MatTooltipModule, typeof i7.FsListModule, typeof i8.FsDateModule, typeof i9.FsCountryModule, typeof i10.FsDeviceModule, typeof i11.FsBadgeModule], [typeof i1.FsTrustedDevicesComponent, typeof i2.FsCurrentDeviceComponent]>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<Fs2FaModule, [typeof i1.FsTrustedDevicesComponent, typeof i2.FsTrustedCurrentDeviceComponent], [typeof i3.CommonModule, typeof i4.FlexLayoutModule, typeof i5.MatIconModule, typeof i6.MatTooltipModule, typeof i7.FsListModule, typeof i8.FsDateModule, typeof i9.FsCountryModule, typeof i10.FsDeviceModule, typeof i11.FsBadgeModule], [typeof i1.FsTrustedDevicesComponent, typeof i2.FsTrustedCurrentDeviceComponent]>;
18
18
  static ɵinj: i0.ɵɵInjectorDeclaration<Fs2FaModule>;
19
19
  }
@@ -32,19 +32,19 @@
32
32
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
33
33
  var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
34
34
 
35
- var FsCurrentDeviceComponent = /** @class */ (function () {
36
- function FsCurrentDeviceComponent() {
35
+ var FsTrustedCurrentDeviceComponent = /** @class */ (function () {
36
+ function FsTrustedCurrentDeviceComponent() {
37
37
  }
38
- return FsCurrentDeviceComponent;
38
+ return FsTrustedCurrentDeviceComponent;
39
39
  }());
40
- FsCurrentDeviceComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsCurrentDeviceComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
41
- FsCurrentDeviceComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsCurrentDeviceComponent, selector: "fs-current-device", ngImport: i0__namespace, template: "\n<div class=\"current-device\">\n <mat-icon class=\"circle\">circle</mat-icon>\n <mat-icon \n class=\"check\"\n matTooltip=\"This device\">\n check_circle\n </mat-icon>\n</div>\n", styles: [".current-device{transform:scale(.8);z-index:1;position:relative}.current-device .check,.current-device .circle{position:absolute;color:#027db4;top:0}.current-device .circle{color:#fff}\n"], components: [{ type: i1__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
42
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsCurrentDeviceComponent, decorators: [{
40
+ FsTrustedCurrentDeviceComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTrustedCurrentDeviceComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
41
+ FsTrustedCurrentDeviceComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTrustedCurrentDeviceComponent, selector: "fs-trusted-current-device", ngImport: i0__namespace, template: "\n<div class=\"current-device\">\n <mat-icon class=\"circle\">circle</mat-icon>\n <mat-icon \n class=\"check\"\n matTooltip=\"This device\">\n check_circle\n </mat-icon>\n</div>\n", styles: [".current-device{transform:scale(.8);z-index:1;position:relative}.current-device .check,.current-device .circle{position:absolute;color:#027db4;top:0}.current-device .circle{color:#fff}\n"], components: [{ type: i1__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
42
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTrustedCurrentDeviceComponent, decorators: [{
43
43
  type: i0.Component,
44
44
  args: [{
45
- selector: 'fs-current-device',
46
- templateUrl: './current-device.component.html',
47
- styleUrls: ['./current-device.component.scss'],
45
+ selector: 'fs-trusted-current-device',
46
+ templateUrl: './trusted-current-device.component.html',
47
+ styleUrls: ['./trusted-current-device.component.scss'],
48
48
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
49
49
  }]
50
50
  }] });
@@ -123,7 +123,7 @@
123
123
  return FsTrustedDevicesComponent;
124
124
  }());
125
125
  FsTrustedDevicesComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTrustedDevicesComponent, deps: [{ token: i1__namespace$1.FsCountry }], target: i0__namespace.ɵɵFactoryTarget.Component });
126
- FsTrustedDevicesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTrustedDevicesComponent, selector: "fs-trusted-devices", inputs: { fetchTrustedDevices: "fetchTrustedDevices", removeTrustedDevice: "removeTrustedDevice", signOutTrustedDevice: "signOutTrustedDevice", showAccount: "showAccount" }, viewQueries: [{ propertyName: "listComponent", first: true, predicate: i2$1.FsListComponent, descendants: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column title=\"Account\" [show]=\"showAccount\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-account\">\n <div *ngIf=\"row.account\" class=\"row\">\n <fs-badge \n *ngIf=\"row.account.avatarUrl\"\n shape=\"circle\" \n image=\"{{ row.account.avatarUrl }}\">\n </fs-badge>\n <div>\n {{ row.account.name }}\n <div class=\"small\" *ngIf=\"row.account.email\">{{ row.account.email }}</div> \n </div>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Device\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-device\">\n <div class=\"device\" *ngIf=\"row.device\">\n <fs-current-device *ngIf=\"row.currentDevice\"></fs-current-device>\n <fs-device-os\n [type]=\"row.device.type\"\n [os]=\"row.device.osType\"\n [version]=\"row.device.osVersion\">\n </fs-device-os>\n </div> \n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Browser\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-device-browser\n *ngIf=\"row.device\"\n [type]=\"row.device.browserType\"\n [version]=\"row.device.browserVersion\"\n [showName]=\"true\"\n ></fs-device-browser>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Added\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Location\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-country [code]=\"row.ip.country\"></fs-country>\n <div><small>{{row.ip.ip}}</small></div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Last signed in\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.activityDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [":host ::ng-deep .col-account .row{display:flex;align-items:center}:host ::ng-deep .col-account .row fs-badge{margin-right:5px}:host ::ng-deep .col-device .device{position:relative;display:inline-block}:host ::ng-deep .col-device .device .current-device{right:8px;top:-8px;position:absolute}\n"], components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["loaderLines", "config"], outputs: ["filtersReady"] }, { type: i3__namespace.FsBadgeComponent, selector: "fs-badge", inputs: ["text", "shape", "color", "tooltip", "size", "image", "icon", "iconSize", "iconColor", "backgroundSize"] }, { type: FsCurrentDeviceComponent, selector: "fs-current-device" }, { type: i5__namespace.FsDeviceOsComponent, selector: "fs-device-os", inputs: ["type", "os", "showName", "version"] }, { type: i5__namespace.FsDeviceBrowserComponent, selector: "fs-device-browser", inputs: ["type", "version", "showName"] }, { type: i1__namespace$1.FsCountryComponent, selector: "fs-country", inputs: ["showIcon", "showName", "width", "code"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "customize", "title", "name", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i6__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsDateAgo": i7__namespace.FsDateAgoPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
126
+ FsTrustedDevicesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTrustedDevicesComponent, selector: "fs-trusted-devices", inputs: { fetchTrustedDevices: "fetchTrustedDevices", removeTrustedDevice: "removeTrustedDevice", signOutTrustedDevice: "signOutTrustedDevice", showAccount: "showAccount" }, viewQueries: [{ propertyName: "listComponent", first: true, predicate: i2$1.FsListComponent, descendants: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column title=\"Account\" [show]=\"showAccount\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-account\">\n <div *ngIf=\"row.account\" class=\"row\">\n <fs-badge \n *ngIf=\"row.account.avatarUrl\"\n shape=\"circle\" \n image=\"{{ row.account.avatarUrl }}\">\n </fs-badge>\n <div>\n {{ row.account.name }}\n <div class=\"small\" *ngIf=\"row.account.email\">{{ row.account.email }}</div> \n </div>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Device\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-device\">\n <div class=\"device\" *ngIf=\"row.device\">\n <fs-trusted-current-device *ngIf=\"row.currentDevice\"></fs-trusted-current-device>\n <fs-device-os\n [type]=\"row.device.type\"\n [os]=\"row.device.osType\"\n [version]=\"row.device.osVersion\">\n </fs-device-os>\n </div> \n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Browser\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-device-browser\n *ngIf=\"row.device\"\n [type]=\"row.device.browserType\"\n [version]=\"row.device.browserVersion\"\n [showName]=\"true\"\n ></fs-device-browser>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Added\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Location\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-country [code]=\"row.ip.country\"></fs-country>\n <div><small>{{row.ip.ip}}</small></div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Last signed in\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.activityDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [":host ::ng-deep .col-account .row{display:flex;align-items:center}:host ::ng-deep .col-account .row fs-badge{margin-right:5px}:host ::ng-deep .col-device .device{position:relative;display:inline-block}:host ::ng-deep .col-device .device .current-device{right:8px;top:-8px;position:absolute}\n"], components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["loaderLines", "config"], outputs: ["filtersReady"] }, { type: i3__namespace.FsBadgeComponent, selector: "fs-badge", inputs: ["text", "shape", "color", "tooltip", "size", "image", "icon", "iconSize", "iconColor", "backgroundSize"] }, { type: FsTrustedCurrentDeviceComponent, selector: "fs-trusted-current-device" }, { type: i5__namespace.FsDeviceOsComponent, selector: "fs-device-os", inputs: ["type", "os", "showName", "version"] }, { type: i5__namespace.FsDeviceBrowserComponent, selector: "fs-device-browser", inputs: ["type", "version", "showName"] }, { type: i1__namespace$1.FsCountryComponent, selector: "fs-country", inputs: ["showIcon", "showName", "width", "code"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "customize", "title", "name", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i6__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsDateAgo": i7__namespace.FsDateAgoPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
127
127
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTrustedDevicesComponent, decorators: [{
128
128
  type: i0.Component,
129
129
  args: [{
@@ -157,7 +157,7 @@
157
157
  }());
158
158
  Fs2FaModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2FaModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
159
159
  Fs2FaModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2FaModule, declarations: [FsTrustedDevicesComponent,
160
- FsCurrentDeviceComponent], imports: [i6.CommonModule,
160
+ FsTrustedCurrentDeviceComponent], imports: [i6.CommonModule,
161
161
  flexLayout.FlexLayoutModule,
162
162
  i1.MatIconModule,
163
163
  i2.MatTooltipModule,
@@ -166,7 +166,7 @@
166
166
  i1$1.FsCountryModule,
167
167
  i5.FsDeviceModule,
168
168
  i3.FsBadgeModule], exports: [FsTrustedDevicesComponent,
169
- FsCurrentDeviceComponent] });
169
+ FsTrustedCurrentDeviceComponent] });
170
170
  Fs2FaModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: Fs2FaModule, imports: [[
171
171
  i6.CommonModule,
172
172
  flexLayout.FlexLayoutModule,
@@ -194,11 +194,11 @@
194
194
  ],
195
195
  exports: [
196
196
  FsTrustedDevicesComponent,
197
- FsCurrentDeviceComponent,
197
+ FsTrustedCurrentDeviceComponent,
198
198
  ],
199
199
  declarations: [
200
200
  FsTrustedDevicesComponent,
201
- FsCurrentDeviceComponent,
201
+ FsTrustedCurrentDeviceComponent,
202
202
  ],
203
203
  }]
204
204
  }] });
@@ -208,7 +208,7 @@
208
208
  */
209
209
 
210
210
  exports.Fs2FaModule = Fs2FaModule;
211
- exports.FsCurrentDeviceComponent = FsCurrentDeviceComponent;
211
+ exports.FsTrustedCurrentDeviceComponent = FsTrustedCurrentDeviceComponent;
212
212
  exports.FsTrustedDevicesComponent = FsTrustedDevicesComponent;
213
213
 
214
214
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1 +1 @@
1
- {"version":3,"file":"firestitch-2fa.umd.js","sources":["../../src/app/components/current-device/current-device.component.ts","../../src/app/components/current-device/current-device.component.html","../../src/app/components/trusted-devices/trusted-devices.component.ts","../../src/app/components/trusted-devices/trusted-devices.component.html","../../src/app/fs-2fa.module.ts","../../src/firestitch-2fa.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n\n@Component({\n selector: 'fs-current-device',\n templateUrl: './current-device.component.html',\n styleUrls: [ './current-device.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsCurrentDeviceComponent {\n}\n","\n<div class=\"current-device\">\n <mat-icon class=\"circle\">circle</mat-icon>\n <mat-icon \n class=\"check\"\n matTooltip=\"This device\">\n check_circle\n </mat-icon>\n</div>\n","import {\n Component,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\nimport { ItemType } from '@firestitch/filter';\nimport { FsCountry } from '@firestitch/country';\n\nimport { Observable, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\n\nimport { ITrustedDevice } from '../../interfaces/trusted-device';\nimport { ITrustedDeviceAccount } from '../../interfaces/trusted-device-account';\n\n\n@Component({\n selector: 'fs-trusted-devices',\n templateUrl: './trusted-devices.component.html',\n styleUrls: [ './trusted-devices.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsTrustedDevicesComponent implements OnInit, OnDestroy {\n\n @Input()\n public fetchTrustedDevices = (query: any) => new Observable<{\n data: ITrustedDevice[];\n paging?: any;\n }>();\n\n @Input()\n public removeTrustedDevice = (trustedDevice: ITrustedDevice) => new Observable<any>();\n\n @Input()\n public signOutTrustedDevice = (trustedDevice: ITrustedDevice) => new Observable<any>();\n\n @Input()\n public showAccount = true;\n\n @ViewChild(FsListComponent)\n public listComponent: FsListComponent;\n\n public listConfig: FsListConfig;\n\n private _destroy$ = new Subject();\n\n constructor(\n private _fsCountry: FsCountry,\n ) { }\n\n public ngOnInit(): void {\n this._fsCountry.ready$\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this._initListConfig();\n });\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _initListConfig(): void {\n this.listConfig = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search',\n },\n ],\n rowActions: [\n {\n click: (data) => {\n this.signOutTrustedDevice(data)\n .subscribe(() => {\n this.reload();\n });\n },\n menu: true,\n label: 'Sign Out',\n },\n {\n click: (data) => {\n this.removeTrustedDevice(data)\n .subscribe(() => {\n this.reload();\n });\n },\n remove: {\n title: 'Confirm',\n template: 'Are you sure you would like to delete this record?',\n },\n menu: true,\n label: 'Delete',\n },\n ],\n fetch: (query) => {\n return this.fetchTrustedDevices(query)\n .pipe(\n map((response) => {\n return {\n data: response.data,\n paging: response.paging,\n };\n }),\n );\n },\n };\n }\n\n public reload(): void {\n this.listComponent.reload();\n }\n\n}\n","<fs-list [config]=\"listConfig\">\n <fs-list-column title=\"Account\" [show]=\"showAccount\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-account\">\n <div *ngIf=\"row.account\" class=\"row\">\n <fs-badge \n *ngIf=\"row.account.avatarUrl\"\n shape=\"circle\" \n image=\"{{ row.account.avatarUrl }}\">\n </fs-badge>\n <div>\n {{ row.account.name }}\n <div class=\"small\" *ngIf=\"row.account.email\">{{ row.account.email }}</div> \n </div>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Device\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-device\">\n <div class=\"device\" *ngIf=\"row.device\">\n <fs-current-device *ngIf=\"row.currentDevice\"></fs-current-device>\n <fs-device-os\n [type]=\"row.device.type\"\n [os]=\"row.device.osType\"\n [version]=\"row.device.osVersion\">\n </fs-device-os>\n </div> \n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Browser\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-device-browser\n *ngIf=\"row.device\"\n [type]=\"row.device.browserType\"\n [version]=\"row.device.browserVersion\"\n [showName]=\"true\"\n ></fs-device-browser>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Added\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Location\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-country [code]=\"row.ip.country\"></fs-country>\n <div><small>{{row.ip.ip}}</small></div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Last signed in\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.activityDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FsListModule } from '@firestitch/list';\nimport { FsDateModule } from '@firestitch/date';\nimport { FsCountryModule } from '@firestitch/country';\nimport { FsDeviceModule } from '@firestitch/device';\n\nimport { FsCurrentDeviceComponent } from './components/current-device/current-device.component';\nimport { FsTrustedDevicesComponent } from './components/trusted-devices/trusted-devices.component';\n\nimport { FsBadgeModule } from '@firestitch/badge';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FlexLayoutModule,\n\n MatIconModule,\n MatTooltipModule,\n\n FsListModule,\n FsDateModule,\n FsCountryModule,\n FsDeviceModule,\n FsBadgeModule,\n ],\n exports: [\n FsTrustedDevicesComponent,\n FsCurrentDeviceComponent,\n ],\n declarations: [\n FsTrustedDevicesComponent,\n FsCurrentDeviceComponent,\n ],\n})\nexport class Fs2FaModule {\n static forRoot(): ModuleWithProviders<Fs2FaModule> {\n return {\n ngModule: Fs2FaModule,\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Component","ChangeDetectionStrategy","Observable","Subject","takeUntil","ItemType","map","FsListComponent","Input","ViewChild","CommonModule","FlexLayoutModule","MatIconModule","MatTooltipModule","FsListModule","FsDateModule","FsCountryModule","FsDeviceModule","FsBadgeModule","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"firestitch-2fa.umd.js","sources":["../../src/app/components/trusted-current-device/trusted-current-device.component.ts","../../src/app/components/trusted-current-device/trusted-current-device.component.html","../../src/app/components/trusted-devices/trusted-devices.component.ts","../../src/app/components/trusted-devices/trusted-devices.component.html","../../src/app/fs-2fa.module.ts","../../src/firestitch-2fa.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n\n@Component({\n selector: 'fs-trusted-current-device',\n templateUrl: './trusted-current-device.component.html',\n styleUrls: [ './trusted-current-device.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsTrustedCurrentDeviceComponent {\n}\n","\n<div class=\"current-device\">\n <mat-icon class=\"circle\">circle</mat-icon>\n <mat-icon \n class=\"check\"\n matTooltip=\"This device\">\n check_circle\n </mat-icon>\n</div>\n","import {\n Component,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\nimport { ItemType } from '@firestitch/filter';\nimport { FsCountry } from '@firestitch/country';\n\nimport { Observable, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\n\nimport { ITrustedDevice } from '../../interfaces/trusted-device';\nimport { ITrustedDeviceAccount } from '../../interfaces/trusted-device-account';\n\n\n@Component({\n selector: 'fs-trusted-devices',\n templateUrl: './trusted-devices.component.html',\n styleUrls: [ './trusted-devices.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsTrustedDevicesComponent implements OnInit, OnDestroy {\n\n @Input()\n public fetchTrustedDevices = (query: any) => new Observable<{\n data: ITrustedDevice[];\n paging?: any;\n }>();\n\n @Input()\n public removeTrustedDevice = (trustedDevice: ITrustedDevice) => new Observable<any>();\n\n @Input()\n public signOutTrustedDevice = (trustedDevice: ITrustedDevice) => new Observable<any>();\n\n @Input()\n public showAccount = true;\n\n @ViewChild(FsListComponent)\n public listComponent: FsListComponent;\n\n public listConfig: FsListConfig;\n\n private _destroy$ = new Subject();\n\n constructor(\n private _fsCountry: FsCountry,\n ) { }\n\n public ngOnInit(): void {\n this._fsCountry.ready$\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this._initListConfig();\n });\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _initListConfig(): void {\n this.listConfig = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search',\n },\n ],\n rowActions: [\n {\n click: (data) => {\n this.signOutTrustedDevice(data)\n .subscribe(() => {\n this.reload();\n });\n },\n menu: true,\n label: 'Sign Out',\n },\n {\n click: (data) => {\n this.removeTrustedDevice(data)\n .subscribe(() => {\n this.reload();\n });\n },\n remove: {\n title: 'Confirm',\n template: 'Are you sure you would like to delete this record?',\n },\n menu: true,\n label: 'Delete',\n },\n ],\n fetch: (query) => {\n return this.fetchTrustedDevices(query)\n .pipe(\n map((response) => {\n return {\n data: response.data,\n paging: response.paging,\n };\n }),\n );\n },\n };\n }\n\n public reload(): void {\n this.listComponent.reload();\n }\n\n}\n","<fs-list [config]=\"listConfig\">\n <fs-list-column title=\"Account\" [show]=\"showAccount\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-account\">\n <div *ngIf=\"row.account\" class=\"row\">\n <fs-badge \n *ngIf=\"row.account.avatarUrl\"\n shape=\"circle\" \n image=\"{{ row.account.avatarUrl }}\">\n </fs-badge>\n <div>\n {{ row.account.name }}\n <div class=\"small\" *ngIf=\"row.account.email\">{{ row.account.email }}</div> \n </div>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Device\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-device\">\n <div class=\"device\" *ngIf=\"row.device\">\n <fs-trusted-current-device *ngIf=\"row.currentDevice\"></fs-trusted-current-device>\n <fs-device-os\n [type]=\"row.device.type\"\n [os]=\"row.device.osType\"\n [version]=\"row.device.osVersion\">\n </fs-device-os>\n </div> \n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Browser\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-device-browser\n *ngIf=\"row.device\"\n [type]=\"row.device.browserType\"\n [version]=\"row.device.browserVersion\"\n [showName]=\"true\"\n ></fs-device-browser>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Added\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Location\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-country [code]=\"row.ip.country\"></fs-country>\n <div><small>{{row.ip.ip}}</small></div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Last signed in\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.activityDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FsListModule } from '@firestitch/list';\nimport { FsDateModule } from '@firestitch/date';\nimport { FsCountryModule } from '@firestitch/country';\nimport { FsDeviceModule } from '@firestitch/device';\n\nimport { FsTrustedCurrentDeviceComponent } from './components/trusted-current-device/trusted-current-device.component';\nimport { FsTrustedDevicesComponent } from './components/trusted-devices/trusted-devices.component';\n\nimport { FsBadgeModule } from '@firestitch/badge';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FlexLayoutModule,\n\n MatIconModule,\n MatTooltipModule,\n\n FsListModule,\n FsDateModule,\n FsCountryModule,\n FsDeviceModule,\n FsBadgeModule,\n ],\n exports: [\n FsTrustedDevicesComponent,\n FsTrustedCurrentDeviceComponent,\n ],\n declarations: [\n FsTrustedDevicesComponent,\n FsTrustedCurrentDeviceComponent,\n ],\n})\nexport class Fs2FaModule {\n static forRoot(): ModuleWithProviders<Fs2FaModule> {\n return {\n ngModule: Fs2FaModule,\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Component","ChangeDetectionStrategy","Observable","Subject","takeUntil","ItemType","map","FsListComponent","Input","ViewChild","CommonModule","FlexLayoutModule","MatIconModule","MatTooltipModule","FsListModule","FsDateModule","FsCountryModule","FsDeviceModule","FsBadgeModule","NgModule"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Component, ChangeDetectionStrategy, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/icon";
4
+ import * as i2 from "@angular/material/tooltip";
5
+ export class FsTrustedCurrentDeviceComponent {
6
+ }
7
+ FsTrustedCurrentDeviceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTrustedCurrentDeviceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ FsTrustedCurrentDeviceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTrustedCurrentDeviceComponent, selector: "fs-trusted-current-device", ngImport: i0, template: "\n<div class=\"current-device\">\n <mat-icon class=\"circle\">circle</mat-icon>\n <mat-icon \n class=\"check\"\n matTooltip=\"This device\">\n check_circle\n </mat-icon>\n</div>\n", styles: [".current-device{transform:scale(.8);z-index:1;position:relative}.current-device .check,.current-device .circle{position:absolute;color:#027db4;top:0}.current-device .circle{color:#fff}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTrustedCurrentDeviceComponent, decorators: [{
10
+ type: Component,
11
+ args: [{
12
+ selector: 'fs-trusted-current-device',
13
+ templateUrl: './trusted-current-device.component.html',
14
+ styleUrls: ['./trusted-current-device.component.scss'],
15
+ changeDetection: ChangeDetectionStrategy.OnPush,
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1jdXJyZW50LWRldmljZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvdHJ1c3RlZC1jdXJyZW50LWRldmljZS90cnVzdGVkLWN1cnJlbnQtZGV2aWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy90cnVzdGVkLWN1cnJlbnQtZGV2aWNlL3RydXN0ZWQtY3VycmVudC1kZXZpY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsR0FDeEIsTUFBTSxlQUFlLENBQUM7Ozs7QUFTdkIsTUFBTSxPQUFPLCtCQUErQjs7NkhBQS9CLCtCQUErQjtpSEFBL0IsK0JBQStCLGlFQ1o1QyxxTUFTQTs0RkRHYSwrQkFBK0I7a0JBTjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsV0FBVyxFQUFFLHlDQUF5QztvQkFDdEQsU0FBUyxFQUFFLENBQUUseUNBQXlDLENBQUU7b0JBQ3hELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLXRydXN0ZWQtY3VycmVudC1kZXZpY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJ1c3RlZC1jdXJyZW50LWRldmljZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi90cnVzdGVkLWN1cnJlbnQtZGV2aWNlLmNvbXBvbmVudC5zY3NzJyBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNUcnVzdGVkQ3VycmVudERldmljZUNvbXBvbmVudCB7XG59XG4iLCJcbjxkaXYgY2xhc3M9XCJjdXJyZW50LWRldmljZVwiPlxuICA8bWF0LWljb24gY2xhc3M9XCJjaXJjbGVcIj5jaXJjbGU8L21hdC1pY29uPlxuICA8bWF0LWljb24gXG4gICAgICBjbGFzcz1cImNoZWNrXCJcbiAgICAgIG1hdFRvb2x0aXA9XCJUaGlzIGRldmljZVwiPlxuICAgIGNoZWNrX2NpcmNsZVxuICA8L21hdC1pY29uPlxuPC9kaXY+XG4iXX0=
@@ -8,7 +8,7 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "@firestitch/country";
9
9
  import * as i2 from "@firestitch/list";
10
10
  import * as i3 from "@firestitch/badge";
11
- import * as i4 from "../current-device/current-device.component";
11
+ import * as i4 from "../trusted-current-device/trusted-current-device.component";
12
12
  import * as i5 from "@firestitch/device";
13
13
  import * as i6 from "@angular/common";
14
14
  import * as i7 from "@firestitch/date";
@@ -83,7 +83,7 @@ export class FsTrustedDevicesComponent {
83
83
  }
84
84
  }
85
85
  FsTrustedDevicesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTrustedDevicesComponent, deps: [{ token: i1.FsCountry }], target: i0.ɵɵFactoryTarget.Component });
86
- FsTrustedDevicesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTrustedDevicesComponent, selector: "fs-trusted-devices", inputs: { fetchTrustedDevices: "fetchTrustedDevices", removeTrustedDevice: "removeTrustedDevice", signOutTrustedDevice: "signOutTrustedDevice", showAccount: "showAccount" }, viewQueries: [{ propertyName: "listComponent", first: true, predicate: FsListComponent, descendants: true }], ngImport: i0, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column title=\"Account\" [show]=\"showAccount\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-account\">\n <div *ngIf=\"row.account\" class=\"row\">\n <fs-badge \n *ngIf=\"row.account.avatarUrl\"\n shape=\"circle\" \n image=\"{{ row.account.avatarUrl }}\">\n </fs-badge>\n <div>\n {{ row.account.name }}\n <div class=\"small\" *ngIf=\"row.account.email\">{{ row.account.email }}</div> \n </div>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Device\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-device\">\n <div class=\"device\" *ngIf=\"row.device\">\n <fs-current-device *ngIf=\"row.currentDevice\"></fs-current-device>\n <fs-device-os\n [type]=\"row.device.type\"\n [os]=\"row.device.osType\"\n [version]=\"row.device.osVersion\">\n </fs-device-os>\n </div> \n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Browser\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-device-browser\n *ngIf=\"row.device\"\n [type]=\"row.device.browserType\"\n [version]=\"row.device.browserVersion\"\n [showName]=\"true\"\n ></fs-device-browser>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Added\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Location\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-country [code]=\"row.ip.country\"></fs-country>\n <div><small>{{row.ip.ip}}</small></div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Last signed in\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.activityDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [":host ::ng-deep .col-account .row{display:flex;align-items:center}:host ::ng-deep .col-account .row fs-badge{margin-right:5px}:host ::ng-deep .col-device .device{position:relative;display:inline-block}:host ::ng-deep .col-device .device .current-device{right:8px;top:-8px;position:absolute}\n"], components: [{ type: i2.FsListComponent, selector: "fs-list", inputs: ["loaderLines", "config"], outputs: ["filtersReady"] }, { type: i3.FsBadgeComponent, selector: "fs-badge", inputs: ["text", "shape", "color", "tooltip", "size", "image", "icon", "iconSize", "iconColor", "backgroundSize"] }, { type: i4.FsCurrentDeviceComponent, selector: "fs-current-device" }, { type: i5.FsDeviceOsComponent, selector: "fs-device-os", inputs: ["type", "os", "showName", "version"] }, { type: i5.FsDeviceBrowserComponent, selector: "fs-device-browser", inputs: ["type", "version", "showName"] }, { type: i1.FsCountryComponent, selector: "fs-country", inputs: ["showIcon", "showName", "width", "code"] }], directives: [{ type: i2.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "customize", "title", "name", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsDateAgo": i7.FsDateAgoPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
+ FsTrustedDevicesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTrustedDevicesComponent, selector: "fs-trusted-devices", inputs: { fetchTrustedDevices: "fetchTrustedDevices", removeTrustedDevice: "removeTrustedDevice", signOutTrustedDevice: "signOutTrustedDevice", showAccount: "showAccount" }, viewQueries: [{ propertyName: "listComponent", first: true, predicate: FsListComponent, descendants: true }], ngImport: i0, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column title=\"Account\" [show]=\"showAccount\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-account\">\n <div *ngIf=\"row.account\" class=\"row\">\n <fs-badge \n *ngIf=\"row.account.avatarUrl\"\n shape=\"circle\" \n image=\"{{ row.account.avatarUrl }}\">\n </fs-badge>\n <div>\n {{ row.account.name }}\n <div class=\"small\" *ngIf=\"row.account.email\">{{ row.account.email }}</div> \n </div>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Device\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-device\">\n <div class=\"device\" *ngIf=\"row.device\">\n <fs-trusted-current-device *ngIf=\"row.currentDevice\"></fs-trusted-current-device>\n <fs-device-os\n [type]=\"row.device.type\"\n [os]=\"row.device.osType\"\n [version]=\"row.device.osVersion\">\n </fs-device-os>\n </div> \n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Browser\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-device-browser\n *ngIf=\"row.device\"\n [type]=\"row.device.browserType\"\n [version]=\"row.device.browserVersion\"\n [showName]=\"true\"\n ></fs-device-browser>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Added\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Location\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-country [code]=\"row.ip.country\"></fs-country>\n <div><small>{{row.ip.ip}}</small></div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Last signed in\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.activityDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [":host ::ng-deep .col-account .row{display:flex;align-items:center}:host ::ng-deep .col-account .row fs-badge{margin-right:5px}:host ::ng-deep .col-device .device{position:relative;display:inline-block}:host ::ng-deep .col-device .device .current-device{right:8px;top:-8px;position:absolute}\n"], components: [{ type: i2.FsListComponent, selector: "fs-list", inputs: ["loaderLines", "config"], outputs: ["filtersReady"] }, { type: i3.FsBadgeComponent, selector: "fs-badge", inputs: ["text", "shape", "color", "tooltip", "size", "image", "icon", "iconSize", "iconColor", "backgroundSize"] }, { type: i4.FsTrustedCurrentDeviceComponent, selector: "fs-trusted-current-device" }, { type: i5.FsDeviceOsComponent, selector: "fs-device-os", inputs: ["type", "os", "showName", "version"] }, { type: i5.FsDeviceBrowserComponent, selector: "fs-device-browser", inputs: ["type", "version", "showName"] }, { type: i1.FsCountryComponent, selector: "fs-country", inputs: ["showIcon", "showName", "width", "code"] }], directives: [{ type: i2.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "customize", "title", "name", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsDateAgo": i7.FsDateAgoPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTrustedDevicesComponent, decorators: [{
88
88
  type: Component,
89
89
  args: [{
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
104
104
  type: ViewChild,
105
105
  args: [FsListComponent]
106
106
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1kZXZpY2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy90cnVzdGVkLWRldmljZXMvdHJ1c3RlZC1kZXZpY2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy90cnVzdGVkLWRldmljZXMvdHJ1c3RlZC1kZXZpY2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULEtBQUssRUFHTCx1QkFBdUIsR0FHeEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVloRCxNQUFNLE9BQU8seUJBQXlCO0lBd0JwQyxZQUNVLFVBQXFCO1FBQXJCLGVBQVUsR0FBVixVQUFVLENBQVc7UUF0QnhCLHdCQUFtQixHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFVBQVUsRUFHdkQsQ0FBQztRQUdFLHdCQUFtQixHQUFHLENBQUMsYUFBNkIsRUFBRSxFQUFFLENBQUMsSUFBSSxVQUFVLEVBQU8sQ0FBQztRQUcvRSx5QkFBb0IsR0FBRyxDQUFDLGFBQThCLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxFQUFPLENBQUM7UUFHakYsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFPbEIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFJOUIsQ0FBQztJQUVFLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU07YUFDbkIsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsU0FBUztvQkFDZixJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU87b0JBQ3RCLEtBQUssRUFBRSxRQUFRO2lCQUNoQjthQUNGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWO29CQUNFLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO3dCQUNkLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7NkJBQzlCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7NEJBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUNoQixDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDO29CQUNELElBQUksRUFBRSxJQUFJO29CQUNWLEtBQUssRUFBRSxVQUFVO2lCQUNsQjtnQkFDRDtvQkFDRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTt3QkFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDOzZCQUM3QixTQUFTLENBQUMsR0FBRyxFQUFFOzRCQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDaEIsQ0FBQyxDQUFDLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCxNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLFFBQVEsRUFBRSxvREFBb0Q7cUJBQy9EO29CQUNELElBQUksRUFBRSxJQUFJO29CQUNWLEtBQUssRUFBRSxRQUFRO2lCQUNoQjthQUNGO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO3FCQUNuQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQ2YsT0FBTzt3QkFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7d0JBQ25CLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtxQkFDeEIsQ0FBQztnQkFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1lBQ04sQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7dUhBOUZVLHlCQUF5QjsyR0FBekIseUJBQXlCLHVSQWlCekIsZUFBZSxnREM3QzVCLHk3REF1REE7NEZEM0JhLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxTQUFTLEVBQUUsQ0FBRSxrQ0FBa0MsQ0FBRTtvQkFDakQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO2dHQUlRLG1CQUFtQjtzQkFEekIsS0FBSztnQkFPQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBSUMsb0JBQW9CO3NCQUQxQixLQUFLO2dCQUlDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBWaWV3Q2hpbGQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRnNMaXN0Q29tcG9uZW50LCBGc0xpc3RDb25maWcgfSBmcm9tICdAZmlyZXN0aXRjaC9saXN0JztcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZmlsdGVyJztcbmltcG9ydCB7IEZzQ291bnRyeSB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvdW50cnknO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSVRydXN0ZWREZXZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3RydXN0ZWQtZGV2aWNlJztcbmltcG9ydCB7IElUcnVzdGVkRGV2aWNlQWNjb3VudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdHJ1c3RlZC1kZXZpY2UtYWNjb3VudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtdHJ1c3RlZC1kZXZpY2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RydXN0ZWQtZGV2aWNlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi90cnVzdGVkLWRldmljZXMuY29tcG9uZW50LnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc1RydXN0ZWREZXZpY2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmZXRjaFRydXN0ZWREZXZpY2VzID0gKHF1ZXJ5OiBhbnkpID0+IG5ldyBPYnNlcnZhYmxlPHtcbiAgICBkYXRhOiBJVHJ1c3RlZERldmljZVtdO1xuICAgIHBhZ2luZz86IGFueTtcbiAgfT4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVtb3ZlVHJ1c3RlZERldmljZSA9ICh0cnVzdGVkRGV2aWNlOiBJVHJ1c3RlZERldmljZSkgPT4gbmV3IE9ic2VydmFibGU8YW55PigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaWduT3V0VHJ1c3RlZERldmljZSA9ICh0cnVzdGVkRGV2aWNlOiAgSVRydXN0ZWREZXZpY2UpID0+IG5ldyBPYnNlcnZhYmxlPGFueT4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd0FjY291bnQgPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoRnNMaXN0Q29tcG9uZW50KVxuICBwdWJsaWMgbGlzdENvbXBvbmVudDogRnNMaXN0Q29tcG9uZW50O1xuXG4gIHB1YmxpYyBsaXN0Q29uZmlnOiBGc0xpc3RDb25maWc7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2ZzQ291bnRyeTogRnNDb3VudHJ5LFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mc0NvdW50cnkucmVhZHkkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9pbml0TGlzdENvbmZpZygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0TGlzdENvbmZpZygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RDb25maWcgPSB7XG4gICAgICBmaWx0ZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAna2V5d29yZCcsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuS2V5d29yZCxcbiAgICAgICAgICBsYWJlbDogJ1NlYXJjaCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcm93QWN0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgY2xpY2s6IChkYXRhKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNpZ25PdXRUcnVzdGVkRGV2aWNlKGRhdGEpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgbWVudTogdHJ1ZSxcbiAgICAgICAgICBsYWJlbDogJ1NpZ24gT3V0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNsaWNrOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVUcnVzdGVkRGV2aWNlKGRhdGEpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVtb3ZlOiB7XG4gICAgICAgICAgICB0aXRsZTogJ0NvbmZpcm0nLFxuICAgICAgICAgICAgdGVtcGxhdGU6ICdBcmUgeW91IHN1cmUgeW91IHdvdWxkIGxpa2UgdG8gZGVsZXRlIHRoaXMgcmVjb3JkPycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtZW51OiB0cnVlLFxuICAgICAgICAgIGxhYmVsOiAnRGVsZXRlJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBmZXRjaDogKHF1ZXJ5KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZldGNoVHJ1c3RlZERldmljZXMocXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZGF0YTogcmVzcG9uc2UuZGF0YSxcbiAgICAgICAgICAgICAgICBwYWdpbmc6IHJlc3BvbnNlLnBhZ2luZyxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcmVsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdENvbXBvbmVudC5yZWxvYWQoKTtcbiAgfVxuXG59XG4iLCI8ZnMtbGlzdCBbY29uZmlnXT1cImxpc3RDb25maWdcIj5cbiAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiQWNjb3VudFwiIFtzaG93XT1cInNob3dBY2NvdW50XCI+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCIgY2xhc3M9XCJjb2wtYWNjb3VudFwiPlxuICAgICAgPGRpdiAqbmdJZj1cInJvdy5hY2NvdW50XCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGZzLWJhZGdlIFxuICAgICAgICAgICpuZ0lmPVwicm93LmFjY291bnQuYXZhdGFyVXJsXCJcbiAgICAgICAgICBzaGFwZT1cImNpcmNsZVwiIFxuICAgICAgICAgIGltYWdlPVwie3sgcm93LmFjY291bnQuYXZhdGFyVXJsIH19XCI+XG4gICAgICAgIDwvZnMtYmFkZ2U+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3sgcm93LmFjY291bnQubmFtZSB9fVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbFwiICpuZ0lmPVwicm93LmFjY291bnQuZW1haWxcIj57eyByb3cuYWNjb3VudC5lbWFpbCB9fTwvZGl2PiAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiRGV2aWNlXCI+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCIgY2xhc3M9XCJjb2wtZGV2aWNlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGV2aWNlXCIgKm5nSWY9XCJyb3cuZGV2aWNlXCI+XG4gICAgICAgIDxmcy1jdXJyZW50LWRldmljZSAqbmdJZj1cInJvdy5jdXJyZW50RGV2aWNlXCI+PC9mcy1jdXJyZW50LWRldmljZT5cbiAgICAgICAgPGZzLWRldmljZS1vc1xuICAgICAgICAgIFt0eXBlXT1cInJvdy5kZXZpY2UudHlwZVwiXG4gICAgICAgICAgW29zXT1cInJvdy5kZXZpY2Uub3NUeXBlXCJcbiAgICAgICAgICBbdmVyc2lvbl09XCJyb3cuZGV2aWNlLm9zVmVyc2lvblwiPlxuICAgICAgICA8L2ZzLWRldmljZS1vcz5cbiAgICAgIDwvZGl2PiAgICAgXG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiQnJvd3NlclwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgPGZzLWRldmljZS1icm93c2VyXG4gICAgICAgICpuZ0lmPVwicm93LmRldmljZVwiXG4gICAgICAgIFt0eXBlXT1cInJvdy5kZXZpY2UuYnJvd3NlclR5cGVcIlxuICAgICAgICBbdmVyc2lvbl09XCJyb3cuZGV2aWNlLmJyb3dzZXJWZXJzaW9uXCJcbiAgICAgICAgW3Nob3dOYW1lXT1cInRydWVcIlxuICAgICAgPjwvZnMtZGV2aWNlLWJyb3dzZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiQWRkZWRcIj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIHt7IHJvdy5jcmVhdGVEYXRlIHwgZnNEYXRlQWdvIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiTG9jYXRpb25cIj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIDxmcy1jb3VudHJ5IFtjb2RlXT1cInJvdy5pcC5jb3VudHJ5XCI+PC9mcy1jb3VudHJ5PlxuICAgICAgPGRpdj48c21hbGw+e3tyb3cuaXAuaXB9fTwvc21hbGw+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiTGFzdCBzaWduZWQgaW5cIj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIHt7IHJvdy5hY3Rpdml0eURhdGUgfCBmc0RhdGVBZ28gfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuPC9mcy1saXN0PlxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1kZXZpY2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy90cnVzdGVkLWRldmljZXMvdHJ1c3RlZC1kZXZpY2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy90cnVzdGVkLWRldmljZXMvdHJ1c3RlZC1kZXZpY2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULEtBQUssRUFHTCx1QkFBdUIsR0FHeEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVloRCxNQUFNLE9BQU8seUJBQXlCO0lBd0JwQyxZQUNVLFVBQXFCO1FBQXJCLGVBQVUsR0FBVixVQUFVLENBQVc7UUF0QnhCLHdCQUFtQixHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFVBQVUsRUFHdkQsQ0FBQztRQUdFLHdCQUFtQixHQUFHLENBQUMsYUFBNkIsRUFBRSxFQUFFLENBQUMsSUFBSSxVQUFVLEVBQU8sQ0FBQztRQUcvRSx5QkFBb0IsR0FBRyxDQUFDLGFBQThCLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxFQUFPLENBQUM7UUFHakYsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFPbEIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFJOUIsQ0FBQztJQUVFLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU07YUFDbkIsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsU0FBUztvQkFDZixJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU87b0JBQ3RCLEtBQUssRUFBRSxRQUFRO2lCQUNoQjthQUNGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWO29CQUNFLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO3dCQUNkLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7NkJBQzlCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7NEJBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUNoQixDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDO29CQUNELElBQUksRUFBRSxJQUFJO29CQUNWLEtBQUssRUFBRSxVQUFVO2lCQUNsQjtnQkFDRDtvQkFDRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTt3QkFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDOzZCQUM3QixTQUFTLENBQUMsR0FBRyxFQUFFOzRCQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDaEIsQ0FBQyxDQUFDLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCxNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLFFBQVEsRUFBRSxvREFBb0Q7cUJBQy9EO29CQUNELElBQUksRUFBRSxJQUFJO29CQUNWLEtBQUssRUFBRSxRQUFRO2lCQUNoQjthQUNGO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO3FCQUNuQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQ2YsT0FBTzt3QkFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7d0JBQ25CLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtxQkFDeEIsQ0FBQztnQkFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1lBQ04sQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7dUhBOUZVLHlCQUF5QjsyR0FBekIseUJBQXlCLHVSQWlCekIsZUFBZSxnREM3QzVCLHk4REF1REE7NEZEM0JhLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxTQUFTLEVBQUUsQ0FBRSxrQ0FBa0MsQ0FBRTtvQkFDakQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO2dHQUlRLG1CQUFtQjtzQkFEekIsS0FBSztnQkFPQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBSUMsb0JBQW9CO3NCQUQxQixLQUFLO2dCQUlDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBWaWV3Q2hpbGQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRnNMaXN0Q29tcG9uZW50LCBGc0xpc3RDb25maWcgfSBmcm9tICdAZmlyZXN0aXRjaC9saXN0JztcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZmlsdGVyJztcbmltcG9ydCB7IEZzQ291bnRyeSB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvdW50cnknO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSVRydXN0ZWREZXZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3RydXN0ZWQtZGV2aWNlJztcbmltcG9ydCB7IElUcnVzdGVkRGV2aWNlQWNjb3VudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdHJ1c3RlZC1kZXZpY2UtYWNjb3VudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtdHJ1c3RlZC1kZXZpY2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RydXN0ZWQtZGV2aWNlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi90cnVzdGVkLWRldmljZXMuY29tcG9uZW50LnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc1RydXN0ZWREZXZpY2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmZXRjaFRydXN0ZWREZXZpY2VzID0gKHF1ZXJ5OiBhbnkpID0+IG5ldyBPYnNlcnZhYmxlPHtcbiAgICBkYXRhOiBJVHJ1c3RlZERldmljZVtdO1xuICAgIHBhZ2luZz86IGFueTtcbiAgfT4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVtb3ZlVHJ1c3RlZERldmljZSA9ICh0cnVzdGVkRGV2aWNlOiBJVHJ1c3RlZERldmljZSkgPT4gbmV3IE9ic2VydmFibGU8YW55PigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaWduT3V0VHJ1c3RlZERldmljZSA9ICh0cnVzdGVkRGV2aWNlOiAgSVRydXN0ZWREZXZpY2UpID0+IG5ldyBPYnNlcnZhYmxlPGFueT4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd0FjY291bnQgPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoRnNMaXN0Q29tcG9uZW50KVxuICBwdWJsaWMgbGlzdENvbXBvbmVudDogRnNMaXN0Q29tcG9uZW50O1xuXG4gIHB1YmxpYyBsaXN0Q29uZmlnOiBGc0xpc3RDb25maWc7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2ZzQ291bnRyeTogRnNDb3VudHJ5LFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mc0NvdW50cnkucmVhZHkkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9pbml0TGlzdENvbmZpZygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0TGlzdENvbmZpZygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RDb25maWcgPSB7XG4gICAgICBmaWx0ZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAna2V5d29yZCcsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuS2V5d29yZCxcbiAgICAgICAgICBsYWJlbDogJ1NlYXJjaCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcm93QWN0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgY2xpY2s6IChkYXRhKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNpZ25PdXRUcnVzdGVkRGV2aWNlKGRhdGEpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgbWVudTogdHJ1ZSxcbiAgICAgICAgICBsYWJlbDogJ1NpZ24gT3V0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNsaWNrOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVUcnVzdGVkRGV2aWNlKGRhdGEpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVtb3ZlOiB7XG4gICAgICAgICAgICB0aXRsZTogJ0NvbmZpcm0nLFxuICAgICAgICAgICAgdGVtcGxhdGU6ICdBcmUgeW91IHN1cmUgeW91IHdvdWxkIGxpa2UgdG8gZGVsZXRlIHRoaXMgcmVjb3JkPycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtZW51OiB0cnVlLFxuICAgICAgICAgIGxhYmVsOiAnRGVsZXRlJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBmZXRjaDogKHF1ZXJ5KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZldGNoVHJ1c3RlZERldmljZXMocXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZGF0YTogcmVzcG9uc2UuZGF0YSxcbiAgICAgICAgICAgICAgICBwYWdpbmc6IHJlc3BvbnNlLnBhZ2luZyxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcmVsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdENvbXBvbmVudC5yZWxvYWQoKTtcbiAgfVxuXG59XG4iLCI8ZnMtbGlzdCBbY29uZmlnXT1cImxpc3RDb25maWdcIj5cbiAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiQWNjb3VudFwiIFtzaG93XT1cInNob3dBY2NvdW50XCI+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCIgY2xhc3M9XCJjb2wtYWNjb3VudFwiPlxuICAgICAgPGRpdiAqbmdJZj1cInJvdy5hY2NvdW50XCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGZzLWJhZGdlIFxuICAgICAgICAgICpuZ0lmPVwicm93LmFjY291bnQuYXZhdGFyVXJsXCJcbiAgICAgICAgICBzaGFwZT1cImNpcmNsZVwiIFxuICAgICAgICAgIGltYWdlPVwie3sgcm93LmFjY291bnQuYXZhdGFyVXJsIH19XCI+XG4gICAgICAgIDwvZnMtYmFkZ2U+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3sgcm93LmFjY291bnQubmFtZSB9fVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbFwiICpuZ0lmPVwicm93LmFjY291bnQuZW1haWxcIj57eyByb3cuYWNjb3VudC5lbWFpbCB9fTwvZGl2PiAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiRGV2aWNlXCI+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCIgY2xhc3M9XCJjb2wtZGV2aWNlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGV2aWNlXCIgKm5nSWY9XCJyb3cuZGV2aWNlXCI+XG4gICAgICAgIDxmcy10cnVzdGVkLWN1cnJlbnQtZGV2aWNlICpuZ0lmPVwicm93LmN1cnJlbnREZXZpY2VcIj48L2ZzLXRydXN0ZWQtY3VycmVudC1kZXZpY2U+XG4gICAgICAgIDxmcy1kZXZpY2Utb3NcbiAgICAgICAgICBbdHlwZV09XCJyb3cuZGV2aWNlLnR5cGVcIlxuICAgICAgICAgIFtvc109XCJyb3cuZGV2aWNlLm9zVHlwZVwiXG4gICAgICAgICAgW3ZlcnNpb25dPVwicm93LmRldmljZS5vc1ZlcnNpb25cIj5cbiAgICAgICAgPC9mcy1kZXZpY2Utb3M+XG4gICAgICA8L2Rpdj4gICAgIFxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbGlzdC1jb2x1bW4+XG4gIDxmcy1saXN0LWNvbHVtbiB0aXRsZT1cIkJyb3dzZXJcIj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIDxmcy1kZXZpY2UtYnJvd3NlclxuICAgICAgICAqbmdJZj1cInJvdy5kZXZpY2VcIlxuICAgICAgICBbdHlwZV09XCJyb3cuZGV2aWNlLmJyb3dzZXJUeXBlXCJcbiAgICAgICAgW3ZlcnNpb25dPVwicm93LmRldmljZS5icm93c2VyVmVyc2lvblwiXG4gICAgICAgIFtzaG93TmFtZV09XCJ0cnVlXCJcbiAgICAgID48L2ZzLWRldmljZS1icm93c2VyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbGlzdC1jb2x1bW4+XG4gIDxmcy1saXN0LWNvbHVtbiB0aXRsZT1cIkFkZGVkXCI+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICB7eyByb3cuY3JlYXRlRGF0ZSB8IGZzRGF0ZUFnbyB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbGlzdC1jb2x1bW4+XG4gIDxmcy1saXN0LWNvbHVtbiB0aXRsZT1cIkxvY2F0aW9uXCI+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICA8ZnMtY291bnRyeSBbY29kZV09XCJyb3cuaXAuY291bnRyeVwiPjwvZnMtY291bnRyeT5cbiAgICAgIDxkaXY+PHNtYWxsPnt7cm93LmlwLmlwfX08L3NtYWxsPjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbGlzdC1jb2x1bW4+XG4gIDxmcy1saXN0LWNvbHVtbiB0aXRsZT1cIkxhc3Qgc2lnbmVkIGluXCI+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICB7eyByb3cuYWN0aXZpdHlEYXRlIHwgZnNEYXRlQWdvIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbjwvZnMtbGlzdD5cbiJdfQ==
@@ -6,7 +6,7 @@ import { FsListModule } from '@firestitch/list';
6
6
  import { FsDateModule } from '@firestitch/date';
7
7
  import { FsCountryModule } from '@firestitch/country';
8
8
  import { FsDeviceModule } from '@firestitch/device';
9
- import { FsCurrentDeviceComponent } from './components/current-device/current-device.component';
9
+ import { FsTrustedCurrentDeviceComponent } from './components/trusted-current-device/trusted-current-device.component';
10
10
  import { FsTrustedDevicesComponent } from './components/trusted-devices/trusted-devices.component';
11
11
  import { FsBadgeModule } from '@firestitch/badge';
12
12
  import { MatTooltipModule } from '@angular/material/tooltip';
@@ -20,7 +20,7 @@ export class Fs2FaModule {
20
20
  }
21
21
  Fs2FaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2FaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
22
  Fs2FaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2FaModule, declarations: [FsTrustedDevicesComponent,
23
- FsCurrentDeviceComponent], imports: [CommonModule,
23
+ FsTrustedCurrentDeviceComponent], imports: [CommonModule,
24
24
  FlexLayoutModule,
25
25
  MatIconModule,
26
26
  MatTooltipModule,
@@ -29,7 +29,7 @@ Fs2FaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
29
29
  FsCountryModule,
30
30
  FsDeviceModule,
31
31
  FsBadgeModule], exports: [FsTrustedDevicesComponent,
32
- FsCurrentDeviceComponent] });
32
+ FsTrustedCurrentDeviceComponent] });
33
33
  Fs2FaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2FaModule, imports: [[
34
34
  CommonModule,
35
35
  FlexLayoutModule,
@@ -57,12 +57,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
57
57
  ],
58
58
  exports: [
59
59
  FsTrustedDevicesComponent,
60
- FsCurrentDeviceComponent,
60
+ FsTrustedCurrentDeviceComponent,
61
61
  ],
62
62
  declarations: [
63
63
  FsTrustedDevicesComponent,
64
- FsCurrentDeviceComponent,
64
+ FsTrustedCurrentDeviceComponent,
65
65
  ],
66
66
  }]
67
67
  }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtMmZhLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvZnMtMmZhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUVuRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBMEI3RCxNQUFNLE9BQU8sV0FBVztJQUN0QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsV0FBVztTQUN0QixDQUFDO0lBQ0osQ0FBQzs7eUdBTFUsV0FBVzswR0FBWCxXQUFXLGlCQUpwQix5QkFBeUI7UUFDekIsd0JBQXdCLGFBbEJ4QixZQUFZO1FBQ1osZ0JBQWdCO1FBRWhCLGFBQWE7UUFDYixnQkFBZ0I7UUFFaEIsWUFBWTtRQUNaLFlBQVk7UUFDWixlQUFlO1FBQ2YsY0FBYztRQUNkLGFBQWEsYUFHYix5QkFBeUI7UUFDekIsd0JBQXdCOzBHQU9mLFdBQVcsWUF0QmI7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1lBRWhCLGFBQWE7WUFDYixnQkFBZ0I7WUFFaEIsWUFBWTtZQUNaLFlBQVk7WUFDWixlQUFlO1lBQ2YsY0FBYztZQUNkLGFBQWE7U0FDZDs0RkFVVSxXQUFXO2tCQXZCdkIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBRWhCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUVoQixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixjQUFjO3dCQUNkLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3FCQUN6QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1oseUJBQXlCO3dCQUN6Qix3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IEZzTGlzdE1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2xpc3QnO1xuaW1wb3J0IHsgRnNEYXRlTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGF0ZSc7XG5pbXBvcnQgeyBGc0NvdW50cnlNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9jb3VudHJ5JztcbmltcG9ydCB7IEZzRGV2aWNlTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGV2aWNlJztcblxuaW1wb3J0IHsgRnNDdXJyZW50RGV2aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1cnJlbnQtZGV2aWNlL2N1cnJlbnQtZGV2aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGc1RydXN0ZWREZXZpY2VzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RydXN0ZWQtZGV2aWNlcy90cnVzdGVkLWRldmljZXMuY29tcG9uZW50JztcblxuaW1wb3J0IHsgRnNCYWRnZU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2JhZGdlJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG5cbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG5cbiAgICBGc0xpc3RNb2R1bGUsXG4gICAgRnNEYXRlTW9kdWxlLFxuICAgIEZzQ291bnRyeU1vZHVsZSxcbiAgICBGc0RldmljZU1vZHVsZSxcbiAgICBGc0JhZGdlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRnNUcnVzdGVkRGV2aWNlc0NvbXBvbmVudCxcbiAgICBGc0N1cnJlbnREZXZpY2VDb21wb25lbnQsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZzVHJ1c3RlZERldmljZXNDb21wb25lbnQsXG4gICAgRnNDdXJyZW50RGV2aWNlQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGczJGYU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RnMyRmFNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEZzMkZhTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtMmZhLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvZnMtMmZhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUN2SCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUVuRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBMEI3RCxNQUFNLE9BQU8sV0FBVztJQUN0QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsV0FBVztTQUN0QixDQUFDO0lBQ0osQ0FBQzs7eUdBTFUsV0FBVzswR0FBWCxXQUFXLGlCQUpwQix5QkFBeUI7UUFDekIsK0JBQStCLGFBbEIvQixZQUFZO1FBQ1osZ0JBQWdCO1FBRWhCLGFBQWE7UUFDYixnQkFBZ0I7UUFFaEIsWUFBWTtRQUNaLFlBQVk7UUFDWixlQUFlO1FBQ2YsY0FBYztRQUNkLGFBQWEsYUFHYix5QkFBeUI7UUFDekIsK0JBQStCOzBHQU90QixXQUFXLFlBdEJiO1lBQ1AsWUFBWTtZQUNaLGdCQUFnQjtZQUVoQixhQUFhO1lBQ2IsZ0JBQWdCO1lBRWhCLFlBQVk7WUFDWixZQUFZO1lBQ1osZUFBZTtZQUNmLGNBQWM7WUFDZCxhQUFhO1NBQ2Q7NEZBVVUsV0FBVztrQkF2QnZCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUVoQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFFaEIsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCx5QkFBeUI7d0JBQ3pCLCtCQUErQjtxQkFDaEM7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHlCQUF5Qjt3QkFDekIsK0JBQStCO3FCQUNoQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcblxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQgeyBGc0xpc3RNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9saXN0JztcbmltcG9ydCB7IEZzRGF0ZU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2RhdGUnO1xuaW1wb3J0IHsgRnNDb3VudHJ5TW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvY291bnRyeSc7XG5pbXBvcnQgeyBGc0RldmljZU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2RldmljZSc7XG5cbmltcG9ydCB7IEZzVHJ1c3RlZEN1cnJlbnREZXZpY2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdHJ1c3RlZC1jdXJyZW50LWRldmljZS90cnVzdGVkLWN1cnJlbnQtZGV2aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGc1RydXN0ZWREZXZpY2VzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RydXN0ZWQtZGV2aWNlcy90cnVzdGVkLWRldmljZXMuY29tcG9uZW50JztcblxuaW1wb3J0IHsgRnNCYWRnZU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2JhZGdlJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG5cbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG5cbiAgICBGc0xpc3RNb2R1bGUsXG4gICAgRnNEYXRlTW9kdWxlLFxuICAgIEZzQ291bnRyeU1vZHVsZSxcbiAgICBGc0RldmljZU1vZHVsZSxcbiAgICBGc0JhZGdlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRnNUcnVzdGVkRGV2aWNlc0NvbXBvbmVudCxcbiAgICBGc1RydXN0ZWRDdXJyZW50RGV2aWNlQ29tcG9uZW50LFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGc1RydXN0ZWREZXZpY2VzQ29tcG9uZW50LFxuICAgIEZzVHJ1c3RlZEN1cnJlbnREZXZpY2VDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzMkZhTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxGczJGYU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRnMyRmFNb2R1bGUsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
1
  export { Fs2FaModule } from './app/fs-2fa.module';
2
2
  export { FsTrustedDevicesComponent } from './app/components/trusted-devices/trusted-devices.component';
3
- export { FsCurrentDeviceComponent } from './app/components/current-device/current-device.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZzMkZhTW9kdWxlIH0gZnJvbSAnLi9hcHAvZnMtMmZhLm1vZHVsZSc7XG5cbmV4cG9ydCB7IEZzVHJ1c3RlZERldmljZXNDb21wb25lbnQgfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3RydXN0ZWQtZGV2aWNlcy90cnVzdGVkLWRldmljZXMuY29tcG9uZW50JztcbmV4cG9ydCB7IEZzQ3VycmVudERldmljZUNvbXBvbmVudCB9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvY3VycmVudC1kZXZpY2UvY3VycmVudC1kZXZpY2UuY29tcG9uZW50JztcblxuZXhwb3J0IHsgSVRydXN0ZWREZXZpY2UgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL3RydXN0ZWQtZGV2aWNlJztcbmV4cG9ydCB7IElUcnVzdGVkRGV2aWNlQWNjb3VudCB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvdHJ1c3RlZC1kZXZpY2UtYWNjb3VudCc7XG5leHBvcnQgeyBJVHJ1c3RlZERldmljZURldmljZSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvdHJ1c3RlZC1kZXZpY2UtZGV2aWNlJztcbmV4cG9ydCB7IElUcnVzdGVkRGV2aWNlSXAgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL3RydXN0ZWQtZGV2aWNlLWlwJztcbiJdfQ==
3
+ export { FsTrustedCurrentDeviceComponent } from './app/components/trusted-current-device/trusted-current-device.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZzMkZhTW9kdWxlIH0gZnJvbSAnLi9hcHAvZnMtMmZhLm1vZHVsZSc7XG5cbmV4cG9ydCB7IEZzVHJ1c3RlZERldmljZXNDb21wb25lbnQgfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3RydXN0ZWQtZGV2aWNlcy90cnVzdGVkLWRldmljZXMuY29tcG9uZW50JztcbmV4cG9ydCB7IEZzVHJ1c3RlZEN1cnJlbnREZXZpY2VDb21wb25lbnQgfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL3RydXN0ZWQtY3VycmVudC1kZXZpY2UvdHJ1c3RlZC1jdXJyZW50LWRldmljZS5jb21wb25lbnQnO1xuXG5leHBvcnQgeyBJVHJ1c3RlZERldmljZSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvdHJ1c3RlZC1kZXZpY2UnO1xuZXhwb3J0IHsgSVRydXN0ZWREZXZpY2VBY2NvdW50IH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy90cnVzdGVkLWRldmljZS1hY2NvdW50JztcbmV4cG9ydCB7IElUcnVzdGVkRGV2aWNlRGV2aWNlIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy90cnVzdGVkLWRldmljZS1kZXZpY2UnO1xuZXhwb3J0IHsgSVRydXN0ZWREZXZpY2VJcCB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvdHJ1c3RlZC1kZXZpY2UtaXAnO1xuIl19
@@ -21,16 +21,16 @@ import { takeUntil, map } from 'rxjs/operators';
21
21
  import * as i3 from '@firestitch/badge';
22
22
  import { FsBadgeModule } from '@firestitch/badge';
23
23
 
24
- class FsCurrentDeviceComponent {
24
+ class FsTrustedCurrentDeviceComponent {
25
25
  }
26
- FsCurrentDeviceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsCurrentDeviceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- FsCurrentDeviceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsCurrentDeviceComponent, selector: "fs-current-device", ngImport: i0, template: "\n<div class=\"current-device\">\n <mat-icon class=\"circle\">circle</mat-icon>\n <mat-icon \n class=\"check\"\n matTooltip=\"This device\">\n check_circle\n </mat-icon>\n</div>\n", styles: [".current-device{transform:scale(.8);z-index:1;position:relative}.current-device .check,.current-device .circle{position:absolute;color:#027db4;top:0}.current-device .circle{color:#fff}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsCurrentDeviceComponent, decorators: [{
26
+ FsTrustedCurrentDeviceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTrustedCurrentDeviceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
+ FsTrustedCurrentDeviceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTrustedCurrentDeviceComponent, selector: "fs-trusted-current-device", ngImport: i0, template: "\n<div class=\"current-device\">\n <mat-icon class=\"circle\">circle</mat-icon>\n <mat-icon \n class=\"check\"\n matTooltip=\"This device\">\n check_circle\n </mat-icon>\n</div>\n", styles: [".current-device{transform:scale(.8);z-index:1;position:relative}.current-device .check,.current-device .circle{position:absolute;color:#027db4;top:0}.current-device .circle{color:#fff}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTrustedCurrentDeviceComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{
31
- selector: 'fs-current-device',
32
- templateUrl: './current-device.component.html',
33
- styleUrls: ['./current-device.component.scss'],
31
+ selector: 'fs-trusted-current-device',
32
+ templateUrl: './trusted-current-device.component.html',
33
+ styleUrls: ['./trusted-current-device.component.scss'],
34
34
  changeDetection: ChangeDetectionStrategy.OnPush,
35
35
  }]
36
36
  }] });
@@ -106,7 +106,7 @@ class FsTrustedDevicesComponent {
106
106
  }
107
107
  }
108
108
  FsTrustedDevicesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTrustedDevicesComponent, deps: [{ token: i1$1.FsCountry }], target: i0.ɵɵFactoryTarget.Component });
109
- FsTrustedDevicesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTrustedDevicesComponent, selector: "fs-trusted-devices", inputs: { fetchTrustedDevices: "fetchTrustedDevices", removeTrustedDevice: "removeTrustedDevice", signOutTrustedDevice: "signOutTrustedDevice", showAccount: "showAccount" }, viewQueries: [{ propertyName: "listComponent", first: true, predicate: FsListComponent, descendants: true }], ngImport: i0, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column title=\"Account\" [show]=\"showAccount\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-account\">\n <div *ngIf=\"row.account\" class=\"row\">\n <fs-badge \n *ngIf=\"row.account.avatarUrl\"\n shape=\"circle\" \n image=\"{{ row.account.avatarUrl }}\">\n </fs-badge>\n <div>\n {{ row.account.name }}\n <div class=\"small\" *ngIf=\"row.account.email\">{{ row.account.email }}</div> \n </div>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Device\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-device\">\n <div class=\"device\" *ngIf=\"row.device\">\n <fs-current-device *ngIf=\"row.currentDevice\"></fs-current-device>\n <fs-device-os\n [type]=\"row.device.type\"\n [os]=\"row.device.osType\"\n [version]=\"row.device.osVersion\">\n </fs-device-os>\n </div> \n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Browser\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-device-browser\n *ngIf=\"row.device\"\n [type]=\"row.device.browserType\"\n [version]=\"row.device.browserVersion\"\n [showName]=\"true\"\n ></fs-device-browser>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Added\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Location\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-country [code]=\"row.ip.country\"></fs-country>\n <div><small>{{row.ip.ip}}</small></div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Last signed in\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.activityDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [":host ::ng-deep .col-account .row{display:flex;align-items:center}:host ::ng-deep .col-account .row fs-badge{margin-right:5px}:host ::ng-deep .col-device .device{position:relative;display:inline-block}:host ::ng-deep .col-device .device .current-device{right:8px;top:-8px;position:absolute}\n"], components: [{ type: i2$1.FsListComponent, selector: "fs-list", inputs: ["loaderLines", "config"], outputs: ["filtersReady"] }, { type: i3.FsBadgeComponent, selector: "fs-badge", inputs: ["text", "shape", "color", "tooltip", "size", "image", "icon", "iconSize", "iconColor", "backgroundSize"] }, { type: FsCurrentDeviceComponent, selector: "fs-current-device" }, { type: i5.FsDeviceOsComponent, selector: "fs-device-os", inputs: ["type", "os", "showName", "version"] }, { type: i5.FsDeviceBrowserComponent, selector: "fs-device-browser", inputs: ["type", "version", "showName"] }, { type: i1$1.FsCountryComponent, selector: "fs-country", inputs: ["showIcon", "showName", "width", "code"] }], directives: [{ type: i2$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "customize", "title", "name", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsDateAgo": i7.FsDateAgoPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
109
+ FsTrustedDevicesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTrustedDevicesComponent, selector: "fs-trusted-devices", inputs: { fetchTrustedDevices: "fetchTrustedDevices", removeTrustedDevice: "removeTrustedDevice", signOutTrustedDevice: "signOutTrustedDevice", showAccount: "showAccount" }, viewQueries: [{ propertyName: "listComponent", first: true, predicate: FsListComponent, descendants: true }], ngImport: i0, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column title=\"Account\" [show]=\"showAccount\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-account\">\n <div *ngIf=\"row.account\" class=\"row\">\n <fs-badge \n *ngIf=\"row.account.avatarUrl\"\n shape=\"circle\" \n image=\"{{ row.account.avatarUrl }}\">\n </fs-badge>\n <div>\n {{ row.account.name }}\n <div class=\"small\" *ngIf=\"row.account.email\">{{ row.account.email }}</div> \n </div>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Device\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-device\">\n <div class=\"device\" *ngIf=\"row.device\">\n <fs-trusted-current-device *ngIf=\"row.currentDevice\"></fs-trusted-current-device>\n <fs-device-os\n [type]=\"row.device.type\"\n [os]=\"row.device.osType\"\n [version]=\"row.device.osVersion\">\n </fs-device-os>\n </div> \n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Browser\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-device-browser\n *ngIf=\"row.device\"\n [type]=\"row.device.browserType\"\n [version]=\"row.device.browserVersion\"\n [showName]=\"true\"\n ></fs-device-browser>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Added\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Location\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-country [code]=\"row.ip.country\"></fs-country>\n <div><small>{{row.ip.ip}}</small></div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Last signed in\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.activityDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [":host ::ng-deep .col-account .row{display:flex;align-items:center}:host ::ng-deep .col-account .row fs-badge{margin-right:5px}:host ::ng-deep .col-device .device{position:relative;display:inline-block}:host ::ng-deep .col-device .device .current-device{right:8px;top:-8px;position:absolute}\n"], components: [{ type: i2$1.FsListComponent, selector: "fs-list", inputs: ["loaderLines", "config"], outputs: ["filtersReady"] }, { type: i3.FsBadgeComponent, selector: "fs-badge", inputs: ["text", "shape", "color", "tooltip", "size", "image", "icon", "iconSize", "iconColor", "backgroundSize"] }, { type: FsTrustedCurrentDeviceComponent, selector: "fs-trusted-current-device" }, { type: i5.FsDeviceOsComponent, selector: "fs-device-os", inputs: ["type", "os", "showName", "version"] }, { type: i5.FsDeviceBrowserComponent, selector: "fs-device-browser", inputs: ["type", "version", "showName"] }, { type: i1$1.FsCountryComponent, selector: "fs-country", inputs: ["showIcon", "showName", "width", "code"] }], directives: [{ type: i2$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "customize", "title", "name", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsDateAgo": i7.FsDateAgoPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTrustedDevicesComponent, decorators: [{
111
111
  type: Component,
112
112
  args: [{
@@ -137,7 +137,7 @@ class Fs2FaModule {
137
137
  }
138
138
  Fs2FaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2FaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
139
139
  Fs2FaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2FaModule, declarations: [FsTrustedDevicesComponent,
140
- FsCurrentDeviceComponent], imports: [CommonModule,
140
+ FsTrustedCurrentDeviceComponent], imports: [CommonModule,
141
141
  FlexLayoutModule,
142
142
  MatIconModule,
143
143
  MatTooltipModule,
@@ -146,7 +146,7 @@ Fs2FaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
146
146
  FsCountryModule,
147
147
  FsDeviceModule,
148
148
  FsBadgeModule], exports: [FsTrustedDevicesComponent,
149
- FsCurrentDeviceComponent] });
149
+ FsTrustedCurrentDeviceComponent] });
150
150
  Fs2FaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Fs2FaModule, imports: [[
151
151
  CommonModule,
152
152
  FlexLayoutModule,
@@ -174,11 +174,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
174
174
  ],
175
175
  exports: [
176
176
  FsTrustedDevicesComponent,
177
- FsCurrentDeviceComponent,
177
+ FsTrustedCurrentDeviceComponent,
178
178
  ],
179
179
  declarations: [
180
180
  FsTrustedDevicesComponent,
181
- FsCurrentDeviceComponent,
181
+ FsTrustedCurrentDeviceComponent,
182
182
  ],
183
183
  }]
184
184
  }] });
@@ -187,5 +187,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
187
187
  * Generated bundle index. Do not edit.
188
188
  */
189
189
 
190
- export { Fs2FaModule, FsCurrentDeviceComponent, FsTrustedDevicesComponent };
190
+ export { Fs2FaModule, FsTrustedCurrentDeviceComponent, FsTrustedDevicesComponent };
191
191
  //# sourceMappingURL=firestitch-2fa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"firestitch-2fa.js","sources":["../../src/app/components/current-device/current-device.component.ts","../../src/app/components/current-device/current-device.component.html","../../src/app/components/trusted-devices/trusted-devices.component.ts","../../src/app/components/trusted-devices/trusted-devices.component.html","../../src/app/fs-2fa.module.ts","../../src/firestitch-2fa.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n\n@Component({\n selector: 'fs-current-device',\n templateUrl: './current-device.component.html',\n styleUrls: [ './current-device.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsCurrentDeviceComponent {\n}\n","\n<div class=\"current-device\">\n <mat-icon class=\"circle\">circle</mat-icon>\n <mat-icon \n class=\"check\"\n matTooltip=\"This device\">\n check_circle\n </mat-icon>\n</div>\n","import {\n Component,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\nimport { ItemType } from '@firestitch/filter';\nimport { FsCountry } from '@firestitch/country';\n\nimport { Observable, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\n\nimport { ITrustedDevice } from '../../interfaces/trusted-device';\nimport { ITrustedDeviceAccount } from '../../interfaces/trusted-device-account';\n\n\n@Component({\n selector: 'fs-trusted-devices',\n templateUrl: './trusted-devices.component.html',\n styleUrls: [ './trusted-devices.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsTrustedDevicesComponent implements OnInit, OnDestroy {\n\n @Input()\n public fetchTrustedDevices = (query: any) => new Observable<{\n data: ITrustedDevice[];\n paging?: any;\n }>();\n\n @Input()\n public removeTrustedDevice = (trustedDevice: ITrustedDevice) => new Observable<any>();\n\n @Input()\n public signOutTrustedDevice = (trustedDevice: ITrustedDevice) => new Observable<any>();\n\n @Input()\n public showAccount = true;\n\n @ViewChild(FsListComponent)\n public listComponent: FsListComponent;\n\n public listConfig: FsListConfig;\n\n private _destroy$ = new Subject();\n\n constructor(\n private _fsCountry: FsCountry,\n ) { }\n\n public ngOnInit(): void {\n this._fsCountry.ready$\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this._initListConfig();\n });\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _initListConfig(): void {\n this.listConfig = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search',\n },\n ],\n rowActions: [\n {\n click: (data) => {\n this.signOutTrustedDevice(data)\n .subscribe(() => {\n this.reload();\n });\n },\n menu: true,\n label: 'Sign Out',\n },\n {\n click: (data) => {\n this.removeTrustedDevice(data)\n .subscribe(() => {\n this.reload();\n });\n },\n remove: {\n title: 'Confirm',\n template: 'Are you sure you would like to delete this record?',\n },\n menu: true,\n label: 'Delete',\n },\n ],\n fetch: (query) => {\n return this.fetchTrustedDevices(query)\n .pipe(\n map((response) => {\n return {\n data: response.data,\n paging: response.paging,\n };\n }),\n );\n },\n };\n }\n\n public reload(): void {\n this.listComponent.reload();\n }\n\n}\n","<fs-list [config]=\"listConfig\">\n <fs-list-column title=\"Account\" [show]=\"showAccount\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-account\">\n <div *ngIf=\"row.account\" class=\"row\">\n <fs-badge \n *ngIf=\"row.account.avatarUrl\"\n shape=\"circle\" \n image=\"{{ row.account.avatarUrl }}\">\n </fs-badge>\n <div>\n {{ row.account.name }}\n <div class=\"small\" *ngIf=\"row.account.email\">{{ row.account.email }}</div> \n </div>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Device\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-device\">\n <div class=\"device\" *ngIf=\"row.device\">\n <fs-current-device *ngIf=\"row.currentDevice\"></fs-current-device>\n <fs-device-os\n [type]=\"row.device.type\"\n [os]=\"row.device.osType\"\n [version]=\"row.device.osVersion\">\n </fs-device-os>\n </div> \n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Browser\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-device-browser\n *ngIf=\"row.device\"\n [type]=\"row.device.browserType\"\n [version]=\"row.device.browserVersion\"\n [showName]=\"true\"\n ></fs-device-browser>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Added\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Location\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-country [code]=\"row.ip.country\"></fs-country>\n <div><small>{{row.ip.ip}}</small></div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Last signed in\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.activityDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FsListModule } from '@firestitch/list';\nimport { FsDateModule } from '@firestitch/date';\nimport { FsCountryModule } from '@firestitch/country';\nimport { FsDeviceModule } from '@firestitch/device';\n\nimport { FsCurrentDeviceComponent } from './components/current-device/current-device.component';\nimport { FsTrustedDevicesComponent } from './components/trusted-devices/trusted-devices.component';\n\nimport { FsBadgeModule } from '@firestitch/badge';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FlexLayoutModule,\n\n MatIconModule,\n MatTooltipModule,\n\n FsListModule,\n FsDateModule,\n FsCountryModule,\n FsDeviceModule,\n FsBadgeModule,\n ],\n exports: [\n FsTrustedDevicesComponent,\n FsCurrentDeviceComponent,\n ],\n declarations: [\n FsTrustedDevicesComponent,\n FsCurrentDeviceComponent,\n ],\n})\nexport class Fs2FaModule {\n static forRoot(): ModuleWithProviders<Fs2FaModule> {\n return {\n ngModule: Fs2FaModule,\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firestitch-2fa.js","sources":["../../src/app/components/trusted-current-device/trusted-current-device.component.ts","../../src/app/components/trusted-current-device/trusted-current-device.component.html","../../src/app/components/trusted-devices/trusted-devices.component.ts","../../src/app/components/trusted-devices/trusted-devices.component.html","../../src/app/fs-2fa.module.ts","../../src/firestitch-2fa.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n\n@Component({\n selector: 'fs-trusted-current-device',\n templateUrl: './trusted-current-device.component.html',\n styleUrls: [ './trusted-current-device.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsTrustedCurrentDeviceComponent {\n}\n","\n<div class=\"current-device\">\n <mat-icon class=\"circle\">circle</mat-icon>\n <mat-icon \n class=\"check\"\n matTooltip=\"This device\">\n check_circle\n </mat-icon>\n</div>\n","import {\n Component,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\nimport { ItemType } from '@firestitch/filter';\nimport { FsCountry } from '@firestitch/country';\n\nimport { Observable, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\n\nimport { ITrustedDevice } from '../../interfaces/trusted-device';\nimport { ITrustedDeviceAccount } from '../../interfaces/trusted-device-account';\n\n\n@Component({\n selector: 'fs-trusted-devices',\n templateUrl: './trusted-devices.component.html',\n styleUrls: [ './trusted-devices.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsTrustedDevicesComponent implements OnInit, OnDestroy {\n\n @Input()\n public fetchTrustedDevices = (query: any) => new Observable<{\n data: ITrustedDevice[];\n paging?: any;\n }>();\n\n @Input()\n public removeTrustedDevice = (trustedDevice: ITrustedDevice) => new Observable<any>();\n\n @Input()\n public signOutTrustedDevice = (trustedDevice: ITrustedDevice) => new Observable<any>();\n\n @Input()\n public showAccount = true;\n\n @ViewChild(FsListComponent)\n public listComponent: FsListComponent;\n\n public listConfig: FsListConfig;\n\n private _destroy$ = new Subject();\n\n constructor(\n private _fsCountry: FsCountry,\n ) { }\n\n public ngOnInit(): void {\n this._fsCountry.ready$\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this._initListConfig();\n });\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _initListConfig(): void {\n this.listConfig = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search',\n },\n ],\n rowActions: [\n {\n click: (data) => {\n this.signOutTrustedDevice(data)\n .subscribe(() => {\n this.reload();\n });\n },\n menu: true,\n label: 'Sign Out',\n },\n {\n click: (data) => {\n this.removeTrustedDevice(data)\n .subscribe(() => {\n this.reload();\n });\n },\n remove: {\n title: 'Confirm',\n template: 'Are you sure you would like to delete this record?',\n },\n menu: true,\n label: 'Delete',\n },\n ],\n fetch: (query) => {\n return this.fetchTrustedDevices(query)\n .pipe(\n map((response) => {\n return {\n data: response.data,\n paging: response.paging,\n };\n }),\n );\n },\n };\n }\n\n public reload(): void {\n this.listComponent.reload();\n }\n\n}\n","<fs-list [config]=\"listConfig\">\n <fs-list-column title=\"Account\" [show]=\"showAccount\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-account\">\n <div *ngIf=\"row.account\" class=\"row\">\n <fs-badge \n *ngIf=\"row.account.avatarUrl\"\n shape=\"circle\" \n image=\"{{ row.account.avatarUrl }}\">\n </fs-badge>\n <div>\n {{ row.account.name }}\n <div class=\"small\" *ngIf=\"row.account.email\">{{ row.account.email }}</div> \n </div>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Device\">\n <ng-template fs-list-cell let-row=\"row\" class=\"col-device\">\n <div class=\"device\" *ngIf=\"row.device\">\n <fs-trusted-current-device *ngIf=\"row.currentDevice\"></fs-trusted-current-device>\n <fs-device-os\n [type]=\"row.device.type\"\n [os]=\"row.device.osType\"\n [version]=\"row.device.osVersion\">\n </fs-device-os>\n </div> \n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Browser\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-device-browser\n *ngIf=\"row.device\"\n [type]=\"row.device.browserType\"\n [version]=\"row.device.browserVersion\"\n [showName]=\"true\"\n ></fs-device-browser>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Added\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Location\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-country [code]=\"row.ip.country\"></fs-country>\n <div><small>{{row.ip.ip}}</small></div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Last signed in\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.activityDate | fsDateAgo }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FsListModule } from '@firestitch/list';\nimport { FsDateModule } from '@firestitch/date';\nimport { FsCountryModule } from '@firestitch/country';\nimport { FsDeviceModule } from '@firestitch/device';\n\nimport { FsTrustedCurrentDeviceComponent } from './components/trusted-current-device/trusted-current-device.component';\nimport { FsTrustedDevicesComponent } from './components/trusted-devices/trusted-devices.component';\n\nimport { FsBadgeModule } from '@firestitch/badge';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FlexLayoutModule,\n\n MatIconModule,\n MatTooltipModule,\n\n FsListModule,\n FsDateModule,\n FsCountryModule,\n FsDeviceModule,\n FsBadgeModule,\n ],\n exports: [\n FsTrustedDevicesComponent,\n FsTrustedCurrentDeviceComponent,\n ],\n declarations: [\n FsTrustedDevicesComponent,\n FsTrustedCurrentDeviceComponent,\n ],\n})\nexport class Fs2FaModule {\n static forRoot(): ModuleWithProviders<Fs2FaModule> {\n return {\n ngModule: Fs2FaModule,\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firestitch/2fa",
3
- "version": "12.0.0",
3
+ "version": "12.0.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/Firestitch/ngx-2fa"
package/public_api.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { Fs2FaModule } from './app/fs-2fa.module';
2
2
  export { FsTrustedDevicesComponent } from './app/components/trusted-devices/trusted-devices.component';
3
- export { FsCurrentDeviceComponent } from './app/components/current-device/current-device.component';
3
+ export { FsTrustedCurrentDeviceComponent } from './app/components/trusted-current-device/trusted-current-device.component';
4
4
  export { ITrustedDevice } from './app/interfaces/trusted-device';
5
5
  export { ITrustedDeviceAccount } from './app/interfaces/trusted-device-account';
6
6
  export { ITrustedDeviceDevice } from './app/interfaces/trusted-device-device';
@@ -1,5 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class FsCurrentDeviceComponent {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<FsCurrentDeviceComponent, never>;
4
- static ɵcmp: i0.ɵɵComponentDeclaration<FsCurrentDeviceComponent, "fs-current-device", never, {}, {}, never, never>;
5
- }
@@ -1,18 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/icon";
4
- import * as i2 from "@angular/material/tooltip";
5
- export class FsCurrentDeviceComponent {
6
- }
7
- FsCurrentDeviceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsCurrentDeviceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- FsCurrentDeviceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsCurrentDeviceComponent, selector: "fs-current-device", ngImport: i0, template: "\n<div class=\"current-device\">\n <mat-icon class=\"circle\">circle</mat-icon>\n <mat-icon \n class=\"check\"\n matTooltip=\"This device\">\n check_circle\n </mat-icon>\n</div>\n", styles: [".current-device{transform:scale(.8);z-index:1;position:relative}.current-device .check,.current-device .circle{position:absolute;color:#027db4;top:0}.current-device .circle{color:#fff}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsCurrentDeviceComponent, decorators: [{
10
- type: Component,
11
- args: [{
12
- selector: 'fs-current-device',
13
- templateUrl: './current-device.component.html',
14
- styleUrls: ['./current-device.component.scss'],
15
- changeDetection: ChangeDetectionStrategy.OnPush,
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC1kZXZpY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2N1cnJlbnQtZGV2aWNlL2N1cnJlbnQtZGV2aWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jdXJyZW50LWRldmljZS9jdXJyZW50LWRldmljZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixHQUN4QixNQUFNLGVBQWUsQ0FBQzs7OztBQVN2QixNQUFNLE9BQU8sd0JBQXdCOztzSEFBeEIsd0JBQXdCOzBHQUF4Qix3QkFBd0IseURDWnJDLHFNQVNBOzRGREdhLHdCQUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBRSxpQ0FBaUMsQ0FBRTtvQkFDaEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtY3VycmVudC1kZXZpY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VycmVudC1kZXZpY2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vY3VycmVudC1kZXZpY2UuY29tcG9uZW50LnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0N1cnJlbnREZXZpY2VDb21wb25lbnQge1xufVxuIiwiXG48ZGl2IGNsYXNzPVwiY3VycmVudC1kZXZpY2VcIj5cbiAgPG1hdC1pY29uIGNsYXNzPVwiY2lyY2xlXCI+Y2lyY2xlPC9tYXQtaWNvbj5cbiAgPG1hdC1pY29uIFxuICAgICAgY2xhc3M9XCJjaGVja1wiXG4gICAgICBtYXRUb29sdGlwPVwiVGhpcyBkZXZpY2VcIj5cbiAgICBjaGVja19jaXJjbGVcbiAgPC9tYXQtaWNvbj5cbjwvZGl2PlxuIl19