@aws-amplify/ui-angular 3.2.19 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/{esm2015/lib/components/authenticator/authenticator.module.js → esm2020/lib/components/authenticator/authenticator.module.mjs} +5 -5
  2. package/esm2020/lib/components/authenticator/components/authenticator/authenticator.component.mjs +176 -0
  3. package/esm2020/lib/components/authenticator/components/base-form-fields/base-form-fields.component.mjs +32 -0
  4. package/esm2020/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.mjs +45 -0
  5. package/esm2020/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.mjs +49 -0
  6. package/esm2020/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.mjs +49 -0
  7. package/esm2020/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.mjs +44 -0
  8. package/esm2020/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.mjs +47 -0
  9. package/esm2020/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.mjs +26 -0
  10. package/esm2020/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.mjs +12 -0
  11. package/esm2020/lib/components/authenticator/components/force-new-password/force-new-password.component.mjs +44 -0
  12. package/esm2020/lib/components/authenticator/components/form-field/form-field.component.mjs +50 -0
  13. package/esm2020/lib/components/authenticator/components/reset-password/reset-password.component.mjs +44 -0
  14. package/esm2020/lib/components/authenticator/components/setup-totp/setup-totp.component.mjs +69 -0
  15. package/esm2020/lib/components/authenticator/components/sign-in/sign-in.component.mjs +41 -0
  16. package/esm2020/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.mjs +12 -0
  17. package/esm2020/lib/components/authenticator/components/sign-up/sign-up.component.mjs +44 -0
  18. package/esm2020/lib/components/authenticator/components/verify-user/verify-user.component.mjs +56 -0
  19. package/{esm2015/lib/primitives/button/button.component.js → esm2020/lib/primitives/button/button.component.mjs} +5 -8
  20. package/esm2020/lib/primitives/checkbox/checkbox.component.mjs +37 -0
  21. package/esm2020/lib/primitives/error/error.component.mjs +21 -0
  22. package/esm2020/lib/primitives/password-field/password-field.component.mjs +64 -0
  23. package/esm2020/lib/primitives/phone-number-field/phone-number-field.component.mjs +62 -0
  24. package/esm2020/lib/primitives/select/select.component.mjs +22 -0
  25. package/esm2020/lib/primitives/tab-item/tab-item.component.mjs +29 -0
  26. package/{esm2015/lib/primitives/tabs/tabs.component.js → esm2020/lib/primitives/tabs/tabs.component.mjs} +5 -8
  27. package/esm2020/lib/primitives/text-field/text-field.component.mjs +50 -0
  28. package/esm2020/lib/services/authenticator.service.mjs +177 -0
  29. package/esm2020/lib/services/custom-components.service.mjs +25 -0
  30. package/esm2020/lib/utilities/amplify-slot/amplify-slot.component.mjs +33 -0
  31. package/{esm2015/lib/utilities/amplify-slot/amplify-slot.directive.js → esm2020/lib/utilities/amplify-slot/amplify-slot.directive.mjs} +4 -4
  32. package/{esm2015/version.js → esm2020/version.mjs} +2 -2
  33. package/fesm2015/aws-amplify-ui-angular.mjs +1432 -0
  34. package/fesm2015/aws-amplify-ui-angular.mjs.map +1 -0
  35. package/fesm2020/aws-amplify-ui-angular.mjs +1416 -0
  36. package/fesm2020/aws-amplify-ui-angular.mjs.map +1 -0
  37. package/lib/components/authenticator/components/authenticator/authenticator.component.d.ts +1 -1
  38. package/lib/components/authenticator/components/base-form-fields/base-form-fields.component.d.ts +1 -1
  39. package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +1 -1
  40. package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +1 -1
  41. package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +1 -1
  42. package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +1 -1
  43. package/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.d.ts +1 -1
  44. package/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.d.ts +1 -1
  45. package/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.d.ts +1 -1
  46. package/lib/components/authenticator/components/force-new-password/force-new-password.component.d.ts +1 -1
  47. package/lib/components/authenticator/components/form-field/form-field.component.d.ts +1 -1
  48. package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +1 -1
  49. package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +1 -1
  50. package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +1 -1
  51. package/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.d.ts +1 -1
  52. package/lib/components/authenticator/components/sign-up/sign-up.component.d.ts +1 -1
  53. package/lib/components/authenticator/components/verify-user/verify-user.component.d.ts +1 -1
  54. package/lib/primitives/button/button.component.d.ts +1 -1
  55. package/lib/primitives/checkbox/checkbox.component.d.ts +1 -1
  56. package/lib/primitives/error/error.component.d.ts +1 -1
  57. package/lib/primitives/password-field/password-field.component.d.ts +1 -1
  58. package/lib/primitives/phone-number-field/phone-number-field.component.d.ts +1 -1
  59. package/lib/primitives/select/select.component.d.ts +1 -1
  60. package/lib/primitives/tab-item/tab-item.component.d.ts +1 -1
  61. package/lib/primitives/tabs/tabs.component.d.ts +1 -1
  62. package/lib/primitives/text-field/text-field.component.d.ts +1 -1
  63. package/lib/utilities/amplify-slot/amplify-slot.component.d.ts +1 -1
  64. package/lib/utilities/amplify-slot/amplify-slot.directive.d.ts +1 -1
  65. package/package.json +22 -8
  66. package/version.d.ts +1 -1
  67. package/aws-amplify-ui-angular.d.ts +0 -5
  68. package/bundles/aws-amplify-ui-angular.umd.js +0 -2217
  69. package/bundles/aws-amplify-ui-angular.umd.js.map +0 -1
  70. package/esm2015/lib/components/authenticator/components/authenticator/authenticator.component.js +0 -181
  71. package/esm2015/lib/components/authenticator/components/base-form-fields/base-form-fields.component.js +0 -35
  72. package/esm2015/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.js +0 -48
  73. package/esm2015/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.js +0 -52
  74. package/esm2015/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.js +0 -52
  75. package/esm2015/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.js +0 -47
  76. package/esm2015/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.js +0 -51
  77. package/esm2015/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.js +0 -29
  78. package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.js +0 -15
  79. package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password.component.js +0 -47
  80. package/esm2015/lib/components/authenticator/components/form-field/form-field.component.js +0 -54
  81. package/esm2015/lib/components/authenticator/components/reset-password/reset-password.component.js +0 -47
  82. package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +0 -78
  83. package/esm2015/lib/components/authenticator/components/sign-in/sign-in.component.js +0 -45
  84. package/esm2015/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.js +0 -15
  85. package/esm2015/lib/components/authenticator/components/sign-up/sign-up.component.js +0 -47
  86. package/esm2015/lib/components/authenticator/components/verify-user/verify-user.component.js +0 -60
  87. package/esm2015/lib/primitives/checkbox/checkbox.component.js +0 -40
  88. package/esm2015/lib/primitives/error/error.component.js +0 -24
  89. package/esm2015/lib/primitives/password-field/password-field.component.js +0 -67
  90. package/esm2015/lib/primitives/phone-number-field/phone-number-field.component.js +0 -66
  91. package/esm2015/lib/primitives/select/select.component.js +0 -25
  92. package/esm2015/lib/primitives/tab-item/tab-item.component.js +0 -32
  93. package/esm2015/lib/primitives/text-field/text-field.component.js +0 -53
  94. package/esm2015/lib/services/authenticator.service.js +0 -185
  95. package/esm2015/lib/services/custom-components.service.js +0 -25
  96. package/esm2015/lib/utilities/amplify-slot/amplify-slot.component.js +0 -36
  97. package/fesm2015/aws-amplify-ui-angular.js +0 -1517
  98. package/fesm2015/aws-amplify-ui-angular.js.map +0 -1
  99. /package/{esm2015/aws-amplify-ui-angular.js → esm2020/aws-amplify-ui-angular.mjs} +0 -0
  100. /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  101. /package/{esm2015/lib/common/helpers.js → esm2020/lib/common/helpers.mjs} +0 -0
  102. /package/{esm2015/lib/common/index.js → esm2020/lib/common/index.mjs} +0 -0
  103. /package/{esm2015/lib/common/types/auth-types.js → esm2020/lib/common/types/auth-types.mjs} +0 -0
  104. /package/{esm2015/lib/common/types/component-types.js → esm2020/lib/common/types/component-types.mjs} +0 -0
  105. /package/{esm2015/lib/common/types/index.js → esm2020/lib/common/types/index.mjs} +0 -0
  106. /package/{esm2015/lib/components/authenticator/components/index.js → esm2020/lib/components/authenticator/components/index.mjs} +0 -0
  107. /package/{esm2015/lib/primitives/index.js → esm2020/lib/primitives/index.mjs} +0 -0
