@aws-amplify/ui-angular 2.0.1-next.4 → 2.0.2

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 -23
  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 +890 -2845
  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 -24
  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 +79 -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 +93 -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 +43 -0
  43. package/esm2015/lib/primitives/phone-number-field/phone-number-field.component.js +40 -0
  44. package/esm2015/lib/primitives/select/select.component.js +17 -0
  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 +133 -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 +668 -2604
  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 +67 -0
  65. package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +50 -0
  66. package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +52 -0
  67. package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +49 -0
  68. package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +49 -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 +49 -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 -5
  73. package/lib/components/authenticator/components/index.d.ts +16 -0
  74. package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +52 -0
  75. package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +53 -0
  76. package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +48 -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 +47 -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 +54 -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} +3 -2
  86. package/lib/primitives/phone-number-field/phone-number-field.component.d.ts +16 -0
  87. package/lib/primitives/{amplify-select/amplify-select.component.d.ts → select/select.component.d.ts} +2 -2
  88. package/lib/primitives/{amplify-text-field/amplify-text-field.component.d.ts → text-field/text-field.component.d.ts} +4 -5
  89. package/lib/services/authenticator.service.d.ts +94 -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 -98
  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 -89
  113. package/esm2015/lib/primitives/amplify-password-field/amplify-password-field.component.js +0 -39
  114. package/esm2015/lib/primitives/amplify-select/amplify-select.component.js +0 -17
  115. package/esm2015/lib/primitives/amplify-text-field/amplify-text-field.component.js +0 -39
  116. package/esm2015/lib/primitives/amplify-user-name-alias/amplify-user-name-alias.component.js +0 -35
  117. package/esm2015/lib/proxies.js +0 -1839
  118. package/esm2015/lib/services/authenticator-context.service.js +0 -28
  119. package/esm2015/lib/services/state-machine.service.js +0 -52
  120. package/esm2015/lib/ui-angular.module.js +0 -101
  121. package/lib/components/amplify-authenticator/amplify-authenticator.component.d.ts +0 -36
  122. package/lib/components/amplify-confirm-sign-in/amplify-confirm-sign-in.component.d.ts +0 -31
  123. package/lib/components/amplify-confirm-sign-up/amplify-confirm-sign-up.component.d.ts +0 -34
  124. package/lib/components/amplify-federated-sign-in-button/amplify-federated-sign-in-button.component.d.ts +0 -9
  125. package/lib/components/amplify-force-new-password/amplify-force-new-password.component.d.ts +0 -31
  126. package/lib/components/amplify-reset-password/amplify-reset-password.component.d.ts +0 -30
  127. package/lib/components/amplify-setup-totp/amplify-setup-totp.component.d.ts +0 -31
  128. package/lib/components/amplify-sign-in/amplify-sign-in.component.d.ts +0 -32
  129. package/lib/components/amplify-sign-up/amplify-sign-up.component.d.ts +0 -32
  130. package/lib/components/amplify-verify-user/amplify-verify-user.component.d.ts +0 -32
  131. package/lib/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +0 -34
  132. package/lib/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +0 -28
  133. package/lib/components/index.d.ts +0 -13
  134. package/lib/primitives/amplify-error/amplify-error.component.d.ts +0 -2
  135. package/lib/services/authenticator-context.service.d.ts +0 -10
  136. package/lib/services/state-machine.service.d.ts +0 -29
  137. package/lib/ui-angular.module.d.ts +0 -2
