@osovitny/anatoly 2.14.107 → 2.15.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 (106) hide show
  1. package/esm2020/lib/anatoly.module.mjs +25 -24
  2. package/esm2020/lib/core/core.module.mjs +36 -35
  3. package/esm2020/lib/core/go/base-go.service.mjs +6 -6
  4. package/esm2020/lib/core/interceptors/httpInterceptor.mjs +6 -6
  5. package/esm2020/lib/core/localization/localization.module.mjs +22 -21
  6. package/esm2020/lib/core/localization/localization.service.mjs +9 -9
  7. package/esm2020/lib/core/localization/localizationSettings.module.mjs +22 -21
  8. package/esm2020/lib/core/localization/localize.pipe.mjs +9 -9
  9. package/esm2020/lib/core/logging/globalErrorHandler.mjs +6 -6
  10. package/esm2020/lib/core/logging/logging.service.mjs +9 -9
  11. package/esm2020/lib/core/notifications/services/notification-service.mjs +7 -7
  12. package/esm2020/lib/core/services/appcontext.service.mjs +6 -6
  13. package/esm2020/lib/core/services/dm.service.mjs +12 -12
  14. package/esm2020/lib/core/services/google-analytics.service.mjs +6 -6
  15. package/esm2020/lib/core/services/idle.service.mjs +9 -9
  16. package/esm2020/lib/core/services/loading.service.mjs +9 -9
  17. package/esm2020/lib/core/services/web-storage.service.mjs +11 -11
  18. package/esm2020/lib/core/utils.mjs +4 -1
  19. package/esm2020/lib/data/base/base-api.service.mjs +6 -6
  20. package/esm2020/lib/data/base/grid/base-grid-edit.service.mjs +6 -6
  21. package/esm2020/lib/data/base/grid/base-grid-read.service.mjs +6 -6
  22. package/esm2020/lib/data/data.module.mjs +17 -16
  23. package/esm2020/lib/data/services/core-api.service.mjs +6 -6
  24. package/esm2020/lib/data/services/emails-api.service.mjs +6 -6
  25. package/esm2020/lib/data/services/notifications/notifications-api-service.mjs +9 -9
  26. package/esm2020/lib/ui/components/base/base-edit.component.mjs +13 -13
  27. package/esm2020/lib/ui/components/base/base.component.mjs +9 -9
  28. package/esm2020/lib/ui/components/base/base.dialog.mjs +22 -22
  29. package/esm2020/lib/ui/components/base/base.list.mjs +11 -11
  30. package/esm2020/lib/ui/components/base/base.page.mjs +9 -9
  31. package/esm2020/lib/ui/components/base/base.paged.page.mjs +9 -9
  32. package/esm2020/lib/ui/components/billing/buyaccess-button.component.mjs +60 -15
  33. package/esm2020/lib/ui/components/billing/subscribe-plan-button.component.mjs +68 -15
  34. package/esm2020/lib/ui/components/card/card-body.component.mjs +17 -9
  35. package/esm2020/lib/ui/components/card/card-footer.component.mjs +17 -9
  36. package/esm2020/lib/ui/components/card/card-header.component.mjs +31 -11
  37. package/esm2020/lib/ui/components/card/card.component.mjs +21 -9
  38. package/esm2020/lib/ui/components/check-icon/check-icon.component.mjs +16 -9
  39. package/esm2020/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +16 -11
  40. package/esm2020/lib/ui/components/datapager/datapager.component.mjs +37 -30
  41. package/esm2020/lib/ui/components/html-editor/base-html-editor.component.mjs +13 -13
  42. package/esm2020/lib/ui/components/html-editor/forms-html-editor.component.mjs +27 -9
  43. package/esm2020/lib/ui/components/html-editor/html-editor.component.mjs +19 -7
  44. package/esm2020/lib/ui/components/identity/signin-button.component.mjs +15 -9
  45. package/esm2020/lib/ui/components/identity/signout-button.component.mjs +15 -9
  46. package/esm2020/lib/ui/components/identity/signup-button.component.mjs +15 -9
  47. package/esm2020/lib/ui/components/nodata/nodata.component.mjs +38 -17
  48. package/esm2020/lib/ui/components/spinners/loading/loading.component.mjs +16 -7
  49. package/esm2020/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +34 -11
  50. package/esm2020/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +40 -10
  51. package/esm2020/lib/ui/directives/native-element.directive.mjs +9 -9
  52. package/esm2020/lib/ui/external/fa.module.mjs +18 -17
  53. package/esm2020/lib/ui/external/kendo.module.mjs +40 -32
  54. package/esm2020/lib/ui/forms/components/address/address.component.mjs +132 -26
  55. package/esm2020/lib/ui/forms/components/company/company.component.mjs +72 -21
  56. package/esm2020/lib/ui/forms/components/dropdownlists/timezone/timezone.dropdownlist.mjs +44 -15
  57. package/esm2020/lib/ui/forms/components/urlslug/urlslug.component.mjs +69 -25
  58. package/esm2020/lib/ui/forms/contact-us/contact-us.mjs +120 -14
  59. package/esm2020/lib/ui/pipes/filesize.pipe.mjs +9 -9
  60. package/esm2020/lib/ui/pipes/replace-text.pipe.mjs +9 -9
  61. package/esm2020/lib/ui/pipes/safeHtml.pipe.mjs +7 -7
  62. package/esm2020/lib/ui/ui.module.mjs +34 -33
  63. package/esm2020/lib/ui/validation/form-validation-summary.component.mjs +38 -13
  64. package/esm2020/lib/ui/validation/item-validation-summary.component.mjs +33 -11
  65. package/esm2020/lib/ui/validation/validation-summary.component.mjs +9 -9
  66. package/fesm2015/osovitny-anatoly.mjs +1439 -431
  67. package/fesm2015/osovitny-anatoly.mjs.map +1 -1
  68. package/fesm2020/osovitny-anatoly.mjs +1436 -739
  69. package/fesm2020/osovitny-anatoly.mjs.map +1 -1
  70. package/lib/core/utils.d.ts +1 -0
  71. package/lib/ui/components/base/base-edit.component.d.ts +1 -1
  72. package/lib/ui/components/base/base.component.d.ts +1 -1
  73. package/lib/ui/components/base/base.dialog.d.ts +1 -1
  74. package/lib/ui/components/base/base.list.d.ts +1 -1
  75. package/lib/ui/components/base/base.page.d.ts +1 -1
  76. package/lib/ui/components/base/base.paged.page.d.ts +1 -1
  77. package/lib/ui/components/billing/buyaccess-button.component.d.ts +1 -1
  78. package/lib/ui/components/billing/subscribe-plan-button.component.d.ts +1 -1
  79. package/lib/ui/components/card/card-body.component.d.ts +1 -1
  80. package/lib/ui/components/card/card-footer.component.d.ts +1 -1
  81. package/lib/ui/components/card/card-header.component.d.ts +1 -1
  82. package/lib/ui/components/card/card.component.d.ts +1 -1
  83. package/lib/ui/components/check-icon/check-icon.component.d.ts +1 -1
  84. package/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.d.ts +1 -1
  85. package/lib/ui/components/datapager/datapager.component.d.ts +1 -1
  86. package/lib/ui/components/html-editor/base-html-editor.component.d.ts +1 -1
  87. package/lib/ui/components/html-editor/forms-html-editor.component.d.ts +1 -1
  88. package/lib/ui/components/html-editor/html-editor.component.d.ts +1 -1
  89. package/lib/ui/components/identity/signin-button.component.d.ts +1 -1
  90. package/lib/ui/components/identity/signout-button.component.d.ts +1 -1
  91. package/lib/ui/components/identity/signup-button.component.d.ts +1 -1
  92. package/lib/ui/components/nodata/nodata.component.d.ts +1 -1
  93. package/lib/ui/components/spinners/loading/loading.component.d.ts +1 -1
  94. package/lib/ui/components/spinners/pagespinner/pagespinner.component.d.ts +1 -1
  95. package/lib/ui/dialogs/contact-us/contact-us.dialog.d.ts +1 -1
  96. package/lib/ui/directives/native-element.directive.d.ts +1 -1
  97. package/lib/ui/external/kendo.module.d.ts +2 -1
  98. package/lib/ui/forms/components/address/address.component.d.ts +1 -1
  99. package/lib/ui/forms/components/company/company.component.d.ts +1 -1
  100. package/lib/ui/forms/components/dropdownlists/timezone/timezone.dropdownlist.d.ts +1 -1
  101. package/lib/ui/forms/components/urlslug/urlslug.component.d.ts +1 -1
  102. package/lib/ui/forms/contact-us/contact-us.d.ts +1 -1
  103. package/lib/ui/validation/form-validation-summary.component.d.ts +1 -1
  104. package/lib/ui/validation/item-validation-summary.component.d.ts +1 -1
  105. package/lib/ui/validation/validation-summary.component.d.ts +1 -1
  106. package/package.json +4 -4
