@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.
- package/README.md +28 -1
- package/aws-amplify-ui-angular.d.ts +30 -0
- package/aws-amplify-ui-angular.metadata.json +1 -0
- package/bundles/aws-amplify-ui-angular-legacy.umd.js +2229 -0
- package/bundles/aws-amplify-ui-angular-legacy.umd.js.map +1 -0
- package/bundles/aws-amplify-ui-angular-legacy.umd.min.js +16 -0
- package/bundles/aws-amplify-ui-angular-legacy.umd.min.js.map +1 -0
- package/bundles/aws-amplify-ui-angular.umd.js +1840 -0
- package/bundles/aws-amplify-ui-angular.umd.js.map +1 -0
- package/bundles/aws-amplify-ui-angular.umd.min.js +2 -0
- package/bundles/aws-amplify-ui-angular.umd.min.js.map +1 -0
- package/esm2015/aws-amplify-ui-angular.js +31 -0
- package/esm2015/index.js +26 -0
- package/esm2015/legacy/aws-amplify-ui-angular-legacy.js +6 -0
- package/esm2015/legacy/index.js +3 -0
- package/esm2015/legacy/legacy-ui-angular.module.js +53 -0
- package/esm2015/legacy/proxies.js +1839 -0
- package/esm2015/lib/common/helpers.js +3 -0
- package/esm2015/lib/common/index.js +3 -0
- package/esm2015/lib/common/types/auth-types.js +2 -0
- package/esm2015/lib/common/types/component-types.js +2 -0
- package/esm2015/lib/common/types/index.js +3 -0
- package/esm2015/lib/components/authenticator/authenticator.module.js +79 -0
- package/esm2015/lib/components/authenticator/components/authenticator/authenticator.component.js +87 -0
- package/esm2015/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.js +40 -0
- package/esm2015/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.js +57 -0
- package/esm2015/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.js +39 -0
- package/esm2015/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.js +39 -0
- package/esm2015/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.js +47 -0
- package/esm2015/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.js +27 -0
- package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password.component.js +39 -0
- package/esm2015/lib/components/authenticator/components/form-field/form-field.component.js +93 -0
- package/esm2015/lib/components/authenticator/components/index.js +17 -0
- package/esm2015/lib/components/authenticator/components/reset-password/reset-password.component.js +45 -0
- package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +65 -0
- package/esm2015/lib/components/authenticator/components/sign-in/sign-in.component.js +38 -0
- package/esm2015/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.js +34 -0
- package/esm2015/lib/components/authenticator/components/sign-up/sign-up.component.js +37 -0
- package/esm2015/lib/components/authenticator/components/user-name-alias/user-name-alias.component.js +35 -0
- package/esm2015/lib/components/authenticator/components/verify-user/verify-user.component.js +54 -0
- package/esm2015/lib/primitives/button/button.component.js +38 -0
- package/esm2015/lib/primitives/checkbox/checkbox.component.js +31 -0
- package/esm2015/lib/primitives/error/error.component.js +16 -0
- package/esm2015/lib/primitives/index.js +10 -0
- package/esm2015/lib/primitives/password-field/password-field.component.js +43 -0
- package/esm2015/lib/primitives/phone-number-field/phone-number-field.component.js +40 -0
- package/esm2015/lib/primitives/select/select.component.js +17 -0
- package/esm2015/lib/primitives/tab-item/tab-item.component.js +20 -0
- package/esm2015/lib/primitives/tabs/tabs.component.js +45 -0
- package/esm2015/lib/primitives/text-field/text-field.component.js +35 -0
- package/esm2015/lib/services/authenticator.service.js +133 -0
- package/esm2015/lib/services/custom-components.service.js +23 -0
- package/esm2015/lib/utilities/amplify-slot/amplify-slot.component.js +32 -0
- package/esm2015/lib/utilities/amplify-slot/amplify-slot.directive.js +21 -0
- package/fesm2015/aws-amplify-ui-angular-legacy.js +1846 -0
- package/fesm2015/aws-amplify-ui-angular-legacy.js.map +1 -0
- package/fesm2015/aws-amplify-ui-angular.js +1253 -0
- package/fesm2015/aws-amplify-ui-angular.js.map +1 -0
- package/index.d.ts +22 -0
- package/{dist/core.d.ts → legacy/aws-amplify-ui-angular-legacy.d.ts} +1 -0
- package/legacy/aws-amplify-ui-angular-legacy.metadata.json +1 -0
- package/legacy/index.d.ts +2 -0
- package/legacy/legacy-ui-angular.module.d.ts +2 -0
- package/legacy/package.json +11 -0
- package/{dist/directives → legacy}/proxies.d.ts +0 -0
- package/lib/common/helpers.d.ts +2 -0
- package/lib/common/index.d.ts +2 -0
- package/lib/common/types/auth-types.d.ts +3 -0
- package/lib/common/types/component-types.d.ts +23 -0
- package/lib/common/types/index.d.ts +2 -0
- package/lib/components/authenticator/authenticator.module.d.ts +2 -0
- package/lib/components/authenticator/components/authenticator/authenticator.component.d.ts +67 -0
- package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +50 -0
- package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +52 -0
- package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +49 -0
- package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +49 -0
- package/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.d.ts +19 -0
- package/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.d.ts +9 -0
- package/lib/components/authenticator/components/force-new-password/force-new-password.component.d.ts +49 -0
- package/lib/components/authenticator/components/form-field/form-field.component.d.ts +36 -0
- package/lib/components/authenticator/components/index.d.ts +16 -0
- package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +52 -0
- package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +53 -0
- package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +48 -0
- package/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.d.ts +12 -0
- package/lib/components/authenticator/components/sign-up/sign-up.component.d.ts +47 -0
- package/lib/components/authenticator/components/user-name-alias/user-name-alias.component.d.ts +15 -0
- package/lib/components/authenticator/components/verify-user/verify-user.component.d.ts +54 -0
- package/lib/primitives/button/button.component.d.ts +15 -0
- package/lib/primitives/checkbox/checkbox.component.d.ts +12 -0
- package/lib/primitives/error/error.component.d.ts +4 -0
- package/lib/primitives/index.d.ts +9 -0
- package/lib/primitives/password-field/password-field.component.d.ts +15 -0
- package/lib/primitives/phone-number-field/phone-number-field.component.d.ts +16 -0
- package/lib/primitives/select/select.component.d.ts +7 -0
- package/lib/primitives/tab-item/tab-item.component.d.ts +7 -0
- package/lib/primitives/tabs/tabs.component.d.ts +9 -0
- package/lib/primitives/text-field/text-field.component.d.ts +13 -0
- package/lib/services/authenticator.service.d.ts +94 -0
- package/lib/services/custom-components.service.d.ts +9 -0
- package/lib/utilities/amplify-slot/amplify-slot.component.d.ts +12 -0
- package/lib/utilities/amplify-slot/amplify-slot.directive.d.ts +7 -0
- package/package.json +29 -49
- package/theme.css +1 -0
- package/CHANGELOG.md +0 -320
- package/dist/amplify-module.d.ts +0 -2
- package/dist/core.metadata.json +0 -1
- package/dist/fesm2015.js +0 -1532
- package/dist/fesm5.js +0 -1319
- 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==
|
package/esm2015/lib/components/authenticator/components/reset-password/reset-password.component.js
ADDED
|
@@ -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==
|
package/esm2015/lib/components/authenticator/components/user-name-alias/user-name-alias.component.js
ADDED
|
@@ -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
|