@aws-amplify/ui-angular 2.0.1-next.5 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +28 -0
  3. package/aws-amplify-ui-angular.d.ts +26 -24
  4. package/aws-amplify-ui-angular.metadata.json +1 -1
  5. package/bundles/aws-amplify-ui-angular-legacy.umd.js +2229 -0
  6. package/bundles/aws-amplify-ui-angular-legacy.umd.js.map +1 -0
  7. package/bundles/aws-amplify-ui-angular-legacy.umd.min.js +16 -0
  8. package/bundles/aws-amplify-ui-angular-legacy.umd.min.js.map +1 -0
  9. package/bundles/aws-amplify-ui-angular.umd.js +897 -2865
  10. package/bundles/aws-amplify-ui-angular.umd.js.map +1 -1
  11. package/bundles/aws-amplify-ui-angular.umd.min.js +1 -1
  12. package/bundles/aws-amplify-ui-angular.umd.min.js.map +1 -1
  13. package/esm2015/aws-amplify-ui-angular.js +27 -25
  14. package/esm2015/index.js +22 -8
  15. package/esm2015/legacy/aws-amplify-ui-angular-legacy.js +6 -0
  16. package/esm2015/legacy/index.js +3 -0
  17. package/esm2015/legacy/legacy-ui-angular.module.js +53 -0
  18. package/esm2015/legacy/proxies.js +1839 -0
  19. package/esm2015/lib/common/types/auth-types.js +1 -1
  20. package/esm2015/lib/components/authenticator/authenticator.module.js +78 -0
  21. package/esm2015/lib/components/authenticator/components/authenticator/authenticator.component.js +87 -0
  22. package/esm2015/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.js +40 -0
  23. package/esm2015/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.js +57 -0
  24. package/esm2015/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.js +39 -0
  25. package/esm2015/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.js +39 -0
  26. package/esm2015/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.js +47 -0
  27. package/esm2015/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.js +27 -0
  28. package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password.component.js +39 -0
  29. package/esm2015/lib/components/authenticator/components/form-field/form-field.component.js +97 -0
  30. package/esm2015/lib/components/authenticator/components/index.js +17 -0
  31. package/esm2015/lib/components/authenticator/components/reset-password/reset-password.component.js +45 -0
  32. package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +65 -0
  33. package/esm2015/lib/components/authenticator/components/sign-in/sign-in.component.js +38 -0
  34. package/esm2015/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.js +34 -0
  35. package/esm2015/lib/components/authenticator/components/sign-up/sign-up.component.js +37 -0
  36. package/esm2015/lib/components/authenticator/components/user-name-alias/user-name-alias.component.js +35 -0
  37. package/esm2015/lib/components/authenticator/components/verify-user/verify-user.component.js +54 -0
  38. package/esm2015/lib/primitives/button/button.component.js +38 -0
  39. package/esm2015/lib/primitives/checkbox/checkbox.component.js +31 -0
  40. package/esm2015/lib/primitives/error/error.component.js +16 -0
  41. package/esm2015/lib/primitives/index.js +10 -3
  42. package/esm2015/lib/primitives/password-field/password-field.component.js +45 -0
  43. package/esm2015/lib/primitives/phone-number-field/phone-number-field.component.js +11 -4
  44. package/esm2015/lib/primitives/{amplify-select/amplify-select.component.js → select/select.component.js} +4 -4
  45. package/esm2015/lib/primitives/tabs/tabs.component.js +3 -2
  46. package/esm2015/lib/primitives/text-field/text-field.component.js +35 -0
  47. package/esm2015/lib/services/authenticator.service.js +136 -0
  48. package/esm2015/lib/services/custom-components.service.js +23 -0
  49. package/esm2015/lib/utilities/amplify-slot/amplify-slot.component.js +32 -0
  50. package/esm2015/lib/utilities/amplify-slot/amplify-slot.directive.js +21 -0
  51. package/fesm2015/aws-amplify-ui-angular-legacy.js +1846 -0
  52. package/fesm2015/aws-amplify-ui-angular-legacy.js.map +1 -0
  53. package/fesm2015/aws-amplify-ui-angular.js +672 -2624
  54. package/fesm2015/aws-amplify-ui-angular.js.map +1 -1
  55. package/index.d.ts +21 -7
  56. package/legacy/aws-amplify-ui-angular-legacy.d.ts +5 -0
  57. package/legacy/aws-amplify-ui-angular-legacy.metadata.json +1 -0
  58. package/legacy/index.d.ts +2 -0
  59. package/legacy/legacy-ui-angular.module.d.ts +2 -0
  60. package/legacy/package.json +11 -0
  61. package/{lib → legacy}/proxies.d.ts +0 -0
  62. package/lib/common/types/auth-types.d.ts +2 -5
  63. package/lib/components/authenticator/authenticator.module.d.ts +2 -0
  64. package/lib/components/authenticator/components/authenticator/authenticator.component.d.ts +69 -0
  65. package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +52 -0
  66. package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +54 -0
  67. package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +51 -0
  68. package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +51 -0
  69. package/lib/components/{amplify-federated-sign-in/amplify-federated-sign-in.component.d.ts → authenticator/components/federated-sign-in/federated-sign-in.component.d.ts} +9 -6
  70. package/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.d.ts +9 -0
  71. package/lib/components/authenticator/components/force-new-password/force-new-password.component.d.ts +51 -0
  72. package/lib/{primitives/amplify-form-field/amplify-form-field.component.d.ts → components/authenticator/components/form-field/form-field.component.d.ts} +7 -4
  73. package/lib/components/authenticator/components/index.d.ts +16 -0
  74. package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +54 -0
  75. package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +55 -0
  76. package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +50 -0
  77. package/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.d.ts +12 -0
  78. package/lib/components/authenticator/components/sign-up/sign-up.component.d.ts +49 -0
  79. package/lib/{primitives/amplify-user-name-alias/amplify-user-name-alias.component.d.ts → components/authenticator/components/user-name-alias/user-name-alias.component.d.ts} +4 -4
  80. package/lib/components/authenticator/components/verify-user/verify-user.component.d.ts +56 -0
  81. package/lib/primitives/{amplify-button/amplify-button.component.d.ts → button/button.component.d.ts} +1 -1
  82. package/lib/primitives/checkbox/checkbox.component.d.ts +12 -0
  83. package/lib/primitives/error/error.component.d.ts +4 -0
  84. package/lib/primitives/index.d.ts +9 -2
  85. package/lib/primitives/{amplify-password-field/amplify-password-field.component.d.ts → password-field/password-field.component.d.ts} +5 -2
  86. package/lib/primitives/phone-number-field/phone-number-field.component.d.ts +2 -0
  87. package/lib/primitives/{amplify-select/amplify-select.component.d.ts → select/select.component.d.ts} +1 -1
  88. package/lib/primitives/{amplify-text-field/amplify-text-field.component.d.ts → text-field/text-field.component.d.ts} +4 -2
  89. package/lib/services/authenticator.service.d.ts +97 -0
  90. package/lib/services/custom-components.service.d.ts +9 -0
  91. package/lib/utilities/amplify-slot/amplify-slot.component.d.ts +12 -0
  92. package/lib/{directives → utilities/amplify-slot}/amplify-slot.directive.d.ts +0 -0
  93. package/package.json +3 -4
  94. package/theme.css +0 -1
  95. package/esm2015/lib/components/amplify-authenticator/amplify-authenticator.component.js +0 -89
  96. package/esm2015/lib/components/amplify-confirm-sign-in/amplify-confirm-sign-in.component.js +0 -91
  97. package/esm2015/lib/components/amplify-confirm-sign-up/amplify-confirm-sign-up.component.js +0 -83
  98. package/esm2015/lib/components/amplify-federated-sign-in/amplify-federated-sign-in.component.js +0 -37
  99. package/esm2015/lib/components/amplify-federated-sign-in-button/amplify-federated-sign-in-button.component.js +0 -27
  100. package/esm2015/lib/components/amplify-force-new-password/amplify-force-new-password.component.js +0 -83
  101. package/esm2015/lib/components/amplify-reset-password/amplify-reset-password.component.js +0 -68
  102. package/esm2015/lib/components/amplify-setup-totp/amplify-setup-totp.component.js +0 -100
  103. package/esm2015/lib/components/amplify-sign-in/amplify-sign-in.component.js +0 -78
  104. package/esm2015/lib/components/amplify-sign-up/amplify-sign-up.component.js +0 -97
  105. package/esm2015/lib/components/amplify-verify-user/amplify-verify-user.component.js +0 -78
  106. package/esm2015/lib/components/confirm-reset-password/amplify-confirm-reset-password.component.js +0 -76
  107. package/esm2015/lib/components/confirm-verify-user/amplify-confirm-verify-user.component.js +0 -66
  108. package/esm2015/lib/components/index.js +0 -14
  109. package/esm2015/lib/directives/amplify-slot.directive.js +0 -21
  110. package/esm2015/lib/primitives/amplify-button/amplify-button.component.js +0 -38
  111. package/esm2015/lib/primitives/amplify-error/amplify-error.component.js +0 -10
  112. package/esm2015/lib/primitives/amplify-form-field/amplify-form-field.component.js +0 -91
  113. package/esm2015/lib/primitives/amplify-password-field/amplify-password-field.component.js +0 -39
  114. package/esm2015/lib/primitives/amplify-text-field/amplify-text-field.component.js +0 -29
  115. package/esm2015/lib/primitives/amplify-user-name-alias/amplify-user-name-alias.component.js +0 -35
  116. package/esm2015/lib/proxies.js +0 -1839
  117. package/esm2015/lib/services/authenticator-context.service.js +0 -28
  118. package/esm2015/lib/services/state-machine.service.js +0 -52
  119. package/esm2015/lib/ui-angular.module.js +0 -103
  120. package/lib/components/amplify-authenticator/amplify-authenticator.component.d.ts +0 -36
  121. package/lib/components/amplify-confirm-sign-in/amplify-confirm-sign-in.component.d.ts +0 -31
  122. package/lib/components/amplify-confirm-sign-up/amplify-confirm-sign-up.component.d.ts +0 -34
  123. package/lib/components/amplify-federated-sign-in-button/amplify-federated-sign-in-button.component.d.ts +0 -9
  124. package/lib/components/amplify-force-new-password/amplify-force-new-password.component.d.ts +0 -31
  125. package/lib/components/amplify-reset-password/amplify-reset-password.component.d.ts +0 -30
  126. package/lib/components/amplify-setup-totp/amplify-setup-totp.component.d.ts +0 -31
  127. package/lib/components/amplify-sign-in/amplify-sign-in.component.d.ts +0 -32
  128. package/lib/components/amplify-sign-up/amplify-sign-up.component.d.ts +0 -32
  129. package/lib/components/amplify-verify-user/amplify-verify-user.component.d.ts +0 -32
  130. package/lib/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +0 -34
  131. package/lib/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +0 -28
  132. package/lib/components/index.d.ts +0 -13
  133. package/lib/primitives/amplify-error/amplify-error.component.d.ts +0 -2
  134. package/lib/services/authenticator-context.service.d.ts +0 -10
  135. package/lib/services/state-machine.service.d.ts +0 -29
  136. package/lib/ui-angular.module.d.ts +0 -2
  137. package/styles/component.css +0 -174