@@ -25,21 +25,22 @@ export class FaModule {
25
25
  library.addIcons(faCheckCircle, faCircleXmark, faDatabase, faCopy);
26
26
  }
27
27
  }
28
- FaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FaModule, deps: [{ token: i1.FaIconLibrary }], target: i0.ɵɵFactoryTarget.NgModule });
29
- FaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: FaModule, imports: [CommonModule,
30
- FontAwesomeModule], exports: [FontAwesomeModule] });
31
- FaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FaModule, imports: [CommonModule,
28
+ FaModule.ɵfac = function FaModule_Factory(t) { return new (t || FaModule)(i0.ɵɵinject(i1.FaIconLibrary)); };
29
+ FaModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: FaModule });
30
+ FaModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
32
31
  FontAwesomeModule, FontAwesomeModule] });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FaModule, decorators: [{
34
- type: NgModule,
35
- args: [{
36
- imports: [
37
- CommonModule,
38
- FontAwesomeModule
39
- ],
40
- exports: [
41
- FontAwesomeModule
42
- ]
43
- }]
44
- }], ctorParameters: function () { return [{ type: i1.FaIconLibrary }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2V4dGVybmFsL2ZhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sa0NBQWtDLENBQUM7QUFFcEYsT0FBTyxFQUNMLGFBQWEsRUFDYixhQUFhLEVBQ2IsVUFBVSxFQUNWLE1BQU0sRUFDUCxNQUFNLG1DQUFtQyxDQUFDOzs7QUFXM0MsTUFBTSxPQUFPLFFBQVE7SUFDbkIsWUFBWSxPQUFzQjtRQUNoQyxPQUFPLENBQUMsUUFBUSxDQUNkLGFBQWEsRUFDYixhQUFhLEVBQ2IsVUFBVSxFQUNWLE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQzs7cUdBUlUsUUFBUTtzR0FBUixRQUFRLFlBUGpCLFlBQVk7UUFDWixpQkFBaUIsYUFHakIsaUJBQWlCO3NHQUdSLFFBQVEsWUFQakIsWUFBWTtRQUNaLGlCQUFpQixFQUdqQixpQkFBaUI7MkZBR1IsUUFBUTtrQkFUcEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI1IEF1ZyAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlLCBGYUljb25MaWJyYXJ5IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xyXG5cclxuaW1wb3J0IHtcclxuICBmYUNoZWNrQ2lyY2xlLFxyXG4gIGZhQ2lyY2xlWG1hcmssXHJcbiAgZmFEYXRhYmFzZSxcclxuICBmYUNvcHlcclxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb250QXdlc29tZU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRm9udEF3ZXNvbWVNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGYU1vZHVsZSB7XHJcbiAgY29uc3RydWN0b3IobGlicmFyeTogRmFJY29uTGlicmFyeSkge1xyXG4gICAgbGlicmFyeS5hZGRJY29ucyhcclxuICAgICAgZmFDaGVja0NpcmNsZSxcclxuICAgICAgZmFDaXJjbGVYbWFyayxcclxuICAgICAgZmFEYXRhYmFzZSxcclxuICAgICAgZmFDb3B5XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
32
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FaModule, [{
33
+ type: NgModule,
34
+ args: [{
35
+ imports: [
36
+ CommonModule,
37
+ FontAwesomeModule
38
+ ],
39
+ exports: [
40
+ FontAwesomeModule
41
+ ]
42
+ }]
43
+ }], function () { return [{ type: i1.FaIconLibrary }]; }, null); })();
44
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(FaModule, { imports: [CommonModule,
45
+ FontAwesomeModule], exports: [FontAwesomeModule] }); })();
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2V4dGVybmFsL2ZhLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sa0NBQWtDLENBQUM7QUFFcEYsT0FBTyxFQUNMLGFBQWEsRUFDYixhQUFhLEVBQ2IsVUFBVSxFQUNWLE1BQU0sRUFDUCxNQUFNLG1DQUFtQyxDQUFDOzs7QUFXM0MsTUFBTSxPQUFPLFFBQVE7SUFDbkIsWUFBWSxPQUFzQjtRQUNoQyxPQUFPLENBQUMsUUFBUSxDQUNkLGFBQWEsRUFDYixhQUFhLEVBQ2IsVUFBVSxFQUNWLE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQzs7Z0VBUlUsUUFBUTswREFBUixRQUFROzhEQVBqQixZQUFZO1FBQ1osaUJBQWlCLEVBR2pCLGlCQUFpQjt1RkFHUixRQUFRO2NBVHBCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixpQkFBaUI7aUJBQ2xCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxpQkFBaUI7aUJBQ2xCO2FBQ0Y7O3dGQUNZLFFBQVEsY0FQakIsWUFBWTtRQUNaLGlCQUFpQixhQUdqQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjUgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUsIEZhSWNvbkxpYnJhcnkgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIGZhQ2hlY2tDaXJjbGUsXHJcbiAgZmFDaXJjbGVYbWFyayxcclxuICBmYURhdGFiYXNlLFxyXG4gIGZhQ29weVxyXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvbnRBd2Vzb21lTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBGb250QXdlc29tZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZhTW9kdWxlIHtcclxuICBjb25zdHJ1Y3RvcihsaWJyYXJ5OiBGYUljb25MaWJyYXJ5KSB7XHJcbiAgICBsaWJyYXJ5LmFkZEljb25zKFxyXG4gICAgICBmYUNoZWNrQ2lyY2xlLFxyXG4gICAgICBmYUNpcmNsZVhtYXJrLFxyXG4gICAgICBmYURhdGFiYXNlLFxyXG4gICAgICBmYUNvcHlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -24,60 +24,68 @@ import { InputsModule } from '@progress/kendo-angular-inputs';
24
24
  import { PagerModule } from '@progress/kendo-angular-pager';
25
25
  import { TreeViewModule } from '@progress/kendo-angular-treeview';
26
26
  import { TooltipsModule } from "@progress/kendo-angular-tooltip";
27
+ import { IconsModule } from "@progress/kendo-angular-icons";
27
28
  import * as i0 from "@angular/core";
28
29
  export class KendoModule {
29
30
  }
30
- KendoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: KendoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
31
- KendoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: KendoModule, imports: [CommonModule,
31
+ KendoModule.ɵfac = function KendoModule_Factory(t) { return new (t || KendoModule)(); };
32
+ KendoModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: KendoModule });
33
+ KendoModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
32
34
  ButtonsModule,
33
35
  DialogsModule,
34
36
  DropDownsModule,
35
37
  InputsModule,
36
38
  PagerModule,
37
39
  TreeViewModule,
