@aws-amplify/ui-angular 2.1.3 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/aws-amplify-ui-angular.metadata.json +1 -1
- package/bundles/aws-amplify-ui-angular.umd.js +180 -45
- package/bundles/aws-amplify-ui-angular.umd.js.map +1 -1
- package/bundles/aws-amplify-ui-angular.umd.min.js +1 -1
- package/bundles/aws-amplify-ui-angular.umd.min.js.map +1 -1
- package/esm2015/lib/components/authenticator/components/authenticator/authenticator.component.js +4 -2
- package/esm2015/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.js +15 -3
- package/esm2015/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.js +13 -3
- package/esm2015/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.js +15 -3
- package/esm2015/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.js +15 -3
- package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password.component.js +15 -3
- package/esm2015/lib/components/authenticator/components/form-field/form-field.component.js +8 -5
- package/esm2015/lib/components/authenticator/components/reset-password/reset-password.component.js +13 -3
- package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +17 -5
- package/esm2015/lib/components/authenticator/components/sign-in/sign-in.component.js +22 -4
- package/esm2015/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.js +21 -3
- package/esm2015/lib/components/authenticator/components/user-name-alias/user-name-alias.component.js +13 -6
- package/esm2015/lib/primitives/phone-number-field/phone-number-field.component.js +7 -3
- package/esm2015/lib/services/authenticator.service.js +3 -2
- package/fesm2015/aws-amplify-ui-angular.js +158 -25
- package/fesm2015/aws-amplify-ui-angular.js.map +1 -1
- package/lib/components/authenticator/components/authenticator/authenticator.component.d.ts +1 -0
- package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +7 -1
- package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +4 -0
- package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +7 -1
- package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +7 -1
- package/lib/components/authenticator/components/force-new-password/force-new-password.component.d.ts +7 -1
- package/lib/components/authenticator/components/form-field/form-field.component.d.ts +3 -1
- package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +4 -0
- package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +4 -0
- package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +10 -1
- package/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.d.ts +7 -1
- package/lib/components/authenticator/components/user-name-alias/user-name-alias.component.d.ts +7 -1
- package/lib/primitives/phone-number-field/phone-number-field.component.d.ts +5 -2
- package/lib/services/authenticator.service.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
2
|
import { AuthenticatorService } from '../../../../services/authenticator.service';
|
|
3
|
-
import { getFormDataFromEvent, translate } from '@aws-amplify/ui';
|
|
3
|
+
import { getActorState, getFormDataFromEvent, translate, } from '@aws-amplify/ui';
|
|
4
4
|
export class ConfirmResetPasswordComponent {
|
|
5
5
|
constructor(authenticator) {
|
|
6
6
|
this.authenticator = authenticator;
|
|
@@ -11,6 +11,18 @@ export class ConfirmResetPasswordComponent {
|
|
|
11
11
|
this.backToSignInText = translate('Back to Sign In');
|
|
12
12
|
this.resendCodeText = translate('Resend Code');
|
|
13
13
|
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
this.setFormFields();
|
|
16
|
+
}
|
|
17
|
+
setFormFields() {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
const _state = this.authenticator.authState;
|
|
20
|
+
this.formOverrides = (_b = (_a = getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.confirmResetPassword;
|
|
21
|
+
}
|
|
22
|
+
grabField(name, field, defaultV) {
|
|
23
|
+
var _a, _b, _c;
|
|
24
|
+
return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
|
|
25
|
+
}
|
|
14
26
|
get context() {
|
|
15
27
|
return this.authenticator.slotContext;
|
|
16
28
|
}
|
|
@@ -27,7 +39,7 @@ export class ConfirmResetPasswordComponent {
|
|
|
27
39
|
ConfirmResetPasswordComponent.decorators = [
|
|
28
40
|
{ type: Component, args: [{
|
|
29
41
|
selector: 'amplify-confirm-reset-password',
|
|
30
|
-
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-reset-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"confirmation_code\"\n type=\"number\"\n autocomplete=\"one-time-code\"\n ></amplify-form-field>\n <amplify-form-field\n name=\"password\"\n label=\"New password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n <amplify-form-field\n name=\"confirm_password\"\n
|
|
42
|
+
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-reset-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"confirmation_code\"\n type=\"number\"\n autocomplete=\"one-time-code\"\n [labelHidden]=\"grabField('confirmation_code', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirmation_code', 'placeholder', null)\"\n [required]=\"grabField('confirmation_code', 'required', true)\"\n [label]=\"grabField('confirmation_code', 'label', null)\"\n ></amplify-form-field>\n <amplify-form-field\n name=\"password\"\n label=\"New password\"\n autocomplete=\"new-password\"\n [labelHidden]=\"grabField('password', 'labelHidden', true)\"\n [placeholder]=\"grabField('password', 'placeholder', null)\"\n [required]=\"grabField('password', 'required', true)\"\n [label]=\"grabField('password', 'label', 'New password')\"\n ></amplify-form-field>\n <amplify-form-field\n name=\"confirm_password\"\n type=\"password\"\n autocomplete=\"new-password\"\n [labelHidden]=\"grabField('confirm_password', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirm_password', 'placeholder', null)\"\n [required]=\"grabField('confirm_password', 'required', true)\"\n [label]=\"grabField('confirm_password', 'label', 'Confirm Password')\"\n ></amplify-form-field>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ sendCodeText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n type=\"button\"\n (click)=\"authenticator.resendCode()\"\n >\n {{ resendCodeText }}\n </button>\n\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"confirm-reset-password-footer\" [context]=\"context\">\n </amplify-slot>\n </form>\n</div>\n"
|
|
31
43
|
},] }
|
|
32
44
|
];
|
|
33
45
|
ConfirmResetPasswordComponent.ctorParameters = () => [
|
|
@@ -37,4 +49,4 @@ ConfirmResetPasswordComponent.propDecorators = {
|
|
|
37
49
|
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-confirmsignin',] }],
|
|
38
50
|
headerText: [{ type: Input }]
|
|
39
51
|
};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1jb25maXJtLXJlc2V0LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9jb25maXJtLXJlc2V0LXBhc3N3b3JkL2FtcGxpZnktY29uZmlybS1yZXNldC1wYXNzd29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFFTCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLFNBQVMsR0FDVixNQUFNLGlCQUFpQixDQUFDO0FBTXpCLE1BQU0sT0FBTyw2QkFBNkI7SUFVeEMsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBVFEsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUM1RCxlQUFVLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFOUQscUJBQXFCO1FBQ2QsaUJBQVksR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEMscUJBQWdCLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsbUJBQWMsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7SUFHUSxDQUFDO0lBRTFELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLGFBQWE7O1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLGVBQ2hCLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLDBDQUFFLFVBQVUsMENBQUUsb0JBQW9CLENBQUM7SUFDcEUsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLFFBQVE7O1FBQ3BELHlCQUFPLElBQUksQ0FBQyxhQUFhLDBDQUFHLElBQUksMkNBQUksS0FBSyxvQ0FBSyxRQUFRLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7WUEzQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQ0FBZ0M7Z0JBQzFDLCs2RUFBOEQ7YUFDL0Q7OztZQVhRLG9CQUFvQjs7O3VCQWExQixXQUFXLFNBQUMsK0NBQStDO3lCQUMzRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgZm9ybUZpZWxkLFxuICBnZXRBY3RvclN0YXRlLFxuICBnZXRGb3JtRGF0YUZyb21FdmVudCxcbiAgdHJhbnNsYXRlLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LWNvbmZpcm0tcmVzZXQtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYW1wbGlmeS1jb25maXJtLXJlc2V0LXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybVJlc2V0UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3ItY29uZmlybXNpZ25pbicpIGRhdGFBdHRyID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBoZWFkZXJUZXh0ID0gdHJhbnNsYXRlKCdSZXNldCB5b3VyIHBhc3N3b3JkJyk7XG5cbiAgLy8gdHJhbnNsYXRlZCBzdHJpbmdzXG4gIHB1YmxpYyBzZW5kQ29kZVRleHQgPSB0cmFuc2xhdGUoJ1NlbmQgQ29kZScpO1xuICBwdWJsaWMgYmFja1RvU2lnbkluVGV4dCA9IHRyYW5zbGF0ZSgnQmFjayB0byBTaWduIEluJyk7XG4gIHB1YmxpYyByZXNlbmRDb2RlVGV4dCA9IHRyYW5zbGF0ZSgnUmVzZW5kIENvZGUnKTtcbiAgcHVibGljIGZvcm1PdmVycmlkZXM6IGZvcm1GaWVsZDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aGVudGljYXRvcjogQXV0aGVudGljYXRvclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRGb3JtRmllbGRzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Rm9ybUZpZWxkcygpIHtcbiAgICBjb25zdCBfc3RhdGUgPSB0aGlzLmF1dGhlbnRpY2F0b3IuYXV0aFN0YXRlO1xuICAgIHRoaXMuZm9ybU92ZXJyaWRlcyA9XG4gICAgICBnZXRBY3RvclN0YXRlKF9zdGF0ZSkuY29udGV4dD8uZm9ybUZpZWxkcz8uY29uZmlybVJlc2V0UGFzc3dvcmQ7XG4gIH1cblxuICBwdWJsaWMgZ3JhYkZpZWxkKG5hbWU6IHN0cmluZywgZmllbGQ6IHN0cmluZywgZGVmYXVsdFYpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtT3ZlcnJpZGVzPy5bbmFtZV0/LltmaWVsZF0gPz8gZGVmYXVsdFY7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB7IG5hbWUsIHZhbHVlIH0gPSA8SFRNTElucHV0RWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnVwZGF0ZUZvcm0oeyBuYW1lLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnN1Ym1pdEZvcm0oZ2V0Rm9ybURhdGFGcm9tRXZlbnQoZXZlbnQpKTtcbiAgfVxufVxuIl19
|
package/esm2015/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, HostBinding } from '@angular/core';
|
|
2
2
|
import { Logger } from 'aws-amplify';
|
|
3
|
-
import { AuthChallengeNames, getActorContext, getFormDataFromEvent, } from '@aws-amplify/ui';
|
|
3
|
+
import { AuthChallengeNames, getActorContext, getActorState, getFormDataFromEvent, } from '@aws-amplify/ui';
|
|
4
4
|
import { AuthenticatorService } from '../../../../services/authenticator.service';
|
|
5
5
|
import { translate } from '@aws-amplify/ui';
|
|
6
6
|
const logger = new Logger('ConfirmSignIn');
|
|
@@ -13,6 +13,16 @@ export class ConfirmSignInComponent {
|
|
|
13
13
|
}
|
|
14
14
|
ngOnInit() {
|
|
15
15
|
this.setHeaderText();
|
|
16
|
+
this.setFormFields();
|
|
17
|
+
}
|
|
18
|
+
setFormFields() {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
const _state = this.authenticator.authState;
|
|
21
|
+
this.formOverrides = (_b = (_a = getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.confirmSignIn;
|
|
22
|
+
}
|
|
23
|
+
grabField(name, field, defaultV) {
|
|
24
|
+
var _a, _b, _c;
|
|
25
|
+
return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
|
|
16
26
|
}
|
|
17
27
|
get context() {
|
|
18
28
|
return this.authenticator.slotContext;
|
|
@@ -45,7 +55,7 @@ export class ConfirmSignInComponent {
|
|
|
45
55
|
ConfirmSignInComponent.decorators = [
|
|
46
56
|
{ type: Component, args: [{
|
|
47
57
|
selector: 'amplify-confirm-sign-in',
|
|
48
|
-
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-sign-in-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"confirmation_code\"\n label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-code\"\n ></amplify-form-field>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot\n name=\"confirm-sign-in-footer\"\n [context]=\"context\"\n ></amplify-slot>\n </form>\n</div>\n"
|
|
58
|
+
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-sign-in-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"confirmation_code\"\n label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-code\"\n [labelHidden]=\"grabField('confirmation_code', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirmation_code', 'placeholder', null)\"\n [required]=\"grabField('confirmation_code', 'required', true)\"\n [label]=\"grabField('confirmation_code', 'label', 'Code *')\"\n ></amplify-form-field>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot\n name=\"confirm-sign-in-footer\"\n [context]=\"context\"\n ></amplify-slot>\n </form>\n</div>\n"
|
|
49
59
|
},] }
|
|
50
60
|
];
|
|
51
61
|
ConfirmSignInComponent.ctorParameters = () => [
|
|
@@ -54,4 +64,4 @@ ConfirmSignInComponent.ctorParameters = () => [
|
|
|
54
64
|
ConfirmSignInComponent.propDecorators = {
|
|
55
65
|
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-confirmsignin',] }]
|
|
56
66
|
};
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1zaWduLWluLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9jb25maXJtLXNpZ24taW4vY29uZmlybS1zaWduLWluLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFDTCxrQkFBa0IsRUFFbEIsZUFBZSxFQUNmLGFBQWEsRUFDYixvQkFBb0IsR0FFckIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFNM0MsTUFBTSxPQUFPLHNCQUFzQjtJQVNqQyxZQUFtQixhQUFtQztRQUFuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFSUSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBSXJFLGdCQUFXLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLHFCQUFnQixHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBR0UsQ0FBQztJQUUxRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sYUFBYTs7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDNUMsSUFBSSxDQUFDLGFBQWEsZUFDaEIsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sMENBQUUsVUFBVSwwQ0FBRSxhQUFhLENBQUM7SUFDN0QsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLFFBQVE7O1FBQ3BELHlCQUFPLElBQUksQ0FBQyxhQUFhLDBDQUFHLElBQUksMkNBQUksS0FBSyxvQ0FBSyxRQUFRLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDM0MsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBa0IsQ0FBQztRQUM3RCxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsWUFBWSxDQUFDO1FBQ3ZDLFFBQVEsYUFBYSxFQUFFO1lBQ3JCLEtBQUssa0JBQWtCLENBQUMsa0JBQWtCO2dCQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUNqRCxNQUFNO1lBQ1IsS0FBSyxrQkFBa0IsQ0FBQyxPQUFPO2dCQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNoRCxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7WUEzREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLGdqREFBK0M7YUFDaEQ7OztZQVJRLG9CQUFvQjs7O3VCQVUxQixXQUFXLFNBQUMsK0NBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICdhd3MtYW1wbGlmeSc7XG5pbXBvcnQge1xuICBBdXRoQ2hhbGxlbmdlTmFtZXMsXG4gIGZvcm1GaWVsZCxcbiAgZ2V0QWN0b3JDb250ZXh0LFxuICBnZXRBY3RvclN0YXRlLFxuICBnZXRGb3JtRGF0YUZyb21FdmVudCxcbiAgU2lnbkluQ29udGV4dCxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ0NvbmZpcm1TaWduSW4nKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1jb25maXJtLXNpZ24taW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS1zaWduLWluLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybVNpZ25JbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFtcGxpZnktYXV0aGVudGljYXRvci1jb25maXJtc2lnbmluJykgZGF0YUF0dHIgPSAnJztcblxuICAvLyB0cmFuc2xhdGVkIHRleHRzXG4gIHB1YmxpYyBoZWFkZXJUZXh0OiBzdHJpbmc7XG4gIHB1YmxpYyBjb25maXJtVGV4dCA9IHRyYW5zbGF0ZSgnQ29uZmlybScpO1xuICBwdWJsaWMgYmFja1RvU2lnbkluVGV4dCA9IHRyYW5zbGF0ZSgnQmFjayB0byBTaWduIEluJyk7XG4gIHB1YmxpYyBmb3JtT3ZlcnJpZGVzOiBmb3JtRmllbGQ7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0SGVhZGVyVGV4dCgpO1xuICAgIHRoaXMuc2V0Rm9ybUZpZWxkcygpO1xuICB9XG5cbiAgcHVibGljIHNldEZvcm1GaWVsZHMoKSB7XG4gICAgY29uc3QgX3N0YXRlID0gdGhpcy5hdXRoZW50aWNhdG9yLmF1dGhTdGF0ZTtcbiAgICB0aGlzLmZvcm1PdmVycmlkZXMgPVxuICAgICAgZ2V0QWN0b3JTdGF0ZShfc3RhdGUpLmNvbnRleHQ/LmZvcm1GaWVsZHM/LmNvbmZpcm1TaWduSW47XG4gIH1cblxuICBwdWJsaWMgZ3JhYkZpZWxkKG5hbWU6IHN0cmluZywgZmllbGQ6IHN0cmluZywgZGVmYXVsdFYpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtT3ZlcnJpZGVzPy5bbmFtZV0/LltmaWVsZF0gPz8gZGVmYXVsdFY7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIHNldEhlYWRlclRleHQoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLmF1dGhlbnRpY2F0b3IuYXV0aFN0YXRlO1xuICAgIGNvbnN0IGFjdG9yQ29udGV4dCA9IGdldEFjdG9yQ29udGV4dChzdGF0ZSkgYXMgU2lnbkluQ29udGV4dDtcbiAgICBjb25zdCB7IGNoYWxsZW5nZU5hbWUgfSA9IGFjdG9yQ29udGV4dDtcbiAgICBzd2l0Y2ggKGNoYWxsZW5nZU5hbWUpIHtcbiAgICAgIGNhc2UgQXV0aENoYWxsZW5nZU5hbWVzLlNPRlRXQVJFX1RPS0VOX01GQTpcbiAgICAgICAgdGhpcy5oZWFkZXJUZXh0ID0gdHJhbnNsYXRlKCdDb25maXJtIFRPVFAgQ29kZScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQXV0aENoYWxsZW5nZU5hbWVzLlNNU19NRkE6XG4gICAgICAgIHRoaXMuaGVhZGVyVGV4dCA9IHRyYW5zbGF0ZSgnQ29uZmlybSBTTVMgQ29kZScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGxvZ2dlci5lcnJvcignVW5leHBlY3RlZCBjaGFsbGVuZ2VOYW1lJywgY2hhbGxlbmdlTmFtZSk7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlRm9ybSh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3Iuc3VibWl0Rm9ybShnZXRGb3JtRGF0YUZyb21FdmVudChldmVudCkpO1xuICB9XG59XG4iXX0=
|
package/esm2015/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
2
|
import { AuthenticatorService } from '../../../../services/authenticator.service';
|
|
3
|
-
import { getFormDataFromEvent, translate } from '@aws-amplify/ui';
|
|
3
|
+
import { getActorState, getFormDataFromEvent, translate, } from '@aws-amplify/ui';
|
|
4
4
|
export class ConfirmSignUpComponent {
|
|
5
5
|
constructor(authenticator) {
|
|
6
6
|
this.authenticator = authenticator;
|
|
@@ -14,6 +14,18 @@ export class ConfirmSignUpComponent {
|
|
|
14
14
|
this.defaultMessage = translate('Your code is on the way. To log in, enter the code we sent you. It may take a minute to arrive.');
|
|
15
15
|
this.minutesMessage = translate('It may take a minute to arrive.');
|
|
16
16
|
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.setFormFields();
|
|
19
|
+
}
|
|
20
|
+
setFormFields() {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
const _state = this.authenticator.authState;
|
|
23
|
+
this.formOverrides = (_b = (_a = getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.confirmSignUp;
|
|
24
|
+
}
|
|
25
|
+
grabField(name, field, defaultV) {
|
|
26
|
+
var _a, _b, _c;
|
|
27
|
+
return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
|
|
28
|
+
}
|
|
17
29
|
get context() {
|
|
18
30
|
return this.authenticator.slotContext;
|
|
19
31
|
}
|
|
@@ -46,7 +58,7 @@ export class ConfirmSignUpComponent {
|
|
|
46
58
|
ConfirmSignUpComponent.decorators = [
|
|
47
59
|
{ type: Component, args: [{
|
|
48
60
|
selector: 'amplify-confirm-sign-up',
|
|
49
|
-
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"context.isPending\"\n >\n <amplify-slot name=\"confirm-sign-up-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\" style=\"font-size: 1.5rem\">\n {{ confirmSignUpHeading }}\n </h3>\n </amplify-slot>\n <span style=\"margin-bottom: 1rem\">\n {{ subtitleText }}\n </span>\n <amplify-form-field\n name=\"confirmation_code\"\n autocomplete=\"one-time-code\"\n ></amplify-form-field>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n fontWeight=\"normal\"\n (click)=\"authenticator.resendCode()\"\n >\n {{ resendCodeText }}\n </button>\n </fieldset>\n\n <amplify-error *ngIf=\"context.error\">\n {{ authenticator.error }}\n </amplify-error>\n <amplify-slot\n name=\"confirm-sign-up-footer\"\n [context]=\"context\"\n ></amplify-slot>\n </form>\n</div>\n"
|
|
61
|
+
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"context.isPending\"\n >\n <amplify-slot name=\"confirm-sign-up-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\" style=\"font-size: 1.5rem\">\n {{ confirmSignUpHeading }}\n </h3>\n </amplify-slot>\n <span style=\"margin-bottom: 1rem\">\n {{ subtitleText }}\n </span>\n <amplify-form-field\n name=\"confirmation_code\"\n autocomplete=\"one-time-code\"\n [labelHidden]=\"grabField('confirmation_code', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirmation_code', 'placeholder', null)\"\n [required]=\"grabField('confirmation_code', 'required', true)\"\n [label]=\"grabField('confirmation_code', 'label', null)\"\n ></amplify-form-field>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n fontWeight=\"normal\"\n (click)=\"authenticator.resendCode()\"\n >\n {{ resendCodeText }}\n </button>\n </fieldset>\n\n <amplify-error *ngIf=\"context.error\">\n {{ authenticator.error }}\n </amplify-error>\n <amplify-slot\n name=\"confirm-sign-up-footer\"\n [context]=\"context\"\n ></amplify-slot>\n </form>\n</div>\n"
|
|
50
62
|
},] }
|
|
51
63
|
];
|
|
52
64
|
ConfirmSignUpComponent.ctorParameters = () => [
|
|
@@ -56,4 +68,4 @@ ConfirmSignUpComponent.propDecorators = {
|
|
|
56
68
|
headerText: [{ type: Input }],
|
|
57
69
|
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-confirmsignup',] }]
|
|
58
70
|
};
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1zaWduLXVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9jb25maXJtLXNpZ24tdXAvY29uZmlybS1zaWduLXVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUVMLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsU0FBUyxHQUNWLE1BQU0saUJBQWlCLENBQUM7QUFLekIsTUFBTSxPQUFPLHNCQUFzQjtJQW9CakMsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBbkI3QyxlQUFVLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFVyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRTVFLG1CQUFtQjtRQUNaLG1CQUFjLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFDLGdCQUFXLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLGlCQUFZLEdBQUcsU0FBUyxDQUM3QixrRUFBa0UsQ0FDbkUsQ0FBQztRQUNLLGtCQUFhLEdBQUcsU0FBUyxDQUM5QixpRUFBaUUsQ0FDbEUsQ0FBQztRQUNLLG1CQUFjLEdBQUcsU0FBUyxDQUMvQixpR0FBaUcsQ0FDbEcsQ0FBQztRQUNLLG1CQUFjLEdBQUcsU0FBUyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFHWixDQUFDO0lBRTFELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLGFBQWE7O1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLGVBQ2hCLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLDBDQUFFLFVBQVUsMENBQUUsYUFBYSxDQUFDO0lBQzdELENBQUM7SUFFTSxTQUFTLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxRQUFROztRQUNwRCx5QkFBTyxJQUFJLENBQUMsYUFBYSwwQ0FBRyxJQUFJLDJDQUFJLEtBQUssb0NBQUssUUFBUSxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxvQkFBb0I7UUFDN0IsTUFBTSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM1RSxPQUFPLGNBQWMsS0FBSyxPQUFPO1lBQy9CLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7WUFDN0IsQ0FBQyxDQUFDLGNBQWMsS0FBSyxLQUFLO2dCQUMxQixDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztnQkFDNUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsTUFBTSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUNqRSxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3JCLE9BQU8sY0FBYyxLQUFLLE9BQU87WUFDL0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxXQUFXLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUMvRCxDQUFDLENBQUMsY0FBYyxLQUFLLEtBQUs7Z0JBQzFCLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksV0FBVyxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ2hFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQXFCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVk7UUFDbkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7O1lBeEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyw4aURBQStDO2FBQ2hEOzs7WUFWUSxvQkFBb0I7Ozt5QkFZMUIsS0FBSzt1QkFFTCxXQUFXLFNBQUMsK0NBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgZm9ybUZpZWxkLFxuICBnZXRBY3RvclN0YXRlLFxuICBnZXRGb3JtRGF0YUZyb21FdmVudCxcbiAgdHJhbnNsYXRlLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1jb25maXJtLXNpZ24tdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS1zaWduLXVwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybVNpZ25VcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGhlYWRlclRleHQgPSB0cmFuc2xhdGUoJ0NvbmZpcm0gU2lnbiBVcCcpO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFtcGxpZnktYXV0aGVudGljYXRvci1jb25maXJtc2lnbnVwJykgZGF0YUF0dHIgPSAnJztcblxuICAvLyB0cmFuc2xhdGVkIHRleHRzXG4gIHB1YmxpYyByZXNlbmRDb2RlVGV4dCA9IHRyYW5zbGF0ZSgnUmVzZW5kIENvZGUnKTtcbiAgcHVibGljIGNvbmZpcm1UZXh0ID0gdHJhbnNsYXRlKCdDb25maXJtJyk7XG4gIHB1YmxpYyBlbWFpbE1lc3NhZ2UgPSB0cmFuc2xhdGUoXG4gICAgJ1lvdXIgY29kZSBpcyBvbiB0aGUgd2F5LiBUbyBsb2cgaW4sIGVudGVyIHRoZSBjb2RlIHdlIGVtYWlsZWQgdG8nXG4gICk7XG4gIHB1YmxpYyB0ZXh0ZWRNZXNzYWdlID0gdHJhbnNsYXRlKFxuICAgICdZb3VyIGNvZGUgaXMgb24gdGhlIHdheS4gVG8gbG9nIGluLCBlbnRlciB0aGUgY29kZSB3ZSB0ZXh0ZWQgdG8nXG4gICk7XG4gIHB1YmxpYyBkZWZhdWx0TWVzc2FnZSA9IHRyYW5zbGF0ZShcbiAgICAnWW91ciBjb2RlIGlzIG9uIHRoZSB3YXkuIFRvIGxvZyBpbiwgZW50ZXIgdGhlIGNvZGUgd2Ugc2VudCB5b3UuIEl0IG1heSB0YWtlIGEgbWludXRlIHRvIGFycml2ZS4nXG4gICk7XG4gIHB1YmxpYyBtaW51dGVzTWVzc2FnZSA9IHRyYW5zbGF0ZSgnSXQgbWF5IHRha2UgYSBtaW51dGUgdG8gYXJyaXZlLicpO1xuICBwdWJsaWMgZm9ybU92ZXJyaWRlczogZm9ybUZpZWxkO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhdXRoZW50aWNhdG9yOiBBdXRoZW50aWNhdG9yU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEZvcm1GaWVsZHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGb3JtRmllbGRzKCkge1xuICAgIGNvbnN0IF9zdGF0ZSA9IHRoaXMuYXV0aGVudGljYXRvci5hdXRoU3RhdGU7XG4gICAgdGhpcy5mb3JtT3ZlcnJpZGVzID1cbiAgICAgIGdldEFjdG9yU3RhdGUoX3N0YXRlKS5jb250ZXh0Py5mb3JtRmllbGRzPy5jb25maXJtU2lnblVwO1xuICB9XG5cbiAgcHVibGljIGdyYWJGaWVsZChuYW1lOiBzdHJpbmcsIGZpZWxkOiBzdHJpbmcsIGRlZmF1bHRWKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybU92ZXJyaWRlcz8uW25hbWVdPy5bZmllbGRdID8/IGRlZmF1bHRWO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0b3Iuc2xvdENvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbmZpcm1TaWduVXBIZWFkaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBjb2RlRGVsaXZlcnlEZXRhaWxzOiB7IERlbGl2ZXJ5TWVkaXVtIH0gPSB7fSB9ID0gdGhpcy5hdXRoZW50aWNhdG9yO1xuICAgIHJldHVybiBEZWxpdmVyeU1lZGl1bSA9PT0gJ0VNQUlMJ1xuICAgICAgPyB0cmFuc2xhdGUoJ1dlIEVtYWlsZWQgWW91JylcbiAgICAgIDogRGVsaXZlcnlNZWRpdW0gPT09ICdTTVMnXG4gICAgICA/IHRyYW5zbGF0ZSgnV2UgVGV4dGVkIFlvdScpXG4gICAgICA6IHRyYW5zbGF0ZSgnV2UgU2VudCBBIENvZGUnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3VidGl0bGVUZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBjb2RlRGVsaXZlcnlEZXRhaWxzOiB7IERlbGl2ZXJ5TWVkaXVtLCBEZXN0aW5hdGlvbiB9ID0ge30gfSA9XG4gICAgICB0aGlzLmF1dGhlbnRpY2F0b3I7XG4gICAgcmV0dXJuIERlbGl2ZXJ5TWVkaXVtID09PSAnRU1BSUwnXG4gICAgICA/IGAke3RoaXMuZW1haWxNZXNzYWdlfSAke0Rlc3RpbmF0aW9ufS4gJHt0aGlzLm1pbnV0ZXNNZXNzYWdlfWBcbiAgICAgIDogRGVsaXZlcnlNZWRpdW0gPT09ICdTTVMnXG4gICAgICA/IGAke3RoaXMudGV4dGVkTWVzc2FnZX0gJHtEZXN0aW5hdGlvbn0uICR7dGhpcy5taW51dGVzTWVzc2FnZX1gXG4gICAgICA6IHRyYW5zbGF0ZShgJHt0aGlzLmRlZmF1bHRNZXNzYWdlfWApO1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlRm9ybSh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3Iuc3VibWl0Rm9ybShnZXRGb3JtRGF0YUZyb21FdmVudChldmVudCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
-
import { getFormDataFromEvent, translate } from '@aws-amplify/ui';
|
|
2
|
+
import { getActorState, getFormDataFromEvent, translate, } from '@aws-amplify/ui';
|
|
3
3
|
import { AuthenticatorService } from '../../../../services/authenticator.service';
|
|
4
4
|
export class ConfirmVerifyUserComponent {
|
|
5
5
|
constructor(authenticator) {
|
|
@@ -10,6 +10,18 @@ export class ConfirmVerifyUserComponent {
|
|
|
10
10
|
this.skipText = translate('Skip');
|
|
11
11
|
this.submitText = translate('Submit');
|
|
12
12
|
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
this.setFormFields();
|
|
15
|
+
}
|
|
16
|
+
setFormFields() {
|
|
17
|
+
var _a, _b;
|
|
18
|
+
const _state = this.authenticator.authState;
|
|
19
|
+
this.formOverrides = (_b = (_a = getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.confirmVerifyUser;
|
|
20
|
+
}
|
|
21
|
+
grabField(name, field, defaultV) {
|
|
22
|
+
var _a, _b, _c;
|
|
23
|
+
return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
|
|
24
|
+
}
|
|
13
25
|
get context() {
|
|
14
26
|
return this.authenticator.slotContext;
|
|
15
27
|
}
|
|
@@ -26,7 +38,7 @@ export class ConfirmVerifyUserComponent {
|
|
|
26
38
|
ConfirmVerifyUserComponent.decorators = [
|
|
27
39
|
{ type: Component, args: [{
|
|
28
40
|
selector: 'amplify-confirm-verify-user',
|
|
29
|
-
template: "<div data-amplify-container>\n <form data-amplify-form (input)=\"onInput($event)\" (submit)=\"onSubmit($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-verify-user-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"confirmation_code\"\n type=\"number\"\n autocomplete=\"one-time-code\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ submitText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.skipVerification()\"\n >\n {{ skipText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"confirm-verify-user-footer\" [context]=\"context\">\n </amplify-slot>\n </form>\n</div>\n"
|
|
41
|
+
template: "<div data-amplify-container>\n <form data-amplify-form (input)=\"onInput($event)\" (submit)=\"onSubmit($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-verify-user-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"confirmation_code\"\n type=\"number\"\n autocomplete=\"one-time-code\"\n [labelHidden]=\"grabField('confirmation_code', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirmation_code', 'placeholder', null)\"\n [required]=\"grabField('confirmation_code', 'required', true)\"\n [label]=\"grabField('confirmation_code', 'label', null)\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ submitText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.skipVerification()\"\n >\n {{ skipText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"confirm-verify-user-footer\" [context]=\"context\">\n </amplify-slot>\n </form>\n</div>\n"
|
|
30
42
|
},] }
|
|
31
43
|
];
|
|
32
44
|
ConfirmVerifyUserComponent.ctorParameters = () => [
|
|
@@ -36,4 +48,4 @@ ConfirmVerifyUserComponent.propDecorators = {
|
|
|
36
48
|
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-confirmverifyuser',] }],
|
|
37
49
|
headerText: [{ type: Input }]
|
|
38
50
|
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1jb25maXJtLXZlcmlmeS11c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9jb25maXJtLXZlcmlmeS11c2VyL2FtcGxpZnktY29uZmlybS12ZXJpZnktdXNlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFFTCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLFNBQVMsR0FDVixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBTWxGLE1BQU0sT0FBTywwQkFBMEI7SUFZckMsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBVnRELGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDRSxlQUFVLEdBQUcsU0FBUyxDQUNwQyx3REFBd0QsQ0FDekQsQ0FBQztRQUVGLG1CQUFtQjtRQUNaLGFBQVEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsZUFBVSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUdpQixDQUFDO0lBRTFELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLGFBQWE7O1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLGVBQ2hCLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLDBDQUFFLFVBQVUsMENBQUUsaUJBQWlCLENBQUM7SUFDakUsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLFFBQVE7O1FBQ3BELHlCQUFPLElBQUksQ0FBQyxhQUFhLDBDQUFHLElBQUksMkNBQUksS0FBSyxvQ0FBSyxRQUFRLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7WUE3Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLGtoREFBMkQ7YUFDNUQ7OztZQUxRLG9CQUFvQjs7O3VCQU8xQixXQUFXLFNBQUMsbURBQW1EO3lCQUUvRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZm9ybUZpZWxkLFxuICBnZXRBY3RvclN0YXRlLFxuICBnZXRGb3JtRGF0YUZyb21FdmVudCxcbiAgdHJhbnNsYXRlLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LWNvbmZpcm0tdmVyaWZ5LXVzZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYW1wbGlmeS1jb25maXJtLXZlcmlmeS11c2VyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybVZlcmlmeVVzZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3ItY29uZmlybXZlcmlmeXVzZXInKVxuICBkYXRhQXR0ciA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgaGVhZGVyVGV4dCA9IHRyYW5zbGF0ZShcbiAgICAnQWNjb3VudCByZWNvdmVyeSByZXF1aXJlcyB2ZXJpZmllZCBjb250YWN0IGluZm9ybWF0aW9uJ1xuICApO1xuXG4gIC8vIHRyYW5zbGF0ZWQgdGV4dHNcbiAgcHVibGljIHNraXBUZXh0ID0gdHJhbnNsYXRlKCdTa2lwJyk7XG4gIHB1YmxpYyBzdWJtaXRUZXh0ID0gdHJhbnNsYXRlKCdTdWJtaXQnKTtcbiAgcHVibGljIGZvcm1PdmVycmlkZXM6IGZvcm1GaWVsZDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aGVudGljYXRvcjogQXV0aGVudGljYXRvclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRGb3JtRmllbGRzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Rm9ybUZpZWxkcygpIHtcbiAgICBjb25zdCBfc3RhdGUgPSB0aGlzLmF1dGhlbnRpY2F0b3IuYXV0aFN0YXRlO1xuICAgIHRoaXMuZm9ybU92ZXJyaWRlcyA9XG4gICAgICBnZXRBY3RvclN0YXRlKF9zdGF0ZSkuY29udGV4dD8uZm9ybUZpZWxkcz8uY29uZmlybVZlcmlmeVVzZXI7XG4gIH1cblxuICBwdWJsaWMgZ3JhYkZpZWxkKG5hbWU6IHN0cmluZywgZmllbGQ6IHN0cmluZywgZGVmYXVsdFYpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtT3ZlcnJpZGVzPy5bbmFtZV0/LltmaWVsZF0gPz8gZGVmYXVsdFY7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB7IG5hbWUsIHZhbHVlIH0gPSA8SFRNTElucHV0RWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnVwZGF0ZUZvcm0oeyBuYW1lLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnN1Ym1pdEZvcm0oZ2V0Rm9ybURhdGFGcm9tRXZlbnQoZXZlbnQpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
2
|
import { AuthenticatorService } from '../../../../services/authenticator.service';
|
|
3
|
-
import { getFormDataFromEvent, translate } from '@aws-amplify/ui';
|
|
3
|
+
import { getActorState, getFormDataFromEvent, translate, } from '@aws-amplify/ui';
|
|
4
4
|
export class ForceNewPasswordComponent {
|
|
5
5
|
constructor(authenticator) {
|
|
6
6
|
this.authenticator = authenticator;
|
|
@@ -10,9 +10,21 @@ export class ForceNewPasswordComponent {
|
|
|
10
10
|
this.changePasswordText = translate('Change Password');
|
|
11
11
|
this.backToSignInText = translate('Back to Sign In');
|
|
12
12
|
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
this.setFormFields();
|
|
15
|
+
}
|
|
13
16
|
get context() {
|
|
14
17
|
return this.authenticator.slotContext;
|
|
15
18
|
}
|
|
19
|
+
setFormFields() {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
const _state = this.authenticator.authState;
|
|
22
|
+
this.formOverrides = (_b = (_a = getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.forceNewPassword;
|
|
23
|
+
}
|
|
24
|
+
grabField(name, field, defaultV) {
|
|
25
|
+
var _a, _b, _c;
|
|
26
|
+
return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
|
|
27
|
+
}
|
|
16
28
|
onInput(event) {
|
|
17
29
|
event.preventDefault();
|
|
18
30
|
const { name, value } = event.target;
|
|
@@ -26,7 +38,7 @@ export class ForceNewPasswordComponent {
|
|
|
26
38
|
ForceNewPasswordComponent.decorators = [
|
|
27
39
|
{ type: Component, args: [{
|
|
28
40
|
selector: 'amplify-force-new-password',
|
|
29
|
-
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"force-new-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\n <amplify-form-field\n name=\"confirm_password\"\n
|
|
41
|
+
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"force-new-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n [labelHidden]=\"grabField('password', 'labelHidden', true)\"\n [placeholder]=\"grabField('password', 'placeholder', null)\"\n [required]=\"grabField('password', 'required', true)\"\n [label]=\"grabField('password', 'label', null)\"\n name=\"password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\n <amplify-form-field\n name=\"confirm_password\"\n type=\"password\"\n autocomplete=\"new-password\"\n [labelHidden]=\"grabField('confirm_password', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirm_password', 'placeholder', null)\"\n [required]=\"grabField('confirm_password', 'required', true)\"\n [label]=\"grabField('confirm_password', 'label', 'Confirm Password')\"\n ></amplify-form-field>\n <amplify-slot name=\"force-new-form-fields\" [context]=\"context\">\n <amplify-force-new-password-form-fields></amplify-force-new-password-form-fields>\n </amplify-slot>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ changePasswordText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"force-new-password-footer\" [context]=\"context\">\n </amplify-slot>\n </form>\n</div>\n"
|
|
30
42
|
},] }
|
|
31
43
|
];
|
|
32
44
|
ForceNewPasswordComponent.ctorParameters = () => [
|
|
@@ -36,4 +48,4 @@ ForceNewPasswordComponent.propDecorators = {
|
|
|
36
48
|
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-forcenewpassword',] }],
|
|
37
49
|
headerText: [{ type: Input }]
|
|
38
50
|
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9mb3JjZS1uZXctcGFzc3dvcmQvZm9yY2UtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUVMLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsU0FBUyxHQUNWLE1BQU0saUJBQWlCLENBQUM7QUFNekIsTUFBTSxPQUFPLHlCQUF5QjtJQVVwQyxZQUFtQixhQUFtQztRQUFuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFSdEQsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNFLGVBQVUsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUxRCxtQkFBbUI7UUFDWix1QkFBa0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsRCxxQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUdFLENBQUM7SUFDMUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVNLGFBQWE7O1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLGVBQ2hCLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLDBDQUFFLFVBQVUsMENBQUUsZ0JBQWdCLENBQUM7SUFDaEUsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLFFBQVE7O1FBQ3BELHlCQUFPLElBQUksQ0FBQyxhQUFhLDBDQUFHLElBQUksMkNBQUksS0FBSyxvQ0FBSyxRQUFRLENBQUM7SUFDekQsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFxQixLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFZO1FBQ25CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7OztZQTFDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsK25FQUFrRDthQUNuRDs7O1lBWFEsb0JBQW9COzs7dUJBYTFCLFdBQVcsU0FBQyxrREFBa0Q7eUJBRTlELEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQge1xuICBmb3JtRmllbGQsXG4gIGdldEFjdG9yU3RhdGUsXG4gIGdldEZvcm1EYXRhRnJvbUV2ZW50LFxuICB0cmFuc2xhdGUsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktZm9yY2UtbmV3LXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZvcmNlLW5ldy1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcmNlTmV3UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3ItZm9yY2VuZXdwYXNzd29yZCcpXG4gIGRhdGFBdHRyID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBoZWFkZXJUZXh0ID0gdHJhbnNsYXRlKCdDaGFuZ2UgUGFzc3dvcmQnKTtcblxuICAvLyB0cmFuc2xhdGVkIHRleHRzXG4gIHB1YmxpYyBjaGFuZ2VQYXNzd29yZFRleHQgPSB0cmFuc2xhdGUoJ0NoYW5nZSBQYXNzd29yZCcpO1xuICBwdWJsaWMgYmFja1RvU2lnbkluVGV4dCA9IHRyYW5zbGF0ZSgnQmFjayB0byBTaWduIEluJyk7XG4gIHB1YmxpYyBmb3JtT3ZlcnJpZGVzOiBmb3JtRmllbGQ7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEZvcm1GaWVsZHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdG9yLnNsb3RDb250ZXh0O1xuICB9XG5cbiAgcHVibGljIHNldEZvcm1GaWVsZHMoKSB7XG4gICAgY29uc3QgX3N0YXRlID0gdGhpcy5hdXRoZW50aWNhdG9yLmF1dGhTdGF0ZTtcbiAgICB0aGlzLmZvcm1PdmVycmlkZXMgPVxuICAgICAgZ2V0QWN0b3JTdGF0ZShfc3RhdGUpLmNvbnRleHQ/LmZvcm1GaWVsZHM/LmZvcmNlTmV3UGFzc3dvcmQ7XG4gIH1cblxuICBwdWJsaWMgZ3JhYkZpZWxkKG5hbWU6IHN0cmluZywgZmllbGQ6IHN0cmluZywgZGVmYXVsdFYpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtT3ZlcnJpZGVzPy5bbmFtZV0/LltmaWVsZF0gPz8gZGVmYXVsdFY7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgeyBuYW1lLCB2YWx1ZSB9ID0gPEhUTUxJbnB1dEVsZW1lbnQ+ZXZlbnQudGFyZ2V0O1xuICAgIHRoaXMuYXV0aGVudGljYXRvci51cGRhdGVGb3JtKHsgbmFtZSwgdmFsdWUgfSk7XG4gIH1cblxuICBvblN1Ym1pdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuYXV0aGVudGljYXRvci5zdWJtaXRGb3JtKGdldEZvcm1EYXRhRnJvbUV2ZW50KGV2ZW50KSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -19,14 +19,15 @@ export class FormFieldComponent {
|
|
|
19
19
|
this.disabled = false;
|
|
20
20
|
this.autocomplete = '';
|
|
21
21
|
this.labelHidden = true;
|
|
22
|
-
this.
|
|
22
|
+
this.countryDialCodesValue = countryDialCodes;
|
|
23
23
|
}
|
|
24
24
|
ngOnInit() {
|
|
25
|
+
var _a;
|
|
25
26
|
// TODO: consider better default handling mechanisms across frameworks
|
|
26
27
|
if (this.isPhoneField()) {
|
|
27
28
|
const state = this.authenticator.authState;
|
|
28
29
|
const { country_code } = getActorContext(state);
|
|
29
|
-
this.
|
|
30
|
+
this.defaultCountryCodeValue = (_a = this.defaultCountryCode) !== null && _a !== void 0 ? _a : country_code;
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
get attributeMap() {
|
|
@@ -72,7 +73,7 @@ export class FormFieldComponent {
|
|
|
72
73
|
FormFieldComponent.decorators = [
|
|
73
74
|
{ type: Component, args: [{
|
|
74
75
|
selector: 'amplify-form-field',
|
|
75
|
-
template: "<div class=\"amplify-flex amplify-field\" style=\"flex-direction: column\">\n <!-- Country code field -->\n <amplify-phone-number-field\n *ngIf=\"isPhoneField()\"\n [defaultCountryCode]=\"
|
|
76
|
+
template: "<div class=\"amplify-flex amplify-field\" style=\"flex-direction: column\">\n <!-- Country code field -->\n <amplify-phone-number-field\n *ngIf=\"isPhoneField()\"\n [defaultCountryCode]=\"defaultCountryCodeValue\"\n [dialCodeList]=\"dialCodeList\"\n [type]=\"inferType()\"\n [name]=\"name\"\n [label]=\"inferLabel()\"\n [placeholder]=\"inferPlaceholder()\"\n [required]=\"required\"\n [initialValue]=\"initialValue\"\n [disabled]=\"disabled\"\n [labelHidden]=\"labelHidden\"\n [autocomplete]=\"inferAutocomplete()\"\n ></amplify-phone-number-field>\n\n <amplify-password-field\n *ngIf=\"isPasswordField()\"\n [name]=\"name\"\n [label]=\"inferLabel()\"\n [placeholder]=\"inferPlaceholder()\"\n [required]=\"required\"\n [initialValue]=\"initialValue\"\n [disabled]=\"disabled\"\n [labelHidden]=\"labelHidden\"\n [autocomplete]=\"inferAutocomplete()\"\n (setBlur)=\"onBlur($event)\"\n ></amplify-password-field>\n\n <amplify-text-field\n *ngIf=\"!isPasswordField() && !isPhoneField()\"\n [type]=\"inferType()\"\n [name]=\"name\"\n [label]=\"inferLabel()\"\n [placeholder]=\"inferPlaceholder()\"\n [required]=\"required\"\n [initialValue]=\"initialValue\"\n [disabled]=\"disabled\"\n [labelHidden]=\"labelHidden\"\n [autocomplete]=\"inferAutocomplete()\"\n ></amplify-text-field>\n\n <amplify-error *ngIf=\"error\">\n {{ error }}\n </amplify-error>\n</div>\n"
|
|
76
77
|
},] }
|
|
77
78
|
];
|
|
78
79
|
FormFieldComponent.ctorParameters = () => [
|
|
@@ -87,6 +88,8 @@ FormFieldComponent.propDecorators = {
|
|
|
87
88
|
initialValue: [{ type: Input }],
|
|
88
89
|
disabled: [{ type: Input }],
|
|
89
90
|
autocomplete: [{ type: Input }],
|
|
90
|
-
labelHidden: [{ type: Input }]
|
|
91
|
+
labelHidden: [{ type: Input }],
|
|
92
|
+
defaultCountryCode: [{ type: Input }],
|
|
93
|
+
dialCodeList: [{ type: Input }]
|
|
91
94
|
};
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBR0wsZUFBZSxFQUNmLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFbEY7Ozs7OztHQU1HO0FBS0gsTUFBTSxPQUFPLGtCQUFrQjtJQWtCN0IsWUFBb0IsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBZjlDLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFLckIsMEJBQXFCLEdBQUcsZ0JBQWdCLENBQUM7SUFJVSxDQUFDO0lBRTNELFFBQVE7O1FBQ04sc0VBQXNFO1FBQ3RFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1lBQzNDLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBMEIsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyx1QkFBdUIsU0FBRyxJQUFJLENBQUMsa0JBQWtCLG1DQUFJLFlBQVksQ0FBQztTQUN4RTtJQUNILENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxNQUFNLFdBQVcsR0FBMEIsZUFBZSxDQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FDN0IsQ0FBQztRQUNGLE1BQU0sRUFBRSxlQUFlLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFDeEMsT0FBTyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBYTtRQUN6QixJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQXFCLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFFL0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVOztRQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLFdBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLEtBQUssQ0FBQSxDQUFDO1FBQ2hFLE9BQU8sU0FBUyxDQUFTLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxnQkFBZ0I7O1FBQ2QsTUFBTSxXQUFXLEdBQ2YsSUFBSSxDQUFDLFdBQVcsV0FDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLFdBQVcsQ0FBQTtZQUN6QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFcEIsT0FBTyxTQUFTLENBQVMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxTQUFTOztRQUNQLG1CQUFPLElBQUksQ0FBQyxJQUFJLHlDQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywwQ0FBRSxJQUFJLG1DQUFJLE1BQU0sQ0FBQztJQUNuRSxDQUFDO0lBRUQsaUJBQWlCOztRQUNmLE9BQU8sSUFBSSxDQUFDLFlBQVksV0FBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMENBQUUsWUFBWSxDQUFBLENBQUM7SUFDekUsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssVUFBVSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssS0FBSyxDQUFDO0lBQ3BDLENBQUM7OztZQWpGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsbThDQUEwQzthQUMzQzs7O1lBWlEsb0JBQW9COzs7bUJBYzFCLEtBQUs7bUJBQ0wsS0FBSzt1QkFDTCxLQUFLOzBCQUNMLEtBQUs7b0JBQ0wsS0FBSzsyQkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSzswQkFDTCxLQUFLO2lDQUNMLEtBQUs7MkJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0b3JDb250ZXh0V2l0aEZvcm1zLFxuICBBdXRoSW5wdXRBdHRyaWJ1dGVzLFxuICBnZXRBY3RvckNvbnRleHQsXG4gIHRyYW5zbGF0ZSxcbiAgY291bnRyeURpYWxDb2Rlcyxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IGdldEF0dHJpYnV0ZU1hcCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5cbi8qKlxuICogSW5wdXQgaW50ZXJmYWNlIG9waW5pb25hdGVkIGZvciBhdXRoZW50aWNhdG9yIHVzYWdlLlxuICpcbiAqIFRPRE86IFNlcGFyYXRlIHRoaXMgY29tcG9uZW50IG91dCB0byB0d28gcGFydHMgLS0gMSkgYW1wbGlmeS1hdXRoLWlucHV0IHRoYXRcbiAqIGNvbnRhaW5zIGF1dGhlbnRpY2F0b3Igb3BpbmlvbmF0ZWQgbG9naWMgYW5kIDIpIGFtcGxpZnktdGV4dC1maWVsZCBwcmltaXRpdmVcbiAqIHRoYXQgZG9lcyBub3QgbWFrZSBhbnkgYXV0aC1yZWxhdGVkIGluZmVyZW5jZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1mb3JtLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcbiAgQElucHV0KCkgcmVxdWlyZWQgPSB0cnVlO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICBASW5wdXQoKSBpbml0aWFsVmFsdWUgPSAnJztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsSGlkZGVuID0gdHJ1ZTtcbiAgQElucHV0KCkgZGVmYXVsdENvdW50cnlDb2RlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpYWxDb2RlTGlzdDogQXJyYXk8c3RyaW5nPjtcblxuICBwdWJsaWMgZGVmYXVsdENvdW50cnlDb2RlVmFsdWU6IHN0cmluZztcbiAgcHVibGljIGNvdW50cnlEaWFsQ29kZXNWYWx1ZSA9IGNvdW50cnlEaWFsQ29kZXM7XG4gIHB1YmxpYyB0ZXh0RmllbGRJZDogc3RyaW5nO1xuICBwdWJsaWMgc2VsZWN0RmllbGRJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aGVudGljYXRvcjogQXV0aGVudGljYXRvclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gVE9ETzogY29uc2lkZXIgYmV0dGVyIGRlZmF1bHQgaGFuZGxpbmcgbWVjaGFuaXNtcyBhY3Jvc3MgZnJhbWV3b3Jrc1xuICAgIGlmICh0aGlzLmlzUGhvbmVGaWVsZCgpKSB7XG4gICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuYXV0aGVudGljYXRvci5hdXRoU3RhdGU7XG4gICAgICBjb25zdCB7IGNvdW50cnlfY29kZSB9OiBBY3RvckNvbnRleHRXaXRoRm9ybXMgPSBnZXRBY3RvckNvbnRleHQoc3RhdGUpO1xuICAgICAgdGhpcy5kZWZhdWx0Q291bnRyeUNvZGVWYWx1ZSA9IHRoaXMuZGVmYXVsdENvdW50cnlDb2RlID8/IGNvdW50cnlfY29kZTtcbiAgICB9XG4gIH1cblxuICBnZXQgYXR0cmlidXRlTWFwKCk6IEF1dGhJbnB1dEF0dHJpYnV0ZXMge1xuICAgIHJldHVybiBnZXRBdHRyaWJ1dGVNYXAoKTtcbiAgfVxuXG4gIGdldCBlcnJvcigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZvcm1Db250ZXh0OiBBY3RvckNvbnRleHRXaXRoRm9ybXMgPSBnZXRBY3RvckNvbnRleHQoXG4gICAgICB0aGlzLmF1dGhlbnRpY2F0b3IuYXV0aFN0YXRlXG4gICAgKTtcbiAgICBjb25zdCB7IHZhbGlkYXRpb25FcnJvciB9ID0gZm9ybUNvbnRleHQ7XG4gICAgcmV0dXJuIHRyYW5zbGF0ZSh2YWxpZGF0aW9uRXJyb3JbdGhpcy5uYW1lXSk7XG4gIH1cblxuICBwdWJsaWMgb25CbHVyKCRldmVudDogRXZlbnQpIHtcbiAgICBsZXQgeyBuYW1lIH0gPSA8SFRNTElucHV0RWxlbWVudD4kZXZlbnQudGFyZ2V0O1xuXG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnVwZGF0ZUJsdXIoeyBuYW1lIH0pO1xuICB9XG5cbiAgaW5mZXJMYWJlbCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5sYWJlbCB8fCB0aGlzLmF0dHJpYnV0ZU1hcFt0aGlzLm5hbWVdPy5sYWJlbDtcbiAgICByZXR1cm4gdHJhbnNsYXRlPHN0cmluZz4obGFiZWwpO1xuICB9XG5cbiAgaW5mZXJQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBsYWNlaG9sZGVyID1cbiAgICAgIHRoaXMucGxhY2Vob2xkZXIgfHxcbiAgICAgIHRoaXMuYXR0cmlidXRlTWFwW3RoaXMubmFtZV0/LnBsYWNlaG9sZGVyIHx8XG4gICAgICB0aGlzLmluZmVyTGFiZWwoKTtcblxuICAgIHJldHVybiB0cmFuc2xhdGU8c3RyaW5nPihwbGFjZWhvbGRlcik7XG4gIH1cblxuICAvLyBpbmZlcnMgd2hhdCB0aGUgYHR5cGVgIG9mIHVuZGVybHlpbmcgaW5wdXQgZWxlbWVudCBzaG91bGQgYmUuXG4gIGluZmVyVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPz8gdGhpcy5hdHRyaWJ1dGVNYXBbdGhpcy5uYW1lXT8udHlwZSA/PyAndGV4dCc7XG4gIH1cblxuICBpbmZlckF1dG9jb21wbGV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZSB8fCB0aGlzLmF0dHJpYnV0ZU1hcFt0aGlzLm5hbWVdPy5hdXRvY29tcGxldGU7XG4gIH1cblxuICAvLyBUT0RPKGVuaGFuY2VtZW50KTogdXNlIGVudW0gdG8gZGlmZmVyZW50aWF0ZSBzcGVjaWFsIGZpZWxkIHR5cGVzXG4gIGlzUGFzc3dvcmRGaWVsZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbmZlclR5cGUoKSA9PT0gJ3Bhc3N3b3JkJztcbiAgfVxuXG4gIGlzUGhvbmVGaWVsZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbmZlclR5cGUoKSA9PT0gJ3RlbCc7XG4gIH1cbn1cbiJdfQ==
|
package/esm2015/lib/components/authenticator/components/reset-password/reset-password.component.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
2
|
import { AuthenticatorService } from '../../../../services/authenticator.service';
|
|
3
|
-
import { getAliasInfoFromContext, getFormDataFromEvent, translate, } from '@aws-amplify/ui';
|
|
3
|
+
import { getActorState, getAliasInfoFromContext, getFormDataFromEvent, translate, } from '@aws-amplify/ui';
|
|
4
4
|
export class ResetPasswordComponent {
|
|
5
5
|
constructor(authenticator) {
|
|
6
6
|
this.authenticator = authenticator;
|
|
@@ -15,6 +15,16 @@ export class ResetPasswordComponent {
|
|
|
15
15
|
const { authState } = this.authenticator;
|
|
16
16
|
const { label } = getAliasInfoFromContext(authState.context);
|
|
17
17
|
this.labelText = `Enter your ${label.toLowerCase()}`;
|
|
18
|
+
this.setFormFields();
|
|
19
|
+
}
|
|
20
|
+
setFormFields() {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
const _state = this.authenticator.authState;
|
|
23
|
+
this.formOverrides = (_b = (_a = getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.resetPassword;
|
|
24
|
+
}
|
|
25
|
+
grabField(name, field, defaultV) {
|
|
26
|
+
var _a, _b, _c;
|
|
27
|
+
return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
|
|
18
28
|
}
|
|
19
29
|
get context() {
|
|
20
30
|
return this.authenticator.slotContext;
|
|
@@ -32,7 +42,7 @@ export class ResetPasswordComponent {
|
|
|
32
42
|
ResetPasswordComponent.decorators = [
|
|
33
43
|
{ type: Component, args: [{
|
|
34
44
|
selector: 'amplify-reset-password',
|
|
35
|
-
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot\n class=\"amplify-flex\"\n name=\"reset-password-header\"\n [context]=\"context\"\n >\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <amplify-form-field\n name=\"username\"\n type=\"username\"\n autocomplete=\"username\"\n [
|
|
45
|
+
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot\n class=\"amplify-flex\"\n name=\"reset-password-header\"\n [context]=\"context\"\n >\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <amplify-form-field\n name=\"username\"\n type=\"username\"\n autocomplete=\"username\"\n [labelHidden]=\"grabField('username', 'labelHidden', true)\"\n [required]=\"grabField('username', 'required', true)\"\n [label]=\"grabField('username', 'label', labelText)\"\n [placeholder]=\"grabField('username', 'placeholder', labelText)\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ sendCodeText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n\n <amplify-slot name=\"reset-password-footer\" [context]=\"context\">\n </amplify-slot>\n </form>\n</div>\n"
|
|
36
46
|
},] }
|
|
37
47
|
];
|
|
38
48
|
ResetPasswordComponent.ctorParameters = () => [
|
|
@@ -42,4 +52,4 @@ ResetPasswordComponent.propDecorators = {
|
|
|
42
52
|
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-resetPassword',] }],
|
|
43
53
|
headerText: [{ type: Input }]
|
|
44
54
|
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYXV0aGVudGljYXRvci9jb21wb25lbnRzL3Jlc2V0LXBhc3N3b3JkL3Jlc2V0LXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUVMLGFBQWEsRUFDYix1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLFNBQVMsR0FDVixNQUFNLGlCQUFpQixDQUFDO0FBTXpCLE1BQU0sT0FBTyxzQkFBc0I7SUFVakMsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBVFEsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUM1RCxlQUFVLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFOUQsbUJBQW1CO1FBQ1osaUJBQVksR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEMscUJBQWdCLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsY0FBUyxHQUFHLFNBQVMsQ0FBUyxVQUFVLENBQUMsQ0FBQztJQUdRLENBQUM7SUFFMUQsUUFBUTtRQUNOLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxjQUFjLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sYUFBYTs7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDNUMsSUFBSSxDQUFDLGFBQWEsZUFDaEIsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sMENBQUUsVUFBVSwwQ0FBRSxhQUFhLENBQUM7SUFDN0QsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLFFBQVE7O1FBQ3BELHlCQUFPLElBQUksQ0FBQyxhQUFhLDBDQUFHLElBQUksMkNBQUksS0FBSyxvQ0FBSyxRQUFRLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7WUE5Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLGdpREFBOEM7YUFDL0M7OztZQVpRLG9CQUFvQjs7O3VCQWMxQixXQUFXLFNBQUMsK0NBQStDO3lCQUMzRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgZm9ybUZpZWxkLFxuICBnZXRBY3RvclN0YXRlLFxuICBnZXRBbGlhc0luZm9Gcm9tQ29udGV4dCxcbiAgZ2V0Rm9ybURhdGFGcm9tRXZlbnQsXG4gIHRyYW5zbGF0ZSxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1yZXNldC1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNldC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlc2V0UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3ItcmVzZXRQYXNzd29yZCcpIGRhdGFBdHRyID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBoZWFkZXJUZXh0ID0gdHJhbnNsYXRlKCdSZXNldCB5b3VyIHBhc3N3b3JkJyk7XG5cbiAgLy8gdHJhbnNsYXRlZCB0ZXh0c1xuICBwdWJsaWMgc2VuZENvZGVUZXh0ID0gdHJhbnNsYXRlKCdTZW5kIENvZGUnKTtcbiAgcHVibGljIGJhY2tUb1NpZ25JblRleHQgPSB0cmFuc2xhdGUoJ0JhY2sgdG8gU2lnbiBJbicpO1xuICBwdWJsaWMgbGFiZWxUZXh0ID0gdHJhbnNsYXRlPHN0cmluZz4oJ1VzZXJuYW1lJyk7XG4gIHB1YmxpYyBmb3JtT3ZlcnJpZGVzOiBmb3JtRmllbGQ7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgYXV0aFN0YXRlIH0gPSB0aGlzLmF1dGhlbnRpY2F0b3I7XG4gICAgY29uc3QgeyBsYWJlbCB9ID0gZ2V0QWxpYXNJbmZvRnJvbUNvbnRleHQoYXV0aFN0YXRlLmNvbnRleHQpO1xuICAgIHRoaXMubGFiZWxUZXh0ID0gYEVudGVyIHlvdXIgJHtsYWJlbC50b0xvd2VyQ2FzZSgpfWA7XG4gICAgdGhpcy5zZXRGb3JtRmllbGRzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Rm9ybUZpZWxkcygpIHtcbiAgICBjb25zdCBfc3RhdGUgPSB0aGlzLmF1dGhlbnRpY2F0b3IuYXV0aFN0YXRlO1xuICAgIHRoaXMuZm9ybU92ZXJyaWRlcyA9XG4gICAgICBnZXRBY3RvclN0YXRlKF9zdGF0ZSkuY29udGV4dD8uZm9ybUZpZWxkcz8ucmVzZXRQYXNzd29yZDtcbiAgfVxuXG4gIHB1YmxpYyBncmFiRmllbGQobmFtZTogc3RyaW5nLCBmaWVsZDogc3RyaW5nLCBkZWZhdWx0Vikge1xuICAgIHJldHVybiB0aGlzLmZvcm1PdmVycmlkZXM/LltuYW1lXT8uW2ZpZWxkXSA/PyBkZWZhdWx0VjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdG9yLnNsb3RDb250ZXh0O1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlRm9ybSh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3Iuc3VibWl0Rm9ybShnZXRGb3JtRGF0YUZyb21FdmVudChldmVudCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -2,7 +2,7 @@ import { __awaiter } from "tslib";
|
|
|
2
2
|
import { Component, HostBinding } from '@angular/core';
|
|
3
3
|
import QRCode from 'qrcode';
|
|
4
4
|
import { Auth, Logger } from 'aws-amplify';
|
|
5
|
-
import { getActorContext, getFormDataFromEvent, } from '@aws-amplify/ui';
|
|
5
|
+
import { getActorContext, getActorState, getFormDataFromEvent, } from '@aws-amplify/ui';
|
|
6
6
|
import { AuthenticatorService } from '../../../../services/authenticator.service';
|
|
7
7
|
import { translate } from '@aws-amplify/ui';
|
|
8
8
|
const logger = new Logger('SetupTotp');
|
|
@@ -20,11 +20,22 @@ export class SetupTotpComponent {
|
|
|
20
20
|
}
|
|
21
21
|
ngOnInit() {
|
|
22
22
|
this.generateQRCode();
|
|
23
|
+
this.setFormFields();
|
|
24
|
+
}
|
|
25
|
+
setFormFields() {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
const _state = this.authenticator.authState;
|
|
28
|
+
this.formOverrides = (_b = (_a = getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.setupTOTP;
|
|
29
|
+
}
|
|
30
|
+
grabField(name, field, defaultV) {
|
|
31
|
+
var _a, _b, _c;
|
|
32
|
+
return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
|
|
23
33
|
}
|
|
24
34
|
get context() {
|
|
25
35
|
return this.authenticator.slotContext;
|
|
26
36
|
}
|
|
27
37
|
generateQRCode() {
|
|
38
|
+
var _a, _b, _c, _d, _e, _f;
|
|
28
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
40
|
// TODO: This should be handled in core.
|
|
30
41
|
const state = this.authenticator.authState;
|
|
@@ -32,8 +43,9 @@ export class SetupTotpComponent {
|
|
|
32
43
|
const { user } = actorContext;
|
|
33
44
|
try {
|
|
34
45
|
this.secretKey = yield Auth.setupTOTP(user);
|
|
35
|
-
const issuer = 'AWSCognito';
|
|
36
|
-
const
|
|
46
|
+
const issuer = (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a['QR']) === null || _b === void 0 ? void 0 : _b.totpIssuer) !== null && _c !== void 0 ? _c : 'AWSCognito';
|
|
47
|
+
const username = (_f = (_e = (_d = this.formOverrides) === null || _d === void 0 ? void 0 : _d['QR']) === null || _e === void 0 ? void 0 : _e.totpUsername) !== null && _f !== void 0 ? _f : user.username;
|
|
48
|
+
const totpCode = `otpauth://totp/${issuer}:${username}?secret=${this.secretKey}&issuer=${issuer}`;
|
|
37
49
|
logger.info('totp code was generated:', totpCode);
|
|
38
50
|
this.qrCodeSource = yield QRCode.toDataURL(totpCode);
|
|
39
51
|
}
|
|
@@ -59,7 +71,7 @@ export class SetupTotpComponent {
|
|
|
59
71
|
SetupTotpComponent.decorators = [
|
|
60
72
|
{ type: Component, args: [{
|
|
61
73
|
selector: 'amplify-setup-totp',
|
|
62
|
-
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n width=\"228\"\n height=\"228\"\n />\n <div class=\"amplify-flex\" data-amplify-copy>\n <div>{{ secretKey }}</div>\n <div data-amplify-copy-svg (click)=\"copyText()\">\n <div data-amplify-copy-tooltip>{{ copyTextLabel }}</div>\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM15 5H8C6.9 5 6.01 5.9 6.01 7L6 21C6 22.1 6.89 23 7.99 23H19C20.1 23 21 22.1 21 21V11L15 5ZM8 21V7H14V12H19V21H8Z\"\n fill=\"black\"\n />\n </svg>\n </div>\n </div>\n\n <amplify-form-field\n name=\"confirmation_code\"\n
|
|
74
|
+
template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n width=\"228\"\n height=\"228\"\n />\n <div class=\"amplify-flex\" data-amplify-copy>\n <div>{{ secretKey }}</div>\n <div data-amplify-copy-svg (click)=\"copyText()\">\n <div data-amplify-copy-tooltip>{{ copyTextLabel }}</div>\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM15 5H8C6.9 5 6.01 5.9 6.01 7L6 21C6 22.1 6.89 23 7.99 23H19C20.1 23 21 22.1 21 21V11L15 5ZM8 21V7H14V12H19V21H8Z\"\n fill=\"black\"\n />\n </svg>\n </div>\n </div>\n\n <amplify-form-field\n name=\"confirmation_code\"\n type=\"text\"\n autocomplete=\"one-time-code\"\n [labelHidden]=\"grabField('confirmation_code', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirmation_code', 'placeholder', null)\"\n [required]=\"grabField('confirmation_code', 'required', true)\"\n [label]=\"grabField('confirmation_code', 'label', 'Code *')\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"setup-totp-footer\" [context]=\"context\"> </amplify-slot>\n </form>\n</div>\n"
|
|
63
75
|
},] }
|
|
64
76
|
];
|
|
65
77
|
SetupTotpComponent.ctorParameters = () => [
|
|
@@ -68,4 +80,4 @@ SetupTotpComponent.ctorParameters = () => [
|
|
|
68
80
|
SetupTotpComponent.propDecorators = {
|
|
69
81
|
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-setup-totp',] }]
|
|
70
82
|
};
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdG90cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2V0dXAtdG90cC9zZXR1cC10b3RwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFFTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLG9CQUFvQixHQUVyQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQU12QyxNQUFNLE9BQU8sa0JBQWtCO0lBWTdCLFlBQW1CLGFBQW1DO1FBQW5DLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQVhLLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEUsZUFBVSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2Ysa0JBQWEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekMsbUJBQW1CO1FBQ1oscUJBQWdCLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsZ0JBQVcsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFHZSxDQUFDO0lBRTFELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxhQUFhOztRQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxlQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLDBDQUFFLFVBQVUsMENBQUUsU0FBUyxDQUFDO0lBQzVFLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxRQUFROztRQUNwRCx5QkFBTyxJQUFJLENBQUMsYUFBYSwwQ0FBRyxJQUFJLDJDQUFJLEtBQUssb0NBQUssUUFBUSxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRUssY0FBYzs7O1lBQ2xCLHdDQUF3QztZQUN4QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUMzQyxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFrQixDQUFDO1lBQzdELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLENBQUM7WUFDOUIsSUFBSTtnQkFDRixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUMsTUFBTSxNQUFNLHFCQUFHLElBQUksQ0FBQyxhQUFhLDBDQUFHLElBQUksMkNBQUcsVUFBVSxtQ0FBSSxZQUFZLENBQUM7Z0JBQ3RFLE1BQU0sUUFBUSxxQkFDWixJQUFJLENBQUMsYUFBYSwwQ0FBRyxJQUFJLDJDQUFHLFlBQVksbUNBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDNUQsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLE1BQU0sSUFBSSxRQUFRLFdBQVcsSUFBSSxDQUFDLFNBQVMsV0FBVyxNQUFNLEVBQUUsQ0FBQztnQkFFbEcsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEQ7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25COztLQUNGO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQXFCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVk7UUFDbkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFFBQVE7UUFDTixTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7O1lBckVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixrNkVBQTBDO2FBQzNDOzs7WUFSUSxvQkFBb0I7Ozt1QkFVMUIsV0FBVyxTQUFDLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFFSQ29kZSBmcm9tICdxcmNvZGUnO1xuaW1wb3J0IHsgQXV0aCwgTG9nZ2VyIH0gZnJvbSAnYXdzLWFtcGxpZnknO1xuaW1wb3J0IHtcbiAgZm9ybUZpZWxkLFxuICBnZXRBY3RvckNvbnRleHQsXG4gIGdldEFjdG9yU3RhdGUsXG4gIGdldEZvcm1EYXRhRnJvbUV2ZW50LFxuICBTaWduSW5Db250ZXh0LFxufSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgdHJhbnNsYXRlIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcignU2V0dXBUb3RwJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktc2V0dXAtdG90cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXR1cC10b3RwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2V0dXBUb3RwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtYW1wbGlmeS1hdXRoZW50aWNhdG9yLXNldHVwLXRvdHAnKSBkYXRhQXR0ciA9ICcnO1xuICBwdWJsaWMgaGVhZGVyVGV4dCA9IHRyYW5zbGF0ZSgnU2V0dXAgVE9UUCcpO1xuICBwdWJsaWMgcXJDb2RlU291cmNlID0gJyc7XG4gIHB1YmxpYyBzZWNyZXRLZXkgPSAnJztcbiAgcHVibGljIGNvcHlUZXh0TGFiZWwgPSB0cmFuc2xhdGUoJ0NPUFknKTtcblxuICAvLyB0cmFuc2xhdGVkIHRleHRzXG4gIHB1YmxpYyBiYWNrVG9TaWduSW5UZXh0ID0gdHJhbnNsYXRlKCdCYWNrIHRvIFNpZ24gSW4nKTtcbiAgcHVibGljIGNvbmZpcm1UZXh0ID0gdHJhbnNsYXRlKCdDb25maXJtJyk7XG4gIHB1YmxpYyBmb3JtT3ZlcnJpZGVzOiBmb3JtRmllbGQ7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2VuZXJhdGVRUkNvZGUoKTtcbiAgICB0aGlzLnNldEZvcm1GaWVsZHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGb3JtRmllbGRzKCkge1xuICAgIGNvbnN0IF9zdGF0ZSA9IHRoaXMuYXV0aGVudGljYXRvci5hdXRoU3RhdGU7XG4gICAgdGhpcy5mb3JtT3ZlcnJpZGVzID0gZ2V0QWN0b3JTdGF0ZShfc3RhdGUpLmNvbnRleHQ/LmZvcm1GaWVsZHM/LnNldHVwVE9UUDtcbiAgfVxuXG4gIHB1YmxpYyBncmFiRmllbGQobmFtZTogc3RyaW5nLCBmaWVsZDogc3RyaW5nLCBkZWZhdWx0Vikge1xuICAgIHJldHVybiB0aGlzLmZvcm1PdmVycmlkZXM/LltuYW1lXT8uW2ZpZWxkXSA/PyBkZWZhdWx0VjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdG9yLnNsb3RDb250ZXh0O1xuICB9XG5cbiAgYXN5bmMgZ2VuZXJhdGVRUkNvZGUoKSB7XG4gICAgLy8gVE9ETzogVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBpbiBjb3JlLlxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5hdXRoZW50aWNhdG9yLmF1dGhTdGF0ZTtcbiAgICBjb25zdCBhY3RvckNvbnRleHQgPSBnZXRBY3RvckNvbnRleHQoc3RhdGUpIGFzIFNpZ25JbkNvbnRleHQ7XG4gICAgY29uc3QgeyB1c2VyIH0gPSBhY3RvckNvbnRleHQ7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc2VjcmV0S2V5ID0gYXdhaXQgQXV0aC5zZXR1cFRPVFAodXNlcik7XG4gICAgICBjb25zdCBpc3N1ZXIgPSB0aGlzLmZvcm1PdmVycmlkZXM/LlsnUVInXT8udG90cElzc3VlciA/PyAnQVdTQ29nbml0byc7XG4gICAgICBjb25zdCB1c2VybmFtZSA9XG4gICAgICAgIHRoaXMuZm9ybU92ZXJyaWRlcz8uWydRUiddPy50b3RwVXNlcm5hbWUgPz8gdXNlci51c2VybmFtZTtcbiAgICAgIGNvbnN0IHRvdHBDb2RlID0gYG90cGF1dGg6Ly90b3RwLyR7aXNzdWVyfToke3VzZXJuYW1lfT9zZWNyZXQ9JHt0aGlzLnNlY3JldEtleX0maXNzdWVyPSR7aXNzdWVyfWA7XG5cbiAgICAgIGxvZ2dlci5pbmZvKCd0b3RwIGNvZGUgd2FzIGdlbmVyYXRlZDonLCB0b3RwQ29kZSk7XG4gICAgICB0aGlzLnFyQ29kZVNvdXJjZSA9IGF3YWl0IFFSQ29kZS50b0RhdGFVUkwodG90cENvZGUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nZ2VyLmVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlRm9ybSh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3Iuc3VibWl0Rm9ybShnZXRGb3JtRGF0YUZyb21FdmVudChldmVudCkpO1xuICB9XG5cbiAgY29weVRleHQoKTogdm9pZCB7XG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGhpcy5zZWNyZXRLZXkpO1xuICAgIHRoaXMuY29weVRleHRMYWJlbCA9IHRyYW5zbGF0ZSgnQ09QSUVEJyk7XG4gIH1cbn1cbiJdfQ==
|