@aws-amplify/ui-angular 2.3.0 → 2.3.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 (49) hide show
  1. package/aws-amplify-ui-angular.d.ts +24 -24
  2. package/aws-amplify-ui-angular.metadata.json +1 -1
  3. package/bundles/aws-amplify-ui-angular-legacy.umd.js.map +1 -1
  4. package/bundles/aws-amplify-ui-angular-legacy.umd.min.js.map +1 -1
  5. package/bundles/aws-amplify-ui-angular.umd.js +139 -347
  6. package/bundles/aws-amplify-ui-angular.umd.js.map +1 -1
  7. package/bundles/aws-amplify-ui-angular.umd.min.js +1 -1
  8. package/bundles/aws-amplify-ui-angular.umd.min.js.map +1 -1
  9. package/esm2015/aws-amplify-ui-angular.js +25 -25
  10. package/esm2015/lib/common/helpers.js +3 -3
  11. package/esm2015/lib/common/types/auth-types.js +1 -1
  12. package/esm2015/lib/components/authenticator/authenticator.module.js +3 -3
  13. package/esm2015/lib/components/authenticator/components/authenticator/authenticator.component.js +27 -9
  14. package/esm2015/lib/components/authenticator/components/base-form-fields/base-form-fields.component.js +54 -0
  15. package/esm2015/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.js +3 -15
  16. package/esm2015/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.js +3 -13
  17. package/esm2015/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.js +3 -15
  18. package/esm2015/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.js +3 -15
  19. package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.js +2 -22
  20. package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password.component.js +3 -15
  21. package/esm2015/lib/components/authenticator/components/form-field/form-field.component.js +12 -67
  22. package/esm2015/lib/components/authenticator/components/index.js +2 -2
  23. package/esm2015/lib/components/authenticator/components/reset-password/reset-password.component.js +3 -19
  24. package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +3 -13
  25. package/esm2015/lib/components/authenticator/components/sign-in/sign-in.component.js +3 -21
  26. package/esm2015/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.js +2 -50
  27. package/esm2015/lib/services/authenticator.service.js +3 -13
  28. package/fesm2015/aws-amplify-ui-angular-legacy.js.map +1 -1
  29. package/fesm2015/aws-amplify-ui-angular.js +103 -303
  30. package/fesm2015/aws-amplify-ui-angular.js.map +1 -1
  31. package/lib/common/types/auth-types.d.ts +2 -2
  32. package/lib/components/authenticator/components/authenticator/authenticator.component.d.ts +5 -2
  33. package/lib/components/authenticator/components/base-form-fields/base-form-fields.component.d.ts +15 -0
  34. package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +3 -7
  35. package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +2 -4
  36. package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +3 -7
  37. package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +3 -7
  38. package/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.d.ts +1 -7
  39. package/lib/components/authenticator/components/force-new-password/force-new-password.component.d.ts +1 -7
  40. package/lib/components/authenticator/components/form-field/form-field.component.d.ts +5 -29
  41. package/lib/components/authenticator/components/index.d.ts +1 -1
  42. package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +3 -8
  43. package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +3 -4
  44. package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +3 -10
  45. package/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.d.ts +1 -19
  46. package/lib/services/authenticator.service.d.ts +2 -2
  47. package/package.json +8 -3
  48. package/esm2015/lib/components/authenticator/components/user-name-alias/user-name-alias.component.js +0 -42
  49. package/lib/components/authenticator/components/user-name-alias/user-name-alias.component.d.ts +0 -21
@@ -84,23 +84,9 @@
84
84
  */
85
85
  var AuthenticatorService = /** @class */ (function () {
86
86
  function AuthenticatorService() {
87
- }
88
- AuthenticatorService.prototype.startMachine = function (_b) {
89
87
  var _this = this;
90
- var initialState = _b.initialState, loginMechanisms = _b.loginMechanisms, services = _b.services, signUpAttributes = _b.signUpAttributes, socialProviders = _b.socialProviders, formFields = _b.formFields;
91
88
  var machine = ui.createAuthenticatorMachine();
92
89
  var authService = xstate.interpret(machine).start();
93
- authService.send({
94
- type: 'INIT',
95
- data: {
96
- initialState: initialState,
97
- loginMechanisms: loginMechanisms,
98
- socialProviders: socialProviders,
99
- signUpAttributes: signUpAttributes,
100
- services: services,
101
- formFields: formFields,
102
- },
103
- });
104
90
  this._machineSubscription = authService.subscribe(function (state) {
105
91
  _this._authState = state;
106
92
  _this._facade = ui.getServiceContextFacade(state);
@@ -108,7 +94,7 @@
108
94
  this._hubSubscription = ui.listenToAuthHub(authService.send);
109
95
  this._sendEventAliases = ui.getSendEventAliases(authService.send);
110
96
  this._authService = authService;
111
- };
97
+ }
112
98
  AuthenticatorService.prototype.ngOnDestroy = function () {
113
99
  if (this._machineSubscription)
114
100
  this._machineSubscription.unsubscribe();
@@ -307,6 +293,7 @@
307
293
  providedIn: 'root',
308
294
  },] }
309
295
  ];
296
+ AuthenticatorService.ctorParameters = function () { return []; };
310
297
 
