@aws-amplify/ui-angular 1.0.34-unstable.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +28 -1
  2. package/aws-amplify-ui-angular.d.ts +30 -0
  3. package/aws-amplify-ui-angular.metadata.json +1 -0
  4. package/bundles/aws-amplify-ui-angular-legacy.umd.js +2229 -0
  5. package/bundles/aws-amplify-ui-angular-legacy.umd.js.map +1 -0
  6. package/bundles/aws-amplify-ui-angular-legacy.umd.min.js +16 -0
  7. package/bundles/aws-amplify-ui-angular-legacy.umd.min.js.map +1 -0
  8. package/bundles/aws-amplify-ui-angular.umd.js +1840 -0
  9. package/bundles/aws-amplify-ui-angular.umd.js.map +1 -0
  10. package/bundles/aws-amplify-ui-angular.umd.min.js +2 -0
  11. package/bundles/aws-amplify-ui-angular.umd.min.js.map +1 -0
  12. package/esm2015/aws-amplify-ui-angular.js +31 -0
  13. package/esm2015/index.js +26 -0
  14. package/esm2015/legacy/aws-amplify-ui-angular-legacy.js +6 -0
  15. package/esm2015/legacy/index.js +3 -0
  16. package/esm2015/legacy/legacy-ui-angular.module.js +53 -0
  17. package/esm2015/legacy/proxies.js +1839 -0
  18. package/esm2015/lib/common/helpers.js +3 -0
  19. package/esm2015/lib/common/index.js +3 -0
  20. package/esm2015/lib/common/types/auth-types.js +2 -0
  21. package/esm2015/lib/common/types/component-types.js +2 -0
  22. package/esm2015/lib/common/types/index.js +3 -0
  23. package/esm2015/lib/components/authenticator/authenticator.module.js +79 -0
  24. package/esm2015/lib/components/authenticator/components/authenticator/authenticator.component.js +87 -0
  25. package/esm2015/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.js +40 -0
  26. package/esm2015/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.js +57 -0
  27. package/esm2015/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.js +39 -0
  28. package/esm2015/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.js +39 -0
  29. package/esm2015/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.js +47 -0
  30. package/esm2015/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.js +27 -0
  31. package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password.component.js +39 -0
  32. package/esm2015/lib/components/authenticator/components/form-field/form-field.component.js +93 -0
  33. package/esm2015/lib/components/authenticator/components/index.js +17 -0
  34. package/esm2015/lib/components/authenticator/components/reset-password/reset-password.component.js +45 -0
  35. package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +65 -0
  36. package/esm2015/lib/components/authenticator/components/sign-in/sign-in.component.js +38 -0
  37. package/esm2015/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.js +34 -0
  38. package/esm2015/lib/components/authenticator/components/sign-up/sign-up.component.js +37 -0
  39. package/esm2015/lib/components/authenticator/components/user-name-alias/user-name-alias.component.js +35 -0
  40. package/esm2015/lib/components/authenticator/components/verify-user/verify-user.component.js +54 -0
  41. package/esm2015/lib/primitives/button/button.component.js +38 -0
  42. package/esm2015/lib/primitives/checkbox/checkbox.component.js +31 -0
  43. package/esm2015/lib/primitives/error/error.component.js +16 -0
  44. package/esm2015/lib/primitives/index.js +10 -0
  45. package/esm2015/lib/primitives/password-field/password-field.component.js +43 -0
  46. package/esm2015/lib/primitives/phone-number-field/phone-number-field.component.js +40 -0
  47. package/esm2015/lib/primitives/select/select.component.js +17 -0
  48. package/esm2015/lib/primitives/tab-item/tab-item.component.js +20 -0
  49. package/esm2015/lib/primitives/tabs/tabs.component.js +45 -0
  50. package/esm2015/lib/primitives/text-field/text-field.component.js +35 -0
  51. package/esm2015/lib/services/authenticator.service.js +133 -0
  52. package/esm2015/lib/services/custom-components.service.js +23 -0
  53. package/esm2015/lib/utilities/amplify-slot/amplify-slot.component.js +32 -0
  54. package/esm2015/lib/utilities/amplify-slot/amplify-slot.directive.js +21 -0
  55. package/fesm2015/aws-amplify-ui-angular-legacy.js +1846 -0
  56. package/fesm2015/aws-amplify-ui-angular-legacy.js.map +1 -0
  57. package/fesm2015/aws-amplify-ui-angular.js +1253 -0
  58. package/fesm2015/aws-amplify-ui-angular.js.map +1 -0
  59. package/index.d.ts +22 -0
  60. package/{dist/core.d.ts → legacy/aws-amplify-ui-angular-legacy.d.ts} +1 -0
  61. package/legacy/aws-amplify-ui-angular-legacy.metadata.json +1 -0
  62. package/legacy/index.d.ts +2 -0
  63. package/legacy/legacy-ui-angular.module.d.ts +2 -0
  64. package/legacy/package.json +11 -0
  65. package/{dist/directives → legacy}/proxies.d.ts +0 -0
  66. package/lib/common/helpers.d.ts +2 -0
  67. package/lib/common/index.d.ts +2 -0
  68. package/lib/common/types/auth-types.d.ts +3 -0
  69. package/lib/common/types/component-types.d.ts +23 -0
  70. package/lib/common/types/index.d.ts +2 -0
  71. package/lib/components/authenticator/authenticator.module.d.ts +2 -0
  72. package/lib/components/authenticator/components/authenticator/authenticator.component.d.ts +67 -0
  73. package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +50 -0
  74. package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +52 -0
  75. package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +49 -0
  76. package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +49 -0
  77. package/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.d.ts +19 -0
  78. package/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.d.ts +9 -0
  79. package/lib/components/authenticator/components/force-new-password/force-new-password.component.d.ts +49 -0
  80. package/lib/components/authenticator/components/form-field/form-field.component.d.ts +36 -0
  81. package/lib/components/authenticator/components/index.d.ts +16 -0
  82. package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +52 -0
  83. package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +53 -0
  84. package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +48 -0
  85. package/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.d.ts +12 -0
  86. package/lib/components/authenticator/components/sign-up/sign-up.component.d.ts +47 -0
  87. package/lib/components/authenticator/components/user-name-alias/user-name-alias.component.d.ts +15 -0
  88. package/lib/components/authenticator/components/verify-user/verify-user.component.d.ts +54 -0
  89. package/lib/primitives/button/button.component.d.ts +15 -0
  90. package/lib/primitives/checkbox/checkbox.component.d.ts +12 -0
  91. package/lib/primitives/error/error.component.d.ts +4 -0
  92. package/lib/primitives/index.d.ts +9 -0
  93. package/lib/primitives/password-field/password-field.component.d.ts +15 -0
  94. package/lib/primitives/phone-number-field/phone-number-field.component.d.ts +16 -0
  95. package/lib/primitives/select/select.component.d.ts +7 -0
  96. package/lib/primitives/tab-item/tab-item.component.d.ts +7 -0
  97. package/lib/primitives/tabs/tabs.component.d.ts +9 -0
  98. package/lib/primitives/text-field/text-field.component.d.ts +13 -0
  99. package/lib/services/authenticator.service.d.ts +94 -0
  100. package/lib/services/custom-components.service.d.ts +9 -0
  101. package/lib/utilities/amplify-slot/amplify-slot.component.d.ts +12 -0
  102. package/lib/utilities/amplify-slot/amplify-slot.directive.d.ts +7 -0
  103. package/package.json +29 -49
  104. package/theme.css +1 -0
  105. package/CHANGELOG.md +0 -320
  106. package/dist/amplify-module.d.ts +0 -2
  107. package/dist/core.metadata.json +0 -1
  108. package/dist/fesm2015.js +0 -1532
  109. package/dist/fesm5.js +0 -1319
  110. package/dist/index.d.ts +0 -2
