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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +28 -1
  2. package/aws-amplify-ui-angular.d.ts +30 -0
  3. package/aws-amplify-ui-angular.metadata.json +1 -0
  4. package/bundles/aws-amplify-ui-angular-legacy.umd.js +2229 -0
  5. package/bundles/aws-amplify-ui-angular-legacy.umd.js.map +1 -0
  6. package/bundles/aws-amplify-ui-angular-legacy.umd.min.js +16 -0
  7. package/bundles/aws-amplify-ui-angular-legacy.umd.min.js.map +1 -0
  8. package/bundles/aws-amplify-ui-angular.umd.js +1840 -0
  9. package/bundles/aws-amplify-ui-angular.umd.js.map +1 -0
  10. package/bundles/aws-amplify-ui-angular.umd.min.js +2 -0
  11. package/bundles/aws-amplify-ui-angular.umd.min.js.map +1 -0
  12. package/esm2015/aws-amplify-ui-angular.js +31 -0
  13. package/esm2015/index.js +26 -0
  14. package/esm2015/legacy/aws-amplify-ui-angular-legacy.js +6 -0
  15. package/esm2015/legacy/index.js +3 -0
  16. package/esm2015/legacy/legacy-ui-angular.module.js +53 -0
  17. package/esm2015/legacy/proxies.js +1839 -0
  18. package/esm2015/lib/common/helpers.js +3 -0
  19. package/esm2015/lib/common/index.js +3 -0
  20. package/esm2015/lib/common/types/auth-types.js +2 -0
  21. package/esm2015/lib/common/types/component-types.js +2 -0
  22. package/esm2015/lib/common/types/index.js +3 -0
  23. package/esm2015/lib/components/authenticator/authenticator.module.js +79 -0
  24. package/esm2015/lib/components/authenticator/components/authenticator/authenticator.component.js +87 -0
  25. package/esm2015/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.js +40 -0
  26. package/esm2015/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.js +57 -0
  27. package/esm2015/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.js +39 -0
  28. package/esm2015/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.js +39 -0
  29. package/esm2015/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.js +47 -0
  30. package/esm2015/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.js +27 -0
  31. package/esm2015/lib/components/authenticator/components/force-new-password/force-new-password.component.js +39 -0
  32. package/esm2015/lib/components/authenticator/components/form-field/form-field.component.js +93 -0
  33. package/esm2015/lib/components/authenticator/components/index.js +17 -0
  34. package/esm2015/lib/components/authenticator/components/reset-password/reset-password.component.js +45 -0
  35. package/esm2015/lib/components/authenticator/components/setup-totp/setup-totp.component.js +65 -0
  36. package/esm2015/lib/components/authenticator/components/sign-in/sign-in.component.js +38 -0
  37. package/esm2015/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.js +34 -0
  38. package/esm2015/lib/components/authenticator/components/sign-up/sign-up.component.js +37 -0
  39. package/esm2015/lib/components/authenticator/components/user-name-alias/user-name-alias.component.js +35 -0
  40. package/esm2015/lib/components/authenticator/components/verify-user/verify-user.component.js +54 -0
  41. package/esm2015/lib/primitives/button/button.component.js +38 -0
  42. package/esm2015/lib/primitives/checkbox/checkbox.component.js +31 -0
  43. package/esm2015/lib/primitives/error/error.component.js +16 -0
  44. package/esm2015/lib/primitives/index.js +10 -0
  45. package/esm2015/lib/primitives/password-field/password-field.component.js +43 -0
  46. package/esm2015/lib/primitives/phone-number-field/phone-number-field.component.js +40 -0
  47. package/esm2015/lib/primitives/select/select.component.js +17 -0
  48. package/esm2015/lib/primitives/tab-item/tab-item.component.js +20 -0
  49. package/esm2015/lib/primitives/tabs/tabs.component.js +45 -0
  50. package/esm2015/lib/primitives/text-field/text-field.component.js +35 -0
  51. package/esm2015/lib/services/authenticator.service.js +133 -0
  52. package/esm2015/lib/services/custom-components.service.js +23 -0
  53. package/esm2015/lib/utilities/amplify-slot/amplify-slot.component.js +32 -0
  54. package/esm2015/lib/utilities/amplify-slot/amplify-slot.directive.js +21 -0
  55. package/fesm2015/aws-amplify-ui-angular-legacy.js +1846 -0
  56. package/fesm2015/aws-amplify-ui-angular-legacy.js.map +1 -0
  57. package/fesm2015/aws-amplify-ui-angular.js +1253 -0
  58. package/fesm2015/aws-amplify-ui-angular.js.map +1 -0
  59. package/index.d.ts +22 -0
  60. package/{dist/core.d.ts → legacy/aws-amplify-ui-angular-legacy.d.ts} +1 -0
  61. package/legacy/aws-amplify-ui-angular-legacy.metadata.json +1 -0
  62. package/legacy/index.d.ts +2 -0
  63. package/legacy/legacy-ui-angular.module.d.ts +2 -0
  64. package/legacy/package.json +11 -0
  65. package/{dist/directives → legacy}/proxies.d.ts +0 -0
  66. package/lib/common/helpers.d.ts +2 -0
  67. package/lib/common/index.d.ts +2 -0
  68. package/lib/common/types/auth-types.d.ts +3 -0
  69. package/lib/common/types/component-types.d.ts +23 -0
  70. package/lib/common/types/index.d.ts +2 -0
  71. package/lib/components/authenticator/authenticator.module.d.ts +2 -0
  72. package/lib/components/authenticator/components/authenticator/authenticator.component.d.ts +67 -0
  73. package/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.d.ts +50 -0
  74. package/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.d.ts +52 -0
  75. package/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.d.ts +49 -0
  76. package/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.d.ts +49 -0
  77. package/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.d.ts +19 -0
  78. package/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.d.ts +9 -0
  79. package/lib/components/authenticator/components/force-new-password/force-new-password.component.d.ts +49 -0
  80. package/lib/components/authenticator/components/form-field/form-field.component.d.ts +36 -0
  81. package/lib/components/authenticator/components/index.d.ts +16 -0
  82. package/lib/components/authenticator/components/reset-password/reset-password.component.d.ts +52 -0
  83. package/lib/components/authenticator/components/setup-totp/setup-totp.component.d.ts +53 -0
  84. package/lib/components/authenticator/components/sign-in/sign-in.component.d.ts +48 -0
  85. package/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.d.ts +12 -0
  86. package/lib/components/authenticator/components/sign-up/sign-up.component.d.ts +47 -0
  87. package/lib/components/authenticator/components/user-name-alias/user-name-alias.component.d.ts +15 -0
  88. package/lib/components/authenticator/components/verify-user/verify-user.component.d.ts +54 -0
  89. package/lib/primitives/button/button.component.d.ts +15 -0
  90. package/lib/primitives/checkbox/checkbox.component.d.ts +12 -0
  91. package/lib/primitives/error/error.component.d.ts +4 -0
  92. package/lib/primitives/index.d.ts +9 -0
  93. package/lib/primitives/password-field/password-field.component.d.ts +15 -0
  94. package/lib/primitives/phone-number-field/phone-number-field.component.d.ts +16 -0
  95. package/lib/primitives/select/select.component.d.ts +7 -0
  96. package/lib/primitives/tab-item/tab-item.component.d.ts +7 -0
  97. package/lib/primitives/tabs/tabs.component.d.ts +9 -0
  98. package/lib/primitives/text-field/text-field.component.d.ts +13 -0
  99. package/lib/services/authenticator.service.d.ts +94 -0
  100. package/lib/services/custom-components.service.d.ts +9 -0
  101. package/lib/utilities/amplify-slot/amplify-slot.component.d.ts +12 -0
  102. package/lib/utilities/amplify-slot/amplify-slot.directive.d.ts +7 -0
  103. package/package.json +29 -49
  104. package/theme.css +1 -0
  105. package/CHANGELOG.md +0 -320
  106. package/dist/amplify-module.d.ts +0 -2
  107. package/dist/core.metadata.json +0 -1
  108. package/dist/fesm2015.js +0 -1532
  109. package/dist/fesm5.js +0 -1319
  110. package/dist/index.d.ts +0 -2