38
- TooltipsModule], exports: [ButtonsModule,
40
+ TooltipsModule,
41
+ IconsModule, ButtonsModule,
39
42
  DialogsModule,
40
43
  DropDownsModule,
41
44
  InputsModule,
42
45
  PagerModule,
43
46
  TreeViewModule,
44
- TooltipsModule] });
45
- KendoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: KendoModule, imports: [CommonModule,
47
+ TooltipsModule,
48
+ IconsModule] });
49
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(KendoModule, [{
50
+ type: NgModule,
51
+ args: [{
52
+ imports: [
53
+ CommonModule,
54
+ ButtonsModule,
55
+ DialogsModule,
56
+ DropDownsModule,
57
+ InputsModule,
58
+ PagerModule,
59
+ TreeViewModule,
60
+ TooltipsModule,
61
+ IconsModule,
62
+ ],
63
+ exports: [
64
+ ButtonsModule,
65
+ DialogsModule,
66
+ DropDownsModule,
67
+ InputsModule,
68
+ PagerModule,
69
+ TreeViewModule,
70
+ TooltipsModule,
71
+ IconsModule
72
+ ]
73
+ }]
74
+ }], null, null); })();
75
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(KendoModule, { imports: [CommonModule,
46
76
  ButtonsModule,
47
77
  DialogsModule,
48
78
  DropDownsModule,
49
79
  InputsModule,
50
80
  PagerModule,
51
81
  TreeViewModule,
52
- TooltipsModule, ButtonsModule,
82
+ TooltipsModule,
83
+ IconsModule], exports: [ButtonsModule,
53
84
  DialogsModule,
54
85
  DropDownsModule,
55
86
  InputsModule,
56
87
  PagerModule,
57
88
  TreeViewModule,
58
- TooltipsModule] });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: KendoModule, decorators: [{
60
- type: NgModule,
61
- args: [{
62
- imports: [
63
- CommonModule,
64
- ButtonsModule,
65
- DialogsModule,
66
- DropDownsModule,
67
- InputsModule,
68
- PagerModule,
69
- TreeViewModule,
70
- TooltipsModule
71
- ],
72
- exports: [
73
- ButtonsModule,
74
- DialogsModule,
75
- DropDownsModule,
76
- InputsModule,
77
- PagerModule,
78
- TreeViewModule,
79
- TooltipsModule
80
- ]
81
- }]
82
- }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZG8ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2V4dGVybmFsL2tlbmRvLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxXQUFXO0FBQ1gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQXVCakUsTUFBTSxPQUFPLFdBQVc7O3dHQUFYLFdBQVc7eUdBQVgsV0FBVyxZQW5CcEIsWUFBWTtRQUNaLGFBQWE7UUFDYixhQUFhO1FBQ2IsZUFBZTtRQUNmLFlBQVk7UUFDWixXQUFXO1FBQ1gsY0FBYztRQUNkLGNBQWMsYUFHZCxhQUFhO1FBQ2IsYUFBYTtRQUNiLGVBQWU7UUFDZixZQUFZO1FBQ1osV0FBVztRQUNYLGNBQWM7UUFDZCxjQUFjO3lHQUdMLFdBQVcsWUFuQnBCLFlBQVk7UUFDWixhQUFhO1FBQ2IsYUFBYTtRQUNiLGVBQWU7UUFDZixZQUFZO1FBQ1osV0FBVztRQUNYLGNBQWM7UUFDZCxjQUFjLEVBR2QsYUFBYTtRQUNiLGFBQWE7UUFDYixlQUFlO1FBQ2YsWUFBWTtRQUNaLFdBQVc7UUFDWCxjQUFjO1FBQ2QsY0FBYzsyRkFHTCxXQUFXO2tCQXJCdkIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxjQUFjO3FCQUNmO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI4IEF1ZyAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vL0Bwcm9ncmVzc1xyXG5pbXBvcnQgeyBCdXR0b25zTW9kdWxlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWJ1dHRvbnNcIjtcclxuaW1wb3J0IHsgRGlhbG9nc01vZHVsZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kaWFsb2dcIjtcclxuaW1wb3J0IHsgRHJvcERvd25zTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZHJvcGRvd25zJztcclxuaW1wb3J0IHsgSW5wdXRzTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItaW5wdXRzJztcclxuaW1wb3J0IHsgUGFnZXJNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1wYWdlcic7XHJcbmltcG9ydCB7IFRyZWVWaWV3TW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdHJlZXZpZXcnO1xyXG5pbXBvcnQgeyBUb29sdGlwc01vZHVsZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10b29sdGlwXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEJ1dHRvbnNNb2R1bGUsXHJcbiAgICBEaWFsb2dzTW9kdWxlLFxyXG4gICAgRHJvcERvd25zTW9kdWxlLFxyXG4gICAgSW5wdXRzTW9kdWxlLFxyXG4gICAgUGFnZXJNb2R1bGUsXHJcbiAgICBUcmVlVmlld01vZHVsZSxcclxuICAgIFRvb2x0aXBzTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBCdXR0b25zTW9kdWxlLFxyXG4gICAgRGlhbG9nc01vZHVsZSxcclxuICAgIERyb3BEb3duc01vZHVsZSxcclxuICAgIElucHV0c01vZHVsZSxcclxuICAgIFBhZ2VyTW9kdWxlLFxyXG4gICAgVHJlZVZpZXdNb2R1bGUsXHJcbiAgICBUb29sdGlwc01vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEtlbmRvTW9kdWxlIHtcclxufVxyXG4iXX0=
89
+ TooltipsModule,
90
+ IconsModule] }); })();
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZG8ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2V4dGVybmFsL2tlbmRvLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxXQUFXO0FBQ1gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUF5QjVELE1BQU0sT0FBTyxXQUFXOztzRUFBWCxXQUFXOzZEQUFYLFdBQVc7aUVBckJwQixZQUFZO1FBQ1osYUFBYTtRQUNiLGFBQWE7UUFDYixlQUFlO1FBQ2YsWUFBWTtRQUNaLFdBQVc7UUFDWCxjQUFjO1FBQ2QsY0FBYztRQUNkLFdBQVcsRUFHWCxhQUFhO1FBQ2IsYUFBYTtRQUNiLGVBQWU7UUFDZixZQUFZO1FBQ1osV0FBVztRQUNYLGNBQWM7UUFDZCxjQUFjO1FBQ2QsV0FBVzt1RkFHRixXQUFXO2NBdkJ2QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsWUFBWTtvQkFDWixXQUFXO29CQUNYLGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxXQUFXO2lCQUNaO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxhQUFhO29CQUNiLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsY0FBYztvQkFDZCxjQUFjO29CQUNkLFdBQVc7aUJBQ1o7YUFDRjs7d0ZBQ1ksV0FBVyxjQXJCcEIsWUFBWTtRQUNaLGFBQWE7UUFDYixhQUFhO1FBQ2IsZUFBZTtRQUNmLFlBQVk7UUFDWixXQUFXO1FBQ1gsY0FBYztRQUNkLGNBQWM7UUFDZCxXQUFXLGFBR1gsYUFBYTtRQUNiLGFBQWE7UUFDYixlQUFlO1FBQ2YsWUFBWTtRQUNaLFdBQVc7UUFDWCxjQUFjO1FBQ2QsY0FBYztRQUNkLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjggQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbi8vQHByb2dyZXNzXHJcbmltcG9ydCB7IEJ1dHRvbnNNb2R1bGUgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItYnV0dG9uc1wiO1xyXG5pbXBvcnQgeyBEaWFsb2dzTW9kdWxlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWRpYWxvZ1wiO1xyXG5pbXBvcnQgeyBEcm9wRG93bnNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kcm9wZG93bnMnO1xyXG5pbXBvcnQgeyBJbnB1dHNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1pbnB1dHMnO1xyXG5pbXBvcnQgeyBQYWdlck1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXBhZ2VyJztcclxuaW1wb3J0IHsgVHJlZVZpZXdNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10cmVldmlldyc7XHJcbmltcG9ydCB7IFRvb2x0aXBzTW9kdWxlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXRvb2x0aXBcIjtcclxuaW1wb3J0IHsgSWNvbnNNb2R1bGUgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItaWNvbnNcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQnV0dG9uc01vZHVsZSxcclxuICAgIERpYWxvZ3NNb2R1bGUsXHJcbiAgICBEcm9wRG93bnNNb2R1bGUsXHJcbiAgICBJbnB1dHNNb2R1bGUsXHJcbiAgICBQYWdlck1vZHVsZSxcclxuICAgIFRyZWVWaWV3TW9kdWxlLFxyXG4gICAgVG9vbHRpcHNNb2R1bGUsXHJcbiAgICBJY29uc01vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEJ1dHRvbnNNb2R1bGUsXHJcbiAgICBEaWFsb2dzTW9kdWxlLFxyXG4gICAgRHJvcERvd25zTW9kdWxlLFxyXG4gICAgSW5wdXRzTW9kdWxlLFxyXG4gICAgUGFnZXJNb2R1bGUsXHJcbiAgICBUcmVlVmlld01vZHVsZSxcclxuICAgIFRvb2x0aXBzTW9kdWxlLFxyXG4gICAgSWNvbnNNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLZW5kb01vZHVsZSB7XHJcbn1cclxuIl19
@@ -27,7 +27,62 @@ import * as i5 from "../../../components/card/card-header.component";
27
27
  import * as i6 from "../../../components/card/card-body.component";
28
28
  import * as i7 from "../../../directives/native-element.directive";
29
29
  import * as i8 from "../../../validation/item-validation-summary.component";