@@ -0,0 +1,53 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { AuthenticatorService } from '../../../../services/authenticator.service';
3
+ export declare class SetupTotpComponent implements OnInit {
4
+ authenticator: AuthenticatorService;
5
+ dataAttr: string;
6
+ headerText: string;
7
+ qrCodeSource: string;
8
+ backToSignInText: string;
9
+ confirmText: string;
10
+ constructor(authenticator: AuthenticatorService);
11
+ ngOnInit(): void;
12
+ get context(): {
13
+ $implicit: {
14
+ resendCode: (data?: Record<string | number | symbol, any>) => void;
15
+ signOut: (data?: Record<string | number | symbol, any>) => void;
16
+ submitForm: (data?: Record<string | number | symbol, any>) => void;
17
+ updateForm: (data?: Record<string | number | symbol, any>) => void;
18
+ toFederatedSignIn: (data?: Record<string | number | symbol, any>) => void;
19
+ toResetPassword: (data?: Record<string | number | symbol, any>) => void;
20
+ toSignIn: (data?: Record<string | number | symbol, any>) => void;
21
+ toSignUp: (data?: Record<string | number | symbol, any>) => void;
22
+ skipVerification: (data?: Record<string | number | symbol, any>) => void;
23
+ error: string;
24
+ hasValidationErrors: boolean;
25
+ isPending: boolean;
26
+ route: string;
27
+ user: import("@aws-amplify/ui").CognitoUserAmplify;
28
+ validationErrors: {
29
+ [x: string]: string;
30
+ };
31
+ };
32
+ resendCode: (data?: Record<string | number | symbol, any>) => void;
33
+ signOut: (data?: Record<string | number | symbol, any>) => void;
34
+ submitForm: (data?: Record<string | number | symbol, any>) => void;
35
+ updateForm: (data?: Record<string | number | symbol, any>) => void;
36
+ toFederatedSignIn: (data?: Record<string | number | symbol, any>) => void;
37
+ toResetPassword: (data?: Record<string | number | symbol, any>) => void;
38
+ toSignIn: (data?: Record<string | number | symbol, any>) => void;
39
+ toSignUp: (data?: Record<string | number | symbol, any>) => void;
40
+ skipVerification: (data?: Record<string | number | symbol, any>) => void;
41
+ error: string;
42
+ hasValidationErrors: boolean;
43
+ isPending: boolean;
44
+ route: string;
45
+ user: import("@aws-amplify/ui").CognitoUserAmplify;
46
+ validationErrors: {
47
+ [x: string]: string;
48
+ };
49
+ };
50
+ generateQRCode(): Promise<void>;
51
+ onInput(event: Event): void;
52
+ onSubmit(event: Event): void;
53
+ }
@@ -0,0 +1,48 @@
1
+ import { AuthenticatorService } from '../../../../services/authenticator.service';
2
+ export declare class SignInComponent {
3
+ authenticator: AuthenticatorService;
4
+ dataAttr: string;
5
+ forgotPasswordText: string;
6
+ signInButtonText: string;
7
+ constructor(authenticator: AuthenticatorService);
8
+ get context(): {
9
+ $implicit: {
10
+ resendCode: (data?: Record<string | number | symbol, any>) => void;
11
+ signOut: (data?: Record<string | number | symbol, any>) => void;
12
+ submitForm: (data?: Record<string | number | symbol, any>) => void;
13
+ updateForm: (data?: Record<string | number | symbol, any>) => void;
14
+ toFederatedSignIn: (data?: Record<string | number | symbol, any>) => void;
15
+ toResetPassword: (data?: Record<string | number | symbol, any>) => void;
16
+ toSignIn: (data?: Record<string | number | symbol, any>) => void;
17
+ toSignUp: (data?: Record<string | number | symbol, any>) => void;
18
+ skipVerification: (data?: Record<string | number | symbol, any>) => void;
19
+ error: string;
20
+ hasValidationErrors: boolean;
21
+ isPending: boolean;
22
+ route: string;
23
+ user: import("@aws-amplify/ui").CognitoUserAmplify;
24
+ validationErrors: {
25
+ [x: string]: string;
26
+ };
27
+ };
28
+ resendCode: (data?: Record<string | number | symbol, any>) => void;
29
+ signOut: (data?: Record<string | number | symbol, any>) => void;
30
+ submitForm: (data?: Record<string | number | symbol, any>) => void;
31
+ updateForm: (data?: Record<string | number | symbol, any>) => void;
32
+ toFederatedSignIn: (data?: Record<string | number | symbol, any>) => void;
33
+ toResetPassword: (data?: Record<string | number | symbol, any>) => void;
34
+ toSignIn: (data?: Record<string | number | symbol, any>) => void;
35
+ toSignUp: (data?: Record<string | number | symbol, any>) => void;
36
+ skipVerification: (data?: Record<string | number | symbol, any>) => void;
37
+ error: string;
38
+ hasValidationErrors: boolean;
39
+ isPending: boolean;
40
+ route: string;
41
+ user: import("@aws-amplify/ui").CognitoUserAmplify;
42
+ validationErrors: {
43
+ [x: string]: string;
44
+ };
45
+ };
46
+ onInput(event: Event): void;
47
+ onSubmit(event: Event): void;
48
+ }
@@ -0,0 +1,12 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { AuthenticatorService } from '../../../../../services/authenticator.service';
3
+ import { LoginMechanism, SignUpAttribute } from '@aws-amplify/ui';
4
+ export declare class SignUpFormFieldsComponent implements OnInit {
5
+ private authenticator;
6
+ primaryAlias: string;
7
+ secondaryAliases: string[];
8
+ fieldNames: Array<LoginMechanism | SignUpAttribute>;
9
+ loginMechanism: LoginMechanism;
10
+ constructor(authenticator: AuthenticatorService);
11
+ ngOnInit(): void;
12
+ }
@@ -0,0 +1,47 @@
1
+ import { AuthenticatorService } from '../../../../services/authenticator.service';
2
+ export declare class SignUpComponent {
3
+ authenticator: AuthenticatorService;
4
+ dataAttr: string;
5
+ createAccountText: string;
6
+ constructor(authenticator: AuthenticatorService);
7
+ get context(): {
8
+ $implicit: {
9
+ resendCode: (data?: Record<string | number | symbol, any>) => void;
10
+ signOut: (data?: Record<string | number | symbol, any>) => void;
11
+ submitForm: (data?: Record<string | number | symbol, any>) => void;
12
+ updateForm: (data?: Record<string | number | symbol, any>) => void;
13
+ toFederatedSignIn: (data?: Record<string | number | symbol, any>) => void;
14
+ toResetPassword: (data?: Record<string | number | symbol, any>) => void;
15
+ toSignIn: (data?: Record<string | number | symbol, any>) => void;
16
+ toSignUp: (data?: Record<string | number | symbol, any>) => void;
17
+ skipVerification: (data?: Record<string | number | symbol, any>) => void;
18
+ error: string;
19
+ hasValidationErrors: boolean;
20
+ isPending: boolean;
21
+ route: string;
22
+ user: import("@aws-amplify/ui").CognitoUserAmplify;
23
+ validationErrors: {
24
+ [x: string]: string;
25
+ };
26
+ };
27
+ resendCode: (data?: Record<string | number | symbol, any>) => void;
28
+ signOut: (data?: Record<string | number | symbol, any>) => void;
29
+ submitForm: (data?: Record<string | number | symbol, any>) => void;
30
+ updateForm: (data?: Record<string | number | symbol, any>) => void;
31
+ toFederatedSignIn: (data?: Record<string | number | symbol, any>) => void;
32
+ toResetPassword: (data?: Record<string | number | symbol, any>) => void;
33
+ toSignIn: (data?: Record<string | number | symbol, any>) => void;
34
+ toSignUp: (data?: Record<string | number | symbol, any>) => void;
35
+ skipVerification: (data?: Record<string | number | symbol, any>) => void;
36
+ error: string;
37
+ hasValidationErrors: boolean;
38
+ isPending: boolean;
39
+ route: string;
40
+ user: import("@aws-amplify/ui").CognitoUserAmplify;
41
+ validationErrors: {
42
+ [x: string]: string;
43
+ };
44
+ };
45
+ onInput(event: Event): void;
46
+ onSubmit(event: Event): void;
47
+ }
@@ -1,7 +1,7 @@
1
1
  import { OnInit } from '@angular/core';