@@ -1,91 +0,0 @@
1
- import { Component, HostBinding, } from '@angular/core';
2
- import { Logger } from 'aws-amplify';
3
- import { AuthChallengeNames, getActorContext, getActorState, } from '@aws-amplify/ui';
4
- import { StateMachineService } from '../../services/state-machine.service';
5
- import { AuthPropService } from '../../services/authenticator-context.service';
6
- import { translate } from '@aws-amplify/ui';
7
- const logger = new Logger('ConfirmSignIn');
8
- export class AmplifyConfirmSignInComponent {
9
- constructor(stateMachine, contextService) {
10
- this.stateMachine = stateMachine;
11
- this.contextService = contextService;
12
- this.dataAttr = '';
13
- this.customComponents = {};
14
- this.remoteError = '';
15
- this.isPending = false;
16
- this.confirmText = translate('Confirm');
17
- this.backToSignInText = translate('Back to Sign In');
18
- }
19
- ngOnInit() {
20
- this.authSubscription = this.stateMachine.authService.subscribe((state) => {
21
- this.onStateUpdate(state);
22
- });
23
- this.setHeaderText();
24
- }
25
- ngAfterContentInit() {
26
- this.customComponents = this.contextService.customComponents;
27
- }
28
- ngOnDestroy() {
29
- this.authSubscription.unsubscribe();
30
- }
31
- get context() {
32
- const { change, signIn, submit } = this.stateMachine.services;
33
- const remoteError = this.remoteError;
34
- return { change, remoteError, signIn, submit };
35
- }
36
- setHeaderText() {
37
- const state = this.stateMachine.authState;
38
- const actorContext = getActorContext(state);
39
- const { challengeName } = actorContext;
40
- switch (challengeName) {
41
- case AuthChallengeNames.SOFTWARE_TOKEN_MFA:
42
- // TODO: this string should be centralized and translated from ui.
43
- this.headerText = translate('Confirm TOTP Code');
44
- break;
45
- case AuthChallengeNames.SMS_MFA:
46
- this.headerText = translate('Confirm SMS Code');
47
- break;
48
- default:
49
- logger.error('Unexpected challengeName', challengeName);
50
- }
51
- }
52
- onStateUpdate(state) {
53
- const actorState = getActorState(state);
54
- this.remoteError = actorState.context.remoteError;
55
- this.isPending = !actorState.matches('confirmSignIn.edit');
56
- }
57
- onInput(event) {
58
- event.preventDefault();
59
- const { name, value } = event.target;
60
- this.stateMachine.send({
61
- type: 'CHANGE',
62
- data: { name, value },
63
- });
64
- }
65
- onSubmit(event) {
66
- event.preventDefault();
67
- // TODO: handle form data within the state machine
68
- const formData = new FormData(event.target);
69
- this.stateMachine.send({
70
- type: 'SUBMIT',
71
- data: Object.fromEntries(formData),
72
- });
73
- }
74
- toSignIn() {
75
- this.stateMachine.send('SIGN_IN');
76
- }
77
- }
78
- AmplifyConfirmSignInComponent.decorators = [
79
- { type: Component, args: [{
80
- selector: 'amplify-confirm-sign-in',
81
- template: "<!-- \n Define default contents here\n-->\n<ng-template #confirmSignInButton>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n</ng-template>\n\n<ng-template #confirmSignInForm>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"isPending\"\n >\n <h3 class=\"amplify-heading\">{{ headerText }}</h3>\n <amplify-form-field\n name=\"confirmation_code\"\n label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-code\"\n ></amplify-form-field>\n\n <ng-container\n [ngTemplateOutlet]=\"\n customComponents.confirmSignInButton || confirmSignInButton\n \"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"remoteError\">\n {{ remoteError }}\n </amplify-error>\n </fieldset>\n </form>\n</ng-template>\n\n<!-- \n Render sign in component\n-->\n\n<div data-amplify-container>\n <ng-container\n [ngTemplateOutlet]=\"customComponents.signInForm || confirmSignInForm\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n</div>\n"
82
- },] }
83
- ];
84
- AmplifyConfirmSignInComponent.ctorParameters = () => [
85
- { type: StateMachineService },
86
- { type: AuthPropService }
87
- ];
88
- AmplifyConfirmSignInComponent.propDecorators = {
89
- dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-confirmsignin',] }]
90
- };
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1jb25maXJtLXNpZ24taW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYW1wbGlmeS1jb25maXJtLXNpZ24taW4vYW1wbGlmeS1jb25maXJtLXNpZ24taW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxHQUlaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckMsT0FBTyxFQUNMLGtCQUFrQixFQUVsQixlQUFlLEVBQ2YsYUFBYSxHQUdkLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQU0zQyxNQUFNLE9BQU8sNkJBQTZCO0lBZ0J4QyxZQUNVLFlBQWlDLEVBQ2pDLGNBQStCO1FBRC9CLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFmcUIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVyRSxxQkFBZ0IsR0FBcUMsRUFBRSxDQUFDO1FBQ3hELGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFNbEIsZ0JBQVcsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMscUJBQWdCLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFLcEQsQ0FBQztJQUVKLFFBQVE7UUFDTixJ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QUF1RDthQUN4RDs7O1lBVFEsbUJBQW1CO1lBQ25CLGVBQWU7Ozt1QkFZckIsV0FBVyxTQUFDLCtDQUErQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICdhd3MtYW1wbGlmeSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICd4c3RhdGUnO1xuaW1wb3J0IHtcbiAgQXV0aENoYWxsZW5nZU5hbWVzLFxuICBBdXRoTWFjaGluZVN0YXRlLFxuICBnZXRBY3RvckNvbnRleHQsXG4gIGdldEFjdG9yU3RhdGUsXG4gIFNpZ25JbkNvbnRleHQsXG4gIFNpZ25JblN0YXRlLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgU3RhdGVNYWNoaW5lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0YXRlLW1hY2hpbmUuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoUHJvcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdDb25maXJtU2lnbkluJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktY29uZmlybS1zaWduLWluJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FtcGxpZnktY29uZmlybS1zaWduLWluLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQW1wbGlmeUNvbmZpcm1TaWduSW5Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdFxue1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3ItY29uZmlybXNpZ25pbicpIGRhdGFBdHRyID0gJyc7XG5cbiAgcHVibGljIGN1c3RvbUNvbXBvbmVudHM6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlUmVmPGFueT4+ID0ge307XG4gIHB1YmxpYyByZW1vdGVFcnJvciA9ICcnO1xuICBwdWJsaWMgaXNQZW5kaW5nID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBhdXRoU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLy8gdHJhbnNsYXRlZCB0ZXh0c1xuICBwdWJsaWMgaGVhZGVyVGV4dDogc3RyaW5nO1xuICBwdWJsaWMgY29uZmlybVRleHQgPSB0cmFuc2xhdGUoJ0NvbmZpcm0nKTtcbiAgcHVibGljIGJhY2tUb1NpZ25JblRleHQgPSB0cmFuc2xhdGUoJ0JhY2sgdG8gU2lnbiBJbicpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RhdGVNYWNoaW5lOiBTdGF0ZU1hY2hpbmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IEF1dGhQcm9wU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hdXRoU3Vic2NyaXB0aW9uID0gdGhpcy5zdGF0ZU1hY2hpbmUuYXV0aFNlcnZpY2Uuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgdGhpcy5vblN0YXRlVXBkYXRlKHN0YXRlKTtcbiAgICB9KTtcbiAgICB0aGlzLnNldEhlYWRlclRleHQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmN1c3RvbUNvbXBvbmVudHMgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmN1c3RvbUNvbXBvbmVudHM7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dGhTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpIHtcbiAgICBjb25zdCB7IGNoYW5nZSwgc2lnbkluLCBzdWJtaXQgfSA9IHRoaXMuc3RhdGVNYWNoaW5lLnNlcnZpY2VzO1xuICAgIGNvbnN0IHJlbW90ZUVycm9yID0gdGhpcy5yZW1vdGVFcnJvcjtcbiAgICByZXR1cm4geyBjaGFuZ2UsIHJlbW90ZUVycm9yLCBzaWduSW4sIHN1Ym1pdCB9O1xuICB9XG5cbiAgc2V0SGVhZGVyVGV4dCgpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVNYWNoaW5lLmF1dGhTdGF0ZTtcbiAgICBjb25zdCBhY3RvckNvbnRleHQ6IFNpZ25JbkNvbnRleHQgPSBnZXRBY3RvckNvbnRleHQoc3RhdGUpO1xuICAgIGNvbnN0IHsgY2hhbGxlbmdlTmFtZSB9ID0gYWN0b3JDb250ZXh0O1xuICAgIHN3aXRjaCAoY2hhbGxlbmdlTmFtZSkge1xuICAgICAgY2FzZSBBdXRoQ2hhbGxlbmdlTmFtZXMuU09GVFdBUkVfVE9LRU5fTUZBOlxuICAgICAgICAvLyBUT0RPOiB0aGlzIHN0cmluZyBzaG91bGQgYmUgY2VudHJhbGl6ZWQgYW5kIHRyYW5zbGF0ZWQgZnJvbSB1aS5cbiAgICAgICAgdGhpcy5oZWFkZXJUZXh0ID0gdHJhbnNsYXRlKCdDb25maXJtIFRPVFAgQ29kZScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQXV0aENoYWxsZW5nZU5hbWVzLlNNU19NRkE6XG4gICAgICAgIHRoaXMuaGVhZGVyVGV4dCA9IHRyYW5zbGF0ZSgnQ29uZmlybSBTTVMgQ29kZScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGxvZ2dlci5lcnJvcignVW5leHBlY3RlZCBjaGFsbGVuZ2VOYW1lJywgY2hhbGxlbmdlTmFtZSk7XG4gICAgfVxuICB9XG5cbiAgb25TdGF0ZVVwZGF0ZShzdGF0ZTogQXV0aE1hY2hpbmVTdGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IGFjdG9yU3RhdGU6IFNpZ25JblN0YXRlID0gZ2V0QWN0b3JTdGF0ZShzdGF0ZSk7XG4gICAgdGhpcy5yZW1vdGVFcnJvciA9IGFjdG9yU3RhdGUuY29udGV4dC5yZW1vdGVFcnJvcjtcbiAgICB0aGlzLmlzUGVuZGluZyA9ICFhY3RvclN0YXRlLm1hdGNoZXMoJ2NvbmZpcm1TaWduSW4uZWRpdCcpO1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLnN0YXRlTWFjaGluZS5zZW5kKHtcbiAgICAgIHR5cGU6ICdDSEFOR0UnLFxuICAgICAgZGF0YTogeyBuYW1lLCB2YWx1ZSB9LFxuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAvLyBUT0RPOiBoYW5kbGUgZm9ybSBkYXRhIHdpdGhpbiB0aGUgc3RhdGUgbWFjaGluZVxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKGV2ZW50LnRhcmdldCBhcyBIVE1MRm9ybUVsZW1lbnQpO1xuICAgIHRoaXMuc3RhdGVNYWNoaW5lLnNlbmQoe1xuICAgICAgdHlwZTogJ1NVQk1JVCcsXG4gICAgICBkYXRhOiBPYmplY3QuZnJvbUVudHJpZXMoZm9ybURhdGEpLFxuICAgIH0pO1xuICB9XG5cbiAgdG9TaWduSW4oKSB7XG4gICAgdGhpcy5zdGF0ZU1hY2hpbmUuc2VuZCgnU0lHTl9JTicpO1xuICB9XG59XG4iXX0=
@@ -1,83 +0,0 @@
1
- import { Component, HostBinding, Input } from '@angular/core';
2
- import { getActorContext, getActorState, } from '@aws-amplify/ui';
3
- import { StateMachineService } from '../../services/state-machine.service';
4
- import { AuthPropService } from '../../services/authenticator-context.service';
5
- import { translate } from '@aws-amplify/ui';
6
- export class AmplifyConfirmSignUpComponent {
7
- constructor(stateMachine, contextService) {
8
- this.stateMachine = stateMachine;
9
- this.contextService = contextService;
10
- this.dataAttr = '';
11
- this.headerText = translate('Confirm Sign Up');
12
- this.customComponents = {};
13
- this.remoteError = '';
14
- this.isPending = false;
15
- // translated texts
16
- this.resendCodeText = translate('Resend Code');
17
- this.lostCodeText = translate('Lost your code? ');
18
- this.confirmText = translate('Confirm');
19
- }
20
- ngOnInit() {
21
- // TODO: alias for subscribe
22
- this.authSubscription = this.stateMachine.authService.subscribe((state) => this.onStateUpdate(state));
23
- }
24
- ngAfterContentInit() {
25
- this.customComponents = this.contextService.customComponents;
26
- }
27
- ngOnDestroy() {
28
- this.authSubscription.unsubscribe();
29
- }
30
- onStateUpdate(state) {
31
- const actorState = getActorState(state);
32
- this.remoteError = actorState.context.remoteError;
33
- this.isPending = !actorState.matches('confirmSignUp.edit');
34
- }
35
- get context() {
36
- const { change, resend, signIn, submit } = this.stateMachine.services;
37
- const remoteError = this.remoteError;
38
- const username = this.username;
39
- return { change, remoteError, resend, signIn, submit, username };
40
- }
41
- resend() {
42
- this.stateMachine.send({
43
- type: 'RESEND',
44
- data: {
45
- username: this.username,
46
- },
47
- });
48
- }
49
- onInput($event) {
50
- $event.preventDefault();
51
- const { name, value } = $event.target;
52
- this.stateMachine.send({
53
- type: 'CHANGE',
54
- data: { name, value },
55
- });
56
- }
57
- onSubmit(event) {
58
- event.preventDefault();
59
- const state = this.stateMachine.authState;
60
- const actorContext = getActorContext(state);
61
- const { formValues } = actorContext;
62
- const { username, confirmation_code } = formValues;
63
- this.stateMachine.send({
64
- type: 'SUBMIT',
65
- data: { username, confirmation_code },
66
- });
67
- }
68
- }
69
- AmplifyConfirmSignUpComponent.decorators = [
70
- { type: Component, args: [{
71
- selector: 'amplify-confirm-sign-up',
72
- template: "<!-- \n Define default contents here\n-->\n<ng-template #confirmSignUpButton>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n</ng-template>\n\n<ng-template #confirmSignUpForm>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"isPending\"\n >\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n <amplify-form-field\n name=\"confirmation_code\"\n type=\"number\"\n autocomplete=\"one-time-code\"\n ></amplify-form-field>\n\n <ng-container\n [ngTemplateOutlet]=\"\n customComponents.confirmSignUpButton || confirmSignUpButton\n \"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n <button amplify-button fontWeight=\"normal\" (click)=\"resend()\">\n {{ resendCodeText }}\n </button>\n </fieldset>\n\n <amplify-error *ngIf=\"remoteError\">\n {{ remoteError }}\n </amplify-error>\n </form>\n</ng-template>\n\n<!-- \n Render confirm sign up component\n-->\n\n<div data-amplify-container>\n <ng-container\n [ngTemplateOutlet]=\"customComponents.confirmSignUpForm || confirmSignUpForm\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n</div>\n"
73
- },] }
74
- ];
75
- AmplifyConfirmSignUpComponent.ctorParameters = () => [
76
- { type: StateMachineService },
77
- { type: AuthPropService }
78
- ];
79
- AmplifyConfirmSignUpComponent.propDecorators = {
80
- dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-confirmsignup',] }],
81
- headerText: [{ type: Input }]
82
- };
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1jb25maXJtLXNpZ24tdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYW1wbGlmeS1jb25maXJtLXNpZ24tdXAvYW1wbGlmeS1jb25maXJtLXNpZ24tdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBRUwsZUFBZSxFQUNmLGFBQWEsR0FHZCxNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLNUMsTUFBTSxPQUFPLDZCQUE2QjtJQWN4QyxZQUNVLFlBQWlDLEVBQ2pDLGNBQStCO1FBRC9CLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFmcUIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuRSxlQUFVLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMscUJBQWdCLEdBQXFDLEVBQUUsQ0FBQztRQUd4RCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXpCLG1CQUFtQjtRQUNaLG1CQUFjLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFDLGlCQUFZLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDN0MsZ0JBQVcsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFLdkMsQ0FBQztJQUVKLFFBQVE7UUFDTiw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3hFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDO0lBQy9ELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBdUI7UUFDbkMsTUFBTSxVQUFVLEdBQWdCLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDdEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ25FLENBQUM7SUFDRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDckIsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3hCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFNO1FBQ1osTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFZO1FBQ25CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztRQUMxQyxNQUFNLFlBQVksR0FBa0IsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxZQUFZLENBQUM7UUFDcEMsTUFBTSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUVuRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRTtTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUEvRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLGc3Q0FBdUQ7YUFDeEQ7OztZQU5RLG1CQUFtQjtZQUNuQixlQUFlOzs7dUJBT3JCLFdBQVcsU0FBQywrQ0FBK0M7eUJBQzNELEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEF1dGhNYWNoaW5lU3RhdGUsXG4gIGdldEFjdG9yQ29udGV4dCxcbiAgZ2V0QWN0b3JTdGF0ZSxcbiAgU2lnblVwQ29udGV4dCxcbiAgU2lnblVwU3RhdGUsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICd4c3RhdGUnO1xuaW1wb3J0IHsgU3RhdGVNYWNoaW5lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0YXRlLW1hY2hpbmUuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoUHJvcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1jb25maXJtLXNpZ24tdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYW1wbGlmeS1jb25maXJtLXNpZ24tdXAuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBbXBsaWZ5Q29uZmlybVNpZ25VcENvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFtcGxpZnktYXV0aGVudGljYXRvci1jb25maXJtc2lnbnVwJykgZGF0YUF0dHIgPSAnJztcbiAgQElucHV0KCkgaGVhZGVyVGV4dCA9IHRyYW5zbGF0ZSgnQ29uZmlybSBTaWduIFVwJyk7XG4gIHB1YmxpYyBjdXN0b21Db21wb25lbnRzOiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZVJlZjxhbnk+PiA9IHt9O1xuICBwcml2YXRlIGF1dGhTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIHVzZXJuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZW1vdGVFcnJvciA9ICcnO1xuICBwdWJsaWMgaXNQZW5kaW5nID0gZmFsc2U7XG5cbiAgLy8gdHJhbnNsYXRlZCB0ZXh0c1xuICBwdWJsaWMgcmVzZW5kQ29kZVRleHQgPSB0cmFuc2xhdGUoJ1Jlc2VuZCBDb2RlJyk7XG4gIHB1YmxpYyBsb3N0Q29kZVRleHQgPSB0cmFuc2xhdGUoJ0xvc3QgeW91ciBjb2RlPyAnKTtcbiAgcHVibGljIGNvbmZpcm1UZXh0ID0gdHJhbnNsYXRlKCdDb25maXJtJyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdGF0ZU1hY2hpbmU6IFN0YXRlTWFjaGluZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQXV0aFByb3BTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBUT0RPOiBhbGlhcyBmb3Igc3Vic2NyaWJlXG4gICAgdGhpcy5hdXRoU3Vic2NyaXB0aW9uID0gdGhpcy5zdGF0ZU1hY2hpbmUuYXV0aFNlcnZpY2Uuc3Vic2NyaWJlKChzdGF0ZSkgPT5cbiAgICAgIHRoaXMub25TdGF0ZVVwZGF0ZShzdGF0ZSlcbiAgICApO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3VzdG9tQ29tcG9uZW50cyA9IHRoaXMuY29udGV4dFNlcnZpY2UuY3VzdG9tQ29tcG9uZW50cztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYXV0aFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25TdGF0ZVVwZGF0ZShzdGF0ZTogQXV0aE1hY2hpbmVTdGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IGFjdG9yU3RhdGU6IFNpZ25VcFN0YXRlID0gZ2V0QWN0b3JTdGF0ZShzdGF0ZSk7XG4gICAgdGhpcy5yZW1vdGVFcnJvciA9IGFjdG9yU3RhdGUuY29udGV4dC5yZW1vdGVFcnJvcjtcbiAgICB0aGlzLmlzUGVuZGluZyA9ICFhY3RvclN0YXRlLm1hdGNoZXMoJ2NvbmZpcm1TaWduVXAuZWRpdCcpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0KCkge1xuICAgIGNvbnN0IHsgY2hhbmdlLCByZXNlbmQsIHNpZ25Jbiwgc3VibWl0IH0gPSB0aGlzLnN0YXRlTWFjaGluZS5zZXJ2aWNlcztcbiAgICBjb25zdCByZW1vdGVFcnJvciA9IHRoaXMucmVtb3RlRXJyb3I7XG4gICAgY29uc3QgdXNlcm5hbWUgPSB0aGlzLnVzZXJuYW1lO1xuICAgIHJldHVybiB7IGNoYW5nZSwgcmVtb3RlRXJyb3IsIHJlc2VuZCwgc2lnbkluLCBzdWJtaXQsIHVzZXJuYW1lIH07XG4gIH1cbiAgcmVzZW5kKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVNYWNoaW5lLnNlbmQoe1xuICAgICAgdHlwZTogJ1JFU0VORCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHVzZXJuYW1lOiB0aGlzLnVzZXJuYW1lLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uSW5wdXQoJGV2ZW50KSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgeyBuYW1lLCB2YWx1ZSB9ID0gJGV2ZW50LnRhcmdldDtcbiAgICB0aGlzLnN0YXRlTWFjaGluZS5zZW5kKHtcbiAgICAgIHR5cGU6ICdDSEFOR0UnLFxuICAgICAgZGF0YTogeyBuYW1lLCB2YWx1ZSB9LFxuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVNYWNoaW5lLmF1dGhTdGF0ZTtcbiAgICBjb25zdCBhY3RvckNvbnRleHQ6IFNpZ25VcENvbnRleHQgPSBnZXRBY3RvckNvbnRleHQoc3RhdGUpO1xuICAgIGNvbnN0IHsgZm9ybVZhbHVlcyB9ID0gYWN0b3JDb250ZXh0O1xuICAgIGNvbnN0IHsgdXNlcm5hbWUsIGNvbmZpcm1hdGlvbl9jb2RlIH0gPSBmb3JtVmFsdWVzO1xuXG4gICAgdGhpcy5zdGF0ZU1hY2hpbmUuc2VuZCh7XG4gICAgICB0eXBlOiAnU1VCTUlUJyxcbiAgICAgIGRhdGE6IHsgdXNlcm5hbWUsIGNvbmZpcm1hdGlvbl9jb2RlIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { FederatedIdentityProviders } from '@aws-amplify/ui';
3
- import { StateMachineService } from '../../services/state-machine.service';
4
- import { translate } from '@aws-amplify/ui';
5
- export class AmplifyFederatedSignInComponent {
6
- constructor(stateMachine) {
7
- this.stateMachine = stateMachine;
8
- this.FederatedProviders = FederatedIdentityProviders;
9
- this.includeFacebook = false;
10
- this.includeGoogle = false;
11
- this.includeAmazon = false;
12
- this.shouldShowFederatedSignIn = false;
13
- // translated texts
14
- this.signInFacebookText = translate('Sign In with Facebook');
15
- this.signInGoogleText = translate('Sign In with Google');
16
- this.signInAmazonText = translate('Sign In with Amazon');
17
- }
18
- ngOnInit() {
19
- var _a, _b;
20
- const loginMechanisms = (_b = (_a = this.stateMachine.context) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.login_mechanisms;
21
- this.includeFacebook = loginMechanisms === null || loginMechanisms === void 0 ? void 0 : loginMechanisms.includes('facebook');
22
- this.includeGoogle = loginMechanisms === null || loginMechanisms === void 0 ? void 0 : loginMechanisms.includes('google');
23
- this.includeAmazon = loginMechanisms === null || loginMechanisms === void 0 ? void 0 : loginMechanisms.includes('amazon');
24
- this.shouldShowFederatedSignIn =
25
- this.includeFacebook || this.includeGoogle || this.includeAmazon;
26
- }
27
- }
28
- AmplifyFederatedSignInComponent.decorators = [
29
- { type: Component, args: [{
30
- selector: 'amplify-federated-sign-in',
31
- template: "<div\n class=\"amplify-flex federated-sign-in-container\"\n style=\"flex-direction: column\"\n *ngIf=\"shouldShowFederatedSignIn\"\n data-orientation=\"horizontal\"\n data-size=\"small\"\n>\n <hr\n class=\"amplify-divider\"\n aria-orientation=\"horizontal\"\n data-size=\"small\"\n style=\"margin: '1rem 0'\"\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\" style=\"align-self: center\">\n {{ signInGoogleText }}\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\" style=\"align-self: center\">\n {{ signInFacebookText }}\n </p>\n </amplify-federated-sign-in-button>\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\" style=\"align-self: center\">\n {{ signInAmazonText }}\n </p>\n </amplify-federated-sign-in-button>\n</div>\n"
32
- },] }
33
- ];
34
- AmplifyFederatedSignInComponent.ctorParameters = () => [
35
- { type: StateMachineService }
36
- ];
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1mZWRlcmF0ZWQtc2lnbi1pbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hbXBsaWZ5LWZlZGVyYXRlZC1zaWduLWluL2FtcGxpZnktZmVkZXJhdGVkLXNpZ24taW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTTVDLE1BQU0sT0FBTywrQkFBK0I7SUFZMUMsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBWDlDLHVCQUFrQixHQUFHLDBCQUEwQixDQUFDO1FBQ2hELG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLDhCQUF5QixHQUFHLEtBQUssQ0FBQztRQUV6QyxtQkFBbUI7UUFDWix1QkFBa0IsR0FBRyxTQUFTLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUN4RCxxQkFBZ0IsR0FBRyxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBRyxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUVILENBQUM7SUFFekQsUUFBUTs7UUFDTixNQUFNLGVBQWUsZUFBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sMENBQUUsTUFBTSwwQ0FBRSxnQkFBZ0IsQ0FBQztRQUU1RSxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsYUFBZixlQUFlLHVCQUFmLGVBQWUsQ0FBRSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFlLGFBQWYsZUFBZSx1QkFBZixlQUFlLENBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxhQUFhLEdBQUcsZUFBZSxhQUFmLGVBQWUsdUJBQWYsZUFBZSxDQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMseUJBQXlCO1lBQzVCLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ3JFLENBQUM7OztZQTNCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsdXVMQUF5RDthQUMxRDs7O1lBTlEsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZlZGVyYXRlZElkZW50aXR5UHJvdmlkZXJzIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IFN0YXRlTWFjaGluZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdGF0ZS1tYWNoaW5lLnNlcnZpY2UnO1xuaW1wb3J0IHsgdHJhbnNsYXRlIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1mZWRlcmF0ZWQtc2lnbi1pbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbXBsaWZ5LWZlZGVyYXRlZC1zaWduLWluLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQW1wbGlmeUZlZGVyYXRlZFNpZ25JbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBGZWRlcmF0ZWRQcm92aWRlcnMgPSBGZWRlcmF0ZWRJZGVudGl0eVByb3ZpZGVycztcbiAgcHVibGljIGluY2x1ZGVGYWNlYm9vazogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgaW5jbHVkZUdvb2dsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgaW5jbHVkZUFtYXpvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2hvdWxkU2hvd0ZlZGVyYXRlZFNpZ25JbiA9IGZhbHNlO1xuXG4gIC8vIHRyYW5zbGF0ZWQgdGV4dHNcbiAgcHVibGljIHNpZ25JbkZhY2Vib29rVGV4dCA9IHRyYW5zbGF0ZSgnU2lnbiBJbiB3aXRoIEZhY2Vib29rJyk7XG4gIHB1YmxpYyBzaWduSW5Hb29nbGVUZXh0ID0gdHJhbnNsYXRlKCdTaWduIEluIHdpdGggR29vZ2xlJyk7XG4gIHB1YmxpYyBzaWduSW5BbWF6b25UZXh0ID0gdHJhbnNsYXRlKCdTaWduIEluIHdpdGggQW1hem9uJyk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdGF0ZU1hY2hpbmU6IFN0YXRlTWFjaGluZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgbG9naW5NZWNoYW5pc21zID0gdGhpcy5zdGF0ZU1hY2hpbmUuY29udGV4dD8uY29uZmlnPy5sb2dpbl9tZWNoYW5pc21zO1xuXG4gICAgdGhpcy5pbmNsdWRlRmFjZWJvb2sgPSBsb2dpbk1lY2hhbmlzbXM/LmluY2x1ZGVzKCdmYWNlYm9vaycpO1xuICAgIHRoaXMuaW5jbHVkZUdvb2dsZSA9IGxvZ2luTWVjaGFuaXNtcz8uaW5jbHVkZXMoJ2dvb2dsZScpO1xuICAgIHRoaXMuaW5jbHVkZUFtYXpvbiA9IGxvZ2luTWVjaGFuaXNtcz8uaW5jbHVkZXMoJ2FtYXpvbicpO1xuXG4gICAgdGhpcy5zaG91bGRTaG93RmVkZXJhdGVkU2lnbkluID1cbiAgICAgIHRoaXMuaW5jbHVkZUZhY2Vib29rIHx8IHRoaXMuaW5jbHVkZUdvb2dsZSB8fCB0aGlzLmluY2x1ZGVBbWF6b247XG4gIH1cbn1cbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { StateMachineService } from '../../services/state-machine.service';
3
- export class AmplifyFederatedSignInButtonComponent {
4
- constructor(stateMachine) {
5
- this.stateMachine = stateMachine;
6
- this.onClick = () => {
7
- this.stateMachine.send({
8
- type: 'FEDERATED_SIGN_IN',
9
- data: { provider: this.provider },
10
- });
11
- };
12
- }
13
- }
14
- AmplifyFederatedSignInButtonComponent.decorators = [
15
- { type: Component, args: [{
16
- selector: 'amplify-federated-sign-in-button',
17
- template: "<button\n amplify-button\n class=\"amplify-field-group__control federated-sign-in-button\"\n fullWidth=\"true\"\n fontWeight=\"normal\"\n style=\"display: block\"\n (click)=\"onClick()\"\n>\n <div\n class=\"amplify-flex federated-sign-in-button-row\"\n style=\"flex-direction: row; justify-content: center\"\n >\n <ng-content></ng-content>\n </div>\n</button>\n"
18
- },] }
19
- ];
20
- AmplifyFederatedSignInButtonComponent.ctorParameters = () => [
21
- { type: StateMachineService }
22
- ];
23
- AmplifyFederatedSignInButtonComponent.propDecorators = {
24
- provider: [{ type: Input }],
25
- text: [{ type: Input }]
26
- };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1mZWRlcmF0ZWQtc2lnbi1pbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYW1wbGlmeS1mZWRlcmF0ZWQtc2lnbi1pbi1idXR0b24vYW1wbGlmeS1mZWRlcmF0ZWQtc2lnbi1pbi1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBTTNFLE1BQU0sT0FBTyxxQ0FBcUM7SUFJaEQsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBRXJELFlBQU8sR0FBRyxHQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxtQkFBbUI7Z0JBQ3pCLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO2FBQ2xDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQVBzRCxDQUFDOzs7WUFSMUQsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQ0FBa0M7Z0JBQzVDLHVZQUFnRTthQUNqRTs7O1lBTFEsbUJBQW1COzs7dUJBT3pCLEtBQUs7bUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmVkZXJhdGVkSWRlbnRpdHlQcm92aWRlcnMgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgU3RhdGVNYWNoaW5lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0YXRlLW1hY2hpbmUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktZmVkZXJhdGVkLXNpZ24taW4tYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FtcGxpZnktZmVkZXJhdGVkLXNpZ24taW4tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQW1wbGlmeUZlZGVyYXRlZFNpZ25JbkJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHByb3ZpZGVyOiBGZWRlcmF0ZWRJZGVudGl0eVByb3ZpZGVycztcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RhdGVNYWNoaW5lOiBTdGF0ZU1hY2hpbmVTZXJ2aWNlKSB7fVxuXG4gIG9uQ2xpY2sgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5zdGF0ZU1hY2hpbmUuc2VuZCh7XG4gICAgICB0eXBlOiAnRkVERVJBVEVEX1NJR05fSU4nLFxuICAgICAgZGF0YTogeyBwcm92aWRlcjogdGhpcy5wcm92aWRlciB9LFxuICAgIH0pO1xuICB9O1xufVxuIl19
@@ -1,83 +0,0 @@
1
- import { Component, HostBinding, Input, } from '@angular/core';
2
- import { Logger } from 'aws-amplify';
3
- import { getActorContext, getActorState, } from '@aws-amplify/ui';
4
- import { StateMachineService } from '../../services/state-machine.service';
5
- import { AuthPropService } from '../../services/authenticator-context.service';
6
- import { translate } from '@aws-amplify/ui';
7
- const logger = new Logger('ForceNewPassword');
8
- export class AmplifyForceNewPasswordComponent {
9
- constructor(stateMachine, contextService) {
10
- this.stateMachine = stateMachine;
11
- this.contextService = contextService;
12
- this.dataAttr = '';
13
- this.headerText = translate('Change Password');
14
- this.customComponents = {};
15
- this.remoteError = '';
16
- this.isPending = false;
17
- // translated texts
18
- this.changePasswordText = translate('Change Password');
19
- this.backToSignInText = translate('Back to Sign In');
20
- }
21
- ngOnInit() {
22
- this.authSubscription = this.stateMachine.authService.subscribe((state) => this.onStateUpdate(state));
23
- }
24
- ngAfterContentInit() {
25
- this.customComponents = this.contextService.customComponents;
26
- }
27
- ngOnDestroy() {
28
- logger.log('sign in destroyed, unsubscribing from state machine...');
29
- this.authSubscription.unsubscribe();
30
- }
31
- onStateUpdate(state) {
32
- const actorState = getActorState(state);
33
- this.remoteError = actorState.context.remoteError;
34
- this.isPending = actorState.matches({
35
- signUp: {
36
- submission: 'idle',
37
- },
38
- });
39
- }
40
- get context() {
41
- const { change, signIn, submit } = this.stateMachine.services;
42
- const user = this.stateMachine.user;
43
- const remoteError = this.remoteError;
44
- return { change, remoteError, signIn, submit, user };
45
- }
46
- toSignIn() {
47
- this.stateMachine.send('SIGN_IN');
48
- }
49
- onInput(event) {
50
- event.preventDefault();
51
- const { name, value } = event.target;
52
- this.stateMachine.send({
53
- type: 'CHANGE',
54
- data: { name, value },
55
- });
56
- }
57
- onSubmit(event) {
58
- event.preventDefault();
59
- // consider stateMachine directly providing actorState / actorContext
60
- const state = this.stateMachine.authState;
61
- const actorState = getActorContext(state);
62
- const { formValues } = actorState;
63
- this.stateMachine.send({
64
- type: 'SUBMIT',
65
- data: formValues,
66
- });
67
- }
68
- }
69
- AmplifyForceNewPasswordComponent.decorators = [
70
- { type: Component, args: [{
71
- selector: 'amplify-force-new-password',
72
- template: "<!-- \n Define default contents here\n-->\n<ng-template #forceNewPasswordSubmitButton>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ changePasswordText }}\n </button>\n</ng-template>\n\n<ng-template #signInForm>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"isPending\"\n >\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n <amplify-form-field\n name=\"password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\n <amplify-form-field\n name=\"confirm_password\"\n label=\"Confirm Password\"\n type=\"password\"\n autocomplete=\"new-password\"\n ></amplify-form-field>\n\n <ng-container\n [ngTemplateOutlet]=\"\n customComponents.forceNewPasswordSubmitButton ||\n forceNewPasswordSubmitButton\n \"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"remoteError\">\n {{ remoteError }}\n </amplify-error>\n </fieldset>\n </form>\n</ng-template>\n\n<!-- \n Render force new password component\n-->\n<div data-amplify-container>\n <ng-container\n [ngTemplateOutlet]=\"customComponents.signInForm || signInForm\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n</div>\n"
73
- },] }
74
- ];
75
- AmplifyForceNewPasswordComponent.ctorParameters = () => [
76
- { type: StateMachineService },
77
- { type: AuthPropService }
78
- ];
79
- AmplifyForceNewPasswordComponent.propDecorators = {
80
- dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-forcenewpassword',] }],
81
- headerText: [{ type: Input }]
82
- };
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1mb3JjZS1uZXctcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYW1wbGlmeS1mb3JjZS1uZXctcGFzc3dvcmQvYW1wbGlmeS1mb3JjZS1uZXctcGFzc3dvcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFFTCxlQUFlLEVBQ2YsYUFBYSxHQUdkLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBTTlDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFpQjNDLFlBQ1UsWUFBaUMsRUFDakMsY0FBK0I7UUFEL0IsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQWZ6QyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ0UsZUFBVSxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRW5ELHFCQUFnQixHQUFxQyxFQUFFLENBQUM7UUFDeEQsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUl6QixtQkFBbUI7UUFDWix1QkFBa0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsRCxxQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUtwRCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUN4RSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvRCxDQUFDO0lBRUQsV0FBVztRQUNULE1BQU0sQ0FBQyxHQUFHLENBQUMsd0RBQXdELENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUF1QjtRQUNuQyxNQUFNLFVBQVUsR0FBZ0IsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQ2xDLE1BQU0sRUFBRTtnQkFDTixVQUFVLEVBQUUsTUFBTTthQUNuQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDOUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDcEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFxQixLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JCLElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVk7UUFDbkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLHFFQUFxRTtRQUNyRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztRQUMxQyxNQUFNLFVBQVUsR0FBa0IsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFFbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDckIsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsVUFBVTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFsRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLHd2REFBMEQ7YUFDM0Q7OztZQVRRLG1CQUFtQjtZQUNuQixlQUFlOzs7dUJBWXJCLFdBQVcsU0FBQyxrREFBa0Q7eUJBRTlELEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3hzdGF0ZSc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICdhd3MtYW1wbGlmeSc7XG5pbXBvcnQge1xuICBBdXRoTWFjaGluZVN0YXRlLFxuICBnZXRBY3RvckNvbnRleHQsXG4gIGdldEFjdG9yU3RhdGUsXG4gIFNpZ25JbkNvbnRleHQsXG4gIFNpZ25JblN0YXRlLFxufSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuaW1wb3J0IHsgU3RhdGVNYWNoaW5lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0YXRlLW1hY2hpbmUuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoUHJvcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdGb3JjZU5ld1Bhc3N3b3JkJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktZm9yY2UtbmV3LXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FtcGxpZnktZm9yY2UtbmV3LXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQW1wbGlmeUZvcmNlTmV3UGFzc3dvcmRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3ItZm9yY2VuZXdwYXNzd29yZCcpXG4gIGRhdGFBdHRyID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBoZWFkZXJUZXh0ID0gdHJhbnNsYXRlKCdDaGFuZ2UgUGFzc3dvcmQnKTtcblxuICBwdWJsaWMgY3VzdG9tQ29tcG9uZW50czogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4gPSB7fTtcbiAgcHVibGljIHJlbW90ZUVycm9yID0gJyc7XG4gIHB1YmxpYyBpc1BlbmRpbmcgPSBmYWxzZTtcblxuICBwcml2YXRlIGF1dGhTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAvLyB0cmFuc2xhdGVkIHRleHRzXG4gIHB1YmxpYyBjaGFuZ2VQYXNzd29yZFRleHQgPSB0cmFuc2xhdGUoJ0NoYW5nZSBQYXNzd29yZCcpO1xuICBwdWJsaWMgYmFja1RvU2lnbkluVGV4dCA9IHRyYW5zbGF0ZSgnQmFjayB0byBTaWduIEluJyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdGF0ZU1hY2hpbmU6IFN0YXRlTWFjaGluZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQXV0aFByb3BTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dGhTdWJzY3JpcHRpb24gPSB0aGlzLnN0YXRlTWFjaGluZS5hdXRoU2VydmljZS5zdWJzY3JpYmUoKHN0YXRlKSA9PlxuICAgICAgdGhpcy5vblN0YXRlVXBkYXRlKHN0YXRlKVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jdXN0b21Db21wb25lbnRzID0gdGhpcy5jb250ZXh0U2VydmljZS5jdXN0b21Db21wb25lbnRzO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgbG9nZ2VyLmxvZygnc2lnbiBpbiBkZXN0cm95ZWQsIHVuc3Vic2NyaWJpbmcgZnJvbSBzdGF0ZSBtYWNoaW5lLi4uJyk7XG4gICAgdGhpcy5hdXRoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvblN0YXRlVXBkYXRlKHN0YXRlOiBBdXRoTWFjaGluZVN0YXRlKTogdm9pZCB7XG4gICAgY29uc3QgYWN0b3JTdGF0ZTogU2lnbkluU3RhdGUgPSBnZXRBY3RvclN0YXRlKHN0YXRlKTtcbiAgICB0aGlzLnJlbW90ZUVycm9yID0gYWN0b3JTdGF0ZS5jb250ZXh0LnJlbW90ZUVycm9yO1xuICAgIHRoaXMuaXNQZW5kaW5nID0gYWN0b3JTdGF0ZS5tYXRjaGVzKHtcbiAgICAgIHNpZ25VcDoge1xuICAgICAgICBzdWJtaXNzaW9uOiAnaWRsZScsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0KCkge1xuICAgIGNvbnN0IHsgY2hhbmdlLCBzaWduSW4sIHN1Ym1pdCB9ID0gdGhpcy5zdGF0ZU1hY2hpbmUuc2VydmljZXM7XG4gICAgY29uc3QgdXNlciA9IHRoaXMuc3RhdGVNYWNoaW5lLnVzZXI7XG4gICAgY29uc3QgcmVtb3RlRXJyb3IgPSB0aGlzLnJlbW90ZUVycm9yO1xuICAgIHJldHVybiB7IGNoYW5nZSwgcmVtb3RlRXJyb3IsIHNpZ25Jbiwgc3VibWl0LCB1c2VyIH07XG4gIH1cblxuICB0b1NpZ25JbigpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlTWFjaGluZS5zZW5kKCdTSUdOX0lOJyk7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgeyBuYW1lLCB2YWx1ZSB9ID0gPEhUTUxJbnB1dEVsZW1lbnQ+ZXZlbnQudGFyZ2V0O1xuICAgIHRoaXMuc3RhdGVNYWNoaW5lLnNlbmQoe1xuICAgICAgdHlwZTogJ0NIQU5HRScsXG4gICAgICBkYXRhOiB7IG5hbWUsIHZhbHVlIH0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIC8vIGNvbnNpZGVyIHN0YXRlTWFjaGluZSBkaXJlY3RseSBwcm92aWRpbmcgYWN0b3JTdGF0ZSAvIGFjdG9yQ29udGV4dFxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZU1hY2hpbmUuYXV0aFN0YXRlO1xuICAgIGNvbnN0IGFjdG9yU3RhdGU6IFNpZ25JbkNvbnRleHQgPSBnZXRBY3RvckNvbnRleHQoc3RhdGUpO1xuICAgIGNvbnN0IHsgZm9ybVZhbHVlcyB9ID0gYWN0b3JTdGF0ZTtcblxuICAgIHRoaXMuc3RhdGVNYWNoaW5lLnNlbmQoe1xuICAgICAgdHlwZTogJ1NVQk1JVCcsXG4gICAgICBkYXRhOiBmb3JtVmFsdWVzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,68 +0,0 @@
1
- import { Component, HostBinding, Input, } from '@angular/core';
2
- import { getActorState } from '@aws-amplify/ui';
3
- import { AuthPropService } from '../../services/authenticator-context.service';
4
- import { StateMachineService } from '../../services/state-machine.service';
5
- import { translate } from '@aws-amplify/ui';
6
- export class AmplifyResetPasswordComponent {
7
- constructor(stateMachine, contextService) {
8
- this.stateMachine = stateMachine;
9
- this.contextService = contextService;
10
- this.dataAttr = '';
11
- this.headerText = translate('Reset your password');
12
- this.customComponents = {};
13
- this.remoteError = '';
14
- this.isPending = false;
15
- // translated texts
16
- this.sendCodeText = translate('Send Code');
17
- this.backToSignInText = translate('Back to Sign In');
18
- }
19
- ngOnInit() {
20
- this.authSubscription = this.stateMachine.authService.subscribe((state) => this.onStateUpdate(state));
21
- }
22
- ngAfterContentInit() {
23
- this.customComponents = this.contextService.customComponents;
24
- }
25
- ngOnDestroy() {
26
- this.authSubscription.unsubscribe();
27
- }
28
- onStateUpdate(state) {
29
- const actorState = getActorState(state);
30
- this.remoteError = actorState.context.remoteError;
31
- this.isPending = !actorState.matches('resetPassword.edit');
32
- }
33
- get context() {
34
- const { change, signIn, submit } = this.stateMachine.services;
35
- const remoteError = this.remoteError;
36
- return { change, remoteError, signIn, submit };
37
- }
38
- toSignIn() {
39
- this.stateMachine.send('SIGN_IN');
40
- }
41
- onInput(event) {
42
- event.preventDefault();
43
- const { name, value } = event.target;
44
- this.stateMachine.send({
45
- type: 'CHANGE',
46
- data: { name, value },
47
- });
48
- }
49
- onSubmit(event) {
50
- event.preventDefault();
51
- this.stateMachine.send('SUBMIT');
52
- }
53
- }
54
- AmplifyResetPasswordComponent.decorators = [
55
- { type: Component, args: [{
56
- selector: 'amplify-reset-password',
57
- template: "<!-- \n Define default contents here\n-->\n<ng-template #resetPasswordSubmitButton>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ sendCodeText }}\n </button>\n</ng-template>\n\n<ng-template #resetPasswordForm>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"isPending\"\n >\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n <amplify-form-field\n name=\"username\"\n type=\"username\"\n autocomplete=\"username\"\n ></amplify-form-field>\n <ng-container\n [ngTemplateOutlet]=\"\n customComponents.resetPasswordSubmitButton ||\n resetPasswordSubmitButton\n \"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"remoteError\">\n {{ remoteError }}\n </amplify-error>\n </fieldset>\n </form>\n</ng-template>\n\n<!-- \n Render reset passsword component\n-->\n<div data-amplify-container>\n <ng-container\n [ngTemplateOutlet]=\"customComponents.resetPasswordForm || resetPasswordForm\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n</div>\n"
58
- },] }
59
- ];
60
- AmplifyResetPasswordComponent.ctorParameters = () => [
61
- { type: StateMachineService },
62
- { type: AuthPropService }
63
- ];
64
- AmplifyResetPasswordComponent.propDecorators = {
65
- dataAttr: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-resetPassword',] }],
66
- headerText: [{ type: Input }]
67
- };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1yZXNldC1wYXNzd29yZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hbXBsaWZ5LXJlc2V0LXBhc3N3b3JkL2FtcGxpZnktcmVzZXQtcGFzc3dvcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW9CLGFBQWEsRUFBZSxNQUFNLGlCQUFpQixDQUFDO0FBRS9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFNNUMsTUFBTSxPQUFPLDZCQUE2QjtJQWdCeEMsWUFDVSxZQUFpQyxFQUNqQyxjQUErQjtRQUQvQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBZnFCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDNUQsZUFBVSxHQUFHLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXZELHFCQUFnQixHQUFxQyxFQUFFLENBQUM7UUFDeEQsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUl6QixtQkFBbUI7UUFDWixpQkFBWSxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUtwRCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUN4RSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQXVCO1FBQ25DLE1BQU0sVUFBVSxHQUFnQixhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDOUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQXFCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDckIsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7O1lBbkVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyx5akRBQXNEO2FBQ3ZEOzs7WUFOUSxtQkFBbUI7WUFEbkIsZUFBZTs7O3VCQVdyQixXQUFXLFNBQUMsK0NBQStDO3lCQUMzRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoTWFjaGluZVN0YXRlLCBnZXRBY3RvclN0YXRlLCBTaWduSW5TdGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICd4c3RhdGUnO1xuaW1wb3J0IHsgQXV0aFByb3BTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdGVNYWNoaW5lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0YXRlLW1hY2hpbmUuc2VydmljZSc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LXJlc2V0LXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FtcGxpZnktcmVzZXQtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBbXBsaWZ5UmVzZXRQYXNzd29yZENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFtcGxpZnktYXV0aGVudGljYXRvci1yZXNldFBhc3N3b3JkJykgZGF0YUF0dHIgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGhlYWRlclRleHQgPSB0cmFuc2xhdGUoJ1Jlc2V0IHlvdXIgcGFzc3dvcmQnKTtcblxuICBwdWJsaWMgY3VzdG9tQ29tcG9uZW50czogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4gPSB7fTtcbiAgcHVibGljIHJlbW90ZUVycm9yID0gJyc7XG4gIHB1YmxpYyBpc1BlbmRpbmcgPSBmYWxzZTtcblxuICBwcml2YXRlIGF1dGhTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAvLyB0cmFuc2xhdGVkIHRleHRzXG4gIHB1YmxpYyBzZW5kQ29kZVRleHQgPSB0cmFuc2xhdGUoJ1NlbmQgQ29kZScpO1xuICBwdWJsaWMgYmFja1RvU2lnbkluVGV4dCA9IHRyYW5zbGF0ZSgnQmFjayB0byBTaWduIEluJyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdGF0ZU1hY2hpbmU6IFN0YXRlTWFjaGluZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQXV0aFByb3BTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dGhTdWJzY3JpcHRpb24gPSB0aGlzLnN0YXRlTWFjaGluZS5hdXRoU2VydmljZS5zdWJzY3JpYmUoKHN0YXRlKSA9PlxuICAgICAgdGhpcy5vblN0YXRlVXBkYXRlKHN0YXRlKVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5jdXN0b21Db21wb25lbnRzID0gdGhpcy5jb250ZXh0U2VydmljZS5jdXN0b21Db21wb25lbnRzO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5hdXRoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvblN0YXRlVXBkYXRlKHN0YXRlOiBBdXRoTWFjaGluZVN0YXRlKTogdm9pZCB7XG4gICAgY29uc3QgYWN0b3JTdGF0ZTogU2lnbkluU3RhdGUgPSBnZXRBY3RvclN0YXRlKHN0YXRlKTtcbiAgICB0aGlzLnJlbW90ZUVycm9yID0gYWN0b3JTdGF0ZS5jb250ZXh0LnJlbW90ZUVycm9yO1xuICAgIHRoaXMuaXNQZW5kaW5nID0gIWFjdG9yU3RhdGUubWF0Y2hlcygncmVzZXRQYXNzd29yZC5lZGl0Jyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgY29uc3QgeyBjaGFuZ2UsIHNpZ25Jbiwgc3VibWl0IH0gPSB0aGlzLnN0YXRlTWFjaGluZS5zZXJ2aWNlcztcbiAgICBjb25zdCByZW1vdGVFcnJvciA9IHRoaXMucmVtb3RlRXJyb3I7XG4gICAgcmV0dXJuIHsgY2hhbmdlLCByZW1vdGVFcnJvciwgc2lnbkluLCBzdWJtaXQgfTtcbiAgfVxuXG4gIHRvU2lnbkluKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVNYWNoaW5lLnNlbmQoJ1NJR05fSU4nKTtcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB7IG5hbWUsIHZhbHVlIH0gPSA8SFRNTElucHV0RWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgdGhpcy5zdGF0ZU1hY2hpbmUuc2VuZCh7XG4gICAgICB0eXBlOiAnQ0hBTkdFJyxcbiAgICAgIGRhdGE6IHsgbmFtZSwgdmFsdWUgfSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5zdGF0ZU1hY2hpbmUuc2VuZCgnU1VCTUlUJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,100 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, HostBinding, } from '@angular/core';
3
- import QRCode from 'qrcode';
4
- import { Auth, Logger } from 'aws-amplify';
5
- import { getActorContext, getActorState, } from '@aws-amplify/ui';
6
- import { StateMachineService } from '../../services/state-machine.service';
7
- import { AuthPropService } from '../../services/authenticator-context.service';
8
- import { translate } from '@aws-amplify/ui';
9
- const logger = new Logger('SetupTotp');
10
- export class AmplifySetupTotpComponent {
11
- constructor(stateMachine, contextService) {
12
- this.stateMachine = stateMachine;
13
- this.contextService = contextService;
14
- this.customComponents = {};
15
- this.remoteError = '';
16
- this.isPending = false;
17
- this.headerText = translate('Setup TOTP');
18
- this.qrCodeSource = '';
19
- // translated texts
20
- this.backToSignInText = translate('Back to Sign In');
21
- this.confirmText = translate('Confirm');
22
- }
23
- ngOnInit() {
24
- this.authSubscription = this.stateMachine.authService.subscribe((state) => {
25
- this.onStateUpdate(state);
26
- });
27
- this.generateQRCode();
28
- }
29
- ngAfterContentInit() {
30
- this.customComponents = this.contextService.customComponents;
31
- }
32
- ngOnDestroy() {
33
- this.authSubscription.unsubscribe();
34
- }
35
- onStateUpdate(state) {
36
- const actorState = getActorState(state);
37
- this.remoteError = actorState.context.remoteError;
38
- this.isPending = !actorState.matches('setupTOTP.edit');
39
- }
40
- get context() {
41
- const { change, submit } = this.stateMachine.services;
42
- const remoteError = this.remoteError;
43
- const user = this.stateMachine.user;
44
- return { change, remoteError, submit, user };
45
- }
46
- generateQRCode() {
47
- var _a;
48
- return __awaiter(this, void 0, void 0, function* () {
49
- // TODO: This should be handled in core.
50
- const state = this.stateMachine.authState;
51
- const actorContext = getActorContext(state);
52
- const { user } = actorContext;
53
- try {
54
- const secretKey = yield Auth.setupTOTP(user);
55
- const issuer = 'AWSCognito';
56
- const totpCode = `otpauth://totp/${issuer}:${user.username}?secret=${secretKey}&issuer=${issuer}`;
57
- logger.info('totp code was generated:', totpCode);
58
- this.qrCodeSource = yield QRCode.toDataURL(totpCode);
59
- }
60
- catch (err) {
61
- this.remoteError = (_a = err.message) !== null && _a !== void 0 ? _a : err;
62
- logger.error(err);
63
- }
64
- });
65
- }
66
- onInput(event) {
67
- event.preventDefault();
68
- const { name, value } = event.target;
69
- this.stateMachine.send({
70
- type: 'CHANGE',
71
- data: { name, value },
72
- });
73
- }
74
- onSubmit(event) {
75
- event.preventDefault();
76
- // TODO: handle form data within the state machine
77
- const formData = new FormData(event.target);
78
- this.stateMachine.send({
79
- type: 'SUBMIT',
80
- data: Object.fromEntries(formData),
81
- });
82
- }
83
- toSignIn() {
84
- this.stateMachine.send('SIGN_IN');
85
- }
86
- }
87
- AmplifySetupTotpComponent.decorators = [
88
- { type: Component, args: [{
89
- selector: 'amplify-setup-totp',
90
- template: "<!-- \n Define default contents here\n-->\n<ng-template #setupTotpButton>\n <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n {{ confirmText }}\n </button>\n</ng-template>\n\n<ng-template #setupTotpForm>\n <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n <fieldset\n class=\"amplify-flex\"\n style=\"flex-direction: column\"\n data-amplify-fieldset\n [disabled]=\"isPending\"\n >\n <h3 class=\"amplify-heading\">{{ this.headerText }}</h3>\n <p *ngIf=\"!qrCodeSource\">Loading...</p>\n <img\n *ngIf=\"qrCodeSource\"\n [src]=\"qrCodeSource\"\n alt=\"qr code\"\n data-amplify-qrcode\n />\n <amplify-form-field\n name=\"confirmation_code\"\n label=\"Code *\"\n type=\"text\"\n autocomplete=\"one-time-code\"\n ></amplify-form-field>\n <ng-container\n [ngTemplateOutlet]=\"customComponents.setupTotpButton || setupTotpButton\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n <button\n amplify-button\n size=\"small\"\n variation=\"link\"\n fontWeight=\"normal\"\n fullWidth=\"true\"\n (click)=\"toSignIn()\"\n >\n {{ backToSignInText }}\n </button>\n <amplify-error *ngIf=\"remoteError\">\n {{ remoteError }}\n </amplify-error>\n </fieldset>\n </form>\n</ng-template>\n\n<!-- \n Render sign in component\n-->\n<div data-amplify-container>\n <ng-container\n [ngTemplateOutlet]=\"customComponents.setupTotpForm || setupTotpForm\"\n [ngTemplateOutletContext]=\"context\"\n >\n </ng-container>\n</div>\n"
91
- },] }
92
- ];
93
- AmplifySetupTotpComponent.ctorParameters = () => [
94
- { type: StateMachineService },
95
- { type: AuthPropService }
96
- ];
97
- AmplifySetupTotpComponent.propDecorators = {
98
- customComponents: [{ type: HostBinding, args: ['attr.data-amplify-authenticator-setup-totp',] }]
99
- };
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1zZXR1cC10b3RwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FtcGxpZnktc2V0dXAtdG90cC9hbXBsaWZ5LXNldHVwLXRvdHAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFdBQVcsR0FJWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxFQUVMLGVBQWUsRUFDZixhQUFhLEdBR2QsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBTXZDLE1BQU0sT0FBTyx5QkFBeUI7SUFnQnBDLFlBQ1UsWUFBaUMsRUFDakMsY0FBK0I7UUFEL0IsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQWRsQyxxQkFBZ0IsR0FBcUMsRUFBRSxDQUFDO1FBQ3hELGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZUFBVSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUl6QixtQkFBbUI7UUFDWixxQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztR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SyxDQUFDLE1BQXlCLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztTQUNuQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OztZQTVGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsc3NEQUFrRDthQUNuRDs7O1lBVFEsbUJBQW1CO1lBQ25CLGVBQWU7OzsrQkFZckIsV0FBVyxTQUFDLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICd4c3RhdGUnO1xuaW1wb3J0IFFSQ29kZSBmcm9tICdxcmNvZGUnO1xuaW1wb3J0IHsgQXV0aCwgTG9nZ2VyIH0gZnJvbSAnYXdzLWFtcGxpZnknO1xuaW1wb3J0IHtcbiAgQXV0aE1hY2hpbmVTdGF0ZSxcbiAgZ2V0QWN0b3JDb250ZXh0LFxuICBnZXRBY3RvclN0YXRlLFxuICBTaWduSW5Db250ZXh0LFxuICBTaWduSW5TdGF0ZSxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IFN0YXRlTWFjaGluZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdGF0ZS1tYWNoaW5lLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFByb3BTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRvci1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgdHJhbnNsYXRlIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcignU2V0dXBUb3RwJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktc2V0dXAtdG90cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbXBsaWZ5LXNldHVwLXRvdHAuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBbXBsaWZ5U2V0dXBUb3RwQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtYW1wbGlmeS1hdXRoZW50aWNhdG9yLXNldHVwLXRvdHAnKVxuICBwdWJsaWMgY3VzdG9tQ29tcG9uZW50czogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4gPSB7fTtcbiAgcHVibGljIHJlbW90ZUVycm9yID0gJyc7XG4gIHB1YmxpYyBpc1BlbmRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGhlYWRlclRleHQgPSB0cmFuc2xhdGUoJ1NldHVwIFRPVFAnKTtcbiAgcHVibGljIHFyQ29kZVNvdXJjZSA9ICcnO1xuXG4gIHByaXZhdGUgYXV0aFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIC8vIHRyYW5zbGF0ZWQgdGV4dHNcbiAgcHVibGljIGJhY2tUb1NpZ25JblRleHQgPSB0cmFuc2xhdGUoJ0JhY2sgdG8gU2lnbiBJbicpO1xuICBwdWJsaWMgY29uZmlybVRleHQgPSB0cmFuc2xhdGUoJ0NvbmZpcm0nKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0YXRlTWFjaGluZTogU3RhdGVNYWNoaW5lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBBdXRoUHJvcFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYXV0aFN1YnNjcmlwdGlvbiA9IHRoaXMuc3RhdGVNYWNoaW5lLmF1dGhTZXJ2aWNlLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgIHRoaXMub25TdGF0ZVVwZGF0ZShzdGF0ZSk7XG4gICAgfSk7XG4gICAgdGhpcy5nZW5lcmF0ZVFSQ29kZSgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3VzdG9tQ29tcG9uZW50cyA9IHRoaXMuY29udGV4dFNlcnZpY2UuY3VzdG9tQ29tcG9uZW50cztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYXV0aFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25TdGF0ZVVwZGF0ZShzdGF0ZTogQXV0aE1hY2hpbmVTdGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IGFjdG9yU3RhdGU6IFNpZ25JblN0YXRlID0gZ2V0QWN0b3JTdGF0ZShzdGF0ZSk7XG4gICAgdGhpcy5yZW1vdGVFcnJvciA9IGFjdG9yU3RhdGUuY29udGV4dC5yZW1vdGVFcnJvcjtcbiAgICB0aGlzLmlzUGVuZGluZyA9ICFhY3RvclN0YXRlLm1hdGNoZXMoJ3NldHVwVE9UUC5lZGl0Jyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgY29uc3QgeyBjaGFuZ2UsIHN1Ym1pdCB9ID0gdGhpcy5zdGF0ZU1hY2hpbmUuc2VydmljZXM7XG4gICAgY29uc3QgcmVtb3RlRXJyb3IgPSB0aGlzLnJlbW90ZUVycm9yO1xuICAgIGNvbnN0IHVzZXIgPSB0aGlzLnN0YXRlTWFjaGluZS51c2VyO1xuICAgIHJldHVybiB7IGNoYW5nZSwgcmVtb3RlRXJyb3IsIHN1Ym1pdCwgdXNlciB9O1xuICB9XG5cbiAgYXN5bmMgZ2VuZXJhdGVRUkNvZGUoKSB7XG4gICAgLy8gVE9ETzogVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBpbiBjb3JlLlxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZU1hY2hpbmUuYXV0aFN0YXRlO1xuICAgIGNvbnN0IGFjdG9yQ29udGV4dDogU2lnbkluQ29udGV4dCA9IGdldEFjdG9yQ29udGV4dChzdGF0ZSk7XG4gICAgY29uc3QgeyB1c2VyIH0gPSBhY3RvckNvbnRleHQ7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlY3JldEtleSA9IGF3YWl0IEF1dGguc2V0dXBUT1RQKHVzZXIpO1xuICAgICAgY29uc3QgaXNzdWVyID0gJ0FXU0NvZ25pdG8nO1xuICAgICAgY29uc3QgdG90cENvZGUgPSBgb3RwYXV0aDovL3RvdHAvJHtpc3N1ZXJ9OiR7dXNlci51c2VybmFtZX0/c2VjcmV0PSR7c2VjcmV0S2V5fSZpc3N1ZXI9JHtpc3N1ZXJ9YDtcblxuICAgICAgbG9nZ2VyLmluZm8oJ3RvdHAgY29kZSB3YXMgZ2VuZXJhdGVkOicsIHRvdHBDb2RlKTtcbiAgICAgIHRoaXMucXJDb2RlU291cmNlID0gYXdhaXQgUVJDb2RlLnRvRGF0YVVSTCh0b3RwQ29kZSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLnJlbW90ZUVycm9yID0gZXJyLm1lc3NhZ2UgPz8gZXJyO1xuICAgICAgbG9nZ2VyLmVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUgfSA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLnN0YXRlTWFjaGluZS5zZW5kKHtcbiAgICAgIHR5cGU6ICdDSEFOR0UnLFxuICAgICAgZGF0YTogeyBuYW1lLCB2YWx1ZSB9LFxuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAvLyBUT0RPOiBoYW5kbGUgZm9ybSBkYXRhIHdpdGhpbiB0aGUgc3RhdGUgbWFjaGluZVxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKGV2ZW50LnRhcmdldCBhcyBIVE1MRm9ybUVsZW1lbnQpO1xuICAgIHRoaXMuc3RhdGVNYWNoaW5lLnNlbmQoe1xuICAgICAgdHlwZTogJ1NVQk1JVCcsXG4gICAgICBkYXRhOiBPYmplY3QuZnJvbUVudHJpZXMoZm9ybURhdGEpLFxuICAgIH0pO1xuICB9XG5cbiAgdG9TaWduSW4oKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZU1hY2hpbmUuc2VuZCgnU0lHTl9JTicpO1xuICB9XG59XG4iXX0=