@aws-amplify/ui-angular 2.3.14 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/aws-amplify-ui-angular.metadata.json +1 -1
  2. package/bundles/aws-amplify-ui-angular.umd.js +54 -8
  3. package/bundles/aws-amplify-ui-angular.umd.js.map +1 -1
  4. package/bundles/aws-amplify-ui-angular.umd.min.js +1 -1
  5. package/bundles/aws-amplify-ui-angular.umd.min.js.map +1 -1
  6. package/esm2015/lib/components/authenticator/components/authenticator/authenticator.component.js +39 -5
  7. package/esm2015/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.js +11 -4
  8. package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +2 -2
  9. package/esm2015/lib/services/authenticator.service.js +6 -5
  10. package/fesm2015/aws-amplify-ui-angular.js +52 -10
  11. package/fesm2015/aws-amplify-ui-angular.js.map +1 -1
  12. package/lib/components/authenticator/components/authenticator/authenticator.component.d.ts +7 -2
  13. package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +8 -1
  14. package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +2 -0
  15. package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +2 -0
  16. package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +2 -0
  17. package/lib/components/authenticator/components/force-new-password/force-new-password.component.d.ts +2 -0
  18. package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +2 -0
  19. package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +2 -0
  20. package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +2 -0
  21. package/lib/components/authenticator/components/sign-up/sign-up.component.d.ts +2 -0
  22. package/lib/components/authenticator/components/verify-user/verify-user.component.d.ts +2 -0
  23. package/lib/services/authenticator.service.d.ts +3 -1
  24. package/package.json +2 -2