@@ -0,0 +1,43 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { translate } from '@aws-amplify/ui';
3
+ import { nanoid } from 'nanoid';
4
+ export class PasswordFieldComponent {
5
+ constructor() {
6
+ this.autocomplete = 'new-password';
7
+ this.disabled = false;
8
+ this.fieldId = `amplify-field-${nanoid(12)}`;
9
+ this.initialValue = '';
10
+ this.label = '';
11
+ this.placeholder = '';
12
+ this.required = true;
13
+ this.labelHidden = false;
14
+ this.type = 'password';
15
+ this.showPassword = false;
16
+ this.showPasswordButtonlabel = translate('Show password');
17
+ }
18
+ togglePasswordText() {
19
+ this.showPassword = !this.showPassword;
20
+ this.showPasswordButtonlabel = this.showPassword
21
+ ? translate('Show password')
22
+ : translate('Hide password');
23
+ this.type = this.showPassword ? 'text' : 'password';
24
+ }
25
+ }
26
+ PasswordFieldComponent.decorators = [
27
+ { type: Component, args: [{
28
+ selector: 'amplify-password-field',
29
+ template: "<label class=\"amplify-label\" [class.sr-only]=\"labelHidden\" [for]=\"fieldId\">\n {{ label }}\n</label>\n<div class=\"amplify-flex amplify-field-group\">\n <input\n class=\"amplify-input amplify-field-group__control\"\n [id]=\"fieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [attr.disabled]=\"disabled ? '' : null\"\n [autocomplete]=\"autocomplete\"\n />\n <div class=\"amplify-field-group__outer-end\">\n <button\n amplify-button\n [attr.aria-label]=\"showPasswordButtonlabel\"\n class=\"amplify-field-group__control amplify-field__show-password\"\n (click)=\"togglePasswordText()\"\n >\n <svg\n *ngIf=\"!showPassword\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n class=\"amplify-icon\"\n >\n <path\n d=\"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n ></path>\n </svg>\n <svg\n *ngIf=\"showPassword\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n class=\"amplify-icon\"\n >\n <path\n d=\"M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z\"\n fill=\"none\"\n ></path>\n <path\n d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n ></path>\n </svg>\n </button>\n </div>\n</div>\n"
30
+ },] }
31
+ ];
32
+ PasswordFieldComponent.propDecorators = {
33
+ autocomplete: [{ type: Input }],
34
+ disabled: [{ type: Input }],
35
+ fieldId: [{ type: Input }],
36
+ initialValue: [{ type: Input }],
37
+ label: [{ type: Input }],
38
+ name: [{ type: Input }],
39
+ placeholder: [{ type: Input }],
40
+ required: [{ type: Input }],
41
+ labelHidden: [{ type: Input }]
42
+ };
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3ByaW1pdGl2ZXMvcGFzc3dvcmQtZmllbGQvcGFzc3dvcmQtZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBTWhDLE1BQU0sT0FBTyxzQkFBc0I7SUFKbkM7UUFLVyxpQkFBWSxHQUFHLGNBQWMsQ0FBQztRQUM5QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBVyxpQkFBaUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDaEQsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFdEIsU0FBSSxHQUF3QixVQUFVLENBQUM7UUFFdkMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsNEJBQXVCLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBUzlELENBQUM7SUFQQyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxZQUFZO1lBQzlDLENBQUMsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO1lBQzVCLENBQUMsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUN0RCxDQUFDOzs7WUExQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLHlsRUFBOEM7YUFDL0M7OzsyQkFFRSxLQUFLO3VCQUNMLEtBQUs7c0JBQ0wsS0FBSzsyQkFDTCxLQUFLO29CQUNMLEtBQUs7bUJBQ0wsS0FBSzswQkFDTCxLQUFLO3VCQUNMLEtBQUs7MEJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICduYW5vaWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LXBhc3N3b3JkLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRGaWVsZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZSA9ICduZXctcGFzc3dvcmQnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBmaWVsZElkOiBzdHJpbmcgPSBgYW1wbGlmeS1maWVsZC0ke25hbm9pZCgxMil9YDtcbiAgQElucHV0KCkgaW5pdGlhbFZhbHVlID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgcmVxdWlyZWQgPSB0cnVlO1xuICBASW5wdXQoKSBsYWJlbEhpZGRlbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyB0eXBlOiAndGV4dCcgfCAncGFzc3dvcmQnID0gJ3Bhc3N3b3JkJztcblxuICBwdWJsaWMgc2hvd1Bhc3N3b3JkID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93UGFzc3dvcmRCdXR0b25sYWJlbCA9IHRyYW5zbGF0ZSgnU2hvdyBwYXNzd29yZCcpO1xuXG4gIHRvZ2dsZVBhc3N3b3JkVGV4dCgpIHtcbiAgICB0aGlzLnNob3dQYXNzd29yZCA9ICF0aGlzLnNob3dQYXNzd29yZDtcbiAgICB0aGlzLnNob3dQYXNzd29yZEJ1dHRvbmxhYmVsID0gdGhpcy5zaG93UGFzc3dvcmRcbiAgICAgID8gdHJhbnNsYXRlKCdTaG93IHBhc3N3b3JkJylcbiAgICAgIDogdHJhbnNsYXRlKCdIaWRlIHBhc3N3b3JkJyk7XG4gICAgdGhpcy50eXBlID0gdGhpcy5zaG93UGFzc3dvcmQgPyAndGV4dCcgOiAncGFzc3dvcmQnO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import { nanoid } from 'nanoid';
3
+ import { countryDialCodes } from '@aws-amplify/ui';
4
+ export class PhoneNumberFieldComponent {
5
+ constructor() {
6
+ this.autocomplete = 'new-password';
7
+ this.disabled = false;
8
+ this.selectFieldId = `amplify-field-${nanoid(12)}`;
9
+ this.textFieldId = `amplify-field-${nanoid(12)}`;
10
+ this.initialValue = '';
11
+ this.label = '';
12
+ this.placeholder = '';
13
+ this.required = true;
14
+ this.labelHidden = false;
15
+ this.display = 'contents';
16
+ this.countryDialCodes = countryDialCodes;
17
+ }
18
+ }
19
+ PhoneNumberFieldComponent.decorators = [
20
+ { type: Component, args: [{
21
+ selector: 'amplify-phone-number-field',
22
+ template: "<label class=\"amplify-label\" [class.sr-only]=\"labelHidden\" [for]=\"textFieldId\">\n {{ label }}\n</label>\n<div\n class=\"amplify-flex amplify-phonenumberfield\"\n amplify-field-group\n style=\"gap: 0px\"\n>\n <div class=\"amplify-field-group__outer-start\">\n <div\n class=\"\n amplify-flex amplify-field amplify-selectfield amplify-countrycodeselect\n \"\n style=\"flex-direction: column\"\n >\n <amplify-form-select\n name=\"country_code\"\n label=\"Country Code\"\n [id]=\"selectFieldId\"\n [items]=\"countryDialCodes\"\n [defaultValue]=\"defaultCountryCode\"\n ></amplify-form-select>\n </div>\n </div>\n\n <input\n class=\"amplify-input\"\n [id]=\"textFieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [attr.disabled]=\"disabled ? '' : null\"\n [autocomplete]=\"autocomplete\"\n />\n</div>\n"
23
+ },] }
24
+ ];
25
+ PhoneNumberFieldComponent.propDecorators = {
26
+ autocomplete: [{ type: Input }],
27
+ disabled: [{ type: Input }],
28
+ defaultCountryCode: [{ type: Input }],
29
+ selectFieldId: [{ type: Input }],
30
+ textFieldId: [{ type: Input }],
31
+ initialValue: [{ type: Input }],
32
+ label: [{ type: Input }],
33
+ name: [{ type: Input }],
34
+ placeholder: [{ type: Input }],
35
+ required: [{ type: Input }],
36
+ type: [{ type: Input }],
37
+ labelHidden: [{ type: Input }],
38
+ display: [{ type: HostBinding, args: ['style.display',] }]
39
+ };
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9wcmltaXRpdmVzL3Bob25lLW51bWJlci1maWVsZC9waG9uZS1udW1iZXItZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTW5ELE1BQU0sT0FBTyx5QkFBeUI7SUFKdEM7UUFLVyxpQkFBWSxHQUFHLGNBQWMsQ0FBQztRQUM5QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGtCQUFhLEdBQVcsaUJBQWlCLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3RELGdCQUFXLEdBQVcsaUJBQWlCLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3BELGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRWhCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRUMsWUFBTyxHQUFHLFVBQVUsQ0FBQztRQUM1QyxxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUM3QyxDQUFDOzs7WUFwQkEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLCsrQkFBa0Q7YUFDbkQ7OzsyQkFFRSxLQUFLO3VCQUNMLEtBQUs7aUNBQ0wsS0FBSzs0QkFDTCxLQUFLOzBCQUNMLEtBQUs7MkJBQ0wsS0FBSztvQkFDTCxLQUFLO21CQUNMLEtBQUs7MEJBQ0wsS0FBSzt1QkFDTCxLQUFLO21CQUNMLEtBQUs7MEJBQ0wsS0FBSztzQkFFTCxXQUFXLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICduYW5vaWQnO1xuaW1wb3J0IHsgY291bnRyeURpYWxDb2RlcyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktcGhvbmUtbnVtYmVyLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Bob25lLW51bWJlci1maWVsZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBob25lTnVtYmVyRmllbGRDb21wb25lbnQge1xuICBASW5wdXQoKSBhdXRvY29tcGxldGUgPSAnbmV3LXBhc3N3b3JkJztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGVmYXVsdENvdW50cnlDb2RlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbGVjdEZpZWxkSWQ6IHN0cmluZyA9IGBhbXBsaWZ5LWZpZWxkLSR7bmFub2lkKDEyKX1gO1xuICBASW5wdXQoKSB0ZXh0RmllbGRJZDogc3RyaW5nID0gYGFtcGxpZnktZmllbGQtJHtuYW5vaWQoMTIpfWA7XG4gIEBJbnB1dCgpIGluaXRpYWxWYWx1ZSA9ICcnO1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gdHJ1ZTtcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbEhpZGRlbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpIGRpc3BsYXkgPSAnY29udGVudHMnO1xuICBwdWJsaWMgY291bnRyeURpYWxDb2RlcyA9IGNvdW50cnlEaWFsQ29kZXM7XG59XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Component, Input } from '@angular/core';
2
+ export class SelectComponent {
3
+ }
4
+ SelectComponent.decorators = [
5
+ { type: Component, args: [{
6
+ selector: 'amplify-form-select',
7
+ template: "<label class=\"amplify-label sr-only\" [for]=\"id\">{{ label }}</label>\n<div class=\"amplify-select__wrapper\">\n <select\n class=\"amplify-select amplify-field-group__control\"\n autocomplete=\"tel-country-code\"\n [id]=\"id\"\n [name]=\"name\"\n >\n <option\n *ngFor=\"let item of items\"\n [value]=\"item\"\n [selected]=\"item === defaultValue\"\n >\n {{ item }}\n </option>\n </select>\n <div\n class=\"amplify-flex amplify-select__icon-wrapper\"\n style=\"align-items: center; justify-content: center\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"amplify-icon\"\n viewBox=\"0 0 24 24\"\n data-size=\"large\"\n fill=\"currentColor\"\n >\n <path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"></path>\n </svg>\n </div>\n</div>\n"
8
+ },] }
9
+ ];
10
+ SelectComponent.propDecorators = {
11
+ items: [{ type: Input }],
12
+ name: [{ type: Input }],
13
+ label: [{ type: Input }],
14
+ id: [{ type: Input }],
15
+ defaultValue: [{ type: Input }]
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9wcmltaXRpdmVzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTWpELE1BQU0sT0FBTyxlQUFlOzs7WUFKM0IsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLHcxQkFBc0M7YUFDdkM7OztvQkFFRSxLQUFLO21CQUNMLEtBQUs7b0JBQ0wsS0FBSztpQkFDTCxLQUFLOzJCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktZm9ybS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXM6IHN0cmluZ1tdO1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRWYWx1ZTogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,20 @@
1
+ import { Component, Input } from '@angular/core';
2
+ export class TabItemComponent {
3
+ constructor() {
4
+ this.active = false;
5
+ }
6
+ }
7
+ TabItemComponent.decorators = [
8
+ { type: Component, args: [{
9
+ selector: 'amplify-tab-item',
10
+ template: "<div\n data-orientation=\"horizontal\"\n role=\"tabpanel\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"labelledById\"\n [attr.data-state]=\"active ? 'active' : 'inactive'\"\n [attr.tabindex]=\"tabIndex\"\n>\n <ng-content *ngIf=\"active\"></ng-content>\n</div>\n"
11
+ },] }
12
+ ];
13
+ TabItemComponent.propDecorators = {
14
+ title: [{ type: Input }],
15
+ active: [{ type: Input }],
16
+ id: [{ type: Input }],
17
+ labelledById: [{ type: Input }],
18
+ tabIndex: [{ type: Input }]
19
+ };
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3ByaW1pdGl2ZXMvdGFiLWl0ZW0vdGFiLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTWpELE1BQU0sT0FBTyxnQkFBZ0I7SUFKN0I7UUFNVyxXQUFNLEdBQUcsS0FBSyxDQUFDO0lBSTFCLENBQUM7OztZQVZBLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixxUkFBd0M7YUFDekM7OztvQkFFRSxLQUFLO3FCQUNMLEtBQUs7aUJBQ0wsS0FBSzsyQkFDTCxLQUFLO3VCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktdGFiLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgYWN0aXZlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsbGVkQnlJZDogc3RyaW5nO1xuICBASW5wdXQoKSB0YWJJbmRleDogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,45 @@
1
+ import { Component, ContentChildren, Output, EventEmitter, } from '@angular/core';
2
+ import { nanoid } from 'nanoid';
3
+ import { TabItemComponent } from '../tab-item/tab-item.component';
4
+ export class TabsComponent {
5
+ constructor() {
6
+ this.tabChange = new EventEmitter();
7
+ }
8
+ ngAfterContentInit() {
9
+ // assign ids
10
+ this.tabs.forEach((tab, index) => {
11
+ tab.id = `radix-id-${nanoid(12)}-1-content-${index}`;
12
+ tab.labelledById = `radix-id-${nanoid(12)}-1-trigger-${index}`;
13
+ });
14
+ // find active tab
15
+ // TODO(enhancement): more declarative way for choosing the initial tab to render
16
+ const activeTabs = this.tabs.filter((tab) => tab.active);
17
+ // set active tab
18
+ if (activeTabs.length !== 1) {
19
+ this.selectTab(this.tabs.first);
20
+ }
21
+ }
22
+ selectTab(tab) {
23
+ this.tabs.forEach((tab) => {
24
+ tab.active = false;
25
+ });
26
+ tab.active = true;
27
+ }
28
+ handleTabClick(tab) {
29
+ if (tab.active)
30
+ return; // don't do anything if clicks the current active tab
31
+ this.tabChange.emit();
32
+ this.selectTab(tab);
33
+ }
34
+ }
35
+ TabsComponent.decorators = [
36
+ { type: Component, args: [{
37
+ selector: 'amplify-tabs',
38
+ template: "<div\n tabindex=\"0\"\n aria-orientation=\"horizontal\"\n data-orientation=\"horizontal\"\n role=\"tablist\"\n style=\"outline: none\"\n>\n <div\n class=\"amplify-flex amplify-tabs\"\n data-indicator-position=\"top\"\n style=\"gap: 0px; justify-content: center\"\n >\n <div\n *ngFor=\"let tab of tabs\"\n class=\"amplify-tabs-item\"\n data-spacing=\"equal\"\n data-orientation=\"horizontal\"\n role=\"tab\"\n [id]=\"tab.labelledById\"\n [tabindex]=\"tab.active ? '0' : '1'\"\n [attr.aria-selected]=\"tab.active\"\n [attr.aria-controls]=\"tab.id\"\n [attr.data-state]=\"tab.active ? 'active' : 'inactive'\"\n (click)=\"handleTabClick(tab)\"\n >\n {{ tab.title }}\n </div>\n </div>\n</div>\n\n<ng-content></ng-content>\n"
39
+ },] }
40
+ ];
41
+ TabsComponent.propDecorators = {
42
+ tabs: [{ type: ContentChildren, args: [TabItemComponent,] }],
43
+ tabChange: [{ type: Output }]
44
+ };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvcHJpbWl0aXZlcy90YWJzL3RhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsZUFBZSxFQUVmLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQU1sRSxNQUFNLE9BQU8sYUFBYTtJQUoxQjtRQU1ZLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBK0IzQyxDQUFDO0lBN0JDLGtCQUFrQjtRQUNoQixhQUFhO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDL0IsR0FBRyxDQUFDLEVBQUUsR0FBRyxZQUFZLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxLQUFLLEVBQUUsQ0FBQztZQUNyRCxHQUFHLENBQUMsWUFBWSxHQUFHLFlBQVksTUFBTSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEtBQUssRUFBRSxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO1FBRUgsa0JBQWtCO1FBQ2xCLGlGQUFpRjtRQUNqRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpELGlCQUFpQjtRQUNqQixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsR0FBcUI7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN4QixHQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUNILEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxjQUFjLENBQUMsR0FBcUI7UUFDbEMsSUFBSSxHQUFHLENBQUMsTUFBTTtZQUFFLE9BQU8sQ0FBQyxxREFBcUQ7UUFDN0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7OztZQXBDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLGd6QkFBb0M7YUFDckM7OzttQkFFRSxlQUFlLFNBQUMsZ0JBQWdCO3dCQUNoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbmFub2lkIH0gZnJvbSAnbmFub2lkJztcbmltcG9ydCB7IFRhYkl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LXRhYnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFicy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRhYnNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQENvbnRlbnRDaGlsZHJlbihUYWJJdGVtQ29tcG9uZW50KSB0YWJzOiBRdWVyeUxpc3Q8VGFiSXRlbUNvbXBvbmVudD47XG4gIEBPdXRwdXQoKSB0YWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIC8vIGFzc2lnbiBpZHNcbiAgICB0aGlzLnRhYnMuZm9yRWFjaCgodGFiLCBpbmRleCkgPT4ge1xuICAgICAgdGFiLmlkID0gYHJhZGl4LWlkLSR7bmFub2lkKDEyKX0tMS1jb250ZW50LSR7aW5kZXh9YDtcbiAgICAgIHRhYi5sYWJlbGxlZEJ5SWQgPSBgcmFkaXgtaWQtJHtuYW5vaWQoMTIpfS0xLXRyaWdnZXItJHtpbmRleH1gO1xuICAgIH0pO1xuXG4gICAgLy8gZmluZCBhY3RpdmUgdGFiXG4gICAgLy8gVE9ETyhlbmhhbmNlbWVudCk6IG1vcmUgZGVjbGFyYXRpdmUgd2F5IGZvciBjaG9vc2luZyB0aGUgaW5pdGlhbCB0YWIgdG8gcmVuZGVyXG4gICAgY29uc3QgYWN0aXZlVGFicyA9IHRoaXMudGFicy5maWx0ZXIoKHRhYikgPT4gdGFiLmFjdGl2ZSk7XG5cbiAgICAvLyBzZXQgYWN0aXZlIHRhYlxuICAgIGlmIChhY3RpdmVUYWJzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhpcy5zZWxlY3RUYWIodGhpcy50YWJzLmZpcnN0KTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RUYWIodGFiOiBUYWJJdGVtQ29tcG9uZW50KSB7XG4gICAgdGhpcy50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgdGFiLmFjdGl2ZSA9IGZhbHNlO1xuICAgIH0pO1xuICAgIHRhYi5hY3RpdmUgPSB0cnVlO1xuICB9XG5cbiAgaGFuZGxlVGFiQ2xpY2sodGFiOiBUYWJJdGVtQ29tcG9uZW50KSB7XG4gICAgaWYgKHRhYi5hY3RpdmUpIHJldHVybjsgLy8gZG9uJ3QgZG8gYW55dGhpbmcgaWYgY2xpY2tzIHRoZSBjdXJyZW50IGFjdGl2ZSB0YWJcbiAgICB0aGlzLnRhYkNoYW5nZS5lbWl0KCk7XG4gICAgdGhpcy5zZWxlY3RUYWIodGFiKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,35 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import { nanoid } from 'nanoid';
3
+ export class TextFieldComponent {
4
+ constructor() {
5
+ this.autocomplete = 'new-password';
6
+ this.disabled = false;
7
+ this.fieldId = `amplify-field-${nanoid(12)}`;
8
+ this.initialValue = '';
9
+ this.label = '';
10
+ this.placeholder = '';
11
+ this.required = true;
12
+ this.labelHidden = false;
13
+ this.display = 'contents';
14
+ }
15
+ }
16
+ TextFieldComponent.decorators = [
17
+ { type: Component, args: [{
18
+ selector: 'amplify-text-field',
19
+ template: "<label class=\"amplify-label\" [class.sr-only]=\"labelHidden\" [for]=\"fieldId\">\n {{ label }}\n</label>\n<input\n class=\"amplify-input\"\n [id]=\"fieldId\"\n [type]=\"type\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [value]=\"initialValue\"\n [attr.disabled]=\"disabled ? '' : null\"\n [autocomplete]=\"autocomplete\"\n/>\n"
20
+ },] }
21
+ ];
22
+ TextFieldComponent.propDecorators = {
23
+ autocomplete: [{ type: Input }],
24
+ disabled: [{ type: Input }],
25
+ fieldId: [{ type: Input }],
26
+ initialValue: [{ type: Input }],
27
+ label: [{ type: Input }],
28
+ name: [{ type: Input }],
29
+ placeholder: [{ type: Input }],
30
+ required: [{ type: Input }],
31
+ type: [{ type: Input }],
32
+ labelHidden: [{ type: Input }],
33
+ display: [{ type: HostBinding, args: ['style.display',] }]
34
+ };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvcHJpbWl0aXZlcy90ZXh0LWZpZWxkL3RleHQtZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBTWhDLE1BQU0sT0FBTyxrQkFBa0I7SUFKL0I7UUFLVyxpQkFBWSxHQUFHLGNBQWMsQ0FBQztRQUM5QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBVyxpQkFBaUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDaEQsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFaEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFQyxZQUFPLEdBQUcsVUFBVSxDQUFDO0lBQ3JELENBQUM7OztZQWpCQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsZ1lBQTBDO2FBQzNDOzs7MkJBRUUsS0FBSzt1QkFDTCxLQUFLO3NCQUNMLEtBQUs7MkJBQ0wsS0FBSztvQkFDTCxLQUFLO21CQUNMLEtBQUs7MEJBQ0wsS0FBSzt1QkFDTCxLQUFLO21CQUNMLEtBQUs7MEJBQ0wsS0FBSztzQkFFTCxXQUFXLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICduYW5vaWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LXRleHQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZSA9ICduZXctcGFzc3dvcmQnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBmaWVsZElkOiBzdHJpbmcgPSBgYW1wbGlmeS1maWVsZC0ke25hbm9pZCgxMil9YDtcbiAgQElucHV0KCkgaW5pdGlhbFZhbHVlID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgcmVxdWlyZWQgPSB0cnVlO1xuICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsSGlkZGVuID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JykgZGlzcGxheSA9ICdjb250ZW50cyc7XG59XG4iXX0=
@@ -0,0 +1,133 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Logger } from '@aws-amplify/core';
3
+ import { createAuthenticatorMachine, getSendEventAliases, getServiceContextFacade, } from '@aws-amplify/ui';
4
+ import { interpret } from 'xstate';
5
+ import * as i0 from "@angular/core";
6
+ const logger = new Logger('state-machine');
7
+ /**
8
+ * AuthenticatorService provides access to the authenticator state and context.
9
+ */
10
+ export class AuthenticatorService {
11
+ startMachine({ initialState, loginMechanisms, services, signUpAttributes, socialProviders, }) {
12
+ const machine = createAuthenticatorMachine({
13
+ initialState,
14
+ loginMechanisms,
15
+ services,
16
+ signUpAttributes,
17
+ socialProviders,
18
+ });
19
+ const authService = interpret(machine, {
20
+ devTools: process.env.NODE_ENV === 'development',
21
+ }).start();
22
+ this._subscription = authService.subscribe((state) => {
23
+ this._authState = state;
24
+ this._facade = getServiceContextFacade(state);
25
+ });
26
+ this._sendEventAliases = getSendEventAliases(authService.send);
27
+ this._authService = authService;
28
+ }
29
+ ngOnDestroy() {
30
+ if (this._subscription)
31
+ this._subscription.unsubscribe();
32
+ }
33
+ /**
34
+ * Context facades
35
+ */
36
+ get error() {
37
+ var _a;
38
+ return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.error;
39
+ }
40
+ get hasValidationErrors() {
41
+ var _a;
42
+ return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.hasValidationErrors;
43
+ }
44
+ get isPending() {
45
+ var _a;
46
+ return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.isPending;
47
+ }
48
+ get route() {
49
+ var _a;
50
+ return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.route;
51
+ }
52
+ get user() {
53
+ var _a;
54
+ return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.user;
55
+ }
56
+ get validationErrors() {
57
+ var _a;
58
+ return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.validationErrors;
59
+ }
60
+ /**
61
+ * Service facades
62
+ */
63
+ get updateForm() {
64
+ return this._sendEventAliases.updateForm;
65
+ }
66
+ get resendCode() {
67
+ return this._sendEventAliases.resendCode;
68
+ }
69
+ get signOut() {
70
+ return this._sendEventAliases.signOut;
71
+ }
72
+ get submitForm() {
73
+ return this._sendEventAliases.submitForm;
74
+ }
75
+ /**
76
+ * Transition facades
77
+ */
78
+ get toFederatedSignIn() {
79
+ return this._sendEventAliases.toFederatedSignIn;
80
+ }
81
+ get toResetPassword() {
82
+ return this._sendEventAliases.toResetPassword;
83
+ }
84
+ get toSignIn() {
85
+ return this._sendEventAliases.toSignIn;
86
+ }
87
+ get toSignUp() {
88
+ return this._sendEventAliases.toSignUp;
89
+ }
90
+ get skipVerification() {
91
+ return this._sendEventAliases.skipVerification;
92
+ }
93
+ /**
94
+ * Internal utility functions
95
+ */
96
+ /** @deprecated For internal use only */
97
+ get authState() {
98
+ return this._authState;
99
+ }
100
+ /** @deprecated For internal use only */
101
+ get authService() {
102
+ return this._authService;
103
+ }
104
+ /** @deprecated For internal use only */
105
+ get context() {
106
+ return this._authState.context;
107
+ }
108
+ /** @deprecated For internal use only */
109
+ get slotContext() {
110
+ const slotContext = Object.assign(Object.assign({}, this._facade), this._sendEventAliases);
111
+ return Object.assign(Object.assign({}, slotContext), { $implicit: Object.assign({}, slotContext) });
112
+ }
113
+ /** @deprecated For internal use only */
114
+ subscribe(callback) {
115
+ if (this._authService) {
116
+ return this._authService.subscribe(callback);
117
+ }
118
+ else {
119
+ logger.error('Subscription attempted before machine was created. This is likely a bug on the library, please consider filing a bug.');
120
+ }
121
+ }
122
+ /** @deprecated For internal use only */
123
+ send(event) {
124
+ this.authService.send(event);
125
+ }
126
+ }
127
+ AuthenticatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthenticatorService_Factory() { return new AuthenticatorService(); }, token: AuthenticatorService, providedIn: "root" });
128
+ AuthenticatorService.decorators = [
129
+ { type: Injectable, args: [{
130
+ providedIn: 'root',
131
+ },] }
132
+ ];
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBTUwsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQix1QkFBdUIsR0FFeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQVMsU0FBUyxFQUFnQixNQUFNLFFBQVEsQ0FBQzs7QUFHeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBT3hCLFlBQVksQ0FBQyxFQUNsQixZQUFZLEVBQ1osZUFBZSxFQUNmLFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIsZUFBZSxHQUNhO1FBQzVCLE1BQU0sT0FBTyxHQUFHLDBCQUEwQixDQUFDO1lBQ3pDLFlBQVk7WUFDWixlQUFlO1lBQ2YsUUFBUTtZQUNSLGdCQUFnQjtZQUNoQixlQUFlO1NBQ2hCLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUU7WUFDckMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLGFBQWE7U0FDakQsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRVgsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxL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LFFBQVEsQ0FBQyxDQUFDO1NBQzlDO2FBQU07WUFDTCxNQUFNLENBQUMsS0FBSyxDQUNWLHVIQUF1SCxDQUN4SCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsd0NBQXdDO0lBQ2pDLElBQUksQ0FBQyxLQUF1QjtRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDOzs7O1lBaEtGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2NvcmUnO1xuaW1wb3J0IHtcbiAgQXV0aENvbnRleHQsXG4gIEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9ucyxcbiAgQXV0aEV2ZW50LFxuICBBdXRoSW50ZXJwcmV0ZXIsXG4gIEF1dGhNYWNoaW5lU3RhdGUsXG4gIGNyZWF0ZUF1dGhlbnRpY2F0b3JNYWNoaW5lLFxuICBnZXRTZW5kRXZlbnRBbGlhc2VzLFxuICBnZXRTZXJ2aWNlQ29udGV4dEZhY2FkZSxcbiAgZ2V0U2VydmljZUZhY2FkZSxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IEV2ZW50LCBpbnRlcnByZXQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3hzdGF0ZSc7XG5pbXBvcnQgeyBBdXRoU3Vic2NyaXB0aW9uQ2FsbGJhY2sgfSBmcm9tICcuLi9jb21tb24nO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdzdGF0ZS1tYWNoaW5lJyk7XG5cbi8qKlxuICogQXV0aGVudGljYXRvclNlcnZpY2UgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBhdXRoZW50aWNhdG9yIHN0YXRlIGFuZCBjb250ZXh0LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290JywgLy8gZW5zdXJlIHdlIGhhdmUgYSBzaW5nbGV0b24gc2VydmljZVxufSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2F1dGhTdGF0ZTogQXV0aE1hY2hpbmVTdGF0ZTtcbiAgcHJpdmF0ZSBfYXV0aFNlcnZpY2U6IEF1dGhJbnRlcnByZXRlcjtcbiAgcHJpdmF0ZSBfc2VuZEV2ZW50QWxpYXNlczogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0U2VuZEV2ZW50QWxpYXNlcz47XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9mYWNhZGU6IFJldHVyblR5cGU8dHlwZW9mIGdldFNlcnZpY2VDb250ZXh0RmFjYWRlPjtcblxuICBwdWJsaWMgc3RhcnRNYWNoaW5lKHtcbiAgICBpbml0aWFsU3RhdGUsXG4gICAgbG9naW5NZWNoYW5pc21zLFxuICAgIHNlcnZpY2VzLFxuICAgIHNpZ25VcEF0dHJpYnV0ZXMsXG4gICAgc29jaWFsUHJvdmlkZXJzLFxuICB9OiBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnMpIHtcbiAgICBjb25zdCBtYWNoaW5lID0gY3JlYXRlQXV0aGVudGljYXRvck1hY2hpbmUoe1xuICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgbG9naW5NZWNoYW5pc21zLFxuICAgICAgc2VydmljZXMsXG4gICAgICBzaWduVXBBdHRyaWJ1dGVzLFxuICAgICAgc29jaWFsUHJvdmlkZXJzLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbnRlcnByZXQobWFjaGluZSwge1xuICAgICAgZGV2VG9vbHM6IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnLFxuICAgIH0pLnN0YXJ0KCk7XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBhdXRoU2VydmljZS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICB0aGlzLl9hdXRoU3RhdGUgPSBzdGF0ZTtcbiAgICAgIHRoaXMuX2ZhY2FkZSA9IGdldFNlcnZpY2VDb250ZXh0RmFjYWRlKHN0YXRlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMgPSBnZXRTZW5kRXZlbnRBbGlhc2VzKGF1dGhTZXJ2aWNlLnNlbmQpO1xuICAgIHRoaXMuX2F1dGhTZXJ2aWNlID0gYXV0aFNlcnZpY2U7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250ZXh0IGZhY2FkZXNcbiAgICovXG5cbiAgcHVibGljIGdldCBlcnJvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5lcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmFsaWRhdGlvbkVycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5oYXNWYWxpZGF0aW9uRXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1BlbmRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uaXNQZW5kaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCByb3V0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5yb3V0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy51c2VyO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWxpZGF0aW9uRXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnZhbGlkYXRpb25FcnJvcnM7XG4gIH1cblxuICAvKipcbiAgICogU2VydmljZSBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgdXBkYXRlRm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy51cGRhdGVGb3JtO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNlbmRDb2RlKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnJlc2VuZENvZGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpZ25PdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMuc2lnbk91dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3VibWl0Rm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy5zdWJtaXRGb3JtO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zaXRpb24gZmFjYWRlc1xuICAgKi9cblxuICBwdWJsaWMgZ2V0IHRvRmVkZXJhdGVkU2lnbkluKCkge1xuICAgIHJldHVybiB0aGlzLl9zZW5kRXZlbnRBbGlhc2VzLnRvRmVkZXJhdGVkU2lnbkluO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1Jlc2V0UGFzc3dvcmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudG9SZXNldFBhc3N3b3JkO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1NpZ25JbigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZEV2ZW50QWxpYXNlcy50b1NpZ25JbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9TaWduVXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMudG9TaWduVXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNraXBWZXJpZmljYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbmRFdmVudEFsaWFzZXMuc2tpcFZlcmlmaWNhdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCB1dGlsaXR5IGZ1bmN0aW9uc1xuICAgKi9cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFN0YXRlKCk6IEF1dGhNYWNoaW5lU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9hdXRoU3RhdGU7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFNlcnZpY2UoKTogQXV0aEludGVycHJldGVyIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2U7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpOiBBdXRoQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTdGF0ZS5jb250ZXh0O1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IHNsb3RDb250ZXh0KCkge1xuICAgIGNvbnN0IHNsb3RDb250ZXh0ID0ge1xuICAgICAgLi4udGhpcy5fZmFjYWRlLFxuICAgICAgLi4udGhpcy5fc2VuZEV2ZW50QWxpYXNlcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNsb3RDb250ZXh0LFxuICAgICAgJGltcGxpY2l0OiB7IC4uLnNsb3RDb250ZXh0IH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIHN1YnNjcmliZShjYWxsYmFjazogQXV0aFN1YnNjcmlwdGlvbkNhbGxiYWNrKSB7XG4gICAgaWYgKHRoaXMuX2F1dGhTZXJ2aWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2Uuc3Vic2NyaWJlKGNhbGxiYWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAnU3Vic2NyaXB0aW9uIGF0dGVtcHRlZCBiZWZvcmUgbWFjaGluZSB3YXMgY3JlYXRlZC4gVGhpcyBpcyBsaWtlbHkgYSBidWcgb24gdGhlIGxpYnJhcnksIHBsZWFzZSBjb25zaWRlciBmaWxpbmcgYSBidWcuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBzZW5kKGV2ZW50OiBFdmVudDxBdXRoRXZlbnQ+KSB7XG4gICAgdGhpcy5hdXRoU2VydmljZS5zZW5kKGV2ZW50KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Stores and provides custom components that users provide with `amplify-slot`.
5
+ */
6
+ export class CustomComponentsService {
7
+ constructor() {
8
+ this._customComponents = {};
9
+ }
10
+ get customComponents() {
11
+ return this._customComponents;
12
+ }
13
+ set customComponents(customComponents) {
14
+ this._customComponents = Object.assign(Object.assign({}, this._customComponents), customComponents);
15
+ }
16
+ }
17
+ CustomComponentsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CustomComponentsService_Factory() { return new CustomComponentsService(); }, token: CustomComponentsService, providedIn: "root" });
18
+ CustomComponentsService.decorators = [
19
+ { type: Injectable, args: [{
20
+ providedIn: 'root',
21
+ },] }
22
+ ];
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNvbXBvbmVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9jdXN0b20tY29tcG9uZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDOztHQUVHO0FBSUgsTUFBTSxPQUFPLHVCQUF1QjtJQUhwQztRQUlVLHNCQUFpQixHQUFxQixFQUFFLENBQUM7S0FTbEQ7SUFQQyxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxnQkFBZ0IsQ0FBQyxnQkFBa0M7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixtQ0FBUSxJQUFJLENBQUMsaUJBQWlCLEdBQUssZ0JBQWdCLENBQUUsQ0FBQztJQUM5RSxDQUFDOzs7O1lBWkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3VzdG9tQ29tcG9uZW50cyB9IGZyb20gJy4uL2NvbW1vbic7XG5cbi8qKlxuICogU3RvcmVzIGFuZCBwcm92aWRlcyBjdXN0b20gY29tcG9uZW50cyB0aGF0IHVzZXJzIHByb3ZpZGUgd2l0aCBgYW1wbGlmeS1zbG90YC5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbXBvbmVudHNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfY3VzdG9tQ29tcG9uZW50czogQ3VzdG9tQ29tcG9uZW50cyA9IHt9O1xuXG4gIHB1YmxpYyBnZXQgY3VzdG9tQ29tcG9uZW50cygpOiBDdXN0b21Db21wb25lbnRzIHtcbiAgICByZXR1cm4gdGhpcy5fY3VzdG9tQ29tcG9uZW50cztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgY3VzdG9tQ29tcG9uZW50cyhjdXN0b21Db21wb25lbnRzOiBDdXN0b21Db21wb25lbnRzKSB7XG4gICAgdGhpcy5fY3VzdG9tQ29tcG9uZW50cyA9IHsgLi4udGhpcy5fY3VzdG9tQ29tcG9uZW50cywgLi4uY3VzdG9tQ29tcG9uZW50cyB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { Component, HostBinding, Input, } from '@angular/core';
2
+ import { CustomComponentsService } from '../../services/custom-components.service';
3
+ export class AmplifySlotComponent {
4
+ constructor(propService) {
5
+ this.propService = propService;
6
+ this.display = 'contents';
7
+ this.isOverriden = false;
8
+ }
9
+ ngAfterContentInit() {
10
+ const customComponents = this.propService.customComponents;
11
+ const overridingComponent = customComponents[this.name];
12
+ if (overridingComponent) {
13
+ this.overridingComponent = overridingComponent;
14
+ this.isOverriden = true;
15
+ }
16
+ }
17
+ }
18
+ AmplifySlotComponent.decorators = [
19
+ { type: Component, args: [{
20
+ selector: 'amplify-slot',
21
+ template: "<!-- \n if slot isn't overwritten, we display the the default coponent, which is the \n children passed onto this component.\n-->\n<ng-content *ngIf=\"!isOverriden\"></ng-content>\n\n<!-- If slot is overwritten, we render that instead. -->\n<ng-container\n *ngIf=\"isOverriden\"\n [ngTemplateOutlet]=\"overridingComponent\"\n [ngTemplateOutletContext]=\"context\"\n></ng-container>\n"
22
+ },] }
23
+ ];
24
+ AmplifySlotComponent.ctorParameters = () => [
25
+ { type: CustomComponentsService }
26
+ ];
27
+ AmplifySlotComponent.propDecorators = {
28
+ name: [{ type: Input }],
29
+ context: [{ type: Input }],
30
+ display: [{ type: HostBinding, args: ['style.display',] }]
31
+ };
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1zbG90LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi91dGlsaXRpZXMvYW1wbGlmeS1zbG90L2FtcGxpZnktc2xvdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBTW5GLE1BQU0sT0FBTyxvQkFBb0I7SUFTL0IsWUFBb0IsV0FBb0M7UUFBcEMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBTDFCLFlBQU8sR0FBRyxVQUFVLENBQUM7UUFHNUMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFFdUIsQ0FBQztJQUU1RCxrQkFBa0I7UUFDaEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDO1FBQzNELE1BQU0sbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhELElBQUksbUJBQW1CLEVBQUU7WUFDdkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO1lBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7O1lBdkJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsZ1pBQTRDO2FBQzdDOzs7WUFMUSx1QkFBdUI7OzttQkFPN0IsS0FBSztzQkFDTCxLQUFLO3NCQUVMLFdBQVcsU0FBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEN1c3RvbUNvbXBvbmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY3VzdG9tLWNvbXBvbmVudHMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FtcGxpZnktc2xvdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbXBsaWZ5LXNsb3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBbXBsaWZ5U2xvdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRleHQ6IFJlY29yZDxQcm9wZXJ0eUtleSwgYW55PjtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKSBkaXNwbGF5ID0gJ2NvbnRlbnRzJztcblxuICBwdWJsaWMgb3ZlcnJpZGluZ0NvbXBvbmVudDogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHVibGljIGlzT3ZlcnJpZGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm9wU2VydmljZTogQ3VzdG9tQ29tcG9uZW50c1NlcnZpY2UpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGN1c3RvbUNvbXBvbmVudHMgPSB0aGlzLnByb3BTZXJ2aWNlLmN1c3RvbUNvbXBvbmVudHM7XG4gICAgY29uc3Qgb3ZlcnJpZGluZ0NvbXBvbmVudCA9IGN1c3RvbUNvbXBvbmVudHNbdGhpcy5uYW1lXTtcblxuICAgIGlmIChvdmVycmlkaW5nQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLm92ZXJyaWRpbmdDb21wb25lbnQgPSBvdmVycmlkaW5nQ29tcG9uZW50O1xuICAgICAgdGhpcy5pc092ZXJyaWRlbiA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Directive, Input, TemplateRef } from '@angular/core';
2
+ export class AmplifySlotDirective {
3
+ constructor(template) {
4
+ this.template = template;
5
+ }
6
+ set amplifySlot(component) {
7
+ this.name = component;
8
+ }
9
+ }
10
+ AmplifySlotDirective.decorators = [
11
+ { type: Directive, args: [{
12
+ selector: '[amplifySlot]',
13
+ },] }
14
+ ];
15
+ AmplifySlotDirective.ctorParameters = () => [
16
+ { type: TemplateRef }
17
+ ];
18
+ AmplifySlotDirective.propDecorators = {
19
+ amplifySlot: [{ type: Input }]
20
+ };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1zbG90LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi91dGlsaXRpZXMvYW1wbGlmeS1zbG90L2FtcGxpZnktc2xvdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzlELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBRyxDQUFDO0lBR2pELElBQWEsV0FBVyxDQUFDLFNBQWlCO1FBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO0lBQ3hCLENBQUM7OztZQVRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTthQUMxQjs7O1lBSjBCLFdBQVc7OzswQkFTbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thbXBsaWZ5U2xvdF0nLFxufSlcbmV4cG9ydCBjbGFzcyBBbXBsaWZ5U2xvdERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge31cbiAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKSBzZXQgYW1wbGlmeVNsb3QoY29tcG9uZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLm5hbWUgPSBjb21wb25lbnQ7XG4gIH1cbn1cbiJdfQ==