@@ -0,0 +1,44 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import { getFormDataFromEvent, authenticatorTextUtil, } from '@aws-amplify/ui';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../../services/authenticator.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../../../../utilities/amplify-slot/amplify-slot.component";
7
+ import * as i4 from "../base-form-fields/base-form-fields.component";
8
+ import * as i5 from "../../../../primitives/button/button.component";
9
+ import * as i6 from "../../../../primitives/error/error.component";
10
+ const { getAccountRecoveryInfoText, getSkipText, getSubmitText } = authenticatorTextUtil;
11
+ export class ConfirmVerifyUserComponent {
12
+ constructor(authenticator) {
13
+ this.authenticator = authenticator;
14
+ this.dataAttr = '';
15
+ this.headerText = getAccountRecoveryInfoText();
16
+ // translated texts
17
+ this.skipText = getSkipText();
18
+ this.submitText = getSubmitText();
19
+ }
20
+ get context() {
21
+ return this.authenticator.slotContext;
22
+ }
23
+ onInput(event) {
24
+ event.preventDefault();
25
+ const { name, value } = event.target;
26
+ this.authenticator.updateForm({ name, value });
27
+ }
28
+ onSubmit(event) {
29
+ event.preventDefault();
30
+ this.authenticator.submitForm(getFormDataFromEvent(event));
31
+ }
32
+ }
33
+ ConfirmVerifyUserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConfirmVerifyUserComponent, deps: [{ token: i1.AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
34
+ ConfirmVerifyUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ConfirmVerifyUserComponent, selector: "amplify-confirm-verify-user", inputs: { headerText: "headerText" }, host: { properties: { "attr.data-amplify-authenticator-confirmverifyuser": "this.dataAttr" } }, ngImport: i0, template: "<form data-amplify-form (input)=\"onInput($event)\" (submit)=\"onSubmit($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-verify-user-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-base-form-fields\n route=\"confirmVerifyUser\"\n ></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\n {{ submitText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.skipVerification()\"\n >\n {{ skipText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"confirm-verify-user-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { kind: "component", type: i4.BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { kind: "component", type: i6.ErrorComponent, selector: "amplify-error" }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConfirmVerifyUserComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'amplify-confirm-verify-user', template: "<form data-amplify-form (input)=\"onInput($event)\" (submit)=\"onSubmit($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"confirm-verify-user-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n <amplify-base-form-fields\n route=\"confirmVerifyUser\"\n ></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\n {{ submitText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.skipVerification()\"\n >\n {{ skipText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"confirm-verify-user-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n" }]
38
+ }], ctorParameters: function () { return [{ type: i1.AuthenticatorService }]; }, propDecorators: { dataAttr: [{
39
+ type: HostBinding,
40
+ args: ['attr.data-amplify-authenticator-confirmverifyuser']
41
+ }], headerText: [{
42
+ type: Input
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1jb25maXJtLXZlcmlmeS11c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9jb25maXJtLXZlcmlmeS11c2VyL2FtcGxpZnktY29uZmlybS12ZXJpZnktdXNlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvY29uZmlybS12ZXJpZnktdXNlci9hbXBsaWZ5LWNvbmZpcm0tdmVyaWZ5LXVzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFFTCxvQkFBb0IsRUFDcEIscUJBQXFCLEdBQ3RCLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBR3pCLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLEdBQzlELHFCQUFxQixDQUFDO0FBS3hCLE1BQU0sT0FBTywwQkFBMEI7SUFVckMsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBUnRELGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDRSxlQUFVLEdBQUcsMEJBQTBCLEVBQUUsQ0FBQztRQUUxRCxtQkFBbUI7UUFDWixhQUFRLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFDekIsZUFBVSxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBR3FCLENBQUM7SUFFMUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFxQixLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFZO1FBQ25CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7O3VIQXpCVSwwQkFBMEI7MkdBQTFCLDBCQUEwQix5TUNkdkMsK3BDQXVDQTsyRkR6QmEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLDZCQUE2QjsyR0FLdkMsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLG1EQUFtRDtnQkFFaEQsVUFBVTtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGb3JtRmllbGRzQXJyYXksXG4gIGdldEZvcm1EYXRhRnJvbUV2ZW50LFxuICBhdXRoZW50aWNhdG9yVGV4dFV0aWwsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5cbmNvbnN0IHsgZ2V0QWNjb3VudFJlY292ZXJ5SW5mb1RleHQsIGdldFNraXBUZXh0LCBnZXRTdWJtaXRUZXh0IH0gPVxuICBhdXRoZW50aWNhdG9yVGV4dFV0aWw7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LWNvbmZpcm0tdmVyaWZ5LXVzZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYW1wbGlmeS1jb25maXJtLXZlcmlmeS11c2VyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybVZlcmlmeVVzZXJDb21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3ItY29uZmlybXZlcmlmeXVzZXInKVxuICBkYXRhQXR0ciA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgaGVhZGVyVGV4dCA9IGdldEFjY291bnRSZWNvdmVyeUluZm9UZXh0KCk7XG5cbiAgLy8gdHJhbnNsYXRlZCB0ZXh0c1xuICBwdWJsaWMgc2tpcFRleHQgPSBnZXRTa2lwVGV4dCgpO1xuICBwdWJsaWMgc3VibWl0VGV4dCA9IGdldFN1Ym1pdFRleHQoKTtcbiAgcHVibGljIHNvcnRlZEZvcm1GaWVsZHM6IEZvcm1GaWVsZHNBcnJheTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aGVudGljYXRvcjogQXV0aGVudGljYXRvclNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGdldCBjb250ZXh0KCk6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlWydzbG90Q29udGV4dCddIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdG9yLnNsb3RDb250ZXh0O1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlRm9ybSh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3Iuc3VibWl0Rm9ybShnZXRGb3JtRGF0YUZyb21FdmVudChldmVudCkpO1xuICB9XG59XG4iLCI8Zm9ybSBkYXRhLWFtcGxpZnktZm9ybSAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCIgKHN1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCI+XG4gIDxmaWVsZHNldFxuICAgIGNsYXNzPVwiYW1wbGlmeS1mbGV4IGFtcGxpZnktYXV0aGVudGljYXRvcl9fY29sdW1uXCJcbiAgICBkYXRhLWFtcGxpZnktZmllbGRzZXRcbiAgICBbZGlzYWJsZWRdPVwiYXV0aGVudGljYXRvci5pc1BlbmRpbmdcIlxuICA+XG4gICAgPGFtcGxpZnktc2xvdCBuYW1lPVwiY29uZmlybS12ZXJpZnktdXNlci1oZWFkZXJcIiBbY29udGV4dF09XCJjb250ZXh0XCI+XG4gICAgICA8aDMgY2xhc3M9XCJhbXBsaWZ5LWhlYWRpbmcgYW1wbGlmeS1oZWFkaW5nLS0zXCI+e3sgdGhpcy5oZWFkZXJUZXh0IH19PC9oMz5cbiAgICA8L2FtcGxpZnktc2xvdD5cbiAgICA8YW1wbGlmeS1iYXNlLWZvcm0tZmllbGRzXG4gICAgICByb3V0ZT1cImNvbmZpcm1WZXJpZnlVc2VyXCJcbiAgICA+PC9hbXBsaWZ5LWJhc2UtZm9ybS1maWVsZHM+XG4gICAgPGJ1dHRvblxuICAgICAgYW1wbGlmeS1idXR0b25cbiAgICAgIHZhcmlhdGlvbj1cInByaW1hcnlcIlxuICAgICAgZnVsbFdpZHRoPVwidHJ1ZVwiXG4gICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cImF1dGhlbnRpY2F0b3IuaXNQZW5kaW5nXCJcbiAgICA+XG4gICAgICB7eyBzdWJtaXRUZXh0IH19XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICBhbXBsaWZ5LWJ1dHRvblxuICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgIHZhcmlhdGlvbj1cImxpbmtcIlxuICAgICAgZm9udFdlaWdodD1cIm5vcm1hbFwiXG4gICAgICBmdWxsV2lkdGg9XCJ0cnVlXCJcbiAgICAgIChjbGljayk9XCJhdXRoZW50aWNhdG9yLnNraXBWZXJpZmljYXRpb24oKVwiXG4gICAgPlxuICAgICAge3sgc2tpcFRleHQgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YW1wbGlmeS1lcnJvciAqbmdJZj1cImF1dGhlbnRpY2F0b3IuZXJyb3JcIj5cbiAgICAgIHt7IGF1dGhlbnRpY2F0b3IuZXJyb3IgfX1cbiAgICA8L2FtcGxpZnktZXJyb3I+XG4gIDwvZmllbGRzZXQ+XG4gIDxhbXBsaWZ5LXNsb3QgbmFtZT1cImNvbmZpcm0tdmVyaWZ5LXVzZXItZm9vdGVyXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPlxuICA8L2FtcGxpZnktc2xvdD5cbjwvZm9ybT5cbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { Component } from '@angular/core';
2
+ import { FederatedIdentityProviders } from '@aws-amplify/ui';
3
+ import { authenticatorTextUtil } from '@aws-amplify/ui';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../../services/authenticator.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../federated-sign-in-button/federated-sign-in-button.component";
8
+ const { getSignInWithFederationText, getOrText } = authenticatorTextUtil;
9
+ export class FederatedSignInComponent {
10
+ constructor(authenticator) {
11
+ this.authenticator = authenticator;
12
+ this.FederatedProviders = FederatedIdentityProviders;
13
+ this.includeAmazon = false;
14
+ this.includeApple = false;
15
+ this.includeFacebook = false;
16
+ this.includeGoogle = false;
17
+ this.shouldShowFederatedSignIn = false;
18
+ }
19
+ ngOnInit() {
20
+ const socialProviders = this.authenticator.context?.config?.socialProviders;
21
+ this.setFederatedTexts();
22
+ this.includeAmazon = socialProviders?.includes('amazon');
23
+ this.includeApple = socialProviders?.includes('apple');
24
+ this.includeGoogle = socialProviders?.includes('google');
25
+ this.includeFacebook = socialProviders?.includes('facebook');
26
+ this.shouldShowFederatedSignIn =
27
+ this.includeAmazon ||
28
+ this.includeApple ||
29
+ this.includeFacebook ||
30
+ this.includeGoogle;
31
+ }
32
+ setFederatedTexts() {
33
+ const { route } = this.authenticator;
34
+ this.orText = getOrText();
35
+ this.signInAmazonText = getSignInWithFederationText(route, 'amazon');
36
+ this.signInAppleText = getSignInWithFederationText(route, 'apple');
37
+ this.signInFacebookText = getSignInWithFederationText(route, 'facebook');
38
+ this.signInGoogleText = getSignInWithFederationText(route, 'google');
39
+ }
40
+ }
41
+ FederatedSignInComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FederatedSignInComponent, deps: [{ token: i1.AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
42
+ FederatedSignInComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FederatedSignInComponent, selector: "amplify-federated-sign-in", ngImport: i0, template: "<div\n class=\"amplify-flex federated-sign-in-container\"\n *ngIf=\"shouldShowFederatedSignIn\"\n data-orientation=\"horizontal\"\n data-size=\"small\"\n>\n <amplify-federated-sign-in-button\n *ngIf=\"includeAmazon\"\n [text]=\"signInAmazonText\"\n [provider]=\"FederatedProviders.Amazon\"\n >\n <svg\n aria-label=\"Amazon icon\"\n class=\"amplify-icon federated-sign-in-icon\"\n viewBox=\"0 0 248 268\"\n >\n <path\n d=\"M139.056521,147.024612 C133.548808,156.744524 124.782731,162.726926 115.087401,162.726926 C101.790721,162.726926 93.9937779,152.612964 93.9937779,137.68681 C93.9937779,108.224571 120.447551,102.879017 145.533369,102.879017 L145.533369,110.365976 C145.533369,123.831358 145.876354,135.063787 139.056521,147.024612 M207.206992,162.579655 C209.400505,165.692256 209.887066,169.437725 207.063416,171.770186 C199.996315,177.653081 187.429476,188.590967 180.513926,194.716661 L180.46208,194.621133 C178.176838,196.663031 174.862638,196.810303 172.27828,195.445057 C160.780281,185.9162 158.686473,181.494078 152.405048,172.403055 C133.405233,191.751331 119.909143,197.534719 95.309886,197.534719 C66.1281801,197.534719 43.4791563,179.599451 43.4791563,143.669212 C43.4791563,115.616003 58.6782107,96.5105248 80.4019706,87.1727225 C99.2063636,78.9096034 125.464714,77.4528107 145.533369,75.1641337 L145.533369,70.694248 C145.533369,62.4749122 146.167493,52.7510201 141.297893,45.6541312 C137.110277,39.2856386 129.018206,36.6586354 121.859376,36.6586354 C108.658413,36.6586354 96.9171331,43.4171982 94.0416364,57.4199213 C93.4593582,60.532522 91.1701278,63.5933787 88.003492,63.7406501 L54.4387473,60.1424518 C51.6150972,59.5095829 48.4484614,57.2248862 49.2740201,52.8982915 C56.9712583,12.2553679 93.7983558,0 126.732964,0 C143.587124,0 165.606011,4.47386604 178.902691,17.2148315 C195.760839,32.917146 194.149604,53.8694866 194.149604,76.6726704 L194.149604,130.542157 C194.149604,146.734049 200.87372,153.830938 207.206992,162.579655 Z M233.826346,208.038962 C230.467669,203.683255 211.550709,205.9821 203.056405,206.998432 C200.470662,207.321077 200.076227,205.042397 202.406981,203.404973 C217.475208,192.664928 242.201125,195.766353 245.081698,199.363845 C247.966255,202.981502 244.336653,228.071183 230.172839,240.049379 C228.001452,241.888455 225.929671,240.904388 226.89783,238.468418 C230.077218,230.430525 237.204944,212.418868 233.826346,208.038962 Z M126.768855,264 C74.0234043,264 42.0764048,241.955028 17.7852554,217.541992 C12.9733903,212.705982 6.71799208,206.295994 3.31151296,200.690918 C1.90227474,198.372135 5.59096074,195.021875 8.0442063,196.84375 C38.2390146,219.267578 82.1011654,239.538304 125.529506,239.538304 C154.819967,239.538304 191.046475,227.469543 220.66851,214.867659 C225.146771,212.966167 225.146771,219.180222 224.511585,221.060516 C224.183264,222.03242 209.514625,236.221149 189.247207,247.047411 C170.304273,257.166172 146.397132,264 126.768855,264 Z\"\n fill=\"#FF9900\"\n ></path>\n </svg>\n\n <p class=\"amplify-text amplify-authenticator__federated-text\">\n {{ signInAmazonText }}\n </p>\n </amplify-federated-sign-in-button>\n\n <amplify-federated-sign-in-button\n *ngIf=\"includeApple\"\n [provider]=\"FederatedProviders.Apple\"\n >\n <svg\n aria-label=\"Apple icon\"\n class=\"amplify-icon federated-sign-in-icon\"\n fill=\"#000\"\n preserveAspectRatio=\"xMidYMid\"\n stroke=\"#000\"\n strokeWidth=\"0\"\n viewBox=\"0 0 1024 1024\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-105.1-305c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z\"\n ></path>\n </svg>\n <p class=\"amplify-text amplify-authenticator__federated-text\">\n {{ signInAppleText }}\n </p>\n </amplify-federated-sign-in-button>\n\n <amplify-federated-sign-in-button\n *ngIf=\"includeFacebook\"\n [text]=\"signInFacebookText\"\n [provider]=\"FederatedProviders.Facebook\"\n >\n <svg\n aria-label=\"Facebook icon\"\n class=\"amplify-icon federated-sign-in-icon\"\n viewBox=\"0 0 279 538\"\n >\n <path\n d=\"M82.3409742,538 L82.3409742,292.936652 L0,292.936652 L0,196.990154 L82.2410458,196.990154 L82.2410458,126.4295 C82.2410458,44.575144 132.205229,0 205.252865,0 C240.227794,0 270.306232,2.59855099 279,3.79788222 L279,89.2502322 L228.536175,89.2502322 C188.964542,89.2502322 181.270057,108.139699 181.270057,135.824262 L181.270057,196.89021 L276.202006,196.89021 L263.810888,292.836708 L181.16913,292.836708 L181.16913,538 L82.3409742,538 Z\"\n fill=\"#1877F2\"\n ></path>\n </svg>\n <p class=\"amplify-text amplify-authenticator__federated-text\">\n {{ signInFacebookText }}\n </p>\n </amplify-federated-sign-in-button>\n\n <amplify-federated-sign-in-button\n *ngIf=\"includeGoogle\"\n [provider]=\"FederatedProviders.Google\"\n >\n <svg\n aria-label=\"Google icon\"\n class=\"amplify-icon federated-sign-in-icon\"\n viewBox=\"0 0 256 262\"\n xmlns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid\"\n >\n <path\n d=\"M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027\"\n fill=\"#4285F4\"\n ></path>\n <path\n d=\"M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1\"\n fill=\"#34A853\"\n ></path>\n <path\n d=\"M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782\"\n fill=\"#FBBC05\"\n ></path>\n <path\n d=\"M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251\"\n fill=\"#EB4335\"\n ></path>\n </svg>\n <p class=\"amplify-text amplify-authenticator__federated-text\">\n {{ signInGoogleText }}\n </p>\n </amplify-federated-sign-in-button>\n\n <hr\n class=\"amplify-divider amplify-divider--label amplify-divider--small\"\n aria-orientation=\"horizontal\"\n data-size=\"small\"\n [attr.data-label]=\"orText\"\n />\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FederatedSignInButtonComponent, selector: "amplify-federated-sign-in-button", inputs: ["provider", "text"] }] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FederatedSignInComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'amplify-federated-sign-in', template: "<div\n class=\"amplify-flex federated-sign-in-container\"\n *ngIf=\"shouldShowFederatedSignIn\"\n data-orientation=\"horizontal\"\n data-size=\"small\"\n>\n <amplify-federated-sign-in-button\n *ngIf=\"includeAmazon\"\n [text]=\"signInAmazonText\"\n [provider]=\"FederatedProviders.Amazon\"\n >\n <svg\n aria-label=\"Amazon icon\"\n class=\"amplify-icon federated-sign-in-icon\"\n viewBox=\"0 0 248 268\"\n >\n <path\n d=\"M139.056521,147.024612 C133.548808,156.744524 124.782731,162.726926 115.087401,162.726926 C101.790721,162.726926 93.9937779,152.612964 93.9937779,137.68681 C93.9937779,108.224571 120.447551,102.879017 145.533369,102.879017 L145.533369,110.365976 C145.533369,123.831358 145.876354,135.063787 139.056521,147.024612 M207.206992,162.579655 C209.400505,165.692256 209.887066,169.437725 207.063416,171.770186 C199.996315,177.653081 187.429476,188.590967 180.513926,194.716661 L180.46208,194.621133 C178.176838,196.663031 174.862638,196.810303 172.27828,195.445057 C160.780281,185.9162 158.686473,181.494078 152.405048,172.403055 C133.405233,191.751331 119.909143,197.534719 95.309886,197.534719 C66.1281801,197.534719 43.4791563,179.599451 43.4791563,143.669212 C43.4791563,115.616003 58.6782107,96.5105248 80.4019706,87.1727225 C99.2063636,78.9096034 125.464714,77.4528107 145.533369,75.1641337 L145.533369,70.694248 C145.533369,62.4749122 146.167493,52.7510201 141.297893,45.6541312 C137.110277,39.2856386 129.018206,36.6586354 121.859376,36.6586354 C108.658413,36.6586354 96.9171331,43.4171982 94.0416364,57.4199213 C93.4593582,60.532522 91.1701278,63.5933787 88.003492,63.7406501 L54.4387473,60.1424518 C51.6150972,59.5095829 48.4484614,57.2248862 49.2740201,52.8982915 C56.9712583,12.2553679 93.7983558,0 126.732964,0 C143.587124,0 165.606011,4.47386604 178.902691,17.2148315 C195.760839,32.917146 194.149604,53.8694866 194.149604,76.6726704 L194.149604,130.542157 C194.149604,146.734049 200.87372,153.830938 207.206992,162.579655 Z M233.826346,208.038962 C230.467669,203.683255 211.550709,205.9821 203.056405,206.998432 C200.470662,207.321077 200.076227,205.042397 202.406981,203.404973 C217.475208,192.664928 242.201125,195.766353 245.081698,199.363845 C247.966255,202.981502 244.336653,228.071183 230.172839,240.049379 C228.001452,241.888455 225.929671,240.904388 226.89783,238.468418 C230.077218,230.430525 237.204944,212.418868 233.826346,208.038962 Z M126.768855,264 C74.0234043,264 42.0764048,241.955028 17.7852554,217.541992 C12.9733903,212.705982 6.71799208,206.295994 3.31151296,200.690918 C1.90227474,198.372135 5.59096074,195.021875 8.0442063,196.84375 C38.2390146,219.267578 82.1011654,239.538304 125.529506,239.538304 C154.819967,239.538304 191.046475,227.469543 220.66851,214.867659 C225.146771,212.966167 225.146771,219.180222 224.511585,221.060516 C224.183264,222.03242 209.514625,236.221149 189.247207,247.047411 C170.304273,257.166172 146.397132,264 126.768855,264 Z\"\n fill=\"#FF9900\"\n ></path>\n </svg>\n\n <p class=\"amplify-text amplify-authenticator__federated-text\">\n {{ signInAmazonText }}\n </p>\n </amplify-federated-sign-in-button>\n\n <amplify-federated-sign-in-button\n *ngIf=\"includeApple\"\n [provider]=\"FederatedProviders.Apple\"\n >\n <svg\n aria-label=\"Apple icon\"\n class=\"amplify-icon federated-sign-in-icon\"\n fill=\"#000\"\n preserveAspectRatio=\"xMidYMid\"\n stroke=\"#000\"\n strokeWidth=\"0\"\n viewBox=\"0 0 1024 1024\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-105.1-305c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z\"\n ></path>\n </svg>\n <p class=\"amplify-text amplify-authenticator__federated-text\">\n {{ signInAppleText }}\n </p>\n </amplify-federated-sign-in-button>\n\n <amplify-federated-sign-in-button\n *ngIf=\"includeFacebook\"\n [text]=\"signInFacebookText\"\n [provider]=\"FederatedProviders.Facebook\"\n >\n <svg\n aria-label=\"Facebook icon\"\n class=\"amplify-icon federated-sign-in-icon\"\n viewBox=\"0 0 279 538\"\n >\n <path\n d=\"M82.3409742,538 L82.3409742,292.936652 L0,292.936652 L0,196.990154 L82.2410458,196.990154 L82.2410458,126.4295 C82.2410458,44.575144 132.205229,0 205.252865,0 C240.227794,0 270.306232,2.59855099 279,3.79788222 L279,89.2502322 L228.536175,89.2502322 C188.964542,89.2502322 181.270057,108.139699 181.270057,135.824262 L181.270057,196.89021 L276.202006,196.89021 L263.810888,292.836708 L181.16913,292.836708 L181.16913,538 L82.3409742,538 Z\"\n fill=\"#1877F2\"\n ></path>\n </svg>\n <p class=\"amplify-text amplify-authenticator__federated-text\">\n {{ signInFacebookText }}\n </p>\n </amplify-federated-sign-in-button>\n\n <amplify-federated-sign-in-button\n *ngIf=\"includeGoogle\"\n [provider]=\"FederatedProviders.Google\"\n >\n <svg\n aria-label=\"Google icon\"\n class=\"amplify-icon federated-sign-in-icon\"\n viewBox=\"0 0 256 262\"\n xmlns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid\"\n >\n <path\n d=\"M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027\"\n fill=\"#4285F4\"\n ></path>\n <path\n d=\"M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1\"\n fill=\"#34A853\"\n ></path>\n <path\n d=\"M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782\"\n fill=\"#FBBC05\"\n ></path>\n <path\n d=\"M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251\"\n fill=\"#EB4335\"\n ></path>\n </svg>\n <p class=\"amplify-text amplify-authenticator__federated-text\">\n {{ signInGoogleText }}\n </p>\n </amplify-federated-sign-in-button>\n\n <hr\n class=\"amplify-divider amplify-divider--label amplify-divider--small\"\n aria-orientation=\"horizontal\"\n data-size=\"small\"\n [attr.data-label]=\"orText\"\n />\n</div>\n" }]
46
+ }], ctorParameters: function () { return [{ type: i1.AuthenticatorService }]; } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhdGVkLXNpZ24taW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYXV0aGVudGljYXRvci9jb21wb25lbnRzL2ZlZGVyYXRlZC1zaWduLWluL2ZlZGVyYXRlZC1zaWduLWluLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9mZWRlcmF0ZWQtc2lnbi1pbi9mZWRlcmF0ZWQtc2lnbi1pbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUV4RCxNQUFNLEVBQUUsMkJBQTJCLEVBQUUsU0FBUyxFQUFFLEdBQUcscUJBQXFCLENBQUM7QUFNekUsTUFBTSxPQUFPLHdCQUF3QjtJQWVuQyxZQUFvQixhQUFtQztRQUFuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFkaEQsdUJBQWtCLEdBQUcsMEJBQTBCLENBQUM7UUFDaEQsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBU2lCLENBQUM7SUFFM0QsUUFBUTtRQUNOLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUM7UUFFNUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFlLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxZQUFZLEdBQUcsZUFBZSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLGVBQWUsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTdELElBQUksQ0FBQyx5QkFBeUI7WUFDNUIsSUFBSSxDQUFDLGFBQWE7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZO2dCQUNqQixJQUFJLENBQUMsZUFBZTtnQkFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRXJDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLDJCQUEyQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsZUFBZSxHQUFHLDJCQUEyQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRywyQkFBMkIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7cUhBekNVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGlFQ1hyQyx1ME5BOEdBOzJGRG5HYSx3QkFBd0I7a0JBSnBDLFNBQVM7K0JBQ0UsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZlZGVyYXRlZElkZW50aXR5UHJvdmlkZXJzIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IGF1dGhlbnRpY2F0b3JUZXh0VXRpbCB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbmNvbnN0IHsgZ2V0U2lnbkluV2l0aEZlZGVyYXRpb25UZXh0LCBnZXRPclRleHQgfSA9IGF1dGhlbnRpY2F0b3JUZXh0VXRpbDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1mZWRlcmF0ZWQtc2lnbi1pbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWRlcmF0ZWQtc2lnbi1pbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZlZGVyYXRlZFNpZ25JbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBGZWRlcmF0ZWRQcm92aWRlcnMgPSBGZWRlcmF0ZWRJZGVudGl0eVByb3ZpZGVycztcbiAgcHVibGljIGluY2x1ZGVBbWF6b24gPSBmYWxzZTtcbiAgcHVibGljIGluY2x1ZGVBcHBsZSA9IGZhbHNlO1xuICBwdWJsaWMgaW5jbHVkZUZhY2Vib29rID0gZmFsc2U7XG4gIHB1YmxpYyBpbmNsdWRlR29vZ2xlID0gZmFsc2U7XG4gIHB1YmxpYyBzaG91bGRTaG93RmVkZXJhdGVkU2lnbkluID0gZmFsc2U7XG5cbiAgLy8gdHJhbnNsYXRlZCB0ZXh0c1xuICBwdWJsaWMgb3JUZXh0OiBzdHJpbmc7XG4gIHB1YmxpYyBzaWduSW5BbWF6b25UZXh0OiBzdHJpbmc7XG4gIHB1YmxpYyBzaWduSW5BcHBsZVRleHQ6IHN0cmluZztcbiAgcHVibGljIHNpZ25JbkZhY2Vib29rVGV4dDogc3RyaW5nO1xuICBwdWJsaWMgc2lnbkluR29vZ2xlVGV4dDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aGVudGljYXRvcjogQXV0aGVudGljYXRvclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgc29jaWFsUHJvdmlkZXJzID0gdGhpcy5hdXRoZW50aWNhdG9yLmNvbnRleHQ/LmNvbmZpZz8uc29jaWFsUHJvdmlkZXJzO1xuXG4gICAgdGhpcy5zZXRGZWRlcmF0ZWRUZXh0cygpO1xuICAgIHRoaXMuaW5jbHVkZUFtYXpvbiA9IHNvY2lhbFByb3ZpZGVycz8uaW5jbHVkZXMoJ2FtYXpvbicpO1xuICAgIHRoaXMuaW5jbHVkZUFwcGxlID0gc29jaWFsUHJvdmlkZXJzPy5pbmNsdWRlcygnYXBwbGUnKTtcbiAgICB0aGlzLmluY2x1ZGVHb29nbGUgPSBzb2NpYWxQcm92aWRlcnM/LmluY2x1ZGVzKCdnb29nbGUnKTtcbiAgICB0aGlzLmluY2x1ZGVGYWNlYm9vayA9IHNvY2lhbFByb3ZpZGVycz8uaW5jbHVkZXMoJ2ZhY2Vib29rJyk7XG5cbiAgICB0aGlzLnNob3VsZFNob3dGZWRlcmF0ZWRTaWduSW4gPVxuICAgICAgdGhpcy5pbmNsdWRlQW1hem9uIHx8XG4gICAgICB0aGlzLmluY2x1ZGVBcHBsZSB8fFxuICAgICAgdGhpcy5pbmNsdWRlRmFjZWJvb2sgfHxcbiAgICAgIHRoaXMuaW5jbHVkZUdvb2dsZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RmVkZXJhdGVkVGV4dHMoKSB7XG4gICAgY29uc3QgeyByb3V0ZSB9ID0gdGhpcy5hdXRoZW50aWNhdG9yO1xuXG4gICAgdGhpcy5vclRleHQgPSBnZXRPclRleHQoKTtcbiAgICB0aGlzLnNpZ25JbkFtYXpvblRleHQgPSBnZXRTaWduSW5XaXRoRmVkZXJhdGlvblRleHQocm91dGUsICdhbWF6b24nKTtcbiAgICB0aGlzLnNpZ25JbkFwcGxlVGV4dCA9IGdldFNpZ25JbldpdGhGZWRlcmF0aW9uVGV4dChyb3V0ZSwgJ2FwcGxlJyk7XG4gICAgdGhpcy5zaWduSW5GYWNlYm9va1RleHQgPSBnZXRTaWduSW5XaXRoRmVkZXJhdGlvblRleHQocm91dGUsICdmYWNlYm9vaycpO1xuICAgIHRoaXMuc2lnbkluR29vZ2xlVGV4dCA9IGdldFNpZ25JbldpdGhGZWRlcmF0aW9uVGV4dChyb3V0ZSwgJ2dvb2dsZScpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYW1wbGlmeS1mbGV4IGZlZGVyYXRlZC1zaWduLWluLWNvbnRhaW5lclwiXG4gICpuZ0lmPVwic2hvdWxkU2hvd0ZlZGVyYXRlZFNpZ25JblwiXG4gIGRhdGEtb3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcbiAgZGF0YS1zaXplPVwic21hbGxcIlxuPlxuICA8YW1wbGlmeS1mZWRlcmF0ZWQtc2lnbi1pbi1idXR0b25cbiAgICAqbmdJZj1cImluY2x1ZGVBbWF6b25cIlxuICAgIFt0ZXh0XT1cInNpZ25JbkFtYXpvblRleHRcIlxuICAgIFtwcm92aWRlcl09XCJGZWRlcmF0ZWRQcm92aWRlcnMuQW1hem9uXCJcbiAgPlxuICAgIDxzdmdcbiAgICAgIGFyaWEtbGFiZWw9XCJBbWF6b24gaWNvblwiXG4gICAgICBjbGFzcz1cImFtcGxpZnktaWNvbiBmZWRlcmF0ZWQtc2lnbi1pbi1pY29uXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjQ4IDI2OFwiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xMzkuMDU2NTIxLDE0Ny4wMjQ2MTIgQzEzMy41NDg4MDgsMTU2Ljc0NDUyNCAxMjQuNzgyNzMxLDE2Mi43MjY5MjYgMTE1LjA4NzQwMSwxNjIuNzI2OTI2IEMxMDEuNzkwNzIxLDE2Mi43MjY5MjYgOTMuOTkzNzc3OSwxNTIuNjEyOTY0IDkzLjk5Mzc3NzksMTM3LjY4NjgxIEM5My45OTM3Nzc5LDEwOC4yMjQ1NzEgMTIwLjQ0NzU1MSwxMDIuODc5MDE3IDE0NS41MzMzNjksMTAyLjg3OTAxNyBMMTQ1LjUzMzM2OSwxMTAuMzY1OTc2IEMxNDUuNTMzMzY5LDEyMy44MzEzNTggMTQ1Ljg3NjM1NCwxMzUuMDYzNzg3IDEzOS4wNTY1MjEsMTQ3LjAyNDYxMiBNMjA3LjIwNjk5MiwxNjIuNTc5NjU1IEMyMDkuNDAwNTA1LDE2NS42OTIyNTYgMjA5Ljg4NzA2NiwxNjkuNDM3NzI1IDIwNy4wNjM0MTYsMTcxLjc3MDE4NiBDMTk5Ljk5NjMxNSwxNzcuNjUzMDgxIDE4Ny40Mjk0NzYsMTg4LjU5MDk2NyAxODAuNTEzOTI2LDE5NC43MTY2NjEgTDE4MC40NjIwOCwxOTQuNjIxMTMzIEMxNzguMTc2ODM4LDE5Ni42NjMwMzEgMTc0Ljg2MjYzOCwxOTYuODEwMzAzIDE3Mi4yNzgyOCwxOTUuNDQ1MDU3IEMxNjAuNzgwMjgxLDE4NS45MTYyIDE1OC42ODY0NzMsMTgxLjQ5NDA3OCAxNTIuNDA1MDQ4LDE3Mi40MDMwNTUgQzEzMy40MDUyMzMsMTkxLjc1MTMzMSAxMTkuOTA5MTQzLDE5Ny41MzQ3MTkgOTUuMzA5ODg2LDE5Ny41MzQ3MTkgQzY2LjEyODE4MDEsMTk3LjUzNDcxOSA0My40NzkxNTYzLDE3OS41OTk0NTEgNDMuNDc5MTU2MywxNDMuNjY5MjEyIEM0My40NzkxNTYzLDExNS42MTYwMDMgNTguNjc4MjEwNyw5Ni41MTA1MjQ4IDgwLjQwMTk3MDYsODcuMTcyNzIyNSBDOTkuMjA2MzYzNiw3OC45MDk2MDM0IDEyNS40NjQ3MTQsNzcuNDUyODEwNyAxNDUuNTMzMzY5LDc1LjE2NDEzMzcgTDE0NS41MzMzNjksNzAuNjk0MjQ4IEMxNDUuNTMzMzY5LDYyLjQ3NDkxMjIgMTQ2LjE2NzQ5Myw1Mi43NTEwMjAxIDE0MS4yOTc4OTMsNDUuNjU0MTMxMiBDMTM3LjExMDI3NywzOS4yODU2Mzg2IDEyOS4wMTgyMDYsMzYuNjU4NjM1NCAxMjEuODU5Mzc2LDM2LjY1ODYzNTQgQzEwOC42NTg0MTMsMzYuNjU4NjM1NCA5Ni45MTcxMzMxLDQzLjQxNzE5ODIgOTQuMDQxNjM2NCw1Ny40MTk5MjEzIEM5My40NTkzNTgyLDYwLjUzMjUyMiA5MS4xNzAxMjc4LDYzLjU5MzM3ODcgODguMDAzNDkyLDYzLjc0MDY1MDEgTDU0LjQzODc0NzMsNjAuMTQyNDUxOCBDNTEuNjE1MDk3Miw1OS41MDk1ODI5IDQ4LjQ0ODQ2MTQsNTcuMjI0ODg2MiA0OS4yNzQwMjAxLDUyLjg5ODI5MTUgQzU2Ljk3MTI1ODMsMTIuMjU1MzY3OSA5My43OTgzNTU4LDAgMTI2LjczMjk2NCwwIEMxNDMuNTg3MTI0LDAgMTY1LjYwNjAxMSw0LjQ3Mzg2NjA0IDE3OC45MDI2OTEsMTcuMjE0ODMxNSBDMTk1Ljc2MDgzOSwzMi45MTcxNDYgMTk0LjE0OTYwNCw1My44Njk0ODY2IDE5NC4xNDk2MDQsNzYuNjcyNjcwNCBMMTk0LjE0OTYwNCwxMzAuNTQyMTU3IEMxOTQuMTQ5NjA0LDE0Ni43MzQwNDkgMjAwLjg3MzcyLDE1My44MzA5MzggMjA3LjIwNjk5MiwxNjIuNTc5NjU1IFogTTIzMy44MjYzNDYsMjA4LjAzODk2MiBDMjMwLjQ2NzY2OSwyMDMuNjgzMjU1IDIxMS41NTA3MDksMjA1Ljk4MjEgMjAzLjA1NjQwNSwyMDYuOTk4NDMyIEMyMDAuNDcwNjYyLDIwNy4zMjEwNzcgMjAwLjA3NjIyNywyMDUuMDQyMzk3IDIwMi40MDY5ODEsMjAzLjQwNDk3MyBDMjE3LjQ3NTIwOCwxOTIuNjY0OTI4IDI0Mi4yMDExMjUsMTk1Ljc2NjM1MyAyNDUuMDgxNjk4LDE5OS4zNjM4NDUgQzI0Ny45NjYyNTUsMjAyLjk4MTUwMiAyNDQuMzM2NjUzLDIyOC4wNzExODMgMjMwLjE3MjgzOSwyNDAuMDQ5Mzc5IEMyMjguMDAxNDUyLDI0MS44ODg0NTUgMjI1LjkyOTY3MSwyNDAuOTA0Mzg4IDIyNi44OTc4MywyMzguNDY4NDE4IEMyMzAuMDc3MjE4LDIzMC40MzA1MjUgMjM3LjIwNDk0NCwyMTIuNDE4ODY4IDIzMy44MjYzNDYsMjA4LjAzODk2MiBaIE0xMjYuNzY4ODU1LDI2NCBDNzQuMDIzNDA0MywyNjQgNDIuMDc2NDA0OCwyNDEuOTU1MDI4IDE3Ljc4NTI1NTQsMjE3LjU0MTk5MiBDMTIuOTczMzkwMywyMTIuNzA1OTgyIDYuNzE3OTkyMDgsMjA2LjI5NTk5NCAzLjMxMTUxMjk2LDIwMC42OTA5MTggQzEuOTAyMjc0NzQsMTk4LjM3MjEzNSA1LjU5MDk2MDc0LDE5NS4wMjE4NzUgOC4wNDQyMDYzLDE5Ni44NDM3NSBDMzguMjM5MDE0NiwyMTkuMjY3NTc4IDgyLjEwMTE2NTQsMjM5LjUzODMwNCAxMjUuNTI5NTA2LDIzOS41MzgzMDQgQzE1NC44MTk5NjcsMjM5LjUzODMwNCAxOTEuMDQ2NDc1LDIyNy40Njk1NDMgMjIwLjY2ODUxLDIxNC44Njc2NTkgQzIyNS4xNDY3NzEsMjEyLjk2NjE2NyAyMjUuMTQ2NzcxLDIxOS4xODAyMjIgMjI0LjUxMTU4NSwyMjEuMDYwNTE2IEMyMjQuMTgzMjY0LDIyMi4wMzI0MiAyMDkuNTE0NjI1LDIzNi4yMjExNDkgMTg5LjI0NzIwNywyNDcuMDQ3NDExIEMxNzAuMzA0MjczLDI1Ny4xNjYxNzIgMTQ2LjM5NzEzMiwyNjQgMTI2Ljc2ODg1NSwyNjQgWlwiXG4gICAgICAgIGZpbGw9XCIjRkY5OTAwXCJcbiAgICAgID48L3BhdGg+XG4gICAgPC9zdmc+XG5cbiAgICA8cCBjbGFzcz1cImFtcGxpZnktdGV4dCBhbXBsaWZ5LWF1dGhlbnRpY2F0b3JfX2ZlZGVyYXRlZC10ZXh0XCI+XG4gICAgICB7eyBzaWduSW5BbWF6b25UZXh0IH19XG4gICAgPC9wPlxuICA8L2FtcGxpZnktZmVkZXJhdGVkLXNpZ24taW4tYnV0dG9uPlxuXG4gIDxhbXBsaWZ5LWZlZGVyYXRlZC1zaWduLWluLWJ1dHRvblxuICAgICpuZ0lmPVwiaW5jbHVkZUFwcGxlXCJcbiAgICBbcHJvdmlkZXJdPVwiRmVkZXJhdGVkUHJvdmlkZXJzLkFwcGxlXCJcbiAgPlxuICAgIDxzdmdcbiAgICAgIGFyaWEtbGFiZWw9XCJBcHBsZSBpY29uXCJcbiAgICAgIGNsYXNzPVwiYW1wbGlmeS1pY29uIGZlZGVyYXRlZC1zaWduLWluLWljb25cIlxuICAgICAgZmlsbD1cIiMwMDBcIlxuICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkXCJcbiAgICAgIHN0cm9rZT1cIiMwMDBcIlxuICAgICAgc3Ryb2tlV2lkdGg9XCIwXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMTAyNCAxMDI0XCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNNzQ3LjQgNTM1LjdjLS40LTY4LjIgMzAuNS0xMTkuNiA5Mi45LTE1Ny41LTM0LjktNTAtODcuNy03Ny41LTE1Ny4zLTgyLjgtNjUuOS01LjItMTM4IDM4LjQtMTY0LjQgMzguNC0yNy45IDAtOTEuNy0zNi42LTE0MS45LTM2LjZDMjczLjEgMjk4LjggMTYzIDM3OS44IDE2MyA1NDQuNmMwIDQ4LjcgOC45IDk5IDI2LjcgMTUwLjggMjMuOCA2OC4yIDEwOS42IDIzNS4zIDE5OS4xIDIzMi42IDQ2LjgtMS4xIDc5LjktMzMuMiAxNDAuOC0zMy4yIDU5LjEgMCA4OS43IDMzLjIgMTQxLjkgMzMuMiA5MC4zLTEuMyAxNjcuOS0xNTMuMiAxOTAuNS0yMjEuNi0xMjEuMS01Ny4xLTExNC42LTE2Ny4yLTExNC42LTE3MC43em0tMTA1LjEtMzA1YzUwLjctNjAuMiA0Ni4xLTExNSA0NC42LTEzNC43LTQ0LjggMi42LTk2LjYgMzAuNS0xMjYuMSA2NC44LTMyLjUgMzYuOC01MS42IDgyLjMtNDcuNSAxMzMuNiA0OC40IDMuNyA5Mi42LTIxLjIgMTI5LTYzLjd6XCJcbiAgICAgID48L3BhdGg+XG4gICAgPC9zdmc+XG4gICAgPHAgY2xhc3M9XCJhbXBsaWZ5LXRleHQgYW1wbGlmeS1hdXRoZW50aWNhdG9yX19mZWRlcmF0ZWQtdGV4dFwiPlxuICAgICAge3sgc2lnbkluQXBwbGVUZXh0IH19XG4gICAgPC9wPlxuICA8L2FtcGxpZnktZmVkZXJhdGVkLXNpZ24taW4tYnV0dG9uPlxuXG4gIDxhbXBsaWZ5LWZlZGVyYXRlZC1zaWduLWluLWJ1dHRvblxuICAgICpuZ0lmPVwiaW5jbHVkZUZhY2Vib29rXCJcbiAgICBbdGV4dF09XCJzaWduSW5GYWNlYm9va1RleHRcIlxuICAgIFtwcm92aWRlcl09XCJGZWRlcmF0ZWRQcm92aWRlcnMuRmFjZWJvb2tcIlxuICA+XG4gICAgPHN2Z1xuICAgICAgYXJpYS1sYWJlbD1cIkZhY2Vib29rIGljb25cIlxuICAgICAgY2xhc3M9XCJhbXBsaWZ5LWljb24gZmVkZXJhdGVkLXNpZ24taW4taWNvblwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI3OSA1MzhcIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNODIuMzQwOTc0Miw1MzggTDgyLjM0MDk3NDIsMjkyLjkzNjY1MiBMMCwyOTIuOTM2NjUyIEwwLDE5Ni45OTAxNTQgTDgyLjI0MTA0NTgsMTk2Ljk5MDE1NCBMODIuMjQxMDQ1OCwxMjYuNDI5NSBDODIuMjQxMDQ1OCw0NC41NzUxNDQgMTMyLjIwNTIyOSwwIDIwNS4yNTI4NjUsMCBDMjQwLjIyNzc5NCwwIDI3MC4zMDYyMzIsMi41OTg1NTA5OSAyNzksMy43OTc4ODIyMiBMMjc5LDg5LjI1MDIzMjIgTDIyOC41MzYxNzUsODkuMjUwMjMyMiBDMTg4Ljk2NDU0Miw4OS4yNTAyMzIyIDE4MS4yNzAwNTcsMTA4LjEzOTY5OSAxODEuMjcwMDU3LDEzNS44MjQyNjIgTDE4MS4yNzAwNTcsMTk2Ljg5MDIxIEwyNzYuMjAyMDA2LDE5Ni44OTAyMSBMMjYzLjgxMDg4OCwyOTIuODM2NzA4IEwxODEuMTY5MTMsMjkyLjgzNjcwOCBMMTgxLjE2OTEzLDUzOCBMODIuMzQwOTc0Miw1MzggWlwiXG4gICAgICAgIGZpbGw9XCIjMTg3N0YyXCJcbiAgICAgID48L3BhdGg+XG4gICAgPC9zdmc+XG4gICAgPHAgY2xhc3M9XCJhbXBsaWZ5LXRleHQgYW1wbGlmeS1hdXRoZW50aWNhdG9yX19mZWRlcmF0ZWQtdGV4dFwiPlxuICAgICAge3sgc2lnbkluRmFjZWJvb2tUZXh0IH19XG4gICAgPC9wPlxuICA8L2FtcGxpZnktZmVkZXJhdGVkLXNpZ24taW4tYnV0dG9uPlxuXG4gIDxhbXBsaWZ5LWZlZGVyYXRlZC1zaWduLWluLWJ1dHRvblxuICAgICpuZ0lmPVwiaW5jbHVkZUdvb2dsZVwiXG4gICAgW3Byb3ZpZGVyXT1cIkZlZGVyYXRlZFByb3ZpZGVycy5Hb29nbGVcIlxuICA+XG4gICAgPHN2Z1xuICAgICAgYXJpYS1sYWJlbD1cIkdvb2dsZSBpY29uXCJcbiAgICAgIGNsYXNzPVwiYW1wbGlmeS1pY29uIGZlZGVyYXRlZC1zaWduLWluLWljb25cIlxuICAgICAgdmlld0JveD1cIjAgMCAyNTYgMjYyXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTI1NS44NzggMTMzLjQ1MWMwLTEwLjczNC0uODcxLTE4LjU2Ny0yLjc1Ni0yNi42OUgxMzAuNTV2NDguNDQ4aDcxLjk0N2MtMS40NSAxMi4wNC05LjI4MyAzMC4xNzItMjYuNjkgNDIuMzU2bC0uMjQ0IDEuNjIyIDM4Ljc1NSAzMC4wMjMgMi42ODUuMjY4YzI0LjY1OS0yMi43NzQgMzguODc1LTU2LjI4MiAzOC44NzUtOTYuMDI3XCJcbiAgICAgICAgZmlsbD1cIiM0Mjg1RjRcIlxuICAgICAgPjwvcGF0aD5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTMwLjU1IDI2MS4xYzM1LjI0OCAwIDY0LjgzOS0xMS42MDUgODYuNDUzLTMxLjYyMmwtNDEuMTk2LTMxLjkxM2MtMTEuMDI0IDcuNjg4LTI1LjgyIDEzLjA1NS00NS4yNTcgMTMuMDU1LTM0LjUyMyAwLTYzLjgyNC0yMi43NzMtNzQuMjY5LTU0LjI1bC0xLjUzMS4xMy00MC4yOTggMzEuMTg3LS41MjcgMS40NjVDMzUuMzkzIDIzMS43OTggNzkuNDkgMjYxLjEgMTMwLjU1IDI2MS4xXCJcbiAgICAgICAgZmlsbD1cIiMzNEE4NTNcIlxuICAgICAgPjwvcGF0aD5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNNTYuMjgxIDE1Ni4zN2MtMi43NTYtOC4xMjMtNC4zNTEtMTYuODI3LTQuMzUxLTI1LjgyIDAtOC45OTQgMS41OTUtMTcuNjk3IDQuMjA2LTI1LjgybC0uMDczLTEuNzNMMTUuMjYgNzEuMzEybC0xLjMzNS42MzVDNS4wNzcgODkuNjQ0IDAgMTA5LjUxNyAwIDEzMC41NXM1LjA3NyA0MC45MDUgMTMuOTI1IDU4LjYwMmw0Mi4zNTYtMzIuNzgyXCJcbiAgICAgICAgZmlsbD1cIiNGQkJDMDVcIlxuICAgICAgPjwvcGF0aD5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTMwLjU1IDUwLjQ3OWMyNC41MTQgMCA0MS4wNSAxMC41ODkgNTAuNDc5IDE5LjQzOGwzNi44NDQtMzUuOTc0QzE5NS4yNDUgMTIuOTEgMTY1Ljc5OCAwIDEzMC41NSAwIDc5LjQ5IDAgMzUuMzkzIDI5LjMwMSAxMy45MjUgNzEuOTQ3bDQyLjIxMSAzMi43ODNjMTAuNTktMzEuNDc3IDM5Ljg5MS01NC4yNTEgNzQuNDE0LTU0LjI1MVwiXG4gICAgICAgIGZpbGw9XCIjRUI0MzM1XCJcbiAgICAgID48L3BhdGg+XG4gICAgPC9zdmc+XG4gICAgPHAgY2xhc3M9XCJhbXBsaWZ5LXRleHQgYW1wbGlmeS1hdXRoZW50aWNhdG9yX19mZWRlcmF0ZWQtdGV4dFwiPlxuICAgICAge3sgc2lnbkluR29vZ2xlVGV4dCB9fVxuICAgIDwvcD5cbiAgPC9hbXBsaWZ5LWZlZGVyYXRlZC1zaWduLWluLWJ1dHRvbj5cblxuICA8aHJcbiAgICBjbGFzcz1cImFtcGxpZnktZGl2aWRlciBhbXBsaWZ5LWRpdmlkZXItLWxhYmVsIGFtcGxpZnktZGl2aWRlci0tc21hbGxcIlxuICAgIGFyaWEtb3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcbiAgICBkYXRhLXNpemU9XCJzbWFsbFwiXG4gICAgW2F0dHIuZGF0YS1sYWJlbF09XCJvclRleHRcIlxuICAvPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../../services/authenticator.service";
4
+ import * as i2 from "../../../../primitives/button/button.component";
5
+ export class FederatedSignInButtonComponent {
6
+ constructor(authenticator) {
7
+ this.authenticator = authenticator;
8
+ this.onClick = () => {
9
+ this.authenticator.send({
10
+ type: 'FEDERATED_SIGN_IN',
11
+ data: { provider: this.provider },
12
+ });
13
+ };
14
+ }
15
+ }
16
+ FederatedSignInButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FederatedSignInButtonComponent, deps: [{ token: i1.AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
17
+ FederatedSignInButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FederatedSignInButtonComponent, selector: "amplify-federated-sign-in-button", inputs: { provider: "provider", text: "text" }, ngImport: i0, template: "<button\n amplify-button\n class=\"amplify-field-group__control federated-sign-in-button\"\n fullWidth=\"true\"\n fontWeight=\"normal\"\n (click)=\"onClick()\"\n>\n <div class=\"amplify-flex federated-sign-in-button-row\">\n <ng-content></ng-content>\n </div>\n</button>\n", dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FederatedSignInButtonComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'amplify-federated-sign-in-button', template: "<button\n amplify-button\n class=\"amplify-field-group__control federated-sign-in-button\"\n fullWidth=\"true\"\n fontWeight=\"normal\"\n (click)=\"onClick()\"\n>\n <div class=\"amplify-flex federated-sign-in-button-row\">\n <ng-content></ng-content>\n </div>\n</button>\n" }]
21
+ }], ctorParameters: function () { return [{ type: i1.AuthenticatorService }]; }, propDecorators: { provider: [{
22
+ type: Input
23
+ }], text: [{
24
+ type: Input
25
+ }] } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhdGVkLXNpZ24taW4tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9mZWRlcmF0ZWQtc2lnbi1pbi1idXR0b24vZmVkZXJhdGVkLXNpZ24taW4tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9mZWRlcmF0ZWQtc2lnbi1pbi1idXR0b24vZmVkZXJhdGVkLXNpZ24taW4tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUWpELE1BQU0sT0FBTyw4QkFBOEI7SUFJekMsWUFBb0IsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBRXZELFlBQU8sR0FBRyxHQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLElBQUksRUFBRSxtQkFBbUI7Z0JBQ3pCLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO2FBQ2xDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQVB3RCxDQUFDOzsySEFKaEQsOEJBQThCOytHQUE5Qiw4QkFBOEIsd0hDUjNDLDRSQVdBOzJGREhhLDhCQUE4QjtrQkFKMUMsU0FBUzsrQkFDRSxrQ0FBa0M7MkdBSW5DLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmVkZXJhdGVkSWRlbnRpdHlQcm92aWRlcnMgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LWZlZGVyYXRlZC1zaWduLWluLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWRlcmF0ZWQtc2lnbi1pbi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGZWRlcmF0ZWRTaWduSW5CdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBwcm92aWRlcjogRmVkZXJhdGVkSWRlbnRpdHlQcm92aWRlcnM7XG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIG9uQ2xpY2sgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnNlbmQoe1xuICAgICAgdHlwZTogJ0ZFREVSQVRFRF9TSUdOX0lOJyxcbiAgICAgIGRhdGE6IHsgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIgfSxcbiAgICB9KTtcbiAgfTtcbn1cbiIsIjxidXR0b25cbiAgYW1wbGlmeS1idXR0b25cbiAgY2xhc3M9XCJhbXBsaWZ5LWZpZWxkLWdyb3VwX19jb250cm9sIGZlZGVyYXRlZC1zaWduLWluLWJ1dHRvblwiXG4gIGZ1bGxXaWR0aD1cInRydWVcIlxuICBmb250V2VpZ2h0PVwibm9ybWFsXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhbXBsaWZ5LWZsZXggZmVkZXJhdGVkLXNpZ24taW4tYnV0dG9uLXJvd1wiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2J1dHRvbj5cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../base-form-fields/base-form-fields.component";
4
+ export class ForceNewPasswordFormFieldsComponent {
5
+ }
6
+ ForceNewPasswordFormFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ForceNewPasswordFormFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ ForceNewPasswordFormFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ForceNewPasswordFormFieldsComponent, selector: "amplify-force-new-password-form-fields", ngImport: i0, template: "<div class=\"amplify-flex amplify-authenticator__column\" data-amplify-fieldset>\n <amplify-base-form-fields route=\"forceNewPassword\"></amplify-base-form-fields>\n</div>\n", dependencies: [{ kind: "component", type: i1.BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }] });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ForceNewPasswordFormFieldsComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'amplify-force-new-password-form-fields', template: "<div class=\"amplify-flex amplify-authenticator__column\" data-amplify-fieldset>\n <amplify-base-form-fields route=\"forceNewPassword\"></amplify-base-form-fields>\n</div>\n" }]
11
+ }] });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtbmV3LXBhc3N3b3JkLWZvcm0tZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9mb3JjZS1uZXctcGFzc3dvcmQvZm9yY2UtbmV3LXBhc3N3b3JkLWZvcm0tZmllbGRzL2ZvcmNlLW5ldy1wYXNzd29yZC1mb3JtLWZpZWxkcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvZm9yY2UtbmV3LXBhc3N3b3JkL2ZvcmNlLW5ldy1wYXNzd29yZC1mb3JtLWZpZWxkcy9mb3JjZS1uZXctcGFzc3dvcmQtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTTFDLE1BQU0sT0FBTyxtQ0FBbUM7O2dJQUFuQyxtQ0FBbUM7b0hBQW5DLG1DQUFtQyw4RUNOaEQsZ0xBR0E7MkZER2EsbUNBQW1DO2tCQUovQyxTQUFTOytCQUNFLHdDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LWZvcmNlLW5ldy1wYXNzd29yZC1mb3JtLWZpZWxkcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JjZS1uZXctcGFzc3dvcmQtZm9ybS1maWVsZHMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JjZU5ld1Bhc3N3b3JkRm9ybUZpZWxkc0NvbXBvbmVudCB7fVxuIiwiPGRpdiBjbGFzcz1cImFtcGxpZnktZmxleCBhbXBsaWZ5LWF1dGhlbnRpY2F0b3JfX2NvbHVtblwiIGRhdGEtYW1wbGlmeS1maWVsZHNldD5cbiAgPGFtcGxpZnktYmFzZS1mb3JtLWZpZWxkcyByb3V0ZT1cImZvcmNlTmV3UGFzc3dvcmRcIj48L2FtcGxpZnktYmFzZS1mb3JtLWZpZWxkcz5cbjwvZGl2PlxuIl19
@@ -0,0 +1,44 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import { getFormDataFromEvent, authenticatorTextUtil } from '@aws-amplify/ui';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../../services/authenticator.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../../../../utilities/amplify-slot/amplify-slot.component";
7
+ import * as i4 from "../../../../primitives/button/button.component";
8
+ import * as i5 from "../../../../primitives/error/error.component";
9
+ import * as i6 from "./force-new-password-form-fields/force-new-password-form-fields.component";
10
+ const { getChangePasswordText, getBackToSignInText } = authenticatorTextUtil;
11
+ export class ForceNewPasswordComponent {
12
+ constructor(authenticator) {
13
+ this.authenticator = authenticator;
14
+ this.dataAttr = '';
15
+ this.headerText = getChangePasswordText();
16
+ // translated texts
17
+ this.changePasswordText = getChangePasswordText();
18
+ this.backToSignInText = getBackToSignInText();
19
+ }
20
+ get context() {
21
+ return this.authenticator.slotContext;
22
+ }
23
+ onInput(event) {
24
+ event.preventDefault();
25
+ const { name, value } = event.target;
26
+ this.authenticator.updateForm({ name, value });
27
+ }
28
+ onSubmit(event) {
29
+ event.preventDefault();
30
+ this.authenticator.submitForm(getFormDataFromEvent(event));
31
+ }
32
+ }
33
+ ForceNewPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ForceNewPasswordComponent, deps: [{ token: i1.AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
34
+ ForceNewPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ForceNewPasswordComponent, selector: "amplify-force-new-password", inputs: { headerText: "headerText" }, host: { properties: { "attr.data-amplify-authenticator-forcenewpassword": "this.dataAttr" } }, ngImport: i0, template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"force-new-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <amplify-slot name=\"force-new-form-fields\" [context]=\"context\">\n <amplify-force-new-password-form-fields></amplify-force-new-password-form-fields>\n </amplify-slot>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ changePasswordText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"force-new-password-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { kind: "component", type: i5.ErrorComponent, selector: "amplify-error" }, { kind: "component", type: i6.ForceNewPasswordFormFieldsComponent, selector: "amplify-force-new-password-form-fields" }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ForceNewPasswordComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'amplify-force-new-password', template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"force-new-password-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <amplify-slot name=\"force-new-form-fields\" [context]=\"context\">\n <amplify-force-new-password-form-fields></amplify-force-new-password-form-fields>\n </amplify-slot>\n\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ changePasswordText }}\n </button>\n\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"authenticator.toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"authenticator.error\">\n {{ authenticator.error }}\n </amplify-error>\n </fieldset>\n <amplify-slot name=\"force-new-password-footer\" [context]=\"context\">\n </amplify-slot>\n</form>\n" }]
38
+ }], ctorParameters: function () { return [{ type: i1.AuthenticatorService }]; }, propDecorators: { dataAttr: [{
39
+ type: HostBinding,
40
+ args: ['attr.data-amplify-authenticator-forcenewpassword']
41
+ }], headerText: [{
42
+ type: Input
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9mb3JjZS1uZXctcGFzc3dvcmQvZm9yY2UtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9mb3JjZS1uZXctcGFzc3dvcmQvZm9yY2UtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFFOUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLEdBQUcscUJBQXFCLENBQUM7QUFNN0UsTUFBTSxPQUFPLHlCQUF5QjtJQVNwQyxZQUFtQixhQUFtQztRQUFuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFQdEQsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNFLGVBQVUsR0FBRyxxQkFBcUIsRUFBRSxDQUFDO1FBRXJELG1CQUFtQjtRQUNaLHVCQUFrQixHQUFHLHFCQUFxQixFQUFFLENBQUM7UUFDN0MscUJBQWdCLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztJQUVTLENBQUM7SUFFMUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFxQixLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFZO1FBQ25CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7O3NIQXhCVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix1TUNWdEMsMHFDQW1DQTsyRkR6QmEseUJBQXlCO2tCQUpyQyxTQUFTOytCQUNFLDRCQUE0QjsyR0FLdEMsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLGtEQUFrRDtnQkFFL0MsVUFBVTtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRGb3JtRGF0YUZyb21FdmVudCwgYXV0aGVudGljYXRvclRleHRVdGlsIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcblxuY29uc3QgeyBnZXRDaGFuZ2VQYXNzd29yZFRleHQsIGdldEJhY2tUb1NpZ25JblRleHQgfSA9IGF1dGhlbnRpY2F0b3JUZXh0VXRpbDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1mb3JjZS1uZXctcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9yY2UtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9yY2VOZXdQYXNzd29yZENvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFtcGxpZnktYXV0aGVudGljYXRvci1mb3JjZW5ld3Bhc3N3b3JkJylcbiAgZGF0YUF0dHIgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGhlYWRlclRleHQgPSBnZXRDaGFuZ2VQYXNzd29yZFRleHQoKTtcblxuICAvLyB0cmFuc2xhdGVkIHRleHRzXG4gIHB1YmxpYyBjaGFuZ2VQYXNzd29yZFRleHQgPSBnZXRDaGFuZ2VQYXNzd29yZFRleHQoKTtcbiAgcHVibGljIGJhY2tUb1NpZ25JblRleHQgPSBnZXRCYWNrVG9TaWduSW5UZXh0KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpOiBBdXRoZW50aWNhdG9yU2VydmljZVsnc2xvdENvbnRleHQnXSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB7IG5hbWUsIHZhbHVlIH0gPSA8SFRNTElucHV0RWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnVwZGF0ZUZvcm0oeyBuYW1lLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5hdXRoZW50aWNhdG9yLnN1Ym1pdEZvcm0oZ2V0Rm9ybURhdGFGcm9tRXZlbnQoZXZlbnQpKTtcbiAgfVxufVxuIiwiPGZvcm0gZGF0YS1hbXBsaWZ5LWZvcm0gKHN1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCIgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiPlxuICA8ZmllbGRzZXRcbiAgICBjbGFzcz1cImFtcGxpZnktZmxleCBhbXBsaWZ5LWF1dGhlbnRpY2F0b3JfX2NvbHVtblwiXG4gICAgZGF0YS1hbXBsaWZ5LWZpZWxkc2V0XG4gICAgW2Rpc2FibGVkXT1cImF1dGhlbnRpY2F0b3IuaXNQZW5kaW5nXCJcbiAgPlxuICAgIDxhbXBsaWZ5LXNsb3QgbmFtZT1cImZvcmNlLW5ldy1wYXNzd29yZC1oZWFkZXJcIiBbY29udGV4dF09XCJjb250ZXh0XCI+XG4gICAgICA8aDMgY2xhc3M9XCJhbXBsaWZ5LWhlYWRpbmcgYW1wbGlmeS1oZWFkaW5nLS0zXCI+e3sgdGhpcy5oZWFkZXJUZXh0IH19PC9oMz5cbiAgICA8L2FtcGxpZnktc2xvdD5cblxuICAgIDxhbXBsaWZ5LXNsb3QgbmFtZT1cImZvcmNlLW5ldy1mb3JtLWZpZWxkc1wiIFtjb250ZXh0XT1cImNvbnRleHRcIj5cbiAgICAgIDxhbXBsaWZ5LWZvcmNlLW5ldy1wYXNzd29yZC1mb3JtLWZpZWxkcz48L2FtcGxpZnktZm9yY2UtbmV3LXBhc3N3b3JkLWZvcm0tZmllbGRzPlxuICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgPGJ1dHRvbiBhbXBsaWZ5LWJ1dHRvbiB2YXJpYXRpb249XCJwcmltYXJ5XCIgZnVsbFdpZHRoPVwidHJ1ZVwiIHR5cGU9XCJzdWJtaXRcIj5cbiAgICAgIHt7IGNoYW5nZVBhc3N3b3JkVGV4dCB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgYW1wbGlmeS1idXR0b25cbiAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICB2YXJpYXRpb249XCJsaW5rXCJcbiAgICAgIGZvbnRXZWlnaHQ9XCJub3JtYWxcIlxuICAgICAgZnVsbFdpZHRoPVwidHJ1ZVwiXG4gICAgICAoY2xpY2spPVwiYXV0aGVudGljYXRvci50b1NpZ25JbigpXCJcbiAgICA+XG4gICAgICB7eyBiYWNrVG9TaWduSW5UZXh0IH19XG4gICAgPC9idXR0b24+XG4gICAgPGFtcGxpZnktZXJyb3IgKm5nSWY9XCJhdXRoZW50aWNhdG9yLmVycm9yXCI+XG4gICAgICB7eyBhdXRoZW50aWNhdG9yLmVycm9yIH19XG4gICAgPC9hbXBsaWZ5LWVycm9yPlxuICA8L2ZpZWxkc2V0PlxuICA8YW1wbGlmeS1zbG90IG5hbWU9XCJmb3JjZS1uZXctcGFzc3dvcmQtZm9vdGVyXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPlxuICA8L2FtcGxpZnktc2xvdD5cbjwvZm9ybT5cbiJdfQ==
@@ -0,0 +1,50 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { translate, countryDialCodes, getErrors, } from '@aws-amplify/ui';
3
+ import { nanoid } from 'nanoid';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../../services/authenticator.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../../../../primitives/password-field/password-field.component";
8
+ import * as i4 from "../../../../primitives/phone-number-field/phone-number-field.component";
9
+ import * as i5 from "../../../../primitives/text-field/text-field.component";
10
+ export class FormFieldComponent {
11
+ constructor(authenticator) {
12
+ this.authenticator = authenticator;
13
+ this.countryDialCodesValue = countryDialCodes;
14
+ this.errorId = nanoid(12);
15
+ }
16
+ get ariaDescribedBy() {
17
+ return this.hasError() ? this.errorId : undefined;
18
+ }
19
+ get errors() {
20
+ const { validationErrors } = this.authenticator;
21
+ return getErrors(validationErrors[this.name]);
22
+ }
23
+ onBlur($event) {
24
+ const { name } = $event.target;
25
+ this.authenticator.updateBlur({ name });
26
+ }
27
+ isPasswordField() {
28
+ return this.formField.type === 'password';
29
+ }
30
+ isPhoneField() {
31
+ return this.formField.type === 'tel';
32
+ }
33
+ hasError() {
34
+ return this.errors?.length > 0;
35
+ }
36
+ translate(phrase) {
37
+ return translate(phrase);
38
+ }
39
+ }
40
+ FormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormFieldComponent, deps: [{ token: i1.AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
41
+ FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FormFieldComponent, selector: "amplify-form-field", inputs: { name: "name", formField: "formField" }, ngImport: i0, template: "<div class=\"amplify-flex amplify-field amplify-authenticator__column\">\n <!-- Country code field -->\n <amplify-phone-number-field\n *ngIf=\"isPhoneField()\"\n [name]=\"name\"\n [label]=\"formField.label\"\n [defaultCountryCode]=\"formField.dialCode\"\n [dialCodeList]=\"formField.dialCodeList\"\n [placeholder]=\"formField.placeholder\"\n [required]=\"formField.isRequired\"\n [labelHidden]=\"formField.labelHidden\"\n [autocomplete]=\"formField.autocomplete\"\n [hasError]=\"hasError\"\n [describedBy]=\"ariaDescribedBy\"\n type=\"tel\"\n ></amplify-phone-number-field>\n\n <amplify-password-field\n *ngIf=\"isPasswordField()\"\n [name]=\"name\"\n [label]=\"formField.label\"\n [placeholder]=\"formField.placeholder\"\n [required]=\"formField.isRequired\"\n [labelHidden]=\"formField.labelHidden\"\n [autocomplete]=\"formField.autocomplete\"\n [hasError]=\"hasError\"\n [describedBy]=\"ariaDescribedBy\"\n (setBlur)=\"onBlur($event)\"\n ></amplify-password-field>\n\n <amplify-text-field\n *ngIf=\"!isPasswordField() && !isPhoneField()\"\n [name]=\"name\"\n [label]=\"formField.label\"\n [placeholder]=\"formField.placeholder\"\n [required]=\"formField.isRequired\"\n [labelHidden]=\"formField.labelHidden\"\n [autocomplete]=\"formField.autocomplete\"\n [type]=\"formField.type\"\n [hasError]=\"hasError\"\n [describedBy]=\"ariaDescribedBy\"\n ></amplify-text-field>\n\n <div data-amplify-sign-up-errors *ngIf=\"hasError()\" [id]=\"errorId\">\n <div\n class=\"amplify-text amplify-text--error\"\n data-variation=\"error\"\n *ngFor=\"let error of errors\"\n >\n {{ translate(error) }}\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PasswordFieldComponent, selector: "amplify-password-field", inputs: ["autocomplete", "disabled", "fieldId", "initialValue", "label", "name", "placeholder", "required", "labelHidden", "hasError", "describedBy"], outputs: ["setBlur"] }, { kind: "component", type: i4.PhoneNumberFieldComponent, selector: "amplify-phone-number-field", inputs: ["autocomplete", "disabled", "defaultCountryCode", "selectFieldId", "textFieldId", "initialValue", "label", "name", "placeholder", "required", "type", "labelHidden", "dialCodeList", "hasError", "describedBy"] }, { kind: "component", type: i5.TextFieldComponent, selector: "amplify-text-field", inputs: ["autocomplete", "disabled", "fieldId", "initialValue", "label", "name", "placeholder", "required", "type", "labelHidden", "hasError", "describedBy"] }] });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormFieldComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'amplify-form-field', template: "<div class=\"amplify-flex amplify-field amplify-authenticator__column\">\n <!-- Country code field -->\n <amplify-phone-number-field\n *ngIf=\"isPhoneField()\"\n [name]=\"name\"\n [label]=\"formField.label\"\n [defaultCountryCode]=\"formField.dialCode\"\n [dialCodeList]=\"formField.dialCodeList\"\n [placeholder]=\"formField.placeholder\"\n [required]=\"formField.isRequired\"\n [labelHidden]=\"formField.labelHidden\"\n [autocomplete]=\"formField.autocomplete\"\n [hasError]=\"hasError\"\n [describedBy]=\"ariaDescribedBy\"\n type=\"tel\"\n ></amplify-phone-number-field>\n\n <amplify-password-field\n *ngIf=\"isPasswordField()\"\n [name]=\"name\"\n [label]=\"formField.label\"\n [placeholder]=\"formField.placeholder\"\n [required]=\"formField.isRequired\"\n [labelHidden]=\"formField.labelHidden\"\n [autocomplete]=\"formField.autocomplete\"\n [hasError]=\"hasError\"\n [describedBy]=\"ariaDescribedBy\"\n (setBlur)=\"onBlur($event)\"\n ></amplify-password-field>\n\n <amplify-text-field\n *ngIf=\"!isPasswordField() && !isPhoneField()\"\n [name]=\"name\"\n [label]=\"formField.label\"\n [placeholder]=\"formField.placeholder\"\n [required]=\"formField.isRequired\"\n [labelHidden]=\"formField.labelHidden\"\n [autocomplete]=\"formField.autocomplete\"\n [type]=\"formField.type\"\n [hasError]=\"hasError\"\n [describedBy]=\"ariaDescribedBy\"\n ></amplify-text-field>\n\n <div data-amplify-sign-up-errors *ngIf=\"hasError()\" [id]=\"errorId\">\n <div\n class=\"amplify-text amplify-text--error\"\n data-variation=\"error\"\n *ngFor=\"let error of errors\"\n >\n {{ translate(error) }}\n </div>\n </div>\n</div>\n" }]
45
+ }], ctorParameters: function () { return [{ type: i1.AuthenticatorService }]; }, propDecorators: { name: [{
46
+ type: Input
47
+ }], formField: [{
48
+ type: Input
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsRUFFaEIsU0FBUyxHQUNWLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7OztBQU9oQyxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCLFlBQW9CLGFBQW1DO1FBQW5DLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUhoRCwwQkFBcUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxZQUFPLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRThCLENBQUM7SUFFM0QsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDaEQsT0FBTyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFhO1FBQ3pCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBcUIsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUVqRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLE9BQU8sU0FBUyxDQUFTLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7OytHQXZDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw0R0NkL0IsdXREQXFEQTsyRkR2Q2Esa0JBQWtCO2tCQUo5QixTQUFTOytCQUNFLG9CQUFvQjsyR0FJckIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICB0cmFuc2xhdGUsXG4gIGNvdW50cnlEaWFsQ29kZXMsXG4gIEZvcm1GaWVsZE9wdGlvbnMsXG4gIGdldEVycm9ycyxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IG5hbm9pZCB9IGZyb20gJ25hbm9pZCc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktZm9ybS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nOyAvLyBuYW1lIG9mIHRoZSBpbnB1dCBmaWVsZFxuICBASW5wdXQoKSBmb3JtRmllbGQ6IEZvcm1GaWVsZE9wdGlvbnM7IC8vIGZvcm0gZmllbGQgb3B0aW9ucyBmb3IgdGhpcyBmaWVsZFxuXG4gIHB1YmxpYyBkZWZhdWx0Q291bnRyeUNvZGVWYWx1ZTogc3RyaW5nO1xuICBwdWJsaWMgY291bnRyeURpYWxDb2Rlc1ZhbHVlID0gY291bnRyeURpYWxDb2RlcztcbiAgcHVibGljIGVycm9ySWQgPSBuYW5vaWQoMTIpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aGVudGljYXRvcjogQXV0aGVudGljYXRvclNlcnZpY2UpIHt9XG5cbiAgZ2V0IGFyaWFEZXNjcmliZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmhhc0Vycm9yKCkgPyB0aGlzLmVycm9ySWQgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgZXJyb3JzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCB7IHZhbGlkYXRpb25FcnJvcnMgfSA9IHRoaXMuYXV0aGVudGljYXRvcjtcbiAgICByZXR1cm4gZ2V0RXJyb3JzKHZhbGlkYXRpb25FcnJvcnNbdGhpcy5uYW1lXSk7XG4gIH1cblxuICBwdWJsaWMgb25CbHVyKCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB7IG5hbWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PiRldmVudC50YXJnZXQ7XG5cbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlQmx1cih7IG5hbWUgfSk7XG4gIH1cblxuICBpc1Bhc3N3b3JkRmllbGQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkLnR5cGUgPT09ICdwYXNzd29yZCc7XG4gIH1cblxuICBpc1Bob25lRmllbGQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkLnR5cGUgPT09ICd0ZWwnO1xuICB9XG5cbiAgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JzPy5sZW5ndGggPiAwO1xuICB9XG5cbiAgdHJhbnNsYXRlKHBocmFzZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJhbnNsYXRlPHN0cmluZz4ocGhyYXNlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFtcGxpZnktZmxleCBhbXBsaWZ5LWZpZWxkIGFtcGxpZnktYXV0aGVudGljYXRvcl9fY29sdW1uXCI+XG4gIDwhLS0gQ291bnRyeSBjb2RlIGZpZWxkIC0tPlxuICA8YW1wbGlmeS1waG9uZS1udW1iZXItZmllbGRcbiAgICAqbmdJZj1cImlzUGhvbmVGaWVsZCgpXCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbbGFiZWxdPVwiZm9ybUZpZWxkLmxhYmVsXCJcbiAgICBbZGVmYXVsdENvdW50cnlDb2RlXT1cImZvcm1GaWVsZC5kaWFsQ29kZVwiXG4gICAgW2RpYWxDb2RlTGlzdF09XCJmb3JtRmllbGQuZGlhbENvZGVMaXN0XCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybUZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICBbcmVxdWlyZWRdPVwiZm9ybUZpZWxkLmlzUmVxdWlyZWRcIlxuICAgIFtsYWJlbEhpZGRlbl09XCJmb3JtRmllbGQubGFiZWxIaWRkZW5cIlxuICAgIFthdXRvY29tcGxldGVdPVwiZm9ybUZpZWxkLmF1dG9jb21wbGV0ZVwiXG4gICAgW2hhc0Vycm9yXT1cImhhc0Vycm9yXCJcbiAgICBbZGVzY3JpYmVkQnldPVwiYXJpYURlc2NyaWJlZEJ5XCJcbiAgICB0eXBlPVwidGVsXCJcbiAgPjwvYW1wbGlmeS1waG9uZS1udW1iZXItZmllbGQ+XG5cbiAgPGFtcGxpZnktcGFzc3dvcmQtZmllbGRcbiAgICAqbmdJZj1cImlzUGFzc3dvcmRGaWVsZCgpXCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbbGFiZWxdPVwiZm9ybUZpZWxkLmxhYmVsXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybUZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICBbcmVxdWlyZWRdPVwiZm9ybUZpZWxkLmlzUmVxdWlyZWRcIlxuICAgIFtsYWJlbEhpZGRlbl09XCJmb3JtRmllbGQubGFiZWxIaWRkZW5cIlxuICAgIFthdXRvY29tcGxldGVdPVwiZm9ybUZpZWxkLmF1dG9jb21wbGV0ZVwiXG4gICAgW2hhc0Vycm9yXT1cImhhc0Vycm9yXCJcbiAgICBbZGVzY3JpYmVkQnldPVwiYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAoc2V0Qmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gID48L2FtcGxpZnktcGFzc3dvcmQtZmllbGQ+XG5cbiAgPGFtcGxpZnktdGV4dC1maWVsZFxuICAgICpuZ0lmPVwiIWlzUGFzc3dvcmRGaWVsZCgpICYmICFpc1Bob25lRmllbGQoKVwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW2xhYmVsXT1cImZvcm1GaWVsZC5sYWJlbFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImZvcm1GaWVsZC5wbGFjZWhvbGRlclwiXG4gICAgW3JlcXVpcmVkXT1cImZvcm1GaWVsZC5pc1JlcXVpcmVkXCJcbiAgICBbbGFiZWxIaWRkZW5dPVwiZm9ybUZpZWxkLmxhYmVsSGlkZGVuXCJcbiAgICBbYXV0b2NvbXBsZXRlXT1cImZvcm1GaWVsZC5hdXRvY29tcGxldGVcIlxuICAgIFt0eXBlXT1cImZvcm1GaWVsZC50eXBlXCJcbiAgICBbaGFzRXJyb3JdPVwiaGFzRXJyb3JcIlxuICAgIFtkZXNjcmliZWRCeV09XCJhcmlhRGVzY3JpYmVkQnlcIlxuICA+PC9hbXBsaWZ5LXRleHQtZmllbGQ+XG5cbiAgPGRpdiBkYXRhLWFtcGxpZnktc2lnbi11cC1lcnJvcnMgKm5nSWY9XCJoYXNFcnJvcigpXCIgW2lkXT1cImVycm9ySWRcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImFtcGxpZnktdGV4dCBhbXBsaWZ5LXRleHQtLWVycm9yXCJcbiAgICAgIGRhdGEtdmFyaWF0aW9uPVwiZXJyb3JcIlxuICAgICAgKm5nRm9yPVwibGV0IGVycm9yIG9mIGVycm9yc1wiXG4gICAgPlxuICAgICAge3sgdHJhbnNsYXRlKGVycm9yKSB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,44 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import { getFormDataFromEvent, authenticatorTextUtil, } from '@aws-amplify/ui';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../../services/authenticator.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../../../../utilities/amplify-slot/amplify-slot.component";
7
+ import * as i4 from "../base-form-fields/base-form-fields.component";
8
+ import * as i5 from "../../../../primitives/button/button.component";
9
+ import * as i6 from "../../../../primitives/error/error.component";
10
+ const { getResetYourPasswordText, getSendCodeText, getBackToSignInText } = authenticatorTextUtil;
11
+ export class ResetPasswordComponent {
12
+ constructor(authenticator) {
13
+ this.authenticator = authenticator;
14
+ this.dataAttr = '';
15
+ this.headerText = getResetYourPasswordText();
16
+ // translated texts
17
+ this.sendCodeText = getSendCodeText();
18
+ this.backToSignInText = getBackToSignInText();
19
+ }
20
+ get context() {
21
+ return this.authenticator.slotContext;
22
+ }
23
+ onInput(event) {
24
+ event.preventDefault();
25
+ const { name, value } = event.target;
26
+ this.authenticator.updateForm({ name, value });
27
+ }
28
+ onSubmit(event) {
29
+ event.preventDefault();
30
+ this.authenticator.submitForm(getFormDataFromEvent(event));
31
+ }
32
+ }
33
+ ResetPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ResetPasswordComponent, deps: [{ token: i1.AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
34
+ ResetPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ResetPasswordComponent, selector: "amplify-reset-password", inputs: { headerText: "headerText" }, host: { properties: { "attr.data-amplify-authenticator-resetPassword": "this.dataAttr" } }, ngImport: i0, template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__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 amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <amplify-base-form-fields route=\"resetPassword\"></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\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", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { kind: "component", type: i4.BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { kind: "component", type: i6.ErrorComponent, selector: "amplify-error" }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ResetPasswordComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'amplify-reset-password', template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__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 amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n\n <amplify-base-form-fields route=\"resetPassword\"></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\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" }]
38
+ }], ctorParameters: function () { return [{ type: i1.AuthenticatorService }]; }, propDecorators: { dataAttr: [{
39
+ type: HostBinding,
40
+ args: ['attr.data-amplify-authenticator-resetPassword']
41
+ }], headerText: [{
42
+ type: Input
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYXV0aGVudGljYXRvci9jb21wb25lbnRzL3Jlc2V0LXBhc3N3b3JkL3Jlc2V0LXBhc3N3b3JkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9yZXNldC1wYXNzd29yZC9yZXNldC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUVMLG9CQUFvQixFQUNwQixxQkFBcUIsR0FDdEIsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFFekIsTUFBTSxFQUFFLHdCQUF3QixFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxHQUN0RSxxQkFBcUIsQ0FBQztBQU14QixNQUFNLE9BQU8sc0JBQXNCO0lBU2pDLFlBQW1CLGFBQW1DO1FBQW5DLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQVJRLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDNUQsZUFBVSxHQUFHLHdCQUF3QixFQUFFLENBQUM7UUFFeEQsbUJBQW1CO1FBQ1osaUJBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO0lBR1MsQ0FBQztJQUUxRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQXFCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVk7UUFDbkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7bUhBeEJVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLGdNQ2ZuQywwckNBMENBOzJGRDNCYSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0Usd0JBQXdCOzJHQUk0QixRQUFRO3NCQUFyRSxXQUFXO3VCQUFDLCtDQUErQztnQkFDNUMsVUFBVTtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQge1xuICBGb3JtRmllbGRzQXJyYXksXG4gIGdldEZvcm1EYXRhRnJvbUV2ZW50LFxuICBhdXRoZW50aWNhdG9yVGV4dFV0aWwsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbmNvbnN0IHsgZ2V0UmVzZXRZb3VyUGFzc3dvcmRUZXh0LCBnZXRTZW5kQ29kZVRleHQsIGdldEJhY2tUb1NpZ25JblRleHQgfSA9XG4gIGF1dGhlbnRpY2F0b3JUZXh0VXRpbDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1yZXNldC1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNldC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlc2V0UGFzc3dvcmRDb21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3ItcmVzZXRQYXNzd29yZCcpIGRhdGFBdHRyID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBoZWFkZXJUZXh0ID0gZ2V0UmVzZXRZb3VyUGFzc3dvcmRUZXh0KCk7XG5cbiAgLy8gdHJhbnNsYXRlZCB0ZXh0c1xuICBwdWJsaWMgc2VuZENvZGVUZXh0ID0gZ2V0U2VuZENvZGVUZXh0KCk7XG4gIHB1YmxpYyBiYWNrVG9TaWduSW5UZXh0ID0gZ2V0QmFja1RvU2lnbkluVGV4dCgpO1xuICBwdWJsaWMgc29ydGVkRm9ybUZpZWxkczogRm9ybUZpZWxkc0FycmF5O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhdXRoZW50aWNhdG9yOiBBdXRoZW50aWNhdG9yU2VydmljZSkge31cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKTogQXV0aGVudGljYXRvclNlcnZpY2VbJ3Nsb3RDb250ZXh0J10ge1xuICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0b3Iuc2xvdENvbnRleHQ7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgeyBuYW1lLCB2YWx1ZSB9ID0gPEhUTUxJbnB1dEVsZW1lbnQ+ZXZlbnQudGFyZ2V0O1xuICAgIHRoaXMuYXV0aGVudGljYXRvci51cGRhdGVGb3JtKHsgbmFtZSwgdmFsdWUgfSk7XG4gIH1cblxuICBvblN1Ym1pdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuYXV0aGVudGljYXRvci5zdWJtaXRGb3JtKGdldEZvcm1EYXRhRnJvbUV2ZW50KGV2ZW50KSk7XG4gIH1cbn1cbiIsIjxmb3JtIGRhdGEtYW1wbGlmeS1mb3JtIChzdWJtaXQpPVwib25TdWJtaXQoJGV2ZW50KVwiIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIj5cbiAgPGZpZWxkc2V0XG4gICAgY2xhc3M9XCJhbXBsaWZ5LWZsZXggYW1wbGlmeS1hdXRoZW50aWNhdG9yX19jb2x1bW5cIlxuICAgIGRhdGEtYW1wbGlmeS1maWVsZHNldFxuICAgIFtkaXNhYmxlZF09XCJhdXRoZW50aWNhdG9yLmlzUGVuZGluZ1wiXG4gID5cbiAgICA8YW1wbGlmeS1zbG90XG4gICAgICBjbGFzcz1cImFtcGxpZnktZmxleFwiXG4gICAgICBuYW1lPVwicmVzZXQtcGFzc3dvcmQtaGVhZGVyXCJcbiAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgID5cbiAgICAgIDxoMyBjbGFzcz1cImFtcGxpZnktaGVhZGluZyBhbXBsaWZ5LWhlYWRpbmctLTNcIj57eyB0aGlzLmhlYWRlclRleHQgfX08L2gzPlxuICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgPGFtcGxpZnktYmFzZS1mb3JtLWZpZWxkcyByb3V0ZT1cInJlc2V0UGFzc3dvcmRcIj48L2FtcGxpZnktYmFzZS1mb3JtLWZpZWxkcz5cbiAgICA8YnV0dG9uXG4gICAgICBhbXBsaWZ5LWJ1dHRvblxuICAgICAgdmFyaWF0aW9uPVwicHJpbWFyeVwiXG4gICAgICBmdWxsV2lkdGg9XCJ0cnVlXCJcbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgW2lzRGlzYWJsZWRdPVwiYXV0aGVudGljYXRvci5pc1BlbmRpbmdcIlxuICAgID5cbiAgICAgIHt7IHNlbmRDb2RlVGV4dCB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGFtcGxpZnktYnV0dG9uXG4gICAgICBzaXplPVwic21hbGxcIlxuICAgICAgdmFyaWF0aW9uPVwibGlua1wiXG4gICAgICBmb250V2VpZ2h0PVwibm9ybWFsXCJcbiAgICAgIGZ1bGxXaWR0aD1cInRydWVcIlxuICAgICAgKGNsaWNrKT1cImF1dGhlbnRpY2F0b3IudG9TaWduSW4oKVwiXG4gICAgPlxuICAgICAge3sgYmFja1RvU2lnbkluVGV4dCB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxhbXBsaWZ5LWVycm9yICpuZ0lmPVwiYXV0aGVudGljYXRvci5lcnJvclwiPlxuICAgICAge3sgYXV0aGVudGljYXRvci5lcnJvciB9fVxuICAgIDwvYW1wbGlmeS1lcnJvcj5cbiAgPC9maWVsZHNldD5cblxuICA8YW1wbGlmeS1zbG90IG5hbWU9XCJyZXNldC1wYXNzd29yZC1mb290ZXJcIiBbY29udGV4dF09XCJjb250ZXh0XCI+XG4gIDwvYW1wbGlmeS1zbG90PlxuPC9mb3JtPlxuIl19
@@ -0,0 +1,69 @@
1
+ import { Component, HostBinding } from '@angular/core';
2
+ import QRCode from 'qrcode';
3
+ import { Logger } from 'aws-amplify';
4
+ import { getActorContext, getFormDataFromEvent, getTotpCodeURL, authenticatorTextUtil, } from '@aws-amplify/ui';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../../services/authenticator.service";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "../../../../utilities/amplify-slot/amplify-slot.component";
9
+ import * as i4 from "../base-form-fields/base-form-fields.component";
10
+ import * as i5 from "../../../../primitives/button/button.component";
11
+ import * as i6 from "../../../../primitives/error/error.component";
12
+ const logger = new Logger('SetupTotp');
13
+ const { getSetupTOTPText, getCopyText, getBackToSignInText, getConfirmText, getCopiedText, } = authenticatorTextUtil;
14
+ export class SetupTotpComponent {
15
+ constructor(authenticator) {
16
+ this.authenticator = authenticator;
17
+ this.dataAttr = '';
18
+ this.headerText = getSetupTOTPText();
19
+ this.qrCodeSource = '';
20
+ this.totpSecretCode = '';
21
+ this.copyTextLabel = getCopyText();
22
+ // translated texts
23
+ this.backToSignInText = getBackToSignInText();
24
+ this.confirmText = getConfirmText();
25
+ }
26
+ get context() {
27
+ return this.authenticator.slotContext;
28
+ }
29
+ async ngOnInit() {
30
+ await this.generateQRCode();
31
+ }
32
+ async generateQRCode() {
33
+ const { authState: state, totpSecretCode, user } = this.authenticator;
34
+ const { formFields } = getActorContext(state);
35
+ const { totpIssuer = 'AWSCognito', totpUsername = user?.username } = formFields?.setupTOTP?.QR ?? {};
36
+ this.totpSecretCode = totpSecretCode;
37
+ try {
38
+ const totpCode = getTotpCodeURL(totpIssuer, totpUsername, this.totpSecretCode);
39
+ logger.info('totp code was generated:', totpCode);
40
+ this.qrCodeSource = await QRCode.toDataURL(totpCode);
41
+ }
42
+ catch (err) {
43
+ logger.error(err);
44
+ }
45
+ }
46
+ onInput(event) {
47
+ event.preventDefault();
48
+ const { name, value } = event.target;
49
+ this.authenticator.updateForm({ name, value });
50
+ }
51
+ onSubmit(event) {
52
+ event.preventDefault();
53
+ this.authenticator.submitForm(getFormDataFromEvent(event));
54
+ }
55
+ copyText() {
56
+ navigator.clipboard.writeText(this.totpSecretCode);
57
+ this.copyTextLabel = getCopiedText();
58
+ }
59
+ }
60
+ SetupTotpComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SetupTotpComponent, deps: [{ token: i1.AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
61
+ SetupTotpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SetupTotpComponent, selector: "amplify-setup-totp", host: { properties: { "attr.data-amplify-authenticator-setup-totp": "this.dataAttr" } }, ngImport: i0, template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n width=\"228\"\n height=\"228\"\n />\n <div class=\"amplify-flex\" data-amplify-copy>\n <div>{{ totpSecretCode }}</div>\n <div data-amplify-copy-svg (click)=\"copyText()\">\n <div data-amplify-copy-tooltip>{{ copyTextLabel }}</div>\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM15 5H8C6.9 5 6.01 5.9 6.01 7L6 21C6 22.1 6.89 23 7.99 23H19C20.1 23 21 22.1 21 21V11L15 5ZM8 21V7H14V12H19V21H8Z\"\n />\n </svg>\n </div>\n </div>\n\n <amplify-base-form-fields route=\"setupTOTP\"></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\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", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { kind: "component", type: i4.BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { kind: "component", type: i6.ErrorComponent, selector: "amplify-error" }] });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SetupTotpComponent, decorators: [{
63
+ type: Component,
64
+ args: [{ selector: 'amplify-setup-totp', template: "<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n </amplify-slot>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n width=\"228\"\n height=\"228\"\n />\n <div class=\"amplify-flex\" data-amplify-copy>\n <div>{{ totpSecretCode }}</div>\n <div data-amplify-copy-svg (click)=\"copyText()\">\n <div data-amplify-copy-tooltip>{{ copyTextLabel }}</div>\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM15 5H8C6.9 5 6.01 5.9 6.01 7L6 21C6 22.1 6.89 23 7.99 23H19C20.1 23 21 22.1 21 21V11L15 5ZM8 21V7H14V12H19V21H8Z\"\n />\n </svg>\n </div>\n </div>\n\n <amplify-base-form-fields route=\"setupTOTP\"></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\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" }]
65
+ }], ctorParameters: function () { return [{ type: i1.AuthenticatorService }]; }, propDecorators: { dataAttr: [{
66
+ type: HostBinding,
67
+ args: ['attr.data-amplify-authenticator-setup-totp']
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdG90cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2V0dXAtdG90cC9zZXR1cC10b3RwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9zZXR1cC10b3RwL3NldHVwLXRvdHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUVMLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsY0FBYyxFQUVkLHFCQUFxQixHQUN0QixNQUFNLGlCQUFpQixDQUFDOzs7Ozs7OztBQUd6QixNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUV2QyxNQUFNLEVBQ0osZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLGFBQWEsR0FDZCxHQUFHLHFCQUFxQixDQUFDO0FBTTFCLE1BQU0sT0FBTyxrQkFBa0I7SUFZN0IsWUFBbUIsYUFBbUM7UUFBbkMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBWEssYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsRSxlQUFVLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUNoQyxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixrQkFBYSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBRXJDLG1CQUFtQjtRQUNaLHFCQUFnQixHQUFHLG1CQUFtQixFQUFFLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUdtQixDQUFDO0lBRTFELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0RSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBa0IsQ0FBQztRQUMvRCxNQUFNLEVBQUUsVUFBVSxHQUFHLFlBQVksRUFBRSxZQUFZLEdBQUcsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUNoRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFFckMsSUFBSTtZQUNGLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FDN0IsVUFBVSxFQUNWLFlBQVksRUFDWixJQUFJLENBQUMsY0FBYyxDQUNwQixDQUFDO1lBRUYsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN0RDtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsUUFBUTtRQUNOLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7OytHQTFEVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixtSkMzQi9CLG83REE2REE7MkZEbENhLGtCQUFrQjtrQkFKOUIsU0FBUzsrQkFDRSxvQkFBb0I7MkdBSTZCLFFBQVE7c0JBQWxFLFdBQVc7dUJBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUVJDb2RlIGZyb20gJ3FyY29kZSc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICdhd3MtYW1wbGlmeSc7XG5pbXBvcnQge1xuICBGb3JtRmllbGRzQXJyYXksXG4gIGdldEFjdG9yQ29udGV4dCxcbiAgZ2V0Rm9ybURhdGFGcm9tRXZlbnQsXG4gIGdldFRvdHBDb2RlVVJMLFxuICBTaWduSW5Db250ZXh0LFxuICBhdXRoZW50aWNhdG9yVGV4dFV0aWwsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ1NldHVwVG90cCcpO1xuXG5jb25zdCB7XG4gIGdldFNldHVwVE9UUFRleHQsXG4gIGdldENvcHlUZXh0LFxuICBnZXRCYWNrVG9TaWduSW5UZXh0LFxuICBnZXRDb25maXJtVGV4dCxcbiAgZ2V0Q29waWVkVGV4dCxcbn0gPSBhdXRoZW50aWNhdG9yVGV4dFV0aWw7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktc2V0dXAtdG90cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXR1cC10b3RwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2V0dXBUb3RwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtYW1wbGlmeS1hdXRoZW50aWNhdG9yLXNldHVwLXRvdHAnKSBkYXRhQXR0ciA9ICcnO1xuICBwdWJsaWMgaGVhZGVyVGV4dCA9IGdldFNldHVwVE9UUFRleHQoKTtcbiAgcHVibGljIHFyQ29kZVNvdXJjZSA9ICcnO1xuICBwdWJsaWMgdG90cFNlY3JldENvZGUgPSAnJztcbiAgcHVibGljIGNvcHlUZXh0TGFiZWwgPSBnZXRDb3B5VGV4dCgpO1xuXG4gIC8vIHRyYW5zbGF0ZWQgdGV4dHNcbiAgcHVibGljIGJhY2tUb1NpZ25JblRleHQgPSBnZXRCYWNrVG9TaWduSW5UZXh0KCk7XG4gIHB1YmxpYyBjb25maXJtVGV4dCA9IGdldENvbmZpcm1UZXh0KCk7XG4gIHB1YmxpYyBzb3J0ZWRGb3JtRmllbGRzOiBGb3JtRmllbGRzQXJyYXk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpOiBBdXRoZW50aWNhdG9yU2VydmljZVsnc2xvdENvbnRleHQnXSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZ2VuZXJhdGVRUkNvZGUoKTtcbiAgfVxuXG4gIGFzeW5jIGdlbmVyYXRlUVJDb2RlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgYXV0aFN0YXRlOiBzdGF0ZSwgdG90cFNlY3JldENvZGUsIHVzZXIgfSA9IHRoaXMuYXV0aGVudGljYXRvcjtcbiAgICBjb25zdCB7IGZvcm1GaWVsZHMgfSA9IGdldEFjdG9yQ29udGV4dChzdGF0ZSkgYXMgU2lnbkluQ29udGV4dDtcbiAgICBjb25zdCB7IHRvdHBJc3N1ZXIgPSAnQVdTQ29nbml0bycsIHRvdHBVc2VybmFtZSA9IHVzZXI/LnVzZXJuYW1lIH0gPVxuICAgICAgZm9ybUZpZWxkcz8uc2V0dXBUT1RQPy5RUiA/PyB7fTtcblxuICAgIHRoaXMudG90cFNlY3JldENvZGUgPSB0b3RwU2VjcmV0Q29kZTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB0b3RwQ29kZSA9IGdldFRvdHBDb2RlVVJMKFxuICAgICAgICB0b3RwSXNzdWVyLFxuICAgICAgICB0b3RwVXNlcm5hbWUsXG4gICAgICAgIHRoaXMudG90cFNlY3JldENvZGVcbiAgICAgICk7XG5cbiAgICAgIGxvZ2dlci5pbmZvKCd0b3RwIGNvZGUgd2FzIGdlbmVyYXRlZDonLCB0b3RwQ29kZSk7XG4gICAgICB0aGlzLnFyQ29kZVNvdXJjZSA9IGF3YWl0IFFSQ29kZS50b0RhdGFVUkwodG90cENvZGUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nZ2VyLmVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlRm9ybSh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3Iuc3VibWl0Rm9ybShnZXRGb3JtRGF0YUZyb21FdmVudChldmVudCkpO1xuICB9XG5cbiAgY29weVRleHQoKTogdm9pZCB7XG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGhpcy50b3RwU2VjcmV0Q29kZSk7XG4gICAgdGhpcy5jb3B5VGV4dExhYmVsID0gZ2V0Q29waWVkVGV4dCgpO1xuICB9XG59XG4iLCI8Zm9ybSBkYXRhLWFtcGxpZnktZm9ybSAoc3VibWl0KT1cIm9uU3VibWl0KCRldmVudClcIiAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCI+XG4gIDxmaWVsZHNldFxuICAgIGNsYXNzPVwiYW1wbGlmeS1mbGV4IGFtcGxpZnktYXV0aGVudGljYXRvcl9fY29sdW1uXCJcbiAgICBkYXRhLWFtcGxpZnktZmllbGRzZXRcbiAgICBbZGlzYWJsZWRdPVwiYXV0aGVudGljYXRvci5pc1BlbmRpbmdcIlxuICA+XG4gICAgPGFtcGxpZnktc2xvdCBuYW1lPVwic2V0dXAtdG90cC1oZWFkZXJcIiBbY29udGV4dF09XCJjb250ZXh0XCI+XG4gICAgICA8aDMgY2xhc3M9XCJhbXBsaWZ5LWhlYWRpbmcgYW1wbGlmeS1oZWFkaW5nLS0zXCI+e3sgdGhpcy5oZWFkZXJUZXh0IH19PC9oMz5cbiAgICA8L2FtcGxpZnktc2xvdD5cbiAgICA8cCAqbmdJZj1cIiFxckNvZGVTb3VyY2VcIj5Mb2FkaW5nLi4uPC9wPlxuICAgIDxpbWdcbiAgICAgICpuZ0lmPVwicXJDb2RlU291cmNlXCJcbiAgICAgIFtzcmNdPVwicXJDb2RlU291cmNlXCJcbiAgICAgIGFsdD1cInFyIGNvZGVcIlxuICAgICAgZGF0YS1hbXBsaWZ5LXFyY29kZVxuICAgICAgd2lkdGg9XCIyMjhcIlxuICAgICAgaGVpZ2h0PVwiMjI4XCJcbiAgICAvPlxuICAgIDxkaXYgY2xhc3M9XCJhbXBsaWZ5LWZsZXhcIiBkYXRhLWFtcGxpZnktY29weT5cbiAgICAgIDxkaXY+e3sgdG90cFNlY3JldENvZGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgZGF0YS1hbXBsaWZ5LWNvcHktc3ZnIChjbGljayk9XCJjb3B5VGV4dCgpXCI+XG4gICAgICAgIDxkaXYgZGF0YS1hbXBsaWZ5LWNvcHktdG9vbHRpcD57eyBjb3B5VGV4dExhYmVsIH19PC9kaXY+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICB3aWR0aD1cIjI0XCJcbiAgICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgID5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZD1cIk0xNiAxSDRDMi45IDEgMiAxLjkgMiAzVjE3SDRWM0gxNlYxWk0xNSA1SDhDNi45IDUgNi4wMSA1LjkgNi4wMSA3TDYgMjFDNiAyMi4xIDYuODkgMjMgNy45OSAyM0gxOUMyMC4xIDIzIDIxIDIyLjEgMjEgMjFWMTFMMTUgNVpNOCAyMVY3SDE0VjEySDE5VjIxSDhaXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGFtcGxpZnktYmFzZS1mb3JtLWZpZWxkcyByb3V0ZT1cInNldHVwVE9UUFwiPjwvYW1wbGlmeS1iYXNlLWZvcm0tZmllbGRzPlxuICAgIDxidXR0b25cbiAgICAgIGFtcGxpZnktYnV0dG9uXG4gICAgICB2YXJpYXRpb249XCJwcmltYXJ5XCJcbiAgICAgIGZ1bGxXaWR0aD1cInRydWVcIlxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJhdXRoZW50aWNhdG9yLmlzUGVuZGluZ1wiXG4gICAgPlxuICAgICAge3sgY29uZmlybVRleHQgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBhbXBsaWZ5LWJ1dHRvblxuICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgIHZhcmlhdGlvbj1cImxpbmtcIlxuICAgICAgZm9udFdlaWdodD1cIm5vcm1hbFwiXG4gICAgICBmdWxsV2lkdGg9XCJ0cnVlXCJcbiAgICAgIChjbGljayk9XCJhdXRoZW50aWNhdG9yLnRvU2lnbkluKClcIlxuICAgID5cbiAgICAgIHt7IGJhY2tUb1NpZ25JblRleHQgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YW1wbGlmeS1lcnJvciAqbmdJZj1cImF1dGhlbnRpY2F0b3IuZXJyb3JcIj5cbiAgICAgIHt7IGF1dGhlbnRpY2F0b3IuZXJyb3IgfX1cbiAgICA8L2FtcGxpZnktZXJyb3I+XG4gIDwvZmllbGRzZXQ+XG4gIDxhbXBsaWZ5LXNsb3QgbmFtZT1cInNldHVwLXRvdHAtZm9vdGVyXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPiA8L2FtcGxpZnktc2xvdD5cbjwvZm9ybT5cbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Component, HostBinding, ViewEncapsulation } from '@angular/core';
2
+ import { authenticatorTextUtil, getFormDataFromEvent, } from '@aws-amplify/ui';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../../services/authenticator.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../../../../utilities/amplify-slot/amplify-slot.component";
7
+ import * as i4 from "../base-form-fields/base-form-fields.component";
8
+ import * as i5 from "../../../../primitives/button/button.component";
9
+ import * as i6 from "../../../../primitives/error/error.component";
10
+ import * as i7 from "../federated-sign-in/federated-sign-in.component";
11
+ const { getForgotPasswordText, getSignInText } = authenticatorTextUtil;
12
+ export class SignInComponent {
13
+ constructor(authenticator) {
14
+ this.authenticator = authenticator;
15
+ this.dataAttr = '';
16
+ this.forgotPasswordText = getForgotPasswordText();
17
+ this.signInButtonText = getSignInText();
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(getFormDataFromEvent(event));
30
+ }
31
+ }
32
+ SignInComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SignInComponent, deps: [{ token: i1.AuthenticatorService }], target: i0.ɵɵFactoryTarget.Component });
33
+ SignInComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SignInComponent, selector: "amplify-sign-in", host: { properties: { "attr.data-amplify-authenticator-signin": "this.dataAttr" } }, ngImport: i0, template: "<amplify-slot name=\"sign-in-header\" [context]=\"context\"></amplify-slot>\n\n<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <amplify-federated-sign-in></amplify-federated-sign-in>\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <legend class=\"amplify-visually-hidden\">Sign in</legend>\n <amplify-base-form-fields route=\"signIn\"></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\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", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AmplifySlotComponent, selector: "amplify-slot", inputs: ["name", "context"] }, { kind: "component", type: i4.BaseFormFieldsComponent, selector: "amplify-base-form-fields", inputs: ["route"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[amplify-button]", inputs: ["type", "fullWidth", "isDisabled", "size", "variation", "fontWeight"] }, { kind: "component", type: i6.ErrorComponent, selector: "amplify-error" }, { kind: "component", type: i7.FederatedSignInComponent, selector: "amplify-federated-sign-in" }], encapsulation: i0.ViewEncapsulation.None });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SignInComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'amplify-sign-in', encapsulation: ViewEncapsulation.None, template: "<amplify-slot name=\"sign-in-header\" [context]=\"context\"></amplify-slot>\n\n<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <amplify-federated-sign-in></amplify-federated-sign-in>\n <fieldset\n class=\"amplify-flex amplify-authenticator__column\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"authenticator.isPending\"\n >\n <legend class=\"amplify-visually-hidden\">Sign in</legend>\n <amplify-base-form-fields route=\"signIn\"></amplify-base-form-fields>\n <button\n amplify-button\n variation=\"primary\"\n fullWidth=\"true\"\n type=\"submit\"\n [isDisabled]=\"authenticator.isPending\"\n >\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" }]
37
+ }], ctorParameters: function () { return [{ type: i1.AuthenticatorService }]; }, propDecorators: { dataAttr: [{
38
+ type: HostBinding,
39
+ args: ['attr.data-amplify-authenticator-signin']
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1pbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvc2lnbi1pbi9zaWduLWluLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9zaWduLWluL3NpZ24taW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixvQkFBb0IsR0FFckIsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7O0FBRXpCLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQztBQU92RSxNQUFNLE9BQU8sZUFBZTtJQU8xQixZQUFtQixhQUFtQztRQUFuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFOQyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRTlELHVCQUFrQixHQUFHLHFCQUFxQixFQUFFLENBQUM7UUFDN0MscUJBQWdCLEdBQUcsYUFBYSxFQUFFLENBQUM7SUFHZSxDQUFDO0lBRTFELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBcUIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs0R0F0QlUsZUFBZTtnR0FBZixlQUFlLDRJQ2Y1Qix5dUNBMENBOzJGRDNCYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLGlCQUFpQixpQkFFWixpQkFBaUIsQ0FBQyxJQUFJOzJHQUdrQixRQUFRO3NCQUE5RCxXQUFXO3VCQUFDLHdDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQge1xuICBhdXRoZW50aWNhdG9yVGV4dFV0aWwsXG4gIGdldEZvcm1EYXRhRnJvbUV2ZW50LFxuICBGb3JtRmllbGRzQXJyYXksXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbmNvbnN0IHsgZ2V0Rm9yZ290UGFzc3dvcmRUZXh0LCBnZXRTaWduSW5UZXh0IH0gPSBhdXRoZW50aWNhdG9yVGV4dFV0aWw7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktc2lnbi1pbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWduLWluLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2lnbkluQ29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtYW1wbGlmeS1hdXRoZW50aWNhdG9yLXNpZ25pbicpIGRhdGFBdHRyID0gJyc7XG5cbiAgcHVibGljIGZvcmdvdFBhc3N3b3JkVGV4dCA9IGdldEZvcmdvdFBhc3N3b3JkVGV4dCgpO1xuICBwdWJsaWMgc2lnbkluQnV0dG9uVGV4dCA9IGdldFNpZ25JblRleHQoKTtcbiAgcHVibGljIHNvcnRlZEZvcm1GaWVsZHM6IEZvcm1GaWVsZHNBcnJheTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aGVudGljYXRvcjogQXV0aGVudGljYXRvclNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGdldCBjb250ZXh0KCk6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlWydzbG90Q29udGV4dCddIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdG9yLnNsb3RDb250ZXh0O1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3IudXBkYXRlRm9ybSh7IG5hbWUsIHZhbHVlIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0b3Iuc3VibWl0Rm9ybShnZXRGb3JtRGF0YUZyb21FdmVudChldmVudCkpO1xuICB9XG59XG4iLCI8YW1wbGlmeS1zbG90IG5hbWU9XCJzaWduLWluLWhlYWRlclwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2FtcGxpZnktc2xvdD5cblxuPGZvcm0gZGF0YS1hbXBsaWZ5LWZvcm0gKHN1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCIgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiPlxuICA8YW1wbGlmeS1mZWRlcmF0ZWQtc2lnbi1pbj48L2FtcGxpZnktZmVkZXJhdGVkLXNpZ24taW4+XG4gIDxmaWVsZHNldFxuICAgIGNsYXNzPVwiYW1wbGlmeS1mbGV4IGFtcGxpZnktYXV0aGVudGljYXRvcl9fY29sdW1uXCJcbiAgICBzdHlsZT1cImZsZXgtZGlyZWN0aW9uOiBjb2x1bW5cIlxuICAgIGRhdGEtYW1wbGlmeS1maWVsZHNldFxuICAgIFtkaXNhYmxlZF09XCJhdXRoZW50aWNhdG9yLmlzUGVuZGluZ1wiXG4gID5cbiAgICA8bGVnZW5kIGNsYXNzPVwiYW1wbGlmeS12aXN1YWxseS1oaWRkZW5cIj5TaWduIGluPC9sZWdlbmQ+XG4gICAgPGFtcGxpZnktYmFzZS1mb3JtLWZpZWxkcyByb3V0ZT1cInNpZ25JblwiPjwvYW1wbGlmeS1iYXNlLWZvcm0tZmllbGRzPlxuICAgIDxidXR0b25cbiAgICAgIGFtcGxpZnktYnV0dG9uXG4gICAgICB2YXJpYXRpb249XCJwcmltYXJ5XCJcbiAgICAgIGZ1bGxXaWR0aD1cInRydWVcIlxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJhdXRoZW50aWNhdG9yLmlzUGVuZGluZ1wiXG4gICAgPlxuICAgICAge3sgc2lnbkluQnV0dG9uVGV4dCB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGFtcGxpZnktZXJyb3IgKm5nSWY9XCJhdXRoZW50aWNhdG9yLmVycm9yXCI+XG4gICAgICB7eyBhdXRoZW50aWNhdG9yLmVycm9yIH19XG4gICAgPC9hbXBsaWZ5LWVycm9yPlxuICA8L2ZpZWxkc2V0PlxuPC9mb3JtPlxuXG48YW1wbGlmeS1zbG90IG5hbWU9XCJzaWduLWluLWZvb3RlclwiIFtjb250ZXh0XT1cImNvbnRleHRcIj5cbiAgPGRpdiBkYXRhLWFtcGxpZnktZm9vdGVyPlxuICAgIDxidXR0b25cbiAgICAgIGFtcGxpZnktYnV0dG9uXG4gICAgICBmb250V2VpZ2h0PVwibm9ybWFsXCJcbiAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICB2YXJpYXRpb249XCJsaW5rXCJcbiAgICAgIGZ1bGxXaWR0aD1cInRydWVcIlxuICAgICAgKGNsaWNrKT1cImF1dGhlbnRpY2F0b3IudG9SZXNldFBhc3N3b3JkKClcIlxuICAgID5cbiAgICAgIHt7IGZvcmdvdFBhc3N3b3JkVGV4dCB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvYW1wbGlmeS1zbG90PlxuIl19