2
- import { StateMachineService } from '../../services/state-machine.service';
3
- export declare class AmplifyUserNameAliasComponent implements OnInit {
4
- private stateMachine;
2
+ import { AuthenticatorService } from '../../../../services/authenticator.service';
3
+ export declare class UserNameAliasComponent implements OnInit {
4
+ private authenticator;
5
5
  name: string;
6
6
  disabled: boolean;
7
7
  initialValue: string;
@@ -10,6 +10,6 @@ export declare class AmplifyUserNameAliasComponent implements OnInit {
10
10
  type: string;
11
11
  error: string;
12
12
  placeholder: string;
13
- constructor(stateMachine: StateMachineService);
13
+ constructor(authenticator: AuthenticatorService);
14
14
  ngOnInit(): void;
15
15
  }
@@ -0,0 +1,54 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { AuthenticatorService } from '../../../../services/authenticator.service';
3
+ export declare class VerifyUserComponent implements OnInit {
4
+ authenticator: AuthenticatorService;
5
+ dataAttr: string;
6
+ headerText: string;
7
+ unverifiedAttributes: {};
8
+ labelId: string;
9
+ skipText: string;
10
+ verifyText: string;
11
+ constructor(authenticator: AuthenticatorService);
12
+ ngOnInit(): void;
13
+ get context(): {
14
+ $implicit: {
15
+ resendCode: (data?: Record<string | number | symbol, any>) => void;
16
+ signOut: (data?: Record<string | number | symbol, any>) => void;
17
+ submitForm: (data?: Record<string | number | symbol, any>) => void;
18
+ updateForm: (data?: Record<string | number | symbol, any>) => void;
19
+ toFederatedSignIn: (data?: Record<string | number | symbol, any>) => void;
20
+ toResetPassword: (data?: Record<string | number | symbol, any>) => void;
21
+ toSignIn: (data?: Record<string | number | symbol, any>) => void;
22
+ toSignUp: (data?: Record<string | number | symbol, any>) => void;
23
+ skipVerification: (data?: Record<string | number | symbol, any>) => void;
24
+ error: string;
25
+ hasValidationErrors: boolean;
26
+ isPending: boolean;
27
+ route: string;
28
+ user: import("@aws-amplify/ui").CognitoUserAmplify;
29
+ validationErrors: {
30
+ [x: string]: string;
31
+ };
32
+ };
33
+ resendCode: (data?: Record<string | number | symbol, any>) => void;
34
+ signOut: (data?: Record<string | number | symbol, any>) => void;
35
+ submitForm: (data?: Record<string | number | symbol, any>) => void;
36
+ updateForm: (data?: Record<string | number | symbol, any>) => void;
37
+ toFederatedSignIn: (data?: Record<string | number | symbol, any>) => void;
38
+ toResetPassword: (data?: Record<string | number | symbol, any>) => void;
39
+ toSignIn: (data?: Record<string | number | symbol, any>) => void;
40
+ toSignUp: (data?: Record<string | number | symbol, any>) => void;
41
+ skipVerification: (data?: Record<string | number | symbol, any>) => void;
42
+ error: string;
43
+ hasValidationErrors: boolean;
44
+ isPending: boolean;
45
+ route: string;
46
+ user: import("@aws-amplify/ui").CognitoUserAmplify;
47
+ validationErrors: {
48
+ [x: string]: string;
49
+ };
50
+ };
51
+ getLabelForAttr(authAttr: string): string;
52
+ onInput(event: Event): void;
53
+ onSubmit(event: Event): void;
54
+ }
@@ -1,5 +1,5 @@
1
1
  import { OnInit } from '@angular/core';
2
- export declare class AmplifyButtonComponent implements OnInit {
2
+ export declare class ButtonComponent implements OnInit {
3
3
  type: 'submit' | 'button';
4
4
  fullWidth: boolean | string;
5
5
  size: 'small' | 'medium' | 'large';
@@ -0,0 +1,12 @@
1
+ import { OnInit } from '@angular/core';
2
+ export declare class CheckboxComponent implements OnInit {
3
+ defaultChecked: boolean;
4
+ errorMessage: string;
5
+ hasError: boolean;
6
+ label: string;
7
+ name: string;
8
+ value: string;
9
+ isChecked: boolean;
10
+ ngOnInit(): void;
11
+ handleClick(): void;
12
+ }
@@ -0,0 +1,4 @@
1
+ export declare class ErrorComponent {
2
+ isVisible: boolean;
3
+ close(): void;
4
+ }
@@ -1,2 +1,9 @@
1
- export * from './amplify-form-field/amplify-form-field.component';
2
- export * from './amplify-error/amplify-error.component';
1
+ export { ErrorComponent } from './error/error.component';
2
+ export { ButtonComponent } from './button/button.component';
3
+ export { PasswordFieldComponent } from './password-field/password-field.component';
4
+ export { SelectComponent } from './select/select.component';
5
+ export { TextFieldComponent } from './text-field/text-field.component';
6
+ export { PhoneNumberFieldComponent } from './phone-number-field/phone-number-field.component';
7
+ export { TabItemComponent } from './tab-item/tab-item.component';
8
+ export { TabsComponent } from './tabs/tabs.component';
9
+ export { CheckboxComponent } from './checkbox/checkbox.component';
@@ -1,12 +1,13 @@
1
- export declare class AmplifyPasswordFieldComponent {
1
+ export declare class PasswordFieldComponent {
2
2
  autocomplete: string;
3
3
  disabled: boolean;
4
- id: string;
4
+ fieldId: string;
5
5
  initialValue: string;
6
6
  label: string;
7
7
  name: string;
8
8
  placeholder: string;
9
9
  required: boolean;
10
+ labelHidden: boolean;
10
11
  type: 'text' | 'password';
11
12
  showPassword: boolean;
12
13
  showPasswordButtonlabel: string;
@@ -0,0 +1,16 @@
1
+ export declare class PhoneNumberFieldComponent {
2
+ autocomplete: string;
3
+ disabled: boolean;
4
+ defaultCountryCode: string;
5
+ selectFieldId: string;
6
+ textFieldId: string;
7
+ initialValue: string;
8
+ label: string;
9
+ name: string;
10
+ placeholder: string;
11
+ required: boolean;
12
+ type: string;
13
+ labelHidden: boolean;
14
+ display: string;
15
+ countryDialCodes: string[];
16
+ }
@@ -1,7 +1,7 @@
1
- export declare class AmplifySelectComponent {
1
+ export declare class SelectComponent {
2
2
  items: string[];
3
3
  name: string;
4
4
  label: string;
5
5
  id: string;
6
- initialValue: string;
6
+ defaultValue: string;
7
7
  }
@@ -1,14 +1,13 @@
1
- export declare class AmplifyTextFieldComponent {
1
+ export declare class TextFieldComponent {
2
2
  autocomplete: string;
3
3
  disabled: boolean;
4
- id: string;
4
+ fieldId: string;
5
5
  initialValue: string;
6
6
  label: string;
7
7
  name: string;
8
8
  placeholder: string;
9
9
  required: boolean;
10
10
  type: string;
11
- showPassword: boolean;
12
- showPasswordButtonlabel: string;
13
- togglePasswordText(): void;
11
+ labelHidden: boolean;
12
+ display: string;
14
13
  }
@@ -0,0 +1,94 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { AuthContext, AuthenticatorMachineOptions, AuthEvent, AuthInterpreter, AuthMachineState } from '@aws-amplify/ui';
3
+ import { Event, Subscription } from 'xstate';
4
+ import { AuthSubscriptionCallback } from '../common';
5
+ /**
6
+ * AuthenticatorService provides access to the authenticator state and context.
7
+ */
8
+ export declare class AuthenticatorService implements OnDestroy {
9
+ private _authState;
10
+ private _authService;
11
+ private _sendEventAliases;
12
+ private _subscription;
13
+ private _facade;
14
+ startMachine({ initialState, loginMechanisms, services, signUpAttributes, socialProviders, }: AuthenticatorMachineOptions): void;
15
+ ngOnDestroy(): void;
16
+ /**
17
+ * Context facades
18
+ */
19
+ get error(): string;
20
+ get hasValidationErrors(): boolean;
21
+ get isPending(): boolean;
22
+ get route(): string;
23
+ get user(): import("@aws-amplify/ui").CognitoUserAmplify;
24
+ get validationErrors(): {
25
+ [x: string]: string;
26
+ };
27
+ /**
28
+ * Service facades
29
+ */
30
+ get updateForm(): (data?: Record<string | number | symbol, any>) => void;
31
+ get resendCode(): (data?: Record<string | number | symbol, any>) => void;
32
+ get signOut(): (data?: Record<string | number | symbol, any>) => void;
33
+ get submitForm(): (data?: Record<string | number | symbol, any>) => void;
34
+ /**
35
+ * Transition facades
36
+ */
37
+ get toFederatedSignIn(): (data?: Record<string | number | symbol, any>) => void;
38
+ get toResetPassword(): (data?: Record<string | number | symbol, any>) => void;
39
+ get toSignIn(): (data?: Record<string | number | symbol, any>) => void;
40
+ get toSignUp(): (data?: Record<string | number | symbol, any>) => void;
41
+ get skipVerification(): (data?: Record<string | number | symbol, any>) => void;
42
+ /**
43
+ * Internal utility functions
44
+ */
45
+ /** @deprecated For internal use only */
46
+ get authState(): AuthMachineState;
47
+ /** @deprecated For internal use only */
48
+ get authService(): AuthInterpreter;
49
+ /** @deprecated For internal use only */
50
+ get context(): AuthContext;
51
+ /** @deprecated For internal use only */
52
+ get slotContext(): {
53
+ $implicit: {
54
+ resendCode: (data?: Record<string | number | symbol, any>) => void;
55
+ signOut: (data?: Record<string | number | symbol, any>) => void;
56
+ submitForm: (data?: Record<string | number | symbol, any>) => void;
57
+ updateForm: (data?: Record<string | number | symbol, any>) => void;
58
+ toFederatedSignIn: (data?: Record<string | number | symbol, any>) => void;
59
+ toResetPassword: (data?: Record<string | number | symbol, any>) => void;
60
+ toSignIn: (data?: Record<string | number | symbol, any>) => void;
61
+ toSignUp: (data?: Record<string | number | symbol, any>) => void;
62
+ skipVerification: (data?: Record<string | number | symbol, any>) => void;
63
+ error: string;
64
+ hasValidationErrors: boolean;
65
+ isPending: boolean;
66
+ route: string;
67
+ user: import("@aws-amplify/ui").CognitoUserAmplify;
68
+ validationErrors: {
69
+ [x: string]: string;
70
+ };
71
+ };
72
+ resendCode: (data?: Record<string | number | symbol, any>) => void;
73
+ signOut: (data?: Record<string | number | symbol, any>) => void;
74
+ submitForm: (data?: Record<string | number | symbol, any>) => void;
75
+ updateForm: (data?: Record<string | number | symbol, any>) => void;
76
+ toFederatedSignIn: (data?: Record<string | number | symbol, any>) => void;
77
+ toResetPassword: (data?: Record<string | number | symbol, any>) => void;
78
+ toSignIn: (data?: Record<string | number | symbol, any>) => void;
79
+ toSignUp: (data?: Record<string | number | symbol, any>) => void;
80
+ skipVerification: (data?: Record<string | number | symbol, any>) => void;
81
+ error: string;
82
+ hasValidationErrors: boolean;
83
+ isPending: boolean;
84
+ route: string;
85
+ user: import("@aws-amplify/ui").CognitoUserAmplify;
86
+ validationErrors: {
87
+ [x: string]: string;
88
+ };
89
+ };
90
+ /** @deprecated For internal use only */
91
+ subscribe(callback: AuthSubscriptionCallback): Subscription;
92
+ /** @deprecated For internal use only */
93
+ send(event: Event<AuthEvent>): void;
94
+ }
@@ -0,0 +1,9 @@
1
+ import { CustomComponents } from '../common';
2
+ /**
3
+ * Stores and provides custom components that users provide with `amplify-slot`.
4
+ */
5
+ export declare class CustomComponentsService {
6
+ private _customComponents;
7
+ get customComponents(): CustomComponents;
8
+ set customComponents(customComponents: CustomComponents);
9
+ }
@@ -0,0 +1,12 @@
1
+ import { AfterContentInit, TemplateRef } from '@angular/core';
2
+ import { CustomComponentsService } from '../../services/custom-components.service';
3
+ export declare class AmplifySlotComponent implements AfterContentInit {
4
+ private propService;
5
+ name: string;
6
+ context: Record<PropertyKey, any>;
7
+ display: string;
8
+ overridingComponent: TemplateRef<any>;
9
+ isOverriden: boolean;
10
+ constructor(propService: CustomComponentsService);
11
+ ngAfterContentInit(): void;
12
+ }
package/package.json CHANGED
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "@aws-amplify/ui-angular",
3
- "version": "2.0.1-next.4",
3
+ "version": "2.0.2",
4
+ "license": "Apache-2.0",
4
5
  "peerDependencies": {
5
- "@angular/common": "^11.2.4",
6
- "@angular/core": "^11.2.4",
7
6
  "aws-amplify": "3.x.x || 4.x.x"
8
7
  },
9
8
  "dependencies": {
10
9
  "@aws-amplify/ui-components": "^1.7.0",
11
- "@aws-amplify/ui": "3.0.1-next.4",
10
+ "@aws-amplify/ui": "3.0.2",
12
11
  "@stencil/core": "^2.7.0",
13
12
  "nanoid": "^3.1.25",
14
13
  "qrcode": "^1.4.4",
package/theme.css CHANGED
@@ -1,2 +1 @@
1
1
  @import '@aws-amplify/ui/dist/styles.css';
2
- @import './styles/component.css';
@@ -1,89 +0,0 @@
1
- import { Component, ContentChildren, Input, ViewEncapsulation, } from '@angular/core';
2
- import { getActorState, translate, translations, } from '@aws-amplify/ui';
3
- import { I18n } from 'aws-amplify';
4
- import { AmplifySlotDirective } from '../../directives/amplify-slot.directive';
5
- import { AuthPropService } from '../../services/authenticator-context.service';
6
- import { StateMachineService } from '../../services/state-machine.service';
7
- export class AmplifyAuthenticatorComponent {
8
- constructor(stateMachine, contextService) {
9
- this.stateMachine = stateMachine;
10
- this.contextService = contextService;
11
- /**
12
- * TODO: Add back custom events
13
- */
14
- this.initialState = 'signIn';
15
- this.loginMechanisms = ['username'];
16
- this.customComponentQuery = null;
17
- this.customComponents = {};
18
- // translated texts
19
- this.signInTitle = translate('Sign In');
20
- this.signUpTitle = translate('Create Account');
21
- }
22
- ngOnInit() {
23
- I18n.putVocabularies(translations);
24
- this.stateMachine.startMachine(this.loginMechanisms);
25
- /**
26
- * handling translations after content init, because authenticator and its
27
- * translations might be initialized before the main app's `ngOnInit` is run.
28
- **/
29
- this.signInTitle = translate('Sign In');
30
- this.signUpTitle = translate('Create Account');
31
- }
32
- /**
33
- * Lifecycle Methods
34
- */
35
- ngAfterContentInit() {
36
- this.contextService.customComponents = this.mapCustomComponents(this.customComponentQuery);
37
- this.customComponents = this.contextService.customComponents;
38
- }
39
- /**
40
- * Class Functions
41
- */
42
- get context() {
43
- const { signOut } = this.stateMachine.services;
44
- const user = this.stateMachine.user;
45
- return { signOut, user };
46
- }
47
- get actorState() {
48
- return getActorState(this.stateMachine.authState);
49
- }
50
- get authenticatorState() {
51
- return this.stateMachine.authState;
52
- }
53
- onTabChange() {
54
- const currentState = this.stateMachine.authState.value;
55
- if (currentState === 'signIn') {
56
- this.stateMachine.send('SIGN_UP');
57
- }
58
- else {
59
- this.stateMachine.send('SIGN_IN');
60
- }
61
- }
62
- mapCustomComponents(componentQuery) {
63
- if (!componentQuery)
64
- return {};
65
- const customComponents = {};
66
- componentQuery.forEach((component) => {
67
- customComponents[component.name] = component.template;
68
- });
69
- return customComponents;
70
- }
71
- }
72
- AmplifyAuthenticatorComponent.decorators = [
73
- { type: Component, args: [{
74
- selector: 'amplify-authenticator',
75
- template: "<!-- \n Define default contents here.\n-->\n<ng-template #signIn>\n <amplify-sign-in></amplify-sign-in>\n</ng-template>\n<ng-template #signUp>\n <amplify-sign-up></amplify-sign-up>\n</ng-template>\n<ng-template #confirmSignUp>\n <amplify-confirm-sign-up></amplify-confirm-sign-up>\n</ng-template>\n<ng-template #confirmSignIn>\n <amplify-confirm-sign-in></amplify-confirm-sign-in>\n</ng-template>\n<ng-template #authenticated> <ng-content></ng-content> </ng-template>\n<ng-template #setupTOTP>\n <amplify-setup-totp></amplify-setup-totp>\n</ng-template>\n<ng-template #forceNewPassword>\n <amplify-force-new-password></amplify-force-new-password>\n</ng-template>\n<ng-template #resetPassword>\n <amplify-reset-password></amplify-reset-password>\n</ng-template>\n<ng-template #confirmResetPassword>\n <amplify-confirm-reset-password></amplify-confirm-reset-password>\n</ng-template>\n<ng-template #verifyUser>\n <amplify-verify-user></amplify-verify-user>\n</ng-template>\n<ng-template #confirmVerifyUser>\n <amplify-confirm-verify-user></amplify-confirm-verify-user>\n</ng-template>\n\n<!-- \n Next, we render respective auth subcomponent respective to the current authState.\n If customer is overriding that component, we render customer's template instead.\n-->\n\n<div data-amplify-wrapper data-amplify-authenticator>\n <amplify-tabs\n (tabChange)=\"onTabChange()\"\n *ngIf=\"actorState?.matches('signIn') || actorState?.matches('signUp')\"\n >\n <amplify-tab-item [title]=\"signInTitle\">\n <!-- signIn component -->\n <ng-container\n [ngTemplateOutlet]=\"customComponents.signIn || signIn\"\n [ngTemplateOutletContext]=\"context\"\n *ngIf=\"actorState?.matches('signIn')\"\n ></ng-container>\n </amplify-tab-item>\n <amplify-tab-item [title]=\"signUpTitle\">\n <!-- signUp component -->\n <ng-container\n [ngTemplateOutlet]=\"customComponents.signUp || signUp\"\n [ngTemplateOutletContext]=\"context\"\n *ngIf=\"actorState?.matches('signUp')\"\n ></ng-container>\n </amplify-tab-item>\n </amplify-tabs>\n\n <!-- confirmSignUp content -->\n <ng-container\n [ngTemplateOutlet]=\"customComponents.confirmSignUp || confirmSignUp\"\n [ngTemplateOutletContext]=\"context\"\n *ngIf=\"actorState?.matches('confirmSignUp')\"\n >\n </ng-container>\n\n <!-- confirmSignIn content -->\n <ng-container\n [ngTemplateOutlet]=\"customComponents.confirmSignIn || confirmSignIn\"\n [ngTemplateOutletContext]=\"context\"\n *ngIf=\"actorState?.matches('confirmSignIn')\"\n >\n </ng-container>\n\n <!-- setupTotp content -->\n <ng-container\n [ngTemplateOutlet]=\"customComponents.setupTOTP || setupTOTP\"\n [ngTemplateOutletContext]=\"context\"\n *ngIf=\"actorState?.matches('setupTOTP')\"\n >\n </ng-container>\n\n <!-- forceNewPassword content -->\n <ng-container\n [ngTemplateOutlet]=\"customComponents.forceNewPassword || forceNewPassword\"\n [ngTemplateOutletContext]=\"context\"\n *ngIf=\"actorState?.matches('forceNewPassword')\"\n >\n </ng-container>\n\n <!-- resetPassword content -->\n <ng-container\n [ngTemplateOutlet]=\"customComponents.resetPassword || resetPassword\"\n [ngTemplateOutletContext]=\"context\"\n *ngIf=\"actorState?.matches('resetPassword')\"\n >\n </ng-container>\n\n <!-- confirmResetPassword content -->\n <ng-container\n [ngTemplateOutlet]=\"\n customComponents.confirmResetPassword || confirmResetPassword\n \"\n [ngTemplateOutletContext]=\"context\"\n *ngIf=\"actorState?.matches('confirmResetPassword')\"\n >\n </ng-container>\n\n <!-- verifyUser content -->\n <ng-container\n [ngTemplateOutlet]=\"customComponents.verifyUser || verifyUser\"\n [ngTemplateOutletContext]=\"context\"\n *ngIf=\"actorState?.matches('verifyUser')\"\n >\n </ng-container>\n\n <!-- confirmVerifyUser content -->\n <ng-container\n [ngTemplateOutlet]=\"customComponents.confirmVerifyUser || confirmVerifyUser\"\n [ngTemplateOutletContext]=\"context\"\n *ngIf=\"actorState?.matches('confirmVerifyUser')\"\n >\n </ng-container>\n</div>\n\n<!-- signedIn content is rendered outside authenticator so it's not styled by authenticator -->\n<ng-container\n [ngTemplateOutlet]=\"customComponents.authenticated || authenticated\"\n [ngTemplateOutletContext]=\"context\"\n *ngIf=\"authenticatorState.matches('authenticated')\"\n>\n</ng-container>\n",
76
- providers: [AuthPropService],
77
- encapsulation: ViewEncapsulation.None
78
- },] }
79
- ];
80
- AmplifyAuthenticatorComponent.ctorParameters = () => [
81
- { type: StateMachineService },
82
- { type: AuthPropService }
83
- ];
84
- AmplifyAuthenticatorComponent.propDecorators = {
85
- initialState: [{ type: Input }],
86
- loginMechanisms: [{ type: Input }],
87
- customComponentQuery: [{ type: ContentChildren, args: [AmplifySlotDirective,] }]
88
- };
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1hdXRoZW50aWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FtcGxpZnktYXV0aGVudGljYXRvci9hbXBsaWZ5LWF1dGhlbnRpY2F0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLEtBQUssRUFJTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGFBQWEsRUFFYixTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUduQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFRM0UsTUFBTSxPQUFPLDZCQUE2QjtJQWdCeEMsWUFDVSxZQUFpQyxFQUNqQyxjQUErQjtRQUQvQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBakJ6Qzs7V0FFRztRQUVNLGlCQUFZLEdBQWMsUUFBUSxDQUFDO1FBQ25DLG9CQUFlLEdBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFHbEQseUJBQW9CLEdBQW9DLElBQUksQ0FBQztRQUM5RCxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBRS9DLG1CQUFtQjtRQUNaLGdCQUFXLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFLOUMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVyRDs7O1lBR0k7UUFDSixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQjtRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FDN0QsSUFBSSxDQUFDLG9CQUFvQixDQUMxQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2hCLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUMvQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztRQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sV0FBVztRQUNoQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDdkQsSUFBSSxZQUFZLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ25DO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FDekIsY0FBK0M7UUFFL0MsSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMvQixNQUFNLGdCQUFnQixHQUFxQyxFQUFFLENBQUM7UUFDOUQsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ25DLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDOzs7WUFyRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLG0zSUFBcUQ7Z0JBQ3JELFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDNUIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQVBRLG1CQUFtQjtZQURuQixlQUFlOzs7MkJBY3JCLEtBQUs7OEJBQ0wsS0FBSzttQ0FFTCxlQUFlLFNBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGdldEFjdG9yU3RhdGUsXG4gIExvZ2luTWVjaGFuaXNtLFxuICB0cmFuc2xhdGUsXG4gIHRyYW5zbGF0aW9ucyxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IEkxOG4gfSBmcm9tICdhd3MtYW1wbGlmeSc7XG5pbXBvcnQgeyBDdXN0b21Db21wb25lbnRzIH0gZnJvbSAnLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IEF1dGhTdGF0ZSB9IGZyb20gJy4uLy4uL2NvbW1vbi90eXBlcyc7XG5pbXBvcnQgeyBBbXBsaWZ5U2xvdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvYW1wbGlmeS1zbG90LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBdXRoUHJvcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0ZU1hY2hpbmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RhdGUtbWFjaGluZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1hdXRoZW50aWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FtcGxpZnktYXV0aGVudGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW0F1dGhQcm9wU2VydmljZV0sIC8vIG1ha2Ugc3VyZSBjdXN0b20gY29tcG9uZW50cyBhcmUgc2NvcGVkIHRvIHRoaXMgYXV0aGVudGljYXRvciBvbmx5XG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFtcGxpZnlBdXRoZW50aWNhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgLyoqXG4gICAqIFRPRE86IEFkZCBiYWNrIGN1c3RvbSBldmVudHNcbiAgICovXG5cbiAgQElucHV0KCkgaW5pdGlhbFN0YXRlOiBBdXRoU3RhdGUgPSAnc2lnbkluJztcbiAgQElucHV0KCkgbG9naW5NZWNoYW5pc21zOiBMb2dpbk1lY2hhbmlzbVtdID0gWyd1c2VybmFtZSddO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQW1wbGlmeVNsb3REaXJlY3RpdmUpXG4gIHByaXZhdGUgY3VzdG9tQ29tcG9uZW50UXVlcnk6IFF1ZXJ5TGlzdDxBbXBsaWZ5U2xvdERpcmVjdGl2ZT4gPSBudWxsO1xuICBwdWJsaWMgY3VzdG9tQ29tcG9uZW50czogQ3VzdG9tQ29tcG9uZW50cyA9IHt9O1xuXG4gIC8vIHRyYW5zbGF0ZWQgdGV4dHNcbiAgcHVibGljIHNpZ25JblRpdGxlID0gdHJhbnNsYXRlKCdTaWduIEluJyk7XG4gIHB1YmxpYyBzaWduVXBUaXRsZSA9IHRyYW5zbGF0ZSgnQ3JlYXRlIEFjY291bnQnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0YXRlTWFjaGluZTogU3RhdGVNYWNoaW5lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBBdXRoUHJvcFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIEkxOG4ucHV0Vm9jYWJ1bGFyaWVzKHRyYW5zbGF0aW9ucyk7XG4gICAgdGhpcy5zdGF0ZU1hY2hpbmUuc3RhcnRNYWNoaW5lKHRoaXMubG9naW5NZWNoYW5pc21zKTtcblxuICAgIC8qKlxuICAgICAqIGhhbmRsaW5nIHRyYW5zbGF0aW9ucyBhZnRlciBjb250ZW50IGluaXQsIGJlY2F1c2UgYXV0aGVudGljYXRvciBhbmQgaXRzXG4gICAgICogdHJhbnNsYXRpb25zIG1pZ2h0IGJlIGluaXRpYWxpemVkIGJlZm9yZSB0aGUgbWFpbiBhcHAncyBgbmdPbkluaXRgIGlzIHJ1bi5cbiAgICAgKiovXG4gICAgdGhpcy5zaWduSW5UaXRsZSA9IHRyYW5zbGF0ZSgnU2lnbiBJbicpO1xuICAgIHRoaXMuc2lnblVwVGl0bGUgPSB0cmFuc2xhdGUoJ0NyZWF0ZSBBY2NvdW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogTGlmZWN5Y2xlIE1ldGhvZHNcbiAgICovXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmN1c3RvbUNvbXBvbmVudHMgPSB0aGlzLm1hcEN1c3RvbUNvbXBvbmVudHMoXG4gICAgICB0aGlzLmN1c3RvbUNvbXBvbmVudFF1ZXJ5XG4gICAgKTtcbiAgICB0aGlzLmN1c3RvbUNvbXBvbmVudHMgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmN1c3RvbUNvbXBvbmVudHM7XG4gIH1cblxuICAvKipcbiAgICogQ2xhc3MgRnVuY3Rpb25zXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgY29uc3QgeyBzaWduT3V0IH0gPSB0aGlzLnN0YXRlTWFjaGluZS5zZXJ2aWNlcztcbiAgICBjb25zdCB1c2VyID0gdGhpcy5zdGF0ZU1hY2hpbmUudXNlcjtcbiAgICByZXR1cm4geyBzaWduT3V0LCB1c2VyIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdG9yU3RhdGUoKSB7XG4gICAgcmV0dXJuIGdldEFjdG9yU3RhdGUodGhpcy5zdGF0ZU1hY2hpbmUuYXV0aFN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0aGVudGljYXRvclN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlTWFjaGluZS5hdXRoU3RhdGU7XG4gIH1cblxuICBwdWJsaWMgb25UYWJDaGFuZ2UoKSB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5zdGF0ZU1hY2hpbmUuYXV0aFN0YXRlLnZhbHVlO1xuICAgIGlmIChjdXJyZW50U3RhdGUgPT09ICdzaWduSW4nKSB7XG4gICAgICB0aGlzLnN0YXRlTWFjaGluZS5zZW5kKCdTSUdOX1VQJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhdGVNYWNoaW5lLnNlbmQoJ1NJR05fSU4nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1hcEN1c3RvbUNvbXBvbmVudHMoXG4gICAgY29tcG9uZW50UXVlcnk6IFF1ZXJ5TGlzdDxBbXBsaWZ5U2xvdERpcmVjdGl2ZT5cbiAgKTogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4ge1xuICAgIGlmICghY29tcG9uZW50UXVlcnkpIHJldHVybiB7fTtcbiAgICBjb25zdCBjdXN0b21Db21wb25lbnRzOiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZVJlZjxhbnk+PiA9IHt9O1xuICAgIGNvbXBvbmVudFF1ZXJ5LmZvckVhY2goKGNvbXBvbmVudCkgPT4ge1xuICAgICAgY3VzdG9tQ29tcG9uZW50c1tjb21wb25lbnQubmFtZV0gPSBjb21wb25lbnQudGVtcGxhdGU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY3VzdG9tQ29tcG9uZW50cztcbiAgfVxufVxuIl19