30
+ function AddressComponent_anatoly_card_header_1_Template(rf, ctx) { if (rf & 1) {
31
+ i0.ɵɵelement(0, "anatoly-card-header", 18);
32
+ } if (rf & 2) {
33
+ const ctx_r0 = i0.ɵɵnextContext();
34
+ i0.ɵɵproperty("title", ctx_r0.title);
35
+ } }
36
+ function AddressComponent_div_17_option_4_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelementStart(0, "option", 21);
38
+ i0.ɵɵtext(1);
39
+ i0.ɵɵelementEnd();
40
+ } if (rf & 2) {
41
+ const state_r4 = ctx.$implicit;
42
+ i0.ɵɵproperty("value", state_r4.code);
43
+ i0.ɵɵadvance(1);
44
+ i0.ɵɵtextInterpolate(state_r4.name);
45
+ } }
46
+ const _c0 = function (a0) { return { "has-error": a0 }; };
47
+ function AddressComponent_div_17_Template(rf, ctx) { if (rf & 1) {
48
+ const _r6 = i0.ɵɵgetCurrentView();
49
+ i0.ɵɵelementStart(0, "div", 9)(1, "label", 4);
50
+ i0.ɵɵtext(2, "State");
51
+ i0.ɵɵelementEnd();
52
+ i0.ɵɵelementStart(3, "select", 19);
53
+ i0.ɵɵlistener("change", function AddressComponent_div_17_Template_select_change_3_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.onUSStateChange($event)); });
54
+ i0.ɵɵtemplate(4, AddressComponent_div_17_option_4_Template, 2, 2, "option", 16);
55
+ i0.ɵɵelementEnd();
56
+ i0.ɵɵelement(5, "anatoly-item-validation-summary", 20);
57
+ i0.ɵɵelementEnd();
58
+ } if (rf & 2) {
59
+ const ctx_r1 = i0.ɵɵnextContext();
60
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0, ctx_r1.isControlInvalid("address_stateOrRegion")));
61
+ i0.ɵɵadvance(4);
62
+ i0.ɵɵproperty("ngForOf", ctx_r1.usStateData);
63
+ i0.ɵɵadvance(1);
64
+ i0.ɵɵproperty("formGroup", ctx_r1.formGroup)("formSubmitted", ctx_r1.formSubmitted);
65
+ } }
66
+ function AddressComponent_option_27_Template(rf, ctx) { if (rf & 1) {
67
+ i0.ɵɵelementStart(0, "option", 21);
68
+ i0.ɵɵtext(1);
69
+ i0.ɵɵelementEnd();
70
+ } if (rf & 2) {
71
+ const country_r7 = ctx.$implicit;
72
+ i0.ɵɵproperty("value", country_r7.code);
73
+ i0.ɵɵadvance(1);
74
+ i0.ɵɵtextInterpolate(country_r7.name);
75
+ } }
30
76
  export class AddressComponent extends BaseEditComponent {
77
+ get address() {
78
+ return this._address;
79
+ }
80
+ set address(value) {
81
+ this._address = value;
82
+ if (value) {
83
+ this.init();
84
+ }
85
+ }
31
86
  constructor(fb, api) {
32
87
  super();
33
88
  this.fb = fb;
@@ -43,15 +98,6 @@ export class AddressComponent extends BaseEditComponent {
43
98
  //Outputs
44
99
  this.change = new EventEmitter();
45
100
  }
46
- get address() {
47
- return this._address;
48
- }
49
- set address(value) {
50
- this._address = value;
51
- if (value) {
52
- this.init();
53
- }
54
- }
55
101
  ngOnInit() {
56
102
  this.api.getCountriesJsonFile(data => {
57
103
  this.countryData = data;
@@ -117,20 +163,80 @@ export class AddressComponent extends BaseEditComponent {
117
163
  this.change.emit(usState);
118
164
  }
119
165
  }
120
- AddressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AddressComponent, deps: [{ token: i1.FormBuilder }, { token: i2.CoreApiService }], target: i0.ɵɵFactoryTarget.Component });
121
- AddressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: AddressComponent, selector: "anatoly-forms-address", inputs: { title: "title", isTitleVisible: "isTitleVisible", isRequired: "isRequired", address: "address" }, outputs: { change: "change" }, usesInheritance: true, ngImport: i0, template: "<anatoly-card classes='card-primary card-outline'>\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title'></anatoly-card-header>\r\n <anatoly-card-body>\r\n <div class='row' [formGroup]='formGroup'>\r\n <div class='form-group col-12' [ngClass]=\"{'has-error': isControlInvalid('address_street')}\" >\r\n <label class='col-form-label required'>Street Address</label>\r\n <input type='text' class='form-control' formControlName='address_street' placeholder='Street Address'>\r\n <anatoly-item-validation-summary controlName='address_street'\r\n controlTitle='Street'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-12' [ngClass]=\"{'has-error': isControlInvalid('address_street2')}\" >\r\n <input type='text' class='form-control' formControlName='address_street2' placeholder='Apartment, suite, unit, building, floor, etc.'>\r\n <anatoly-item-validation-summary controlName='address_street2'\r\n controlTitle='Street2'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_city')}\">\r\n <label class='col-form-label required'>City</label>\r\n <input type='text' class='form-control' formControlName='address_city' placeholder='City'>\r\n <anatoly-item-validation-summary controlName='address_city'\r\n controlTitle='City'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' *ngIf=\"formGroup.value.address_country == 'US'\" [ngClass]=\"{'has-error': isControlInvalid('address_stateOrRegion')}\">\r\n <label class='col-form-label required'>State</label>\r\n <select class='form-control' (change)='onUSStateChange($event)' formControlName='address_stateOrRegion'>\r\n <option *ngFor='let state of usStateData' [value]='state.code'>{{state.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_stateOrRegion'\r\n controlTitle='State'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_zipcode')}\" >\r\n <label class='col-form-label required'>zipcode</label>\r\n <input type='text' class='form-control' formControlName='address_zipcode' placeholder='zipcode'>\r\n <anatoly-item-validation-summary controlName='address_zipcode'\r\n controlTitle='zipcode'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_country')}\">\r\n <label class='col-form-label required'>Country</label>\r\n <select class='form-control' (change)='onCountryChange($event)' formControlName='address_country' data-placeholder='Select a Country'>\r\n <option *ngFor='let country of countryData' [value]='country.code'>{{country.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_country'\r\n controlTitle='Country'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.CardComponent, selector: "anatoly-card", inputs: ["classes"] }, { kind: "component", type: i5.CardHeaderComponent, selector: "anatoly-card-header", inputs: ["classes", "title"] }, { kind: "component", type: i6.CardBodyComponent, selector: "anatoly-card-body", inputs: ["classes"] }, { kind: "directive", type: i7.NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: i8.ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AddressComponent, decorators: [{
123
- type: Component,
124
- args: [{ selector: 'anatoly-forms-address', template: "<anatoly-card classes='card-primary card-outline'>\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title'></anatoly-card-header>\r\n <anatoly-card-body>\r\n <div class='row' [formGroup]='formGroup'>\r\n <div class='form-group col-12' [ngClass]=\"{'has-error': isControlInvalid('address_street')}\" >\r\n <label class='col-form-label required'>Street Address</label>\r\n <input type='text' class='form-control' formControlName='address_street' placeholder='Street Address'>\r\n <anatoly-item-validation-summary controlName='address_street'\r\n controlTitle='Street'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-12' [ngClass]=\"{'has-error': isControlInvalid('address_street2')}\" >\r\n <input type='text' class='form-control' formControlName='address_street2' placeholder='Apartment, suite, unit, building, floor, etc.'>\r\n <anatoly-item-validation-summary controlName='address_street2'\r\n controlTitle='Street2'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_city')}\">\r\n <label class='col-form-label required'>City</label>\r\n <input type='text' class='form-control' formControlName='address_city' placeholder='City'>\r\n <anatoly-item-validation-summary controlName='address_city'\r\n controlTitle='City'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' *ngIf=\"formGroup.value.address_country == 'US'\" [ngClass]=\"{'has-error': isControlInvalid('address_stateOrRegion')}\">\r\n <label class='col-form-label required'>State</label>\r\n <select class='form-control' (change)='onUSStateChange($event)' formControlName='address_stateOrRegion'>\r\n <option *ngFor='let state of usStateData' [value]='state.code'>{{state.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_stateOrRegion'\r\n controlTitle='State'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_zipcode')}\" >\r\n <label class='col-form-label required'>zipcode</label>\r\n <input type='text' class='form-control' formControlName='address_zipcode' placeholder='zipcode'>\r\n <anatoly-item-validation-summary controlName='address_zipcode'\r\n controlTitle='zipcode'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_country')}\">\r\n <label class='col-form-label required'>Country</label>\r\n <select class='form-control' (change)='onCountryChange($event)' formControlName='address_country' data-placeholder='Select a Country'>\r\n <option *ngFor='let country of countryData' [value]='country.code'>{{country.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_country'\r\n controlTitle='Country'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n" }]
125
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.CoreApiService }]; }, propDecorators: { title: [{
126
- type: Input
127
- }], isTitleVisible: [{
128
- type: Input
129
- }], isRequired: [{
130
- type: Input
131
- }], address: [{
132
- type: Input
133
- }], change: [{
134
- type: Output
135
- }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29tcG9uZW50cy9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2Zvcm1zL2NvbXBvbmVudHMvYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7OztBQVd4RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsaUJBQWlCO0lBK0JyRCxZQUFvQixFQUFlLEVBQVUsR0FBbUI7UUFDOUQsS0FBSyxFQUFFLENBQUM7UUFEVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBZ0I7UUEzQmhFLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUUzQixnQkFBVyxHQUFvQixFQUFFLENBQUM7UUFDbEMsZ0JBQVcsR0FBb0IsRUFBRSxDQUFDO1FBQ2xDLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBRXRCLFFBQVE7UUFDQyxVQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBZS9CLFNBQVM7UUFDQyxXQUFNLEdB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IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAwMiBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29yZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhJztcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlRWRpdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xyXG5cclxuaW50ZXJmYWNlIENvZGVOYW1lIHtcclxuICBjb2RlOiBzdHJpbmcsXHJcbiAgbmFtZTogc3RyaW5nXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1mb3Jtcy1hZGRyZXNzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkcmVzcy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZHJlc3NDb21wb25lbnQgZXh0ZW5kcyBCYXNlRWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy9Qcml2YXRlXHJcbiAgcHJpdmF0ZSBfYWRkcmVzcztcclxuXHJcbiAgZm9ybUdyb3VwR2VuZXJhdGVkID0gZmFsc2U7XHJcblxyXG4gIGNvdW50cnlEYXRhOiBBcnJheTxDb2RlTmFtZT4gPSBbXTtcclxuICB1c1N0YXRlRGF0YTogQXJyYXk8Q29kZU5hbWU+ID0gW107XHJcbiAgY3VycmVudENvdW50cnkgPSAnVVMnO1xyXG4gIGN1cnJlbnRVU1N0YXRlID0gJ05ZJztcclxuXHJcbiAgLy9JbnB1dHNcclxuICBASW5wdXQoKSB0aXRsZSA9ICdBZGRyZXNzJztcclxuICBASW5wdXQoKSBpc1RpdGxlVmlzaWJsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgaXNSZXF1aXJlZDtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgYWRkcmVzcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9hZGRyZXNzO1xyXG4gIH1cclxuICBzZXQgYWRkcmVzcyh2YWx1ZSkge1xyXG4gICAgdGhpcy5fYWRkcmVzcyA9IHZhbHVlO1xyXG5cclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vT3V0cHV0c1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgYXBpOiBDb3JlQXBpU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hcGkuZ2V0Q291bnRyaWVzSnNvbkZpbGUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuY291bnRyeURhdGEgPSBkYXRhO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5hcGkuZ2V0VVNTdGF0ZXNKc29uRmlsZShkYXRhID0+IHtcclxuICAgICAgdGhpcy51c1N0YXRlRGF0YSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpO1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUZvcm1Hcm91cCgpIHtcclxuICAgIGxldCBpc1JlcXVpcmVkID0gQ29udmVydC5zdHJpbmdUb0Jvb2xlYW4odGhpcy5pc1JlcXVpcmVkKTtcclxuXHJcbiAgICBpZiAoaXNSZXF1aXJlZCkge1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX3N0cmVldCcsIHRoaXMuZmIuY29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3Nfc3RyZWV0MicsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19jaXR5JywgdGhpcy5mYi5jb250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19zdGF0ZU9yUmVnaW9uJywgdGhpcy5mYi5jb250cm9sKHRoaXMuY3VycmVudFVTU3RhdGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSkpO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX2NvdW50cnknLCB0aGlzLmZiLmNvbnRyb2wodGhpcy5jdXJyZW50Q291bnRyeSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3NfemlwY29kZScsIHRoaXMuZmIuY29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19zdHJlZXQnLCB0aGlzLmZiLmNvbnRyb2woJycsIFtdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3Nfc3RyZWV0MicsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19jaXR5JywgdGhpcy5mYi5jb250cm9sKCcnLCBbXSkpO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX3N0YXRlT3JSZWdpb24nLCB0aGlzLmZiLmNvbnRyb2wodGhpcy5jdXJyZW50VVNTdGF0ZSwgW10pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19jb3VudHJ5JywgdGhpcy5mYi5jb250cm9sKHRoaXMuY3VycmVudENvdW50cnksIFtdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3NfemlwY29kZScsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvcm1Hcm91cEdlbmVyYXRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwR2VuZXJhdGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5fYWRkcmVzcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGxldCBhZGRyZXNzID0gSlNPTi5wYXJzZSh0aGlzLl9hZGRyZXNzKTtcclxuXHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdhZGRyZXNzX3N0cmVldCcsIGFkZHJlc3Muc3RyZWV0KTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2FkZHJlc3Nfc3RyZWV0MicsIGFkZHJlc3Muc3RyZWV0Mik7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdhZGRyZXNzX2NpdHknLCBhZGRyZXNzLmNpdHkpO1xyXG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSgnYWRkcmVzc19zdGF0ZU9yUmVnaW9uJywgYWRkcmVzcy5zdGF0ZU9yUmVnaW9uKTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2FkZHJlc3NfemlwY29kZScsIGFkZHJlc3MuemlwY29kZSk7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdhZGRyZXNzX2NvdW50cnknLCBhZGRyZXNzLmNvdW50cnkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QWRkcmVzcygpIHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIHN0cmVldDogdGhpcy5nZXRGb3JtVmFsdWUoJ2FkZHJlc3Nfc3RyZWV0JykgfHwgbnVsbCxcclxuICAgICAgc3RyZWV0MjogdGhpcy5nZXRGb3JtVmFsdWUoJ2FkZHJlc3Nfc3RyZWV0MicpIHx8IG51bGwsXHJcbiAgICAgIGNpdHk6IHRoaXMuZ2V0Rm9ybVZhbHVlKCdhZGRyZXNzX2NpdHknKSB8fCBudWxsLFxyXG4gICAgICBzdGF0ZU9yUmVnaW9uOiB0aGlzLmdldEZvcm1WYWx1ZSgnYWRkcmVzc19zdGF0ZU9yUmVnaW9uJykgfHwgbnVsbCxcclxuICAgICAgemlwY29kZTogdGhpcy5nZXRGb3JtVmFsdWUoJ2FkZHJlc3NfemlwY29kZScpIHx8IG51bGwsXHJcbiAgICAgIGNvdW50cnk6IHRoaXMuZ2V0Rm9ybVZhbHVlKCdhZGRyZXNzX2NvdW50cnknKSB8fCBudWxsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhKTtcclxuICB9XHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgb25Db3VudHJ5Q2hhbmdlKGV2ZW50KSB7XHJcbiAgICBsZXQgY291bnRyeSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIHRoaXMuY2hhbmdlLmVtaXQoY291bnRyeSk7XHJcbiAgfVxyXG5cclxuICBvblVTU3RhdGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgIGxldCB1c1N0YXRlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh1c1N0YXRlKTtcclxuICB9XHJcbn1cclxuIiwiPGFuYXRvbHktY2FyZCBjbGFzc2VzPSdjYXJkLXByaW1hcnkgY2FyZC1vdXRsaW5lJz5cclxuICA8YW5hdG9seS1jYXJkLWhlYWRlciAqbmdJZj0naXNUaXRsZVZpc2libGUnIFt0aXRsZV09J3RpdGxlJz48L2FuYXRvbHktY2FyZC1oZWFkZXI+XHJcbiAgPGFuYXRvbHktY2FyZC1ib2R5PlxyXG4gICAgPGRpdiBjbGFzcz0ncm93JyBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJz5cclxuICAgICAgPGRpdiBjbGFzcz0nZm9ybS1ncm91cCBjb2wtMTInIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnYWRkcmVzc19zdHJlZXQnKX1cIiA+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPSdjb2wtZm9ybS1sYWJlbCByZXF1aXJlZCc+U3RyZWV0IEFkZHJlc3M8L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J2FkZHJlc3Nfc3RyZWV0JyBwbGFjZWhvbGRlcj0nU3RyZWV0IEFkZHJlc3MnPlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdhZGRyZXNzX3N0cmVldCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J1N0cmVldCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCc+XHJcbiAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTEyJyBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ2FkZHJlc3Nfc3RyZWV0MicpfVwiID5cclxuICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdhZGRyZXNzX3N0cmVldDInIHBsYWNlaG9sZGVyPSdBcGFydG1lbnQsIHN1aXRlLCB1bml0LCBidWlsZGluZywgZmxvb3IsIGV0Yy4nPlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdhZGRyZXNzX3N0cmVldDInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdTdHJlZXQyJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJz5cclxuICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz0nZm9ybS1ncm91cCBjb2wtMycgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdhZGRyZXNzX2NpdHknKX1cIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9J2NvbC1mb3JtLWxhYmVsIHJlcXVpcmVkJz5DaXR5PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdhZGRyZXNzX2NpdHknIHBsYWNlaG9sZGVyPSdDaXR5Jz5cclxuICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBjb250cm9sTmFtZT0nYWRkcmVzc19jaXR5J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nQ2l0eSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCc+XHJcbiAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTMnICpuZ0lmPVwiZm9ybUdyb3VwLnZhbHVlLmFkZHJlc3NfY291bnRyeSA9PSAnVVMnXCIgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdhZGRyZXNzX3N0YXRlT3JSZWdpb24nKX1cIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9J2NvbC1mb3JtLWxhYmVsIHJlcXVpcmVkJz5TdGF0ZTwvbGFiZWw+XHJcbiAgICAgICAgPHNlbGVjdCBjbGFzcz0nZm9ybS1jb250cm9sJyAoY2hhbmdlKT0nb25VU1N0YXRlQ2hhbmdlKCRldmVudCknIGZvcm1Db250cm9sTmFtZT0nYWRkcmVzc19zdGF0ZU9yUmVnaW9uJz5cclxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPSdsZXQgc3RhdGUgb2YgdXNTdGF0ZURhdGEnIFt2YWx1ZV09J3N0YXRlLmNvZGUnPnt7c3RhdGUubmFtZX19PC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2FkZHJlc3Nfc3RhdGVPclJlZ2lvbidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J1N0YXRlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJz5cclxuICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz0nZm9ybS1ncm91cCBjb2wtMycgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdhZGRyZXNzX3ppcGNvZGUnKX1cIiA+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPSdjb2wtZm9ybS1sYWJlbCByZXF1aXJlZCc+emlwY29kZTwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9J3RleHQnIGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nYWRkcmVzc196aXBjb2RlJyBwbGFjZWhvbGRlcj0nemlwY29kZSc+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2FkZHJlc3NfemlwY29kZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J3ppcGNvZGUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnPlxyXG4gICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPSdmb3JtLWdyb3VwIGNvbC0zJyBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ2FkZHJlc3NfY291bnRyeScpfVwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz0nY29sLWZvcm0tbGFiZWwgcmVxdWlyZWQnPkNvdW50cnk8L2xhYmVsPlxyXG4gICAgICAgIDxzZWxlY3QgY2xhc3M9J2Zvcm0tY29udHJvbCcgKGNoYW5nZSk9J29uQ291bnRyeUNoYW5nZSgkZXZlbnQpJyBmb3JtQ29udHJvbE5hbWU9J2FkZHJlc3NfY291bnRyeScgZGF0YS1wbGFjZWhvbGRlcj0nU2VsZWN0IGEgQ291bnRyeSc+XHJcbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj0nbGV0IGNvdW50cnkgb2YgY291bnRyeURhdGEnIFt2YWx1ZV09J2NvdW50cnkuY29kZSc+e3tjb3VudHJ5Lm5hbWV9fTwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdhZGRyZXNzX2NvdW50cnknXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdDb3VudHJ5J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJz5cclxuICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9hbmF0b2x5LWNhcmQtYm9keT5cclxuPC9hbmF0b2x5LWNhcmQ+XHJcbiJdfQ==
166
+ AddressComponent.ɵfac = function AddressComponent_Factory(t) { return new (t || AddressComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.CoreApiService)); };
167
+ AddressComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddressComponent, selectors: [["anatoly-forms-address"]], inputs: { title: "title", isTitleVisible: "isTitleVisible", isRequired: "isRequired", address: "address" }, outputs: { change: "change" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 29, vars: 29, consts: [["classes", "card-primary card-outline"], [3, "title", 4, "ngIf"], [1, "row", 3, "formGroup"], [1, "form-group", "col-12", 3, "ngClass"], [1, "col-form-label", "required"], ["type", "text", "formControlName", "address_street", "placeholder", "Street Address", 1, "form-control"], ["controlName", "address_street", "controlTitle", "Street", 3, "formGroup", "formSubmitted"], ["type", "text", "formControlName", "address_street2", "placeholder", "Apartment, suite, unit, building, floor, etc.", 1, "form-control"], ["controlName", "address_street2", "controlTitle", "Street2", 3, "formGroup", "formSubmitted"], [1, "form-group", "col-3", 3, "ngClass"], ["type", "text", "formControlName", "address_city", "placeholder", "City", 1, "form-control"], ["controlName", "address_city", "controlTitle", "City", 3, "formGroup", "formSubmitted"], ["class", "form-group col-3", 3, "ngClass", 4, "ngIf"], ["type", "text", "formControlName", "address_zipcode", "placeholder", "zipcode", 1, "form-control"], ["controlName", "address_zipcode", "controlTitle", "zipcode", 3, "formGroup", "formSubmitted"], ["formControlName", "address_country", "data-placeholder", "Select a Country", 1, "form-control", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], ["controlName", "address_country", "controlTitle", "Country", 3, "formGroup", "formSubmitted"], [3, "title"], ["formControlName", "address_stateOrRegion", 1, "form-control", 3, "change"], ["controlName", "address_stateOrRegion", "controlTitle", "State", 3, "formGroup", "formSubmitted"], [3, "value"]], template: function AddressComponent_Template(rf, ctx) { if (rf & 1) {
168
+ i0.ɵɵelementStart(0, "anatoly-card", 0);
169
+ i0.ɵɵtemplate(1, AddressComponent_anatoly_card_header_1_Template, 1, 1, "anatoly-card-header", 1);
170
+ i0.ɵɵelementStart(2, "anatoly-card-body")(3, "div", 2)(4, "div", 3)(5, "label", 4);
171
+ i0.ɵɵtext(6, "Street Address");
172
+ i0.ɵɵelementEnd();
173
+ i0.ɵɵelement(7, "input", 5)(8, "anatoly-item-validation-summary", 6);
174
+ i0.ɵɵelementEnd();
175
+ i0.ɵɵelementStart(9, "div", 3);
176
+ i0.ɵɵelement(10, "input", 7)(11, "anatoly-item-validation-summary", 8);
177
+ i0.ɵɵelementEnd();
178
+ i0.ɵɵelementStart(12, "div", 9)(13, "label", 4);
179
+ i0.ɵɵtext(14, "City");
180
+ i0.ɵɵelementEnd();
181
+ i0.ɵɵelement(15, "input", 10)(16, "anatoly-item-validation-summary", 11);
182
+ i0.ɵɵelementEnd();
183
+ i0.ɵɵtemplate(17, AddressComponent_div_17_Template, 6, 6, "div", 12);
184
+ i0.ɵɵelementStart(18, "div", 9)(19, "label", 4);
185
+ i0.ɵɵtext(20, "zipcode");
186
+ i0.ɵɵelementEnd();
187
+ i0.ɵɵelement(21, "input", 13)(22, "anatoly-item-validation-summary", 14);
188
+ i0.ɵɵelementEnd();
189
+ i0.ɵɵelementStart(23, "div", 9)(24, "label", 4);
190
+ i0.ɵɵtext(25, "Country");
191
+ i0.ɵɵelementEnd();
192
+ i0.ɵɵelementStart(26, "select", 15);
193
+ i0.ɵɵlistener("change", function AddressComponent_Template_select_change_26_listener($event) { return ctx.onCountryChange($event); });
194
+ i0.ɵɵtemplate(27, AddressComponent_option_27_Template, 2, 2, "option", 16);
195
+ i0.ɵɵelementEnd();
196
+ i0.ɵɵelement(28, "anatoly-item-validation-summary", 17);
197
+ i0.ɵɵelementEnd()()()();
198
+ } if (rf & 2) {
199
+ i0.ɵɵadvance(1);
200
+ i0.ɵɵproperty("ngIf", ctx.isTitleVisible);
201
+ i0.ɵɵadvance(2);
202
+ i0.ɵɵproperty("formGroup", ctx.formGroup);
203
+ i0.ɵɵadvance(1);
204
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(19, _c0, ctx.isControlInvalid("address_street")));
205
+ i0.ɵɵadvance(4);
206
+ i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
207
+ i0.ɵɵadvance(1);
208
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(21, _c0, ctx.isControlInvalid("address_street2")));
209
+ i0.ɵɵadvance(2);
210
+ i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
211
+ i0.ɵɵadvance(1);
212
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c0, ctx.isControlInvalid("address_city")));
213
+ i0.ɵɵadvance(4);
214
+ i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
215
+ i0.ɵɵadvance(1);
216
+ i0.ɵɵproperty("ngIf", ctx.formGroup.value.address_country == "US");
217
+ i0.ɵɵadvance(1);
218
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c0, ctx.isControlInvalid("address_zipcode")));
219
+ i0.ɵɵadvance(4);
220
+ i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
221
+ i0.ɵɵadvance(1);
222
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(27, _c0, ctx.isControlInvalid("address_country")));
223
+ i0.ɵɵadvance(4);
224
+ i0.ɵɵproperty("ngForOf", ctx.countryData);
225
+ i0.ɵɵadvance(1);
226
+ i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
227
+ } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.FormGroupDirective, i1.FormControlName, i4.CardComponent, i5.CardHeaderComponent, i6.CardBodyComponent, i7.NativeElementDirective, i8.ItemValidationSummaryComponent], encapsulation: 2 });
228
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddressComponent, [{
229
+ type: Component,
230
+ args: [{ selector: 'anatoly-forms-address', template: "<anatoly-card classes='card-primary card-outline'>\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title'></anatoly-card-header>\r\n <anatoly-card-body>\r\n <div class='row' [formGroup]='formGroup'>\r\n <div class='form-group col-12' [ngClass]=\"{'has-error': isControlInvalid('address_street')}\" >\r\n <label class='col-form-label required'>Street Address</label>\r\n <input type='text' class='form-control' formControlName='address_street' placeholder='Street Address'>\r\n <anatoly-item-validation-summary controlName='address_street'\r\n controlTitle='Street'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-12' [ngClass]=\"{'has-error': isControlInvalid('address_street2')}\" >\r\n <input type='text' class='form-control' formControlName='address_street2' placeholder='Apartment, suite, unit, building, floor, etc.'>\r\n <anatoly-item-validation-summary controlName='address_street2'\r\n controlTitle='Street2'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_city')}\">\r\n <label class='col-form-label required'>City</label>\r\n <input type='text' class='form-control' formControlName='address_city' placeholder='City'>\r\n <anatoly-item-validation-summary controlName='address_city'\r\n controlTitle='City'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' *ngIf=\"formGroup.value.address_country == 'US'\" [ngClass]=\"{'has-error': isControlInvalid('address_stateOrRegion')}\">\r\n <label class='col-form-label required'>State</label>\r\n <select class='form-control' (change)='onUSStateChange($event)' formControlName='address_stateOrRegion'>\r\n <option *ngFor='let state of usStateData' [value]='state.code'>{{state.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_stateOrRegion'\r\n controlTitle='State'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_zipcode')}\" >\r\n <label class='col-form-label required'>zipcode</label>\r\n <input type='text' class='form-control' formControlName='address_zipcode' placeholder='zipcode'>\r\n <anatoly-item-validation-summary controlName='address_zipcode'\r\n controlTitle='zipcode'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_country')}\">\r\n <label class='col-form-label required'>Country</label>\r\n <select class='form-control' (change)='onCountryChange($event)' formControlName='address_country' data-placeholder='Select a Country'>\r\n <option *ngFor='let country of countryData' [value]='country.code'>{{country.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_country'\r\n controlTitle='Country'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n" }]
231
+ }], function () { return [{ type: i1.FormBuilder }, { type: i2.CoreApiService }]; }, { title: [{
232
+ type: Input
233
+ }], isTitleVisible: [{
234
+ type: Input
235
+ }], isRequired: [{
236
+ type: Input
237
+ }], address: [{
238
+ type: Input
239
+ }], change: [{
240
+ type: Output
241
+ }] }); })();
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29tcG9uZW50cy9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2Zvcm1zL2NvbXBvbmVudHMvYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7SUN0QnRELDBDQUFrRjs7O0lBQXRDLG9DQUFlOzs7SUFtQ25ELGtDQUErRDtJQUFBLFlBQWM7SUFBQSxpQkFBUzs7O0lBQTVDLHFDQUFvQjtJQUFDLGVBQWM7SUFBZCxtQ0FBYzs7Ozs7SUFIakYsOEJBQW1KLGVBQUE7SUFDMUcscUJBQUs7SUFBQSxpQkFBUTtJQUNwRCxrQ0FBd0c7SUFBM0Usc0tBQVUsZUFBQSw4QkFBdUIsQ0FBQSxJQUFDO0lBQzdELCtFQUFzRjtJQUN4RixpQkFBUztJQUNULHNEQUlrQztJQUNwQyxpQkFBTTs7O0lBVndFLHNHQUFvRTtJQUdwSCxlQUFjO0lBQWQsNENBQWM7SUFJVCxlQUF1QjtJQUF2Qiw0Q0FBdUIsdUNBQUE7OztJQWtCdEQsa0NBQW1FO0lBQUEsWUFBZ0I7SUFBQSxpQkFBUzs7O0lBQWhELHVDQUFz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QyxlQUE4RDtRQUE5RCw4RkFBOEQ7UUFLekQsZUFBdUI7UUFBdkIseUNBQXVCLG9DQUFBO1FBSzVCLGVBQThEO1FBQTlELDhGQUE4RDtRQUc1RCxlQUFjO1FBQWQseUNBQWM7UUFJWCxlQUF1QjtRQUF2Qix5Q0FBdUIsb0NBQUE7O3VGRDVCbkQsZ0JBQWdCO2NBSjVCLFNBQVM7MkJBQ0UsdUJBQXVCOzJGQWV4QixLQUFLO2tCQUFiLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUdGLE9BQU87a0JBRFYsS0FBSztZQWFJLE1BQU07a0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAwMiBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29yZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhJztcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlRWRpdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xyXG5cclxuaW50ZXJmYWNlIENvZGVOYW1lIHtcclxuICBjb2RlOiBzdHJpbmcsXHJcbiAgbmFtZTogc3RyaW5nXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1mb3Jtcy1hZGRyZXNzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkcmVzcy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZHJlc3NDb21wb25lbnQgZXh0ZW5kcyBCYXNlRWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy9Qcml2YXRlXHJcbiAgcHJpdmF0ZSBfYWRkcmVzcztcclxuXHJcbiAgZm9ybUdyb3VwR2VuZXJhdGVkID0gZmFsc2U7XHJcblxyXG4gIGNvdW50cnlEYXRhOiBBcnJheTxDb2RlTmFtZT4gPSBbXTtcclxuICB1c1N0YXRlRGF0YTogQXJyYXk8Q29kZU5hbWU+ID0gW107XHJcbiAgY3VycmVudENvdW50cnkgPSAnVVMnO1xyXG4gIGN1cnJlbnRVU1N0YXRlID0gJ05ZJztcclxuXHJcbiAgLy9JbnB1dHNcclxuICBASW5wdXQoKSB0aXRsZSA9ICdBZGRyZXNzJztcclxuICBASW5wdXQoKSBpc1RpdGxlVmlzaWJsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgaXNSZXF1aXJlZDtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgYWRkcmVzcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9hZGRyZXNzO1xyXG4gIH1cclxuICBzZXQgYWRkcmVzcyh2YWx1ZSkge1xyXG4gICAgdGhpcy5fYWRkcmVzcyA9IHZhbHVlO1xyXG5cclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vT3V0cHV0c1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgYXBpOiBDb3JlQXBpU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hcGkuZ2V0Q291bnRyaWVzSnNvbkZpbGUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuY291bnRyeURhdGEgPSBkYXRhO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5hcGkuZ2V0VVNTdGF0ZXNKc29uRmlsZShkYXRhID0+IHtcclxuICAgICAgdGhpcy51c1N0YXRlRGF0YSA9IGRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpO1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUZvcm1Hcm91cCgpIHtcclxuICAgIGxldCBpc1JlcXVpcmVkID0gQ29udmVydC5zdHJpbmdUb0Jvb2xlYW4odGhpcy5pc1JlcXVpcmVkKTtcclxuXHJcbiAgICBpZiAoaXNSZXF1aXJlZCkge1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX3N0cmVldCcsIHRoaXMuZmIuY29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3Nfc3RyZWV0MicsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19jaXR5JywgdGhpcy5mYi5jb250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19zdGF0ZU9yUmVnaW9uJywgdGhpcy5mYi5jb250cm9sKHRoaXMuY3VycmVudFVTU3RhdGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSkpO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX2NvdW50cnknLCB0aGlzLmZiLmNvbnRyb2wodGhpcy5jdXJyZW50Q291bnRyeSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3NfemlwY29kZScsIHRoaXMuZmIuY29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19zdHJlZXQnLCB0aGlzLmZiLmNvbnRyb2woJycsIFtdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3Nfc3RyZWV0MicsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19jaXR5JywgdGhpcy5mYi5jb250cm9sKCcnLCBbXSkpO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzX3N0YXRlT3JSZWdpb24nLCB0aGlzLmZiLmNvbnRyb2wodGhpcy5jdXJyZW50VVNTdGF0ZSwgW10pKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnYWRkcmVzc19jb3VudHJ5JywgdGhpcy5mYi5jb250cm9sKHRoaXMuY3VycmVudENvdW50cnksIFtdKSk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2FkZHJlc3NfemlwY29kZScsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvcm1Hcm91cEdlbmVyYXRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwR2VuZXJhdGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5fYWRkcmVzcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGxldCBhZGRyZXNzID0gSlNPTi5wYXJzZSh0aGlzLl9hZGRyZXNzKTtcclxuXHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdhZGRyZXNzX3N0cmVldCcsIGFkZHJlc3Muc3RyZWV0KTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2FkZHJlc3Nfc3RyZWV0MicsIGFkZHJlc3Muc3RyZWV0Mik7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdhZGRyZXNzX2NpdHknLCBhZGRyZXNzLmNpdHkpO1xyXG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSgnYWRkcmVzc19zdGF0ZU9yUmVnaW9uJywgYWRkcmVzcy5zdGF0ZU9yUmVnaW9uKTtcclxuICAgICAgdGhpcy5zZXRGb3JtVmFsdWUoJ2FkZHJlc3NfemlwY29kZScsIGFkZHJlc3MuemlwY29kZSk7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdhZGRyZXNzX2NvdW50cnknLCBhZGRyZXNzLmNvdW50cnkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QWRkcmVzcygpIHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIHN0cmVldDogdGhpcy5nZXRGb3JtVmFsdWUoJ2FkZHJlc3Nfc3RyZWV0JykgfHwgbnVsbCxcclxuICAgICAgc3RyZWV0MjogdGhpcy5nZXRGb3JtVmFsdWUoJ2FkZHJlc3Nfc3RyZWV0MicpIHx8IG51bGwsXHJcbiAgICAgIGNpdHk6IHRoaXMuZ2V0Rm9ybVZhbHVlKCdhZGRyZXNzX2NpdHknKSB8fCBudWxsLFxyXG4gICAgICBzdGF0ZU9yUmVnaW9uOiB0aGlzLmdldEZvcm1WYWx1ZSgnYWRkcmVzc19zdGF0ZU9yUmVnaW9uJykgfHwgbnVsbCxcclxuICAgICAgemlwY29kZTogdGhpcy5nZXRGb3JtVmFsdWUoJ2FkZHJlc3NfemlwY29kZScpIHx8IG51bGwsXHJcbiAgICAgIGNvdW50cnk6IHRoaXMuZ2V0Rm9ybVZhbHVlKCdhZGRyZXNzX2NvdW50cnknKSB8fCBudWxsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhKTtcclxuICB9XHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgb25Db3VudHJ5Q2hhbmdlKGV2ZW50KSB7XHJcbiAgICBsZXQgY291bnRyeSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIHRoaXMuY2hhbmdlLmVtaXQoY291bnRyeSk7XHJcbiAgfVxyXG5cclxuICBvblVTU3RhdGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgIGxldCB1c1N0YXRlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh1c1N0YXRlKTtcclxuICB9XHJcbn1cclxuIiwiPGFuYXRvbHktY2FyZCBjbGFzc2VzPSdjYXJkLXByaW1hcnkgY2FyZC1vdXRsaW5lJz5cclxuICA8YW5hdG9seS1jYXJkLWhlYWRlciAqbmdJZj0naXNUaXRsZVZpc2libGUnIFt0aXRsZV09J3RpdGxlJz48L2FuYXRvbHktY2FyZC1oZWFkZXI+XHJcbiAgPGFuYXRvbHktY2FyZC1ib2R5PlxyXG4gICAgPGRpdiBjbGFzcz0ncm93JyBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJz5cclxuICAgICAgPGRpdiBjbGFzcz0nZm9ybS1ncm91cCBjb2wtMTInIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnYWRkcmVzc19zdHJlZXQnKX1cIiA+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPSdjb2wtZm9ybS1sYWJlbCByZXF1aXJlZCc+U3RyZWV0IEFkZHJlc3M8L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J2FkZHJlc3Nfc3RyZWV0JyBwbGFjZWhvbGRlcj0nU3RyZWV0IEFkZHJlc3MnPlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdhZGRyZXNzX3N0cmVldCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J1N0cmVldCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCc+XHJcbiAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTEyJyBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ2FkZHJlc3Nfc3RyZWV0MicpfVwiID5cclxuICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdhZGRyZXNzX3N0cmVldDInIHBsYWNlaG9sZGVyPSdBcGFydG1lbnQsIHN1aXRlLCB1bml0LCBidWlsZGluZywgZmxvb3IsIGV0Yy4nPlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdhZGRyZXNzX3N0cmVldDInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdTdHJlZXQyJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJz5cclxuICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz0nZm9ybS1ncm91cCBjb2wtMycgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdhZGRyZXNzX2NpdHknKX1cIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9J2NvbC1mb3JtLWxhYmVsIHJlcXVpcmVkJz5DaXR5PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgY2xhc3M9J2Zvcm0tY29udHJvbCcgZm9ybUNvbnRyb2xOYW1lPSdhZGRyZXNzX2NpdHknIHBsYWNlaG9sZGVyPSdDaXR5Jz5cclxuICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBjb250cm9sTmFtZT0nYWRkcmVzc19jaXR5J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nQ2l0eSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCc+XHJcbiAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTMnICpuZ0lmPVwiZm9ybUdyb3VwLnZhbHVlLmFkZHJlc3NfY291bnRyeSA9PSAnVVMnXCIgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdhZGRyZXNzX3N0YXRlT3JSZWdpb24nKX1cIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9J2NvbC1mb3JtLWxhYmVsIHJlcXVpcmVkJz5TdGF0ZTwvbGFiZWw+XHJcbiAgICAgICAgPHNlbGVjdCBjbGFzcz0nZm9ybS1jb250cm9sJyAoY2hhbmdlKT0nb25VU1N0YXRlQ2hhbmdlKCRldmVudCknIGZvcm1Db250cm9sTmFtZT0nYWRkcmVzc19zdGF0ZU9yUmVnaW9uJz5cclxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPSdsZXQgc3RhdGUgb2YgdXNTdGF0ZURhdGEnIFt2YWx1ZV09J3N0YXRlLmNvZGUnPnt7c3RhdGUubmFtZX19PC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2FkZHJlc3Nfc3RhdGVPclJlZ2lvbidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J1N0YXRlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJz5cclxuICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz0nZm9ybS1ncm91cCBjb2wtMycgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdhZGRyZXNzX3ppcGNvZGUnKX1cIiA+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPSdjb2wtZm9ybS1sYWJlbCByZXF1aXJlZCc+emlwY29kZTwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9J3RleHQnIGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nYWRkcmVzc196aXBjb2RlJyBwbGFjZWhvbGRlcj0nemlwY29kZSc+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2FkZHJlc3NfemlwY29kZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J3ppcGNvZGUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnPlxyXG4gICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPSdmb3JtLWdyb3VwIGNvbC0zJyBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGlzQ29udHJvbEludmFsaWQoJ2FkZHJlc3NfY291bnRyeScpfVwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz0nY29sLWZvcm0tbGFiZWwgcmVxdWlyZWQnPkNvdW50cnk8L2xhYmVsPlxyXG4gICAgICAgIDxzZWxlY3QgY2xhc3M9J2Zvcm0tY29udHJvbCcgKGNoYW5nZSk9J29uQ291bnRyeUNoYW5nZSgkZXZlbnQpJyBmb3JtQ29udHJvbE5hbWU9J2FkZHJlc3NfY291bnRyeScgZGF0YS1wbGFjZWhvbGRlcj0nU2VsZWN0IGEgQ291bnRyeSc+XHJcbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj0nbGV0IGNvdW50cnkgb2YgY291bnRyeURhdGEnIFt2YWx1ZV09J2NvdW50cnkuY29kZSc+e3tjb3VudHJ5Lm5hbWV9fTwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgIDxhbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5IGNvbnRyb2xOYW1lPSdhZGRyZXNzX2NvdW50cnknXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbFRpdGxlPSdDb3VudHJ5J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJz5cclxuICAgICAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9hbmF0b2x5LWNhcmQtYm9keT5cclxuPC9hbmF0b2x5LWNhcmQ+XHJcbiJdfQ==