@@ -1,15 +1,22 @@
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 { getFormDataFromEvent, hasTranslation, translate, } from '@aws-amplify/ui';
4
4
  export class ConfirmResetPasswordComponent {
5
5
  constructor(authenticator) {
6
6
  this.authenticator = authenticator;
7
7
  this.dataAttr = '';
8
8
  this.headerText = translate('Reset your password');
9
9
  // translated strings
10
- this.sendCodeText = translate('Send Code');
11
10
  this.backToSignInText = translate('Back to Sign In');
12
11
  this.resendCodeText = translate('Resend Code');
12
+ /**
13
+ * Support backwards compatibility for erroneous 'Send Code' text
14
+ * See https://github.com/aws-amplify/amplify-ui/issues/1784
15
+ * TODO: Remove support for 'Send Code' translation in next Major release
16
+ */
17
+ this.submitText = hasTranslation('Submit')
18
+ ? translate('Submit')
19
+ : translate('Send Code');
13
20
  }
14
21
  get context() {
15
22
  return this.authenticator.slotContext;
@@ -27,7 +34,7 @@ export class ConfirmResetPasswordComponent {
27
34
  ConfirmResetPasswordComponent.decorators = [
28
35
  { type: Component, args: [{
29
36
  selector: 'amplify-confirm-reset-password',
30
- template: "<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\n <amplify-base-form-fields\n route=\"confirmResetPassword\"\n ></amplify-base-form-fields>\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"
37
+ template: "<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\n <amplify-base-form-fields\n route=\"confirmResetPassword\"\n ></amplify-base-form-fields>\n\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 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"
31
38
  },] }
32
39
  ];
33
40
  ConfirmResetPasswordComponent.ctorParameters = () => [
@@ -37,4 +44,4 @@ ConfirmResetPasswordComponent.propDecorators = {
37
44
  dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-confirmsignin',] }],
38
45
  headerText: [{ type: Input }]
39
46
  };
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1jb25maXJtLXJlc2V0LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9jb25maXJtLXJlc2V0LXBhc3N3b3JkL2FtcGxpZnktY29uZmlybS1yZXNldC1wYXNzd29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFFTCxvQkFBb0IsRUFDcEIsU0FBUyxHQUNWLE1BQU0saUJBQWlCLENBQUM7QUFNekIsTUFBTSxPQUFPLDZCQUE2QjtJQVV4QyxZQUFtQixhQUFtQztRQUFuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFUUSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQzVELGVBQVUsR0FBRyxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUU5RCxxQkFBcUI7UUFDZCxpQkFBWSxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoRCxtQkFBYyxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUdRLENBQUM7SUFFMUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFxQixLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFZO1FBQ25CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7OztZQTdCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztnQkFDMUMsK21DQUE4RDthQUMvRDs7O1lBVlEsb0JBQW9COzs7dUJBWTFCLFdBQVcsU0FBQywrQ0FBK0M7eUJBQzNELEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQge1xuICBGb3JtRmllbGRzQXJyYXksXG4gIGdldEZvcm1EYXRhRnJvbUV2ZW50LFxuICB0cmFuc2xhdGUsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktY29uZmlybS1yZXNldC1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbXBsaWZ5LWNvbmZpcm0tcmVzZXQtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtUmVzZXRQYXNzd29yZENvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFtcGxpZnktYXV0aGVudGljYXRvci1jb25maXJtc2lnbmluJykgZGF0YUF0dHIgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGhlYWRlclRleHQgPSB0cmFuc2xhdGUoJ1Jlc2V0IHlvdXIgcGFzc3dvcmQnKTtcblxuICAvLyB0cmFuc2xhdGVkIHN0cmluZ3NcbiAgcHVibGljIHNlbmRDb2RlVGV4dCA9IHRyYW5zbGF0ZSgnU2VuZCBDb2RlJyk7XG4gIHB1YmxpYyBiYWNrVG9TaWduSW5UZXh0ID0gdHJhbnNsYXRlKCdCYWNrIHRvIFNpZ24gSW4nKTtcbiAgcHVibGljIHJlc2VuZENvZGVUZXh0ID0gdHJhbnNsYXRlKCdSZXNlbmQgQ29kZScpO1xuICBwdWJsaWMgc29ydGVkRm9ybUZpZWxkczogRm9ybUZpZWxkc0FycmF5O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhdXRoZW50aWNhdG9yOiBBdXRoZW50aWNhdG9yU2VydmljZSkge31cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB7IG5hbWUsIHZhbHVlIH0gPSA8SFRNTElucHV0RWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnVwZGF0ZUZvcm0oeyBuYW1lLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnN1Ym1pdEZvcm0oZ2V0Rm9ybURhdGFGcm9tRXZlbnQoZXZlbnQpKTtcbiAgfVxufVxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1jb25maXJtLXJlc2V0LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9jb25maXJtLXJlc2V0LXBhc3N3b3JkL2FtcGxpZnktY29uZmlybS1yZXNldC1wYXNzd29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFFTCxvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLFNBQVMsR0FDVixNQUFNLGlCQUFpQixDQUFDO0FBTXpCLE1BQU0sT0FBTyw2QkFBNkI7SUFpQnhDLFlBQW1CLGFBQW1DO1FBQW5DLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQWhCUSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQzVELGVBQVUsR0FBRyxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUU5RCxxQkFBcUI7UUFDZCxxQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoRCxtQkFBYyxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVqRDs7OztXQUlHO1FBQ0ksZUFBVSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDMUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7WUFDckIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU4QixDQUFDO0lBRTFELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7WUFwQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQ0FBZ0M7Z0JBQzFDLDZtQ0FBOEQ7YUFDL0Q7OztZQVhRLG9CQUFvQjs7O3VCQWExQixXQUFXLFNBQUMsK0NBQStDO3lCQUMzRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgRm9ybUZpZWxkc0FycmF5LFxuICBnZXRGb3JtRGF0YUZyb21FdmVudCxcbiAgaGFzVHJhbnNsYXRpb24sXG4gIHRyYW5zbGF0ZSxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1jb25maXJtLXJlc2V0LXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FtcGxpZnktY29uZmlybS1yZXNldC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpcm1SZXNldFBhc3N3b3JkQ29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtYW1wbGlmeS1hdXRoZW50aWNhdG9yLWNvbmZpcm1zaWduaW4nKSBkYXRhQXR0ciA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgaGVhZGVyVGV4dCA9IHRyYW5zbGF0ZSgnUmVzZXQgeW91ciBwYXNzd29yZCcpO1xuXG4gIC8vIHRyYW5zbGF0ZWQgc3RyaW5nc1xuICBwdWJsaWMgYmFja1RvU2lnbkluVGV4dCA9IHRyYW5zbGF0ZSgnQmFjayB0byBTaWduIEluJyk7XG4gIHB1YmxpYyByZXNlbmRDb2RlVGV4dCA9IHRyYW5zbGF0ZSgnUmVzZW5kIENvZGUnKTtcbiAgcHVibGljIHNvcnRlZEZvcm1GaWVsZHM6IEZvcm1GaWVsZHNBcnJheTtcbiAgLyoqXG4gICAqIFN1cHBvcnQgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGVycm9uZW91cyAnU2VuZCBDb2RlJyB0ZXh0XG4gICAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzLWFtcGxpZnkvYW1wbGlmeS11aS9pc3N1ZXMvMTc4NFxuICAgKiBUT0RPOiBSZW1vdmUgc3VwcG9ydCBmb3IgJ1NlbmQgQ29kZScgdHJhbnNsYXRpb24gaW4gbmV4dCBNYWpvciByZWxlYXNlXG4gICAqL1xuICBwdWJsaWMgc3VibWl0VGV4dCA9IGhhc1RyYW5zbGF0aW9uKCdTdWJtaXQnKVxuICAgID8gdHJhbnNsYXRlKCdTdWJtaXQnKVxuICAgIDogdHJhbnNsYXRlKCdTZW5kIENvZGUnKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aGVudGljYXRvcjogQXV0aGVudGljYXRvclNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGdldCBjb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0b3Iuc2xvdENvbnRleHQ7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgeyBuYW1lLCB2YWx1ZSB9ID0gPEhUTUxJbnB1dEVsZW1lbnQ+ZXZlbnQudGFyZ2V0O1xuICAgIHRoaXMuYXV0aGVudGljYXRvci51cGRhdGVGb3JtKHsgbmFtZSwgdmFsdWUgfSk7XG4gIH1cblxuICBvblN1Ym1pdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuYXV0aGVudGljYXRvci5zdWJtaXRGb3JtKGdldEZvcm1EYXRhRnJvbUV2ZW50KGV2ZW50KSk7XG4gIH1cbn1cbiJdfQ==
@@ -35,7 +35,7 @@ export class SetupTotpComponent {
35
35
  this.secretKey = yield Auth.setupTOTP(user);
36
36
  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';
37
37
  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;
38
- const totpCode = `otpauth://totp/${issuer}:${username}?secret=${this.secretKey}&issuer=${issuer}`;
38
+ const totpCode = encodeURI(`otpauth://totp/${issuer}:${username}?secret=${this.secretKey}&issuer=${issuer}`);
39
39
  logger.info('totp code was generated:', totpCode);
40
40
  this.qrCodeSource = yield QRCode.toDataURL(totpCode);
41
41
  }
@@ -70,4 +70,4 @@ SetupTotpComponent.ctorParameters = () => [
70
70
  SetupTotpComponent.propDecorators = {
71
71
  dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-setup-totp',] }]
72
72
  };
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdG90cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2V0dXAtdG90cC9zZXR1cC10b3RwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFHTCxlQUFlLEVBQ2Ysb0JBQW9CLEdBRXJCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBTXZDLE1BQU0sT0FBTyxrQkFBa0I7SUFhN0IsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBWkssYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsRSxlQUFVLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixrQkFBYSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QyxtQkFBbUI7UUFDWixxQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUllLENBQUM7SUFFMUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVLLGNBQWM7OztZQUNsQix3Q0FBd0M7WUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDM0MsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBa0IsQ0FBQztZQUM3RCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUFDO1lBQzlCLElBQUk7Z0JBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sTUFBTSxxQkFBRyxJQUFJLENBQUMsYUFBYSwwQ0FBRyxJQUFJLDJDQUFHLFVBQVUsbUNBQUksWUFBWSxDQUFDO2dCQUN0RSxNQUFNLFFBQVEscUJBQ1osSUFBSSxDQUFDLGFBQWEsMENBQUcsSUFBSSwyQ0FBRyxZQUFZLG1DQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQzVELE1BQU0sUUFBUSxHQUFHLGtCQUFrQixNQUFNLElBQUksUUFBUSxXQUFXLElBQUksQ0FBQyxTQUFTLFdBQVcsTUFBTSxFQUFFLENBQUM7Z0JBRWxHLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3REO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1osTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNuQjs7S0FDRjtJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFxQixLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFZO1FBQ25CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxRQUFRO1FBQ04sU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OztZQTVERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsNDFEQUEwQzthQUMzQzs7O1lBUlEsb0JBQW9COzs7dUJBVTFCLFdBQVcsU0FBQyw0Q0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBRUkNvZGUgZnJvbSAncXJjb2RlJztcbmltcG9ydCB7IEF1dGgsIExvZ2dlciB9IGZyb20gJ2F3cy1hbXBsaWZ5JztcbmltcG9ydCB7XG4gIEZvcm1GaWVsZHMsXG4gIEZvcm1GaWVsZHNBcnJheSxcbiAgZ2V0QWN0b3JDb250ZXh0LFxuICBnZXRGb3JtRGF0YUZyb21FdmVudCxcbiAgU2lnbkluQ29udGV4dCxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ1NldHVwVG90cCcpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LXNldHVwLXRvdHAnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2V0dXAtdG90cC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNldHVwVG90cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFtcGxpZnktYXV0aGVudGljYXRvci1zZXR1cC10b3RwJykgZGF0YUF0dHIgPSAnJztcbiAgcHVibGljIGhlYWRlclRleHQgPSB0cmFuc2xhdGUoJ1NldHVwIFRPVFAnKTtcbiAgcHVibGljIHFyQ29kZVNvdXJjZSA9ICcnO1xuICBwdWJsaWMgc2VjcmV0S2V5ID0gJyc7XG4gIHB1YmxpYyBjb3B5VGV4dExhYmVsID0gdHJhbnNsYXRlKCdDT1BZJyk7XG5cbiAgLy8gdHJhbnNsYXRlZCB0ZXh0c1xuICBwdWJsaWMgYmFja1RvU2lnbkluVGV4dCA9IHRyYW5zbGF0ZSgnQmFjayB0byBTaWduIEluJyk7XG4gIHB1YmxpYyBjb25maXJtVGV4dCA9IHRyYW5zbGF0ZSgnQ29uZmlybScpO1xuICBwdWJsaWMgc29ydGVkRm9ybUZpZWxkczogRm9ybUZpZWxkc0FycmF5O1xuICBwdWJsaWMgZm9ybU92ZXJyaWRlczogRm9ybUZpZWxkcztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aGVudGljYXRvcjogQXV0aGVudGljYXRvclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZW5lcmF0ZVFSQ29kZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0b3Iuc2xvdENvbnRleHQ7XG4gIH1cblxuICBhc3luYyBnZW5lcmF0ZVFSQ29kZSgpIHtcbiAgICAvLyBUT0RPOiBUaGlzIHNob3VsZCBiZSBoYW5kbGVkIGluIGNvcmUuXG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLmF1dGhlbnRpY2F0b3IuYXV0aFN0YXRlO1xuICAgIGNvbnN0IGFjdG9yQ29udGV4dCA9IGdldEFjdG9yQ29udGV4dChzdGF0ZSkgYXMgU2lnbkluQ29udGV4dDtcbiAgICBjb25zdCB7IHVzZXIgfSA9IGFjdG9yQ29udGV4dDtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zZWNyZXRLZXkgPSBhd2FpdCBBdXRoLnNldHVwVE9UUCh1c2VyKTtcbiAgICAgIGNvbnN0IGlzc3VlciA9IHRoaXMuZm9ybU92ZXJyaWRlcz8uWydRUiddPy50b3RwSXNzdWVyID8/ICdBV1NDb2duaXRvJztcbiAgICAgIGNvbnN0IHVzZXJuYW1lID1cbiAgICAgICAgdGhpcy5mb3JtT3ZlcnJpZGVzPy5bJ1FSJ10/LnRvdHBVc2VybmFtZSA/PyB1c2VyLnVzZXJuYW1lO1xuICAgICAgY29uc3QgdG90cENvZGUgPSBgb3RwYXV0aDovL3RvdHAvJHtpc3N1ZXJ9OiR7dXNlcm5hbWV9P3NlY3JldD0ke3RoaXMuc2VjcmV0S2V5fSZpc3N1ZXI9JHtpc3N1ZXJ9YDtcblxuICAgICAgbG9nZ2VyLmluZm8oJ3RvdHAgY29kZSB3YXMgZ2VuZXJhdGVkOicsIHRvdHBDb2RlKTtcbiAgICAgIHRoaXMucXJDb2RlU291cmNlID0gYXdhaXQgUVJDb2RlLnRvRGF0YVVSTCh0b3RwQ29kZSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgeyBuYW1lLCB2YWx1ZSB9ID0gPEhUTUxJbnB1dEVsZW1lbnQ+ZXZlbnQudGFyZ2V0O1xuICAgIHRoaXMuYXV0aGVudGljYXRvci51cGRhdGVGb3JtKHsgbmFtZSwgdmFsdWUgfSk7XG4gIH1cblxuICBvblN1Ym1pdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuYXV0aGVudGljYXRvci5zdWJtaXRGb3JtKGdldEZvcm1EYXRhRnJvbUV2ZW50KGV2ZW50KSk7XG4gIH1cblxuICBjb3B5VGV4dCgpOiB2b2lkIHtcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0aGlzLnNlY3JldEtleSk7XG4gICAgdGhpcy5jb3B5VGV4dExhYmVsID0gdHJhbnNsYXRlKCdDT1BJRUQnKTtcbiAgfVxufVxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdG90cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2V0dXAtdG90cC9zZXR1cC10b3RwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFHTCxlQUFlLEVBQ2Ysb0JBQW9CLEdBRXJCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBTXZDLE1BQU0sT0FBTyxrQkFBa0I7SUFhN0IsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBWkssYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsRSxlQUFVLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixrQkFBYSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QyxtQkFBbUI7UUFDWixxQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUllLENBQUM7SUFFMUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVLLGNBQWM7OztZQUNsQix3Q0FBd0M7WUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDM0MsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBa0IsQ0FBQztZQUM3RCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUFDO1lBQzlCLElBQUk7Z0JBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sTUFBTSxxQkFBRyxJQUFJLENBQUMsYUFBYSwwQ0FBRyxJQUFJLDJDQUFHLFVBQVUsbUNBQUksWUFBWSxDQUFDO2dCQUN0RSxNQUFNLFFBQVEscUJBQ1osSUFBSSxDQUFDLGFBQWEsMENBQUcsSUFBSSwyQ0FBRyxZQUFZLG1DQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQzVELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FDeEIsa0JBQWtCLE1BQU0sSUFBSSxRQUFRLFdBQVcsSUFBSSxDQUFDLFNBQVMsV0FBVyxNQUFNLEVBQUUsQ0FDakYsQ0FBQztnQkFFRixNQUFNLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN0RDtZQUFDLE9BQU8sR0FBRyxFQUFFO2dCQUNaLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbkI7O0tBQ0Y7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsUUFBUTtRQUNOLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7WUE5REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLDQxREFBMEM7YUFDM0M7OztZQVJRLG9CQUFvQjs7O3VCQVUxQixXQUFXLFNBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUVJDb2RlIGZyb20gJ3FyY29kZSc7XG5pbXBvcnQgeyBBdXRoLCBMb2dnZXIgfSBmcm9tICdhd3MtYW1wbGlmeSc7XG5pbXBvcnQge1xuICBGb3JtRmllbGRzLFxuICBGb3JtRmllbGRzQXJyYXksXG4gIGdldEFjdG9yQ29udGV4dCxcbiAgZ2V0Rm9ybURhdGFGcm9tRXZlbnQsXG4gIFNpZ25JbkNvbnRleHQsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdTZXR1cFRvdHAnKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1zZXR1cC10b3RwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NldHVwLXRvdHAuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTZXR1cFRvdHBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3Itc2V0dXAtdG90cCcpIGRhdGFBdHRyID0gJyc7XG4gIHB1YmxpYyBoZWFkZXJUZXh0ID0gdHJhbnNsYXRlKCdTZXR1cCBUT1RQJyk7XG4gIHB1YmxpYyBxckNvZGVTb3VyY2UgPSAnJztcbiAgcHVibGljIHNlY3JldEtleSA9ICcnO1xuICBwdWJsaWMgY29weVRleHRMYWJlbCA9IHRyYW5zbGF0ZSgnQ09QWScpO1xuXG4gIC8vIHRyYW5zbGF0ZWQgdGV4dHNcbiAgcHVibGljIGJhY2tUb1NpZ25JblRleHQgPSB0cmFuc2xhdGUoJ0JhY2sgdG8gU2lnbiBJbicpO1xuICBwdWJsaWMgY29uZmlybVRleHQgPSB0cmFuc2xhdGUoJ0NvbmZpcm0nKTtcbiAgcHVibGljIHNvcnRlZEZvcm1GaWVsZHM6IEZvcm1GaWVsZHNBcnJheTtcbiAgcHVibGljIGZvcm1PdmVycmlkZXM6IEZvcm1GaWVsZHM7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2VuZXJhdGVRUkNvZGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdG9yLnNsb3RDb250ZXh0O1xuICB9XG5cbiAgYXN5bmMgZ2VuZXJhdGVRUkNvZGUoKSB7XG4gICAgLy8gVE9ETzogVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBpbiBjb3JlLlxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5hdXRoZW50aWNhdG9yLmF1dGhTdGF0ZTtcbiAgICBjb25zdCBhY3RvckNvbnRleHQgPSBnZXRBY3RvckNvbnRleHQoc3RhdGUpIGFzIFNpZ25JbkNvbnRleHQ7XG4gICAgY29uc3QgeyB1c2VyIH0gPSBhY3RvckNvbnRleHQ7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc2VjcmV0S2V5ID0gYXdhaXQgQXV0aC5zZXR1cFRPVFAodXNlcik7XG4gICAgICBjb25zdCBpc3N1ZXIgPSB0aGlzLmZvcm1PdmVycmlkZXM/LlsnUVInXT8udG90cElzc3VlciA/PyAnQVdTQ29nbml0byc7XG4gICAgICBjb25zdCB1c2VybmFtZSA9XG4gICAgICAgIHRoaXMuZm9ybU92ZXJyaWRlcz8uWydRUiddPy50b3RwVXNlcm5hbWUgPz8gdXNlci51c2VybmFtZTtcbiAgICAgIGNvbnN0IHRvdHBDb2RlID0gZW5jb2RlVVJJKFxuICAgICAgICBgb3RwYXV0aDovL3RvdHAvJHtpc3N1ZXJ9OiR7dXNlcm5hbWV9P3NlY3JldD0ke3RoaXMuc2VjcmV0S2V5fSZpc3N1ZXI9JHtpc3N1ZXJ9YFxuICAgICAgKTtcblxuICAgICAgbG9nZ2VyLmluZm8oJ3RvdHAgY29kZSB3YXMgZ2VuZXJhdGVkOicsIHRvdHBDb2RlKTtcbiAgICAgIHRoaXMucXJDb2RlU291cmNlID0gYXdhaXQgUVJDb2RlLnRvRGF0YVVSTCh0b3RwQ29kZSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgeyBuYW1lLCB2YWx1ZSB9ID0gPEhUTUxJbnB1dEVsZW1lbnQ+ZXZlbnQudGFyZ2V0O1xuICAgIHRoaXMuYXV0aGVudGljYXRvci51cGRhdGVGb3JtKHsgbmFtZSwgdmFsdWUgfSk7XG4gIH1cblxuICBvblN1Ym1pdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuYXV0aGVudGljYXRvci5zdWJtaXRGb3JtKGdldEZvcm1EYXRhRnJvbUV2ZW50KGV2ZW50KSk7XG4gIH1cblxuICBjb3B5VGV4dCgpOiB2b2lkIHtcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0aGlzLnNlY3JldEtleSk7XG4gICAgdGhpcy5jb3B5VGV4dExhYmVsID0gdHJhbnNsYXRlKCdDT1BJRUQnKTtcbiAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { Logger } from '@aws-amplify/core';
3
- import { createAuthenticatorMachine, getSendEventAliases, getServiceContextFacade, listenToAuthHub, } from '@aws-amplify/ui';
3
+ import { createAuthenticatorMachine, getSendEventAliases, getServiceContextFacade, } from '@aws-amplify/ui';
4
4
  import { interpret } from 'xstate';
5
5
  import { translate } from '@aws-amplify/ui';
6
6
  import * as i0 from "@angular/core";
@@ -16,15 +16,12 @@ export class AuthenticatorService {
16
16
  this._authState = state;
17
17
  this._facade = getServiceContextFacade(state);
18
18
  });
19
- this._hubSubscription = listenToAuthHub(authService.send);
20
19
  this._sendEventAliases = getSendEventAliases(authService.send);
21
20
  this._authService = authService;
22
21
  }
23
22
  ngOnDestroy() {
24
23
  if (this._machineSubscription)
25
24
  this._machineSubscription.unsubscribe();
26
- if (this._hubSubscription)
27
- this._hubSubscription();
28
25
  }
29
26
  /**
30
27
  * Context facades
@@ -45,6 +42,10 @@ export class AuthenticatorService {
45
42
  var _a;
46
43
  return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.route;
47
44
  }
45
+ get authStatus() {
46
+ var _a;
47
+ return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.authStatus;
48
+ }
48
49
  get user() {
49
50
  var _a;
50
51
  return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.user;
@@ -134,4 +135,4 @@ AuthenticatorService.decorators = [
134
135
  },] }
135
136
  ];
136
137
  AuthenticatorService.ctorParameters = () => [];
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBS0wsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsZUFBZSxHQUNoQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBUyxTQUFTLEVBQWdCLE1BQU0sUUFBUSxDQUFDO0FBRXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBUS9CO1FBQ0UsTUFBTSxPQUFPLEdBQUcsMEJBQTBCLEVBQUUsQ0FBQztRQUU3QyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFL0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMxRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDLFdB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QVcsS0FDZCxTQUFTLG9CQUFPLFdBQVcsS0FDM0I7SUFDSixDQUFDO0lBRUQsd0NBQXdDO0lBQ2pDLFNBQVMsQ0FBQyxRQUFrQztRQUNqRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5QzthQUFNO1lBQ0wsTUFBTSxDQUFDLEtBQUssQ0FDVix1SEFBdUgsQ0FDeEgsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELHdDQUF3QztJQUNqQyxJQUFJLENBQUMsS0FBdUI7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7OztZQTdKRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9jb3JlJztcbmltcG9ydCB7XG4gIEF1dGhDb250ZXh0LFxuICBBdXRoRXZlbnQsXG4gIEF1dGhJbnRlcnByZXRlcixcbiAgQXV0aE1hY2hpbmVTdGF0ZSxcbiAgY3JlYXRlQXV0aGVudGljYXRvck1hY2hpbmUsXG4gIGdldFNlbmRFdmVudEFsaWFzZXMsXG4gIGdldFNlcnZpY2VDb250ZXh0RmFjYWRlLFxuICBsaXN0ZW5Ub0F1dGhIdWIsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBFdmVudCwgaW50ZXJwcmV0LCBTdWJzY3JpcHRpb24gfSBmcm9tICd4c3RhdGUnO1xuaW1wb3J0IHsgQXV0aFN1YnNjcmlwdGlvbkNhbGxiYWNrIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3N0YXRlLW1hY2hpbmUnKTtcblxuLyoqXG4gKiBBdXRoZW50aWNhdG9yU2VydmljZSBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGF1dGhlbnRpY2F0b3Igc3RhdGUgYW5kIGNvbnRleHQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLCAvLyBlbnN1cmUgd2UgaGF2ZSBhIHNpbmdsZXRvbiBzZXJ2aWNlXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0b3JTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfYXV0aFN0YXRlOiBBdXRoTWFjaGluZVN0YXRlO1xuICBwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aEludGVycHJldGVyO1xuICBwcml2YXRlIF9zZW5kRXZlbnRBbGlhc2VzOiBSZXR1cm5UeXBlPHR5cGVvZiBnZXRTZW5kRXZlbnRBbGlhc2VzPjtcbiAgcHJpdmF0ZSBfbWFjaGluZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9odWJTdWJzY3JpcHRpb246IFJldHVyblR5cGU8dHlwZW9mIGxpc3RlblRvQXV0aEh1Yj47XG4gIHByaXZhdGUgX2ZhY2FkZTogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0U2VydmljZUNvbnRleHRGYWNhZGU+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IG1hY2hpbmUgPSBjcmVhdGVBdXRoZW50aWNhdG9yTWFjaGluZSgpO1xuXG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbnRlcnByZXQobWFjaGluZSkuc3RhcnQoKTtcblxuICAgIHRoaXMuX21hY2hpbmVTdWJzY3JpcHRpb24gPSBhdXRoU2VydmljZS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICB0aGlzLl9hdXRoU3RhdGUgPSBzdGF0ZTtcbiAgICAgIHRoaXMuX2ZhY2FkZSA9IGdldFNlcnZpY2VDb250ZXh0RmFjYWRlKHN0YXRlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2h1YlN1YnNjcmlwdGlvbiA9IGxpc3RlblRvQXV0aEh1YihhdXRoU2VydmljZS5zZW5kKTtcbiAgICB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzID0gZ2V0U2VuZEV2ZW50QWxpYXNlcyhhdXRoU2VydmljZS5zZW5kKTtcbiAgICB0aGlzLl9hdXRoU2VydmljZSA9IGF1dGhTZXJ2aWNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX21hY2hpbmVTdWJzY3JpcHRpb24pIHRoaXMuX21hY2hpbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICBpZiAodGhpcy5faHViU3Vic2NyaXB0aW9uKSB0aGlzLl9odWJTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250ZXh0IGZhY2FkZXNcbiAgICovXG5cbiAgcHVibGljIGdldCBlcnJvcigpIHtcbiAgICByZXR1cm4gdHJhbnNsYXRlKHRoaXMuX2ZhY2FkZT8uZXJyb3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNWYWxpZGF0aW9uRXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/Lmhhc1ZhbGlkYXRpb25FcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzUGVuZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5pc1BlbmRpbmc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJvdXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnJvdXRlO1xuICB9XG5cbiAgcHVibGljIGdldCB1c2VyKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnVzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25FcnJvcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8udmFsaWRhdGlvbkVycm9ycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29kZURlbGl2ZXJ5RGV0YWlscygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5jb2RlRGVsaXZlcnlEZXRhaWxzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcnZpY2UgZmFjYWRlc1xuICAgKi9cblxuICBwdWJsaWMgZ2V0IHVwZGF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudXBkYXRlRm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXBkYXRlQmx1cigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy51cGRhdGVCbHVyO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNlbmRDb2RlKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnJlc2VuZENvZGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpZ25PdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMuc2lnbk91dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3VibWl0Rm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy5zdWJtaXRGb3JtO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zaXRpb24gZmFjYWRlc1xuICAgKi9cblxuICBwdWJsaWMgZ2V0IHRvRmVkZXJhdGVkU2lnbkluKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnRvRmVkZXJhdGVkU2lnbkluO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1Jlc2V0UGFzc3dvcmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudG9SZXNldFBhc3N3b3JkO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1NpZ25JbigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy50b1NpZ25JbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9TaWduVXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudG9TaWduVXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNraXBWZXJpZmljYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMuc2tpcFZlcmlmaWNhdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCB1dGlsaXR5IGZ1bmN0aW9uc1xuICAgKi9cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFN0YXRlKCk6IEF1dGhNYWNoaW5lU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9hdXRoU3RhdGU7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFNlcnZpY2UoKTogQXV0aEludGVycHJldGVyIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2U7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpOiBBdXRoQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTdGF0ZS5jb250ZXh0O1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IHNsb3RDb250ZXh0KCkge1xuICAgIGNvbnN0IHNsb3RDb250ZXh0ID0ge1xuICAgICAgLi4udGhpcy5fZmFjYWRlLFxuICAgICAgLi4udGhpcy5fc2VuZEV2ZW50QWxpYXNlcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNsb3RDb250ZXh0LFxuICAgICAgJGltcGxpY2l0OiB7IC4uLnNsb3RDb250ZXh0IH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIHN1YnNjcmliZShjYWxsYmFjazogQXV0aFN1YnNjcmlwdGlvbkNhbGxiYWNrKSB7XG4gICAgaWYgKHRoaXMuX2F1dGhTZXJ2aWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2Uuc3Vic2NyaWJlKGNhbGxiYWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAnU3Vic2NyaXB0aW9uIGF0dGVtcHRlZCBiZWZvcmUgbWFjaGluZSB3YXMgY3JlYXRlZC4gVGhpcyBpcyBsaWtlbHkgYSBidWcgb24gdGhlIGxpYnJhcnksIHBsZWFzZSBjb25zaWRlciBmaWxpbmcgYSBidWcuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBzZW5kKGV2ZW50OiBFdmVudDxBdXRoRXZlbnQ+KSB7XG4gICAgdGhpcy5hdXRoU2VydmljZS5zZW5kKGV2ZW50KTtcbiAgfVxufVxuIl19
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBS0wsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQix1QkFBdUIsR0FFeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQVMsU0FBUyxFQUFnQixNQUFNLFFBQVEsQ0FBQztBQUV4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTVDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRTNDOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9CQUFvQjtJQU8vQjtRQUNFLE1BQU0sT0FBTyxHQUFHLDBCQUEwQixFQUFFLENBQUM7UUFFN0MsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRS9DLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVE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QUMsUUFBa0M7UUFDakQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUM7YUFBTTtZQUNMLE1BQU0sQ0FBQyxLQUFLLENBQ1YsdUhBQXVILENBQ3hILENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCx3Q0FBd0M7SUFDakMsSUFBSSxDQUFDLEtBQXVCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7Ozs7WUE5SkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICdAYXdzLWFtcGxpZnkvY29yZSc7XG5pbXBvcnQge1xuICBBdXRoQ29udGV4dCxcbiAgQXV0aEV2ZW50LFxuICBBdXRoSW50ZXJwcmV0ZXIsXG4gIEF1dGhNYWNoaW5lU3RhdGUsXG4gIGNyZWF0ZUF1dGhlbnRpY2F0b3JNYWNoaW5lLFxuICBnZXRTZW5kRXZlbnRBbGlhc2VzLFxuICBnZXRTZXJ2aWNlQ29udGV4dEZhY2FkZSxcbiAgbGlzdGVuVG9BdXRoSHViLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgRXZlbnQsIGludGVycHJldCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAneHN0YXRlJztcbmltcG9ydCB7IEF1dGhTdWJzY3JpcHRpb25DYWxsYmFjayB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdzdGF0ZS1tYWNoaW5lJyk7XG5cbi8qKlxuICogQXV0aGVudGljYXRvclNlcnZpY2UgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBhdXRoZW50aWNhdG9yIHN0YXRlIGFuZCBjb250ZXh0LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290JywgLy8gZW5zdXJlIHdlIGhhdmUgYSBzaW5nbGV0b24gc2VydmljZVxufSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2F1dGhTdGF0ZTogQXV0aE1hY2hpbmVTdGF0ZTtcbiAgcHJpdmF0ZSBfYXV0aFNlcnZpY2U6IEF1dGhJbnRlcnByZXRlcjtcbiAgcHJpdmF0ZSBfc2VuZEV2ZW50QWxpYXNlczogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0U2VuZEV2ZW50QWxpYXNlcz47XG4gIHByaXZhdGUgX21hY2hpbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfZmFjYWRlOiBSZXR1cm5UeXBlPHR5cGVvZiBnZXRTZXJ2aWNlQ29udGV4dEZhY2FkZT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgbWFjaGluZSA9IGNyZWF0ZUF1dGhlbnRpY2F0b3JNYWNoaW5lKCk7XG5cbiAgICBjb25zdCBhdXRoU2VydmljZSA9IGludGVycHJldChtYWNoaW5lKS5zdGFydCgpO1xuXG4gICAgdGhpcy5fbWFjaGluZVN1YnNjcmlwdGlvbiA9IGF1dGhTZXJ2aWNlLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgIHRoaXMuX2F1dGhTdGF0ZSA9IHN0YXRlO1xuICAgICAgdGhpcy5fZmFjYWRlID0gZ2V0U2VydmljZUNvbnRleHRGYWNhZGUoc3RhdGUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fc2VuZEV2ZW50QWxpYXNlcyA9IGdldFNlbmRFdmVudEFsaWFzZXMoYXV0aFNlcnZpY2Uuc2VuZCk7XG4gICAgdGhpcy5fYXV0aFNlcnZpY2UgPSBhdXRoU2VydmljZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9tYWNoaW5lU3Vic2NyaXB0aW9uKSB0aGlzLl9tYWNoaW5lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udGV4dCBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgZXJyb3IoKSB7XG4gICAgcmV0dXJuIHRyYW5zbGF0ZSh0aGlzLl9mYWNhZGU/LmVycm9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmFsaWRhdGlvbkVycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5oYXNWYWxpZGF0aW9uRXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1BlbmRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uaXNQZW5kaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCByb3V0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5yb3V0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0aFN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5hdXRoU3RhdHVzO1xuICB9XG5cbiAgcHVibGljIGdldCB1c2VyKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnVzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25FcnJvcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8udmFsaWRhdGlvbkVycm9ycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29kZURlbGl2ZXJ5RGV0YWlscygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5jb2RlRGVsaXZlcnlEZXRhaWxzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcnZpY2UgZmFjYWRlc1xuICAgKi9cblxuICBwdWJsaWMgZ2V0IHVwZGF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudXBkYXRlRm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXBkYXRlQmx1cigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy51cGRhdGVCbHVyO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNlbmRDb2RlKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnJlc2VuZENvZGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpZ25PdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMuc2lnbk91dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3VibWl0Rm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy5zdWJtaXRGb3JtO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zaXRpb24gZmFjYWRlc1xuICAgKi9cblxuICBwdWJsaWMgZ2V0IHRvRmVkZXJhdGVkU2lnbkluKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnRvRmVkZXJhdGVkU2lnbkluO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1Jlc2V0UGFzc3dvcmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudG9SZXNldFBhc3N3b3JkO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1NpZ25JbigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy50b1NpZ25JbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9TaWduVXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudG9TaWduVXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNraXBWZXJpZmljYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMuc2tpcFZlcmlmaWNhdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCB1dGlsaXR5IGZ1bmN0aW9uc1xuICAgKi9cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFN0YXRlKCk6IEF1dGhNYWNoaW5lU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9hdXRoU3RhdGU7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFNlcnZpY2UoKTogQXV0aEludGVycHJldGVyIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2U7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpOiBBdXRoQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTdGF0ZS5jb250ZXh0O1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IHNsb3RDb250ZXh0KCkge1xuICAgIGNvbnN0IHNsb3RDb250ZXh0ID0ge1xuICAgICAgLi4udGhpcy5fZmFjYWRlLFxuICAgICAgLi4udGhpcy5fc2VuZEV2ZW50QWxpYXNlcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNsb3RDb250ZXh0LFxuICAgICAgJGltcGxpY2l0OiB7IC4uLnNsb3RDb250ZXh0IH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIHN1YnNjcmliZShjYWxsYmFjazogQXV0aFN1YnNjcmlwdGlvbkNhbGxiYWNrKSB7XG4gICAgaWYgKHRoaXMuX2F1dGhTZXJ2aWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2Uuc3Vic2NyaWJlKGNhbGxiYWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAnU3Vic2NyaXB0aW9uIGF0dGVtcHRlZCBiZWZvcmUgbWFjaGluZSB3YXMgY3JlYXRlZC4gVGhpcyBpcyBsaWtlbHkgYSBidWcgb24gdGhlIGxpYnJhcnksIHBsZWFzZSBjb25zaWRlciBmaWxpbmcgYSBidWcuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBzZW5kKGV2ZW50OiBFdmVudDxBdXRoRXZlbnQ+KSB7XG4gICAgdGhpcy5hdXRoU2VydmljZS5zZW5kKGV2ZW50KTtcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, TemplateRef, Input, Injectable, Component, ViewEncapsulation, ContentChildren, HostBinding, EventEmitter, Output, NgModule } from '@angular/core';
2
+ import { Directive, TemplateRef, Input, Injectable, Component, ViewEncapsulation, ChangeDetectorRef, ContentChildren, HostBinding, EventEmitter, Output, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
- import { createAuthenticatorMachine, getServiceContextFacade, listenToAuthHub, getSendEventAliases, translate, getFormDataFromEvent, getActorContext, AuthChallengeNames, FederatedIdentityProviders, countryDialCodes, getErrors, hasTranslation, defaultFormFieldOptions, getActorState, getSortedFormFields, getDefaultFormFields, applyDefaults, sortFormFields } from '@aws-amplify/ui';
4
+ import { createAuthenticatorMachine, getServiceContextFacade, getSendEventAliases, translate, listenToAuthHub, hasTranslation, getFormDataFromEvent, getActorContext, AuthChallengeNames, FederatedIdentityProviders, countryDialCodes, getErrors, defaultFormFieldOptions, getActorState, getSortedFormFields, getDefaultFormFields, applyDefaults, sortFormFields } from '@aws-amplify/ui';
5
5
  export { translations } from '@aws-amplify/ui';
6
6
  import { Logger } from '@aws-amplify/core';
7
7
  import { interpret } from 'xstate';
@@ -63,15 +63,12 @@ class AuthenticatorService {
63
63
  this._authState = state;
64
64
  this._facade = getServiceContextFacade(state);
65
65
  });
66
- this._hubSubscription = listenToAuthHub(authService.send);
67
66
  this._sendEventAliases = getSendEventAliases(authService.send);
68
67
  this._authService = authService;
69
68
  }
70
69
  ngOnDestroy() {
71
70
  if (this._machineSubscription)
72
71
  this._machineSubscription.unsubscribe();
73
- if (this._hubSubscription)
74
- this._hubSubscription();
75
72
  }
76
73
  /**
77
74
  * Context facades
@@ -92,6 +89,10 @@ class AuthenticatorService {
92
89
  var _a;
93
90
  return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.route;
94
91
  }
92
+ get authStatus() {
93
+ var _a;
94
+ return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.authStatus;
95
+ }
95
96
  get user() {
96
97
  var _a;
97
98
  return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.user;
@@ -183,23 +184,54 @@ AuthenticatorService.decorators = [
183
184
  AuthenticatorService.ctorParameters = () => [];
184
185
 
185
186
  class AuthenticatorComponent {
186
- constructor(authenticator, contextService) {
187
+ constructor(authenticator, contextService, changeDetector) {
187
188
  this.authenticator = authenticator;
188
189
  this.contextService = contextService;
190
+ this.changeDetector = changeDetector;
189
191
  this.customComponentQuery = null;
190
192
  // translated texts
191
193
  this.signInTitle = translate('Sign In');
192
194
  this.signUpTitle = translate('Create Account');
193
195
  this.hasInitialized = false;
196
+ this.isHandlingHubEvent = false;
194
197
  }
195
198
  ngOnInit() {
196
199
  const { initialState, loginMechanisms, services, signUpAttributes, socialProviders, formFields, } = this;
200
+ this.unsubscribeHub = listenToAuthHub((event) => {
201
+ /**
202
+ * Hub events aren't properly caught by Angular, because they are
203
+ * synchronous events. Angular tracks async network events and
204
+ * html events, but not synchronous events like hub.
205
+ *
206
+ * On any notable hub events, we run change detection manually.
207
+ */
208
+ const state = this.authenticator.authService.send(event);
209
+ this.changeDetector.detectChanges();
210
+ /**
211
+ * Hub events that we handle can lead to multiple state changes:
212
+ * e.g. `authenticated` -> `signOut` -> initialState.
213
+ *
214
+ * We want to ensure change detection runs all the way, until
215
+ * we reach back to the initial state. Setting the below flag
216
+ * to true to until we reach initial state.
217
+ */
218
+ this.isHandlingHubEvent = true;
219
+ return state;
220
+ });
197
221
  /**
198
222
  * Subscribes to state machine changes and sends INIT event
199
223
  * once machine reaches 'setup' state.
200
224
  */
201
225
  this.unsubscribeMachine = this.authenticator.subscribe(() => {
202
226
  const { route } = this.authenticator;
227
+ if (this.isHandlingHubEvent) {
228
+ this.changeDetector.detectChanges();
229
+ const initialStateWithDefault = initialState !== null && initialState !== void 0 ? initialState : 'signIn';
230
+ // We can stop manual change detection if we're back to the initial state
231
+ if (route === initialStateWithDefault) {
232
+ this.isHandlingHubEvent = false;
233
+ }
234
+ }
203
235
  if (!this.hasInitialized && route === 'setup') {
204
236
  this.authenticator.send({
205
237
  type: 'INIT',
@@ -231,6 +263,8 @@ class AuthenticatorComponent {
231
263
  ngOnDestroy() {
232
264
  if (this.unsubscribeMachine)
233
265
  this.unsubscribeMachine();
266
+ if (this.unsubscribeHub)
267
+ this.unsubscribeHub();
234
268
  }
235
269
  /**
236
270
  * Class Functions
@@ -275,7 +309,8 @@ AuthenticatorComponent.decorators = [
275
309
  ];
276
310
  AuthenticatorComponent.ctorParameters = () => [
277
311
  { type: AuthenticatorService },
278
- { type: CustomComponentsService }
312
+ { type: CustomComponentsService },
313
+ { type: ChangeDetectorRef }
279
314
  ];
280
315
  AuthenticatorComponent.propDecorators = {
281
316
  formFields: [{ type: Input }],
@@ -295,9 +330,16 @@ class ConfirmResetPasswordComponent {
295
330
  this.dataAttr = '';
296
331
  this.headerText = translate('Reset your password');
297
332
  // translated strings
298
- this.sendCodeText = translate('Send Code');
299
333
  this.backToSignInText = translate('Back to Sign In');
300
334
  this.resendCodeText = translate('Resend Code');
335
+ /**
336
+ * Support backwards compatibility for erroneous 'Send Code' text
337
+ * See https://github.com/aws-amplify/amplify-ui/issues/1784
338
+ * TODO: Remove support for 'Send Code' translation in next Major release
339
+ */
340
+ this.submitText = hasTranslation('Submit')
341
+ ? translate('Submit')
342
+ : translate('Send Code');
301
343
  }
302
344
  get context() {
303
345
  return this.authenticator.slotContext;
@@ -315,7 +357,7 @@ class ConfirmResetPasswordComponent {
315
357
  ConfirmResetPasswordComponent.decorators = [
316
358
  { type: Component, args: [{
317
359
  selector: 'amplify-confirm-reset-password',
318
- template: "<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\n <amplify-base-form-fields\n route=\"confirmResetPassword\"\n ></amplify-base-form-fields>\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"
360
+ template: "<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\n <amplify-base-form-fields\n route=\"confirmResetPassword\"\n ></amplify-base-form-fields>\n\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 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"
319
361
  },] }
320
362
  ];
321
363
  ConfirmResetPasswordComponent.ctorParameters = () => [
@@ -686,7 +728,7 @@ class SetupTotpComponent {
686
728
  this.secretKey = yield Auth.setupTOTP(user);
687
729
  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';
688
730
  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;
689
- const totpCode = `otpauth://totp/${issuer}:${username}?secret=${this.secretKey}&issuer=${issuer}`;
731
+ const totpCode = encodeURI(`otpauth://totp/${issuer}:${username}?secret=${this.secretKey}&issuer=${issuer}`);
690
732
  logger.info('totp code was generated:', totpCode);
691
733
  this.qrCodeSource = yield QRCode.toDataURL(totpCode);
692
734
  }