@aws-amplify/ui-angular 2.0.3 → 2.0.7
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 +65 -17
- 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 +6 -2
- package/esm2015/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.js +18 -2
- package/esm2015/lib/components/authenticator/components/form-field/form-field.component.js +2 -2
- package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +10 -4
- package/esm2015/lib/components/authenticator/components/sign-in/sign-in.component.js +7 -4
- package/esm2015/lib/primitives/tab-item/tab-item.component.js +5 -3
- package/esm2015/lib/services/authenticator.service.js +7 -2
- package/fesm2015/aws-amplify-ui-angular.js +45 -10
- package/fesm2015/aws-amplify-ui-angular.js.map +1 -1
- package/lib/components/authenticator/components/authenticator/authenticator.component.d.ts +4 -0
- package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +3 -0
- package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +3 -0
- package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +5 -0
- package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +3 -0
- package/lib/components/authenticator/components/force-new-password/force-new-password.component.d.ts +3 -0
- package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +3 -0
- package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +6 -0
- package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +3 -0
- package/lib/components/authenticator/components/sign-up/sign-up.component.d.ts +3 -0
- package/lib/components/authenticator/components/verify-user/verify-user.component.d.ts +3 -0
- package/lib/primitives/tab-item/tab-item.component.d.ts +1 -0
- package/lib/services/authenticator.service.d.ts +4 -0
- package/package.json +3 -3
- package/theme.css +12 -0
|
@@ -40,7 +40,7 @@ export class FormFieldComponent {
|
|
|
40
40
|
get error() {
|
|
41
41
|
const formContext = getActorContext(this.authenticator.authState);
|
|
42
42
|
const { validationError } = formContext;
|
|
43
|
-
return validationError[this.name];
|
|
43
|
+
return translate(validationError[this.name]);
|
|
44
44
|
}
|
|
45
45
|
onBlur($event) {
|
|
46
46
|
let { name } = $event.target;
|
|
@@ -94,4 +94,4 @@ FormFieldComponent.propDecorators = {
|
|
|
94
94
|
autocomplete: [{ type: Input }],
|
|
95
95
|
labelHidden: [{ type: Input }]
|
|
96
96
|
};
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBR0wsZUFBZSxFQUNmLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFbEY7Ozs7OztHQU1HO0FBS0gsTUFBTSxPQUFPLGtCQUFrQjtJQWdCN0IsWUFBb0IsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBYjlDLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFHckIscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFJZSxDQUFDO0lBRTNELFFBQVE7UUFDTixzRUFBc0U7UUFDdEUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDM0MsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUEwQixlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQztZQUV2QyxnQ0FBZ0M7WUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7Z0JBQzVCLElBQUksRUFBRSxjQUFjO2dCQUNwQixLQUFLLEVBQUUsWUFBWTthQUNwQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxNQUFNLFdBQVcsR0FBMEIsZUFBZSxDQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FDN0IsQ0FBQztRQUNGLE1BQU0sRUFBRSxlQUFlLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFDeEMsT0FBTyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBYTtRQUN6QixJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQXFCLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFFL0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVOztRQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLFdBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLEtBQUssQ0FBQSxDQUFDO1FBQ2hFLE9BQU8sU0FBUyxDQUFTLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxnQkFBZ0I7O1FBQ2QsTUFBTSxXQUFXLEdBQ2YsSUFBSSxDQUFDLFdBQVcsV0FDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLFdBQVcsQ0FBQTtZQUN6QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsT0FBTyxTQUFTLENBQVMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxTQUFTOztRQUNQLG1CQUFPLElBQUksQ0FBQyxJQUFJLHlDQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywwQ0FBRSxJQUFJLG1DQUFJLE1BQU0sQ0FBQztJQUNuRSxDQUFDO0lBRUQsaUJBQWlCOztRQUNmLE9BQU8sSUFBSSxDQUFDLFlBQVksV0FBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMENBQUUsWUFBWSxDQUFBLENBQUM7SUFDekUsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssVUFBVSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssS0FBSyxDQUFDO0lBQ3BDLENBQUM7OztZQXBGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIseTVDQUEwQzthQUMzQzs7O1lBWlEsb0JBQW9COzs7bUJBYzFCLEtBQUs7bUJBQ0wsS0FBSzt1QkFDTCxLQUFLOzBCQUNMLEtBQUs7b0JBQ0wsS0FBSzsyQkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSzswQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RvckNvbnRleHRXaXRoRm9ybXMsXG4gIEF1dGhJbnB1dEF0dHJpYnV0ZXMsXG4gIGdldEFjdG9yQ29udGV4dCxcbiAgdHJhbnNsYXRlLFxuICBjb3VudHJ5RGlhbENvZGVzLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgZ2V0QXR0cmlidXRlTWFwIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci5zZXJ2aWNlJztcblxuLyoqXG4gKiBJbnB1dCBpbnRlcmZhY2Ugb3BpbmlvbmF0ZWQgZm9yIGF1dGhlbnRpY2F0b3IgdXNhZ2UuXG4gKlxuICogVE9ETzogU2VwYXJhdGUgdGhpcyBjb21wb25lbnQgb3V0IHRvIHR3byBwYXJ0cyAtLSAxKSBhbXBsaWZ5LWF1dGgtaW5wdXQgdGhhdFxuICogY29udGFpbnMgYXV0aGVudGljYXRvciBvcGluaW9uYXRlZCBsb2dpYyBhbmQgMikgYW1wbGlmeS10ZXh0LWZpZWxkIHByaW1pdGl2ZVxuICogdGhhdCBkb2VzIG5vdCBtYWtlIGFueSBhdXRoLXJlbGF0ZWQgaW5mZXJlbmNlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LWZvcm0tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xuICBASW5wdXQoKSByZXF1aXJlZCA9IHRydWU7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGluaXRpYWxWYWx1ZSA9ICcnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBhdXRvY29tcGxldGUgPSAnJztcbiAgQElucHV0KCkgbGFiZWxIaWRkZW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBkZWZhdWx0Q291bnRyeUNvZGU6IHN0cmluZztcbiAgcHVibGljIGNvdW50cnlEaWFsQ29kZXMgPSBjb3VudHJ5RGlhbENvZGVzO1xuICBwdWJsaWMgdGV4dEZpZWxkSWQ6IHN0cmluZztcbiAgcHVibGljIHNlbGVjdEZpZWxkSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFRPRE86IGNvbnNpZGVyIGJldHRlciBkZWZhdWx0IGhhbmRsaW5nIG1lY2hhbmlzbXMgYWNyb3NzIGZyYW1ld29ya3NcbiAgICBpZiAodGhpcy5pc1Bob25lRmllbGQoKSkge1xuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmF1dGhlbnRpY2F0b3IuYXV0aFN0YXRlO1xuICAgICAgY29uc3QgeyBjb3VudHJ5X2NvZGUgfTogQWN0b3JDb250ZXh0V2l0aEZvcm1zID0gZ2V0QWN0b3JDb250ZXh0KHN0YXRlKTtcbiAgICAgIHRoaXMuZGVmYXVsdENvdW50cnlDb2RlID0gY291bnRyeV9jb2RlO1xuXG4gICAgICAvLyBUT0RPOiByZW1vdmUgdGhpcyBzaWRlLWVmZmVjdFxuICAgICAgdGhpcy5hdXRoZW50aWNhdG9yLnVwZGF0ZUZvcm0oe1xuICAgICAgICBuYW1lOiAnY291bnRyeV9jb2RlJyxcbiAgICAgICAgdmFsdWU6IGNvdW50cnlfY29kZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBhdHRyaWJ1dGVNYXAoKTogQXV0aElucHV0QXR0cmlidXRlcyB7XG4gICAgcmV0dXJuIGdldEF0dHJpYnV0ZU1hcCgpO1xuICB9XG5cbiAgZ2V0IGVycm9yKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZm9ybUNvbnRleHQ6IEFjdG9yQ29udGV4dFdpdGhGb3JtcyA9IGdldEFjdG9yQ29udGV4dChcbiAgICAgIHRoaXMuYXV0aGVudGljYXRvci5hdXRoU3RhdGVcbiAgICApO1xuICAgIGNvbnN0IHsgdmFsaWRhdGlvbkVycm9yIH0gPSBmb3JtQ29udGV4dDtcbiAgICByZXR1cm4gdHJhbnNsYXRlKHZhbGlkYXRpb25FcnJvclt0aGlzLm5hbWVdKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJsdXIoJGV2ZW50OiBFdmVudCkge1xuICAgIGxldCB7IG5hbWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PiRldmVudC50YXJnZXQ7XG5cbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlQmx1cih7IG5hbWUgfSk7XG4gIH1cblxuICBpbmZlckxhYmVsKCk6IHN0cmluZyB7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLmxhYmVsIHx8IHRoaXMuYXR0cmlidXRlTWFwW3RoaXMubmFtZV0/LmxhYmVsO1xuICAgIHJldHVybiB0cmFuc2xhdGU8c3RyaW5nPihsYWJlbCk7XG4gIH1cblxuICBpbmZlclBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGxhY2Vob2xkZXIgPVxuICAgICAgdGhpcy5wbGFjZWhvbGRlciB8fFxuICAgICAgdGhpcy5hdHRyaWJ1dGVNYXBbdGhpcy5uYW1lXT8ucGxhY2Vob2xkZXIgfHxcbiAgICAgIHRoaXMuaW5mZXJMYWJlbCgpO1xuICAgIHJldHVybiB0cmFuc2xhdGU8c3RyaW5nPihwbGFjZWhvbGRlcik7XG4gIH1cblxuICAvLyBpbmZlcnMgd2hhdCB0aGUgYHR5cGVgIG9mIHVuZGVybHlpbmcgaW5wdXQgZWxlbWVudCBzaG91bGQgYmUuXG4gIGluZmVyVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPz8gdGhpcy5hdHRyaWJ1dGVNYXBbdGhpcy5uYW1lXT8udHlwZSA/PyAndGV4dCc7XG4gIH1cblxuICBpbmZlckF1dG9jb21wbGV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZSB8fCB0aGlzLmF0dHJpYnV0ZU1hcFt0aGlzLm5hbWVdPy5hdXRvY29tcGxldGU7XG4gIH1cblxuICAvLyBUT0RPKGVuaGFuY2VtZW50KTogdXNlIGVudW0gdG8gZGlmZmVyZW50aWF0ZSBzcGVjaWFsIGZpZWxkIHR5cGVzXG4gIGlzUGFzc3dvcmRGaWVsZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbmZlclR5cGUoKSA9PT0gJ3Bhc3N3b3JkJztcbiAgfVxuXG4gIGlzUGhvbmVGaWVsZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbmZlclR5cGUoKSA9PT0gJ3RlbCc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -12,6 +12,8 @@ export class SetupTotpComponent {
|
|
|
12
12
|
this.dataAttr = '';
|
|
13
13
|
this.headerText = translate('Setup TOTP');
|
|
14
14
|
this.qrCodeSource = '';
|
|
15
|
+
this.secretKey = '';
|
|
16
|
+
this.copyTextLabel = translate('COPY');
|
|
15
17
|
// translated texts
|
|
16
18
|
this.backToSignInText = translate('Back to Sign In');
|
|
17
19
|
this.confirmText = translate('Confirm');
|
|
@@ -29,9 +31,9 @@ export class SetupTotpComponent {
|
|
|
29
31
|
const actorContext = getActorContext(state);
|
|
30
32
|
const { user } = actorContext;
|
|
31
33
|
try {
|
|
32
|
-
|
|
34
|
+
this.secretKey = yield Auth.setupTOTP(user);
|
|
33
35
|
const issuer = 'AWSCognito';
|
|
34
|
-
const totpCode = `otpauth://totp/${issuer}:${user.username}?secret=${secretKey}&issuer=${issuer}`;
|
|
36
|
+
const totpCode = `otpauth://totp/${issuer}:${user.username}?secret=${this.secretKey}&issuer=${issuer}`;
|
|
35
37
|
logger.info('totp code was generated:', totpCode);
|
|
36
38
|
this.qrCodeSource = yield QRCode.toDataURL(totpCode);
|
|
37
39
|
}
|
|
@@ -49,11 +51,15 @@ export class SetupTotpComponent {
|
|
|
49
51
|
event.preventDefault();
|
|
50
52
|
this.authenticator.submitForm();
|
|
51
53
|
}
|
|
54
|
+
copyText() {
|
|
55
|
+
navigator.clipboard.writeText(this.secretKey);
|
|
56
|
+
this.copyTextLabel = translate('COPIED');
|
|
57
|
+
}
|
|
52
58
|
}
|
|
53
59
|
SetupTotpComponent.decorators = [
|
|
54
60
|
{ type: Component, args: [{
|
|
55
61
|
selector: 'amplify-setup-totp',
|
|
56
|
-
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 <amplify-form-field\n name=\"confirmation_code\"\n label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-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"
|
|
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 label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-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"
|
|
57
63
|
},] }
|
|
58
64
|
];
|
|
59
65
|
SetupTotpComponent.ctorParameters = () => [
|
|
@@ -62,4 +68,4 @@ SetupTotpComponent.ctorParameters = () => [
|
|
|
62
68
|
SetupTotpComponent.propDecorators = {
|
|
63
69
|
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-setup-totp',] }]
|
|
64
70
|
};
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdG90cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2V0dXAtdG90cC9zZXR1cC10b3RwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBTXZDLE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBVkssYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsRSxlQUFVLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixrQkFBYSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QyxtQkFBbUI7UUFDWixxQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUVlLENBQUM7SUFFMUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVLLGNBQWM7O1lBQ2xCLHdDQUF3QztZQUN4QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUMzQyxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFrQixDQUFDO1lBQzdELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLENBQUM7WUFDOUIsSUFBSTtnQkFDRixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUMsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDO2dCQUM1QixNQUFNLFFBQVEsR0FBRyxrQkFBa0IsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLFdBQVcsSUFBSSxDQUFDLFNBQVMsV0FBVyxNQUFNLEVBQUUsQ0FBQztnQkFFdkcsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEQ7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25CO1FBQ0gsQ0FBQztLQUFBO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQXFCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVk7UUFDbkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7O1lBeERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5Qiw4b0VBQTBDO2FBQzNDOzs7WUFSUSxvQkFBb0I7Ozt1QkFVMUIsV0FBVyxTQUFDLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFFSQ29kZSBmcm9tICdxcmNvZGUnO1xuaW1wb3J0IHsgQXV0aCwgTG9nZ2VyIH0gZnJvbSAnYXdzLWFtcGxpZnknO1xuaW1wb3J0IHsgZ2V0QWN0b3JDb250ZXh0LCBTaWduSW5Db250ZXh0IH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ1NldHVwVG90cCcpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LXNldHVwLXRvdHAnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2V0dXAtdG90cC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNldHVwVG90cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFtcGxpZnktYXV0aGVudGljYXRvci1zZXR1cC10b3RwJykgZGF0YUF0dHIgPSAnJztcbiAgcHVibGljIGhlYWRlclRleHQgPSB0cmFuc2xhdGUoJ1NldHVwIFRPVFAnKTtcbiAgcHVibGljIHFyQ29kZVNvdXJjZSA9ICcnO1xuICBwdWJsaWMgc2VjcmV0S2V5ID0gJyc7XG4gIHB1YmxpYyBjb3B5VGV4dExhYmVsID0gdHJhbnNsYXRlKCdDT1BZJyk7XG5cbiAgLy8gdHJhbnNsYXRlZCB0ZXh0c1xuICBwdWJsaWMgYmFja1RvU2lnbkluVGV4dCA9IHRyYW5zbGF0ZSgnQmFjayB0byBTaWduIEluJyk7XG4gIHB1YmxpYyBjb25maXJtVGV4dCA9IHRyYW5zbGF0ZSgnQ29uZmlybScpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhdXRoZW50aWNhdG9yOiBBdXRoZW50aWNhdG9yU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyYXRlUVJDb2RlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIGFzeW5jIGdlbmVyYXRlUVJDb2RlKCkge1xuICAgIC8vIFRPRE86IFRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgaW4gY29yZS5cbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuYXV0aGVudGljYXRvci5hdXRoU3RhdGU7XG4gICAgY29uc3QgYWN0b3JDb250ZXh0ID0gZ2V0QWN0b3JDb250ZXh0KHN0YXRlKSBhcyBTaWduSW5Db250ZXh0O1xuICAgIGNvbnN0IHsgdXNlciB9ID0gYWN0b3JDb250ZXh0O1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnNlY3JldEtleSA9IGF3YWl0IEF1dGguc2V0dXBUT1RQKHVzZXIpO1xuICAgICAgY29uc3QgaXNzdWVyID0gJ0FXU0NvZ25pdG8nO1xuICAgICAgY29uc3QgdG90cENvZGUgPSBgb3RwYXV0aDovL3RvdHAvJHtpc3N1ZXJ9OiR7dXNlci51c2VybmFtZX0/c2VjcmV0PSR7dGhpcy5zZWNyZXRLZXl9Jmlzc3Vlcj0ke2lzc3Vlcn1gO1xuXG4gICAgICBsb2dnZXIuaW5mbygndG90cCBjb2RlIHdhcyBnZW5lcmF0ZWQ6JywgdG90cENvZGUpO1xuICAgICAgdGhpcy5xckNvZGVTb3VyY2UgPSBhd2FpdCBRUkNvZGUudG9EYXRhVVJMKHRvdHBDb2RlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB7IG5hbWUsIHZhbHVlIH0gPSA8SFRNTElucHV0RWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnVwZGF0ZUZvcm0oeyBuYW1lLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnN1Ym1pdEZvcm0oKTtcbiAgfVxuXG4gIGNvcHlUZXh0KCk6IHZvaWQge1xuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRoaXMuc2VjcmV0S2V5KTtcbiAgICB0aGlzLmNvcHlUZXh0TGFiZWwgPSB0cmFuc2xhdGUoJ0NPUElFRCcpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { Component, HostBinding, ViewEncapsulation
|
|
1
|
+
import { Component, HostBinding, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { AuthenticatorService } from '../../../../services/authenticator.service';
|
|
3
|
-
import { translate } from '@aws-amplify/ui';
|
|
3
|
+
import { translate, hasTranslation } from '@aws-amplify/ui';
|
|
4
4
|
export class SignInComponent {
|
|
5
5
|
constructor(authenticator) {
|
|
6
6
|
this.authenticator = authenticator;
|
|
7
7
|
this.dataAttr = '';
|
|
8
8
|
// translated phrases
|
|
9
|
-
|
|
9
|
+
// Support backwards compatibility for legacy key with trailing space
|
|
10
|
+
this.forgotPasswordText = !hasTranslation('Forgot your password? ')
|
|
11
|
+
? translate('Forgot your password?')
|
|
12
|
+
: translate('Forgot your password? ');
|
|
10
13
|
this.signInButtonText = translate('Sign in');
|
|
11
14
|
}
|
|
12
15
|
get context() {
|
|
@@ -35,4 +38,4 @@ SignInComponent.ctorParameters = () => [
|
|
|
35
38
|
SignInComponent.propDecorators = {
|
|
36
39
|
dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-signin',] }]
|
|
37
40
|
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1pbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2lnbi1pbi9zaWduLWluLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTzVELE1BQU0sT0FBTyxlQUFlO0lBVTFCLFlBQW1CLGFBQW1DO1FBQW5DLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQVRDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFckUscUJBQXFCO1FBQ3JCLHFFQUFxRTtRQUM5RCx1QkFBa0IsR0FBRyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQztZQUNuRSxDQUFDLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDO1lBQ3BDLENBQUMsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFVSxDQUFDO0lBRTFELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzs7WUE5QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLCswQ0FBdUM7Z0JBQ3ZDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFQUSxvQkFBb0I7Ozt1QkFTMUIsV0FBVyxTQUFDLHdDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyB0cmFuc2xhdGUsIGhhc1RyYW5zbGF0aW9uIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1zaWduLWluJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZ24taW4uY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTaWduSW5Db21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3Itc2lnbmluJykgZGF0YUF0dHIgPSAnJztcblxuICAvLyB0cmFuc2xhdGVkIHBocmFzZXNcbiAgLy8gU3VwcG9ydCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgbGVnYWN5IGtleSB3aXRoIHRyYWlsaW5nIHNwYWNlXG4gIHB1YmxpYyBmb3Jnb3RQYXNzd29yZFRleHQgPSAhaGFzVHJhbnNsYXRpb24oJ0ZvcmdvdCB5b3VyIHBhc3N3b3JkPyAnKVxuICAgID8gdHJhbnNsYXRlKCdGb3Jnb3QgeW91ciBwYXNzd29yZD8nKVxuICAgIDogdHJhbnNsYXRlKCdGb3Jnb3QgeW91ciBwYXNzd29yZD8gJyk7XG4gIHB1YmxpYyBzaWduSW5CdXR0b25UZXh0ID0gdHJhbnNsYXRlKCdTaWduIGluJyk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdG9yLnNsb3RDb250ZXh0O1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlRm9ybSh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3Iuc3VibWl0Rm9ybSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
2
|
export class TabItemComponent {
|
|
3
3
|
constructor() {
|
|
4
4
|
this.active = false;
|
|
5
|
+
this.display = 'block'; // emulate div behavior
|
|
5
6
|
}
|
|
6
7
|
}
|
|
7
8
|
TabItemComponent.decorators = [
|
|
@@ -15,6 +16,7 @@ TabItemComponent.propDecorators = {
|
|
|
15
16
|
active: [{ type: Input }],
|
|
16
17
|
id: [{ type: Input }],
|
|
17
18
|
labelledById: [{ type: Input }],
|
|
18
|
-
tabIndex: [{ type: Input }]
|
|
19
|
+
tabIndex: [{ type: Input }],
|
|
20
|
+
display: [{ type: HostBinding, args: ['style.display',] }]
|
|
19
21
|
};
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3ByaW1pdGl2ZXMvdGFiLWl0ZW0vdGFiLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU05RCxNQUFNLE9BQU8sZ0JBQWdCO0lBSjdCO1FBTVcsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUlNLFlBQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyx1QkFBdUI7SUFDMUUsQ0FBQzs7O1lBWEEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLHFSQUF3QzthQUN6Qzs7O29CQUVFLEtBQUs7cUJBQ0wsS0FBSztpQkFDTCxLQUFLOzJCQUNMLEtBQUs7dUJBQ0wsS0FBSztzQkFDTCxXQUFXLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktdGFiLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgYWN0aXZlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsbGVkQnlJZDogc3RyaW5nO1xuICBASW5wdXQoKSB0YWJJbmRleDogbnVtYmVyO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKSBkaXNwbGF5ID0gJ2Jsb2NrJzsgLy8gZW11bGF0ZSBkaXYgYmVoYXZpb3Jcbn1cbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { Logger } from '@aws-amplify/core';
|
|
3
3
|
import { createAuthenticatorMachine, getSendEventAliases, getServiceContextFacade, } from '@aws-amplify/ui';
|
|
4
4
|
import { interpret } from 'xstate';
|
|
5
|
+
import { translate } from '@aws-amplify/ui';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
const logger = new Logger('state-machine');
|
|
7
8
|
/**
|
|
@@ -35,7 +36,7 @@ export class AuthenticatorService {
|
|
|
35
36
|
*/
|
|
36
37
|
get error() {
|
|
37
38
|
var _a;
|
|
38
|
-
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.error;
|
|
39
|
+
return translate((_a = this._facade) === null || _a === void 0 ? void 0 : _a.error);
|
|
39
40
|
}
|
|
40
41
|
get hasValidationErrors() {
|
|
41
42
|
var _a;
|
|
@@ -57,6 +58,10 @@ export class AuthenticatorService {
|
|
|
57
58
|
var _a;
|
|
58
59
|
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.validationErrors;
|
|
59
60
|
}
|
|
61
|
+
get codeDeliveryDetails() {
|
|
62
|
+
var _a;
|
|
63
|
+
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.codeDeliveryDetails;
|
|
64
|
+
}
|
|
60
65
|
/**
|
|
61
66
|
* Service facades
|
|
62
67
|
*/
|
|
@@ -133,4 +138,4 @@ AuthenticatorService.decorators = [
|
|
|
133
138
|
providedIn: 'root',
|
|
134
139
|
},] }
|
|
135
140
|
];
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBTUwsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQix1QkFBdUIsR0FFeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQVMsU0FBUyxFQUFnQixNQUFNLFFBQVEsQ0FBQzs7QUFHeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBT3hCLFlBQVksQ0FBQyxFQUNsQixZQUFZLEVBQ1osZUFBZSxFQUNmLFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIsZUFBZSxHQUNhO1FBQzVCLE1BQU0sT0FBTyxHQUFHLDBCQUEwQixDQUFDO1lBQ3pDLFlBQVk7WUFDWixlQUFlO1lBQ2YsUUFBUTtZQUNSLGdCQUFnQjtZQUNoQixlQUFlO1NBQ2hCLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUU7WUFDckMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLGFBQWE7U0FDakQsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRVgsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxhQUFhO1lBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFFSCxJQUFXLEtBQUs7O1FBQ2QsYUFBTyxJQUFJLENBQUMsT0FBTywwQ0FBRSxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsbUJBQW1COztRQUM1QixhQUFPLElBQUksQ0FBQyxPQUFPLDBDQUFFLG1CQUFtQixDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLFNBQVM7O1FBQ2xCLGFBQU8sSUFBSSxDQUFDLE9BQU8sMENBQUUsU0FBUyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLEtBQUs7O1FBQ2QsYUFBTyxJQUFJLENBQUMsT0FBTywwQ0FBRSxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsSUFBSTs7UUFDYixhQUFPLElBQUksQ0FBQyxPQUFPLDBDQUFFLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7O1FBQ3pCLGFBQU8sSUFBSSxDQUFDLE9BQU8sMENBQUUsZ0JBQWdCLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBRUgsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFFSCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBRUgsd0NBQXdDO0lBQ3hDLElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELHdDQUF3QztJQUN4QyxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7SUFDakMsQ0FBQztJQUVELHdDQUF3QztJQUN4QyxJQUFXLFdBQVc7UUFDcEIsTUFBTSxXQUFXLG1DQUNaLElBQUksQ0FBQyxPQUFPLEdBQ1osSUFBSSxDQUFDLGlCQUFpQixDQUMxQixDQUFDO1FBRUYsdUNBQ0ssV0FBVyxLQUNkLFNBQVMsb0JBQU8sV0FBVyxLQUMzQjtJQUNKLENBQUM7SUFFRCx3Q0FBd0M7SUFDakMsU0FBUyxDQUFDLFFBQWtDO1FBQ2pELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzlDO2FBQU07WUFDTCxNQUFNLENBQUMsS0FBSyxDQUNWLHVIQUF1SCxDQUN4SCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsd0NBQXdDO0lBQ2pDLElBQUksQ0FBQyxLQUF1QjtRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDOzs7O1lBcEtGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2NvcmUnO1xuaW1wb3J0IHtcbiAgQXV0aENvbnRleHQsXG4gIEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9ucyxcbiAgQXV0aEV2ZW50LFxuICBBdXRoSW50ZXJwcmV0ZXIsXG4gIEF1dGhNYWNoaW5lU3RhdGUsXG4gIGNyZWF0ZUF1dGhlbnRpY2F0b3JNYWNoaW5lLFxuICBnZXRTZW5kRXZlbnRBbGlhc2VzLFxuICBnZXRTZXJ2aWNlQ29udGV4dEZhY2FkZSxcbiAgZ2V0U2VydmljZUZhY2FkZSxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IEV2ZW50LCBpbnRlcnByZXQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3hzdGF0ZSc7XG5pbXBvcnQgeyBBdXRoU3Vic2NyaXB0aW9uQ2FsbGJhY2sgfSBmcm9tICcuLi9jb21tb24nO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdzdGF0ZS1tYWNoaW5lJyk7XG5cbi8qKlxuICogQXV0aGVudGljYXRvclNlcnZpY2UgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBhdXRoZW50aWNhdG9yIHN0YXRlIGFuZCBjb250ZXh0LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290JywgLy8gZW5zdXJlIHdlIGhhdmUgYSBzaW5nbGV0b24gc2VydmljZVxufSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2F1dGhTdGF0ZTogQXV0aE1hY2hpbmVTdGF0ZTtcbiAgcHJpdmF0ZSBfYXV0aFNlcnZpY2U6IEF1dGhJbnRlcnByZXRlcjtcbiAgcHJpdmF0ZSBfc2VuZEV2ZW50QWxpYXNlczogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0U2VuZEV2ZW50QWxpYXNlcz47XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9mYWNhZGU6IFJldHVyblR5cGU8dHlwZW9mIGdldFNlcnZpY2VDb250ZXh0RmFjYWRlPjtcblxuICBwdWJsaWMgc3RhcnRNYWNoaW5lKHtcbiAgICBpbml0aWFsU3RhdGUsXG4gICAgbG9naW5NZWNoYW5pc21zLFxuICAgIHNlcnZpY2VzLFxuICAgIHNpZ25VcEF0dHJpYnV0ZXMsXG4gICAgc29jaWFsUHJvdmlkZXJzLFxuICB9OiBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnMpIHtcbiAgICBjb25zdCBtYWNoaW5lID0gY3JlYXRlQXV0aGVudGljYXRvck1hY2hpbmUoe1xuICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgbG9naW5NZWNoYW5pc21zLFxuICAgICAgc2VydmljZXMsXG4gICAgICBzaWduVXBBdHRyaWJ1dGVzLFxuICAgICAgc29jaWFsUHJvdmlkZXJzLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbnRlcnByZXQobWFjaGluZSwge1xuICAgICAgZGV2VG9vbHM6IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnLFxuICAgIH0pLnN0YXJ0KCk7XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBhdXRoU2VydmljZS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICB0aGlzLl9hdXRoU3RhdGUgPSBzdGF0ZTtcbiAgICAgIHRoaXMuX2ZhY2FkZSA9IGdldFNlcnZpY2VDb250ZXh0RmFjYWRlKHN0YXRlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMgPSBnZXRTZW5kRXZlbnRBbGlhc2VzKGF1dGhTZXJ2aWNlLnNlbmQpO1xuICAgIHRoaXMuX2F1dGhTZXJ2aWNlID0gYXV0aFNlcnZpY2U7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250ZXh0IGZhY2FkZXNcbiAgICovXG5cbiAgcHVibGljIGdldCBlcnJvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5lcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmFsaWRhdGlvbkVycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5oYXNWYWxpZGF0aW9uRXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1BlbmRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uaXNQZW5kaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCByb3V0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5yb3V0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy51c2VyO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWxpZGF0aW9uRXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnZhbGlkYXRpb25FcnJvcnM7XG4gIH1cblxuICAvKipcbiAgICogU2VydmljZSBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgdXBkYXRlRm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy51cGRhdGVGb3JtO1xuICB9XG5cbiAgcHVibGljIGdldCB1cGRhdGVCbHVyKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnVwZGF0ZUJsdXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc2VuZENvZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMucmVzZW5kQ29kZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2lnbk91dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy5zaWduT3V0O1xuICB9XG5cbiAgcHVibGljIGdldCBzdWJtaXRGb3JtKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnN1Ym1pdEZvcm07XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNpdGlvbiBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgdG9GZWRlcmF0ZWRTaWduSW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudG9GZWRlcmF0ZWRTaWduSW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvUmVzZXRQYXNzd29yZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy50b1Jlc2V0UGFzc3dvcmQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvU2lnbkluKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnRvU2lnbkluO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1NpZ25VcCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy50b1NpZ25VcDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2tpcFZlcmlmaWNhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy5za2lwVmVyaWZpY2F0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVybmFsIHV0aWxpdHkgZnVuY3Rpb25zXG4gICAqL1xuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIGdldCBhdXRoU3RhdGUoKTogQXV0aE1hY2hpbmVTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTdGF0ZTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIGdldCBhdXRoU2VydmljZSgpOiBBdXRoSW50ZXJwcmV0ZXIge1xuICAgIHJldHVybiB0aGlzLl9hdXRoU2VydmljZTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIGdldCBjb250ZXh0KCk6IEF1dGhDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFN0YXRlLmNvbnRleHQ7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgc2xvdENvbnRleHQoKSB7XG4gICAgY29uc3Qgc2xvdENvbnRleHQgPSB7XG4gICAgICAuLi50aGlzLl9mYWNhZGUsXG4gICAgICAuLi50aGlzLl9zZW5kRXZlbnRBbGlhc2VzLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc2xvdENvbnRleHQsXG4gICAgICAkaW1wbGljaXQ6IHsgLi4uc2xvdENvbnRleHQgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgc3Vic2NyaWJlKGNhbGxiYWNrOiBBdXRoU3Vic2NyaXB0aW9uQ2FsbGJhY2spIHtcbiAgICBpZiAodGhpcy5fYXV0aFNlcnZpY2UpIHtcbiAgICAgIHJldHVybiB0aGlzLl9hdXRoU2VydmljZS5zdWJzY3JpYmUoY2FsbGJhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2dnZXIuZXJyb3IoXG4gICAgICAgICdTdWJzY3JpcHRpb24gYXR0ZW1wdGVkIGJlZm9yZSBtYWNoaW5lIHdhcyBjcmVhdGVkLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBvbiB0aGUgbGlicmFyeSwgcGxlYXNlIGNvbnNpZGVyIGZpbGluZyBhIGJ1Zy4nXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIHNlbmQoZXZlbnQ6IEV2ZW50PEF1dGhFdmVudD4pIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnNlbmQoZXZlbnQpO1xuICB9XG59XG4iXX0=
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBTUwsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQix1QkFBdUIsR0FFeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQVMsU0FBUyxFQUFnQixNQUFNLFFBQVEsQ0FBQztBQUV4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTVDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRTNDOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9CQUFvQjtJQU94QixZQUFZLENBQUMsRUFDbEIsWUFBWSxFQUNaLGVBQWUsRUFDZixRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDYTtRQUM1QixNQUFNLE9BQU8sR0FBRywwQkFBMEIsQ0FBQztZQUN6QyxZQUFZO1lBQ1osZUFBZTtZQUNmLFFBQVE7WUFDUixnQkFBZ0I7WUFDaEIsZUFBZTtTQUNoQixDQUFDLENBQUM7UUFFSCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQ3JDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxhQUFhO1NBQ2pELENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVYLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxD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QUFDLE9BQU8sR0FDWixJQUFJLENBQUMsaUJBQWlCLENBQzFCLENBQUM7UUFFRix1Q0FDSyxXQUFXLEtBQ2QsU0FBUyxvQkFBTyxXQUFXLEtBQzNCO0lBQ0osQ0FBQztJQUVELHdDQUF3QztJQUNqQyxTQUFTLENBQUMsUUFBa0M7UUFDakQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUM7YUFBTTtZQUNMLE1BQU0sQ0FBQyxLQUFLLENBQ1YsdUhBQXVILENBQ3hILENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCx3Q0FBd0M7SUFDakMsSUFBSSxDQUFDLEtBQXVCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7Ozs7WUF4S0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICdAYXdzLWFtcGxpZnkvY29yZSc7XG5pbXBvcnQge1xuICBBdXRoQ29udGV4dCxcbiAgQXV0aGVudGljYXRvck1hY2hpbmVPcHRpb25zLFxuICBBdXRoRXZlbnQsXG4gIEF1dGhJbnRlcnByZXRlcixcbiAgQXV0aE1hY2hpbmVTdGF0ZSxcbiAgY3JlYXRlQXV0aGVudGljYXRvck1hY2hpbmUsXG4gIGdldFNlbmRFdmVudEFsaWFzZXMsXG4gIGdldFNlcnZpY2VDb250ZXh0RmFjYWRlLFxuICBnZXRTZXJ2aWNlRmFjYWRlLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgRXZlbnQsIGludGVycHJldCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAneHN0YXRlJztcbmltcG9ydCB7IEF1dGhTdWJzY3JpcHRpb25DYWxsYmFjayB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdzdGF0ZS1tYWNoaW5lJyk7XG5cbi8qKlxuICogQXV0aGVudGljYXRvclNlcnZpY2UgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBhdXRoZW50aWNhdG9yIHN0YXRlIGFuZCBjb250ZXh0LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290JywgLy8gZW5zdXJlIHdlIGhhdmUgYSBzaW5nbGV0b24gc2VydmljZVxufSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2F1dGhTdGF0ZTogQXV0aE1hY2hpbmVTdGF0ZTtcbiAgcHJpdmF0ZSBfYXV0aFNlcnZpY2U6IEF1dGhJbnRlcnByZXRlcjtcbiAgcHJpdmF0ZSBfc2VuZEV2ZW50QWxpYXNlczogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0U2VuZEV2ZW50QWxpYXNlcz47XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9mYWNhZGU6IFJldHVyblR5cGU8dHlwZW9mIGdldFNlcnZpY2VDb250ZXh0RmFjYWRlPjtcblxuICBwdWJsaWMgc3RhcnRNYWNoaW5lKHtcbiAgICBpbml0aWFsU3RhdGUsXG4gICAgbG9naW5NZWNoYW5pc21zLFxuICAgIHNlcnZpY2VzLFxuICAgIHNpZ25VcEF0dHJpYnV0ZXMsXG4gICAgc29jaWFsUHJvdmlkZXJzLFxuICB9OiBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnMpIHtcbiAgICBjb25zdCBtYWNoaW5lID0gY3JlYXRlQXV0aGVudGljYXRvck1hY2hpbmUoe1xuICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgbG9naW5NZWNoYW5pc21zLFxuICAgICAgc2VydmljZXMsXG4gICAgICBzaWduVXBBdHRyaWJ1dGVzLFxuICAgICAgc29jaWFsUHJvdmlkZXJzLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbnRlcnByZXQobWFjaGluZSwge1xuICAgICAgZGV2VG9vbHM6IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnLFxuICAgIH0pLnN0YXJ0KCk7XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBhdXRoU2VydmljZS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICB0aGlzLl9hdXRoU3RhdGUgPSBzdGF0ZTtcbiAgICAgIHRoaXMuX2ZhY2FkZSA9IGdldFNlcnZpY2VDb250ZXh0RmFjYWRlKHN0YXRlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMgPSBnZXRTZW5kRXZlbnRBbGlhc2VzKGF1dGhTZXJ2aWNlLnNlbmQpO1xuICAgIHRoaXMuX2F1dGhTZXJ2aWNlID0gYXV0aFNlcnZpY2U7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250ZXh0IGZhY2FkZXNcbiAgICovXG5cbiAgcHVibGljIGdldCBlcnJvcigpIHtcbiAgICByZXR1cm4gdHJhbnNsYXRlKHRoaXMuX2ZhY2FkZT8uZXJyb3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNWYWxpZGF0aW9uRXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/Lmhhc1ZhbGlkYXRpb25FcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzUGVuZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5pc1BlbmRpbmc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJvdXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnJvdXRlO1xuICB9XG5cbiAgcHVibGljIGdldCB1c2VyKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnVzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25FcnJvcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8udmFsaWRhdGlvbkVycm9ycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29kZURlbGl2ZXJ5RGV0YWlscygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5jb2RlRGVsaXZlcnlEZXRhaWxzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcnZpY2UgZmFjYWRlc1xuICAgKi9cblxuICBwdWJsaWMgZ2V0IHVwZGF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudXBkYXRlRm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXBkYXRlQmx1cigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy51cGRhdGVCbHVyO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNlbmRDb2RlKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnJlc2VuZENvZGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpZ25PdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMuc2lnbk91dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3VibWl0Rm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy5zdWJtaXRGb3JtO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zaXRpb24gZmFjYWRlc1xuICAgKi9cblxuICBwdWJsaWMgZ2V0IHRvRmVkZXJhdGVkU2lnbkluKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnRvRmVkZXJhdGVkU2lnbkluO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1Jlc2V0UGFzc3dvcmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudG9SZXNldFBhc3N3b3JkO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1NpZ25JbigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy50b1NpZ25JbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9TaWduVXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudG9TaWduVXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNraXBWZXJpZmljYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMuc2tpcFZlcmlmaWNhdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCB1dGlsaXR5IGZ1bmN0aW9uc1xuICAgKi9cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFN0YXRlKCk6IEF1dGhNYWNoaW5lU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9hdXRoU3RhdGU7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFNlcnZpY2UoKTogQXV0aEludGVycHJldGVyIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2U7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpOiBBdXRoQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTdGF0ZS5jb250ZXh0O1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IHNsb3RDb250ZXh0KCkge1xuICAgIGNvbnN0IHNsb3RDb250ZXh0ID0ge1xuICAgICAgLi4udGhpcy5fZmFjYWRlLFxuICAgICAgLi4udGhpcy5fc2VuZEV2ZW50QWxpYXNlcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNsb3RDb250ZXh0LFxuICAgICAgJGltcGxpY2l0OiB7IC4uLnNsb3RDb250ZXh0IH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIHN1YnNjcmliZShjYWxsYmFjazogQXV0aFN1YnNjcmlwdGlvbkNhbGxiYWNrKSB7XG4gICAgaWYgKHRoaXMuX2F1dGhTZXJ2aWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2Uuc3Vic2NyaWJlKGNhbGxiYWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAnU3Vic2NyaXB0aW9uIGF0dGVtcHRlZCBiZWZvcmUgbWFjaGluZSB3YXMgY3JlYXRlZC4gVGhpcyBpcyBsaWtlbHkgYSBidWcgb24gdGhlIGxpYnJhcnksIHBsZWFzZSBjb25zaWRlciBmaWxpbmcgYSBidWcuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBzZW5kKGV2ZW50OiBFdmVudDxBdXRoRXZlbnQ+KSB7XG4gICAgdGhpcy5hdXRoU2VydmljZS5zZW5kKGV2ZW50KTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Directive, TemplateRef, Input, Injectable, Component, ViewEncapsulation, ContentChildren, HostBinding, EventEmitter, Output, NgModule } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { createAuthenticatorMachine, getServiceContextFacade, getSendEventAliases, translate, getActorContext, AuthChallengeNames, FederatedIdentityProviders, authInputAttributes, countryDialCodes, getAliasInfoFromContext, getActorState } from '@aws-amplify/ui';
|
|
4
|
+
import { createAuthenticatorMachine, getServiceContextFacade, getSendEventAliases, translate, getActorContext, AuthChallengeNames, FederatedIdentityProviders, authInputAttributes, countryDialCodes, getAliasInfoFromContext, hasTranslation, getActorState } from '@aws-amplify/ui';
|
|
5
5
|
import { Logger } from '@aws-amplify/core';
|
|
6
6
|
import { interpret } from 'xstate';
|
|
7
7
|
import { Logger as Logger$1, Auth } from 'aws-amplify';
|
|
@@ -82,7 +82,7 @@ class AuthenticatorService {
|
|
|
82
82
|
*/
|
|
83
83
|
get error() {
|
|
84
84
|
var _a;
|
|
85
|
-
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.error;
|
|
85
|
+
return translate((_a = this._facade) === null || _a === void 0 ? void 0 : _a.error);
|
|
86
86
|
}
|
|
87
87
|
get hasValidationErrors() {
|
|
88
88
|
var _a;
|
|
@@ -104,6 +104,10 @@ class AuthenticatorService {
|
|
|
104
104
|
var _a;
|
|
105
105
|
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.validationErrors;
|
|
106
106
|
}
|
|
107
|
+
get codeDeliveryDetails() {
|
|
108
|
+
var _a;
|
|
109
|
+
return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.codeDeliveryDetails;
|
|
110
|
+
}
|
|
107
111
|
/**
|
|
108
112
|
* Service facades
|
|
109
113
|
*/
|
|
@@ -231,6 +235,10 @@ class AuthenticatorComponent {
|
|
|
231
235
|
this.authenticator.toSignIn();
|
|
232
236
|
}
|
|
233
237
|
}
|
|
238
|
+
hasTabs() {
|
|
239
|
+
const route = this.authenticator.route;
|
|
240
|
+
return route === 'signIn' || route === 'signUp';
|
|
241
|
+
}
|
|
234
242
|
mapCustomComponents(componentQuery) {
|
|
235
243
|
if (!componentQuery)
|
|
236
244
|
return {};
|
|
@@ -244,7 +252,7 @@ class AuthenticatorComponent {
|
|
|
244
252
|
AuthenticatorComponent.decorators = [
|
|
245
253
|
{ type: Component, args: [{
|
|
246
254
|
selector: 'amplify-authenticator',
|
|
247
|
-
template: "<div data-amplify-authenticator [attr.data-variation]=\"variation\">\n <div data-amplify-container>\n <amplify-slot name=\"header\" [context]=\"context\"></amplify-slot>\n <div
|
|
255
|
+
template: "<div data-amplify-authenticator [attr.data-variation]=\"variation\">\n <div data-amplify-container>\n <amplify-slot name=\"header\" [context]=\"context\"></amplify-slot>\n <div\n data-amplify-router\n [attr.data-amplify-router-content]=\"hasTabs() ? undefined : ''\"\n >\n <amplify-tabs\n (tabChange)=\"onTabChange()\"\n *ngIf=\"route === 'signIn' || route === 'signUp'\"\n >\n <amplify-tab-item\n [title]=\"signInTitle\"\n [active]=\"route === 'signIn'\"\n data-amplify-router-content\n >\n <!-- signIn component -->\n <amplify-slot\n name=\"sign-in\"\n [context]=\"context\"\n *ngIf=\"route === 'signIn'\"\n >\n <amplify-sign-in></amplify-sign-in>\n </amplify-slot>\n </amplify-tab-item>\n <amplify-tab-item\n [title]=\"signUpTitle\"\n [active]=\"route === 'signUp'\"\n data-amplify-router-content\n >\n <!-- signUp component -->\n <amplify-slot\n name=\"sign-up\"\n [context]=\"context\"\n *ngIf=\"route === 'signUp'\"\n >\n <amplify-sign-up></amplify-sign-up>\n </amplify-slot>\n </amplify-tab-item>\n </amplify-tabs>\n\n <!-- confirmSignUp content -->\n <amplify-slot\n name=\"confirm-sign-up\"\n [context]=\"context\"\n *ngIf=\"route === 'confirmSignUp'\"\n >\n <amplify-confirm-sign-up></amplify-confirm-sign-up>\n </amplify-slot>\n\n <!-- confirmSignIn content -->\n <amplify-slot\n name=\"confirm-sign-in\"\n [context]=\"context\"\n *ngIf=\"route === 'confirmSignIn'\"\n >\n <amplify-confirm-sign-in></amplify-confirm-sign-in>\n </amplify-slot>\n\n <!-- setupTotp content -->\n <amplify-slot\n name=\"setup-totp\"\n [context]=\"context\"\n *ngIf=\"route === 'setupTOTP'\"\n >\n <amplify-setup-totp></amplify-setup-totp>\n </amplify-slot>\n\n <!-- forceNewPassword content -->\n <amplify-slot\n name=\"force-new-password\"\n [context]=\"context\"\n *ngIf=\"route === 'forceNewPassword'\"\n >\n <amplify-force-new-password></amplify-force-new-password>\n </amplify-slot>\n\n <!-- resetPassword content -->\n <amplify-slot\n name=\"reset-password\"\n [context]=\"context\"\n *ngIf=\"route === 'resetPassword'\"\n >\n <amplify-reset-password></amplify-reset-password>\n </amplify-slot>\n\n <!-- confirmResetPassword content -->\n <amplify-slot\n name=\"confirm-reset-password\"\n [context]=\"context\"\n *ngIf=\"route === 'confirmResetPassword'\"\n >\n <amplify-confirm-reset-password></amplify-confirm-reset-password>\n </amplify-slot>\n\n <!-- verifyUser content -->\n <amplify-slot\n name=\"verify-user\"\n [context]=\"context\"\n *ngIf=\"route === 'verifyUser'\"\n >\n <amplify-verify-user></amplify-verify-user>\n </amplify-slot>\n\n <!-- confirmVerifyUser content -->\n <amplify-slot\n name=\"confirm-verify-user\"\n [context]=\"context\"\n *ngIf=\"route === 'confirmVerifyUser'\"\n >\n <amplify-confirm-verify-user></amplify-confirm-verify-user>\n </amplify-slot>\n </div>\n\n <amplify-slot name=\"footer\" [context]=\"context\"></amplify-slot>\n </div>\n</div>\n\n<!-- signedIn content is rendered outside authenticator so it's not styled by authenticator -->\n<amplify-slot\n name=\"authenticated\"\n [context]=\"context\"\n *ngIf=\"route === 'authenticated'\"\n>\n <ng-content></ng-content>\n</amplify-slot>\n",
|
|
248
256
|
providers: [CustomComponentsService],
|
|
249
257
|
encapsulation: ViewEncapsulation.None
|
|
250
258
|
},] }
|
|
@@ -364,6 +372,22 @@ class ConfirmSignUpComponent {
|
|
|
364
372
|
get context() {
|
|
365
373
|
return this.authenticator.slotContext;
|
|
366
374
|
}
|
|
375
|
+
get confirmSignUpHeading() {
|
|
376
|
+
const { codeDeliveryDetails: { DeliveryMedium } = {} } = this.authenticator;
|
|
377
|
+
return DeliveryMedium === 'EMAIL'
|
|
378
|
+
? translate('We Emailed You')
|
|
379
|
+
: DeliveryMedium === 'SMS'
|
|
380
|
+
? translate('We Texted You')
|
|
381
|
+
: translate('We Sent A Code');
|
|
382
|
+
}
|
|
383
|
+
get subtitleText() {
|
|
384
|
+
const { codeDeliveryDetails: { DeliveryMedium, Destination } = {} } = this.authenticator;
|
|
385
|
+
return DeliveryMedium === 'EMAIL'
|
|
386
|
+
? `Your code is on the way. To log in, enter the code we emailed to ${Destination}. It may take a minute to arrive.`
|
|
387
|
+
: DeliveryMedium === 'SMS'
|
|
388
|
+
? `Your code is on the way. To log in, enter the code we texted to ${Destination}. It may take a minute to arrive.`
|
|
389
|
+
: translate(`Your code is on the way. To log in, enter the code we sent you. It may take a minute to arrive.`);
|
|
390
|
+
}
|
|
367
391
|
onInput(event) {
|
|
368
392
|
event.preventDefault();
|
|
369
393
|
const { name, value } = event.target;
|
|
@@ -377,7 +401,7 @@ class ConfirmSignUpComponent {
|
|
|
377
401
|
ConfirmSignUpComponent.decorators = [
|
|
378
402
|
{ type: Component, args: [{
|
|
379
403
|
selector: 'amplify-confirm-sign-up',
|
|
380
|
-
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\"
|
|
404
|
+
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"
|
|
381
405
|
},] }
|
|
382
406
|
];
|
|
383
407
|
ConfirmSignUpComponent.ctorParameters = () => [
|
|
@@ -568,7 +592,7 @@ class FormFieldComponent {
|
|
|
568
592
|
get error() {
|
|
569
593
|
const formContext = getActorContext(this.authenticator.authState);
|
|
570
594
|
const { validationError } = formContext;
|
|
571
|
-
return validationError[this.name];
|
|
595
|
+
return translate(validationError[this.name]);
|
|
572
596
|
}
|
|
573
597
|
onBlur($event) {
|
|
574
598
|
let { name } = $event.target;
|
|
@@ -672,6 +696,8 @@ class SetupTotpComponent {
|
|
|
672
696
|
this.dataAttr = '';
|
|
673
697
|
this.headerText = translate('Setup TOTP');
|
|
674
698
|
this.qrCodeSource = '';
|
|
699
|
+
this.secretKey = '';
|
|
700
|
+
this.copyTextLabel = translate('COPY');
|
|
675
701
|
// translated texts
|
|
676
702
|
this.backToSignInText = translate('Back to Sign In');
|
|
677
703
|
this.confirmText = translate('Confirm');
|
|
@@ -689,9 +715,9 @@ class SetupTotpComponent {
|
|
|
689
715
|
const actorContext = getActorContext(state);
|
|
690
716
|
const { user } = actorContext;
|
|
691
717
|
try {
|
|
692
|
-
|
|
718
|
+
this.secretKey = yield Auth.setupTOTP(user);
|
|
693
719
|
const issuer = 'AWSCognito';
|
|
694
|
-
const totpCode = `otpauth://totp/${issuer}:${user.username}?secret=${secretKey}&issuer=${issuer}`;
|
|
720
|
+
const totpCode = `otpauth://totp/${issuer}:${user.username}?secret=${this.secretKey}&issuer=${issuer}`;
|
|
695
721
|
logger.info('totp code was generated:', totpCode);
|
|
696
722
|
this.qrCodeSource = yield QRCode.toDataURL(totpCode);
|
|
697
723
|
}
|
|
@@ -709,11 +735,15 @@ class SetupTotpComponent {
|
|
|
709
735
|
event.preventDefault();
|
|
710
736
|
this.authenticator.submitForm();
|
|
711
737
|
}
|
|
738
|
+
copyText() {
|
|
739
|
+
navigator.clipboard.writeText(this.secretKey);
|
|
740
|
+
this.copyTextLabel = translate('COPIED');
|
|
741
|
+
}
|
|
712
742
|
}
|
|
713
743
|
SetupTotpComponent.decorators = [
|
|
714
744
|
{ type: Component, args: [{
|
|
715
745
|
selector: 'amplify-setup-totp',
|
|
716
|
-
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 <amplify-form-field\n name=\"confirmation_code\"\n label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-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"
|
|
746
|
+
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 label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-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"
|
|
717
747
|
},] }
|
|
718
748
|
];
|
|
719
749
|
SetupTotpComponent.ctorParameters = () => [
|
|
@@ -728,7 +758,10 @@ class SignInComponent {
|
|
|
728
758
|
this.authenticator = authenticator;
|
|
729
759
|
this.dataAttr = '';
|
|
730
760
|
// translated phrases
|
|
731
|
-
|
|
761
|
+
// Support backwards compatibility for legacy key with trailing space
|
|
762
|
+
this.forgotPasswordText = !hasTranslation('Forgot your password? ')
|
|
763
|
+
? translate('Forgot your password?')
|
|
764
|
+
: translate('Forgot your password? ');
|
|
732
765
|
this.signInButtonText = translate('Sign in');
|
|
733
766
|
}
|
|
734
767
|
get context() {
|
|
@@ -1084,6 +1117,7 @@ SelectComponent.propDecorators = {
|
|
|
1084
1117
|
class TabItemComponent {
|
|
1085
1118
|
constructor() {
|
|
1086
1119
|
this.active = false;
|
|
1120
|
+
this.display = 'block'; // emulate div behavior
|
|
1087
1121
|
}
|
|
1088
1122
|
}
|
|
1089
1123
|
TabItemComponent.decorators = [
|
|
@@ -1097,7 +1131,8 @@ TabItemComponent.propDecorators = {
|
|
|
1097
1131
|
active: [{ type: Input }],
|
|
1098
1132
|
id: [{ type: Input }],
|
|
1099
1133
|
labelledById: [{ type: Input }],
|
|
1100
|
-
tabIndex: [{ type: Input }]
|
|
1134
|
+
tabIndex: [{ type: Input }],
|
|
1135
|
+
display: [{ type: HostBinding, args: ['style.display',] }]
|
|
1101
1136
|
};
|
|
1102
1137
|
|
|
1103
1138
|
class TabsComponent {
|