@@ -0,0 +1,93 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { getActorContext, translate, countryDialCodes, } from '@aws-amplify/ui';
3
+ import { getAttributeMap } from '../../../../common';
4
+ import { AuthenticatorService } from '../../../../services/authenticator.service';
5
+ /**
6
+ * Input interface opinionated for authenticator usage.
7
+ *
8
+ * TODO: Separate this component out to two parts -- 1) amplify-auth-input that
9
+ * contains authenticator opinionated logic and 2) amplify-text-field primitive
10
+ * that does not make any auth-related inference.
11
+ */
12
+ export class FormFieldComponent {
13
+ constructor(authenticator) {
14
+ this.authenticator = authenticator;
15
+ this.required = true;
16
+ this.placeholder = '';
17
+ this.label = '';
18
+ this.initialValue = '';
19
+ this.disabled = false;
20
+ this.autocomplete = '';
21
+ this.labelHidden = true;
22
+ this.countryDialCodes = countryDialCodes;
23
+ }
24
+ ngOnInit() {
25
+ // TODO: consider better default handling mechanisms across frameworks
26
+ if (this.isPhoneField()) {
27
+ const state = this.authenticator.authState;
28
+ const { country_code } = getActorContext(state);
29
+ this.defaultCountryCode = country_code;
30
+ // TODO: remove this side-effect
31
+ this.authenticator.updateForm({
32
+ name: 'country_code',
33
+ value: country_code,
34
+ });
35
+ }
36
+ }
37
+ get attributeMap() {
38
+ return getAttributeMap();
39
+ }
40
+ get error() {
41
+ const formContext = getActorContext(this.authenticator.authState);
42
+ const { validationError } = formContext;
43
+ return validationError[this.name];
44
+ }
45
+ inferLabel() {
46
+ var _a;
47
+ const label = this.label || ((_a = this.attributeMap[this.name]) === null || _a === void 0 ? void 0 : _a.label);
48
+ return translate(label);
49
+ }
50
+ inferPlaceholder() {
51
+ var _a;
52
+ const placeholder = this.placeholder || ((_a = this.attributeMap[this.name]) === null || _a === void 0 ? void 0 : _a.placeholder) ||
53
+ this.inferLabel();
54
+ return translate(placeholder);
55
+ }
56
+ // infers what the `type` of underlying input element should be.
57
+ inferType() {
58
+ var _a, _b, _c;
59
+ 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';
60
+ }
61
+ inferAutocomplete() {
62
+ var _a;
63
+ return this.autocomplete || ((_a = this.attributeMap[this.name]) === null || _a === void 0 ? void 0 : _a.autocomplete);
64
+ }
65
+ // TODO(enhancement): use enum to differentiate special field types
66
+ isPasswordField() {
67
+ return this.inferType() === 'password';
68
+ }
69
+ isPhoneField() {
70
+ return this.inferType() === 'tel';
71
+ }
72
+ }
73
+ FormFieldComponent.decorators = [
74
+ { type: Component, args: [{
75
+ selector: 'amplify-form-field',
76
+ template: "<div class=\"amplify-flex amplify-field\" style=\"flex-direction: column\">\n <!-- Country code field -->\n <amplify-phone-number-field\n *ngIf=\"isPhoneField()\"\n [defaultCountryCode]=\"defaultCountryCode\"\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 ></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"
77
+ },] }
78
+ ];
79
+ FormFieldComponent.ctorParameters = () => [
80
+ { type: AuthenticatorService }
81
+ ];
82
+ FormFieldComponent.propDecorators = {
83
+ name: [{ type: Input }],
84
+ type: [{ type: Input }],
85
+ required: [{ type: Input }],
86
+ placeholder: [{ type: Input }],
87
+ label: [{ type: Input }],
88
+ initialValue: [{ type: Input }],
89
+ disabled: [{ type: Input }],
90
+ autocomplete: [{ type: Input }],
91
+ labelHidden: [{ type: Input }]
92
+ };
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBR0wsZUFBZSxFQUNmLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFbEY7Ozs7OztHQU1HO0FBS0gsTUFBTSxPQUFPLGtCQUFrQjtJQWdCN0IsWUFBb0IsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBYjlDLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFHckIscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFJZSxDQUFDO0lBRTNELFFBQVE7UUFDTixzRUFBc0U7UUFDdEUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDM0MsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUEwQixlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQztZQUV2QyxnQ0FBZ0M7WUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7Z0JBQzVCLElBQUksRUFBRSxjQUFjO2dCQUNwQixLQUFLLEVBQUUsWUFBWTthQUNwQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxNQUFNLFdBQVcsR0FBMEIsZUFBZSxDQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FDN0IsQ0FBQztRQUNGLE1BQU0sRUFBRSxlQUFlLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFDeEMsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVOztRQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLFdBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLEtBQUssQ0FBQSxDQUFDO1FBQ2hFLE9BQU8sU0FBUyxDQUFTLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxnQkFBZ0I7O1FBQ2QsTUFBTSxXQUFXLEdBQ2YsSUFBSSxDQUFDLFdBQVcsV0FDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLFdBQVcsQ0FBQTtZQUN6QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsT0FBTyxTQUFTLENBQVMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxTQUFTOztRQUNQLG1CQUFPLElBQUksQ0FBQyxJQUFJLHlDQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywwQ0FBRSxJQUFJLG1DQUFJLE1BQU0sQ0FBQztJQUNuRSxDQUFDO0lBRUQsaUJBQWlCOztRQUNmLE9BQU8sSUFBSSxDQUFDLFlBQVksV0FBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMENBQUUsWUFBWSxDQUFBLENBQUM7SUFDekUsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssVUFBVSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssS0FBSyxDQUFDO0lBQ3BDLENBQUM7OztZQTlFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsdTNDQUEwQzthQUMzQzs7O1lBWlEsb0JBQW9COzs7bUJBYzFCLEtBQUs7bUJBQ0wsS0FBSzt1QkFDTCxLQUFLOzBCQUNMLEtBQUs7b0JBQ0wsS0FBSzsyQkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSzswQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RvckNvbnRleHRXaXRoRm9ybXMsXG4gIEF1dGhJbnB1dEF0dHJpYnV0ZXMsXG4gIGdldEFjdG9yQ29udGV4dCxcbiAgdHJhbnNsYXRlLFxuICBjb3VudHJ5RGlhbENvZGVzLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgZ2V0QXR0cmlidXRlTWFwIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci5zZXJ2aWNlJztcblxuLyoqXG4gKiBJbnB1dCBpbnRlcmZhY2Ugb3BpbmlvbmF0ZWQgZm9yIGF1dGhlbnRpY2F0b3IgdXNhZ2UuXG4gKlxuICogVE9ETzogU2VwYXJhdGUgdGhpcyBjb21wb25lbnQgb3V0IHRvIHR3byBwYXJ0cyAtLSAxKSBhbXBsaWZ5LWF1dGgtaW5wdXQgdGhhdFxuICogY29udGFpbnMgYXV0aGVudGljYXRvciBvcGluaW9uYXRlZCBsb2dpYyBhbmQgMikgYW1wbGlmeS10ZXh0LWZpZWxkIHByaW1pdGl2ZVxuICogdGhhdCBkb2VzIG5vdCBtYWtlIGFueSBhdXRoLXJlbGF0ZWQgaW5mZXJlbmNlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LWZvcm0tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xuICBASW5wdXQoKSByZXF1aXJlZCA9IHRydWU7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGluaXRpYWxWYWx1ZSA9ICcnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBhdXRvY29tcGxldGUgPSAnJztcbiAgQElucHV0KCkgbGFiZWxIaWRkZW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBkZWZhdWx0Q291bnRyeUNvZGU6IHN0cmluZztcbiAgcHVibGljIGNvdW50cnlEaWFsQ29kZXMgPSBjb3VudHJ5RGlhbENvZGVzO1xuICBwdWJsaWMgdGV4dEZpZWxkSWQ6IHN0cmluZztcbiAgcHVibGljIHNlbGVjdEZpZWxkSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFRPRE86IGNvbnNpZGVyIGJldHRlciBkZWZhdWx0IGhhbmRsaW5nIG1lY2hhbmlzbXMgYWNyb3NzIGZyYW1ld29ya3NcbiAgICBpZiAodGhpcy5pc1Bob25lRmllbGQoKSkge1xuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmF1dGhlbnRpY2F0b3IuYXV0aFN0YXRlO1xuICAgICAgY29uc3QgeyBjb3VudHJ5X2NvZGUgfTogQWN0b3JDb250ZXh0V2l0aEZvcm1zID0gZ2V0QWN0b3JDb250ZXh0KHN0YXRlKTtcbiAgICAgIHRoaXMuZGVmYXVsdENvdW50cnlDb2RlID0gY291bnRyeV9jb2RlO1xuXG4gICAgICAvLyBUT0RPOiByZW1vdmUgdGhpcyBzaWRlLWVmZmVjdFxuICAgICAgdGhpcy5hdXRoZW50aWNhdG9yLnVwZGF0ZUZvcm0oe1xuICAgICAgICBuYW1lOiAnY291bnRyeV9jb2RlJyxcbiAgICAgICAgdmFsdWU6IGNvdW50cnlfY29kZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBhdHRyaWJ1dGVNYXAoKTogQXV0aElucHV0QXR0cmlidXRlcyB7XG4gICAgcmV0dXJuIGdldEF0dHJpYnV0ZU1hcCgpO1xuICB9XG5cbiAgZ2V0IGVycm9yKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZm9ybUNvbnRleHQ6IEFjdG9yQ29udGV4dFdpdGhGb3JtcyA9IGdldEFjdG9yQ29udGV4dChcbiAgICAgIHRoaXMuYXV0aGVudGljYXRvci5hdXRoU3RhdGVcbiAgICApO1xuICAgIGNvbnN0IHsgdmFsaWRhdGlvbkVycm9yIH0gPSBmb3JtQ29udGV4dDtcbiAgICByZXR1cm4gdmFsaWRhdGlvbkVycm9yW3RoaXMubmFtZV07XG4gIH1cblxuICBpbmZlckxhYmVsKCk6IHN0cmluZyB7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLmxhYmVsIHx8IHRoaXMuYXR0cmlidXRlTWFwW3RoaXMubmFtZV0/LmxhYmVsO1xuICAgIHJldHVybiB0cmFuc2xhdGU8c3RyaW5nPihsYWJlbCk7XG4gIH1cblxuICBpbmZlclBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGxhY2Vob2xkZXIgPVxuICAgICAgdGhpcy5wbGFjZWhvbGRlciB8fFxuICAgICAgdGhpcy5hdHRyaWJ1dGVNYXBbdGhpcy5uYW1lXT8ucGxhY2Vob2xkZXIgfHxcbiAgICAgIHRoaXMuaW5mZXJMYWJlbCgpO1xuICAgIHJldHVybiB0cmFuc2xhdGU8c3RyaW5nPihwbGFjZWhvbGRlcik7XG4gIH1cblxuICAvLyBpbmZlcnMgd2hhdCB0aGUgYHR5cGVgIG9mIHVuZGVybHlpbmcgaW5wdXQgZWxlbWVudCBzaG91bGQgYmUuXG4gIGluZmVyVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPz8gdGhpcy5hdHRyaWJ1dGVNYXBbdGhpcy5uYW1lXT8udHlwZSA/PyAndGV4dCc7XG4gIH1cblxuICBpbmZlckF1dG9jb21wbGV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZSB8fCB0aGlzLmF0dHJpYnV0ZU1hcFt0aGlzLm5hbWVdPy5hdXRvY29tcGxldGU7XG4gIH1cblxuICAvLyBUT0RPKGVuaGFuY2VtZW50KTogdXNlIGVudW0gdG8gZGlmZmVyZW50aWF0ZSBzcGVjaWFsIGZpZWxkIHR5cGVzXG4gIGlzUGFzc3dvcmRGaWVsZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbmZlclR5cGUoKSA9PT0gJ3Bhc3N3b3JkJztcbiAgfVxuXG4gIGlzUGhvbmVGaWVsZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbmZlclR5cGUoKSA9PT0gJ3RlbCc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ export { AuthenticatorComponent } from './authenticator/authenticator.component';
2
+ export { ConfirmResetPasswordComponent } from './confirm-reset-password/amplify-confirm-reset-password.component';
3
+ export { ConfirmSignInComponent } from './confirm-sign-in/confirm-sign-in.component';
4
+ export { ConfirmSignUpComponent } from './confirm-sign-up/confirm-sign-up.component';
5
+ export { ConfirmVerifyUserComponent } from './confirm-verify-user/amplify-confirm-verify-user.component';
6
+ export { FederatedSignInButtonComponent } from './federated-sign-in-button/federated-sign-in-button.component';
7
+ export { FederatedSignInComponent } from './federated-sign-in/federated-sign-in.component';
8
+ export { ForceNewPasswordComponent } from './force-new-password/force-new-password.component';
9
+ export { FormFieldComponent } from './form-field/form-field.component';
10
+ export { ResetPasswordComponent } from './reset-password/reset-password.component';
11
+ export { SetupTotpComponent } from './setup-totp/setup-totp.component';
12
+ export { SignInComponent } from './sign-in/sign-in.component';
13
+ export { SignUpComponent } from './sign-up/sign-up.component';
14
+ export { SignUpFormFieldsComponent } from './sign-up/sign-up-form-fields/sign-up-form-fields.component';
15
+ export { UserNameAliasComponent } from './user-name-alias/user-name-alias.component';
16
+ export { VerifyUserComponent } from './verify-user/verify-user.component';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDbEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDL0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEF1dGhlbnRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL2F1dGhlbnRpY2F0b3IvYXV0aGVudGljYXRvci5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ29uZmlybVJlc2V0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbmZpcm0tcmVzZXQtcGFzc3dvcmQvYW1wbGlmeS1jb25maXJtLXJlc2V0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDb25maXJtU2lnbkluQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maXJtLXNpZ24taW4vY29uZmlybS1zaWduLWluLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDb25maXJtU2lnblVwQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maXJtLXNpZ24tdXAvY29uZmlybS1zaWduLXVwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDb25maXJtVmVyaWZ5VXNlckNvbXBvbmVudCB9IGZyb20gJy4vY29uZmlybS12ZXJpZnktdXNlci9hbXBsaWZ5LWNvbmZpcm0tdmVyaWZ5LXVzZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IEZlZGVyYXRlZFNpZ25JbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZmVkZXJhdGVkLXNpZ24taW4tYnV0dG9uL2ZlZGVyYXRlZC1zaWduLWluLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgRmVkZXJhdGVkU2lnbkluQ29tcG9uZW50IH0gZnJvbSAnLi9mZWRlcmF0ZWQtc2lnbi1pbi9mZWRlcmF0ZWQtc2lnbi1pbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgRm9yY2VOZXdQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vZm9yY2UtbmV3LXBhc3N3b3JkL2ZvcmNlLW5ldy1wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7IFJlc2V0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3Jlc2V0LXBhc3N3b3JkL3Jlc2V0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTZXR1cFRvdHBDb21wb25lbnQgfSBmcm9tICcuL3NldHVwLXRvdHAvc2V0dXAtdG90cC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2lnbkluQ29tcG9uZW50IH0gZnJvbSAnLi9zaWduLWluL3NpZ24taW4uY29tcG9uZW50JztcbmV4cG9ydCB7IFNpZ25VcENvbXBvbmVudCB9IGZyb20gJy4vc2lnbi11cC9zaWduLXVwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTaWduVXBGb3JtRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9zaWduLXVwL3NpZ24tdXAtZm9ybS1maWVsZHMvc2lnbi11cC1mb3JtLWZpZWxkcy5jb21wb25lbnQnO1xuZXhwb3J0IHsgVXNlck5hbWVBbGlhc0NvbXBvbmVudCB9IGZyb20gJy4vdXNlci1uYW1lLWFsaWFzL3VzZXItbmFtZS1hbGlhcy5jb21wb25lbnQnO1xuZXhwb3J0IHsgVmVyaWZ5VXNlckNvbXBvbmVudCB9IGZyb20gJy4vdmVyaWZ5LXVzZXIvdmVyaWZ5LXVzZXIuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import { AuthenticatorService } from '../../../../services/authenticator.service';
3
+ import { getAliasInfoFromContext, translate } from '@aws-amplify/ui';
4
+ export class ResetPasswordComponent {
5
+ constructor(authenticator) {
6
+ this.authenticator = authenticator;
7
+ this.dataAttr = '';
8
+ this.headerText = translate('Reset your password');
9
+ // translated texts
10
+ this.sendCodeText = translate('Send Code');
11
+ this.backToSignInText = translate('Back to Sign In');
12
+ this.labelText = translate('Username');
13
+ }
14
+ ngOnInit() {
15
+ const { authState } = this.authenticator;
16
+ const { label } = getAliasInfoFromContext(authState.context);
17
+ this.labelText = `Enter your ${label.toLowerCase()}`;
18
+ }
19
+ get context() {
20
+ return this.authenticator.slotContext;
21
+ }
22
+ onInput(event) {
23
+ event.preventDefault();
24
+ const { name, value } = event.target;
25
+ this.authenticator.updateForm({ name, value });
26
+ }
27
+ onSubmit(event) {
28
+ event.preventDefault();
29
+ this.authenticator.submitForm();
30
+ }
31
+ }
32
+ ResetPasswordComponent.decorators = [
33
+ { type: Component, args: [{
34
+ selector: 'amplify-reset-password',
35
+ template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot\n class=\"amplify-flex\"\n name=\"reset-password-header\"\n [context]=\"context\"\n >\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <amplify-form-field\n name=\"username\"\n type=\"username\"\n autocomplete=\"username\"\n [placeholder]=\"labelText\"\n [label]=\"labelText\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ sendCodeText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n\n <amplify-slot name=\"reset-password-footer\" [context]=\"context\">\n </amplify-slot>\n </form>\n</div>\n"
36
+ },] }
37
+ ];
38
+ ResetPasswordComponent.ctorParameters = () => [
39
+ { type: AuthenticatorService }
40
+ ];
41
+ ResetPasswordComponent.propDecorators = {
42
+ dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-resetPassword',] }],
43
+ headerText: [{ type: Input }]
44
+ };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYXV0aGVudGljYXRvci9jb21wb25lbnRzL3Jlc2V0LXBhc3N3b3JkL3Jlc2V0LXBhc3N3b3JkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTXJFLE1BQU0sT0FBTyxzQkFBc0I7SUFTakMsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBUlEsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUM1RCxlQUFVLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFOUQsbUJBQW1CO1FBQ1osaUJBQVksR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEMscUJBQWdCLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsY0FBUyxHQUFHLFNBQVMsQ0FBUyxVQUFVLENBQUMsQ0FBQztJQUVRLENBQUM7SUFFMUQsUUFBUTtRQUNOLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxjQUFjLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQXFCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVk7UUFDbkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7O1lBbENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxvMUNBQThDO2FBQy9DOzs7WUFOUSxvQkFBb0I7Ozt1QkFRMUIsV0FBVyxTQUFDLCtDQUErQzt5QkFDM0QsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IGdldEFsaWFzSW5mb0Zyb21Db250ZXh0LCB0cmFuc2xhdGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LXJlc2V0LXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc2V0LXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUmVzZXRQYXNzd29yZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFtcGxpZnktYXV0aGVudGljYXRvci1yZXNldFBhc3N3b3JkJykgZGF0YUF0dHIgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGhlYWRlclRleHQgPSB0cmFuc2xhdGUoJ1Jlc2V0IHlvdXIgcGFzc3dvcmQnKTtcblxuICAvLyB0cmFuc2xhdGVkIHRleHRzXG4gIHB1YmxpYyBzZW5kQ29kZVRleHQgPSB0cmFuc2xhdGUoJ1NlbmQgQ29kZScpO1xuICBwdWJsaWMgYmFja1RvU2lnbkluVGV4dCA9IHRyYW5zbGF0ZSgnQmFjayB0byBTaWduIEluJyk7XG4gIHB1YmxpYyBsYWJlbFRleHQgPSB0cmFuc2xhdGU8c3RyaW5nPignVXNlcm5hbWUnKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aGVudGljYXRvcjogQXV0aGVudGljYXRvclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBhdXRoU3RhdGUgfSA9IHRoaXMuYXV0aGVudGljYXRvcjtcbiAgICBjb25zdCB7IGxhYmVsIH0gPSBnZXRBbGlhc0luZm9Gcm9tQ29udGV4dChhdXRoU3RhdGUuY29udGV4dCk7XG4gICAgdGhpcy5sYWJlbFRleHQgPSBgRW50ZXIgeW91ciAke2xhYmVsLnRvTG93ZXJDYXNlKCl9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdG9yLnNsb3RDb250ZXh0O1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlRm9ybSh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3Iuc3VibWl0Rm9ybSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,65 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, HostBinding } from '@angular/core';
3
+ import QRCode from 'qrcode';
4
+ import { Auth, Logger } from 'aws-amplify';
5
+ import { getActorContext } from '@aws-amplify/ui';
6
+ import { AuthenticatorService } from '../../../../services/authenticator.service';
7
+ import { translate } from '@aws-amplify/ui';
8
+ const logger = new Logger('SetupTotp');
9
+ export class SetupTotpComponent {
10
+ constructor(authenticator) {
11
+ this.authenticator = authenticator;
12
+ this.dataAttr = '';
13
+ this.headerText = translate('Setup TOTP');
14
+ this.qrCodeSource = '';
15
+ // translated texts
16
+ this.backToSignInText = translate('Back to Sign In');
17
+ this.confirmText = translate('Confirm');
18
+ }
19
+ ngOnInit() {
20
+ this.generateQRCode();
21
+ }
22
+ get context() {
23
+ return this.authenticator.slotContext;
24
+ }
25
+ generateQRCode() {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ // TODO: This should be handled in core.
28
+ const state = this.authenticator.authState;
29
+ const actorContext = getActorContext(state);
30
+ const { user } = actorContext;
31
+ try {
32
+ const secretKey = yield Auth.setupTOTP(user);
33
+ const issuer = 'AWSCognito';
34
+ const totpCode = `otpauth://totp/${issuer}:${user.username}?secret=${secretKey}&issuer=${issuer}`;
35
+ logger.info('totp code was generated:', totpCode);
36
+ this.qrCodeSource = yield QRCode.toDataURL(totpCode);
37
+ }
38
+ catch (err) {
39
+ logger.error(err);
40
+ }
41
+ });
42
+ }
43
+ onInput(event) {
44
+ event.preventDefault();
45
+ const { name, value } = event.target;
46
+ this.authenticator.updateForm({ name, value });
47
+ }
48
+ onSubmit(event) {
49
+ event.preventDefault();
50
+ this.authenticator.submitForm();
51
+ }
52
+ }
53
+ SetupTotpComponent.decorators = [
54
+ { type: Component, args: [{
55
+ selector: 'amplify-setup-totp',
56
+ template: "<div data-amplify-container>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n width=\"228\"\n height=\"228\"\n />\n <amplify-form-field\n name=\"confirmation_code\"\n label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-code\"\n ></amplify-form-field>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"setup-totp-footer\" [context]=\"context\"> </amplify-slot>\n </form>\n</div>\n"
57
+ },] }
58
+ ];
59
+ SetupTotpComponent.ctorParameters = () => [
60
+ { type: AuthenticatorService }
61
+ ];
62
+ SetupTotpComponent.propDecorators = {
63
+ dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-setup-totp',] }]
64
+ };
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdG90cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2V0dXAtdG90cC9zZXR1cC10b3RwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBTXZDLE1BQU0sT0FBTyxrQkFBa0I7SUFTN0IsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBUkssYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsRSxlQUFVLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRXpCLG1CQUFtQjtRQUNaLHFCQUFnQixHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hELGdCQUFXLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRWUsQ0FBQztJQUUxRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRUssY0FBYzs7WUFDbEIsd0NBQXdDO1lBQ3hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1lBQzNDLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQWtCLENBQUM7WUFDN0QsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksQ0FBQztZQUM5QixJQUFJO2dCQUNGLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0MsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDO2dCQUM1QixNQUFNLFFBQVEsR0FBRyxrQkFBa0IsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLFdBQVcsU0FBUyxXQUFXLE1BQU0sRUFBRSxDQUFDO2dCQUVsRyxNQUFNLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN0RDtZQUFDLE9BQU8sR0FBRyxFQUFFO2dCQUNaLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbkI7UUFDSCxDQUFDO0tBQUE7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzs7WUFqREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLG85Q0FBMEM7YUFDM0M7OztZQVJRLG9CQUFvQjs7O3VCQVUxQixXQUFXLFNBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUVJDb2RlIGZyb20gJ3FyY29kZSc7XG5pbXBvcnQgeyBBdXRoLCBMb2dnZXIgfSBmcm9tICdhd3MtYW1wbGlmeSc7XG5pbXBvcnQgeyBnZXRBY3RvckNvbnRleHQsIFNpZ25JbkNvbnRleHQgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgdHJhbnNsYXRlIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcignU2V0dXBUb3RwJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktc2V0dXAtdG90cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXR1cC10b3RwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2V0dXBUb3RwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtYW1wbGlmeS1hdXRoZW50aWNhdG9yLXNldHVwLXRvdHAnKSBkYXRhQXR0ciA9ICcnO1xuICBwdWJsaWMgaGVhZGVyVGV4dCA9IHRyYW5zbGF0ZSgnU2V0dXAgVE9UUCcpO1xuICBwdWJsaWMgcXJDb2RlU291cmNlID0gJyc7XG5cbiAgLy8gdHJhbnNsYXRlZCB0ZXh0c1xuICBwdWJsaWMgYmFja1RvU2lnbkluVGV4dCA9IHRyYW5zbGF0ZSgnQmFjayB0byBTaWduIEluJyk7XG4gIHB1YmxpYyBjb25maXJtVGV4dCA9IHRyYW5zbGF0ZSgnQ29uZmlybScpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhdXRoZW50aWNhdG9yOiBBdXRoZW50aWNhdG9yU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyYXRlUVJDb2RlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIGFzeW5jIGdlbmVyYXRlUVJDb2RlKCkge1xuICAgIC8vIFRPRE86IFRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgaW4gY29yZS5cbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuYXV0aGVudGljYXRvci5hdXRoU3RhdGU7XG4gICAgY29uc3QgYWN0b3JDb250ZXh0ID0gZ2V0QWN0b3JDb250ZXh0KHN0YXRlKSBhcyBTaWduSW5Db250ZXh0O1xuICAgIGNvbnN0IHsgdXNlciB9ID0gYWN0b3JDb250ZXh0O1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzZWNyZXRLZXkgPSBhd2FpdCBBdXRoLnNldHVwVE9UUCh1c2VyKTtcbiAgICAgIGNvbnN0IGlzc3VlciA9ICdBV1NDb2duaXRvJztcbiAgICAgIGNvbnN0IHRvdHBDb2RlID0gYG90cGF1dGg6Ly90b3RwLyR7aXNzdWVyfToke3VzZXIudXNlcm5hbWV9P3NlY3JldD0ke3NlY3JldEtleX0maXNzdWVyPSR7aXNzdWVyfWA7XG5cbiAgICAgIGxvZ2dlci5pbmZvKCd0b3RwIGNvZGUgd2FzIGdlbmVyYXRlZDonLCB0b3RwQ29kZSk7XG4gICAgICB0aGlzLnFyQ29kZVNvdXJjZSA9IGF3YWl0IFFSQ29kZS50b0RhdGFVUkwodG90cENvZGUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nZ2VyLmVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlRm9ybSh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3Iuc3VibWl0Rm9ybSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { Component, HostBinding, ViewEncapsulation, } from '@angular/core';
2
+ import { AuthenticatorService } from '../../../../services/authenticator.service';
3
+ import { translate } from '@aws-amplify/ui';
4
+ export class SignInComponent {
5
+ constructor(authenticator) {
6
+ this.authenticator = authenticator;
7
+ this.dataAttr = '';
8
+ // translated phrases
9
+ this.forgotPasswordText = translate('Forgot your password? ');
10
+ this.signInButtonText = translate('Sign in');
11
+ }
12
+ get context() {
13
+ return this.authenticator.slotContext;
14
+ }
15
+ onInput(event) {
16
+ event.preventDefault();
17
+ const { name, value } = event.target;
18
+ this.authenticator.updateForm({ name, value });
19
+ }
20
+ onSubmit(event) {
21
+ event.preventDefault();
22
+ this.authenticator.submitForm();
23
+ }
24
+ }
25
+ SignInComponent.decorators = [
26
+ { type: Component, args: [{
27
+ selector: 'amplify-sign-in',
28
+ template: "<div data-amplify-container>\n <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></amplify-user-name-alias>\n <amplify-form-field\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</div>\n",
29
+ encapsulation: ViewEncapsulation.None
30
+ },] }
31
+ ];
32
+ SignInComponent.ctorParameters = () => [
33
+ { type: AuthenticatorService }
34
+ ];
35
+ SignInComponent.propDecorators = {
36
+ dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-signin',] }]
37
+ };
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1pbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2lnbi1pbi9zaWduLWluLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFFWCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTzVDLE1BQU0sT0FBTyxlQUFlO0lBTzFCLFlBQW1CLGFBQW1DO1FBQW5DLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQU5DLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFckUscUJBQXFCO1FBQ2QsdUJBQWtCLEdBQUcsU0FBUyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDekQscUJBQWdCLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRVUsQ0FBQztJQUUxRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQXFCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVk7UUFDbkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7O1lBM0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQiwrMENBQXVDO2dCQUN2QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBUFEsb0JBQW9COzs7dUJBUzFCLFdBQVcsU0FBQyx3Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgdHJhbnNsYXRlIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1zaWduLWluJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZ24taW4uY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTaWduSW5Db21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3Itc2lnbmluJykgZGF0YUF0dHIgPSAnJztcblxuICAvLyB0cmFuc2xhdGVkIHBocmFzZXNcbiAgcHVibGljIGZvcmdvdFBhc3N3b3JkVGV4dCA9IHRyYW5zbGF0ZSgnRm9yZ290IHlvdXIgcGFzc3dvcmQ/ICcpO1xuICBwdWJsaWMgc2lnbkluQnV0dG9uVGV4dCA9IHRyYW5zbGF0ZSgnU2lnbiBpbicpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhdXRoZW50aWNhdG9yOiBBdXRoZW50aWNhdG9yU2VydmljZSkge31cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB7IG5hbWUsIHZhbHVlIH0gPSA8SFRNTElucHV0RWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnVwZGF0ZUZvcm0oeyBuYW1lLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnN1Ym1pdEZvcm0oKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,34 @@
1
+ import { Component } from '@angular/core';
2
+ import { AuthenticatorService } from '../../../../../services/authenticator.service';
3
+ import { authInputAttributes, } from '@aws-amplify/ui';
4
+ export class SignUpFormFieldsComponent {
5
+ constructor(authenticator) {
6
+ this.authenticator = authenticator;
7
+ this.primaryAlias = '';
8
+ this.secondaryAliases = [];
9
+ }
10
+ ngOnInit() {
11
+ const context = this.authenticator.context;
12
+ const { loginMechanisms, signUpAttributes } = context.config;
13
+ this.fieldNames = Array.from(new Set([...loginMechanisms, ...signUpAttributes]));
14
+ this.fieldNames = this.fieldNames.filter((fieldName) => {
15
+ const hasDefaultField = !!authInputAttributes[fieldName];
16
+ if (!hasDefaultField) {
17
+ console.debug(`Authenticator does not have a default implementation for ${fieldName}. Customize Authenticator.SignUp.FormFields to add your own.`);
18
+ }
19
+ return hasDefaultField;
20
+ });
21
+ // Only 1 is supported, so `['email', 'phone_number']` will only show `email`
22
+ this.loginMechanism = this.fieldNames.shift();
23
+ }
24
+ }
25
+ SignUpFormFieldsComponent.decorators = [
26
+ { type: Component, args: [{
27
+ selector: 'amplify-sign-up-form-fields',
28
+ template: "<div class=\"amplify-flex\" style=\"flex-direction: column\" data-amplify-fieldset>\n <amplify-user-name-alias [name]=\"loginMechanism\"></amplify-user-name-alias>\n <amplify-form-field\n name=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n <amplify-form-field\n name=\"confirm_password\"\n label=\"Confirm Password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\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"
29
+ },] }
30
+ ];
31
+ SignUpFormFieldsComponent.ctorParameters = () => [
32
+ { type: AuthenticatorService }
33
+ ];
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi11cC1mb3JtLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2lnbi11cC9zaWduLXVwLWZvcm0tZmllbGRzL3NpZ24tdXAtZm9ybS1maWVsZHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDckYsT0FBTyxFQUNMLG1CQUFtQixHQUdwQixNQUFNLGlCQUFpQixDQUFDO0FBTXpCLE1BQU0sT0FBTyx5QkFBeUI7SUFNcEMsWUFBb0IsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBTGhELGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztJQUltQixDQUFDO0lBRTNELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUUzQyxNQUFNLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUU3RCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQzFCLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQ25ELENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDckQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQ1gsNERBQTRELFNBQVMsOERBQThELENBQ3BJLENBQUM7YUFDSDtZQUNELE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsNkVBQTZFO1FBQzdFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQW9CLENBQUM7SUFDbEUsQ0FBQzs7O1lBakNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2Qyxxb0JBQW1EO2FBQ3BEOzs7WUFWUSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgYXV0aElucHV0QXR0cmlidXRlcyxcbiAgTG9naW5NZWNoYW5pc20sXG4gIFNpZ25VcEF0dHJpYnV0ZSxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1zaWduLXVwLWZvcm0tZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZ24tdXAtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTaWduVXBGb3JtRmllbGRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHByaW1hcnlBbGlhcyA9ICcnO1xuICBwdWJsaWMgc2Vjb25kYXJ5QWxpYXNlczogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIGZpZWxkTmFtZXM6IEFycmF5PExvZ2luTWVjaGFuaXNtIHwgU2lnblVwQXR0cmlidXRlPjtcbiAgcHVibGljIGxvZ2luTWVjaGFuaXNtOiBMb2dpbk1lY2hhbmlzbTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmF1dGhlbnRpY2F0b3IuY29udGV4dDtcblxuICAgIGNvbnN0IHsgbG9naW5NZWNoYW5pc21zLCBzaWduVXBBdHRyaWJ1dGVzIH0gPSBjb250ZXh0LmNvbmZpZztcblxuICAgIHRoaXMuZmllbGROYW1lcyA9IEFycmF5LmZyb20oXG4gICAgICBuZXcgU2V0KFsuLi5sb2dpbk1lY2hhbmlzbXMsIC4uLnNpZ25VcEF0dHJpYnV0ZXNdKVxuICAgICk7XG5cbiAgICB0aGlzLmZpZWxkTmFtZXMgPSB0aGlzLmZpZWxkTmFtZXMuZmlsdGVyKChmaWVsZE5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGhhc0RlZmF1bHRGaWVsZCA9ICEhYXV0aElucHV0QXR0cmlidXRlc1tmaWVsZE5hbWVdO1xuICAgICAgaWYgKCFoYXNEZWZhdWx0RmllbGQpIHtcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhcbiAgICAgICAgICBgQXV0aGVudGljYXRvciBkb2VzIG5vdCBoYXZlIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBmb3IgJHtmaWVsZE5hbWV9LiBDdXN0b21pemUgQXV0aGVudGljYXRvci5TaWduVXAuRm9ybUZpZWxkcyB0byBhZGQgeW91ciBvd24uYFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGhhc0RlZmF1bHRGaWVsZDtcbiAgICB9KTtcblxuICAgIC8vIE9ubHkgMSBpcyBzdXBwb3J0ZWQsIHNvIGBbJ2VtYWlsJywgJ3Bob25lX251bWJlciddYCB3aWxsIG9ubHkgc2hvdyBgZW1haWxgXG4gICAgdGhpcy5sb2dpbk1lY2hhbmlzbSA9IHRoaXMuZmllbGROYW1lcy5zaGlmdCgpIGFzIExvZ2luTWVjaGFuaXNtO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { Component, HostBinding } from '@angular/core';
2
+ import { AuthenticatorService } from '../../../../services/authenticator.service';
3
+ import { translate } from '@aws-amplify/ui';
4
+ export class SignUpComponent {
5
+ constructor(authenticator) {
6
+ this.authenticator = authenticator;
7
+ this.dataAttr = '';
8
+ // translated texts
9
+ this.createAccountText = translate('Create Account');
10
+ }
11
+ get context() {
12
+ return this.authenticator.slotContext;
13
+ }
14
+ onInput(event) {
15
+ let { checked, name, type, value } = event.target;
16
+ if (type === 'checkbox' && !checked)
17
+ value = undefined;
18
+ this.authenticator.updateForm({ name, value });
19
+ }
20
+ onSubmit(event) {
21
+ event.preventDefault();
22
+ this.authenticator.submitForm();
23
+ }
24
+ }
25
+ SignUpComponent.decorators = [
26
+ { type: Component, args: [{
27
+ selector: 'amplify-sign-up',
28
+ template: "<amplify-slot name=\"sign-up-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 <div class=\"amplify-flex\" style=\"flex-direction: column\">\n <div class=\"amplify-flex\" style=\"flex-direction: column\">\n <amplify-slot name=\"sign-up-form-fields\" [context]=\"context\">\n <amplify-sign-up-form-fields></amplify-sign-up-form-fields>\n </amplify-slot>\n\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </div>\n\n <amplify-slot name=\"sign-up-button\" [context]=\"context\">\n <button\n [disabled]=\"\n authenticator.isPending || authenticator.hasValidationErrors\n \"\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n >\n {{ createAccountText }}\n </button>\n </amplify-slot>\n </div>\n</form>\n\n<amplify-slot name=\"sign-up-footer\" [context]=\"context\"> </amplify-slot>\n"
29
+ },] }
30
+ ];
31
+ SignUpComponent.ctorParameters = () => [
32
+ { type: AuthenticatorService }
33
+ ];
34
+ SignUpComponent.propDecorators = {
35
+ dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-signup',] }]
36
+ };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi11cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2lnbi11cC9zaWduLXVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFNNUMsTUFBTSxPQUFPLGVBQWU7SUFNMUIsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBTEMsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVyRSxtQkFBbUI7UUFDWixzQkFBaUIsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVFLENBQUM7SUFFMUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUVwRSxJQUFJLElBQUksS0FBSyxVQUFVLElBQUksQ0FBQyxPQUFPO1lBQUUsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzs7WUExQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLDhtQ0FBdUM7YUFDeEM7OztZQU5RLG9CQUFvQjs7O3VCQVExQixXQUFXLFNBQUMsd0NBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktc2lnbi11cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWduLXVwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2lnblVwQ29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtYW1wbGlmeS1hdXRoZW50aWNhdG9yLXNpZ251cCcpIGRhdGFBdHRyID0gJyc7XG5cbiAgLy8gdHJhbnNsYXRlZCB0ZXh0c1xuICBwdWJsaWMgY3JlYXRlQWNjb3VudFRleHQgPSB0cmFuc2xhdGUoJ0NyZWF0ZSBBY2NvdW50Jyk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdG9yLnNsb3RDb250ZXh0O1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBsZXQgeyBjaGVja2VkLCBuYW1lLCB0eXBlLCB2YWx1ZSB9ID0gPEhUTUxJbnB1dEVsZW1lbnQ+ZXZlbnQudGFyZ2V0O1xuXG4gICAgaWYgKHR5cGUgPT09ICdjaGVja2JveCcgJiYgIWNoZWNrZWQpIHZhbHVlID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuYXV0aGVudGljYXRvci51cGRhdGVGb3JtKHsgbmFtZSwgdmFsdWUgfSk7XG4gIH1cblxuICBvblN1Ym1pdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuYXV0aGVudGljYXRvci5zdWJtaXRGb3JtKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { AuthenticatorService } from '../../../../services/authenticator.service';
3
+ import { getAliasInfoFromContext } from '@aws-amplify/ui';
4
+ export class UserNameAliasComponent {
5
+ constructor(authenticator) {
6
+ this.authenticator = authenticator;
7
+ this.name = 'username';
8
+ this.disabled = false;
9
+ this.initialValue = '';
10
+ this.required = true;
11
+ }
12
+ ngOnInit() {
13
+ const context = this.authenticator.context;
14
+ const { label, type } = getAliasInfoFromContext(context);
15
+ this.label = label;
16
+ this.type = type;
17
+ this.placeholder = label;
18
+ }
19
+ }
20
+ UserNameAliasComponent.decorators = [
21
+ { type: Component, args: [{
22
+ selector: 'amplify-user-name-alias',
23
+ template: "<amplify-form-field\n data-amplify-usernamealias\n [name]=\"name\"\n [label]=\"label\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [initialValue]=\"initialValue\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n autocomplete=\"username\"\n>\n</amplify-form-field>\n"
24
+ },] }
25
+ ];
26
+ UserNameAliasComponent.ctorParameters = () => [
27
+ { type: AuthenticatorService }
28
+ ];
29
+ UserNameAliasComponent.propDecorators = {
30
+ name: [{ type: Input }],
31
+ disabled: [{ type: Input }],
32
+ initialValue: [{ type: Input }],
33
+ required: [{ type: Input }]
34
+ };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1uYW1lLWFsaWFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy91c2VyLW5hbWUtYWxpYXMvdXNlci1uYW1lLWFsaWFzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQU0xRCxNQUFNLE9BQU8sc0JBQXNCO0lBVWpDLFlBQW9CLGFBQW1DO1FBQW5DLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQVQ5QyxTQUFJLEdBQVcsVUFBVSxDQUFDO1FBQzFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsYUFBUSxHQUFZLElBQUksQ0FBQztJQU13QixDQUFDO0lBRTNELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUMzQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7OztZQXZCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsMlNBQStDO2FBQ2hEOzs7WUFOUSxvQkFBb0I7OzttQkFRMUIsS0FBSzt1QkFDTCxLQUFLOzJCQUNMLEtBQUs7dUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0QWxpYXNJbmZvRnJvbUNvbnRleHQgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LXVzZXItbmFtZS1hbGlhcycsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLW5hbWUtYWxpYXMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VyTmFtZUFsaWFzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJ3VzZXJuYW1lJztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaW5pdGlhbFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgcHVibGljIHR5cGU6IHN0cmluZztcbiAgcHVibGljIGVycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aGVudGljYXRvcjogQXV0aGVudGljYXRvclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuYXV0aGVudGljYXRvci5jb250ZXh0O1xuICAgIGNvbnN0IHsgbGFiZWwsIHR5cGUgfSA9IGdldEFsaWFzSW5mb0Zyb21Db250ZXh0KGNvbnRleHQpO1xuXG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IGxhYmVsO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { Component, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
2
+ import { getActorState, translate } from '@aws-amplify/ui';
3
+ import { AuthenticatorService } from '../../../../services/authenticator.service';
4
+ import { getAttributeMap } from '../../../../common';
5
+ import { nanoid } from 'nanoid';
6
+ export class VerifyUserComponent {
7
+ constructor(authenticator) {
8
+ this.authenticator = authenticator;
9
+ this.dataAttr = '';
10
+ this.headerText = translate('Account recovery requires verified contact information');
11
+ this.unverifiedAttributes = {};
12
+ this.labelId = nanoid(12);
13
+ // translated texts
14
+ this.skipText = translate('Skip');
15
+ this.verifyText = translate('Verify');
16
+ }
17
+ ngOnInit() {
18
+ const actorState = getActorState(this.authenticator.authState);
19
+ this.unverifiedAttributes = actorState.context.unverifiedAttributes;
20
+ }
21
+ get context() {
22
+ return this.authenticator.slotContext;
23
+ }
24
+ getLabelForAttr(authAttr) {
25
+ var _a;
26
+ const attributeMap = getAttributeMap();
27
+ const label = (_a = attributeMap[authAttr]) === null || _a === void 0 ? void 0 : _a.label;
28
+ return translate(label);
29
+ }
30
+ onInput(event) {
31
+ event.preventDefault();
32
+ const { name, value } = event.target;
33
+ this.authenticator.updateForm({ name, value });
34
+ }
35
+ onSubmit(event) {
36
+ event.preventDefault();
37
+ this.authenticator.submitForm();
38
+ }
39
+ }
40
+ VerifyUserComponent.decorators = [
41
+ { type: Component, args: [{
42
+ selector: 'amplify-verify-user',
43
+ template: "<div data-amplify-container>\n <form data-amplify-form (input)=\"onInput($event)\" (submit)=\"onSubmit($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"verify-user-header\" [context]=\"context\">\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <div *ngFor=\"let unverifiedAttribute of unverifiedAttributes | keyvalue\">\n <input\n name=\"unverifiedAttr\"\n type=\"radio\"\n [value]=\"unverifiedAttribute.key\"\n [id]=\"labelId\"\n />\n <label [for]=\"labelId\">{{\n getLabelForAttr(unverifiedAttribute.key)\n }}</label>\n </div>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ verifyText }}\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\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"verify-user-footer\" [context]=\"context\"> </amplify-slot>\n </form>\n</div>\n",
44
+ encapsulation: ViewEncapsulation.None
45
+ },] }
46
+ ];
47
+ VerifyUserComponent.ctorParameters = () => [
48
+ { type: AuthenticatorService }
49
+ ];
50
+ VerifyUserComponent.propDecorators = {
51
+ dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-verifyuser',] }],
52
+ headerText: [{ type: Input }]
53
+ };
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LXVzZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYXV0aGVudGljYXRvci9jb21wb25lbnRzL3ZlcmlmeS11c2VyL3ZlcmlmeS11c2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBRUwsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQWUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFNaEMsTUFBTSxPQUFPLG1CQUFtQjtJQWE5QixZQUFtQixhQUFtQztRQUFuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFaSyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ3pELGVBQVUsR0FBRyxTQUFTLENBQ3BDLHdEQUF3RCxDQUN6RCxDQUFDO1FBRUsseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQzFCLFlBQU8sR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFNUIsbUJBQW1CO1FBQ1osYUFBUSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWlCLENBQUM7SUFFMUQsUUFBUTtRQUNOLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQ2QsQ0FBQztRQUNqQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVELGVBQWUsQ0FBQyxRQUFnQjs7UUFDOUIsTUFBTSxZQUFZLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFDdkMsTUFBTSxLQUFLLFNBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQywwQ0FBRSxLQUFLLENBQUM7UUFDNUMsT0FBTyxTQUFTLENBQVMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFxQixLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFZO1FBQ25CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2xDLENBQUM7OztZQTlDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsNjZDQUEyQztnQkFDM0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQVBRLG9CQUFvQjs7O3VCQVMxQixXQUFXLFNBQUMsNENBQTRDO3lCQUN4RCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0QWN0b3JTdGF0ZSwgU2lnbkluU3RhdGUsIHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRBdHRyaWJ1dGVNYXAgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgbmFub2lkIH0gZnJvbSAnbmFub2lkJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktdmVyaWZ5LXVzZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdmVyaWZ5LXVzZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBWZXJpZnlVc2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtYW1wbGlmeS1hdXRoZW50aWNhdG9yLXZlcmlmeXVzZXInKSBkYXRhQXR0ciA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgaGVhZGVyVGV4dCA9IHRyYW5zbGF0ZShcbiAgICAnQWNjb3VudCByZWNvdmVyeSByZXF1aXJlcyB2ZXJpZmllZCBjb250YWN0IGluZm9ybWF0aW9uJ1xuICApO1xuXG4gIHB1YmxpYyB1bnZlcmlmaWVkQXR0cmlidXRlcyA9IHt9O1xuICBwdWJsaWMgbGFiZWxJZCA9IG5hbm9pZCgxMik7XG5cbiAgLy8gdHJhbnNsYXRlZCB0ZXh0c1xuICBwdWJsaWMgc2tpcFRleHQgPSB0cmFuc2xhdGUoJ1NraXAnKTtcbiAgcHVibGljIHZlcmlmeVRleHQgPSB0cmFuc2xhdGUoJ1ZlcmlmeScpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhdXRoZW50aWNhdG9yOiBBdXRoZW50aWNhdG9yU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RvclN0YXRlID0gZ2V0QWN0b3JTdGF0ZShcbiAgICAgIHRoaXMuYXV0aGVudGljYXRvci5hdXRoU3RhdGVcbiAgICApIGFzIFNpZ25JblN0YXRlO1xuICAgIHRoaXMudW52ZXJpZmllZEF0dHJpYnV0ZXMgPSBhY3RvclN0YXRlLmNvbnRleHQudW52ZXJpZmllZEF0dHJpYnV0ZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIGdldExhYmVsRm9yQXR0cihhdXRoQXR0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhdHRyaWJ1dGVNYXAgPSBnZXRBdHRyaWJ1dGVNYXAoKTtcbiAgICBjb25zdCBsYWJlbCA9IGF0dHJpYnV0ZU1hcFthdXRoQXR0cl0/LmxhYmVsO1xuICAgIHJldHVybiB0cmFuc2xhdGU8c3RyaW5nPihsYWJlbCk7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgeyBuYW1lLCB2YWx1ZSB9ID0gPEhUTUxJbnB1dEVsZW1lbnQ+ZXZlbnQudGFyZ2V0O1xuICAgIHRoaXMuYXV0aGVudGljYXRvci51cGRhdGVGb3JtKHsgbmFtZSwgdmFsdWUgfSk7XG4gIH1cblxuICBvblN1Ym1pdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuYXV0aGVudGljYXRvci5zdWJtaXRGb3JtKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ export class ButtonComponent {
3
+ constructor() {
4
+ this.type = 'button';
5
+ this.fullWidth = false;
6
+ this.size = 'medium';
7
+ this.variation = 'default';
8
+ this.fontWeight = 'normal';
9
+ this.defaultClass = true;
10
+ }
11
+ ngOnInit() {
12
+ this.typeAttr = this.type;
13
+ this.fullWidthAttr = this.fullWidth;
14
+ this.sizeAttr = this.size;
15
+ this.variationAttr = this.variation;
16
+ this.fontWeightAttr = this.fontWeight;
17
+ }
18
+ }
19
+ ButtonComponent.decorators = [
20
+ { type: Component, args: [{
21
+ selector: 'button[amplify-button]',
22
+ template: "<ng-content></ng-content>\n"
23
+ },] }
24
+ ];
25
+ ButtonComponent.propDecorators = {
26
+ type: [{ type: Input }],
27
+ fullWidth: [{ type: Input }],
28
+ size: [{ type: Input }],
29
+ variation: [{ type: Input }],
30
+ fontWeight: [{ type: Input }],
31
+ typeAttr: [{ type: HostBinding, args: ['type',] }],
32
+ fullWidthAttr: [{ type: HostBinding, args: ['attr.data-fullwidth',] }],
33
+ sizeAttr: [{ type: HostBinding, args: ['attr.data-size',] }],
34
+ variationAttr: [{ type: HostBinding, args: ['attr.data-variation',] }],
35
+ defaultClass: [{ type: HostBinding, args: ['class.amplify-button',] }],
36
+ fontWeightAttr: [{ type: HostBinding, args: ['style.font-weight',] }]
37
+ };
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9wcmltaXRpdmVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU10RSxNQUFNLE9BQU8sZUFBZTtJQUo1QjtRQUtXLFNBQUksR0FBd0IsUUFBUSxDQUFDO1FBQ3JDLGNBQVMsR0FBcUIsS0FBSyxDQUFDO1FBQ3BDLFNBQUksR0FBaUMsUUFBUSxDQUFDO1FBQzlDLGNBQVMsR0FBbUMsU0FBUyxDQUFDO1FBQ3RELGVBQVUsR0FBa0MsUUFBUSxDQUFDO1FBTXpCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO0lBVTNELENBQUM7SUFQQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN4QyxDQUFDOzs7WUF4QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLHVDQUFzQzthQUN2Qzs7O21CQUVFLEtBQUs7d0JBQ0wsS0FBSzttQkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzt1QkFFTCxXQUFXLFNBQUMsTUFBTTs0QkFDbEIsV0FBVyxTQUFDLHFCQUFxQjt1QkFDakMsV0FBVyxTQUFDLGdCQUFnQjs0QkFDNUIsV0FBVyxTQUFDLHFCQUFxQjsyQkFDakMsV0FBVyxTQUFDLHNCQUFzQjs2QkFDbEMsV0FBVyxTQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnV0dG9uW2FtcGxpZnktYnV0dG9uXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB0eXBlOiAnc3VibWl0JyB8ICdidXR0b24nID0gJ2J1dHRvbic7XG4gIEBJbnB1dCgpIGZ1bGxXaWR0aDogYm9vbGVhbiB8IHN0cmluZyA9IGZhbHNlO1xuICBASW5wdXQoKSBzaXplOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnID0gJ21lZGl1bSc7XG4gIEBJbnB1dCgpIHZhcmlhdGlvbjogJ3ByaW1hcnknIHwgJ2RlZmF1bHQnIHwgJ2xpbmsnID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBmb250V2VpZ2h0OiAnbm9ybWFsJyB8ICdib2xkJyB8ICdsaWdodGVyJyA9ICdub3JtYWwnO1xuXG4gIEBIb3N0QmluZGluZygndHlwZScpIHR5cGVBdHRyOiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWZ1bGx3aWR0aCcpIGZ1bGxXaWR0aEF0dHI6IGJvb2xlYW4gfCBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKSBzaXplQXR0cjogc3RyaW5nO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS12YXJpYXRpb24nKSB2YXJpYXRpb25BdHRyOiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW1wbGlmeS1idXR0b24nKSBkZWZhdWx0Q2xhc3MgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmZvbnQtd2VpZ2h0JykgZm9udFdlaWdodEF0dHI6IHN0cmluZztcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnR5cGVBdHRyID0gdGhpcy50eXBlO1xuICAgIHRoaXMuZnVsbFdpZHRoQXR0ciA9IHRoaXMuZnVsbFdpZHRoO1xuICAgIHRoaXMuc2l6ZUF0dHIgPSB0aGlzLnNpemU7XG4gICAgdGhpcy52YXJpYXRpb25BdHRyID0gdGhpcy52YXJpYXRpb247XG4gICAgdGhpcy5mb250V2VpZ2h0QXR0ciA9IHRoaXMuZm9udFdlaWdodDtcbiAgfVxufVxuIl19
@@ -0,0 +1,31 @@
1
+ import { Component, Input } from '@angular/core';
2
+ export class CheckboxComponent {
3
+ constructor() {
4
+ this.defaultChecked = false;
5
+ this.hasError = false;
6
+ this.isChecked = false;
7
+ }
8
+ ngOnInit() {
9
+ if (this.defaultChecked) {
10
+ this.isChecked = true;
11
+ }
12
+ }
13
+ handleClick() {
14
+ this.isChecked = !this.isChecked;
15
+ }
16
+ }
17
+ CheckboxComponent.decorators = [
18
+ { type: Component, args: [{
19
+ selector: 'amplify-checkbox',
20
+ template: "<div class=\"amplify-flex amplify-field amplify-checkboxfield\">\n <label class=\"amplify-flex amplify-checkbox\">\n <span class=\"amplify-visually-hidden\">\n <input\n (click)=\"handleClick()\"\n class=\"\n amplify-input\n amplify-field-group__control\n amplify-checkbox__input\n \"\n aria-invalid=\"false\"\n type=\"checkbox\"\n [name]=\"name\"\n [value]=\"value\"\n />\n </span>\n <span\n class=\"amplify-flex amplify-checkbox__button\"\n aria-hidden=\"true\"\n data-focus=\"false\"\n [attr.data-error]=\"hasError\"\n [attr.data-checked]=\"isChecked\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon amplify-checkbox__icon\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n [attr.data-checked]=\"isChecked\"\n >\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"></path>\n </svg>\n </span>\n <span class=\"amplify-text amplify-checkbox__label\">\n <ng-content></ng-content>\n </span>\n </label>\n <p *ngIf=\"hasError\" class=\"amplify-text amplify-field__error-message\">\n {{ errorMessage }}\n </p>\n</div>\n"
21
+ },] }
22
+ ];
23
+ CheckboxComponent.propDecorators = {
24
+ defaultChecked: [{ type: Input }],
25
+ errorMessage: [{ type: Input }],
26
+ hasError: [{ type: Input }],
27
+ label: [{ type: Input }],
28
+ name: [{ type: Input }],
29
+ value: [{ type: Input }]
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3ByaW1pdGl2ZXMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBTXpELE1BQU0sT0FBTyxpQkFBaUI7SUFKOUI7UUFLVyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUVoQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBSzVCLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFXcEMsQ0FBQztJQVRDLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ25DLENBQUM7OztZQXRCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsZ3ZDQUF3QzthQUN6Qzs7OzZCQUVFLEtBQUs7MkJBQ0wsS0FBSzt1QkFDTCxLQUFLO29CQUNMLEtBQUs7bUJBQ0wsS0FBSztvQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRlZmF1bHRDaGVja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBoYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmc7XG5cbiAgcHVibGljIGlzQ2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmRlZmF1bHRDaGVja2VkKSB7XG4gICAgICB0aGlzLmlzQ2hlY2tlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2xpY2soKSB7XG4gICAgdGhpcy5pc0NoZWNrZWQgPSAhdGhpcy5pc0NoZWNrZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { Component } from '@angular/core';
2
+ export class ErrorComponent {
3
+ constructor() {
4
+ this.isVisible = true;
5
+ }
6
+ close() {
7
+ this.isVisible = false;
8
+ }
9
+ }
10
+ ErrorComponent.decorators = [
11
+ { type: Component, args: [{
12
+ selector: 'amplify-error',
13
+ template: "<div\n class=\"amplify-flex amplify-alert\"\n data-variation=\"error\"\n style=\"align-items: center; justify-content: space-between\"\n *ngIf=\"isVisible\"\n role=\"alert\"\n>\n <div class=\"amplify-flex\" style=\"align-items: center\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"\n ></path>\n </svg>\n <div><ng-content></ng-content></div>\n </div>\n <button\n amplify-button\n class=\"amplify-field-group__control\"\n variation=\"link\"\n [fullWidth]=\"false\"\n (click)=\"close()\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path\n d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n ></path>\n </svg>\n </button>\n</div>\n"
14
+ },] }
15
+ ];
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3ByaW1pdGl2ZXMvZXJyb3IvZXJyb3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNMUMsTUFBTSxPQUFPLGNBQWM7SUFKM0I7UUFLUyxjQUFTLEdBQUcsSUFBSSxDQUFDO0lBSzFCLENBQUM7SUFIUSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQzs7O1lBVEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6Qix1a0NBQXFDO2FBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktZXJyb3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZXJyb3IuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBFcnJvckNvbXBvbmVudCB7XG4gIHB1YmxpYyBpc1Zpc2libGUgPSB0cnVlO1xuXG4gIHB1YmxpYyBjbG9zZSgpIHtcbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ export { ErrorComponent } from './error/error.component';
2
+ export { ButtonComponent } from './button/button.component';
3
+ export { PasswordFieldComponent } from './password-field/password-field.component';
4
+ export { SelectComponent } from './select/select.component';
5
+ export { TextFieldComponent } from './text-field/text-field.component';
6
+ export { PhoneNumberFieldComponent } from './phone-number-field/phone-number-field.component';
7
+ export { TabItemComponent } from './tab-item/tab-item.component';
8
+ export { TabsComponent } from './tabs/tabs.component';
9
+ export { CheckboxComponent } from './checkbox/checkbox.component';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvcHJpbWl0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBFcnJvckNvbXBvbmVudCB9IGZyb20gJy4vZXJyb3IvZXJyb3IuY29tcG9uZW50JztcbmV4cG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgUGFzc3dvcmRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGFzc3dvcmQtZmllbGQvcGFzc3dvcmQtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0IHsgVGV4dEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWZpZWxkL3RleHQtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7IFBob25lTnVtYmVyRmllbGRDb21wb25lbnQgfSBmcm9tICcuL3Bob25lLW51bWJlci1maWVsZC9waG9uZS1udW1iZXItZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7IFRhYkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3RhYi1pdGVtL3RhYi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgeyBUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi90YWJzL3RhYnMuY29tcG9uZW50JztcbmV4cG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuIl19