@aws-amplify/ui-angular 2.1.0 → 2.1.3

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 (25) hide show
  1. package/aws-amplify-ui-angular.metadata.json +1 -1
  2. package/bundles/aws-amplify-ui-angular.umd.js +25 -17
  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/index.js +5 -1
  7. package/esm2015/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.js +3 -3
  8. package/esm2015/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.js +3 -3
  9. package/esm2015/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.js +10 -6
  10. package/esm2015/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.js +3 -3
  11. package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password.component.js +3 -3
  12. package/esm2015/lib/components/authenticator/components/reset-password/reset-password.component.js +3 -3
  13. package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +3 -3
  14. package/esm2015/lib/components/authenticator/components/sign-in/sign-in.component.js +3 -3
  15. package/esm2015/lib/components/authenticator/components/sign-up/sign-up.component.js +3 -3
  16. package/esm2015/lib/components/authenticator/components/verify-user/verify-user.component.js +3 -3
  17. package/esm2015/lib/primitives/password-field/password-field.component.js +2 -2
  18. package/esm2015/lib/primitives/phone-number-field/phone-number-field.component.js +2 -2
  19. package/esm2015/lib/primitives/select/select.component.js +2 -2
  20. package/esm2015/lib/primitives/text-field/text-field.component.js +2 -2
  21. package/fesm2015/aws-amplify-ui-angular.js +23 -18
  22. package/fesm2015/aws-amplify-ui-angular.js.map +1 -1
  23. package/index.d.ts +4 -0
  24. package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +4 -0
  25. package/package.json +2 -2
@@ -1,7 +1,8 @@
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, listenToAuthHub, getSendEventAliases, translate, getActorContext, AuthChallengeNames, FederatedIdentityProviders, authInputAttributes, countryDialCodes, getAliasInfoFromContext, hasTranslation, getActorState } from '@aws-amplify/ui';
4
+ import { createAuthenticatorMachine, getServiceContextFacade, listenToAuthHub, getSendEventAliases, translate, getFormDataFromEvent, getActorContext, AuthChallengeNames, FederatedIdentityProviders, authInputAttributes, countryDialCodes, getAliasInfoFromContext, hasTranslation, getActorState } from '@aws-amplify/ui';
5
+ export { translations } from '@aws-amplify/ui';
5
6
  import { Logger } from '@aws-amplify/core';
6
7
  import { interpret } from 'xstate';
7
8
  import { Logger as Logger$1, Auth } from 'aws-amplify';
@@ -297,7 +298,7 @@ class ConfirmResetPasswordComponent {
297
298
  }
298
299
  onSubmit(event) {
299
300
  event.preventDefault();
300
- this.authenticator.submitForm();
301
+ this.authenticator.submitForm(getFormDataFromEvent(event));
301
302
  }
302
303
  }
303
304
  ConfirmResetPasswordComponent.decorators = [
@@ -350,7 +351,7 @@ class ConfirmSignInComponent {
350
351
  }
351
352
  onSubmit(event) {
352
353
  event.preventDefault();
353
- this.authenticator.submitForm();
354
+ this.authenticator.submitForm(getFormDataFromEvent(event));
354
355
  }
355
356
  }