311
298
  var AuthenticatorComponent = /** @class */ (function () {
312
299
  function AuthenticatorComponent(authenticator, contextService) {
@@ -316,17 +303,32 @@
316
303
  // translated texts
317
304
  this.signInTitle = ui.translate('Sign In');
318
305
  this.signUpTitle = ui.translate('Create Account');
306
+ this.hasInitialized = false;
319
307
  }
320
308
  AuthenticatorComponent.prototype.ngOnInit = function () {
309
+ var _this = this;
321
310
  var _a = this, initialState = _a.initialState, loginMechanisms = _a.loginMechanisms, services = _a.services, signUpAttributes = _a.signUpAttributes, socialProviders = _a.socialProviders, formFields = _a.formFields;
322
- this.authenticator.startMachine({
323
- initialState: initialState,
324
- loginMechanisms: loginMechanisms,
325
- services: services,
326
- signUpAttributes: signUpAttributes,
327
- socialProviders: socialProviders,
328
- formFields: formFields,
329
- });
311
+ /**
312
+ * Subscribes to state machine changes and sends INIT event
313
+ * once machine reaches 'setup' state.
314
+ */
315
+ this.unsubscribeMachine = this.authenticator.subscribe(function () {
316
+ var route = _this.authenticator.route;
317
+ if (!_this.hasInitialized && route === 'setup') {
318
+ _this.authenticator.send({
319
+ type: 'INIT',
320
+ data: {
321
+ initialState: initialState,
322
+ loginMechanisms: loginMechanisms,
323
+ services: services,
324
+ signUpAttributes: signUpAttributes,
325
+ socialProviders: socialProviders,
326
+ formFields: formFields,
327
+ },
328
+ });
329
+ _this.hasInitialized = true;
330
+ }
331
+ }).unsubscribe;
330
332
  /**
331
333
  * handling translations after content init, because authenticator and its
332
334
  * translations might be initialized before the main app's `ngOnInit` is run.
@@ -340,6 +342,10 @@
340
342
  AuthenticatorComponent.prototype.ngAfterContentInit = function () {
341
343
  this.contextService.customComponents = this.mapCustomComponents(this.customComponentQuery);
342
344
  };
345
+ AuthenticatorComponent.prototype.ngOnDestroy = function () {
346
+ if (this.unsubscribeMachine)
347
+ this.unsubscribeMachine();
348
+ };
343
349
  Object.defineProperty(AuthenticatorComponent.prototype, "context", {
344
350
  /**
345
351
  * Class Functions
@@ -416,18 +422,6 @@
416
422
  this.backToSignInText = ui.translate('Back to Sign In');
417
423
  this.resendCodeText = ui.translate('Resend Code');
418
424
  }
419
- ConfirmResetPasswordComponent.prototype.ngOnInit = function () {
420
- this.setFormFields();
421
- };
422
- ConfirmResetPasswordComponent.prototype.setFormFields = function () {
423
- var _a, _b;
424
- var _state = this.authenticator.authState;
425
- this.formOverrides = (_b = (_a = ui.getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.confirmResetPassword;
426
- };
427
- ConfirmResetPasswordComponent.prototype.grabField = function (name, field, defaultV) {
428
- var _a, _b, _c;
429
- return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
430
- };
431
425
  Object.defineProperty(ConfirmResetPasswordComponent.prototype, "context", {
432
426
  get: function () {
433
427
  return this.authenticator.slotContext;
@@ -437,7 +431,7 @@
437
431
  });
438
432
  ConfirmResetPasswordComponent.prototype.onInput = function (event) {
439
433
  event.preventDefault();
440
- var _d = event.target, name = _d.name, value = _d.value;
434
+ var _a = event.target, name = _a.name, value = _a.value;
441
435
  this.authenticator.updateForm({ name: name, value: value });
442
436
  };
443
437
  ConfirmResetPasswordComponent.prototype.onSubmit = function (event) {
@@ -449,7 +443,7 @@
449
443
  ConfirmResetPasswordComponent.decorators = [
450
444
  { type: i0.Component, args: [{
451
445
  selector: 'amplify-confirm-reset-password',
452
- template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-reset-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"confirmation_code\"\n autocomplete=\"one-time-code\"\n [labelHidden]=\"grabField('confirmation_code', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirmation_code', 'placeholder', null)\"\n [required]=\"grabField('confirmation_code', 'required', true)\"\n [label]=\"grabField('confirmation_code', 'label', null)\"\n ></amplify-form-field>\n <amplify-form-field\n name=\"password\"\n label=\"New password\"\n autocomplete=\"new-password\"\n [labelHidden]=\"grabField('password', 'labelHidden', true)\"\n [placeholder]=\"grabField('password', 'placeholder', null)\"\n [required]=\"grabField('password', 'required', true)\"\n [label]=\"grabField('password', 'label', 'New password')\"\n ></amplify-form-field>\n <amplify-form-field\n name=\"confirm_password\"\n type=\"password\"\n autocomplete=\"new-password\"\n [labelHidden]=\"grabField('confirm_password', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirm_password', 'placeholder', null)\"\n [required]=\"grabField('confirm_password', 'required', true)\"\n [label]=\"grabField('confirm_password', 'label', 'Confirm Password')\"\n ></amplify-form-field>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ sendCodeText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n type=\"button\"\n (click)=\"authenticator.resendCode()\"\n >\n {{ resendCodeText }}\n </button>\n\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"confirm-reset-password-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n"
446
+ template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-reset-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ headerText }}</h3>\n </amplify-slot>\n\n <amplify-base-form-fields\n route=\"confirmResetPassword\"\n ></amplify-base-form-fields>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ sendCodeText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n type=\"button\"\n (click)=\"authenticator.resendCode()\"\n >\n {{ resendCodeText }}\n </button>\n\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"confirm-reset-password-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n"
453
447
  },] }
454
448
  ];
455
449
  ConfirmResetPasswordComponent.ctorParameters = function () { return [
@@ -470,16 +464,6 @@
470
464
  }
471
465
  ConfirmSignInComponent.prototype.ngOnInit = function () {
472
466
  this.setHeaderText();
473
- this.setFormFields();
474
- };
475
- ConfirmSignInComponent.prototype.setFormFields = function () {
476
- var _a, _b;
477
- var _state = this.authenticator.authState;
478
- this.formOverrides = (_b = (_a = ui.getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.confirmSignIn;
479
- };
480
- ConfirmSignInComponent.prototype.grabField = function (name, field, defaultV) {
481
- var _a, _b, _c;
482
- return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
483
467
  };
484
468
  Object.defineProperty(ConfirmSignInComponent.prototype, "context", {
485
469
  get: function () {
@@ -505,7 +489,7 @@
505
489
  };
506
490
  ConfirmSignInComponent.prototype.onInput = function (event) {
507
491
  event.preventDefault();
508
- var _d = event.target, name = _d.name, value = _d.value;
492
+ var _a = event.target, name = _a.name, value = _a.value;
509
493
  this.authenticator.updateForm({ name: name, value: value });
510
494
  };
511
495
  ConfirmSignInComponent.prototype.onSubmit = function (event) {
@@ -517,7 +501,7 @@
517
501
  ConfirmSignInComponent.decorators = [
518
502
  { type: i0.Component, args: [{
519
503
  selector: 'amplify-confirm-sign-in',
520
- template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-sign-in-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"confirmation_code\"\n label=\"Code *\"\n autocomplete=\"one-time-code\"\n [labelHidden]=\"grabField('confirmation_code', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirmation_code', 'placeholder', null)\"\n [required]=\"grabField('confirmation_code', 'required', true)\"\n [label]=\"grabField('confirmation_code', 'label', 'Code *')\"\n ></amplify-form-field>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot\n name=\"confirm-sign-in-footer\"\n [context]=\"context\"\n ></amplify-slot>\n</form>\n"
504
+ template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-sign-in-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ headerText }}</h3>\n </amplify-slot>\n <amplify-base-form-fields route=\"confirmSignIn\"></amplify-base-form-fields>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot\n name=\"confirm-sign-in-footer\"\n [context]=\"context\"\n ></amplify-slot>\n</form>\n"
521
505
  },] }
522
506
  ];
523
507
  ConfirmSignInComponent.ctorParameters = function () { return [
@@ -540,18 +524,6 @@
540
524
  this.defaultMessage = ui.translate('Your code is on the way. To log in, enter the code we sent you. It may take a minute to arrive.');
541
525
  this.minutesMessage = ui.translate('It may take a minute to arrive.');
542
526
  }
543
- ConfirmSignUpComponent.prototype.ngOnInit = function () {
544
- this.setFormFields();
545
- };
546
- ConfirmSignUpComponent.prototype.setFormFields = function () {
547
- var _a, _b;
548
- var _state = this.authenticator.authState;
549
- this.formOverrides = (_b = (_a = ui.getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.confirmSignUp;
550
- };
551
- ConfirmSignUpComponent.prototype.grabField = function (name, field, defaultV) {
552
- var _a, _b, _c;
553
- return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
554
- };
555
527
  Object.defineProperty(ConfirmSignUpComponent.prototype, "context", {
556
528
  get: function () {
557
529
  return this.authenticator.slotContext;
@@ -561,7 +533,7 @@
561
533
  });
562
534
  Object.defineProperty(ConfirmSignUpComponent.prototype, "confirmSignUpHeading", {
563
535
  get: function () {
564
- var _d = this.authenticator.codeDeliveryDetails, _e = _d === void 0 ? {} : _d, DeliveryMedium = _e.DeliveryMedium;
536
+ var _a = this.authenticator.codeDeliveryDetails, _b = _a === void 0 ? {} : _a, DeliveryMedium = _b.DeliveryMedium;
565
537
  return DeliveryMedium === 'EMAIL'
566
538
  ? ui.translate('We Emailed You')
567
539
  : DeliveryMedium === 'SMS'
@@ -573,7 +545,7 @@
573
545
  });
574
546
  Object.defineProperty(ConfirmSignUpComponent.prototype, "subtitleText", {
575
547
  get: function () {
576
- var _d = this.authenticator.codeDeliveryDetails, _e = _d === void 0 ? {} : _d, DeliveryMedium = _e.DeliveryMedium, Destination = _e.Destination;
548
+ var _a = this.authenticator.codeDeliveryDetails, _b = _a === void 0 ? {} : _a, DeliveryMedium = _b.DeliveryMedium, Destination = _b.Destination;
577
549
  return DeliveryMedium === 'EMAIL'
578
550
  ? this.emailMessage + " " + Destination + ". " + this.minutesMessage
579
551
  : DeliveryMedium === 'SMS'
@@ -585,7 +557,7 @@
585
557
  });
586
558
  ConfirmSignUpComponent.prototype.onInput = function (event) {
587
559
  event.preventDefault();
588
- var _d = event.target, name = _d.name, value = _d.value;
560
+ var _a = event.target, name = _a.name, value = _a.value;
589
561
  this.authenticator.updateForm({ name: name, value: value });
590
562
  };
591
563
  ConfirmSignUpComponent.prototype.onSubmit = function (event) {
@@ -597,7 +569,7 @@
597
569
  ConfirmSignUpComponent.decorators = [
598
570
  { type: i0.Component, args: [{
599
571
  selector: 'amplify-confirm-sign-up',
600
- template: "<ng-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"context.isPending\"\n >\n <amplify-slot name=\"confirm-sign-up-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\" style=\"font-size: 1.5rem\">\n {{ confirmSignUpHeading }}\n </h3>\n </amplify-slot>\n <span style=\"margin-bottom: 1rem\">\n {{ subtitleText }}\n </span>\n <amplify-form-field\n name=\"confirmation_code\"\n autocomplete=\"one-time-code\"\n [labelHidden]=\"grabField('confirmation_code', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirmation_code', 'placeholder', null)\"\n [required]=\"grabField('confirmation_code', 'required', true)\"\n [label]=\"grabField('confirmation_code', 'label', null)\"\n ></amplify-form-field>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n fontWeight=\"normal\"\n (click)=\"authenticator.resendCode()\"\n >\n {{ resendCodeText }}\n </button>\n </fieldset>\n\n <amplify-error *ngIf=\"context.error\">\n {{ authenticator.error }}\n </amplify-error>\n <amplify-slot\n name=\"confirm-sign-up-footer\"\n [context]=\"context\"\n ></amplify-slot>\n </form>\n</ng-container>\n"
572
+ template: "<ng-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"context.isPending\"\n >\n <amplify-slot name=\"confirm-sign-up-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\" style=\"font-size: 1.5rem\">\n {{ confirmSignUpHeading }}\n </h3>\n </amplify-slot>\n <span style=\"margin-bottom: 1rem\">\n {{ subtitleText }}\n </span>\n <amplify-base-form-fields\n route=\"confirmSignUp\"\n ></amplify-base-form-fields>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n fontWeight=\"normal\"\n (click)=\"authenticator.resendCode()\"\n >\n {{ resendCodeText }}\n </button>\n </fieldset>\n\n <amplify-error *ngIf=\"context.error\">\n {{ authenticator.error }}\n </amplify-error>\n <amplify-slot\n name=\"confirm-sign-up-footer\"\n [context]=\"context\"\n ></amplify-slot>\n </form>\n</ng-container>\n"
601
573
  },] }
602
574
  ];
603
575
  ConfirmSignUpComponent.ctorParameters = function () { return [
@@ -617,18 +589,6 @@
617
589
  this.skipText = ui.translate('Skip');
618
590
  this.submitText = ui.translate('Submit');
619
591
  }
620
- ConfirmVerifyUserComponent.prototype.ngOnInit = function () {
621
- this.setFormFields();
622
- };
623
- ConfirmVerifyUserComponent.prototype.setFormFields = function () {
624
- var _a, _b;
625
- var _state = this.authenticator.authState;
626
- this.formOverrides = (_b = (_a = ui.getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.confirmVerifyUser;
627
- };
628
- ConfirmVerifyUserComponent.prototype.grabField = function (name, field, defaultV) {
629
- var _a, _b, _c;
630
- return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
631
- };
632
592
  Object.defineProperty(ConfirmVerifyUserComponent.prototype, "context", {
633
593
  get: function () {
634
594
  return this.authenticator.slotContext;
@@ -638,7 +598,7 @@
638
598
  });
639
599
  ConfirmVerifyUserComponent.prototype.onInput = function (event) {
640
600
  event.preventDefault();
641
- var _d = event.target, name = _d.name, value = _d.value;
601
+ var _a = event.target, name = _a.name, value = _a.value;
642
602
  this.authenticator.updateForm({ name: name, value: value });
643
603
  };
644
604
  ConfirmVerifyUserComponent.prototype.onSubmit = function (event) {
@@ -650,7 +610,7 @@
650
610
  ConfirmVerifyUserComponent.decorators = [
651
611
  { type: i0.Component, args: [{
652
612
  selector: 'amplify-confirm-verify-user',
653
- template: "<form data-amplify-form (input)=\"onInput($event)\" (submit)=\"onSubmit($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-verify-user-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n name=\"confirmation_code\"\n autocomplete=\"one-time-code\"\n [labelHidden]=\"grabField('confirmation_code', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirmation_code', 'placeholder', null)\"\n [required]=\"grabField('confirmation_code', 'required', true)\"\n [label]=\"grabField('confirmation_code', 'label', null)\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ submitText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.skipVerification()\"\n >\n {{ skipText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"confirm-verify-user-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n"
613
+ template: "<form data-amplify-form (input)=\"onInput($event)\" (submit)=\"onSubmit($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-verify-user-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-base-form-fields\n route=\"confirmVerifyUser\"\n ></amplify-base-form-fields>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ submitText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.skipVerification()\"\n >\n {{ skipText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"confirm-verify-user-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n"
654
614
  },] }
655
615
  ];
656
616
  ConfirmVerifyUserComponent.ctorParameters = function () { return [
@@ -741,9 +701,6 @@
741
701
  this.changePasswordText = ui.translate('Change Password');
742
702
  this.backToSignInText = ui.translate('Back to Sign In');
743
703
  }
744
- ForceNewPasswordComponent.prototype.ngOnInit = function () {
745
- this.setFormFields();
746
- };
747
704
  Object.defineProperty(ForceNewPasswordComponent.prototype, "context", {
748
705
  get: function () {
749
706
  return this.authenticator.slotContext;
@@ -751,18 +708,9 @@
751
708
  enumerable: false,
752
709
  configurable: true
753
710
  });
754
- ForceNewPasswordComponent.prototype.setFormFields = function () {
755
- var _a, _b;
756
- var _state = this.authenticator.authState;
757
- this.formOverrides = (_b = (_a = ui.getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.forceNewPassword;
758
- };
759
- ForceNewPasswordComponent.prototype.grabField = function (name, field, defaultV) {
760
- var _a, _b, _c;
761
- return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
762
- };
763
711
  ForceNewPasswordComponent.prototype.onInput = function (event) {
764
712
  event.preventDefault();
765
- var _d = event.target, name = _d.name, value = _d.value;
713
+ var _a = event.target, name = _a.name, value = _a.value;
766
714
  this.authenticator.updateForm({ name: name, value: value });
767
715
  };
768
716
  ForceNewPasswordComponent.prototype.onSubmit = function (event) {
@@ -774,7 +722,7 @@
774
722
  ForceNewPasswordComponent.decorators = [
775
723
  { type: i0.Component, args: [{
776
724
  selector: 'amplify-force-new-password',
777
- template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"force-new-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-form-field\n [labelHidden]=\"grabField('password', 'labelHidden', true)\"\n [placeholder]=\"grabField('password', 'placeholder', null)\"\n [required]=\"grabField('password', 'required', true)\"\n [label]=\"grabField('password', 'label', null)\"\n name=\"password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\n <amplify-form-field\n name=\"confirm_password\"\n type=\"password\"\n autocomplete=\"new-password\"\n [labelHidden]=\"grabField('confirm_password', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirm_password', 'placeholder', null)\"\n [required]=\"grabField('confirm_password', 'required', true)\"\n [label]=\"grabField('confirm_password', 'label', 'Confirm Password')\"\n ></amplify-form-field>\n <amplify-slot name=\"force-new-form-fields\" [context]=\"context\">\n <amplify-force-new-password-form-fields></amplify-force-new-password-form-fields>\n </amplify-slot>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ changePasswordText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"force-new-password-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n"
725
+ template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"force-new-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <amplify-slot name=\"force-new-form-fields\" [context]=\"context\">\n <amplify-force-new-password-form-fields></amplify-force-new-password-form-fields>\n </amplify-slot>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ changePasswordText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"force-new-password-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n"
778
726
  },] }
779
727
  ];
780
728
  ForceNewPasswordComponent.ctorParameters = function () { return [
@@ -786,75 +734,26 @@
786
734
  };
787
735
 
788
736
  var ForceNewPasswordFormFieldsComponent = /** @class */ (function () {
789
- function ForceNewPasswordFormFieldsComponent(authenticator) {
790
- this.authenticator = authenticator;
737
+ function ForceNewPasswordFormFieldsComponent() {
791
738
  }
792
- ForceNewPasswordFormFieldsComponent.prototype.ngOnInit = function () {
793
- var state = this.authenticator.authState;
794
- var actorContext = ui.getActorContext(state);
795
- var requiredAttributes = actorContext.requiredAttributes;
796
- this.fieldNames = requiredAttributes.filter(function (fieldName) {
797
- var hasDefaultField = !!ui.authInputAttributes[fieldName];
798
- if (!hasDefaultField) {
799
- console.debug("Authenticator does not have a default implementation for " + fieldName + ". Customize Authenticator.SignUp.FormFields to add your own.");
800
- }
801
- return hasDefaultField;
802
- });
803
- };
804
739
  return ForceNewPasswordFormFieldsComponent;
805
740
  }());
806
741
  ForceNewPasswordFormFieldsComponent.decorators = [
807
742
  { type: i0.Component, args: [{
808
743
  selector: 'amplify-force-new-password-form-fields',
809
- template: "<div class=\"amplify-flex\" style=\"flex-direction: column\" data-amplify-fieldset>\n <ng-container *ngFor=\"let field of fieldNames\">\n <amplify-form-field\n [name]=\"field\"\n [labelHidden]=\"false\"\n ></amplify-form-field>\n </ng-container>\n</div>\n"
744
+ template: "<div class=\"amplify-flex\" style=\"flex-direction: column\" data-amplify-fieldset>\n <amplify-base-form-fields route=\"forceNewPassword\"></amplify-base-form-fields>\n</div>\n"
810
745
  },] }
811
746
  ];
812
- ForceNewPasswordFormFieldsComponent.ctorParameters = function () { return [
813
- { type: AuthenticatorService }
814
- ]; };
815
747
 
816
- var getAttributeMap = function () { return ui.authInputAttributes; };
817
-
818
- /**
819
- * Input interface opinionated for authenticator usage.
820
- *
821
- * TODO: Separate this component out to two parts -- 1) amplify-auth-input that
822
- * contains authenticator opinionated logic and 2) amplify-text-field primitive
823
- * that does not make any auth-related inference.
824
- */
825
748
  var FormFieldComponent = /** @class */ (function () {
826
749
  function FormFieldComponent(authenticator) {
827
750
  this.authenticator = authenticator;
828
- this.required = true;
829
- this.placeholder = '';
830
- this.label = '';
831
- this.initialValue = '';
832
- this.disabled = false;
833
- this.autocomplete = '';
834
- this.labelHidden = true;
835
751
  this.countryDialCodesValue = ui.countryDialCodes;
836
752
  }
837
- FormFieldComponent.prototype.ngOnInit = function () {
838
- var _a;
839
- // TODO: consider better default handling mechanisms across frameworks
840
- if (this.isPhoneField()) {
841
- var state = this.authenticator.authState;
842
- var country_code = ui.getActorContext(state).country_code;
843
- this.defaultCountryCodeValue = (_a = this.defaultCountryCode) !== null && _a !== void 0 ? _a : country_code;
844
- }
845
- };
846
- Object.defineProperty(FormFieldComponent.prototype, "attributeMap", {
847
- get: function () {
848
- return getAttributeMap();
849
- },
850
- enumerable: false,
851
- configurable: true
852
- });
853
- Object.defineProperty(FormFieldComponent.prototype, "error", {
753
+ Object.defineProperty(FormFieldComponent.prototype, "errors", {
854
754
  get: function () {
855
- var formContext = ui.getActorContext(this.authenticator.authState);
856
- var validationError = formContext.validationError;
857
- return ui.translate(validationError[this.name]);
755
+ var validationErrors = this.authenticator.validationErrors;
756
+ return ui.getErrors(validationErrors[this.name]);
858
757
  },
859
758
  enumerable: false,
860
759
  configurable: true
@@ -863,39 +762,21 @@
863
762
  var name = $event.target.name;
864
763
  this.authenticator.updateBlur({ name: name });
865
764
  };
866
- FormFieldComponent.prototype.inferLabel = function () {
867
- var _a;
868
- var label = this.label || ((_a = this.attributeMap[this.name]) === null || _a === void 0 ? void 0 : _a.label);
869
- return ui.translate(label);
870
- };
871
- FormFieldComponent.prototype.inferPlaceholder = function () {
872
- var _a;
873
- var placeholder = this.placeholder || ((_a = this.attributeMap[this.name]) === null || _a === void 0 ? void 0 : _a.placeholder) ||
874
- this.inferLabel();
875
- return ui.translate(placeholder);
876
- };
877
- // infers what the `type` of underlying input element should be.
878
- FormFieldComponent.prototype.inferType = function () {
879
- var _a, _b, _c;
880
- return (_c = (_a = this.type) !== null && _a !== void 0 ? _a : (_b = this.attributeMap[this.name]) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : 'text';
881
- };
882
- FormFieldComponent.prototype.inferAutocomplete = function () {
883
- var _a;
884
- return this.autocomplete || ((_a = this.attributeMap[this.name]) === null || _a === void 0 ? void 0 : _a.autocomplete);
885
- };
886
- // TODO(enhancement): use enum to differentiate special field types
887
765
  FormFieldComponent.prototype.isPasswordField = function () {
888
- return this.inferType() === 'password';
766
+ return this.formField.type === 'password';
889
767
  };
890
768
  FormFieldComponent.prototype.isPhoneField = function () {
891
- return this.inferType() === 'tel';
769
+ return this.formField.type === 'tel';
770
+ };
771
+ FormFieldComponent.prototype.translate = function (phrase) {
772
+ return ui.translate(phrase);
892
773
  };
893
774
  return FormFieldComponent;
894
775
  }());
895
776
  FormFieldComponent.decorators = [
896
777
  { type: i0.Component, args: [{
897
778
  selector: 'amplify-form-field',
898
- template: "<div class=\"amplify-flex amplify-field\" style=\"flex-direction: column\">\n <!-- Country code field -->\n <amplify-phone-number-field\n *ngIf=\"isPhoneField()\"\n [defaultCountryCode]=\"defaultCountryCodeValue\"\n [dialCodeList]=\"dialCodeList\"\n [type]=\"inferType()\"\n [name]=\"name\"\n [label]=\"inferLabel()\"\n [placeholder]=\"inferPlaceholder()\"\n [required]=\"required\"\n [initialValue]=\"initialValue\"\n [disabled]=\"disabled\"\n [labelHidden]=\"labelHidden\"\n [autocomplete]=\"inferAutocomplete()\"\n ></amplify-phone-number-field>\n\n <amplify-password-field\n *ngIf=\"isPasswordField()\"\n [name]=\"name\"\n [label]=\"inferLabel()\"\n [placeholder]=\"inferPlaceholder()\"\n [required]=\"required\"\n [initialValue]=\"initialValue\"\n [disabled]=\"disabled\"\n [labelHidden]=\"labelHidden\"\n [autocomplete]=\"inferAutocomplete()\"\n (setBlur)=\"onBlur($event)\"\n ></amplify-password-field>\n\n <amplify-text-field\n *ngIf=\"!isPasswordField() && !isPhoneField()\"\n [type]=\"inferType()\"\n [name]=\"name\"\n [label]=\"inferLabel()\"\n [placeholder]=\"inferPlaceholder()\"\n [required]=\"required\"\n [initialValue]=\"initialValue\"\n [disabled]=\"disabled\"\n [labelHidden]=\"labelHidden\"\n [autocomplete]=\"inferAutocomplete()\"\n ></amplify-text-field>\n\n <amplify-error *ngIf=\"error\">\n {{ error }}\n </amplify-error>\n</div>\n"
779
+ template: "<div class=\"amplify-flex amplify-field\" style=\"flex-direction: column\">\n <!-- Country code field -->\n <amplify-phone-number-field\n *ngIf=\"isPhoneField()\"\n [name]=\"name\"\n [label]=\"formField.label\"\n [defaultCountryCode]=\"formField.dialCode\"\n [dialCodeList]=\"formField.dialCodeList\"\n [placeholder]=\"formField.placeholder\"\n [required]=\"formField.isRequired\"\n [labelHidden]=\"formField.labelHidden\"\n [autocomplete]=\"formField.autocomplete\"\n type=\"tel\"\n ></amplify-phone-number-field>\n\n <amplify-password-field\n *ngIf=\"isPasswordField()\"\n [name]=\"name\"\n [label]=\"formField.label\"\n [placeholder]=\"formField.placeholder\"\n [required]=\"formField.isRequired\"\n [labelHidden]=\"formField.labelHidden\"\n [autocomplete]=\"formField.autocomplete\"\n (setBlur)=\"onBlur($event)\"\n ></amplify-password-field>\n\n <amplify-text-field\n *ngIf=\"!isPasswordField() && !isPhoneField()\"\n [name]=\"name\"\n [label]=\"formField.label\"\n [placeholder]=\"formField.placeholder\"\n [required]=\"formField.isRequired\"\n [labelHidden]=\"formField.labelHidden\"\n [autocomplete]=\"formField.autocomplete\"\n [type]=\"formField.type\"\n ></amplify-text-field>\n <div data-amplify-sign-up-errors *ngIf=\"errors?.length > 0\">\n <div\n class=\"amplify-text\"\n data-variation=\"error\"\n *ngFor=\"let error of errors\"\n >\n {{ translate(error) }}\n </div>\n </div>\n</div>\n"
899
780
  },] }
900
781
  ];
901
782
  FormFieldComponent.ctorParameters = function () { return [
@@ -903,16 +784,7 @@
903
784
  ]; };
904
785
  FormFieldComponent.propDecorators = {
905
786
  name: [{ type: i0.Input }],
906
- type: [{ type: i0.Input }],
907
- required: [{ type: i0.Input }],
908
- placeholder: [{ type: i0.Input }],
909
- label: [{ type: i0.Input }],
910
- initialValue: [{ type: i0.Input }],
911
- disabled: [{ type: i0.Input }],
912
- autocomplete: [{ type: i0.Input }],
913
- labelHidden: [{ type: i0.Input }],
914
- defaultCountryCode: [{ type: i0.Input }],
915
- dialCodeList: [{ type: i0.Input }]
787
+ formField: [{ type: i0.Input }]
916
788
  };
917
789
 
918
790
  var ResetPasswordComponent = /** @class */ (function () {
@@ -923,23 +795,7 @@
923
795
  // translated texts
924
796
  this.sendCodeText = ui.translate('Send Code');
925
797
  this.backToSignInText = ui.translate('Back to Sign In');
926
- this.labelText = ui.translate('Username');
927
798
  }
928
- ResetPasswordComponent.prototype.ngOnInit = function () {
929
- var authState = this.authenticator.authState;
930
- var label = ui.getAliasInfoFromContext(authState.context).label;
931
- this.labelText = "Enter your " + label.toLowerCase();
932
- this.setFormFields();
933
- };
934
- ResetPasswordComponent.prototype.setFormFields = function () {
935
- var _a, _b;
936
- var _state = this.authenticator.authState;
937
- this.formOverrides = (_b = (_a = ui.getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.resetPassword;
938
- };
939
- ResetPasswordComponent.prototype.grabField = function (name, field, defaultV) {
940
- var _a, _b, _c;
941
- return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
942
- };
943
799
  Object.defineProperty(ResetPasswordComponent.prototype, "context", {
944
800
  get: function () {
945
801
  return this.authenticator.slotContext;
@@ -949,7 +805,7 @@
949
805
  });
950
806
  ResetPasswordComponent.prototype.onInput = function (event) {
951
807
  event.preventDefault();
952
- var _d = event.target, name = _d.name, value = _d.value;
808
+ var _a = event.target, name = _a.name, value = _a.value;
953
809
  this.authenticator.updateForm({ name: name, value: value });
954
810
  };
955
811
  ResetPasswordComponent.prototype.onSubmit = function (event) {
@@ -961,7 +817,7 @@
961
817
  ResetPasswordComponent.decorators = [
962
818
  { type: i0.Component, args: [{
963
819
  selector: 'amplify-reset-password',
964
- template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot\n class=\"amplify-flex\"\n name=\"reset-password-header\"\n [context]=\"context\"\n >\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <amplify-form-field\n name=\"username\"\n type=\"username\"\n autocomplete=\"username\"\n [labelHidden]=\"grabField('username', 'labelHidden', true)\"\n [required]=\"grabField('username', 'required', true)\"\n [label]=\"grabField('username', 'label', labelText)\"\n [placeholder]=\"grabField('username', 'placeholder', labelText)\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ sendCodeText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n\n <amplify-slot name=\"reset-password-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n"
820
+ template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot\n class=\"amplify-flex\"\n name=\"reset-password-header\"\n [context]=\"context\"\n >\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <amplify-base-form-fields route=\"resetPassword\"></amplify-base-form-fields>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ sendCodeText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n\n <amplify-slot name=\"reset-password-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n"
965
821
  },] }
966
822
  ];
967
823
  ResetPasswordComponent.ctorParameters = function () { return [
@@ -1305,16 +1161,6 @@
1305
1161
  }
1306
1162
  SetupTotpComponent.prototype.ngOnInit = function () {
1307
1163
  this.generateQRCode();
1308
- this.setFormFields();
1309
- };
1310
- SetupTotpComponent.prototype.setFormFields = function () {
1311
- var _a, _b;
1312
- var _state = this.authenticator.authState;
1313
- this.formOverrides = (_b = (_a = ui.getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.setupTOTP;
1314
- };
1315
- SetupTotpComponent.prototype.grabField = function (name, field, defaultV) {
1316
- var _a, _b, _c;
1317
- return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
1318
1164
  };
1319
1165
  Object.defineProperty(SetupTotpComponent.prototype, "context", {
1320
1166
  get: function () {
@@ -1376,7 +1222,7 @@
1376
1222
  SetupTotpComponent.decorators = [
1377
1223
  { type: i0.Component, args: [{
1378
1224
  selector: 'amplify-setup-totp',
1379
- template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n width=\"228\"\n height=\"228\"\n />\n <div class=\"amplify-flex\" data-amplify-copy>\n <div>{{ secretKey }}</div>\n <div data-amplify-copy-svg (click)=\"copyText()\">\n <div data-amplify-copy-tooltip>{{ copyTextLabel }}</div>\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM15 5H8C6.9 5 6.01 5.9 6.01 7L6 21C6 22.1 6.89 23 7.99 23H19C20.1 23 21 22.1 21 21V11L15 5ZM8 21V7H14V12H19V21H8Z\"\n />\n </svg>\n </div>\n </div>\n\n <amplify-form-field\n name=\"confirmation_code\"\n autocomplete=\"one-time-code\"\n [labelHidden]=\"grabField('confirmation_code', 'labelHidden', true)\"\n [placeholder]=\"grabField('confirmation_code', 'placeholder', null)\"\n [required]=\"grabField('confirmation_code', 'required', true)\"\n [label]=\"grabField('confirmation_code', 'label', 'Code *')\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"setup-totp-footer\" [context]=\"context\"> </amplify-slot>\n</form>\n"
1225
+ template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n width=\"228\"\n height=\"228\"\n />\n <div class=\"amplify-flex\" data-amplify-copy>\n <div>{{ secretKey }}</div>\n <div data-amplify-copy-svg (click)=\"copyText()\">\n <div data-amplify-copy-tooltip>{{ copyTextLabel }}</div>\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM15 5H8C6.9 5 6.01 5.9 6.01 7L6 21C6 22.1 6.89 23 7.99 23H19C20.1 23 21 22.1 21 21V11L15 5ZM8 21V7H14V12H19V21H8Z\"\n />\n </svg>\n </div>\n </div>\n\n <amplify-base-form-fields route=\"setupTOTP\"></amplify-base-form-fields>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"setup-totp-footer\" [context]=\"context\"> </amplify-slot>\n</form>\n"
1380
1226
  },] }
1381
1227
  ];
1382
1228
  SetupTotpComponent.ctorParameters = function () { return [
@@ -1397,26 +1243,6 @@
1397
1243
  : ui.translate('Forgot your password? ');
1398
1244
  this.signInButtonText = ui.translate('Sign in');
1399
1245
  }
1400
- SignInComponent.prototype.ngOnInit = function () {
1401
- this.setFormFields();
1402
- };
1403
- SignInComponent.prototype.setFormFields = function () {
1404
- var _a, _b, _c, _d;
1405
- var _state = this.authenticator.authState;
1406
- this.formOverrides = (_b = (_a = ui.getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.signIn;
1407
- this.userOverrides = (_c = this.formOverrides) === null || _c === void 0 ? void 0 : _c['username'];
1408
- this.passwordOR = (_d = this.formOverrides) === null || _d === void 0 ? void 0 : _d['password'];
1409
- };
1410
- SignInComponent.prototype.labelHidden = function (name, defaultV) {
1411
- if (defaultV === void 0) { defaultV = true; }
1412
- var _a, _b, _c;
1413
- return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b.labelHidden) !== null && _c !== void 0 ? _c : defaultV;
1414
- };
1415
- SignInComponent.prototype.required = function (name, defaultV) {
1416
- if (defaultV === void 0) { defaultV = true; }
1417
- var _a, _b, _c;
1418
- return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b.required) !== null && _c !== void 0 ? _c : defaultV;
1419
- };
1420
1246
  Object.defineProperty(SignInComponent.prototype, "context", {
1421
1247
  get: function () {
1422
1248
  return this.authenticator.slotContext;
@@ -1426,7 +1252,7 @@
1426
1252
  });
1427
1253
  SignInComponent.prototype.onInput = function (event) {
1428
1254
  event.preventDefault();
1429
- var _e = event.target, name = _e.name, value = _e.value;
1255
+ var _a = event.target, name = _a.name, value = _a.value;
1430
1256
  this.authenticator.updateForm({ name: name, value: value });
1431
1257
  };
1432
1258
  SignInComponent.prototype.onSubmit = function (event) {
@@ -1438,7 +1264,7 @@
1438
1264
  SignInComponent.decorators = [
1439
1265
  { type: i0.Component, args: [{
1440
1266
  selector: 'amplify-sign-in',
1441
- template: "<amplify-slot name=\"sign-in-header\" [context]=\"context\"></amplify-slot>\n\n<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <amplify-federated-sign-in></amplify-federated-sign-in>\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-user-name-alias\n [labelHidden]=\"labelHidden('username')\"\n [placeholder]=\"userOverrides?.placeholder\"\n [required]=\"required('username')\"\n [label]=\"userOverrides?.label\"\n [dialCode]=\"userOverrides?.dialCode\"\n [dialCodeList]=\"userOverrides?.dialCodeList\"\n ></amplify-user-name-alias>\n <amplify-form-field\n [labelHidden]=\"labelHidden('password')\"\n [placeholder]=\"passwordOR?.placeholder\"\n [required]=\"required('password')\"\n [label]=\"passwordOR?.label\"\n data-amplify-password\n name=\"password\"\n type=\"password\"\n autocomplete=\"current-password\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ signInButtonText }}\n </button>\n\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n</form>\n\n<amplify-slot name=\"sign-in-footer\" [context]=\"context\">\n <div data-amplify-footer>\n <button\n amplify-button\n fontWeight=\"normal\"\n size=\"small\"\n variation=\"link\"\n fullWidth=\"true\"\n (click)=\"authenticator.toResetPassword()\"\n >\n {{ forgotPasswordText }}\n </button>\n </div>\n</amplify-slot>\n",
1267
+ template: "<amplify-slot name=\"sign-in-header\" [context]=\"context\"></amplify-slot>\n\n<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <amplify-federated-sign-in></amplify-federated-sign-in>\n <fieldset class=\"amplify-flex\" style=\"flex-direction: column\" data-amplify-fieldset\n [disabled]=\"authenticator.isPending\">\n <legend class=\"amplify-visually-hidden\">Sign in</legend>\n <amplify-base-form-fields route=\"signIn\"></amplify-base-form-fields>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ signInButtonText }}\n </button>\n\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n</form>\n\n<amplify-slot name=\"sign-in-footer\" [context]=\"context\">\n <div data-amplify-footer>\n <button amplify-button fontWeight=\"normal\" size=\"small\" variation=\"link\" fullWidth=\"true\"\n (click)=\"authenticator.toResetPassword()\">\n {{ forgotPasswordText }}\n </button>\n </div>\n</amplify-slot>\n",
1442
1268
  encapsulation: i0.ViewEncapsulation.None
1443
1269
  },] }
1444
1270
  ];
@@ -1489,104 +1315,18 @@
1489
1315
  };
1490
1316
 
1491
1317
  var SignUpFormFieldsComponent = /** @class */ (function () {
1492
- function SignUpFormFieldsComponent(authenticator) {
1493
- this.authenticator = authenticator;
1494
- this.primaryAlias = '';
1495
- this.secondaryAliases = [];
1496
- this.translate = ui.translate;
1318
+ function SignUpFormFieldsComponent() {
1497
1319
  }
1498
- SignUpFormFieldsComponent.prototype.ngOnInit = function () {
1499
- var context = this.authenticator.context;
1500
- var _d = context.config, loginMechanisms = _d.loginMechanisms, signUpAttributes = _d.signUpAttributes;
1501
- this.fieldNames = Array.from(new Set(__spread(loginMechanisms, signUpAttributes)));
1502
- this.fieldNames = this.fieldNames.filter(function (fieldName) {
1503
- var hasDefaultField = !!ui.authInputAttributes[fieldName];
1504
- if (!hasDefaultField) {
1505
- console.debug("Authenticator does not have a default implementation for " + fieldName + ". Customize Authenticator.SignUp.FormFields to add your own.");
1506
- }
1507
- return hasDefaultField;
1508
- });
1509
- // Only 1 is supported, so `['email', 'phone_number']` will only show `email`
1510
- this.loginMechanism = this.fieldNames.shift();
1511
- var common = [
1512
- this.loginMechanism,
1513
- 'password',
1514
- 'confirm_password',
1515
- ];
1516
- this.fieldNamesCombined = __spread(common, this.fieldNames);
1517
- this.setFormFields();
1518
- };
1519
- Object.defineProperty(SignUpFormFieldsComponent.prototype, "errors", {
1520
- get: function () {
1521
- var formContext = ui.getActorContext(this.authenticator.authState);
1522
- var validationError = formContext.validationError;
1523
- return validationError['password'];
1524
- },
1525
- enumerable: false,
1526
- configurable: true
1527
- });
1528
- SignUpFormFieldsComponent.prototype.setFormFields = function () {
1529
- var _a, _b, _c;
1530
- var _state = this.authenticator.authState;
1531
- this.formOverrides = (_b = (_a = ui.getActorState(_state).context) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.signUp;
1532
- this.userOverrides = (_c = this.formOverrides) === null || _c === void 0 ? void 0 : _c[this.loginMechanism];
1533
- this.order = ui.setFormOrder(this.formOverrides, this.fieldNamesCombined);
1534
- };
1535
- SignUpFormFieldsComponent.prototype.grabField = function (name, field, defaultV) {
1536
- var _a, _b, _c;
1537
- return (_c = (_b = (_a = this.formOverrides) === null || _a === void 0 ? void 0 : _a[name]) === null || _b === void 0 ? void 0 : _b[field]) !== null && _c !== void 0 ? _c : defaultV;
1538
- };
1539
1320
  return SignUpFormFieldsComponent;
1540
1321
  }());
1541
1322
  SignUpFormFieldsComponent.decorators = [
1542
1323
  { type: i0.Component, args: [{
1543
1324
  selector: 'amplify-sign-up-form-fields',
1544
- template: "<div class=\"amplify-flex\" style=\"flex-direction: column\" data-amplify-fieldset>\n <ng-container *ngFor=\"let field of order\">\n <ng-container [ngSwitch]=\"field\">\n <amplify-user-name-alias\n *ngSwitchCase=\"loginMechanism\"\n [name]=\"loginMechanism\"\n [labelHidden]=\"grabField(loginMechanism, 'labelHidden', true)\"\n [placeholder]=\"userOverrides?.placeholder\"\n [required]=\"grabField(loginMechanism, 'required', true)\"\n [label]=\"userOverrides?.label\"\n [dialCode]=\"userOverrides?.dialCode\"\n [dialCodeList]=\"userOverrides?.dialCodeList\"\n ></amplify-user-name-alias>\n <ng-container *ngSwitchCase=\"'password'\">\n <amplify-form-field\n [labelHidden]=\"grabField('password', 'labelHidden', true)\"\n [placeholder]=\"grabField('password', 'placeholder', null)\"\n [required]=\"grabField('password', 'required', true)\"\n [label]=\"grabField('password', 'label', null)\"\n name=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n <div data-amplify-sign-up-errors *ngIf=\"errors\">\n <!-- TODO: add amplify-alert reusable component -->\n <div\n class=\"amplify-text\"\n data-variation=\"error\"\n *ngFor=\"let error of errors\"\n >\n {{ translate(error) }}\n </div>\n </div>\n </ng-container>\n <amplify-form-field\n *ngSwitchCase=\"'confirm_password'\"\n [labelHidden]=\"grabField('confirm_password', 'labelHidden', true)\"\n [placeholder]=\"\n grabField('confirm_password', 'placeholder', 'Confirm Password')\n \"\n [required]=\"grabField('confirm_password', 'required', true)\"\n [label]=\"grabField('confirm_password', 'label', 'Confirm Password')\"\n name=\"confirm_password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\n <amplify-form-field\n *ngSwitchDefault\n [name]=\"field\"\n [labelHidden]=\"grabField(field, 'labelHidden', false)\"\n [placeholder]=\"grabField(field, 'placeholder', null)\"\n [required]=\"grabField(field, 'required', true)\"\n [label]=\"grabField(field, 'label', null)\"\n [defaultCountryCode]=\"grabField(field, 'dialCode', null)\"\n [dialCodeList]=\"grabField(field, 'dialCodeList', null)\"\n ></amplify-form-field>\n </ng-container>\n </ng-container>\n</div>\n"
1325
+ template: "<div class=\"amplify-flex\" style=\"flex-direction: column\" data-amplify-fieldset>\n <amplify-base-form-fields route=\"signUp\"></amplify-base-form-fields>\n</div>\n"
1545
1326
  },] }
1546
1327
  ];
1547
- SignUpFormFieldsComponent.ctorParameters = function () { return [
1548
- { type: AuthenticatorService }
1549
- ]; };
1550
1328
 
1551
- var UserNameAliasComponent = /** @class */ (function () {
1552
- function UserNameAliasComponent(authenticator) {
1553
- this.authenticator = authenticator;
1554
- this.name = 'username';
1555
- this.disabled = false;
1556
- this.initialValue = '';
1557
- this.required = true;
1558
- }
1559
- UserNameAliasComponent.prototype.ngOnInit = function () {
1560
- var _a, _b, _c;
1561
- var context = this.authenticator.context;
1562
- var _d = ui.getAliasInfoFromContext(context), lbl = _d.label, type = _d.type;
1563
- this.labelValue = (_a = this.label) !== null && _a !== void 0 ? _a : lbl;
1564
- this.type = type;
1565
- this.placeholderValue = (_b = this.placeholder) !== null && _b !== void 0 ? _b : lbl;
1566
- this.requiredValue = (_c = this.required) !== null && _c !== void 0 ? _c : true;
1567
- };
1568
- return UserNameAliasComponent;
1569
- }());
1570
- UserNameAliasComponent.decorators = [
1571
- { type: i0.Component, args: [{
1572
- selector: 'amplify-user-name-alias',
1573
- template: "<amplify-form-field\n data-amplify-usernamealias\n [name]=\"name\"\n [labelHidden]=\"labelHidden\"\n [label]=\"labelValue\"\n [placeholder]=\"placeholderValue\"\n [required]=\"requiredValue\"\n [defaultCountryCode]=\"dialCode\"\n [dialCodeList]=\"dialCodeList\"\n [type]=\"type\"\n [initialValue]=\"initialValue\"\n [disabled]=\"disabled\"\n autocomplete=\"username\"\n>\n</amplify-form-field>\n"
1574
- },] }
1575
- ];
1576
- UserNameAliasComponent.ctorParameters = function () { return [
1577
- { type: AuthenticatorService }
1578
- ]; };
1579
- UserNameAliasComponent.propDecorators = {
1580
- name: [{ type: i0.Input }],
1581
- disabled: [{ type: i0.Input }],
1582
- initialValue: [{ type: i0.Input }],
1583
- required: [{ type: i0.Input }],
1584
- labelHidden: [{ type: i0.Input }],
1585
- label: [{ type: i0.Input }],
1586
- placeholder: [{ type: i0.Input }],
1587
- dialCode: [{ type: i0.Input }],
1588
- dialCodeList: [{ type: i0.Input }]
1589
- };
1329
+ var getAttributeMap = function () { return ui.defaultFormFieldOptions; };
1590
1330
 
1591
1331
  var VerifyUserComponent = /** @class */ (function () {
1592
1332
  function VerifyUserComponent(authenticator) {
@@ -1642,6 +1382,58 @@
1642
1382
  headerText: [{ type: i0.Input }]
1643
1383
  };
1644
1384
 
1385
+ /**
1386
+ * Sorts the given formFields, then renders them in order.
1387
+ */
1388
+ var BaseFormFieldsComponent = /** @class */ (function () {
1389
+ function BaseFormFieldsComponent(authenticator) {
1390
+ this.authenticator = authenticator;
1391
+ this.display = 'contents';
1392
+ this.formFields = [];
1393
+ }
1394
+ BaseFormFieldsComponent.prototype.ngOnInit = function () {
1395
+ var state = this.authenticator.authState;
1396
+ this.formFields = ui.getSortedFormFields(this.route, state);
1397
+ if (this.route === 'confirmSignUp') {
1398
+ this.handleConfirmSignUp();
1399
+ }
1400
+ };
1401
+ BaseFormFieldsComponent.prototype.handleConfirmSignUp = function () {
1402
+ /**
1403
+ * @todo(breaking): Angular `confirmSignUp` has different placholder here from other frameworks.
1404
+ *
1405
+ * Translating here in a backwards-compatible manner, but should be resolved in next major version.
1406
+ */
1407
+ var _a;
1408
+ var state = this.authenticator.authState;
1409
+ // backwards compatible placeholder text
1410
+ var placeholder = !ui.hasTranslation('Confirmation Code')
1411
+ ? ui.translate('Enter your code') // prioritize new placeholder
1412
+ : ui.translate('Confirmation Code'); // legacy placeholder
1413
+ var defaultFormFields = ui.getDefaultFormFields(this.route, state);
1414
+ if (defaultFormFields.confirmation_code.placeholder) {
1415
+ defaultFormFields.confirmation_code.placeholder = placeholder;
1416
+ }
1417
+ var customFormFields = ((_a = ui.getActorContext(state).formFields) === null || _a === void 0 ? void 0 : _a.confirmSignUp) || {};
1418
+ var newFormFields = ui.applyDefaults(defaultFormFields, customFormFields);
1419
+ this.formFields = ui.sortFormFields(newFormFields);
1420
+ };
1421
+ return BaseFormFieldsComponent;
1422
+ }());
1423
+ BaseFormFieldsComponent.decorators = [
1424
+ { type: i0.Component, args: [{
1425
+ selector: 'amplify-base-form-fields',
1426
+ template: "<ng-container *ngFor=\"let formField of formFields\">\n <amplify-form-field\n [name]=\"formField[0]\"\n [formField]=\"formField[1]\"\n ></amplify-form-field>\n</ng-container>\n"
1427
+ },] }
1428
+ ];
1429
+ BaseFormFieldsComponent.ctorParameters = function () { return [
1430
+ { type: AuthenticatorService }
1431
+ ]; };
1432
+ BaseFormFieldsComponent.propDecorators = {
1433
+ route: [{ type: i0.Input }],
1434
+ display: [{ type: i0.HostBinding, args: ['style.display',] }]
1435
+ };
1436
+
1645
1437
  var ButtonComponent = /** @class */ (function () {
1646
1438
  function ButtonComponent() {
1647
1439
  this.type = 'button';
@@ -1972,6 +1764,7 @@
1972
1764
  AmplifySlotComponent,
1973
1765
  AmplifySlotDirective,
1974
1766
  AuthenticatorComponent,
1767
+ BaseFormFieldsComponent,
1975
1768
  ButtonComponent,
1976
1769
  CheckboxComponent,
1977
1770
  ConfirmResetPasswordComponent,
@@ -1995,7 +1788,6 @@
1995
1788
  TabItemComponent,
1996
1789
  TabsComponent,
1997
1790
  TextFieldComponent,
1998
- UserNameAliasComponent,
1999
1791
  VerifyUserComponent,
2000
1792
  ],
2001
1793
  imports: [common.CommonModule],
@@ -2026,6 +1818,7 @@
2026
1818
  exports.AmplifySlotDirective = AmplifySlotDirective;
2027
1819
  exports.AuthenticatorComponent = AuthenticatorComponent;
2028
1820
  exports.AuthenticatorService = AuthenticatorService;
1821
+ exports.BaseFormFieldsComponent = BaseFormFieldsComponent;
2029
1822
  exports.ButtonComponent = ButtonComponent;
2030
1823
  exports.CheckboxComponent = CheckboxComponent;
2031
1824
  exports.ConfirmResetPasswordComponent = ConfirmResetPasswordComponent;
@@ -2050,36 +1843,35 @@
2050
1843
  exports.TabItemComponent = TabItemComponent;
2051
1844
  exports.TabsComponent = TabsComponent;
2052
1845
  exports.TextFieldComponent = TextFieldComponent;
2053
- exports.UserNameAliasComponent = UserNameAliasComponent;
2054
1846
  exports.VerifyUserComponent = VerifyUserComponent;
2055
1847
  exports.getAttributeMap = getAttributeMap;
2056
1848
  exports["ɵa"] = AmplifySlotComponent;
2057
1849
  exports["ɵb"] = AuthenticatorComponent;
2058
1850
  exports["ɵba"] = VerifyUserComponent;
2059
- exports["ɵc"] = ButtonComponent;
2060
- exports["ɵd"] = CheckboxComponent;
2061
- exports["ɵe"] = ConfirmResetPasswordComponent;
2062
- exports["ɵf"] = ConfirmSignInComponent;
2063
- exports["ɵg"] = ConfirmSignUpComponent;
2064
- exports["ɵh"] = ConfirmVerifyUserComponent;
2065
- exports["ɵi"] = ErrorComponent;
2066
- exports["ɵj"] = FederatedSignInButtonComponent;
2067
- exports["ɵk"] = FederatedSignInComponent;
2068
- exports["ɵl"] = ForceNewPasswordComponent;
2069
- exports["ɵm"] = ForceNewPasswordFormFieldsComponent;
2070
- exports["ɵn"] = FormFieldComponent;
2071
- exports["ɵo"] = PasswordFieldComponent;
2072
- exports["ɵp"] = PhoneNumberFieldComponent;
2073
- exports["ɵq"] = ResetPasswordComponent;
2074
- exports["ɵr"] = SelectComponent;
2075
- exports["ɵs"] = SetupTotpComponent;
2076
- exports["ɵt"] = SignInComponent;
2077
- exports["ɵu"] = SignUpComponent;
2078
- exports["ɵv"] = SignUpFormFieldsComponent;
2079
- exports["ɵw"] = TabItemComponent;
2080
- exports["ɵx"] = TabsComponent;
2081
- exports["ɵy"] = TextFieldComponent;
2082
- exports["ɵz"] = UserNameAliasComponent;
1851
+ exports["ɵc"] = BaseFormFieldsComponent;
1852
+ exports["ɵd"] = ButtonComponent;
1853
+ exports["ɵe"] = CheckboxComponent;
1854
+ exports["ɵf"] = ConfirmResetPasswordComponent;
1855
+ exports["ɵg"] = ConfirmSignInComponent;
1856
+ exports["ɵh"] = ConfirmSignUpComponent;
1857
+ exports["ɵi"] = ConfirmVerifyUserComponent;
1858
+ exports["ɵj"] = ErrorComponent;
1859
+ exports["ɵk"] = FederatedSignInButtonComponent;
1860
+ exports["ɵl"] = FederatedSignInComponent;
1861
+ exports["ɵm"] = ForceNewPasswordComponent;
1862
+ exports["ɵn"] = ForceNewPasswordFormFieldsComponent;
1863
+ exports["ɵo"] = FormFieldComponent;
1864
+ exports["ɵp"] = PasswordFieldComponent;
1865
+ exports["ɵq"] = PhoneNumberFieldComponent;
1866
+ exports["ɵr"] = ResetPasswordComponent;
1867
+ exports["ɵs"] = SelectComponent;
1868
+ exports["ɵt"] = SetupTotpComponent;
1869
+ exports["ɵu"] = SignInComponent;
1870
+ exports["ɵv"] = SignUpComponent;
1871
+ exports["ɵw"] = SignUpFormFieldsComponent;
1872
+ exports["ɵx"] = TabItemComponent;
1873
+ exports["ɵy"] = TabsComponent;
1874
+ exports["ɵz"] = TextFieldComponent;
2083
1875
 
2084
1876
  Object.defineProperty(exports, '__esModule', { value: true });
2085
1877