@firestitch/2fa 18.0.14 → 18.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/modules/manage/components/email/email.component.d.ts +0 -1
- package/app/modules/manage/components/number/number.component.d.ts +0 -1
- package/app/modules/verification/components/2fa-verification/2fa-verification.component.d.ts +4 -4
- package/app/modules/verification/components/2fa-verification-code/2fa-verification-code.component.d.ts +5 -5
- package/app/modules/verification-setup/views/verify/verify.component.d.ts +0 -1
- package/esm2022/app/modules/manage/components/email/email.component.mjs +3 -6
- package/esm2022/app/modules/manage/components/number/number.component.mjs +3 -6
- package/esm2022/app/modules/verification/components/2fa-verification/2fa-verification.component.mjs +10 -8
- package/esm2022/app/modules/verification/components/2fa-verification-code/2fa-verification-code.component.mjs +11 -11
- package/esm2022/app/modules/verification-setup/views/email/email.component.mjs +3 -3
- package/esm2022/app/modules/verification-setup/views/verify/verify.component.mjs +3 -6
- package/fesm2022/firestitch-2fa.mjs +27 -34
- package/fesm2022/firestitch-2fa.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -38,10 +38,10 @@ export class EmailComponent {
|
|
|
38
38
|
.subscribe();
|
|
39
39
|
}
|
|
40
40
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EmailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EmailComponent, selector: "ng-component", ngImport: i0, template: "<form\n fsForm\n [submit]=\"next\"\n [dirtySubmitButton]=\"false\"\n *fsSkeleton=\"email\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>\n Enable 2-Step Verification\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <p>\n Please enable two factor authentication to protect your account.\n The app will use this email for verifying your account\n </p>\n <fs-label-field>\n <fs-label>\n Email\n </fs-label>\n {{ email }}\n </fs-label-field>\n <div class=\"buttons\">\n <button\n mat-flat-button\n type=\"submit\"\n color=\"primary\">\n Next\n </button>\n <button\n mat-button\n (click)=\"cancel()\"\n type=\"button\">\n Cancel\n </button>\n </div>\n </mat-card-content>\n </mat-card>\n</form>", styles: ["h2{text-align:center}.buttons button+button{margin-top:5px}.buttons button{width:100%;display:block}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i4.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"], exportAs: ["fsForm"] }, { kind: "directive", type: i4.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "directive", type: i5.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { kind: "component", type: i6.FsLabelComponent, selector: "fs-label" }, { kind: "component", type: i6.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
41
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EmailComponent, selector: "ng-component", ngImport: i0, template: "<form\r\n fsForm\r\n [submit]=\"next\"\r\n [dirtySubmitButton]=\"false\"\r\n *fsSkeleton=\"email\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>\r\n Enable 2-Step Verification\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <p>\r\n Please enable two factor authentication to protect your account.\r\n The app will use this email for verifying your account\r\n </p>\r\n <fs-label-field>\r\n <fs-label>\r\n Email\r\n </fs-label>\r\n {{ email }}\r\n </fs-label-field>\r\n <div class=\"buttons\">\r\n <button\r\n mat-flat-button\r\n type=\"submit\"\r\n color=\"primary\">\r\n Next\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"cancel()\"\r\n type=\"button\">\r\n Cancel\r\n </button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n</form>", styles: ["h2{text-align:center}.buttons button+button{margin-top:5px}.buttons button{width:100%;display:block}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i4.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"], exportAs: ["fsForm"] }, { kind: "directive", type: i4.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "directive", type: i5.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { kind: "component", type: i6.FsLabelComponent, selector: "fs-label" }, { kind: "component", type: i6.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
42
42
|
}
|
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EmailComponent, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n fsForm\n [submit]=\"next\"\n [dirtySubmitButton]=\"false\"\n *fsSkeleton=\"email\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>\n Enable 2-Step Verification\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <p>\n Please enable two factor authentication to protect your account.\n The app will use this email for verifying your account\n </p>\n <fs-label-field>\n <fs-label>\n Email\n </fs-label>\n {{ email }}\n </fs-label-field>\n <div class=\"buttons\">\n <button\n mat-flat-button\n type=\"submit\"\n color=\"primary\">\n Next\n </button>\n <button\n mat-button\n (click)=\"cancel()\"\n type=\"button\">\n Cancel\n </button>\n </div>\n </mat-card-content>\n </mat-card>\n</form>", styles: ["h2{text-align:center}.buttons button+button{margin-top:5px}.buttons button{width:100%;display:block}\n"] }]
|
|
45
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\r\n fsForm\r\n [submit]=\"next\"\r\n [dirtySubmitButton]=\"false\"\r\n *fsSkeleton=\"email\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>\r\n Enable 2-Step Verification\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <p>\r\n Please enable two factor authentication to protect your account.\r\n The app will use this email for verifying your account\r\n </p>\r\n <fs-label-field>\r\n <fs-label>\r\n Email\r\n </fs-label>\r\n {{ email }}\r\n </fs-label-field>\r\n <div class=\"buttons\">\r\n <button\r\n mat-flat-button\r\n type=\"submit\"\r\n color=\"primary\">\r\n Next\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"cancel()\"\r\n type=\"button\">\r\n Cancel\r\n </button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n</form>", styles: ["h2{text-align:center}.buttons button+button{margin-top:5px}.buttons button{width:100%;display:block}\n"] }]
|
|
46
46
|
}] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3ZlcmlmaWNhdGlvbi1zZXR1cC92aWV3cy9lbWFpbC9lbWFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvdmVyaWZpY2F0aW9uLXNldHVwL3ZpZXdzL2VtYWlsL2VtYWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxHQUM5RCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVExRCxNQUFNLE9BQU8sY0FBYztJQUVsQixLQUFLLEdBQUcsSUFBSSxDQUFDO0lBRVosSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25DLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRTlELFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDO2FBQzdDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLElBQUksR0FBRyxHQUFHLEVBQUU7UUFDakIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUM7UUFFbEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87YUFDckIsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEIsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ3ZCLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRTtTQUMxQixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUMsQ0FBQztJQUVLLE1BQU07UUFDWCxJQUFJLENBQUMseUJBQXlCO2FBQzNCLE9BQU8sRUFBRTthQUNULFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7dUdBaENVLGNBQWM7MkZBQWQsY0FBYyxvRENqQjNCLDAvQkFzQ087OzJGRHJCTSxjQUFjO2tCQUwxQixTQUFTO3NDQUdTLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEZzQXBpIH0gZnJvbSAnQGZpcmVzdGl0Y2gvYXBpJztcblxuaW1wb3J0IHsgZnJvbSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBWZXJpZmljYXRpb25TZXR1cFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9lbWFpbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VtYWlsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBFbWFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGVtYWlsID0gbnVsbDtcblxuICBwcml2YXRlIF9hcGkgPSBpbmplY3QoRnNBcGkpO1xuICBwcml2YXRlIF9yb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSBfcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcml2YXRlIF9jZFJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgX3ZlcmlmaWNhdGlvblNldHVwU2VydmljZSA9IGluamVjdChWZXJpZmljYXRpb25TZXR1cFNlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9hcGkuZ2V0KCdhY2NvdW50Jywge30sIHsga2V5OiAnYWNjb3VudCcgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHsgZW1haWwgfSkgPT4ge1xuICAgICAgICB0aGlzLmVtYWlsID0gZW1haWw7XG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmV4dCA9ICgpID0+IHtcbiAgICBjb25zdCByZWRpcmVjdCA9IHRoaXMuX3JvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnJlZGlyZWN0IHx8ICcvJztcblxuICAgIHJldHVybiBmcm9tKHRoaXMuX3JvdXRlclxuICAgICAgLm5hdmlnYXRlKFsndmVyaWZ5J10sIHtcbiAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5fcm91dGUsIFxuICAgICAgICBxdWVyeVBhcmFtczogeyByZWRpcmVjdCB9LCBcbiAgICAgIH0pKTtcbiAgfTtcblxuICBwdWJsaWMgY2FuY2VsKCkge1xuICAgIHRoaXMuX3ZlcmlmaWNhdGlvblNldHVwU2VydmljZVxuICAgICAgLnNpZ25vdXQoKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbn1cbiIsIjxmb3JtXHJcbiAgICBmc0Zvcm1cclxuICAgIFtzdWJtaXRdPVwibmV4dFwiXHJcbiAgICBbZGlydHlTdWJtaXRCdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgKmZzU2tlbGV0b249XCJlbWFpbFwiPlxyXG4gIDxtYXQtY2FyZD5cclxuICAgIDxtYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxtYXQtY2FyZC10aXRsZT5cclxuICAgICAgICBFbmFibGUgMi1TdGVwIFZlcmlmaWNhdGlvblxyXG4gICAgICA8L21hdC1jYXJkLXRpdGxlPlxyXG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPHA+XHJcbiAgICAgICAgUGxlYXNlIGVuYWJsZSB0d28gZmFjdG9yIGF1dGhlbnRpY2F0aW9uIHRvIHByb3RlY3QgeW91ciBhY2NvdW50LlxyXG4gICAgICAgIFRoZSBhcHAgd2lsbCB1c2UgdGhpcyBlbWFpbCBmb3IgdmVyaWZ5aW5nIHlvdXIgYWNjb3VudFxyXG4gICAgICA8L3A+XHJcbiAgICAgIDxmcy1sYWJlbC1maWVsZD5cclxuICAgICAgICA8ZnMtbGFiZWw+XHJcbiAgICAgICAgICBFbWFpbFxyXG4gICAgICAgIDwvZnMtbGFiZWw+XHJcbiAgICAgICAge3sgZW1haWwgfX1cclxuICAgICAgPC9mcy1sYWJlbC1maWVsZD5cclxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcclxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICBOZXh0XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIj5cclxuICAgICAgICAgIENhbmNlbFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICA8L21hdC1jYXJkPlxyXG48L2Zvcm0+Il19
|
|
@@ -33,9 +33,6 @@ export class VerifyComponent {
|
|
|
33
33
|
}))
|
|
34
34
|
.subscribe();
|
|
35
35
|
}
|
|
36
|
-
codeChanged(code) {
|
|
37
|
-
this.code = code;
|
|
38
|
-
}
|
|
39
36
|
verify = () => {
|
|
40
37
|
return this._verificationMethodData
|
|
41
38
|
.verify(this.code, this.verification.trustDevice)
|
|
@@ -55,13 +52,13 @@ export class VerifyComponent {
|
|
|
55
52
|
.subscribe();
|
|
56
53
|
}
|
|
57
54
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VerifyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: VerifyComponent, selector: "ng-component", viewQueries: [{ propertyName: "verification", first: true, predicate: Fs2faVerificationComponent, descendants: true }], ngImport: i0, template: "<form\n fsForm\n [submit]=\"verify\"\n [dirtySubmitButton]=\"false\"\n *fsSkeleton=\"verificationMethod\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>\n Enable 2-Step Verification\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <fs-2fa-verification\n #verification\n [verificationMethod]=\"verificationMethod\"\n [showTrustedDevice]=\"true\"\n (
|
|
55
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: VerifyComponent, selector: "ng-component", viewQueries: [{ propertyName: "verification", first: true, predicate: Fs2faVerificationComponent, descendants: true }], ngImport: i0, template: "<form\n fsForm\n [submit]=\"verify\"\n [dirtySubmitButton]=\"false\"\n *fsSkeleton=\"verificationMethod\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>\n Enable 2-Step Verification\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <fs-2fa-verification\n #verification\n [verificationMethod]=\"verificationMethod\"\n [showTrustedDevice]=\"true\"\n [(code)]=\"code\"\n [resend]=\"resend\">\n </fs-2fa-verification>\n <div class=\"buttons\">\n <button\n mat-flat-button\n type=\"submit\"\n color=\"primary\">\n Verify\n </button>\n <button\n mat-button\n [fs2faVerificationResend]=\"verification\"\n type=\"button\">\n Resend\n </button>\n <button\n mat-button\n (click)=\"cancel()\"\n type=\"button\">\n Cancel\n </button>\n </div>\n </mat-card-content>\n </mat-card>\n</form>", styles: ["h2{text-align:center}.buttons button+button{margin-top:5px}.buttons button{width:100%;display:block}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i4.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"], exportAs: ["fsForm"] }, { kind: "directive", type: i4.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "directive", type: i5.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { kind: "component", type: i6.Fs2faVerificationComponent, selector: "fs-2fa-verification", inputs: ["verificationMethod", "resend", "showTrustedDevice", "trustDevice", "codeLength", "trustDays", "code", "formatRecipient", "getVerificationMethods", "selectVerificationMethod"], outputs: ["verified", "codeChange", "codeCompleted", "trustDeviceChange"] }, { kind: "directive", type: i7.Fs2faVerificationResendDirective, selector: "[fs2faVerificationResend]", inputs: ["fs2faVerificationResend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
59
56
|
}
|
|
60
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VerifyComponent, decorators: [{
|
|
61
58
|
type: Component,
|
|
62
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n fsForm\n [submit]=\"verify\"\n [dirtySubmitButton]=\"false\"\n *fsSkeleton=\"verificationMethod\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>\n Enable 2-Step Verification\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <fs-2fa-verification\n #verification\n [verificationMethod]=\"verificationMethod\"\n [showTrustedDevice]=\"true\"\n (
|
|
59
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n fsForm\n [submit]=\"verify\"\n [dirtySubmitButton]=\"false\"\n *fsSkeleton=\"verificationMethod\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>\n Enable 2-Step Verification\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <fs-2fa-verification\n #verification\n [verificationMethod]=\"verificationMethod\"\n [showTrustedDevice]=\"true\"\n [(code)]=\"code\"\n [resend]=\"resend\">\n </fs-2fa-verification>\n <div class=\"buttons\">\n <button\n mat-flat-button\n type=\"submit\"\n color=\"primary\">\n Verify\n </button>\n <button\n mat-button\n [fs2faVerificationResend]=\"verification\"\n type=\"button\">\n Resend\n </button>\n <button\n mat-button\n (click)=\"cancel()\"\n type=\"button\">\n Cancel\n </button>\n </div>\n </mat-card-content>\n </mat-card>\n</form>", styles: ["h2{text-align:center}.buttons button+button{margin-top:5px}.buttons button{width:100%;display:block}\n"] }]
|
|
63
60
|
}], propDecorators: { verification: [{
|
|
64
61
|
type: ViewChild,
|
|
65
62
|
args: [Fs2faVerificationComponent]
|
|
66
63
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy92ZXJpZmljYXRpb24tc2V0dXAvdmlld3MvdmVyaWZ5L3ZlcmlmeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvdmVyaWZpY2F0aW9uLXNldHVwL3ZpZXdzL3ZlcmlmeS92ZXJpZnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2hELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVExRCxNQUFNLE9BQU8sZUFBZTtJQUduQixZQUFZLENBQTZCO0lBRXpDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDWixrQkFBa0IsQ0FBd0I7SUFFekMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQixPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3Qix1QkFBdUIsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6RCxNQUFNLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbkMseUJBQXlCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFOUQsUUFBUTtRQUNiLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUU7YUFDbkMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1lBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU0sTUFBTSxHQUFHLEdBQW9CLEVBQUU7UUFDcEMsT0FBTyxJQUFJLENBQUMsdUJBQXVCO2FBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO2FBQ2hELElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUM7WUFDbEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsNENBQTRDLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDLENBQUM7SUFFSyxNQUFNLEdBQUcsR0FBcUIsRUFBRTtRQUNyQyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMvQyxDQUFDLENBQUM7SUFFSyxNQUFNO1FBQ1gsSUFBSSxDQUFDLHlCQUF5QjthQUMzQixPQUFPLEVBQUU7YUFDVCxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO3VHQWhEVSxlQUFlOzJGQUFmLGVBQWUsa0dBRWYsMEJBQTBCLGdEQzlCdkMsdWlDQXlDTzs7MkZEYk0sZUFBZTtrQkFMM0IsU0FBUztzQ0FHUyx1QkFBdUIsQ0FBQyxNQUFNOzhCQUt4QyxZQUFZO3NCQURsQixTQUFTO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBpbmplY3QsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5cbmltcG9ydCB7IEZzQ29va2llIH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29va2llJztcbmltcG9ydCB7IEZzTWVzc2FnZSB9IGZyb20gJ0BmaXJlc3RpdGNoL21lc3NhZ2UnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElGc1ZlcmlmaWNhdGlvbk1ldGhvZCB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRnMyZmFWZXJpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi92ZXJpZmljYXRpb24vY29tcG9uZW50cy8yZmEtdmVyaWZpY2F0aW9uJztcbmltcG9ydCB7IFZlcmlmaWNhdGlvbk1ldGhvZERhdGEgfSBmcm9tICcuLi8uLi9kYXRhJztcbmltcG9ydCB7IFZlcmlmaWNhdGlvblNldHVwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3ZlcmlmeS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZlcmlmeS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVmVyaWZ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKEZzMmZhVmVyaWZpY2F0aW9uQ29tcG9uZW50KVxuICBwdWJsaWMgdmVyaWZpY2F0aW9uOiBGczJmYVZlcmlmaWNhdGlvbkNvbXBvbmVudDtcblxuICBwdWJsaWMgY29kZSA9IG51bGw7XG4gIHB1YmxpYyB2ZXJpZmljYXRpb25NZXRob2Q6IElGc1ZlcmlmaWNhdGlvbk1ldGhvZDtcblxuICBwcml2YXRlIF9jb29raWUgPSBpbmplY3QoRnNDb29raWUpO1xuICBwcml2YXRlIF9yb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSBfcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcml2YXRlIF9tZXNzYWdlID0gaW5qZWN0KEZzTWVzc2FnZSk7XG4gIHByaXZhdGUgX3ZlcmlmaWNhdGlvbk1ldGhvZERhdGEgPSBpbmplY3QoVmVyaWZpY2F0aW9uTWV0aG9kRGF0YSk7XG4gIHByaXZhdGUgX2NkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBfdmVyaWZpY2F0aW9uU2V0dXBTZXJ2aWNlID0gaW5qZWN0KFZlcmlmaWNhdGlvblNldHVwU2VydmljZSk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3ZlcmlmaWNhdGlvbk1ldGhvZERhdGEuYWNjb3VudCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh2ZXJpZmljYXRpb25NZXRob2QpID0+IHtcbiAgICAgICAgICB0aGlzLnZlcmlmaWNhdGlvbk1ldGhvZCA9IHZlcmlmaWNhdGlvbk1ldGhvZDtcbiAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgdmVyaWZ5ID0gKCk6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZlcmlmaWNhdGlvbk1ldGhvZERhdGFcbiAgICAgIC52ZXJpZnkodGhpcy5jb2RlLCB0aGlzLnZlcmlmaWNhdGlvbi50cnVzdERldmljZSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlZGlyZWN0ID0gdGhpcy5fcm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMucmVkaXJlY3QgfHwgJy8nO1xuICAgICAgICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnVHdvIGZhY3RvciB2ZXJpZmljYXRpb24gc3VjY2Vzc2Z1bGx5IHNldHVwJyk7XG4gICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwocmVkaXJlY3QpO1xuICAgICAgICAgIHRoaXMuX2Nvb2tpZS5kZWxldGUoJ1Rva2VuLUZvcmNlMmZhJyk7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfTtcblxuICBwdWJsaWMgcmVzZW5kID0gKCk6IE9ic2VydmFibGU8dm9pZD4gPT4ge1xuICAgIHJldHVybiB0aGlzLl92ZXJpZmljYXRpb25NZXRob2REYXRhLnJlc2VuZCgpO1xuICB9O1xuXG4gIHB1YmxpYyBjYW5jZWwoKSB7XG4gICAgdGhpcy5fdmVyaWZpY2F0aW9uU2V0dXBTZXJ2aWNlXG4gICAgICAuc2lnbm91dCgpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxufVxuIiwiPGZvcm1cbiAgICBmc0Zvcm1cbiAgICBbc3VibWl0XT1cInZlcmlmeVwiXG4gICAgW2RpcnR5U3VibWl0QnV0dG9uXT1cImZhbHNlXCJcbiAgICAqZnNTa2VsZXRvbj1cInZlcmlmaWNhdGlvbk1ldGhvZFwiPlxuICA8bWF0LWNhcmQ+XG4gICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgIDxtYXQtY2FyZC10aXRsZT5cbiAgICAgICAgRW5hYmxlIDItU3RlcCBWZXJpZmljYXRpb25cbiAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICA8ZnMtMmZhLXZlcmlmaWNhdGlvblxuICAgICAgICAjdmVyaWZpY2F0aW9uXG4gICAgICAgIFt2ZXJpZmljYXRpb25NZXRob2RdPVwidmVyaWZpY2F0aW9uTWV0aG9kXCJcbiAgICAgICAgW3Nob3dUcnVzdGVkRGV2aWNlXT1cInRydWVcIlxuICAgICAgICBbKGNvZGUpXT1cImNvZGVcIlxuICAgICAgICBbcmVzZW5kXT1cInJlc2VuZFwiPlxuICAgICAgPC9mcy0yZmEtdmVyaWZpY2F0aW9uPlxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgIFZlcmlmeVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgW2ZzMmZhVmVyaWZpY2F0aW9uUmVzZW5kXT1cInZlcmlmaWNhdGlvblwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgUmVzZW5kXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsKClcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgIENhbmNlbFxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgPC9tYXQtY2FyZD5cbjwvZm9ybT4iXX0=
|
|
@@ -182,25 +182,25 @@ class Fs2faVerificationCodeComponent {
|
|
|
182
182
|
recipient;
|
|
183
183
|
codeLength;
|
|
184
184
|
code;
|
|
185
|
-
|
|
186
|
-
|
|
185
|
+
codeChange = new EventEmitter();
|
|
186
|
+
codeComplete = new EventEmitter();
|
|
187
187
|
VerificationMethodType = VerificationMethodType;
|
|
188
188
|
constructor(_form) {
|
|
189
189
|
this._form = _form;
|
|
190
190
|
}
|
|
191
|
-
|
|
192
|
-
this.
|
|
191
|
+
codeCompleted(code) {
|
|
192
|
+
this.codeComplete.emit(code);
|
|
193
193
|
}
|
|
194
|
-
|
|
194
|
+
codeChanged(code) {
|
|
195
195
|
this.code = code;
|
|
196
|
-
this.
|
|
196
|
+
this.codeChange.emit(this.code);
|
|
197
197
|
this._form.dirty();
|
|
198
198
|
}
|
|
199
199
|
focus() {
|
|
200
200
|
this.codeInputComponent.focus();
|
|
201
201
|
}
|
|
202
202
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: Fs2faVerificationCodeComponent, deps: [{ token: i10.FsFormDirective }], target: i0.ɵɵFactoryTarget.Component });
|
|
203
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: Fs2faVerificationCodeComponent, selector: "fs-2fa-verification-code", inputs: { type: "type", recipient: "recipient", codeLength: "codeLength", code: "code" }, outputs: {
|
|
203
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: Fs2faVerificationCodeComponent, selector: "fs-2fa-verification-code", inputs: { type: "type", recipient: "recipient", codeLength: "codeLength", code: "code" }, outputs: { codeChange: "codeChange", codeComplete: "codeComplete" }, viewQueries: [{ propertyName: "codeInputComponent", first: true, predicate: CodeInputComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"type === VerificationMethodType.Sms\">\n <p class=\"description\">\n A text message with a verification code was just sent to\n <span style=\"white-space: nowrap;\">\n {{ recipient }}\n </span>\n to verify it's you.\n </p>\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"type === VerificationMethodType.Email\">\n <p class=\"description\">\n An email with a verification code was just sent to {{ recipient }} to verify it's you.\n </p>\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"type === VerificationMethodType.App\">\n <p class=\"description\">\n Enter the verification code generated by your 2 factor authenticator app to verify it's you.\n </p>\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n</ng-container>\n<ng-template #input>\n <app-code-input\n [code]=\"code\"\n [codeLength]=\"codeLength\"\n (codeChanged)=\"codeChanged($event)\"\n (codeCompleted)=\"codeCompleted($event)\">\n </app-code-input>\n</ng-template>", styles: ["mat-form-field{width:100%}mat-form-field ::ng-deep .mat-form-field-subscript-wrapper{min-height:unset!important}mat-form-field ::ng-deep .mat-form-field-subscript-wrapper .fs-form-error{padding-bottom:5px}.description{text-align:center}app-code-input{margin:20px auto 0;display:block}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CodeInputComponent, selector: "app-code-input", inputs: ["codeLength", "code"], outputs: ["codeCompleted", "codeChanged"] }], viewProviders: [
|
|
204
204
|
{
|
|
205
205
|
provide: ControlContainer,
|
|
206
206
|
useExisting: NgForm,
|
|
@@ -214,7 +214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
214
214
|
provide: ControlContainer,
|
|
215
215
|
useExisting: NgForm,
|
|
216
216
|
},
|
|
217
|
-
], template: "<ng-container *ngIf=\"type === VerificationMethodType.Sms\">\n <p class=\"description\">\n A text message with a verification code was just sent to\n <span style=\"white-space: nowrap;\">\n {{ recipient }}\n </span>\n to verify it's you.\n </p>\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"type === VerificationMethodType.Email\">\n <p class=\"description\">\n An email with a verification code was just sent to {{ recipient }} to verify it's you.\n </p>\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"type === VerificationMethodType.App\">\n <p class=\"description\">\n Enter the verification code generated by your 2 factor authenticator app to verify it's you.\n </p>\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n</ng-container>\n<ng-template #input>\n <app-code-input\n [code]=\"code\"\n [codeLength]=\"codeLength\"\n (codeChanged)=\"
|
|
217
|
+
], template: "<ng-container *ngIf=\"type === VerificationMethodType.Sms\">\n <p class=\"description\">\n A text message with a verification code was just sent to\n <span style=\"white-space: nowrap;\">\n {{ recipient }}\n </span>\n to verify it's you.\n </p>\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"type === VerificationMethodType.Email\">\n <p class=\"description\">\n An email with a verification code was just sent to {{ recipient }} to verify it's you.\n </p>\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"type === VerificationMethodType.App\">\n <p class=\"description\">\n Enter the verification code generated by your 2 factor authenticator app to verify it's you.\n </p>\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n</ng-container>\n<ng-template #input>\n <app-code-input\n [code]=\"code\"\n [codeLength]=\"codeLength\"\n (codeChanged)=\"codeChanged($event)\"\n (codeCompleted)=\"codeCompleted($event)\">\n </app-code-input>\n</ng-template>", styles: ["mat-form-field{width:100%}mat-form-field ::ng-deep .mat-form-field-subscript-wrapper{min-height:unset!important}mat-form-field ::ng-deep .mat-form-field-subscript-wrapper .fs-form-error{padding-bottom:5px}.description{text-align:center}app-code-input{margin:20px auto 0;display:block}\n"] }]
|
|
218
218
|
}], ctorParameters: () => [{ type: i10.FsFormDirective }], propDecorators: { codeInputComponent: [{
|
|
219
219
|
type: ViewChild,
|
|
220
220
|
args: [CodeInputComponent]
|
|
@@ -226,9 +226,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
226
226
|
type: Input
|
|
227
227
|
}], code: [{
|
|
228
228
|
type: Input
|
|
229
|
-
}],
|
|
229
|
+
}], codeChange: [{
|
|
230
230
|
type: Output
|
|
231
|
-
}],
|
|
231
|
+
}], codeComplete: [{
|
|
232
232
|
type: Output
|
|
233
233
|
}] } });
|
|
234
234
|
|
|
@@ -292,14 +292,14 @@ class Fs2faVerificationComponent {
|
|
|
292
292
|
trustDevice = true;
|
|
293
293
|
codeLength;
|
|
294
294
|
trustDays;
|
|
295
|
+
code;
|
|
295
296
|
formatRecipient = false;
|
|
296
297
|
getVerificationMethods;
|
|
297
298
|
selectVerificationMethod;
|
|
298
299
|
verified = new EventEmitter();
|
|
299
|
-
|
|
300
|
+
codeChange = new EventEmitter();
|
|
300
301
|
codeCompleted = new EventEmitter();
|
|
301
302
|
trustDeviceChange = new EventEmitter();
|
|
302
|
-
code = '';
|
|
303
303
|
VerificationMethodType = VerificationMethodType;
|
|
304
304
|
_destroy$ = new Subject();
|
|
305
305
|
constructor(_cdRef, _dialog, _message) {
|
|
@@ -315,9 +315,9 @@ class Fs2faVerificationComponent {
|
|
|
315
315
|
return this.verificationMethod.phoneNumber;
|
|
316
316
|
}
|
|
317
317
|
}
|
|
318
|
-
|
|
318
|
+
codeChanged(code) {
|
|
319
319
|
this.code = code;
|
|
320
|
-
this.
|
|
320
|
+
this.codeChange.emit(this.code);
|
|
321
321
|
}
|
|
322
322
|
codeComplete(code) {
|
|
323
323
|
this.code = code;
|
|
@@ -362,11 +362,11 @@ class Fs2faVerificationComponent {
|
|
|
362
362
|
});
|
|
363
363
|
}
|
|
364
364
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: Fs2faVerificationComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i9.FsDialog }, { token: i2$1.FsMessage }], target: i0.ɵɵFactoryTarget.Component });
|
|
365
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: Fs2faVerificationComponent, selector: "fs-2fa-verification", inputs: { verificationMethod: "verificationMethod", resend: "resend", showTrustedDevice: "showTrustedDevice", trustDevice: "trustDevice", codeLength: "codeLength", trustDays: "trustDays", formatRecipient: "formatRecipient", getVerificationMethods: "getVerificationMethods", selectVerificationMethod: "selectVerificationMethod" }, outputs: { verified: "verified",
|
|
365
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: Fs2faVerificationComponent, selector: "fs-2fa-verification", inputs: { verificationMethod: "verificationMethod", resend: "resend", showTrustedDevice: "showTrustedDevice", trustDevice: "trustDevice", codeLength: "codeLength", trustDays: "trustDays", code: "code", formatRecipient: "formatRecipient", getVerificationMethods: "getVerificationMethods", selectVerificationMethod: "selectVerificationMethod" }, outputs: { verified: "verified", codeChange: "codeChange", codeCompleted: "codeCompleted", trustDeviceChange: "trustDeviceChange" }, viewQueries: [{ propertyName: "verificationCodeComponent", first: true, predicate: Fs2faVerificationCodeComponent, descendants: true }], ngImport: i0, template: "<div class=\"code-container\">\n <fs-2fa-verification-code\n [recipient]=\"(formatRecipient && verificationMethod.type === VerificationMethodType.Sms) ? (recipient | fsPhone) : recipient\"\n [type]=\"verificationMethod.type\"\n [code]=\"code\"\n [codeLength]=\"codeLength\"\n (codeChange)=\"codeChanged($event)\"\n (codeComplete)=\"codeComplete($event)\">\n </fs-2fa-verification-code>\n</div>\n<div class=\"additional\">\n <div\n class=\"trust-device\"\n *ngIf=\"showTrustedDevice\">\n <mat-checkbox\n name=\"trust-device\"\n [(ngModel)]=\"trustDevice\"\n (ngModelChange)=\"trustDeviceChange.emit($event)\">\n <div class=\"small\">\n Bypass 2-step verification\n <ng-container *ngIf=\"trustDays\">\n for {{ trustDays }} days\n </ng-container>\n <ng-container *ngIf=\"!trustDays\">\n for future signins\n </ng-container>\n </div>\n </mat-checkbox>\n </div>\n</div>", styles: [":host ::ng-deep .mat-checkbox{margin:2px 0}:host ::ng-deep .mat-checkbox .mat-checkbox-label{line-height:normal}:host ::ng-deep .mat-checkbox .mat-checkbox-layout{white-space:normal}.code-container{display:block}.additional{display:flex;justify-content:space-between;align-items:center;margin:4px 0 10px}.additional small{color:inherit}.additional .resend{cursor:pointer;text-transform:none}.additional .resend mat-spinner{display:inline-block;vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i10.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "component", type: Fs2faVerificationCodeComponent, selector: "fs-2fa-verification-code", inputs: ["type", "recipient", "codeLength", "code"], outputs: ["codeChange", "codeComplete"] }, { kind: "pipe", type: i8$2.FsPhonePipe, name: "fsPhone" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
366
366
|
}
|
|
367
367
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: Fs2faVerificationComponent, decorators: [{
|
|
368
368
|
type: Component,
|
|
369
|
-
args: [{ selector: 'fs-2fa-verification', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class=\"code-container\">\n <fs-2fa-verification-code\n [recipient]=\"(formatRecipient && verificationMethod.type === VerificationMethodType.Sms) ? (recipient | fsPhone) : recipient\"\n [type]=\"verificationMethod.type\"\n [code]=\"code\"\n [codeLength]=\"codeLength\"\n (
|
|
369
|
+
args: [{ selector: 'fs-2fa-verification', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class=\"code-container\">\n <fs-2fa-verification-code\n [recipient]=\"(formatRecipient && verificationMethod.type === VerificationMethodType.Sms) ? (recipient | fsPhone) : recipient\"\n [type]=\"verificationMethod.type\"\n [code]=\"code\"\n [codeLength]=\"codeLength\"\n (codeChange)=\"codeChanged($event)\"\n (codeComplete)=\"codeComplete($event)\">\n </fs-2fa-verification-code>\n</div>\n<div class=\"additional\">\n <div\n class=\"trust-device\"\n *ngIf=\"showTrustedDevice\">\n <mat-checkbox\n name=\"trust-device\"\n [(ngModel)]=\"trustDevice\"\n (ngModelChange)=\"trustDeviceChange.emit($event)\">\n <div class=\"small\">\n Bypass 2-step verification\n <ng-container *ngIf=\"trustDays\">\n for {{ trustDays }} days\n </ng-container>\n <ng-container *ngIf=\"!trustDays\">\n for future signins\n </ng-container>\n </div>\n </mat-checkbox>\n </div>\n</div>", styles: [":host ::ng-deep .mat-checkbox{margin:2px 0}:host ::ng-deep .mat-checkbox .mat-checkbox-label{line-height:normal}:host ::ng-deep .mat-checkbox .mat-checkbox-layout{white-space:normal}.code-container{display:block}.additional{display:flex;justify-content:space-between;align-items:center;margin:4px 0 10px}.additional small{color:inherit}.additional .resend{cursor:pointer;text-transform:none}.additional .resend mat-spinner{display:inline-block;vertical-align:middle}\n"] }]
|
|
370
370
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i9.FsDialog }, { type: i2$1.FsMessage }], propDecorators: { verificationCodeComponent: [{
|
|
371
371
|
type: ViewChild,
|
|
372
372
|
args: [Fs2faVerificationCodeComponent]
|
|
@@ -382,6 +382,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
382
382
|
type: Input
|
|
383
383
|
}], trustDays: [{
|
|
384
384
|
type: Input
|
|
385
|
+
}], code: [{
|
|
386
|
+
type: Input
|
|
385
387
|
}], formatRecipient: [{
|
|
386
388
|
type: Input
|
|
387
389
|
}], getVerificationMethods: [{
|
|
@@ -390,7 +392,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
390
392
|
type: Input
|
|
391
393
|
}], verified: [{
|
|
392
394
|
type: Output
|
|
393
|
-
}],
|
|
395
|
+
}], codeChange: [{
|
|
394
396
|
type: Output
|
|
395
397
|
}], codeCompleted: [{
|
|
396
398
|
type: Output
|
|
@@ -454,15 +456,12 @@ let EmailComponent$1 = class EmailComponent {
|
|
|
454
456
|
}
|
|
455
457
|
});
|
|
456
458
|
}
|
|
457
|
-
codeChanged(code) {
|
|
458
|
-
this.code = code;
|
|
459
|
-
}
|
|
460
459
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EmailComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i0.ChangeDetectorRef }, { token: i2$1.FsMessage }], target: i0.ɵɵFactoryTarget.Component });
|
|
461
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EmailComponent, selector: "ng-component", viewQueries: [{ propertyName: "form", first: true, predicate: FsFormDirective, descendants: true }], ngImport: i0, template: "<form
|
|
460
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EmailComponent, selector: "ng-component", viewQueries: [{ propertyName: "form", first: true, predicate: FsFormDirective, descendants: true }], ngImport: i0, template: "<form\n fsForm\n [submit]=\"submit\">\n <fs-dialog>\n <h1 mat-dialog-title>\n Email Setup\n </h1>\n <mat-dialog-content>\n <ng-container *ngIf=\"verificationMethod; else notVerificationMethod\">\n <fs-2fa-verification\n [verificationMethod]=\"verificationMethod\"\n [(code)]=\"code\"\n (codeCompleted)=\"codeCompleted($event)\"\n [resend]=\"resend\"\n [(trustDevice)]=\"trustDevice\">\n </fs-2fa-verification>\n </ng-container>\n <ng-template #notVerificationMethod>\n <p>\n The app will only use this email for verifying your account security.\n </p>\n <mat-form-field>\n <mat-label>\n Email\n </mat-label>\n <input\n matInput\n [required]=\"true\"\n [(ngModel)]=\"email\"\n [fsFormEmail]=\"true\"\n name=\"email\">\n </mat-form-field>\n <mat-checkbox\n name=\"default\"\n [(ngModel)]=\"default\"\n [disableRipple]=\"true\">\n Make this the default verification method\n </mat-checkbox>\n </ng-template>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n color=\"primary\"\n type=\"submit\">\n Next\n </button>\n <button\n mat-button\n type=\"button\"\n [mat-dialog-close]=\"undefined\">\n Cancel\n </button>\n </mat-dialog-actions>\n </fs-dialog>\n</form>", styles: [":host ::ng-deep mat-checkbox .mat-ripple{display:none}:host ::ng-deep mat-checkbox .mat-checkbox-layout{white-space:wrap}mat-form-field{width:100%}mat-dialog-content{width:400px;max-width:100%}p{margin-top:0}app-code-input{margin-bottom:5px;display:block}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i6$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i9.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout", "dock", "dockable", "fullscreenPercent"] }, { kind: "directive", type: i10.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"], exportAs: ["fsForm"] }, { kind: "directive", type: i10.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { kind: "directive", type: i10.FsFormEmailDirective, selector: "[fsFormEmail]", inputs: ["fsFormEmail", "fsFormEmailMessage"] }, { kind: "directive", type: i10.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "directive", type: i10.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "component", type: Fs2faVerificationComponent, selector: "fs-2fa-verification", inputs: ["verificationMethod", "resend", "showTrustedDevice", "trustDevice", "codeLength", "trustDays", "code", "formatRecipient", "getVerificationMethods", "selectVerificationMethod"], outputs: ["verified", "codeChange", "codeCompleted", "trustDeviceChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
462
461
|
};
|
|
463
462
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EmailComponent$1, decorators: [{
|
|
464
463
|
type: Component,
|
|
465
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form
|
|
464
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n fsForm\n [submit]=\"submit\">\n <fs-dialog>\n <h1 mat-dialog-title>\n Email Setup\n </h1>\n <mat-dialog-content>\n <ng-container *ngIf=\"verificationMethod; else notVerificationMethod\">\n <fs-2fa-verification\n [verificationMethod]=\"verificationMethod\"\n [(code)]=\"code\"\n (codeCompleted)=\"codeCompleted($event)\"\n [resend]=\"resend\"\n [(trustDevice)]=\"trustDevice\">\n </fs-2fa-verification>\n </ng-container>\n <ng-template #notVerificationMethod>\n <p>\n The app will only use this email for verifying your account security.\n </p>\n <mat-form-field>\n <mat-label>\n Email\n </mat-label>\n <input\n matInput\n [required]=\"true\"\n [(ngModel)]=\"email\"\n [fsFormEmail]=\"true\"\n name=\"email\">\n </mat-form-field>\n <mat-checkbox\n name=\"default\"\n [(ngModel)]=\"default\"\n [disableRipple]=\"true\">\n Make this the default verification method\n </mat-checkbox>\n </ng-template>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n color=\"primary\"\n type=\"submit\">\n Next\n </button>\n <button\n mat-button\n type=\"button\"\n [mat-dialog-close]=\"undefined\">\n Cancel\n </button>\n </mat-dialog-actions>\n </fs-dialog>\n</form>", styles: [":host ::ng-deep mat-checkbox .mat-ripple{display:none}:host ::ng-deep mat-checkbox .mat-checkbox-layout{white-space:wrap}mat-form-field{width:100%}mat-dialog-content{width:400px;max-width:100%}p{margin-top:0}app-code-input{margin-bottom:5px;display:block}\n"] }]
|
|
466
465
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
467
466
|
type: Inject,
|
|
468
467
|
args: [MAT_DIALOG_DATA]
|
|
@@ -531,15 +530,12 @@ class NumberComponent {
|
|
|
531
530
|
}
|
|
532
531
|
});
|
|
533
532
|
}
|
|
534
|
-
codeChanged(code) {
|
|
535
|
-
this.code = code;
|
|
536
|
-
}
|
|
537
533
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NumberComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i0.ChangeDetectorRef }, { token: i2$1.FsMessage }], target: i0.ɵɵFactoryTarget.Component });
|
|
538
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: NumberComponent, selector: "ng-component", viewQueries: [{ propertyName: "form", first: true, predicate: FsFormDirective, descendants: true }], ngImport: i0, template: "<form
|
|
534
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: NumberComponent, selector: "ng-component", viewQueries: [{ propertyName: "form", first: true, predicate: FsFormDirective, descendants: true }], ngImport: i0, template: "<form\n fsForm\n [submit]=\"submit\"\n [autocomplete]=\"false\">\n <fs-dialog>\n <h1 mat-dialog-title>\n Text Message Setup\n </h1>\n <mat-dialog-content>\n <ng-container *ngIf=\"verificationMethod; else notVerificationMethod\">\n <fs-2fa-verification\n [verificationMethod]=\"verificationMethod\"\n [(code)]=\"code\"\n (codeCompleted)=\"codeCompleted($event)\"\n [resend]=\"resend\"\n [formatRecipient]=\"true\"\n [(trustDevice)]=\"trustDevice\">\n </fs-2fa-verification>\n </ng-container>\n <ng-template #notVerificationMethod>\n <p>\n The app will only use this number for verifying your account security. Message and data rates may apply by your cell phone provider.\n </p>\n <mat-form-field>\n <mat-label>\n Phone number\n </mat-label>\n <input\n matInput\n fsPhoneField\n [(ngModel)]=\"phone\"\n [required]=\"true\"\n [country]=\"defaultCountry\"\n [mode]=\"'object'\"\n autocomplete=\"off\"\n name=\"phone\">\n </mat-form-field>\n <mat-checkbox\n name=\"default\"\n [(ngModel)]=\"default\"\n [disableRipple]=\"true\">\n Make this the default verification method\n </mat-checkbox>\n </ng-template>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n color=\"primary\"\n type=\"submit\">\n Next\n </button>\n <button\n mat-button\n type=\"button\"\n [mat-dialog-close]=\"undefined\">\n Cancel\n </button>\n </mat-dialog-actions>\n </fs-dialog>\n</form>", styles: [":host ::ng-deep mat-checkbox .mat-ripple{display:none}:host ::ng-deep mat-checkbox .mat-checkbox-layout{white-space:wrap}app-code-input{margin-bottom:5px;display:block}mat-form-field{width:100%}mat-dialog-content{width:400px;max-width:100%}p{margin-top:0}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i6$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i9.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout", "dock", "dockable", "fullscreenPercent"] }, { kind: "directive", type: i10.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"], exportAs: ["fsForm"] }, { kind: "directive", type: i10.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { kind: "directive", type: i10.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "directive", type: i10.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "component", type: i8$2.FsPhoneFieldComponent, selector: "[fsPhoneField]", inputs: ["allowNumberExt", "placeholder", "required", "disabled", "mode", "country", "autocomplete"] }, { kind: "component", type: Fs2faVerificationComponent, selector: "fs-2fa-verification", inputs: ["verificationMethod", "resend", "showTrustedDevice", "trustDevice", "codeLength", "trustDays", "code", "formatRecipient", "getVerificationMethods", "selectVerificationMethod"], outputs: ["verified", "codeChange", "codeCompleted", "trustDeviceChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
539
535
|
}
|
|
540
536
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NumberComponent, decorators: [{
|
|
541
537
|
type: Component,
|
|
542
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form
|
|
538
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n fsForm\n [submit]=\"submit\"\n [autocomplete]=\"false\">\n <fs-dialog>\n <h1 mat-dialog-title>\n Text Message Setup\n </h1>\n <mat-dialog-content>\n <ng-container *ngIf=\"verificationMethod; else notVerificationMethod\">\n <fs-2fa-verification\n [verificationMethod]=\"verificationMethod\"\n [(code)]=\"code\"\n (codeCompleted)=\"codeCompleted($event)\"\n [resend]=\"resend\"\n [formatRecipient]=\"true\"\n [(trustDevice)]=\"trustDevice\">\n </fs-2fa-verification>\n </ng-container>\n <ng-template #notVerificationMethod>\n <p>\n The app will only use this number for verifying your account security. Message and data rates may apply by your cell phone provider.\n </p>\n <mat-form-field>\n <mat-label>\n Phone number\n </mat-label>\n <input\n matInput\n fsPhoneField\n [(ngModel)]=\"phone\"\n [required]=\"true\"\n [country]=\"defaultCountry\"\n [mode]=\"'object'\"\n autocomplete=\"off\"\n name=\"phone\">\n </mat-form-field>\n <mat-checkbox\n name=\"default\"\n [(ngModel)]=\"default\"\n [disableRipple]=\"true\">\n Make this the default verification method\n </mat-checkbox>\n </ng-template>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n color=\"primary\"\n type=\"submit\">\n Next\n </button>\n <button\n mat-button\n type=\"button\"\n [mat-dialog-close]=\"undefined\">\n Cancel\n </button>\n </mat-dialog-actions>\n </fs-dialog>\n</form>", styles: [":host ::ng-deep mat-checkbox .mat-ripple{display:none}:host ::ng-deep mat-checkbox .mat-checkbox-layout{white-space:wrap}app-code-input{margin-bottom:5px;display:block}mat-form-field{width:100%}mat-dialog-content{width:400px;max-width:100%}p{margin-top:0}\n"] }]
|
|
543
539
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
544
540
|
type: Inject,
|
|
545
541
|
args: [MAT_DIALOG_DATA]
|
|
@@ -1529,11 +1525,11 @@ class EmailComponent {
|
|
|
1529
1525
|
.subscribe();
|
|
1530
1526
|
}
|
|
1531
1527
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EmailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1532
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EmailComponent, selector: "ng-component", ngImport: i0, template: "<form\n fsForm\n [submit]=\"next\"\n [dirtySubmitButton]=\"false\"\n *fsSkeleton=\"email\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>\n Enable 2-Step Verification\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <p>\n Please enable two factor authentication to protect your account.\n The app will use this email for verifying your account\n </p>\n <fs-label-field>\n <fs-label>\n Email\n </fs-label>\n {{ email }}\n </fs-label-field>\n <div class=\"buttons\">\n <button\n mat-flat-button\n type=\"submit\"\n color=\"primary\">\n Next\n </button>\n <button\n mat-button\n (click)=\"cancel()\"\n type=\"button\">\n Cancel\n </button>\n </div>\n </mat-card-content>\n </mat-card>\n</form>", styles: ["h2{text-align:center}.buttons button+button{margin-top:5px}.buttons button{width:100%;display:block}\n"], dependencies: [{ kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3$1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i10.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"], exportAs: ["fsForm"] }, { kind: "directive", type: i10.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "directive", type: i5$1.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { kind: "component", type: i4$2.FsLabelComponent, selector: "fs-label" }, { kind: "component", type: i4$2.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1528
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EmailComponent, selector: "ng-component", ngImport: i0, template: "<form\r\n fsForm\r\n [submit]=\"next\"\r\n [dirtySubmitButton]=\"false\"\r\n *fsSkeleton=\"email\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>\r\n Enable 2-Step Verification\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <p>\r\n Please enable two factor authentication to protect your account.\r\n The app will use this email for verifying your account\r\n </p>\r\n <fs-label-field>\r\n <fs-label>\r\n Email\r\n </fs-label>\r\n {{ email }}\r\n </fs-label-field>\r\n <div class=\"buttons\">\r\n <button\r\n mat-flat-button\r\n type=\"submit\"\r\n color=\"primary\">\r\n Next\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"cancel()\"\r\n type=\"button\">\r\n Cancel\r\n </button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n</form>", styles: ["h2{text-align:center}.buttons button+button{margin-top:5px}.buttons button{width:100%;display:block}\n"], dependencies: [{ kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3$1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i10.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"], exportAs: ["fsForm"] }, { kind: "directive", type: i10.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "directive", type: i5$1.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { kind: "component", type: i4$2.FsLabelComponent, selector: "fs-label" }, { kind: "component", type: i4$2.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1533
1529
|
}
|
|
1534
1530
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EmailComponent, decorators: [{
|
|
1535
1531
|
type: Component,
|
|
1536
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n fsForm\n [submit]=\"next\"\n [dirtySubmitButton]=\"false\"\n *fsSkeleton=\"email\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>\n Enable 2-Step Verification\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <p>\n Please enable two factor authentication to protect your account.\n The app will use this email for verifying your account\n </p>\n <fs-label-field>\n <fs-label>\n Email\n </fs-label>\n {{ email }}\n </fs-label-field>\n <div class=\"buttons\">\n <button\n mat-flat-button\n type=\"submit\"\n color=\"primary\">\n Next\n </button>\n <button\n mat-button\n (click)=\"cancel()\"\n type=\"button\">\n Cancel\n </button>\n </div>\n </mat-card-content>\n </mat-card>\n</form>", styles: ["h2{text-align:center}.buttons button+button{margin-top:5px}.buttons button{width:100%;display:block}\n"] }]
|
|
1532
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\r\n fsForm\r\n [submit]=\"next\"\r\n [dirtySubmitButton]=\"false\"\r\n *fsSkeleton=\"email\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>\r\n Enable 2-Step Verification\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <p>\r\n Please enable two factor authentication to protect your account.\r\n The app will use this email for verifying your account\r\n </p>\r\n <fs-label-field>\r\n <fs-label>\r\n Email\r\n </fs-label>\r\n {{ email }}\r\n </fs-label-field>\r\n <div class=\"buttons\">\r\n <button\r\n mat-flat-button\r\n type=\"submit\"\r\n color=\"primary\">\r\n Next\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"cancel()\"\r\n type=\"button\">\r\n Cancel\r\n </button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n</form>", styles: ["h2{text-align:center}.buttons button+button{margin-top:5px}.buttons button{width:100%;display:block}\n"] }]
|
|
1537
1533
|
}] });
|
|
1538
1534
|
|
|
1539
1535
|
class VerifyComponent {
|
|
@@ -1555,9 +1551,6 @@ class VerifyComponent {
|
|
|
1555
1551
|
}))
|
|
1556
1552
|
.subscribe();
|
|
1557
1553
|
}
|
|
1558
|
-
codeChanged(code) {
|
|
1559
|
-
this.code = code;
|
|
1560
|
-
}
|
|
1561
1554
|
verify = () => {
|
|
1562
1555
|
return this._verificationMethodData
|
|
1563
1556
|
.verify(this.code, this.verification.trustDevice)
|
|
@@ -1577,11 +1570,11 @@ class VerifyComponent {
|
|
|
1577
1570
|
.subscribe();
|
|
1578
1571
|
}
|
|
1579
1572
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VerifyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1580
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: VerifyComponent, selector: "ng-component", viewQueries: [{ propertyName: "verification", first: true, predicate: Fs2faVerificationComponent, descendants: true }], ngImport: i0, template: "<form\n fsForm\n [submit]=\"verify\"\n [dirtySubmitButton]=\"false\"\n *fsSkeleton=\"verificationMethod\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>\n Enable 2-Step Verification\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <fs-2fa-verification\n #verification\n [verificationMethod]=\"verificationMethod\"\n [showTrustedDevice]=\"true\"\n (
|
|
1573
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: VerifyComponent, selector: "ng-component", viewQueries: [{ propertyName: "verification", first: true, predicate: Fs2faVerificationComponent, descendants: true }], ngImport: i0, template: "<form\n fsForm\n [submit]=\"verify\"\n [dirtySubmitButton]=\"false\"\n *fsSkeleton=\"verificationMethod\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>\n Enable 2-Step Verification\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <fs-2fa-verification\n #verification\n [verificationMethod]=\"verificationMethod\"\n [showTrustedDevice]=\"true\"\n [(code)]=\"code\"\n [resend]=\"resend\">\n </fs-2fa-verification>\n <div class=\"buttons\">\n <button\n mat-flat-button\n type=\"submit\"\n color=\"primary\">\n Verify\n </button>\n <button\n mat-button\n [fs2faVerificationResend]=\"verification\"\n type=\"button\">\n Resend\n </button>\n <button\n mat-button\n (click)=\"cancel()\"\n type=\"button\">\n Cancel\n </button>\n </div>\n </mat-card-content>\n </mat-card>\n</form>", styles: ["h2{text-align:center}.buttons button+button{margin-top:5px}.buttons button{width:100%;display:block}\n"], dependencies: [{ kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3$1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i10.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"], exportAs: ["fsForm"] }, { kind: "directive", type: i10.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "directive", type: i5$1.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { kind: "component", type: Fs2faVerificationComponent, selector: "fs-2fa-verification", inputs: ["verificationMethod", "resend", "showTrustedDevice", "trustDevice", "codeLength", "trustDays", "code", "formatRecipient", "getVerificationMethods", "selectVerificationMethod"], outputs: ["verified", "codeChange", "codeCompleted", "trustDeviceChange"] }, { kind: "directive", type: Fs2faVerificationResendDirective, selector: "[fs2faVerificationResend]", inputs: ["fs2faVerificationResend"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1581
1574
|
}
|
|
1582
1575
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VerifyComponent, decorators: [{
|
|
1583
1576
|
type: Component,
|
|
1584
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n fsForm\n [submit]=\"verify\"\n [dirtySubmitButton]=\"false\"\n *fsSkeleton=\"verificationMethod\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>\n Enable 2-Step Verification\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <fs-2fa-verification\n #verification\n [verificationMethod]=\"verificationMethod\"\n [showTrustedDevice]=\"true\"\n (
|
|
1577
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n fsForm\n [submit]=\"verify\"\n [dirtySubmitButton]=\"false\"\n *fsSkeleton=\"verificationMethod\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>\n Enable 2-Step Verification\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <fs-2fa-verification\n #verification\n [verificationMethod]=\"verificationMethod\"\n [showTrustedDevice]=\"true\"\n [(code)]=\"code\"\n [resend]=\"resend\">\n </fs-2fa-verification>\n <div class=\"buttons\">\n <button\n mat-flat-button\n type=\"submit\"\n color=\"primary\">\n Verify\n </button>\n <button\n mat-button\n [fs2faVerificationResend]=\"verification\"\n type=\"button\">\n Resend\n </button>\n <button\n mat-button\n (click)=\"cancel()\"\n type=\"button\">\n Cancel\n </button>\n </div>\n </mat-card-content>\n </mat-card>\n</form>", styles: ["h2{text-align:center}.buttons button+button{margin-top:5px}.buttons button{width:100%;display:block}\n"] }]
|
|
1585
1578
|
}], propDecorators: { verification: [{
|
|
1586
1579
|
type: ViewChild,
|
|
1587
1580
|
args: [Fs2faVerificationComponent]
|