356
357
  ConfirmSignInComponent.decorators = [
@@ -374,6 +375,10 @@ class ConfirmSignUpComponent {
374
375
  // translated texts
375
376
  this.resendCodeText = translate('Resend Code');
376
377
  this.confirmText = translate('Confirm');
378
+ this.emailMessage = translate('Your code is on the way. To log in, enter the code we emailed to');
379
+ this.textedMessage = translate('Your code is on the way. To log in, enter the code we texted to');
380
+ this.defaultMessage = translate('Your code is on the way. To log in, enter the code we sent you. It may take a minute to arrive.');
381
+ this.minutesMessage = translate('It may take a minute to arrive.');
377
382
  }
378
383
  get context() {
379
384
  return this.authenticator.slotContext;
@@ -389,10 +394,10 @@ class ConfirmSignUpComponent {
389
394
  get subtitleText() {
390
395
  const { codeDeliveryDetails: { DeliveryMedium, Destination } = {} } = this.authenticator;
391
396
  return DeliveryMedium === 'EMAIL'
392
- ? `Your code is on the way. To log in, enter the code we emailed to ${Destination}. It may take a minute to arrive.`
397
+ ? `${this.emailMessage} ${Destination}. ${this.minutesMessage}`
393
398
  : DeliveryMedium === 'SMS'
394
- ? `Your code is on the way. To log in, enter the code we texted to ${Destination}. It may take a minute to arrive.`
395
- : translate(`Your code is on the way. To log in, enter the code we sent you. It may take a minute to arrive.`);
399
+ ? `${this.textedMessage} ${Destination}. ${this.minutesMessage}`
400
+ : translate(`${this.defaultMessage}`);
396
401
  }
397
402
  onInput(event) {
398
403
  event.preventDefault();
@@ -401,7 +406,7 @@ class ConfirmSignUpComponent {
401
406
  }
402
407
  onSubmit(event) {
403
408
  event.preventDefault();
404
- this.authenticator.submitForm();
409
+ this.authenticator.submitForm(getFormDataFromEvent(event));
405
410
  }
406
411
  }
407
412
  ConfirmSignUpComponent.decorators = [
@@ -437,7 +442,7 @@ class ConfirmVerifyUserComponent {
437
442
  }
438
443
  onSubmit(event) {
439
444
  event.preventDefault();
440
- this.authenticator.submitForm();
445
+ this.authenticator.submitForm(getFormDataFromEvent(event));
441
446
  }
442
447
  }
443
448
  ConfirmVerifyUserComponent.decorators = [
@@ -541,7 +546,7 @@ class ForceNewPasswordComponent {
541
546
  }
542
547
  onSubmit(event) {
543
548
  event.preventDefault();
544
- this.authenticator.submitForm();
549
+ this.authenticator.submitForm(getFormDataFromEvent(event));
545
550
  }
546
551
  }
547
552
  ForceNewPasswordComponent.decorators = [
@@ -700,7 +705,7 @@ class ResetPasswordComponent {
700
705
  }
701
706
  onSubmit(event) {
702
707
  event.preventDefault();
703
- this.authenticator.submitForm();
708
+ this.authenticator.submitForm(getFormDataFromEvent(event));
704
709
  }
705
710
  }
706
711
  ResetPasswordComponent.decorators = [
@@ -761,7 +766,7 @@ class SetupTotpComponent {
761
766
  }
762
767
  onSubmit(event) {
763
768
  event.preventDefault();
764
- this.authenticator.submitForm();
769
+ this.authenticator.submitForm(getFormDataFromEvent(event));
765
770
  }
766
771
  copyText() {
767
772
  navigator.clipboard.writeText(this.secretKey);
@@ -802,7 +807,7 @@ class SignInComponent {
802
807
  }
803
808
  onSubmit(event) {
804
809
  event.preventDefault();
805
- this.authenticator.submitForm();
810
+ this.authenticator.submitForm(getFormDataFromEvent(event));
806
811
  }
807
812
  }
808
813
  SignInComponent.decorators = [
@@ -837,7 +842,7 @@ class SignUpComponent {
837
842
  }
838
843
  onSubmit(event) {
839
844
  event.preventDefault();
840
- this.authenticator.submitForm();
845
+ this.authenticator.submitForm(getFormDataFromEvent(event));
841
846
  }
842
847
  }
843
848
  SignUpComponent.decorators = [
@@ -947,7 +952,7 @@ class VerifyUserComponent {
947
952
  }
948
953
  onSubmit(event) {
949
954
  event.preventDefault();
950
- this.authenticator.submitForm();
955
+ this.authenticator.submitForm(getFormDataFromEvent(event));
951
956
  }
952
957
  }
953
958
  VerifyUserComponent.decorators = [
@@ -1073,7 +1078,7 @@ class PasswordFieldComponent {
1073
1078
  PasswordFieldComponent.decorators = [
1074
1079
  { type: Component, args: [{
1075
1080
  selector: 'amplify-password-field',
1076
- template: "<label class=\"amplify-label\" [class.sr-only]=\"labelHidden\" [for]=\"fieldId\">\n {{ label }}\n</label>\n<div class=\"amplify-flex amplify-field-group\">\n <input\n class=\"amplify-input amplify-field-group__control\"\n [id]=\"fieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [attr.disabled]=\"disabled ? '' : null\"\n [autocomplete]=\"autocomplete\"\n (blur)=\"setBlur.emit($event)\"\n />\n <div class=\"amplify-field-group__outer-end\">\n <button\n amplify-button\n [attr.aria-label]=\"showPasswordButtonlabel\"\n class=\"amplify-field-group__control amplify-field__show-password\"\n (click)=\"togglePasswordText()\"\n >\n <svg\n *ngIf=\"!showPassword\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n class=\"amplify-icon\"\n >\n <path\n d=\"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n ></path>\n </svg>\n <svg\n *ngIf=\"showPassword\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n class=\"amplify-icon\"\n >\n <path\n d=\"M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z\"\n fill=\"none\"\n ></path>\n <path\n d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n ></path>\n </svg>\n </button>\n </div>\n</div>\n"
1081
+ template: "<label\n class=\"amplify-label\"\n [class.amplify-visually-hidden]=\"labelHidden\"\n [for]=\"fieldId\"\n>\n {{ label }}\n</label>\n<div class=\"amplify-flex amplify-field-group\">\n <input\n class=\"amplify-input amplify-field-group__control\"\n [id]=\"fieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [attr.disabled]=\"disabled ? '' : null\"\n [autocomplete]=\"autocomplete\"\n (blur)=\"setBlur.emit($event)\"\n />\n <div class=\"amplify-field-group__outer-end\">\n <button\n amplify-button\n [attr.aria-label]=\"showPasswordButtonlabel\"\n class=\"amplify-field-group__control amplify-field__show-password\"\n (click)=\"togglePasswordText()\"\n >\n <svg\n *ngIf=\"!showPassword\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n class=\"amplify-icon\"\n >\n <path\n d=\"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n ></path>\n </svg>\n <svg\n *ngIf=\"showPassword\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n class=\"amplify-icon\"\n >\n <path\n d=\"M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z\"\n fill=\"none\"\n ></path>\n <path\n d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n ></path>\n </svg>\n </button>\n </div>\n</div>\n"
1077
1082
  },] }
1078
1083
  ];
1079
1084
  PasswordFieldComponent.propDecorators = {
@@ -1107,7 +1112,7 @@ class PhoneNumberFieldComponent {
1107
1112
  PhoneNumberFieldComponent.decorators = [
1108
1113
  { type: Component, args: [{
1109
1114
  selector: 'amplify-phone-number-field',
1110
- template: "<label class=\"amplify-label\" [class.sr-only]=\"labelHidden\" [for]=\"textFieldId\">\n {{ label }}\n</label>\n<div\n class=\"amplify-flex amplify-phonenumberfield\"\n amplify-field-group\n style=\"gap: 0px\"\n>\n <div class=\"amplify-field-group__outer-start\">\n <div\n class=\"\n amplify-flex amplify-field amplify-selectfield amplify-countrycodeselect\n \"\n style=\"flex-direction: column\"\n >\n <amplify-form-select\n name=\"country_code\"\n label=\"Country Code\"\n [id]=\"selectFieldId\"\n [items]=\"countryDialCodes\"\n [defaultValue]=\"defaultCountryCode\"\n ></amplify-form-select>\n </div>\n </div>\n\n <input\n class=\"amplify-input\"\n [id]=\"textFieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [attr.disabled]=\"disabled ? '' : null\"\n [autocomplete]=\"autocomplete\"\n />\n</div>\n"
1115
+ template: "<label\n class=\"amplify-label\"\n [class.amplify-visually-hidden]=\"labelHidden\"\n [for]=\"textFieldId\"\n>\n {{ label }}\n</label>\n<div\n class=\"amplify-flex amplify-phonenumberfield\"\n amplify-field-group\n style=\"gap: 0px\"\n>\n <div class=\"amplify-field-group__outer-start\">\n <div\n class=\"\n amplify-flex amplify-field amplify-selectfield amplify-countrycodeselect\n \"\n style=\"flex-direction: column\"\n >\n <amplify-form-select\n name=\"country_code\"\n label=\"Country Code\"\n [id]=\"selectFieldId\"\n [items]=\"countryDialCodes\"\n [defaultValue]=\"defaultCountryCode\"\n ></amplify-form-select>\n </div>\n </div>\n\n <input\n class=\"amplify-input\"\n [id]=\"textFieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [attr.disabled]=\"disabled ? '' : null\"\n [autocomplete]=\"autocomplete\"\n />\n</div>\n"
1111
1116
  },] }
1112
1117
  ];
1113
1118
  PhoneNumberFieldComponent.propDecorators = {
@@ -1131,7 +1136,7 @@ class SelectComponent {
1131
1136
  SelectComponent.decorators = [
1132
1137
  { type: Component, args: [{
1133
1138
  selector: 'amplify-form-select',
1134
- template: "<label class=\"amplify-label sr-only\" [for]=\"id\">{{ label }}</label>\n<div class=\"amplify-select__wrapper\">\n <select\n class=\"amplify-select amplify-field-group__control\"\n autocomplete=\"tel-country-code\"\n [id]=\"id\"\n [name]=\"name\"\n >\n <option\n *ngFor=\"let item of items\"\n [value]=\"item\"\n [selected]=\"item === defaultValue\"\n >\n {{ item }}\n </option>\n </select>\n <div\n class=\"amplify-flex amplify-select__icon-wrapper\"\n style=\"align-items: center; justify-content: center\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon\"\n viewBox=\"0 0 24 24\"\n data-size=\"large\"\n fill=\"currentColor\"\n >\n <path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"></path>\n </svg>\n </div>\n</div>\n"
1139
+ template: "<label class=\"amplify-label amplify-visually-hidden\" [for]=\"id\">{{\n label\n}}</label>\n<div class=\"amplify-select__wrapper\">\n <select\n class=\"amplify-select amplify-field-group__control\"\n autocomplete=\"tel-country-code\"\n [id]=\"id\"\n [name]=\"name\"\n >\n <option\n *ngFor=\"let item of items\"\n [value]=\"item\"\n [selected]=\"item === defaultValue\"\n >\n {{ item }}\n </option>\n </select>\n <div\n class=\"amplify-flex amplify-select__icon-wrapper\"\n style=\"align-items: center; justify-content: center\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon\"\n viewBox=\"0 0 24 24\"\n data-size=\"large\"\n fill=\"currentColor\"\n >\n <path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"></path>\n </svg>\n </div>\n</div>\n"
1135
1140
  },] }
1136
1141
  ];
1137
1142
  SelectComponent.propDecorators = {
@@ -1221,7 +1226,7 @@ class TextFieldComponent {
1221
1226
  TextFieldComponent.decorators = [
1222
1227
  { type: Component, args: [{
1223
1228
  selector: 'amplify-text-field',
1224
- template: "<label class=\"amplify-label\" [class.sr-only]=\"labelHidden\" [for]=\"fieldId\">\n {{ label }}\n</label>\n<input\n class=\"amplify-input\"\n [id]=\"fieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [attr.disabled]=\"disabled ? '' : null\"\n [autocomplete]=\"autocomplete\"\n/>\n"
1229
+ template: "<label\n class=\"amplify-label\"\n [class.amplify-visually-hidden]=\"labelHidden\"\n [for]=\"fieldId\"\n>\n {{ label }}\n</label>\n<input\n class=\"amplify-input\"\n [id]=\"fieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [attr.disabled]=\"disabled ? '' : null\"\n [autocomplete]=\"autocomplete\"\n/>\n"
1225
1230
  },] }
1226
1231
  ];
1227
1232
  TextFieldComponent.propDecorators = {
@@ -1 +1 @@
1
- {"version":3,"file":"aws-amplify-ui-angular.js","sources":["../../../projects/ui-angular/src/lib/utilities/amplify-slot/amplify-slot.directive.ts","../../../projects/ui-angular/src/lib/services/custom-components.service.ts","../../../projects/ui-angular/src/lib/services/authenticator.service.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/authenticator/authenticator.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/force-new-password/force-new-password.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.ts","../../../projects/ui-angular/src/lib/common/helpers.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/form-field/form-field.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/reset-password/reset-password.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/setup-totp/setup-totp.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/sign-in/sign-in.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/sign-up/sign-up.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/user-name-alias/user-name-alias.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/verify-user/verify-user.component.ts","../../../projects/ui-angular/src/lib/primitives/button/button.component.ts","../../../projects/ui-angular/src/lib/primitives/checkbox/checkbox.component.ts","../../../projects/ui-angular/src/lib/primitives/error/error.component.ts","../../../projects/ui-angular/src/lib/primitives/password-field/password-field.component.ts","../../../projects/ui-angular/src/lib/primitives/phone-number-field/phone-number-field.component.ts","../../../projects/ui-angular/src/lib/primitives/select/select.component.ts","../../../projects/ui-angular/src/lib/primitives/tab-item/tab-item.component.ts","../../../projects/ui-angular/src/lib/primitives/tabs/tabs.component.ts","../../../projects/ui-angular/src/lib/primitives/text-field/text-field.component.ts","../../../projects/ui-angular/src/lib/utilities/amplify-slot/amplify-slot.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/authenticator.module.ts","../../../projects/ui-angular/src/index.ts","../../../projects/ui-angular/src/aws-amplify-ui-angular.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[amplifySlot]',\n})\nexport class AmplifySlotDirective {\n constructor(public template: TemplateRef<any>) {}\n public name: string;\n\n @Input() set amplifySlot(component: string) {\n this.name = component;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CustomComponents } from '../common';\n\n/**\n * Stores and provides custom components that users provide with `amplify-slot`.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CustomComponentsService {\n private _customComponents: CustomComponents = {};\n\n public get customComponents(): CustomComponents {\n return this._customComponents;\n }\n\n public set customComponents(customComponents: CustomComponents) {\n this._customComponents = { ...this._customComponents, ...customComponents };\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { Logger } from '@aws-amplify/core';\nimport {\n AuthContext,\n AuthenticatorMachineOptions,\n AuthEvent,\n AuthInterpreter,\n AuthMachineState,\n createAuthenticatorMachine,\n getSendEventAliases,\n getServiceContextFacade,\n listenToAuthHub,\n} from '@aws-amplify/ui';\nimport { Event, interpret, Subscription } from 'xstate';\nimport { AuthSubscriptionCallback } from '../common';\nimport { translate } from '@aws-amplify/ui';\n\nconst logger = new Logger('state-machine');\n\n/**\n * AuthenticatorService provides access to the authenticator state and context.\n */\n@Injectable({\n providedIn: 'root', // ensure we have a singleton service\n})\nexport class AuthenticatorService implements OnDestroy {\n private _authState: AuthMachineState;\n private _authService: AuthInterpreter;\n private _sendEventAliases: ReturnType<typeof getSendEventAliases>;\n private _machineSubscription: Subscription;\n private _hubSubscription: ReturnType<typeof listenToAuthHub>;\n private _facade: ReturnType<typeof getServiceContextFacade>;\n\n public startMachine({\n initialState,\n loginMechanisms,\n services,\n signUpAttributes,\n socialProviders,\n }: AuthenticatorMachineOptions) {\n const machine = createAuthenticatorMachine();\n\n const authService = interpret(machine).start();\n\n authService.send({\n type: 'INIT',\n data: {\n initialState,\n loginMechanisms,\n socialProviders,\n signUpAttributes,\n services,\n },\n });\n\n this._machineSubscription = authService.subscribe((state) => {\n this._authState = state;\n this._facade = getServiceContextFacade(state);\n });\n\n this._hubSubscription = listenToAuthHub(authService.send);\n this._sendEventAliases = getSendEventAliases(authService.send);\n this._authService = authService;\n }\n\n ngOnDestroy(): void {\n if (this._machineSubscription) this._machineSubscription.unsubscribe();\n if (this._hubSubscription) this._hubSubscription();\n }\n\n /**\n * Context facades\n */\n\n public get error() {\n return translate(this._facade?.error);\n }\n\n public get hasValidationErrors() {\n return this._facade?.hasValidationErrors;\n }\n\n public get isPending() {\n return this._facade?.isPending;\n }\n\n public get route() {\n return this._facade?.route;\n }\n\n public get user() {\n return this._facade?.user;\n }\n\n public get validationErrors() {\n return this._facade?.validationErrors;\n }\n\n public get codeDeliveryDetails() {\n return this._facade?.codeDeliveryDetails;\n }\n\n /**\n * Service facades\n */\n\n public get updateForm() {\n return this._sendEventAliases.updateForm;\n }\n\n public get updateBlur() {\n return this._sendEventAliases.updateBlur;\n }\n\n public get resendCode() {\n return this._sendEventAliases.resendCode;\n }\n\n public get signOut() {\n return this._sendEventAliases.signOut;\n }\n\n public get submitForm() {\n return this._sendEventAliases.submitForm;\n }\n\n /**\n * Transition facades\n */\n\n public get toFederatedSignIn() {\n return this._sendEventAliases.toFederatedSignIn;\n }\n\n public get toResetPassword() {\n return this._sendEventAliases.toResetPassword;\n }\n\n public get toSignIn() {\n return this._sendEventAliases.toSignIn;\n }\n\n public get toSignUp() {\n return this._sendEventAliases.toSignUp;\n }\n\n public get skipVerification() {\n return this._sendEventAliases.skipVerification;\n }\n\n /**\n * Internal utility functions\n */\n\n /** @deprecated For internal use only */\n public get authState(): AuthMachineState {\n return this._authState;\n }\n\n /** @deprecated For internal use only */\n public get authService(): AuthInterpreter {\n return this._authService;\n }\n\n /** @deprecated For internal use only */\n public get context(): AuthContext {\n return this._authState.context;\n }\n\n /** @deprecated For internal use only */\n public get slotContext() {\n const slotContext = {\n ...this._facade,\n ...this._sendEventAliases,\n };\n\n return {\n ...slotContext,\n $implicit: { ...slotContext },\n };\n }\n\n /** @deprecated For internal use only */\n public subscribe(callback: AuthSubscriptionCallback) {\n if (this._authService) {\n return this._authService.subscribe(callback);\n } else {\n logger.error(\n 'Subscription attempted before machine was created. This is likely a bug on the library, please consider filing a bug.'\n );\n }\n }\n\n /** @deprecated For internal use only */\n public send(event: Event<AuthEvent>) {\n this.authService.send(event);\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n Input,\n OnInit,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AuthenticatorMachineOptions,\n SocialProvider,\n translate,\n} from '@aws-amplify/ui';\nimport { AmplifySlotDirective } from '../../../../utilities/amplify-slot/amplify-slot.directive';\nimport { CustomComponentsService } from '../../../../services/custom-components.service';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\n@Component({\n selector: 'amplify-authenticator',\n templateUrl: './authenticator.component.html',\n providers: [CustomComponentsService], // make sure custom components are scoped to this authenticator only\n encapsulation: ViewEncapsulation.None,\n})\nexport class AuthenticatorComponent implements OnInit, AfterContentInit {\n @Input() initialState: AuthenticatorMachineOptions['initialState'];\n @Input() loginMechanisms: AuthenticatorMachineOptions['loginMechanisms'];\n @Input() services: AuthenticatorMachineOptions['services'];\n @Input() signUpAttributes: AuthenticatorMachineOptions['signUpAttributes'];\n @Input() socialProviders: SocialProvider[];\n @Input() variation: 'default' | 'modal';\n @Input() hideSignUp: boolean;\n\n @ContentChildren(AmplifySlotDirective)\n private customComponentQuery: QueryList<AmplifySlotDirective> = null;\n\n // translated texts\n public signInTitle = translate('Sign In');\n public signUpTitle = translate('Create Account');\n\n constructor(\n private authenticator: AuthenticatorService,\n private contextService: CustomComponentsService\n ) {}\n\n ngOnInit(): void {\n const {\n initialState,\n loginMechanisms,\n services,\n signUpAttributes,\n socialProviders,\n } = this;\n this.authenticator.startMachine({\n initialState,\n loginMechanisms,\n services,\n signUpAttributes,\n socialProviders,\n });\n\n /**\n * handling translations after content init, because authenticator and its\n * translations might be initialized before the main app's `ngOnInit` is run.\n */\n this.signInTitle = translate('Sign In');\n this.signUpTitle = translate('Create Account');\n }\n\n /**\n * Lifecycle Methods\n */\n ngAfterContentInit(): void {\n this.contextService.customComponents = this.mapCustomComponents(\n this.customComponentQuery\n );\n }\n\n /**\n * Class Functions\n */\n\n // context passed to \"authenticated\" slot\n public get context() {\n return this.authenticator.slotContext;\n }\n\n public get route() {\n return this.authenticator.route;\n }\n\n public onTabChange() {\n const route = this.authenticator.route;\n if (route === 'signIn') {\n this.authenticator.toSignUp();\n } else {\n this.authenticator.toSignIn();\n }\n }\n\n public hasTabs() {\n const route = this.authenticator.route;\n return route === 'signIn' || route === 'signUp';\n }\n\n private mapCustomComponents(\n componentQuery: QueryList<AmplifySlotDirective>\n ): Record<string, TemplateRef<any>> {\n if (!componentQuery) return {};\n const customComponents: Record<string, TemplateRef<any>> = {};\n componentQuery.forEach((component) => {\n customComponents[component.name] = component.template;\n });\n\n return customComponents;\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { translate } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-confirm-reset-password',\n templateUrl: './amplify-confirm-reset-password.component.html',\n})\nexport class ConfirmResetPasswordComponent {\n @HostBinding('attr.data-amplify-authenticator-confirmsignin') dataAttr = '';\n @Input() public headerText = translate('Reset your password');\n\n // translated strings\n public sendCodeText = translate('Send Code');\n public backToSignInText = translate('Back to Sign In');\n public resendCodeText = translate('Resend Code');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm();\n }\n}\n","import { Component, HostBinding, OnInit } from '@angular/core';\nimport { Logger } from 'aws-amplify';\nimport {\n AuthChallengeNames,\n getActorContext,\n SignInContext,\n} from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { translate } from '@aws-amplify/ui';\n\nconst logger = new Logger('ConfirmSignIn');\n\n@Component({\n selector: 'amplify-confirm-sign-in',\n templateUrl: './confirm-sign-in.component.html',\n})\nexport class ConfirmSignInComponent implements OnInit {\n @HostBinding('attr.data-amplify-authenticator-confirmsignin') dataAttr = '';\n\n // translated texts\n public headerText: string;\n public confirmText = translate('Confirm');\n public backToSignInText = translate('Back to Sign In');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n this.setHeaderText();\n }\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n setHeaderText(): void {\n const state = this.authenticator.authState;\n const actorContext = getActorContext(state) as SignInContext;\n const { challengeName } = actorContext;\n switch (challengeName) {\n case AuthChallengeNames.SOFTWARE_TOKEN_MFA:\n this.headerText = translate('Confirm TOTP Code');\n break;\n case AuthChallengeNames.SMS_MFA:\n this.headerText = translate('Confirm SMS Code');\n break;\n default:\n logger.error('Unexpected challengeName', challengeName);\n }\n }\n\n onInput(event: Event): void {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm();\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { translate } from '@aws-amplify/ui';\n@Component({\n selector: 'amplify-confirm-sign-up',\n templateUrl: './confirm-sign-up.component.html',\n})\nexport class ConfirmSignUpComponent {\n @Input() headerText = translate('Confirm Sign Up');\n\n @HostBinding('attr.data-amplify-authenticator-confirmsignup') dataAttr = '';\n\n // translated texts\n public resendCodeText = translate('Resend Code');\n public confirmText = translate('Confirm');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n public get confirmSignUpHeading(): string {\n const { codeDeliveryDetails: { DeliveryMedium } = {} } = this.authenticator;\n return DeliveryMedium === 'EMAIL'\n ? translate('We Emailed You')\n : DeliveryMedium === 'SMS'\n ? translate('We Texted You')\n : translate('We Sent A Code');\n }\n\n public get subtitleText(): string {\n const { codeDeliveryDetails: { DeliveryMedium, Destination } = {} } =\n this.authenticator;\n return DeliveryMedium === 'EMAIL'\n ? `Your code is on the way. To log in, enter the code we emailed to ${Destination}. It may take a minute to arrive.`\n : DeliveryMedium === 'SMS'\n ? `Your code is on the way. To log in, enter the code we texted to ${Destination}. It may take a minute to arrive.`\n : translate(\n `Your code is on the way. To log in, enter the code we sent you. It may take a minute to arrive.`\n );\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm();\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { translate } from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\n@Component({\n selector: 'amplify-confirm-verify-user',\n templateUrl: './amplify-confirm-verify-user.component.html',\n})\nexport class ConfirmVerifyUserComponent {\n @HostBinding('attr.data-amplify-authenticator-confirmverifyuser')\n dataAttr = '';\n @Input() public headerText = translate(\n 'Account recovery requires verified contact information'\n );\n\n // translated texts\n public skipText = translate('Skip');\n public submitText = translate('Submit');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm();\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { FederatedIdentityProviders } from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\n@Component({\n selector: 'amplify-federated-sign-in-button',\n templateUrl: './federated-sign-in-button.component.html',\n})\nexport class FederatedSignInButtonComponent {\n @Input() provider: FederatedIdentityProviders;\n @Input() text: string;\n\n constructor(private authenticator: AuthenticatorService) {}\n\n onClick = (): void => {\n this.authenticator.send({\n type: 'FEDERATED_SIGN_IN',\n data: { provider: this.provider },\n });\n };\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FederatedIdentityProviders } from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { translate } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-federated-sign-in',\n templateUrl: './federated-sign-in.component.html',\n})\nexport class FederatedSignInComponent implements OnInit {\n public FederatedProviders = FederatedIdentityProviders;\n public includeAmazon: boolean = false;\n public includeApple: boolean = false;\n public includeFacebook: boolean = false;\n public includeGoogle: boolean = false;\n public shouldShowFederatedSignIn = false;\n\n // translated texts\n public signInAmazonText: string;\n public signInAppleText: string;\n public signInFacebookText: string;\n public signInGoogleText: string;\n\n constructor(private authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n const { socialProviders } = this.authenticator.context?.config;\n\n this.setFederatedTexts();\n this.includeAmazon = socialProviders?.includes('amazon');\n this.includeApple = socialProviders?.includes('apple');\n this.includeGoogle = socialProviders?.includes('google');\n this.includeFacebook = socialProviders?.includes('facebook');\n\n this.shouldShowFederatedSignIn =\n this.includeAmazon ||\n this.includeApple ||\n this.includeFacebook ||\n this.includeGoogle;\n }\n\n private setFederatedTexts() {\n const { route } = this.authenticator;\n const federatedText = route === 'signUp' ? 'Up' : 'In';\n this.signInAmazonText = translate<string>(\n `Sign ${federatedText} with Amazon`\n );\n this.signInAppleText = translate<string>(\n `Sign ${federatedText} with Apple`\n );\n this.signInFacebookText = translate<string>(\n `Sign ${federatedText} with Facebook`\n );\n this.signInGoogleText = translate<string>(\n `Sign ${federatedText} with Google`\n );\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { translate } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-force-new-password',\n templateUrl: './force-new-password.component.html',\n})\nexport class ForceNewPasswordComponent {\n @HostBinding('attr.data-amplify-authenticator-forcenewpassword')\n dataAttr = '';\n @Input() public headerText = translate('Change Password');\n\n // translated texts\n public changePasswordText = translate('Change Password');\n public backToSignInText = translate('Back to Sign In');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AuthenticatorService } from '../../../../../services/authenticator.service';\nimport {\n authInputAttributes,\n getActorContext,\n SignInContext,\n} from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-force-new-password-form-fields',\n templateUrl: './force-new-password-form-fields.component.html',\n})\nexport class ForceNewPasswordFormFieldsComponent implements OnInit {\n public fieldNames: string[];\n\n constructor(private authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n const state = this.authenticator.authState;\n const actorContext = getActorContext(state) as SignInContext;\n const { requiredAttributes } = actorContext;\n\n this.fieldNames = requiredAttributes.filter((fieldName) => {\n const hasDefaultField = !!authInputAttributes[fieldName];\n if (!hasDefaultField) {\n console.debug(\n `Authenticator does not have a default implementation for ${fieldName}. Customize Authenticator.SignUp.FormFields to add your own.`\n );\n }\n return hasDefaultField;\n });\n }\n}\n","import { authInputAttributes } from '@aws-amplify/ui';\nimport { AttributeInfoProvider } from './types';\n\nexport const getAttributeMap: AttributeInfoProvider = () => authInputAttributes;\n","import { Component, Input, OnInit } from '@angular/core';\nimport {\n ActorContextWithForms,\n AuthInputAttributes,\n getActorContext,\n translate,\n countryDialCodes,\n} from '@aws-amplify/ui';\nimport { getAttributeMap } from '../../../../common';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\n/**\n * Input interface opinionated for authenticator usage.\n *\n * TODO: Separate this component out to two parts -- 1) amplify-auth-input that\n * contains authenticator opinionated logic and 2) amplify-text-field primitive\n * that does not make any auth-related inference.\n */\n@Component({\n selector: 'amplify-form-field',\n templateUrl: './form-field.component.html',\n})\nexport class FormFieldComponent implements OnInit {\n @Input() name: string;\n @Input() type: string;\n @Input() required = true;\n @Input() placeholder = '';\n @Input() label = '';\n @Input() initialValue = '';\n @Input() disabled = false;\n @Input() autocomplete = '';\n @Input() labelHidden = true;\n\n public defaultCountryCode: string;\n public countryDialCodes = countryDialCodes;\n public textFieldId: string;\n public selectFieldId: string;\n\n constructor(private authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n // TODO: consider better default handling mechanisms across frameworks\n if (this.isPhoneField()) {\n const state = this.authenticator.authState;\n const { country_code }: ActorContextWithForms = getActorContext(state);\n this.defaultCountryCode = country_code;\n }\n }\n\n get attributeMap(): AuthInputAttributes {\n return getAttributeMap();\n }\n\n get error(): string {\n const formContext: ActorContextWithForms = getActorContext(\n this.authenticator.authState\n );\n const { validationError } = formContext;\n return translate(validationError[this.name]);\n }\n\n public onBlur($event: Event) {\n let { name } = <HTMLInputElement>$event.target;\n\n this.authenticator.updateBlur({ name });\n }\n\n inferLabel(): string {\n const label = this.label || this.attributeMap[this.name]?.label;\n return translate<string>(label);\n }\n\n inferPlaceholder(): string {\n const placeholder =\n this.placeholder ||\n this.attributeMap[this.name]?.placeholder ||\n this.inferLabel();\n return translate<string>(placeholder);\n }\n\n // infers what the `type` of underlying input element should be.\n inferType(): string {\n return this.type ?? this.attributeMap[this.name]?.type ?? 'text';\n }\n\n inferAutocomplete(): string {\n return this.autocomplete || this.attributeMap[this.name]?.autocomplete;\n }\n\n // TODO(enhancement): use enum to differentiate special field types\n isPasswordField(): boolean {\n return this.inferType() === 'password';\n }\n\n isPhoneField(): boolean {\n return this.inferType() === 'tel';\n }\n}\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { getAliasInfoFromContext, translate } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-reset-password',\n templateUrl: './reset-password.component.html',\n})\nexport class ResetPasswordComponent implements OnInit {\n @HostBinding('attr.data-amplify-authenticator-resetPassword') dataAttr = '';\n @Input() public headerText = translate('Reset your password');\n\n // translated texts\n public sendCodeText = translate('Send Code');\n public backToSignInText = translate('Back to Sign In');\n public labelText = translate<string>('Username');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n const { authState } = this.authenticator;\n const { label } = getAliasInfoFromContext(authState.context);\n this.labelText = `Enter your ${label.toLowerCase()}`;\n }\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm();\n }\n}\n","import { Component, HostBinding, OnInit } from '@angular/core';\nimport QRCode from 'qrcode';\nimport { Auth, Logger } from 'aws-amplify';\nimport { getActorContext, SignInContext } from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { translate } from '@aws-amplify/ui';\n\nconst logger = new Logger('SetupTotp');\n\n@Component({\n selector: 'amplify-setup-totp',\n templateUrl: './setup-totp.component.html',\n})\nexport class SetupTotpComponent implements OnInit {\n @HostBinding('attr.data-amplify-authenticator-setup-totp') dataAttr = '';\n public headerText = translate('Setup TOTP');\n public qrCodeSource = '';\n public secretKey = '';\n public copyTextLabel = translate('COPY');\n\n // translated texts\n public backToSignInText = translate('Back to Sign In');\n public confirmText = translate('Confirm');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n this.generateQRCode();\n }\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n async generateQRCode() {\n // TODO: This should be handled in core.\n const state = this.authenticator.authState;\n const actorContext = getActorContext(state) as SignInContext;\n const { user } = actorContext;\n try {\n this.secretKey = await Auth.setupTOTP(user);\n const issuer = 'AWSCognito';\n const totpCode = `otpauth://totp/${issuer}:${user.username}?secret=${this.secretKey}&issuer=${issuer}`;\n\n logger.info('totp code was generated:', totpCode);\n this.qrCodeSource = await QRCode.toDataURL(totpCode);\n } catch (err) {\n logger.error(err);\n }\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm();\n }\n\n copyText(): void {\n navigator.clipboard.writeText(this.secretKey);\n this.copyTextLabel = translate('COPIED');\n }\n}\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { translate, hasTranslation } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-sign-in',\n templateUrl: './sign-in.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class SignInComponent {\n @HostBinding('attr.data-amplify-authenticator-signin') dataAttr = '';\n\n // translated phrases\n // Support backwards compatibility for legacy key with trailing space\n public forgotPasswordText = !hasTranslation('Forgot your password? ')\n ? translate('Forgot your password?')\n : translate('Forgot your password? ');\n public signInButtonText = translate('Sign in');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm();\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { translate } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-sign-up',\n templateUrl: './sign-up.component.html',\n})\nexport class SignUpComponent {\n @HostBinding('attr.data-amplify-authenticator-signup') dataAttr = '';\n\n // translated texts\n public createAccountText = translate('Create Account');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n onInput(event: Event) {\n let { checked, name, type, value } = <HTMLInputElement>event.target;\n\n if (type === 'checkbox' && !checked) value = undefined;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AuthenticatorService } from '../../../../../services/authenticator.service';\nimport {\n authInputAttributes,\n LoginMechanism,\n SignUpAttribute,\n} from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-sign-up-form-fields',\n templateUrl: './sign-up-form-fields.component.html',\n})\nexport class SignUpFormFieldsComponent implements OnInit {\n public primaryAlias = '';\n public secondaryAliases: string[] = [];\n public fieldNames: Array<LoginMechanism | SignUpAttribute>;\n public loginMechanism: LoginMechanism;\n\n constructor(private authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n const context = this.authenticator.context;\n\n const { loginMechanisms, signUpAttributes } = context.config;\n\n this.fieldNames = Array.from(\n new Set([...loginMechanisms, ...signUpAttributes])\n );\n\n this.fieldNames = this.fieldNames.filter((fieldName) => {\n const hasDefaultField = !!authInputAttributes[fieldName];\n if (!hasDefaultField) {\n console.debug(\n `Authenticator does not have a default implementation for ${fieldName}. Customize Authenticator.SignUp.FormFields to add your own.`\n );\n }\n return hasDefaultField;\n });\n\n // Only 1 is supported, so `['email', 'phone_number']` will only show `email`\n this.loginMechanism = this.fieldNames.shift() as LoginMechanism;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { getAliasInfoFromContext } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-user-name-alias',\n templateUrl: './user-name-alias.component.html',\n})\nexport class UserNameAliasComponent implements OnInit {\n @Input() name: string = 'username';\n @Input() disabled: boolean = false;\n @Input() initialValue: string = '';\n @Input() required: boolean = true;\n public label: string;\n public type: string;\n public error: string;\n public placeholder: string;\n\n constructor(private authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n const context = this.authenticator.context;\n const { label, type } = getAliasInfoFromContext(context);\n\n this.label = label;\n this.type = type;\n this.placeholder = label;\n }\n}\n","import {\n Component,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { getActorState, SignInState, translate } from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { getAttributeMap } from '../../../../common';\nimport { nanoid } from 'nanoid';\n@Component({\n selector: 'amplify-verify-user',\n templateUrl: './verify-user.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class VerifyUserComponent implements OnInit {\n @HostBinding('attr.data-amplify-authenticator-verifyuser') dataAttr = '';\n @Input() public headerText = translate(\n 'Account recovery requires verified contact information'\n );\n\n public unverifiedAttributes = {};\n public labelId = nanoid(12);\n\n // translated texts\n public skipText = translate('Skip');\n public verifyText = translate('Verify');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n const actorState = getActorState(\n this.authenticator.authState\n ) as SignInState;\n this.unverifiedAttributes = actorState.context.unverifiedAttributes;\n }\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n getLabelForAttr(authAttr: string): string {\n const attributeMap = getAttributeMap();\n const label = attributeMap[authAttr]?.label;\n return translate<string>(label);\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm();\n }\n}\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'button[amplify-button]',\n templateUrl: './button.component.html',\n})\nexport class ButtonComponent implements OnInit {\n @Input() type: 'submit' | 'button' = 'button';\n @Input() fullWidth: boolean | string = false;\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() variation: 'primary' | 'default' | 'link' = 'default';\n @Input() fontWeight: 'normal' | 'bold' | 'lighter' = 'normal';\n\n @HostBinding('type') typeAttr: string;\n @HostBinding('attr.data-fullwidth') fullWidthAttr: boolean | string;\n @HostBinding('attr.data-size') sizeAttr: string;\n @HostBinding('attr.data-variation') variationAttr: string;\n @HostBinding('class.amplify-button') defaultClass = true;\n @HostBinding('style.font-weight') fontWeightAttr: string;\n\n ngOnInit() {\n this.typeAttr = this.type;\n this.fullWidthAttr = this.fullWidth;\n this.sizeAttr = this.size;\n this.variationAttr = this.variation;\n this.fontWeightAttr = this.fontWeight;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'amplify-checkbox',\n templateUrl: './checkbox.component.html',\n})\nexport class CheckboxComponent implements OnInit {\n @Input() defaultChecked: boolean = false;\n @Input() errorMessage: string;\n @Input() hasError: boolean = false;\n @Input() label: string;\n @Input() name: string;\n @Input() value: string;\n\n public isChecked: boolean = false;\n\n ngOnInit() {\n if (this.defaultChecked) {\n this.isChecked = true;\n }\n }\n\n handleClick() {\n this.isChecked = !this.isChecked;\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'amplify-error',\n templateUrl: './error.component.html',\n})\nexport class ErrorComponent {\n public isVisible = true;\n\n public close() {\n this.isVisible = false;\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { translate } from '@aws-amplify/ui';\nimport { nanoid } from 'nanoid';\n\n@Component({\n selector: 'amplify-password-field',\n templateUrl: './password-field.component.html',\n})\nexport class PasswordFieldComponent {\n @Input() autocomplete = 'new-password';\n @Input() disabled = false;\n @Input() fieldId: string = `amplify-field-${nanoid(12)}`;\n @Input() initialValue = '';\n @Input() label = '';\n @Input() name: string;\n @Input() placeholder = '';\n @Input() required = true;\n @Input() labelHidden = false;\n @Output() setBlur = new EventEmitter<Event>();\n\n public type: 'text' | 'password' = 'password';\n\n public showPassword = false;\n public showPasswordButtonlabel = translate('Show password');\n\n togglePasswordText() {\n this.showPassword = !this.showPassword;\n this.showPasswordButtonlabel = this.showPassword\n ? translate('Show password')\n : translate('Hide password');\n this.type = this.showPassword ? 'text' : 'password';\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { nanoid } from 'nanoid';\nimport { countryDialCodes } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-phone-number-field',\n templateUrl: './phone-number-field.component.html',\n})\nexport class PhoneNumberFieldComponent {\n @Input() autocomplete = 'new-password';\n @Input() disabled = false;\n @Input() defaultCountryCode: string;\n @Input() selectFieldId: string = `amplify-field-${nanoid(12)}`;\n @Input() textFieldId: string = `amplify-field-${nanoid(12)}`;\n @Input() initialValue = '';\n @Input() label = '';\n @Input() name: string;\n @Input() placeholder = '';\n @Input() required = true;\n @Input() type: string;\n @Input() labelHidden = false;\n\n @HostBinding('style.display') display = 'contents';\n public countryDialCodes = countryDialCodes;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'amplify-form-select',\n templateUrl: './select.component.html',\n})\nexport class SelectComponent {\n @Input() items: string[];\n @Input() name: string;\n @Input() label: string;\n @Input() id: string;\n @Input() defaultValue: string;\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'amplify-tab-item',\n templateUrl: './tab-item.component.html',\n})\nexport class TabItemComponent {\n @Input() title: string;\n @Input() active = false;\n @Input() id: string;\n @Input() labelledById: string;\n @Input() tabIndex: number;\n @HostBinding('style.display') display = 'block'; // emulate div behavior\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n QueryList,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { nanoid } from 'nanoid';\nimport { TabItemComponent } from '../tab-item/tab-item.component';\n\n@Component({\n selector: 'amplify-tabs',\n templateUrl: './tabs.component.html',\n})\nexport class TabsComponent implements AfterContentInit {\n @ContentChildren(TabItemComponent) tabs: QueryList<TabItemComponent>;\n @Output() tabChange = new EventEmitter();\n\n ngAfterContentInit(): void {\n // assign ids\n this.tabs.forEach((tab, index) => {\n tab.id = `radix-id-${nanoid(12)}-1-content-${index}`;\n tab.labelledById = `radix-id-${nanoid(12)}-1-trigger-${index}`;\n });\n\n // find active tab\n // TODO(enhancement): more declarative way for choosing the initial tab to render\n const activeTabs = this.tabs.filter((tab) => tab.active);\n\n // set active tab\n if (activeTabs.length !== 1) {\n this.selectTab(this.tabs.first);\n }\n }\n\n selectTab(tab: TabItemComponent) {\n this.tabs.forEach((tab) => {\n tab.active = false;\n });\n tab.active = true;\n }\n\n handleTabClick(tab: TabItemComponent) {\n if (tab.active) return; // don't do anything if clicks the current active tab\n this.tabChange.emit();\n this.selectTab(tab);\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { nanoid } from 'nanoid';\n\n@Component({\n selector: 'amplify-text-field',\n templateUrl: './text-field.component.html',\n})\nexport class TextFieldComponent {\n @Input() autocomplete = 'new-password';\n @Input() disabled = false;\n @Input() fieldId: string = `amplify-field-${nanoid(12)}`;\n @Input() initialValue = '';\n @Input() label = '';\n @Input() name: string;\n @Input() placeholder = '';\n @Input() required = true;\n @Input() type: string;\n @Input() labelHidden = false;\n\n @HostBinding('style.display') display = 'contents';\n}\n","import {\n AfterContentInit,\n Component,\n HostBinding,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport { CustomComponentsService } from '../../services/custom-components.service';\n\n@Component({\n selector: 'amplify-slot',\n templateUrl: './amplify-slot.component.html',\n})\nexport class AmplifySlotComponent implements AfterContentInit {\n @Input() name: string;\n @Input() context: Record<PropertyKey, any>;\n\n @HostBinding('style.display') display = 'contents';\n\n public overridingComponent: TemplateRef<any>;\n public isOverriden: boolean = false;\n\n constructor(private propService: CustomComponentsService) {}\n\n ngAfterContentInit(): void {\n const customComponents = this.propService.customComponents;\n const overridingComponent = customComponents[this.name];\n\n if (overridingComponent) {\n this.overridingComponent = overridingComponent;\n this.isOverriden = true;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/**\n * Note: Angular components and directives inside module files has to be imported directly.\n *\n * Related: https://github.com/ng-packagr/ng-packagr/issues/567\n */\nimport { AuthenticatorComponent } from './components/authenticator/authenticator.component';\nimport { ConfirmResetPasswordComponent } from './components/confirm-reset-password/amplify-confirm-reset-password.component';\nimport { ConfirmSignInComponent } from './components/confirm-sign-in/confirm-sign-in.component';\nimport { ConfirmSignUpComponent } from './components/confirm-sign-up/confirm-sign-up.component';\nimport { ConfirmVerifyUserComponent } from './components/confirm-verify-user/amplify-confirm-verify-user.component';\nimport { FederatedSignInButtonComponent } from './components/federated-sign-in-button/federated-sign-in-button.component';\nimport { FederatedSignInComponent } from './components/federated-sign-in/federated-sign-in.component';\nimport { ForceNewPasswordComponent } from './components/force-new-password/force-new-password.component';\nimport { ForceNewPasswordFormFieldsComponent } from './components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component';\nimport { FormFieldComponent } from './components/form-field/form-field.component';\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\nimport { SetupTotpComponent } from './components/setup-totp/setup-totp.component';\nimport { SignInComponent } from './components/sign-in/sign-in.component';\nimport { SignUpComponent } from './components/sign-up/sign-up.component';\nimport { SignUpFormFieldsComponent } from './components/sign-up/sign-up-form-fields/sign-up-form-fields.component';\nimport { UserNameAliasComponent } from './components/user-name-alias/user-name-alias.component';\nimport { VerifyUserComponent } from './components/verify-user/verify-user.component';\n\nimport { ButtonComponent } from '../../primitives/button/button.component';\nimport { CheckboxComponent } from '../../primitives/checkbox/checkbox.component';\nimport { ErrorComponent } from '../../primitives/error/error.component';\nimport { PasswordFieldComponent } from '../../primitives/password-field/password-field.component';\nimport { PhoneNumberFieldComponent } from '../../primitives/phone-number-field/phone-number-field.component';\nimport { SelectComponent } from '../../primitives/select/select.component';\nimport { TabItemComponent } from '../../primitives/tab-item/tab-item.component';\nimport { TabsComponent } from '../../primitives/tabs/tabs.component';\nimport { TextFieldComponent } from '../../primitives/text-field/text-field.component';\n\nimport { AmplifySlotComponent } from '../../utilities/amplify-slot/amplify-slot.component';\nimport { AmplifySlotDirective } from '../../utilities/amplify-slot/amplify-slot.directive';\n\n@NgModule({\n declarations: [\n AmplifySlotComponent,\n AmplifySlotDirective,\n AuthenticatorComponent,\n ButtonComponent,\n CheckboxComponent,\n ConfirmResetPasswordComponent,\n ConfirmSignInComponent,\n ConfirmSignUpComponent,\n ConfirmVerifyUserComponent,\n ErrorComponent,\n FederatedSignInButtonComponent,\n FederatedSignInComponent,\n ForceNewPasswordComponent,\n ForceNewPasswordFormFieldsComponent,\n FormFieldComponent,\n PasswordFieldComponent,\n PhoneNumberFieldComponent,\n ResetPasswordComponent,\n SelectComponent,\n SetupTotpComponent,\n SignInComponent,\n SignUpComponent,\n SignUpFormFieldsComponent,\n TabItemComponent,\n TabsComponent,\n TextFieldComponent,\n UserNameAliasComponent,\n VerifyUserComponent,\n ],\n imports: [CommonModule],\n exports: [\n AmplifySlotDirective,\n AuthenticatorComponent,\n CheckboxComponent,\n SignUpFormFieldsComponent,\n ForceNewPasswordFormFieldsComponent,\n TextFieldComponent,\n ],\n})\nexport class AmplifyAuthenticatorModule {}\n","/*\n * Public API Surface of ui-angular\n */\n\n/**\n * Modules\n */\nexport { AmplifyAuthenticatorModule } from './lib/components/authenticator/authenticator.module';\n\n/**\n * Components\n */\nexport * from './lib/components/authenticator/components';\nexport * from './lib/primitives';\n\n/**\n * Helpers\n */\nexport * from './lib/common';\n\n/**\n * Directives\n */\nexport * from './lib/utilities/amplify-slot/amplify-slot.directive';\n\n/**\n * Services\n */\nexport * from './lib/services/custom-components.service';\nexport * from './lib/services/authenticator.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {AuthenticatorComponent as ɵb} from './lib/components/authenticator/components/authenticator/authenticator.component';\nexport {ConfirmResetPasswordComponent as ɵe} from './lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component';\nexport {ConfirmSignInComponent as ɵf} from './lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component';\nexport {ConfirmSignUpComponent as ɵg} from './lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component';\nexport {ConfirmVerifyUserComponent as ɵh} from './lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component';\nexport {FederatedSignInButtonComponent as ɵj} from './lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component';\nexport {FederatedSignInComponent as ɵk} from './lib/components/authenticator/components/federated-sign-in/federated-sign-in.component';\nexport {ForceNewPasswordFormFieldsComponent as ɵm} from './lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component';\nexport {ForceNewPasswordComponent as ɵl} from './lib/components/authenticator/components/force-new-password/force-new-password.component';\nexport {FormFieldComponent as ɵn} from './lib/components/authenticator/components/form-field/form-field.component';\nexport {ResetPasswordComponent as ɵq} from './lib/components/authenticator/components/reset-password/reset-password.component';\nexport {SetupTotpComponent as ɵs} from './lib/components/authenticator/components/setup-totp/setup-totp.component';\nexport {SignInComponent as ɵt} from './lib/components/authenticator/components/sign-in/sign-in.component';\nexport {SignUpFormFieldsComponent as ɵv} from './lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component';\nexport {SignUpComponent as ɵu} from './lib/components/authenticator/components/sign-up/sign-up.component';\nexport {UserNameAliasComponent as ɵz} from './lib/components/authenticator/components/user-name-alias/user-name-alias.component';\nexport {VerifyUserComponent as ɵba} from './lib/components/authenticator/components/verify-user/verify-user.component';\nexport {ButtonComponent as ɵc} from './lib/primitives/button/button.component';\nexport {CheckboxComponent as ɵd} from './lib/primitives/checkbox/checkbox.component';\nexport {ErrorComponent as ɵi} from './lib/primitives/error/error.component';\nexport {PasswordFieldComponent as ɵo} from './lib/primitives/password-field/password-field.component';\nexport {PhoneNumberFieldComponent as ɵp} from './lib/primitives/phone-number-field/phone-number-field.component';\nexport {SelectComponent as ɵr} from './lib/primitives/select/select.component';\nexport {TabItemComponent as ɵw} from './lib/primitives/tab-item/tab-item.component';\nexport {TabsComponent as ɵx} from './lib/primitives/tabs/tabs.component';\nexport {TextFieldComponent as ɵy} from './lib/primitives/text-field/text-field.component';\nexport {AmplifySlotComponent as ɵa} from './lib/utilities/amplify-slot/amplify-slot.component';"],"names":["logger","Logger"],"mappings":"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"}
1
+ {"version":3,"file":"aws-amplify-ui-angular.js","sources":["../../../projects/ui-angular/src/lib/utilities/amplify-slot/amplify-slot.directive.ts","../../../projects/ui-angular/src/lib/services/custom-components.service.ts","../../../projects/ui-angular/src/lib/services/authenticator.service.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/authenticator/authenticator.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/force-new-password/force-new-password.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.ts","../../../projects/ui-angular/src/lib/common/helpers.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/form-field/form-field.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/reset-password/reset-password.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/setup-totp/setup-totp.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/sign-in/sign-in.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/sign-up/sign-up.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/user-name-alias/user-name-alias.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/verify-user/verify-user.component.ts","../../../projects/ui-angular/src/lib/primitives/button/button.component.ts","../../../projects/ui-angular/src/lib/primitives/checkbox/checkbox.component.ts","../../../projects/ui-angular/src/lib/primitives/error/error.component.ts","../../../projects/ui-angular/src/lib/primitives/password-field/password-field.component.ts","../../../projects/ui-angular/src/lib/primitives/phone-number-field/phone-number-field.component.ts","../../../projects/ui-angular/src/lib/primitives/select/select.component.ts","../../../projects/ui-angular/src/lib/primitives/tab-item/tab-item.component.ts","../../../projects/ui-angular/src/lib/primitives/tabs/tabs.component.ts","../../../projects/ui-angular/src/lib/primitives/text-field/text-field.component.ts","../../../projects/ui-angular/src/lib/utilities/amplify-slot/amplify-slot.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/authenticator.module.ts","../../../projects/ui-angular/src/index.ts","../../../projects/ui-angular/src/aws-amplify-ui-angular.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[amplifySlot]',\n})\nexport class AmplifySlotDirective {\n constructor(public template: TemplateRef<any>) {}\n public name: string;\n\n @Input() set amplifySlot(component: string) {\n this.name = component;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CustomComponents } from '../common';\n\n/**\n * Stores and provides custom components that users provide with `amplify-slot`.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CustomComponentsService {\n private _customComponents: CustomComponents = {};\n\n public get customComponents(): CustomComponents {\n return this._customComponents;\n }\n\n public set customComponents(customComponents: CustomComponents) {\n this._customComponents = { ...this._customComponents, ...customComponents };\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { Logger } from '@aws-amplify/core';\nimport {\n AuthContext,\n AuthenticatorMachineOptions,\n AuthEvent,\n AuthInterpreter,\n AuthMachineState,\n createAuthenticatorMachine,\n getSendEventAliases,\n getServiceContextFacade,\n listenToAuthHub,\n} from '@aws-amplify/ui';\nimport { Event, interpret, Subscription } from 'xstate';\nimport { AuthSubscriptionCallback } from '../common';\nimport { translate } from '@aws-amplify/ui';\n\nconst logger = new Logger('state-machine');\n\n/**\n * AuthenticatorService provides access to the authenticator state and context.\n */\n@Injectable({\n providedIn: 'root', // ensure we have a singleton service\n})\nexport class AuthenticatorService implements OnDestroy {\n private _authState: AuthMachineState;\n private _authService: AuthInterpreter;\n private _sendEventAliases: ReturnType<typeof getSendEventAliases>;\n private _machineSubscription: Subscription;\n private _hubSubscription: ReturnType<typeof listenToAuthHub>;\n private _facade: ReturnType<typeof getServiceContextFacade>;\n\n public startMachine({\n initialState,\n loginMechanisms,\n services,\n signUpAttributes,\n socialProviders,\n }: AuthenticatorMachineOptions) {\n const machine = createAuthenticatorMachine();\n\n const authService = interpret(machine).start();\n\n authService.send({\n type: 'INIT',\n data: {\n initialState,\n loginMechanisms,\n socialProviders,\n signUpAttributes,\n services,\n },\n });\n\n this._machineSubscription = authService.subscribe((state) => {\n this._authState = state;\n this._facade = getServiceContextFacade(state);\n });\n\n this._hubSubscription = listenToAuthHub(authService.send);\n this._sendEventAliases = getSendEventAliases(authService.send);\n this._authService = authService;\n }\n\n ngOnDestroy(): void {\n if (this._machineSubscription) this._machineSubscription.unsubscribe();\n if (this._hubSubscription) this._hubSubscription();\n }\n\n /**\n * Context facades\n */\n\n public get error() {\n return translate(this._facade?.error);\n }\n\n public get hasValidationErrors() {\n return this._facade?.hasValidationErrors;\n }\n\n public get isPending() {\n return this._facade?.isPending;\n }\n\n public get route() {\n return this._facade?.route;\n }\n\n public get user() {\n return this._facade?.user;\n }\n\n public get validationErrors() {\n return this._facade?.validationErrors;\n }\n\n public get codeDeliveryDetails() {\n return this._facade?.codeDeliveryDetails;\n }\n\n /**\n * Service facades\n */\n\n public get updateForm() {\n return this._sendEventAliases.updateForm;\n }\n\n public get updateBlur() {\n return this._sendEventAliases.updateBlur;\n }\n\n public get resendCode() {\n return this._sendEventAliases.resendCode;\n }\n\n public get signOut() {\n return this._sendEventAliases.signOut;\n }\n\n public get submitForm() {\n return this._sendEventAliases.submitForm;\n }\n\n /**\n * Transition facades\n */\n\n public get toFederatedSignIn() {\n return this._sendEventAliases.toFederatedSignIn;\n }\n\n public get toResetPassword() {\n return this._sendEventAliases.toResetPassword;\n }\n\n public get toSignIn() {\n return this._sendEventAliases.toSignIn;\n }\n\n public get toSignUp() {\n return this._sendEventAliases.toSignUp;\n }\n\n public get skipVerification() {\n return this._sendEventAliases.skipVerification;\n }\n\n /**\n * Internal utility functions\n */\n\n /** @deprecated For internal use only */\n public get authState(): AuthMachineState {\n return this._authState;\n }\n\n /** @deprecated For internal use only */\n public get authService(): AuthInterpreter {\n return this._authService;\n }\n\n /** @deprecated For internal use only */\n public get context(): AuthContext {\n return this._authState.context;\n }\n\n /** @deprecated For internal use only */\n public get slotContext() {\n const slotContext = {\n ...this._facade,\n ...this._sendEventAliases,\n };\n\n return {\n ...slotContext,\n $implicit: { ...slotContext },\n };\n }\n\n /** @deprecated For internal use only */\n public subscribe(callback: AuthSubscriptionCallback) {\n if (this._authService) {\n return this._authService.subscribe(callback);\n } else {\n logger.error(\n 'Subscription attempted before machine was created. This is likely a bug on the library, please consider filing a bug.'\n );\n }\n }\n\n /** @deprecated For internal use only */\n public send(event: Event<AuthEvent>) {\n this.authService.send(event);\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n Input,\n OnInit,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AuthenticatorMachineOptions,\n SocialProvider,\n translate,\n} from '@aws-amplify/ui';\nimport { AmplifySlotDirective } from '../../../../utilities/amplify-slot/amplify-slot.directive';\nimport { CustomComponentsService } from '../../../../services/custom-components.service';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\n@Component({\n selector: 'amplify-authenticator',\n templateUrl: './authenticator.component.html',\n providers: [CustomComponentsService], // make sure custom components are scoped to this authenticator only\n encapsulation: ViewEncapsulation.None,\n})\nexport class AuthenticatorComponent implements OnInit, AfterContentInit {\n @Input() initialState: AuthenticatorMachineOptions['initialState'];\n @Input() loginMechanisms: AuthenticatorMachineOptions['loginMechanisms'];\n @Input() services: AuthenticatorMachineOptions['services'];\n @Input() signUpAttributes: AuthenticatorMachineOptions['signUpAttributes'];\n @Input() socialProviders: SocialProvider[];\n @Input() variation: 'default' | 'modal';\n @Input() hideSignUp: boolean;\n\n @ContentChildren(AmplifySlotDirective)\n private customComponentQuery: QueryList<AmplifySlotDirective> = null;\n\n // translated texts\n public signInTitle = translate('Sign In');\n public signUpTitle = translate('Create Account');\n\n constructor(\n private authenticator: AuthenticatorService,\n private contextService: CustomComponentsService\n ) {}\n\n ngOnInit(): void {\n const {\n initialState,\n loginMechanisms,\n services,\n signUpAttributes,\n socialProviders,\n } = this;\n this.authenticator.startMachine({\n initialState,\n loginMechanisms,\n services,\n signUpAttributes,\n socialProviders,\n });\n\n /**\n * handling translations after content init, because authenticator and its\n * translations might be initialized before the main app's `ngOnInit` is run.\n */\n this.signInTitle = translate('Sign In');\n this.signUpTitle = translate('Create Account');\n }\n\n /**\n * Lifecycle Methods\n */\n ngAfterContentInit(): void {\n this.contextService.customComponents = this.mapCustomComponents(\n this.customComponentQuery\n );\n }\n\n /**\n * Class Functions\n */\n\n // context passed to \"authenticated\" slot\n public get context() {\n return this.authenticator.slotContext;\n }\n\n public get route() {\n return this.authenticator.route;\n }\n\n public onTabChange() {\n const route = this.authenticator.route;\n if (route === 'signIn') {\n this.authenticator.toSignUp();\n } else {\n this.authenticator.toSignIn();\n }\n }\n\n public hasTabs() {\n const route = this.authenticator.route;\n return route === 'signIn' || route === 'signUp';\n }\n\n private mapCustomComponents(\n componentQuery: QueryList<AmplifySlotDirective>\n ): Record<string, TemplateRef<any>> {\n if (!componentQuery) return {};\n const customComponents: Record<string, TemplateRef<any>> = {};\n componentQuery.forEach((component) => {\n customComponents[component.name] = component.template;\n });\n\n return customComponents;\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { getFormDataFromEvent, translate } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-confirm-reset-password',\n templateUrl: './amplify-confirm-reset-password.component.html',\n})\nexport class ConfirmResetPasswordComponent {\n @HostBinding('attr.data-amplify-authenticator-confirmsignin') dataAttr = '';\n @Input() public headerText = translate('Reset your password');\n\n // translated strings\n public sendCodeText = translate('Send Code');\n public backToSignInText = translate('Back to Sign In');\n public resendCodeText = translate('Resend Code');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm(getFormDataFromEvent(event));\n }\n}\n","import { Component, HostBinding, OnInit } from '@angular/core';\nimport { Logger } from 'aws-amplify';\nimport {\n AuthChallengeNames,\n getActorContext,\n getFormDataFromEvent,\n SignInContext,\n} from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { translate } from '@aws-amplify/ui';\n\nconst logger = new Logger('ConfirmSignIn');\n\n@Component({\n selector: 'amplify-confirm-sign-in',\n templateUrl: './confirm-sign-in.component.html',\n})\nexport class ConfirmSignInComponent implements OnInit {\n @HostBinding('attr.data-amplify-authenticator-confirmsignin') dataAttr = '';\n\n // translated texts\n public headerText: string;\n public confirmText = translate('Confirm');\n public backToSignInText = translate('Back to Sign In');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n this.setHeaderText();\n }\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n setHeaderText(): void {\n const state = this.authenticator.authState;\n const actorContext = getActorContext(state) as SignInContext;\n const { challengeName } = actorContext;\n switch (challengeName) {\n case AuthChallengeNames.SOFTWARE_TOKEN_MFA:\n this.headerText = translate('Confirm TOTP Code');\n break;\n case AuthChallengeNames.SMS_MFA:\n this.headerText = translate('Confirm SMS Code');\n break;\n default:\n logger.error('Unexpected challengeName', challengeName);\n }\n }\n\n onInput(event: Event): void {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm(getFormDataFromEvent(event));\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { getFormDataFromEvent, translate } from '@aws-amplify/ui';\n@Component({\n selector: 'amplify-confirm-sign-up',\n templateUrl: './confirm-sign-up.component.html',\n})\nexport class ConfirmSignUpComponent {\n @Input() headerText = translate('Confirm Sign Up');\n\n @HostBinding('attr.data-amplify-authenticator-confirmsignup') dataAttr = '';\n\n // translated texts\n public resendCodeText = translate('Resend Code');\n public confirmText = translate('Confirm');\n public emailMessage = translate(\n 'Your code is on the way. To log in, enter the code we emailed to'\n );\n public textedMessage = translate(\n 'Your code is on the way. To log in, enter the code we texted to'\n );\n public defaultMessage = translate(\n 'Your code is on the way. To log in, enter the code we sent you. It may take a minute to arrive.'\n );\n public minutesMessage = translate('It may take a minute to arrive.');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n public get confirmSignUpHeading(): string {\n const { codeDeliveryDetails: { DeliveryMedium } = {} } = this.authenticator;\n return DeliveryMedium === 'EMAIL'\n ? translate('We Emailed You')\n : DeliveryMedium === 'SMS'\n ? translate('We Texted You')\n : translate('We Sent A Code');\n }\n\n public get subtitleText(): string {\n const { codeDeliveryDetails: { DeliveryMedium, Destination } = {} } =\n this.authenticator;\n return DeliveryMedium === 'EMAIL'\n ? `${this.emailMessage} ${Destination}. ${this.minutesMessage}`\n : DeliveryMedium === 'SMS'\n ? `${this.textedMessage} ${Destination}. ${this.minutesMessage}`\n : translate(`${this.defaultMessage}`);\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm(getFormDataFromEvent(event));\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { getFormDataFromEvent, translate } from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\n@Component({\n selector: 'amplify-confirm-verify-user',\n templateUrl: './amplify-confirm-verify-user.component.html',\n})\nexport class ConfirmVerifyUserComponent {\n @HostBinding('attr.data-amplify-authenticator-confirmverifyuser')\n dataAttr = '';\n @Input() public headerText = translate(\n 'Account recovery requires verified contact information'\n );\n\n // translated texts\n public skipText = translate('Skip');\n public submitText = translate('Submit');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm(getFormDataFromEvent(event));\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { FederatedIdentityProviders } from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\n@Component({\n selector: 'amplify-federated-sign-in-button',\n templateUrl: './federated-sign-in-button.component.html',\n})\nexport class FederatedSignInButtonComponent {\n @Input() provider: FederatedIdentityProviders;\n @Input() text: string;\n\n constructor(private authenticator: AuthenticatorService) {}\n\n onClick = (): void => {\n this.authenticator.send({\n type: 'FEDERATED_SIGN_IN',\n data: { provider: this.provider },\n });\n };\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FederatedIdentityProviders } from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { translate } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-federated-sign-in',\n templateUrl: './federated-sign-in.component.html',\n})\nexport class FederatedSignInComponent implements OnInit {\n public FederatedProviders = FederatedIdentityProviders;\n public includeAmazon: boolean = false;\n public includeApple: boolean = false;\n public includeFacebook: boolean = false;\n public includeGoogle: boolean = false;\n public shouldShowFederatedSignIn = false;\n\n // translated texts\n public signInAmazonText: string;\n public signInAppleText: string;\n public signInFacebookText: string;\n public signInGoogleText: string;\n\n constructor(private authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n const { socialProviders } = this.authenticator.context?.config;\n\n this.setFederatedTexts();\n this.includeAmazon = socialProviders?.includes('amazon');\n this.includeApple = socialProviders?.includes('apple');\n this.includeGoogle = socialProviders?.includes('google');\n this.includeFacebook = socialProviders?.includes('facebook');\n\n this.shouldShowFederatedSignIn =\n this.includeAmazon ||\n this.includeApple ||\n this.includeFacebook ||\n this.includeGoogle;\n }\n\n private setFederatedTexts() {\n const { route } = this.authenticator;\n const federatedText = route === 'signUp' ? 'Up' : 'In';\n this.signInAmazonText = translate<string>(\n `Sign ${federatedText} with Amazon`\n );\n this.signInAppleText = translate<string>(\n `Sign ${federatedText} with Apple`\n );\n this.signInFacebookText = translate<string>(\n `Sign ${federatedText} with Facebook`\n );\n this.signInGoogleText = translate<string>(\n `Sign ${federatedText} with Google`\n );\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { getFormDataFromEvent, translate } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-force-new-password',\n templateUrl: './force-new-password.component.html',\n})\nexport class ForceNewPasswordComponent {\n @HostBinding('attr.data-amplify-authenticator-forcenewpassword')\n dataAttr = '';\n @Input() public headerText = translate('Change Password');\n\n // translated texts\n public changePasswordText = translate('Change Password');\n public backToSignInText = translate('Back to Sign In');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm(getFormDataFromEvent(event));\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AuthenticatorService } from '../../../../../services/authenticator.service';\nimport {\n authInputAttributes,\n getActorContext,\n SignInContext,\n} from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-force-new-password-form-fields',\n templateUrl: './force-new-password-form-fields.component.html',\n})\nexport class ForceNewPasswordFormFieldsComponent implements OnInit {\n public fieldNames: string[];\n\n constructor(private authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n const state = this.authenticator.authState;\n const actorContext = getActorContext(state) as SignInContext;\n const { requiredAttributes } = actorContext;\n\n this.fieldNames = requiredAttributes.filter((fieldName) => {\n const hasDefaultField = !!authInputAttributes[fieldName];\n if (!hasDefaultField) {\n console.debug(\n `Authenticator does not have a default implementation for ${fieldName}. Customize Authenticator.SignUp.FormFields to add your own.`\n );\n }\n return hasDefaultField;\n });\n }\n}\n","import { authInputAttributes } from '@aws-amplify/ui';\nimport { AttributeInfoProvider } from './types';\n\nexport const getAttributeMap: AttributeInfoProvider = () => authInputAttributes;\n","import { Component, Input, OnInit } from '@angular/core';\nimport {\n ActorContextWithForms,\n AuthInputAttributes,\n getActorContext,\n translate,\n countryDialCodes,\n} from '@aws-amplify/ui';\nimport { getAttributeMap } from '../../../../common';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\n/**\n * Input interface opinionated for authenticator usage.\n *\n * TODO: Separate this component out to two parts -- 1) amplify-auth-input that\n * contains authenticator opinionated logic and 2) amplify-text-field primitive\n * that does not make any auth-related inference.\n */\n@Component({\n selector: 'amplify-form-field',\n templateUrl: './form-field.component.html',\n})\nexport class FormFieldComponent implements OnInit {\n @Input() name: string;\n @Input() type: string;\n @Input() required = true;\n @Input() placeholder = '';\n @Input() label = '';\n @Input() initialValue = '';\n @Input() disabled = false;\n @Input() autocomplete = '';\n @Input() labelHidden = true;\n\n public defaultCountryCode: string;\n public countryDialCodes = countryDialCodes;\n public textFieldId: string;\n public selectFieldId: string;\n\n constructor(private authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n // TODO: consider better default handling mechanisms across frameworks\n if (this.isPhoneField()) {\n const state = this.authenticator.authState;\n const { country_code }: ActorContextWithForms = getActorContext(state);\n this.defaultCountryCode = country_code;\n }\n }\n\n get attributeMap(): AuthInputAttributes {\n return getAttributeMap();\n }\n\n get error(): string {\n const formContext: ActorContextWithForms = getActorContext(\n this.authenticator.authState\n );\n const { validationError } = formContext;\n return translate(validationError[this.name]);\n }\n\n public onBlur($event: Event) {\n let { name } = <HTMLInputElement>$event.target;\n\n this.authenticator.updateBlur({ name });\n }\n\n inferLabel(): string {\n const label = this.label || this.attributeMap[this.name]?.label;\n return translate<string>(label);\n }\n\n inferPlaceholder(): string {\n const placeholder =\n this.placeholder ||\n this.attributeMap[this.name]?.placeholder ||\n this.inferLabel();\n return translate<string>(placeholder);\n }\n\n // infers what the `type` of underlying input element should be.\n inferType(): string {\n return this.type ?? this.attributeMap[this.name]?.type ?? 'text';\n }\n\n inferAutocomplete(): string {\n return this.autocomplete || this.attributeMap[this.name]?.autocomplete;\n }\n\n // TODO(enhancement): use enum to differentiate special field types\n isPasswordField(): boolean {\n return this.inferType() === 'password';\n }\n\n isPhoneField(): boolean {\n return this.inferType() === 'tel';\n }\n}\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport {\n getAliasInfoFromContext,\n getFormDataFromEvent,\n translate,\n} from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-reset-password',\n templateUrl: './reset-password.component.html',\n})\nexport class ResetPasswordComponent implements OnInit {\n @HostBinding('attr.data-amplify-authenticator-resetPassword') dataAttr = '';\n @Input() public headerText = translate('Reset your password');\n\n // translated texts\n public sendCodeText = translate('Send Code');\n public backToSignInText = translate('Back to Sign In');\n public labelText = translate<string>('Username');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n const { authState } = this.authenticator;\n const { label } = getAliasInfoFromContext(authState.context);\n this.labelText = `Enter your ${label.toLowerCase()}`;\n }\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm(getFormDataFromEvent(event));\n }\n}\n","import { Component, HostBinding, OnInit } from '@angular/core';\nimport QRCode from 'qrcode';\nimport { Auth, Logger } from 'aws-amplify';\nimport {\n getActorContext,\n getFormDataFromEvent,\n SignInContext,\n} from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { translate } from '@aws-amplify/ui';\n\nconst logger = new Logger('SetupTotp');\n\n@Component({\n selector: 'amplify-setup-totp',\n templateUrl: './setup-totp.component.html',\n})\nexport class SetupTotpComponent implements OnInit {\n @HostBinding('attr.data-amplify-authenticator-setup-totp') dataAttr = '';\n public headerText = translate('Setup TOTP');\n public qrCodeSource = '';\n public secretKey = '';\n public copyTextLabel = translate('COPY');\n\n // translated texts\n public backToSignInText = translate('Back to Sign In');\n public confirmText = translate('Confirm');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n this.generateQRCode();\n }\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n async generateQRCode() {\n // TODO: This should be handled in core.\n const state = this.authenticator.authState;\n const actorContext = getActorContext(state) as SignInContext;\n const { user } = actorContext;\n try {\n this.secretKey = await Auth.setupTOTP(user);\n const issuer = 'AWSCognito';\n const totpCode = `otpauth://totp/${issuer}:${user.username}?secret=${this.secretKey}&issuer=${issuer}`;\n\n logger.info('totp code was generated:', totpCode);\n this.qrCodeSource = await QRCode.toDataURL(totpCode);\n } catch (err) {\n logger.error(err);\n }\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm(getFormDataFromEvent(event));\n }\n\n copyText(): void {\n navigator.clipboard.writeText(this.secretKey);\n this.copyTextLabel = translate('COPIED');\n }\n}\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport {\n translate,\n hasTranslation,\n getFormDataFromEvent,\n} from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-sign-in',\n templateUrl: './sign-in.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class SignInComponent {\n @HostBinding('attr.data-amplify-authenticator-signin') dataAttr = '';\n\n // translated phrases\n // Support backwards compatibility for legacy key with trailing space\n public forgotPasswordText = !hasTranslation('Forgot your password? ')\n ? translate('Forgot your password?')\n : translate('Forgot your password? ');\n public signInButtonText = translate('Sign in');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm(getFormDataFromEvent(event));\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { translate, getFormDataFromEvent } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-sign-up',\n templateUrl: './sign-up.component.html',\n})\nexport class SignUpComponent {\n @HostBinding('attr.data-amplify-authenticator-signup') dataAttr = '';\n\n // translated texts\n public createAccountText = translate('Create Account');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n onInput(event: Event) {\n let { checked, name, type, value } = <HTMLInputElement>event.target;\n\n if (type === 'checkbox' && !checked) value = undefined;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm(getFormDataFromEvent(event));\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AuthenticatorService } from '../../../../../services/authenticator.service';\nimport {\n authInputAttributes,\n LoginMechanism,\n SignUpAttribute,\n} from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-sign-up-form-fields',\n templateUrl: './sign-up-form-fields.component.html',\n})\nexport class SignUpFormFieldsComponent implements OnInit {\n public primaryAlias = '';\n public secondaryAliases: string[] = [];\n public fieldNames: Array<LoginMechanism | SignUpAttribute>;\n public loginMechanism: LoginMechanism;\n\n constructor(private authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n const context = this.authenticator.context;\n\n const { loginMechanisms, signUpAttributes } = context.config;\n\n this.fieldNames = Array.from(\n new Set([...loginMechanisms, ...signUpAttributes])\n );\n\n this.fieldNames = this.fieldNames.filter((fieldName) => {\n const hasDefaultField = !!authInputAttributes[fieldName];\n if (!hasDefaultField) {\n console.debug(\n `Authenticator does not have a default implementation for ${fieldName}. Customize Authenticator.SignUp.FormFields to add your own.`\n );\n }\n return hasDefaultField;\n });\n\n // Only 1 is supported, so `['email', 'phone_number']` will only show `email`\n this.loginMechanism = this.fieldNames.shift() as LoginMechanism;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { getAliasInfoFromContext } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-user-name-alias',\n templateUrl: './user-name-alias.component.html',\n})\nexport class UserNameAliasComponent implements OnInit {\n @Input() name: string = 'username';\n @Input() disabled: boolean = false;\n @Input() initialValue: string = '';\n @Input() required: boolean = true;\n public label: string;\n public type: string;\n public error: string;\n public placeholder: string;\n\n constructor(private authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n const context = this.authenticator.context;\n const { label, type } = getAliasInfoFromContext(context);\n\n this.label = label;\n this.type = type;\n this.placeholder = label;\n }\n}\n","import {\n Component,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n getActorState,\n getFormDataFromEvent,\n SignInState,\n translate,\n} from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { getAttributeMap } from '../../../../common';\nimport { nanoid } from 'nanoid';\n@Component({\n selector: 'amplify-verify-user',\n templateUrl: './verify-user.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class VerifyUserComponent implements OnInit {\n @HostBinding('attr.data-amplify-authenticator-verifyuser') dataAttr = '';\n @Input() public headerText = translate(\n 'Account recovery requires verified contact information'\n );\n\n public unverifiedAttributes = {};\n public labelId = nanoid(12);\n\n // translated texts\n public skipText = translate('Skip');\n public verifyText = translate('Verify');\n\n constructor(public authenticator: AuthenticatorService) {}\n\n ngOnInit(): void {\n const actorState = getActorState(\n this.authenticator.authState\n ) as SignInState;\n this.unverifiedAttributes = actorState.context.unverifiedAttributes;\n }\n\n public get context() {\n return this.authenticator.slotContext;\n }\n\n getLabelForAttr(authAttr: string): string {\n const attributeMap = getAttributeMap();\n const label = attributeMap[authAttr]?.label;\n return translate<string>(label);\n }\n\n onInput(event: Event) {\n event.preventDefault();\n const { name, value } = <HTMLInputElement>event.target;\n this.authenticator.updateForm({ name, value });\n }\n\n onSubmit(event: Event): void {\n event.preventDefault();\n this.authenticator.submitForm(getFormDataFromEvent(event));\n }\n}\n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'button[amplify-button]',\n templateUrl: './button.component.html',\n})\nexport class ButtonComponent implements OnInit {\n @Input() type: 'submit' | 'button' = 'button';\n @Input() fullWidth: boolean | string = false;\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() variation: 'primary' | 'default' | 'link' = 'default';\n @Input() fontWeight: 'normal' | 'bold' | 'lighter' = 'normal';\n\n @HostBinding('type') typeAttr: string;\n @HostBinding('attr.data-fullwidth') fullWidthAttr: boolean | string;\n @HostBinding('attr.data-size') sizeAttr: string;\n @HostBinding('attr.data-variation') variationAttr: string;\n @HostBinding('class.amplify-button') defaultClass = true;\n @HostBinding('style.font-weight') fontWeightAttr: string;\n\n ngOnInit() {\n this.typeAttr = this.type;\n this.fullWidthAttr = this.fullWidth;\n this.sizeAttr = this.size;\n this.variationAttr = this.variation;\n this.fontWeightAttr = this.fontWeight;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'amplify-checkbox',\n templateUrl: './checkbox.component.html',\n})\nexport class CheckboxComponent implements OnInit {\n @Input() defaultChecked: boolean = false;\n @Input() errorMessage: string;\n @Input() hasError: boolean = false;\n @Input() label: string;\n @Input() name: string;\n @Input() value: string;\n\n public isChecked: boolean = false;\n\n ngOnInit() {\n if (this.defaultChecked) {\n this.isChecked = true;\n }\n }\n\n handleClick() {\n this.isChecked = !this.isChecked;\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'amplify-error',\n templateUrl: './error.component.html',\n})\nexport class ErrorComponent {\n public isVisible = true;\n\n public close() {\n this.isVisible = false;\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { translate } from '@aws-amplify/ui';\nimport { nanoid } from 'nanoid';\n\n@Component({\n selector: 'amplify-password-field',\n templateUrl: './password-field.component.html',\n})\nexport class PasswordFieldComponent {\n @Input() autocomplete = 'new-password';\n @Input() disabled = false;\n @Input() fieldId: string = `amplify-field-${nanoid(12)}`;\n @Input() initialValue = '';\n @Input() label = '';\n @Input() name: string;\n @Input() placeholder = '';\n @Input() required = true;\n @Input() labelHidden = false;\n @Output() setBlur = new EventEmitter<Event>();\n\n public type: 'text' | 'password' = 'password';\n\n public showPassword = false;\n public showPasswordButtonlabel = translate('Show password');\n\n togglePasswordText() {\n this.showPassword = !this.showPassword;\n this.showPasswordButtonlabel = this.showPassword\n ? translate('Show password')\n : translate('Hide password');\n this.type = this.showPassword ? 'text' : 'password';\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { nanoid } from 'nanoid';\nimport { countryDialCodes } from '@aws-amplify/ui';\n\n@Component({\n selector: 'amplify-phone-number-field',\n templateUrl: './phone-number-field.component.html',\n})\nexport class PhoneNumberFieldComponent {\n @Input() autocomplete = 'new-password';\n @Input() disabled = false;\n @Input() defaultCountryCode: string;\n @Input() selectFieldId: string = `amplify-field-${nanoid(12)}`;\n @Input() textFieldId: string = `amplify-field-${nanoid(12)}`;\n @Input() initialValue = '';\n @Input() label = '';\n @Input() name: string;\n @Input() placeholder = '';\n @Input() required = true;\n @Input() type: string;\n @Input() labelHidden = false;\n\n @HostBinding('style.display') display = 'contents';\n public countryDialCodes = countryDialCodes;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'amplify-form-select',\n templateUrl: './select.component.html',\n})\nexport class SelectComponent {\n @Input() items: string[];\n @Input() name: string;\n @Input() label: string;\n @Input() id: string;\n @Input() defaultValue: string;\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'amplify-tab-item',\n templateUrl: './tab-item.component.html',\n})\nexport class TabItemComponent {\n @Input() title: string;\n @Input() active = false;\n @Input() id: string;\n @Input() labelledById: string;\n @Input() tabIndex: number;\n @HostBinding('style.display') display = 'block'; // emulate div behavior\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n QueryList,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { nanoid } from 'nanoid';\nimport { TabItemComponent } from '../tab-item/tab-item.component';\n\n@Component({\n selector: 'amplify-tabs',\n templateUrl: './tabs.component.html',\n})\nexport class TabsComponent implements AfterContentInit {\n @ContentChildren(TabItemComponent) tabs: QueryList<TabItemComponent>;\n @Output() tabChange = new EventEmitter();\n\n ngAfterContentInit(): void {\n // assign ids\n this.tabs.forEach((tab, index) => {\n tab.id = `radix-id-${nanoid(12)}-1-content-${index}`;\n tab.labelledById = `radix-id-${nanoid(12)}-1-trigger-${index}`;\n });\n\n // find active tab\n // TODO(enhancement): more declarative way for choosing the initial tab to render\n const activeTabs = this.tabs.filter((tab) => tab.active);\n\n // set active tab\n if (activeTabs.length !== 1) {\n this.selectTab(this.tabs.first);\n }\n }\n\n selectTab(tab: TabItemComponent) {\n this.tabs.forEach((tab) => {\n tab.active = false;\n });\n tab.active = true;\n }\n\n handleTabClick(tab: TabItemComponent) {\n if (tab.active) return; // don't do anything if clicks the current active tab\n this.tabChange.emit();\n this.selectTab(tab);\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { nanoid } from 'nanoid';\n\n@Component({\n selector: 'amplify-text-field',\n templateUrl: './text-field.component.html',\n})\nexport class TextFieldComponent {\n @Input() autocomplete = 'new-password';\n @Input() disabled = false;\n @Input() fieldId: string = `amplify-field-${nanoid(12)}`;\n @Input() initialValue = '';\n @Input() label = '';\n @Input() name: string;\n @Input() placeholder = '';\n @Input() required = true;\n @Input() type: string;\n @Input() labelHidden = false;\n\n @HostBinding('style.display') display = 'contents';\n}\n","import {\n AfterContentInit,\n Component,\n HostBinding,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport { CustomComponentsService } from '../../services/custom-components.service';\n\n@Component({\n selector: 'amplify-slot',\n templateUrl: './amplify-slot.component.html',\n})\nexport class AmplifySlotComponent implements AfterContentInit {\n @Input() name: string;\n @Input() context: Record<PropertyKey, any>;\n\n @HostBinding('style.display') display = 'contents';\n\n public overridingComponent: TemplateRef<any>;\n public isOverriden: boolean = false;\n\n constructor(private propService: CustomComponentsService) {}\n\n ngAfterContentInit(): void {\n const customComponents = this.propService.customComponents;\n const overridingComponent = customComponents[this.name];\n\n if (overridingComponent) {\n this.overridingComponent = overridingComponent;\n this.isOverriden = true;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/**\n * Note: Angular components and directives inside module files has to be imported directly.\n *\n * Related: https://github.com/ng-packagr/ng-packagr/issues/567\n */\nimport { AuthenticatorComponent } from './components/authenticator/authenticator.component';\nimport { ConfirmResetPasswordComponent } from './components/confirm-reset-password/amplify-confirm-reset-password.component';\nimport { ConfirmSignInComponent } from './components/confirm-sign-in/confirm-sign-in.component';\nimport { ConfirmSignUpComponent } from './components/confirm-sign-up/confirm-sign-up.component';\nimport { ConfirmVerifyUserComponent } from './components/confirm-verify-user/amplify-confirm-verify-user.component';\nimport { FederatedSignInButtonComponent } from './components/federated-sign-in-button/federated-sign-in-button.component';\nimport { FederatedSignInComponent } from './components/federated-sign-in/federated-sign-in.component';\nimport { ForceNewPasswordComponent } from './components/force-new-password/force-new-password.component';\nimport { ForceNewPasswordFormFieldsComponent } from './components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component';\nimport { FormFieldComponent } from './components/form-field/form-field.component';\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\nimport { SetupTotpComponent } from './components/setup-totp/setup-totp.component';\nimport { SignInComponent } from './components/sign-in/sign-in.component';\nimport { SignUpComponent } from './components/sign-up/sign-up.component';\nimport { SignUpFormFieldsComponent } from './components/sign-up/sign-up-form-fields/sign-up-form-fields.component';\nimport { UserNameAliasComponent } from './components/user-name-alias/user-name-alias.component';\nimport { VerifyUserComponent } from './components/verify-user/verify-user.component';\n\nimport { ButtonComponent } from '../../primitives/button/button.component';\nimport { CheckboxComponent } from '../../primitives/checkbox/checkbox.component';\nimport { ErrorComponent } from '../../primitives/error/error.component';\nimport { PasswordFieldComponent } from '../../primitives/password-field/password-field.component';\nimport { PhoneNumberFieldComponent } from '../../primitives/phone-number-field/phone-number-field.component';\nimport { SelectComponent } from '../../primitives/select/select.component';\nimport { TabItemComponent } from '../../primitives/tab-item/tab-item.component';\nimport { TabsComponent } from '../../primitives/tabs/tabs.component';\nimport { TextFieldComponent } from '../../primitives/text-field/text-field.component';\n\nimport { AmplifySlotComponent } from '../../utilities/amplify-slot/amplify-slot.component';\nimport { AmplifySlotDirective } from '../../utilities/amplify-slot/amplify-slot.directive';\n\n@NgModule({\n declarations: [\n AmplifySlotComponent,\n AmplifySlotDirective,\n AuthenticatorComponent,\n ButtonComponent,\n CheckboxComponent,\n ConfirmResetPasswordComponent,\n ConfirmSignInComponent,\n ConfirmSignUpComponent,\n ConfirmVerifyUserComponent,\n ErrorComponent,\n FederatedSignInButtonComponent,\n FederatedSignInComponent,\n ForceNewPasswordComponent,\n ForceNewPasswordFormFieldsComponent,\n FormFieldComponent,\n PasswordFieldComponent,\n PhoneNumberFieldComponent,\n ResetPasswordComponent,\n SelectComponent,\n SetupTotpComponent,\n SignInComponent,\n SignUpComponent,\n SignUpFormFieldsComponent,\n TabItemComponent,\n TabsComponent,\n TextFieldComponent,\n UserNameAliasComponent,\n VerifyUserComponent,\n ],\n imports: [CommonModule],\n exports: [\n AmplifySlotDirective,\n AuthenticatorComponent,\n CheckboxComponent,\n SignUpFormFieldsComponent,\n ForceNewPasswordFormFieldsComponent,\n TextFieldComponent,\n ],\n})\nexport class AmplifyAuthenticatorModule {}\n","/*\n * Public API Surface of ui-angular\n */\n\n/**\n * Modules\n */\nexport { AmplifyAuthenticatorModule } from './lib/components/authenticator/authenticator.module';\n\n/**\n * Components\n */\nexport * from './lib/components/authenticator/components';\nexport * from './lib/primitives';\n\n/**\n * Helpers\n */\nexport * from './lib/common';\n\n/**\n * Directives\n */\nexport * from './lib/utilities/amplify-slot/amplify-slot.directive';\n\n/**\n * Services\n */\nexport * from './lib/services/custom-components.service';\nexport * from './lib/services/authenticator.service';\n\n/**\n * Re-export public APIs from `@aws-amplify/ui`\n */\nexport { translations } from '@aws-amplify/ui';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {AuthenticatorComponent as ɵb} from './lib/components/authenticator/components/authenticator/authenticator.component';\nexport {ConfirmResetPasswordComponent as ɵe} from './lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component';\nexport {ConfirmSignInComponent as ɵf} from './lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component';\nexport {ConfirmSignUpComponent as ɵg} from './lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component';\nexport {ConfirmVerifyUserComponent as ɵh} from './lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component';\nexport {FederatedSignInButtonComponent as ɵj} from './lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component';\nexport {FederatedSignInComponent as ɵk} from './lib/components/authenticator/components/federated-sign-in/federated-sign-in.component';\nexport {ForceNewPasswordFormFieldsComponent as ɵm} from './lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component';\nexport {ForceNewPasswordComponent as ɵl} from './lib/components/authenticator/components/force-new-password/force-new-password.component';\nexport {FormFieldComponent as ɵn} from './lib/components/authenticator/components/form-field/form-field.component';\nexport {ResetPasswordComponent as ɵq} from './lib/components/authenticator/components/reset-password/reset-password.component';\nexport {SetupTotpComponent as ɵs} from './lib/components/authenticator/components/setup-totp/setup-totp.component';\nexport {SignInComponent as ɵt} from './lib/components/authenticator/components/sign-in/sign-in.component';\nexport {SignUpFormFieldsComponent as ɵv} from './lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component';\nexport {SignUpComponent as ɵu} from './lib/components/authenticator/components/sign-up/sign-up.component';\nexport {UserNameAliasComponent as ɵz} from './lib/components/authenticator/components/user-name-alias/user-name-alias.component';\nexport {VerifyUserComponent as ɵba} from './lib/components/authenticator/components/verify-user/verify-user.component';\nexport {ButtonComponent as ɵc} from './lib/primitives/button/button.component';\nexport {CheckboxComponent as ɵd} from './lib/primitives/checkbox/checkbox.component';\nexport {ErrorComponent as ɵi} from './lib/primitives/error/error.component';\nexport {PasswordFieldComponent as ɵo} from './lib/primitives/password-field/password-field.component';\nexport {PhoneNumberFieldComponent as ɵp} from './lib/primitives/phone-number-field/phone-number-field.component';\nexport {SelectComponent as ɵr} from './lib/primitives/select/select.component';\nexport {TabItemComponent as ɵw} from './lib/primitives/tab-item/tab-item.component';\nexport {TabsComponent as ɵx} from './lib/primitives/tabs/tabs.component';\nexport {TextFieldComponent as ɵy} from './lib/primitives/text-field/text-field.component';\nexport {AmplifySlotComponent as ɵa} from './lib/utilities/amplify-slot/amplify-slot.component';"],"names":["logger","Logger"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -20,3 +20,7 @@ export * from './lib/utilities/amplify-slot/amplify-slot.directive';
20
20
  */
21
21
  export * from './lib/services/custom-components.service';
22
22
  export * from './lib/services/authenticator.service';
23
+ /**
24
+ * Re-export public APIs from `@aws-amplify/ui`
25
+ */
26
+ export { translations } from '@aws-amplify/ui';
@@ -6,6 +6,10 @@ export declare class ConfirmSignUpComponent {
6
6
  dataAttr: string;
7
7
  resendCodeText: string;
8
8
  confirmText: string;
9
+ emailMessage: string;
10
+ textedMessage: string;
11
+ defaultMessage: string;
12
+ minutesMessage: string;
9
13
  constructor(authenticator: AuthenticatorService);
10
14
  get context(): {
11
15
  $implicit: {