angular-dumb-lib 0.0.19 → 0.0.21

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 (36) hide show
  1. package/esm2022/lib/angular-dumb-lib.component.mjs +9 -9
  2. package/esm2022/lib/angular-dumb-lib.module.mjs +1 -1
  3. package/esm2022/lib/components/atoms/button/button.component.mjs +3 -3
  4. package/esm2022/lib/components/atoms/input/input.component.mjs +3 -3
  5. package/esm2022/lib/components/atoms/loading/loading.component.mjs +5 -5
  6. package/esm2022/lib/components/atoms/menu-widget/menu-widget.component.mjs +4 -4
  7. package/esm2022/lib/components/atoms/selection/selection.component.mjs +1 -1
  8. package/esm2022/lib/components/molecules/cards/cards.component.mjs +3 -3
  9. package/esm2022/lib/components/molecules/content-design/content-design.component.mjs +3 -3
  10. package/esm2022/lib/components/molecules/form/form.component.mjs +18 -16
  11. package/esm2022/lib/components/molecules/formated-text/formated-text.component.mjs +3 -3
  12. package/esm2022/lib/components/molecules/modal/modal.component.mjs +7 -3
  13. package/esm2022/lib/components/molecules/paginator/paginator.component.mjs +5 -4
  14. package/esm2022/lib/components/molecules/table/table.component.mjs +3 -3
  15. package/esm2022/lib/components/pages/footer/footer.component.mjs +3 -3
  16. package/esm2022/lib/components/pages/login/login.component.mjs +3 -5
  17. package/esm2022/lib/components/pages/menu/menu.component.mjs +32 -7
  18. package/esm2022/lib/shared/constants/constant.mjs +1 -1
  19. package/esm2022/lib/shared/enums/enum.mjs +15 -9
  20. package/esm2022/lib/shared/interfaces/interface.mjs +1 -1
  21. package/esm2022/lib/shared/utils/common.utils.mjs +34 -1
  22. package/esm2022/public-api.mjs +1 -1
  23. package/fesm2022/angular-dumb-lib.mjs +135 -67
  24. package/fesm2022/angular-dumb-lib.mjs.map +1 -1
  25. package/lib/components/atoms/loading/loading.component.d.ts +2 -2
  26. package/lib/components/atoms/menu-widget/menu-widget.component.d.ts +2 -1
  27. package/lib/components/molecules/form/form.component.d.ts +2 -0
  28. package/lib/components/molecules/modal/modal.component.d.ts +3 -1
  29. package/lib/components/pages/menu/menu.component.d.ts +13 -4
  30. package/lib/shared/enums/enum.d.ts +6 -1
  31. package/lib/shared/interfaces/interface.d.ts +11 -2
  32. package/lib/shared/utils/common.utils.d.ts +9 -0
  33. package/package.json +1 -1
  34. package/src/lib/assets/styles.scss +12 -12
  35. package/esm2022/lib/components/atoms/formated-text/formated-text.component.mjs +0 -22
  36. package/lib/components/atoms/formated-text/formated-text.component.d.ts +0 -12
@@ -2,19 +2,19 @@ import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  class AngularDumbLibComponent {
4
4
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AngularDumbLibComponent, selector: "lib-angular-dumb-lib", ngImport: i0, template: `
6
- <p>
7
- angular-dumb-lib works!
8
- </p>
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AngularDumbLibComponent, selector: "lib-angular-dumb-lib", ngImport: i0, template: `
6
+ <p>
7
+ angular-dumb-lib works!
8
+ </p>
9
9
  `, isInline: true }); }
10
10
  }
11
11
  export { AngularDumbLibComponent };
12
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDumbLibComponent, decorators: [{
13
13
  type: Component,
14
- args: [{ selector: 'lib-angular-dumb-lib', template: `
15
- <p>
16
- angular-dumb-lib works!
17
- </p>
14
+ args: [{ selector: 'lib-angular-dumb-lib', template: `
15
+ <p>
16
+ angular-dumb-lib works!
17
+ </p>
18
18
  ` }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1kdW1iLWxpYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWR1bWItbGliL3NyYy9saWIvYW5ndWxhci1kdW1iLWxpYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUMsTUFVYSx1QkFBdUI7K0dBQXZCLHVCQUF1QjttR0FBdkIsdUJBQXVCLDREQVJ4Qjs7OztHQUlUOztTQUlVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQVZuQyxTQUFTOytCQUNFLHNCQUFzQixZQUN0Qjs7OztHQUlUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hbmd1bGFyLWR1bWItbGliJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHA+XHJcbiAgICAgIGFuZ3VsYXItZHVtYi1saWIgd29ya3MhXHJcbiAgICA8L3A+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRHVtYkxpYkNvbXBvbmVudCB7XHJcblxyXG59XHJcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1kdW1iLWxpYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWR1bWItbGliL3NyYy9saWIvYW5ndWxhci1kdW1iLWxpYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUMsTUFVYSx1QkFBdUI7K0dBQXZCLHVCQUF1QjttR0FBdkIsdUJBQXVCLDREQVJ4Qjs7OztHQUlUOztTQUlVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQVZuQyxTQUFTOytCQUNFLHNCQUFzQixZQUN0Qjs7OztHQUlUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hbmd1bGFyLWR1bWItbGliJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8cD5cbiAgICAgIGFuZ3VsYXItZHVtYi1saWIgd29ya3MhXG4gICAgPC9wPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRHVtYkxpYkNvbXBvbmVudCB7XG5cbn1cbiJdfQ==
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19
19
  ]
20
20
  }]
21
21
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1kdW1iLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWR1bWItbGliL3NyYy9saWIvYW5ndWxhci1kdW1iLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFdkUsTUFXYSxvQkFBb0I7K0dBQXBCLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQVQ3Qix1QkFBdUIsYUFNdkIsdUJBQXVCO2dIQUdkLG9CQUFvQjs7U0FBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBWGhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFLEVBRVI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBbmd1bGFyRHVtYkxpYkNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci1kdW1iLWxpYi5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFuZ3VsYXJEdW1iTGliQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG5cclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEFuZ3VsYXJEdW1iTGliQ29tcG9uZW50LFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJEdW1iTGliTW9kdWxlIHsgfVxyXG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1kdW1iLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWR1bWItbGliL3NyYy9saWIvYW5ndWxhci1kdW1iLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFdkUsTUFXYSxvQkFBb0I7K0dBQXBCLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQVQ3Qix1QkFBdUIsYUFNdkIsdUJBQXVCO2dIQUdkLG9CQUFvQjs7U0FBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBWGhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFLEVBRVI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5ndWxhckR1bWJMaWJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXItZHVtYi1saWIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQW5ndWxhckR1bWJMaWJDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcblxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQW5ndWxhckR1bWJMaWJDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckR1bWJMaWJNb2R1bGUgeyB9XG4iXX0=
@@ -20,15 +20,15 @@ class ButtonComponent {
20
20
  this.clickEvent.emit();
21
21
  }
22
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, isStandalone: true, selector: "app-button", inputs: { config: "config" }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<button\r\n type=\"{{config.type}}\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"config.isDisabled\"\r\n [ngClass]=\"{'active': config.isActive,\r\n 'normal': config.designType === 'normal',\r\n 'contrast': config.designType === 'contrast'}\"\r\n (click)=\"onButtonClick()\">\r\n <div class=\"button-content\">\r\n <ng-container *ngIf=\"config.iconValue\">\r\n <i class=\"material-icons\" data-toggle=\"tooltip\" title=\"Delete\">{{config.iconValue}}</i>\r\n </ng-container>\r\n <span>{{ config.label }}</span>\r\n </div>\r\n</button>\r\n", styles: ["button.btn.btn-primary{padding:.5rem 1rem;border:none;border-radius:50px;cursor:pointer;height:3rem}button.btn.btn-primary .button-content{display:flex;flex-direction:row;justify-content:center;align-items:center;height:100%;gap:10px}button.btn.btn-primary:disabled{background-color:#ccc!important;color:#666!important;cursor:not-allowed!important;border-color:#666!important}button.btn.btn-primary.normal{background-color:#f6ad15;color:#fff}button.btn.btn-primary.normal:hover:not(:disabled){background-color:#e09a14}button.btn.btn-primary.contrast{color:#f6ad15;border:1px solid #d58f13}button.btn.btn-primary.contrast:hover:not(:disabled){background-color:#f4d87e;color:#1a1a1a}button.btn.btn-primary.active{background-color:#e09a14;color:#fff}button.btn.btn-primary.active:hover:not(:disabled){background-color:#e09a14;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, isStandalone: true, selector: "app-button", inputs: { config: "config" }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<button\n type=\"{{config.type}}\"\n class=\"btn btn-primary\"\n [disabled]=\"config.isDisabled\"\n [ngClass]=\"{'active': config.isActive,\n 'normal': config.designType === 'normal',\n 'contrast': config.designType === 'contrast'}\"\n (click)=\"onButtonClick()\">\n <div class=\"button-content\">\n <ng-container *ngIf=\"config.iconValue\">\n <i class=\"material-icons\" data-toggle=\"tooltip\" title=\"Delete\">{{config.iconValue}}</i>\n </ng-container>\n <span>{{ config.label }}</span>\n </div>\n</button>\n", styles: ["button.btn.btn-primary{padding:.5rem 1rem;border:none;border-radius:50px;cursor:pointer;height:3rem}button.btn.btn-primary .button-content{display:flex;flex-direction:row;justify-content:center;align-items:center;height:100%}button.btn.btn-primary:disabled{background-color:#ccc!important;color:#666!important;cursor:not-allowed!important;border-color:#666!important}button.btn.btn-primary.normal{background-color:#f6ad15;color:#fff}button.btn.btn-primary.normal:hover:not(:disabled){background-color:#e09a14}button.btn.btn-primary.contrast{color:#f6ad15;border:1px solid #d58f13}button.btn.btn-primary.contrast:hover:not(:disabled){background-color:#f4d87e;color:#1a1a1a}button.btn.btn-primary.active{background-color:#e09a14;color:#fff}button.btn.btn-primary.active:hover:not(:disabled){background-color:#e09a14;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
24
24
  }
25
25
  export { ButtonComponent };
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: 'app-button', standalone: true, imports: [CommonModule], template: "<button\r\n type=\"{{config.type}}\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"config.isDisabled\"\r\n [ngClass]=\"{'active': config.isActive,\r\n 'normal': config.designType === 'normal',\r\n 'contrast': config.designType === 'contrast'}\"\r\n (click)=\"onButtonClick()\">\r\n <div class=\"button-content\">\r\n <ng-container *ngIf=\"config.iconValue\">\r\n <i class=\"material-icons\" data-toggle=\"tooltip\" title=\"Delete\">{{config.iconValue}}</i>\r\n </ng-container>\r\n <span>{{ config.label }}</span>\r\n </div>\r\n</button>\r\n", styles: ["button.btn.btn-primary{padding:.5rem 1rem;border:none;border-radius:50px;cursor:pointer;height:3rem}button.btn.btn-primary .button-content{display:flex;flex-direction:row;justify-content:center;align-items:center;height:100%;gap:10px}button.btn.btn-primary:disabled{background-color:#ccc!important;color:#666!important;cursor:not-allowed!important;border-color:#666!important}button.btn.btn-primary.normal{background-color:#f6ad15;color:#fff}button.btn.btn-primary.normal:hover:not(:disabled){background-color:#e09a14}button.btn.btn-primary.contrast{color:#f6ad15;border:1px solid #d58f13}button.btn.btn-primary.contrast:hover:not(:disabled){background-color:#f4d87e;color:#1a1a1a}button.btn.btn-primary.active{background-color:#e09a14;color:#fff}button.btn.btn-primary.active:hover:not(:disabled){background-color:#e09a14;color:#fff}\n"] }]
28
+ args: [{ selector: 'app-button', standalone: true, imports: [CommonModule], template: "<button\n type=\"{{config.type}}\"\n class=\"btn btn-primary\"\n [disabled]=\"config.isDisabled\"\n [ngClass]=\"{'active': config.isActive,\n 'normal': config.designType === 'normal',\n 'contrast': config.designType === 'contrast'}\"\n (click)=\"onButtonClick()\">\n <div class=\"button-content\">\n <ng-container *ngIf=\"config.iconValue\">\n <i class=\"material-icons\" data-toggle=\"tooltip\" title=\"Delete\">{{config.iconValue}}</i>\n </ng-container>\n <span>{{ config.label }}</span>\n </div>\n</button>\n", styles: ["button.btn.btn-primary{padding:.5rem 1rem;border:none;border-radius:50px;cursor:pointer;height:3rem}button.btn.btn-primary .button-content{display:flex;flex-direction:row;justify-content:center;align-items:center;height:100%}button.btn.btn-primary:disabled{background-color:#ccc!important;color:#666!important;cursor:not-allowed!important;border-color:#666!important}button.btn.btn-primary.normal{background-color:#f6ad15;color:#fff}button.btn.btn-primary.normal:hover:not(:disabled){background-color:#e09a14}button.btn.btn-primary.contrast{color:#f6ad15;border:1px solid #d58f13}button.btn.btn-primary.contrast:hover:not(:disabled){background-color:#f4d87e;color:#1a1a1a}button.btn.btn-primary.active{background-color:#e09a14;color:#fff}button.btn.btn-primary.active:hover:not(:disabled){background-color:#e09a14;color:#fff}\n"] }]
29
29
  }], ctorParameters: function () { return []; }, propDecorators: { config: [{
30
30
  type: Input
31
31
  }], clickEvent: [{
32
32
  type: Output
33
33
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFL0MsTUFPYSxlQUFlO0lBSzFCO1FBRlUsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFaEMsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsVUFBVSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1lBQzdCLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTTtZQUN2QixHQUFHLElBQUksQ0FBQyxNQUFNO1NBQ2YsQ0FBQTtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDOytHQW5CVSxlQUFlO21HQUFmLGVBQWUsMklDWjVCLGdsQkFlQSw2M0JETFksWUFBWTs7U0FFWCxlQUFlOzRGQUFmLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FHUCxDQUFDLFlBQVksQ0FBQzswRUFHZCxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnV0dG9uVHlwZSwgRGVzaWduVHlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9lbnVtJztcclxuaW1wb3J0IHsgSUJ1dHRvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1idXR0b24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgY29uZmlnITogSUJ1dHRvbkNvbmZpZztcclxuXHJcbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb25maWcgPSB7XHJcbiAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICBpc0FjdGl2ZTogZmFsc2UsXHJcbiAgICAgIGRlc2lnblR5cGU6IERlc2lnblR5cGUubm9ybWFsLFxyXG4gICAgICB0eXBlOiBCdXR0b25UeXBlLnN1Ym1pdCxcclxuICAgICAgLi4udGhpcy5jb25maWcsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkJ1dHRvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5jbGlja0V2ZW50LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gIHR5cGU9XCJ7e2NvbmZpZy50eXBlfX1cIlxyXG4gIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICBbZGlzYWJsZWRdPVwiY29uZmlnLmlzRGlzYWJsZWRcIlxyXG4gIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogY29uZmlnLmlzQWN0aXZlLFxyXG4gICAgICAgICAgICAnbm9ybWFsJzogY29uZmlnLmRlc2lnblR5cGUgPT09ICdub3JtYWwnLFxyXG4gICAgICAgICAgICAnY29udHJhc3QnOiBjb25maWcuZGVzaWduVHlwZSA9PT0gJ2NvbnRyYXN0J31cIlxyXG4gIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGVudFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLmljb25WYWx1ZVwiPlxyXG4gICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgZGF0YS10b2dnbGU9XCJ0b29sdGlwXCIgdGl0bGU9XCJEZWxldGVcIj57e2NvbmZpZy5pY29uVmFsdWV9fTwvaT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPHNwYW4+e3sgY29uZmlnLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbjwvYnV0dG9uPlxyXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFL0MsTUFPYSxlQUFlO0lBSzFCO1FBRlUsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFaEMsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsVUFBVSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1lBQzdCLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTTtZQUN2QixHQUFHLElBQUksQ0FBQyxNQUFNO1NBQ2YsQ0FBQTtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDOytHQW5CVSxlQUFlO21HQUFmLGVBQWUsMklDWjVCLGtqQkFlQSxvM0JETFksWUFBWTs7U0FFWCxlQUFlOzRGQUFmLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FHUCxDQUFDLFlBQVksQ0FBQzswRUFHZCxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvblR5cGUsIERlc2lnblR5cGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvZW51bSc7XG5pbXBvcnQgeyBJQnV0dG9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbmZpZyE6IElCdXR0b25Db25maWc7XG5cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgICAgZGVzaWduVHlwZTogRGVzaWduVHlwZS5ub3JtYWwsXG4gICAgICB0eXBlOiBCdXR0b25UeXBlLnN1Ym1pdCxcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgIH1cbiAgfVxuXG4gIG9uQnV0dG9uQ2xpY2soKSB7XG4gICAgdGhpcy5jbGlja0V2ZW50LmVtaXQoKTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICB0eXBlPVwie3tjb25maWcudHlwZX19XCJcbiAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICBbZGlzYWJsZWRdPVwiY29uZmlnLmlzRGlzYWJsZWRcIlxuICBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGNvbmZpZy5pc0FjdGl2ZSxcbiAgICAgICAgICAgICdub3JtYWwnOiBjb25maWcuZGVzaWduVHlwZSA9PT0gJ25vcm1hbCcsXG4gICAgICAgICAgICAnY29udHJhc3QnOiBjb25maWcuZGVzaWduVHlwZSA9PT0gJ2NvbnRyYXN0J31cIlxuICAoY2xpY2spPVwib25CdXR0b25DbGljaygpXCI+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLmljb25WYWx1ZVwiPlxuICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiIHRpdGxlPVwiRGVsZXRlXCI+e3tjb25maWcuaWNvblZhbHVlfX08L2k+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPHNwYW4+e3sgY29uZmlnLmxhYmVsIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuPC9idXR0b24+XG4iXX0=
@@ -41,7 +41,7 @@ class InputComponent {
41
41
  provide: NG_VALUE_ACCESSOR,
42
42
  useExisting: forwardRef(() => InputComponent),
43
43
  multi: true
44
- }], ngImport: i0, template: "<div class=\"input-item\" [ngClass]=\"config.direction\">\r\n <label *ngIf=\"config.label\">\r\n {{ config.label }}\r\n <span *ngIf=\"config.required\" class=\"required-indicator\">*</span>\r\n </label>\r\n\r\n <div class=\"input-container\">\r\n <input *ngIf=\"config.type !== 'textarea' && config.type !== 'richText' && config.type !== 'image'\"\r\n [type]=\"config.type\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n <textarea *ngIf=\"config.type === 'textarea'\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n </textarea>\r\n <i *ngIf=\"!config.isValid\" class=\"material-icons warning-icon\">error</i>\r\n </div>\r\n\r\n <div *ngIf=\"config.type === 'image'\">\r\n <img *ngIf=\"value\" [src]=\"value\" alt=\"Selected Image\" class=\"preview-image\"/>\r\n </div>\r\n</div>\r\n", styles: [".input-item{display:flex;width:100%;gap:10px}.input-item .input-container{display:flex;width:inherit}.input-item .input-container .input-error{border-color:red}.input-item label{display:flex;align-items:center}.input-item.horizontal{flex-direction:row}.input-item.horizontal label{width:30%}.input-item.vertical{flex-direction:column}.input-item .preview-image{max-width:150px;max-height:150px;border:1px solid #ccc;margin-top:8px}.input-item .required-indicator,.input-item .warning-icon{display:flex;align-items:center;color:red;margin-left:4px}.input-item .warning-icon{font-weight:700}.input-item input,.input-item textarea{padding:.5rem;border:1px solid #ccc;border-radius:.25rem;width:-webkit-fill-available}.input-item quill-editor{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
44
+ }], ngImport: i0, template: "<div class=\"input-item\" [ngClass]=\"config.direction\">\n <label *ngIf=\"config.label\">\n {{ config.label }}\n <span *ngIf=\"config.required\" class=\"required-indicator\">*</span>\n </label>\n\n <div class=\"input-container\">\n <input *ngIf=\"config.type !== 'textarea' && config.type !== 'richText' && config.type !== 'image'\"\n [type]=\"config.type\"\n [name]=\"config.name\"\n [required]=\"config.required\"\n [(ngModel)]=\"value\"\n [placeholder] = \"config.placeholder\"\n [ngClass]=\"{'input-error': !config.isValid}\">\n <textarea *ngIf=\"config.type === 'textarea'\"\n [name]=\"config.name\"\n [required]=\"config.required\"\n [(ngModel)]=\"value\"\n [placeholder] = \"config.placeholder\"\n [ngClass]=\"{'input-error': !config.isValid}\">\n </textarea>\n <i *ngIf=\"!config.isValid\" class=\"material-icons warning-icon\">error</i>\n </div>\n\n <div *ngIf=\"config.type === 'image'\">\n <img *ngIf=\"value\" [src]=\"value\" alt=\"Selected Image\" class=\"preview-image\"/>\n </div>\n</div>\n", styles: [".input-item{display:flex;width:100%;gap:10px}.input-item .input-container{display:flex;width:inherit}.input-item .input-container .input-error{border-color:red}.input-item label{display:flex;align-items:center}.input-item.horizontal{flex-direction:row}.input-item.horizontal label{width:30%}.input-item.vertical{flex-direction:column}.input-item .preview-image{max-width:150px;max-height:150px;border:1px solid #ccc;margin-top:8px}.input-item .required-indicator,.input-item .warning-icon{display:flex;align-items:center;color:red;margin-left:4px}.input-item .warning-icon{font-weight:700}.input-item input,.input-item textarea{padding:.5rem;border:1px solid #ccc;border-radius:.25rem;width:-webkit-fill-available}.input-item quill-editor{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
45
45
  }
46
46
  export { InputComponent };
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, decorators: [{
@@ -50,8 +50,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
50
50
  provide: NG_VALUE_ACCESSOR,
51
51
  useExisting: forwardRef(() => InputComponent),
52
52
  multi: true
53
- }], imports: [CommonModule, FormsModule], template: "<div class=\"input-item\" [ngClass]=\"config.direction\">\r\n <label *ngIf=\"config.label\">\r\n {{ config.label }}\r\n <span *ngIf=\"config.required\" class=\"required-indicator\">*</span>\r\n </label>\r\n\r\n <div class=\"input-container\">\r\n <input *ngIf=\"config.type !== 'textarea' && config.type !== 'richText' && config.type !== 'image'\"\r\n [type]=\"config.type\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n <textarea *ngIf=\"config.type === 'textarea'\"\r\n [name]=\"config.name\"\r\n [required]=\"config.required\"\r\n [(ngModel)]=\"value\"\r\n [placeholder] = \"config.placeholder\"\r\n [ngClass]=\"{'input-error': !config.isValid}\">\r\n </textarea>\r\n <i *ngIf=\"!config.isValid\" class=\"material-icons warning-icon\">error</i>\r\n </div>\r\n\r\n <div *ngIf=\"config.type === 'image'\">\r\n <img *ngIf=\"value\" [src]=\"value\" alt=\"Selected Image\" class=\"preview-image\"/>\r\n </div>\r\n</div>\r\n", styles: [".input-item{display:flex;width:100%;gap:10px}.input-item .input-container{display:flex;width:inherit}.input-item .input-container .input-error{border-color:red}.input-item label{display:flex;align-items:center}.input-item.horizontal{flex-direction:row}.input-item.horizontal label{width:30%}.input-item.vertical{flex-direction:column}.input-item .preview-image{max-width:150px;max-height:150px;border:1px solid #ccc;margin-top:8px}.input-item .required-indicator,.input-item .warning-icon{display:flex;align-items:center;color:red;margin-left:4px}.input-item .warning-icon{font-weight:700}.input-item input,.input-item textarea{padding:.5rem;border:1px solid #ccc;border-radius:.25rem;width:-webkit-fill-available}.input-item quill-editor{width:100%}\n"] }]
53
+ }], imports: [CommonModule, FormsModule], template: "<div class=\"input-item\" [ngClass]=\"config.direction\">\n <label *ngIf=\"config.label\">\n {{ config.label }}\n <span *ngIf=\"config.required\" class=\"required-indicator\">*</span>\n </label>\n\n <div class=\"input-container\">\n <input *ngIf=\"config.type !== 'textarea' && config.type !== 'richText' && config.type !== 'image'\"\n [type]=\"config.type\"\n [name]=\"config.name\"\n [required]=\"config.required\"\n [(ngModel)]=\"value\"\n [placeholder] = \"config.placeholder\"\n [ngClass]=\"{'input-error': !config.isValid}\">\n <textarea *ngIf=\"config.type === 'textarea'\"\n [name]=\"config.name\"\n [required]=\"config.required\"\n [(ngModel)]=\"value\"\n [placeholder] = \"config.placeholder\"\n [ngClass]=\"{'input-error': !config.isValid}\">\n </textarea>\n <i *ngIf=\"!config.isValid\" class=\"material-icons warning-icon\">error</i>\n </div>\n\n <div *ngIf=\"config.type === 'image'\">\n <img *ngIf=\"value\" [src]=\"value\" alt=\"Selected Image\" class=\"preview-image\"/>\n </div>\n</div>\n", styles: [".input-item{display:flex;width:100%;gap:10px}.input-item .input-container{display:flex;width:inherit}.input-item .input-container .input-error{border-color:red}.input-item label{display:flex;align-items:center}.input-item.horizontal{flex-direction:row}.input-item.horizontal label{width:30%}.input-item.vertical{flex-direction:column}.input-item .preview-image{max-width:150px;max-height:150px;border:1px solid #ccc;margin-top:8px}.input-item .required-indicator,.input-item .warning-icon{display:flex;align-items:center;color:red;margin-left:4px}.input-item .warning-icon{font-weight:700}.input-item input,.input-item textarea{padding:.5rem;border:1px solid #ccc;border-radius:.25rem;width:-webkit-fill-available}.input-item quill-editor{width:100%}\n"] }]
54
54
  }], ctorParameters: function () { return []; }, propDecorators: { config: [{
55
55
  type: Input
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFL0MsTUFZYSxjQUFjO0lBS3pCLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUtEO1FBZlEsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQVl6QixhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3pCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFVixDQUFDO0lBRWpCLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixTQUFTLEVBQUUsY0FBYyxDQUFDLFFBQVE7WUFDbEMsT0FBTyxFQUFFLElBQUk7WUFDYixHQUFHLElBQUksQ0FBQyxNQUFNO1NBQ2YsQ0FBQztJQUNKLENBQUM7K0dBckNVLGNBQWM7bUdBQWQsY0FBYyxzRkFQZCxDQUFDO2dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUM3QyxLQUFLLEVBQUUsSUFBSTthQUNaLENBQUMsMEJDZkosb29DQTRCQSx5eUJEWlksWUFBWSxnT0FBRSxXQUFXOztTQUV4QixjQUFjOzRGQUFkLGNBQWM7a0JBWjFCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksYUFHTCxDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQzs0QkFDN0MsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQyxXQUNPLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQzswRUFHM0IsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IElucHV0RGlyZWN0aW9uLCBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvZW51bSc7XHJcbmltcG9ydCB7IElJbnB1dENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1pbnB1dCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dENvbXBvbmVudCksXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG4gIH1dLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKSBjb25maWchOiBJSW5wdXRDb25maWc7XHJcblxyXG4gIHByaXZhdGUgX3ZhbHVlOiBhbnkgPSAnJztcclxuXHJcbiAgZ2V0IHZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNvbmZpZyA9IHtcclxuICAgICAgdHlwZTogSW5wdXRUeXBlLnRleHQsXHJcbiAgICAgIGRpcmVjdGlvbjogSW5wdXREaXJlY3Rpb24udmVydGljYWwsXHJcbiAgICAgIGlzVmFsaWQ6IHRydWUsXHJcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWl0ZW1cIiBbbmdDbGFzc109XCJjb25maWcuZGlyZWN0aW9uXCI+XHJcbiAgPGxhYmVsICpuZ0lmPVwiY29uZmlnLmxhYmVsXCI+XHJcbiAgICB7eyBjb25maWcubGFiZWwgfX1cclxuICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLnJlcXVpcmVkXCIgY2xhc3M9XCJyZXF1aXJlZC1pbmRpY2F0b3JcIj4qPC9zcGFuPlxyXG4gIDwvbGFiZWw+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cclxuICAgIDxpbnB1dCAqbmdJZj1cImNvbmZpZy50eXBlICE9PSAndGV4dGFyZWEnICYmIGNvbmZpZy50eXBlICE9PSAncmljaFRleHQnICYmIGNvbmZpZy50eXBlICE9PSAnaW1hZ2UnXCJcclxuICAgICAgW3R5cGVdPVwiY29uZmlnLnR5cGVcIlxyXG4gICAgICBbbmFtZV09XCJjb25maWcubmFtZVwiXHJcbiAgICAgIFtyZXF1aXJlZF09XCJjb25maWcucmVxdWlyZWRcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXSA9IFwiY29uZmlnLnBsYWNlaG9sZGVyXCJcclxuICAgICAgW25nQ2xhc3NdPVwieydpbnB1dC1lcnJvcic6ICFjb25maWcuaXNWYWxpZH1cIj5cclxuICAgIDx0ZXh0YXJlYSAqbmdJZj1cImNvbmZpZy50eXBlID09PSAndGV4dGFyZWEnXCJcclxuICAgICAgICBbbmFtZV09XCJjb25maWcubmFtZVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImNvbmZpZy5yZXF1aXJlZFwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXSA9IFwiY29uZmlnLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J2lucHV0LWVycm9yJzogIWNvbmZpZy5pc1ZhbGlkfVwiPlxyXG4gICAgPC90ZXh0YXJlYT5cclxuICAgIDxpICpuZ0lmPVwiIWNvbmZpZy5pc1ZhbGlkXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyB3YXJuaW5nLWljb25cIj5lcnJvcjwvaT5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImNvbmZpZy50eXBlID09PSAnaW1hZ2UnXCI+XHJcbiAgICA8aW1nICpuZ0lmPVwidmFsdWVcIiBbc3JjXT1cInZhbHVlXCIgYWx0PVwiU2VsZWN0ZWQgSW1hZ2VcIiBjbGFzcz1cInByZXZpZXctaW1hZ2VcIi8+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFL0MsTUFZYSxjQUFjO0lBS3pCLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUtEO1FBZlEsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQVl6QixhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3pCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFVixDQUFDO0lBRWpCLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixTQUFTLEVBQUUsY0FBYyxDQUFDLFFBQVE7WUFDbEMsT0FBTyxFQUFFLElBQUk7WUFDYixHQUFHLElBQUksQ0FBQyxNQUFNO1NBQ2YsQ0FBQztJQUNKLENBQUM7K0dBckNVLGNBQWM7bUdBQWQsY0FBYyxzRkFQZCxDQUFDO2dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUM3QyxLQUFLLEVBQUUsSUFBSTthQUNaLENBQUMsMEJDZkosNGtDQTRCQSx5eUJEWlksWUFBWSxnT0FBRSxXQUFXOztTQUV4QixjQUFjOzRGQUFkLGNBQWM7a0JBWjFCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksYUFHTCxDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQzs0QkFDN0MsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQyxXQUNPLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQzswRUFHM0IsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW5wdXREaXJlY3Rpb24sIElucHV0VHlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9lbnVtJztcbmltcG9ydCB7IElJbnB1dENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1dLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgY29uZmlnITogSUlucHV0Q29uZmlnO1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBhbnkgPSAnJztcblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICB9XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICB0eXBlOiBJbnB1dFR5cGUudGV4dCxcbiAgICAgIGRpcmVjdGlvbjogSW5wdXREaXJlY3Rpb24udmVydGljYWwsXG4gICAgICBpc1ZhbGlkOiB0cnVlLFxuICAgICAgLi4udGhpcy5jb25maWcsXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWl0ZW1cIiBbbmdDbGFzc109XCJjb25maWcuZGlyZWN0aW9uXCI+XG4gIDxsYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiPlxuICAgIHt7IGNvbmZpZy5sYWJlbCB9fVxuICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLnJlcXVpcmVkXCIgY2xhc3M9XCJyZXF1aXJlZC1pbmRpY2F0b3JcIj4qPC9zcGFuPlxuICA8L2xhYmVsPlxuXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgICA8aW5wdXQgKm5nSWY9XCJjb25maWcudHlwZSAhPT0gJ3RleHRhcmVhJyAmJiBjb25maWcudHlwZSAhPT0gJ3JpY2hUZXh0JyAmJiBjb25maWcudHlwZSAhPT0gJ2ltYWdlJ1wiXG4gICAgICBbdHlwZV09XCJjb25maWcudHlwZVwiXG4gICAgICBbbmFtZV09XCJjb25maWcubmFtZVwiXG4gICAgICBbcmVxdWlyZWRdPVwiY29uZmlnLnJlcXVpcmVkXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgW3BsYWNlaG9sZGVyXSA9IFwiY29uZmlnLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsnaW5wdXQtZXJyb3InOiAhY29uZmlnLmlzVmFsaWR9XCI+XG4gICAgPHRleHRhcmVhICpuZ0lmPVwiY29uZmlnLnR5cGUgPT09ICd0ZXh0YXJlYSdcIlxuICAgICAgICBbbmFtZV09XCJjb25maWcubmFtZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJjb25maWcucmVxdWlyZWRcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXSA9IFwiY29uZmlnLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieydpbnB1dC1lcnJvcic6ICFjb25maWcuaXNWYWxpZH1cIj5cbiAgICA8L3RleHRhcmVhPlxuICAgIDxpICpuZ0lmPVwiIWNvbmZpZy5pc1ZhbGlkXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyB3YXJuaW5nLWljb25cIj5lcnJvcjwvaT5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImNvbmZpZy50eXBlID09PSAnaW1hZ2UnXCI+XG4gICAgPGltZyAqbmdJZj1cInZhbHVlXCIgW3NyY109XCJ2YWx1ZVwiIGFsdD1cIlNlbGVjdGVkIEltYWdlXCIgY2xhc3M9XCJwcmV2aWV3LWltYWdlXCIvPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,11 +1,11 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { LoadingSize, LoadingType } from '../../../shared/enums/enum';
2
+ import { Size, LoadingType } from '../../../shared/enums/enum';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  class LoadingComponent {
7
7
  constructor() {
8
- this.size = LoadingSize.Medium;
8
+ this.size = Size.Medium;
9
9
  this.imageSrc = LoadingType.black;
10
10
  this.loadingImage = 'https://innocons.s3.ap-southeast-1.amazonaws.com/wp-content/uploads/2024/10/13083249/Loader-White.gif';
11
11
  }
@@ -23,15 +23,15 @@ class LoadingComponent {
23
23
  }
24
24
  }
25
25
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LoadingComponent, isStandalone: true, selector: "app-loading", inputs: { size: "size", imageSrc: "imageSrc" }, ngImport: i0, template: "<div [ngClass]=\"size\" class=\"loading-content\">\r\n <img [src]=\"loadingImage\" />\r\n</div>\r\n", styles: [":host{width:100%;height:100%;display:table;text-align:center}.loading-content{display:table-cell;vertical-align:middle}.xbig img{width:256px;height:256px}.big img{width:128px;height:128px}.medium img{width:64px;height:64px}.small img{width:32px;height:32px}.xsmall img{width:16px;height:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LoadingComponent, isStandalone: true, selector: "app-loading", inputs: { size: "size", imageSrc: "imageSrc" }, ngImport: i0, template: "<div [ngClass]=\"size\" class=\"loading-content\">\n <img [src]=\"loadingImage\" />\n</div>\n", styles: [":host{width:100%;height:100%;display:table;text-align:center}.loading-content{display:table-cell;vertical-align:middle}.xbig img{width:256px;height:256px}.big img{width:128px;height:128px}.medium img{width:64px;height:64px}.small img{width:32px;height:32px}.xsmall img{width:16px;height:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
27
27
  }
28
28
  export { LoadingComponent };
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoadingComponent, decorators: [{
30
30
  type: Component,
31
- args: [{ selector: 'app-loading', standalone: true, imports: [CommonModule], template: "<div [ngClass]=\"size\" class=\"loading-content\">\r\n <img [src]=\"loadingImage\" />\r\n</div>\r\n", styles: [":host{width:100%;height:100%;display:table;text-align:center}.loading-content{display:table-cell;vertical-align:middle}.xbig img{width:256px;height:256px}.big img{width:128px;height:128px}.medium img{width:64px;height:64px}.small img{width:32px;height:32px}.xsmall img{width:16px;height:16px}\n"] }]
31
+ args: [{ selector: 'app-loading', standalone: true, imports: [CommonModule], template: "<div [ngClass]=\"size\" class=\"loading-content\">\n <img [src]=\"loadingImage\" />\n</div>\n", styles: [":host{width:100%;height:100%;display:table;text-align:center}.loading-content{display:table-cell;vertical-align:middle}.xbig img{width:256px;height:256px}.big img{width:128px;height:128px}.medium img{width:64px;height:64px}.small img{width:32px;height:32px}.xsmall img{width:16px;height:16px}\n"] }]
32
32
  }], ctorParameters: function () { return []; }, propDecorators: { size: [{
33
33
  type: Input
34
34
  }], imageSrc: [{
35
35
  type: Input
36
36
  }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWR1bWItbGliL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFL0MsTUFPYSxnQkFBZ0I7SUFLM0I7UUFKUyxTQUFJLEdBQWdCLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDeEMsYUFBUSxHQUFnQixXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ2xELGlCQUFZLEdBQVcsdUdBQXVHLENBQUM7SUFFL0csQ0FBQztJQUVqQixRQUFRO1FBQ04sUUFBTyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3BCLEtBQUssV0FBVyxDQUFDLEtBQUs7Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsdUdBQXVHLENBQUM7Z0JBQzVILE1BQU07WUFDUixLQUFLLFdBQVcsQ0FBQyxLQUFLO2dCQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLHVHQUF1RyxDQUFDO2dCQUM1SCxNQUFNO1lBQ1I7Z0JBQ0UsSUFBSSxDQUFDLFlBQVksR0FBRyx1R0FBdUcsQ0FBQztnQkFDNUgsTUFBTTtTQUNUO0lBQ0gsQ0FBQzsrR0FuQlUsZ0JBQWdCO21HQUFoQixnQkFBZ0IsdUhDWDdCLHNHQUdBLCtWRE1ZLFlBQVk7O1NBRVgsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FHUCxDQUFDLFlBQVksQ0FBQzswRUFHZCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0UsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2FkaW5nU2l6ZSwgTG9hZGluZ1R5cGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvZW51bSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1sb2FkaW5nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkaW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sb2FkaW5nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIExvYWRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHNpemU6IExvYWRpbmdTaXplID0gTG9hZGluZ1NpemUuTWVkaXVtO1xyXG5cdEBJbnB1dCgpIGltYWdlU3JjOiBMb2FkaW5nVHlwZSA9IExvYWRpbmdUeXBlLmJsYWNrO1xyXG4gIGxvYWRpbmdJbWFnZTogc3RyaW5nID0gJ2h0dHBzOi8vaW5ub2NvbnMuczMuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8xMC8xMzA4MzI0OS9Mb2FkZXItV2hpdGUuZ2lmJztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzd2l0Y2godGhpcy5pbWFnZVNyYykge1xyXG4gICAgICBjYXNlIExvYWRpbmdUeXBlLmJsYWNrOlxyXG4gICAgICAgIHRoaXMubG9hZGluZ0ltYWdlID0gJ2h0dHBzOi8vaW5ub2NvbnMuczMuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8xMC8xMzA4MzI1Ni9Mb2FkZXItQmxhY2suZ2lmJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBMb2FkaW5nVHlwZS53aGl0ZTpcclxuICAgICAgICB0aGlzLmxvYWRpbmdJbWFnZSA9ICdodHRwczovL2lubm9jb25zLnMzLmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjQvMTAvMTMwODMyNDkvTG9hZGVyLVdoaXRlLmdpZic7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nSW1hZ2UgPSAnaHR0cHM6Ly9pbm5vY29ucy5zMy5hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzEwLzEzMDgzMjQ5L0xvYWRlci1XaGl0ZS5naWYnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInNpemVcIiBjbGFzcz1cImxvYWRpbmctY29udGVudFwiPlxyXG4gIDxpbWcgW3NyY109XCJsb2FkaW5nSW1hZ2VcIiAvPlxyXG48L2Rpdj5cclxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWR1bWItbGliL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFL0MsTUFPYSxnQkFBZ0I7SUFLM0I7UUFKUyxTQUFJLEdBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixhQUFRLEdBQWdCLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDbEQsaUJBQVksR0FBVyx1R0FBdUcsQ0FBQztJQUUvRyxDQUFDO0lBRWpCLFFBQVE7UUFDTixRQUFPLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDcEIsS0FBSyxXQUFXLENBQUMsS0FBSztnQkFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyx1R0FBdUcsQ0FBQztnQkFDNUgsTUFBTTtZQUNSLEtBQUssV0FBVyxDQUFDLEtBQUs7Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsdUdBQXVHLENBQUM7Z0JBQzVILE1BQU07WUFDUjtnQkFDRSxJQUFJLENBQUMsWUFBWSxHQUFHLHVHQUF1RyxDQUFDO2dCQUM1SCxNQUFNO1NBQ1Q7SUFDSCxDQUFDOytHQW5CVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQix1SENYN0IsZ0dBR0EsK1ZETVksWUFBWTs7U0FFWCxnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUdQLENBQUMsWUFBWSxDQUFDOzBFQUdkLElBQUk7c0JBQVosS0FBSztnQkFDRSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaXplLCBMb2FkaW5nVHlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9lbnVtJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1sb2FkaW5nJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sb2FkaW5nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIExvYWRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzaXplOiBTaXplID0gU2l6ZS5NZWRpdW07XG5cdEBJbnB1dCgpIGltYWdlU3JjOiBMb2FkaW5nVHlwZSA9IExvYWRpbmdUeXBlLmJsYWNrO1xuICBsb2FkaW5nSW1hZ2U6IHN0cmluZyA9ICdodHRwczovL2lubm9jb25zLnMzLmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjQvMTAvMTMwODMyNDkvTG9hZGVyLVdoaXRlLmdpZic7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzd2l0Y2godGhpcy5pbWFnZVNyYykge1xuICAgICAgY2FzZSBMb2FkaW5nVHlwZS5ibGFjazpcbiAgICAgICAgdGhpcy5sb2FkaW5nSW1hZ2UgPSAnaHR0cHM6Ly9pbm5vY29ucy5zMy5hcC1zb3V0aGVhc3QtMS5hbWF6b25hd3MuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzEwLzEzMDgzMjU2L0xvYWRlci1CbGFjay5naWYnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTG9hZGluZ1R5cGUud2hpdGU6XG4gICAgICAgIHRoaXMubG9hZGluZ0ltYWdlID0gJ2h0dHBzOi8vaW5ub2NvbnMuczMuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8xMC8xMzA4MzI0OS9Mb2FkZXItV2hpdGUuZ2lmJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmxvYWRpbmdJbWFnZSA9ICdodHRwczovL2lubm9jb25zLnMzLmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjQvMTAvMTMwODMyNDkvTG9hZGVyLVdoaXRlLmdpZic7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJzaXplXCIgY2xhc3M9XCJsb2FkaW5nLWNvbnRlbnRcIj5cbiAgPGltZyBbc3JjXT1cImxvYWRpbmdJbWFnZVwiIC8+XG48L2Rpdj5cbiJdfQ==
@@ -6,7 +6,7 @@ class MenuWidgetComponent {
6
6
  constructor() {
7
7
  // Input for menu items
8
8
  this.items = [];
9
- this.position = { top: '0px', left: '0px' };
9
+ this.position = { left: '0px' };
10
10
  // Output for item selection event
11
11
  this.itemSelected = new EventEmitter();
12
12
  }
@@ -20,12 +20,12 @@ class MenuWidgetComponent {
20
20
  }
21
21
  }
22
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MenuWidgetComponent, isStandalone: true, selector: "app-menu-widget", inputs: { items: "items", position: "position" }, outputs: { itemSelected: "itemSelected" }, ngImport: i0, template: "<div class=\"menu-widget\" [ngStyle]=\"{ top: position.top, left: position.left }\">\n <ul>\n <li *ngFor=\"let item of items\"\n [class.disabled]=\"item.isToggled\"\n (click)=\"onItemClick(item)\">\n {{ item.label }}\n </li>\n </ul>\n</div>\n", styles: [".menu-widget{position:absolute;background-color:#fff;border:1px solid #ccc;padding:10px;list-style:none;box-shadow:0 2px 10px #0000001a;z-index:1000}.menu-widget ul{margin:0;padding:0;list-style:none}.menu-widget li{padding:8px 12px;cursor:pointer;transition:background-color .2s ease}.menu-widget li:hover{background-color:#f0f0f0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MenuWidgetComponent, isStandalone: true, selector: "app-menu-widget", inputs: { items: "items", position: "position" }, outputs: { itemSelected: "itemSelected" }, ngImport: i0, template: "<div class=\"menu-widget\" [ngStyle]=\"{ top: position.top ?? 'auto', left: position.left, bottom: position.bottom ?? 'auto' }\">\n <ul>\n <li *ngFor=\"let item of items\"\n [class.disabled]=\"item.isToggled\"\n (click)=\"onItemClick(item)\">\n {{ item.label }}\n </li>\n </ul>\n</div>\n", styles: [".menu-widget{position:absolute;background-color:#fff;border:1px solid #ccc;padding:10px;list-style:none;box-shadow:0 2px 10px #0000001a;z-index:1000}.menu-widget ul{margin:0;padding:0;list-style:none}.menu-widget li{padding:8px 12px;cursor:pointer;transition:background-color .2s ease}.menu-widget li:hover{background-color:#f0f0f0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
24
24
  }
25
25
  export { MenuWidgetComponent };
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuWidgetComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: 'app-menu-widget', standalone: true, imports: [CommonModule], template: "<div class=\"menu-widget\" [ngStyle]=\"{ top: position.top, left: position.left }\">\n <ul>\n <li *ngFor=\"let item of items\"\n [class.disabled]=\"item.isToggled\"\n (click)=\"onItemClick(item)\">\n {{ item.label }}\n </li>\n </ul>\n</div>\n", styles: [".menu-widget{position:absolute;background-color:#fff;border:1px solid #ccc;padding:10px;list-style:none;box-shadow:0 2px 10px #0000001a;z-index:1000}.menu-widget ul{margin:0;padding:0;list-style:none}.menu-widget li{padding:8px 12px;cursor:pointer;transition:background-color .2s ease}.menu-widget li:hover{background-color:#f0f0f0}\n"] }]
28
+ args: [{ selector: 'app-menu-widget', standalone: true, imports: [CommonModule], template: "<div class=\"menu-widget\" [ngStyle]=\"{ top: position.top ?? 'auto', left: position.left, bottom: position.bottom ?? 'auto' }\">\n <ul>\n <li *ngFor=\"let item of items\"\n [class.disabled]=\"item.isToggled\"\n (click)=\"onItemClick(item)\">\n {{ item.label }}\n </li>\n </ul>\n</div>\n", styles: [".menu-widget{position:absolute;background-color:#fff;border:1px solid #ccc;padding:10px;list-style:none;box-shadow:0 2px 10px #0000001a;z-index:1000}.menu-widget ul{margin:0;padding:0;list-style:none}.menu-widget li{padding:8px 12px;cursor:pointer;transition:background-color .2s ease}.menu-widget li:hover{background-color:#f0f0f0}\n"] }]
29
29
  }], propDecorators: { items: [{
30
30
  type: Input
31
31
  }], position: [{
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
33
33
  }], itemSelected: [{
34
34
  type: Output
35
35
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvbWVudS13aWRnZXQvbWVudS13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvbWVudS13aWRnZXQvbWVudS13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUcvRSxNQU9hLG1CQUFtQjtJQVBoQztRQVFFLHVCQUF1QjtRQUNkLFVBQUssR0FBc0IsRUFBRSxDQUFDO1FBQzlCLGFBQVEsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBRWhELGtDQUFrQztRQUN4QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0tBVzlEO0lBVEMsZ0NBQWdDO0lBQ2hDLFdBQVcsQ0FBQyxJQUFxQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNqQjtTQUNGO0lBQ0gsQ0FBQzsrR0FoQlUsbUJBQW1CO21HQUFuQixtQkFBbUIsd0tDWGhDLCtRQVNBLHVZREFZLFlBQVk7O1NBRVgsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUdQLENBQUMsWUFBWSxDQUFDOzhCQUlkLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVdpZGdldE1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW1lbnUtd2lkZ2V0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtd2lkZ2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS13aWRnZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgTWVudVdpZGdldENvbXBvbmVudCB7XG4gIC8vIElucHV0IGZvciBtZW51IGl0ZW1zXG4gIEBJbnB1dCgpIGl0ZW1zOiBJV2lkZ2V0TWVudUl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBwb3NpdGlvbiA9IHsgdG9wOiAnMHB4JywgbGVmdDogJzBweCcgfTtcblxuICAvLyBPdXRwdXQgZm9yIGl0ZW0gc2VsZWN0aW9uIGV2ZW50XG4gIEBPdXRwdXQoKSBpdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPElXaWRnZXRNZW51SXRlbT4oKTtcblxuICAvLyBGdW5jdGlvbiB0byBoYW5kbGUgaXRlbSBjbGlja1xuICBvbkl0ZW1DbGljayhpdGVtOiBJV2lkZ2V0TWVudUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoIWl0ZW0uaXNUb2dnbGVkKSB7XG4gICAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KGl0ZW0pO1xuICAgICAgaWYgKGl0ZW0uY2FsbGJhY2spIHtcbiAgICAgICAgaXRlbS5jYWxsYmFjaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1lbnUtd2lkZ2V0XCIgW25nU3R5bGVdPVwieyB0b3A6IHBvc2l0aW9uLnRvcCwgbGVmdDogcG9zaXRpb24ubGVmdCB9XCI+XG4gIDx1bD5cbiAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiaXRlbS5pc1RvZ2dsZWRcIlxuICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIj5cbiAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9kaXY+XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvbWVudS13aWRnZXQvbWVudS13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvbWVudS13aWRnZXQvbWVudS13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUd2RSxNQU9hLG1CQUFtQjtJQVBoQztRQVFFLHVCQUF1QjtRQUNkLFVBQUssR0FBc0IsRUFBRSxDQUFDO1FBQzlCLGFBQVEsR0FBcUQsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFFckYsa0NBQWtDO1FBQ3hCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7S0FXOUQ7SUFUQyxnQ0FBZ0M7SUFDaEMsV0FBVyxDQUFDLElBQXFCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ2pCO1NBQ0Y7SUFDSCxDQUFDOytHQWhCVSxtQkFBbUI7bUdBQW5CLG1CQUFtQix3S0NYaEMsNFRBU0EsdVlEQVksWUFBWTs7U0FFWCxtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBR1AsQ0FBQyxZQUFZLENBQUM7OEJBSWQsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVdpZGdldE1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW1lbnUtd2lkZ2V0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtd2lkZ2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS13aWRnZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgTWVudVdpZGdldENvbXBvbmVudCB7XG4gIC8vIElucHV0IGZvciBtZW51IGl0ZW1zXG4gIEBJbnB1dCgpIGl0ZW1zOiBJV2lkZ2V0TWVudUl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBwb3NpdGlvbiA6IHsgdG9wPzogc3RyaW5nLCBsZWZ0OiBzdHJpbmcsIGJvdHRvbT86IHN0cmluZyB9ID0geyBsZWZ0OiAnMHB4J307XG5cbiAgLy8gT3V0cHV0IGZvciBpdGVtIHNlbGVjdGlvbiBldmVudFxuICBAT3V0cHV0KCkgaXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxJV2lkZ2V0TWVudUl0ZW0+KCk7XG5cbiAgLy8gRnVuY3Rpb24gdG8gaGFuZGxlIGl0ZW0gY2xpY2tcbiAgb25JdGVtQ2xpY2soaXRlbTogSVdpZGdldE1lbnVJdGVtKTogdm9pZCB7XG4gICAgaWYgKCFpdGVtLmlzVG9nZ2xlZCkge1xuICAgICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChpdGVtKTtcbiAgICAgIGlmIChpdGVtLmNhbGxiYWNrKSB7XG4gICAgICAgIGl0ZW0uY2FsbGJhY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtZW51LXdpZGdldFwiIFtuZ1N0eWxlXT1cInsgdG9wOiBwb3NpdGlvbi50b3AgPz8gJ2F1dG8nLCBsZWZ0OiBwb3NpdGlvbi5sZWZ0LCBib3R0b206IHBvc2l0aW9uLmJvdHRvbSA/PyAnYXV0bycgfVwiPlxuICA8dWw+XG4gICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIml0ZW0uaXNUb2dnbGVkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCI+XG4gICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuIl19
@@ -89,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
89
89
  }], selectedChange: [{
90
90
  type: Output
91
91
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3NlbGVjdGlvbi9zZWxlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvc2VsZWN0aW9uL3NlbGVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFL0MsTUFZYSxrQkFBa0I7SUFaL0I7UUFhVyxVQUFLLEdBQVcsRUFBRSxDQUFDLENBQUUseUJBQXlCO1FBQzlDLFlBQU8sR0FBa0MsRUFBRSxDQUFDLENBQUUsbUJBQW1CO1FBRWpFLG1CQUFjLEdBQVUsRUFBRSxDQUFDLENBQUUsd0NBQXdDO1FBQ3JFLGtCQUFhLEdBQVksS0FBSyxDQUFDLENBQUUsc0NBQXNDO1FBQ3ZFLGdCQUFXLEdBQWtCLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBRSwwREFBMEQ7UUFFL0csbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQyxDQUFFLGtDQUFrQztRQUUxRyxhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3pCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0FzRDNCO0lBcERDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLElBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUUvRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFZO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBWTtRQUM5QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUNoRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRTNCLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztTQUNwRTtRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDakcsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxpREFBaUQ7SUFDbkQsQ0FBQzsrR0FoRVUsa0JBQWtCO21HQUFsQixrQkFBa0IseVJBUGxCLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLDBCQ2ZKLGdxQ0FzQ0EsNCtCRHRCWSxZQUFZLCtQQUFFLFdBQVc7O1NBRXhCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQVo5QixTQUFTOytCQUNFLGVBQWUsY0FHYixJQUFJLGFBQ0wsQ0FBQzs0QkFDVixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQyxXQUNPLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQzs4QkFHM0IsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNlbGVjdGlvblR5cGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvZW51bSc7XHJcbmltcG9ydCB7IElEcm9wZG93bk9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zZWxlY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3Rpb25Db21wb25lbnQpLFxyXG4gICAgbXVsdGk6IHRydWVcclxuICB9XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJzsgIC8vIExhYmVsIGZvciB0aGUgZHJvcGRvd25cclxuICBASW5wdXQoKSBvcHRpb25zOiBJRHJvcGRvd25PcHRpb25bXSB8IHVuZGVmaW5lZCA9IFtdOyAgLy8gQXJyYXkgb2Ygb3B0aW9uc1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkVmFsdWU6IGFueTsgIC8vIFByZS1zZWxlY3RlZCB2YWx1ZSAoc2luZ2xlIHNlbGVjdGlvbilcclxuICBASW5wdXQoKSBzZWxlY3RlZFZhbHVlczogYW55W10gPSBbXTsgIC8vIFByZS1zZWxlY3RlZCB2YWx1ZXMgKG11bHRpLXNlbGVjdGlvbilcclxuICBASW5wdXQoKSBpc011bHRpU2VsZWN0OiBib29sZWFuID0gZmFsc2U7ICAvLyBFbmFibGUgbXVsdGktc2VsZWN0aW9uIGZvciBkcm9wZG93blxyXG4gIEBJbnB1dCgpIGRpc3BsYXlUeXBlOiBTZWxlY3Rpb25UeXBlID0gU2VsZWN0aW9uVHlwZS5kcm9wZG93bjsgIC8vIENvbnRyb2wgdGhlIGRpc3BsYXkgdHlwZSAoZHJvcGRvd24sIHJhZGlvLCBvciBjaGVja2JveClcclxuXHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpOyAgLy8gRXZlbnQgZW1pdHRlciBmb3IgdmFsdWUgY2hhbmdlc1xyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgZ2V0IHZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSAodGhpcy5pc011bHRpU2VsZWN0ID09PSBmYWxzZSAmJiAgQXJyYXkuaXNBcnJheSh2YWx1ZSkpPyB2YWx1ZVswXSA6IHZhbHVlO1xyXG5cclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5zZWxlY3RlZFZhbHVlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA+IDAgJiYgIXRoaXMuaXNNdWx0aVNlbGVjdCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLm9wdGlvbnNbMF0udmFsdWU7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zZWxlY3RlZFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VsZWN0Q2hhbmdlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvbk11bHRpU2VsZWN0Q2hhbmdlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRhcmdldC52YWx1ZTtcclxuXHJcbiAgICBpZiAodGFyZ2V0LmNoZWNrZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5wdXNoKHZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLmZpbHRlcih2ID0+IHYgIT09IHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBpc1NlbGVjdGVkKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzTXVsdGlTZWxlY3QgPyB0aGlzLnNlbGVjdGVkVmFsdWVzLmluY2x1ZGVzKHZhbHVlKSA6IHZhbHVlID09PSB0aGlzLnNlbGVjdGVkVmFsdWU7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmblxyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8gSW1wbGVtZW50IGlmIHlvdSBuZWVkIHRvIGhhbmRsZSBkaXNhYmxlZCBzdGF0ZVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiAqbmdJZj1cImRpc3BsYXlUeXBlID09PSAnZHJvcGRvd24nXCI+XG4gIDxsYWJlbCAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxuICA8c2VsZWN0XG4gIChjaGFuZ2UpPVwib25TZWxlY3RDaGFuZ2UoJGV2ZW50KVwiXG4gIFttdWx0aXBsZV09XCJpc011bHRpU2VsZWN0XCJcbiAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiPlxuICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCJcbiAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChvcHRpb24udmFsdWUpXCI+XG4gICAgICB7eyBvcHRpb24ubGFiZWwgfX1cbiAgICA8L29wdGlvbj5cbiAgPC9zZWxlY3Q+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInJhZGlvLWdyb3VwXCIgKm5nSWY9XCJkaXNwbGF5VHlwZSA9PT0gJ3JhZGlvJ1wiPlxuICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIj5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgIFtjaGVja2VkXT1cIm9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0Q2hhbmdlKCRldmVudClcIlxuICAgICAgbmFtZT1cInJhZGlvR3JvdXBcIi8+XG4gICAgPGxhYmVsPnt7IG9wdGlvbi5sYWJlbCB9fTwvbGFiZWw+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJjaGVja2JveC1ncm91cFwiICpuZ0lmPVwiZGlzcGxheVR5cGUgPT09ICdjaGVja2JveCdcIj5cbiAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvbGFiZWw+XG4gIDxkaXYgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXG4gICAgICBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKG9wdGlvbi52YWx1ZSlcIlxuICAgICAgKGNoYW5nZSk9XCJvbk11bHRpU2VsZWN0Q2hhbmdlKCRldmVudClcIi8+XG4gICAgPGxhYmVsPnt7IG9wdGlvbi5sYWJlbCB9fTwvbGFiZWw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3NlbGVjdGlvbi9zZWxlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvc2VsZWN0aW9uL3NlbGVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFL0MsTUFZYSxrQkFBa0I7SUFaL0I7UUFhVyxVQUFLLEdBQVcsRUFBRSxDQUFDLENBQUUseUJBQXlCO1FBQzlDLFlBQU8sR0FBa0MsRUFBRSxDQUFDLENBQUUsbUJBQW1CO1FBRWpFLG1CQUFjLEdBQVUsRUFBRSxDQUFDLENBQUUsd0NBQXdDO1FBQ3JFLGtCQUFhLEdBQVksS0FBSyxDQUFDLENBQUUsc0NBQXNDO1FBQ3ZFLGdCQUFXLEdBQWtCLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBRSwwREFBMEQ7UUFFL0csbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQyxDQUFFLGtDQUFrQztRQUUxRyxhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3pCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0FzRDNCO0lBcERDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLElBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUUvRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFZO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBWTtRQUM5QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUNoRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRTNCLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztTQUNwRTtRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDakcsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxpREFBaUQ7SUFDbkQsQ0FBQzsrR0FoRVUsa0JBQWtCO21HQUFsQixrQkFBa0IseVJBUGxCLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLDBCQ2ZKLGdxQ0FzQ0EsNCtCRHRCWSxZQUFZLCtQQUFFLFdBQVc7O1NBRXhCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQVo5QixTQUFTOytCQUNFLGVBQWUsY0FHYixJQUFJLGFBQ0wsQ0FBQzs0QkFDVixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQyxXQUNPLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQzs4QkFHM0IsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9lbnVtJztcbmltcG9ydCB7IElEcm9wZG93bk9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VsZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0aW9uQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7ICAvLyBMYWJlbCBmb3IgdGhlIGRyb3Bkb3duXG4gIEBJbnB1dCgpIG9wdGlvbnM6IElEcm9wZG93bk9wdGlvbltdIHwgdW5kZWZpbmVkID0gW107ICAvLyBBcnJheSBvZiBvcHRpb25zXG4gIEBJbnB1dCgpIHNlbGVjdGVkVmFsdWU6IGFueTsgIC8vIFByZS1zZWxlY3RlZCB2YWx1ZSAoc2luZ2xlIHNlbGVjdGlvbilcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZXM6IGFueVtdID0gW107ICAvLyBQcmUtc2VsZWN0ZWQgdmFsdWVzIChtdWx0aS1zZWxlY3Rpb24pXG4gIEBJbnB1dCgpIGlzTXVsdGlTZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTsgIC8vIEVuYWJsZSBtdWx0aS1zZWxlY3Rpb24gZm9yIGRyb3Bkb3duXG4gIEBJbnB1dCgpIGRpc3BsYXlUeXBlOiBTZWxlY3Rpb25UeXBlID0gU2VsZWN0aW9uVHlwZS5kcm9wZG93bjsgIC8vIENvbnRyb2wgdGhlIGRpc3BsYXkgdHlwZSAoZHJvcGRvd24sIHJhZGlvLCBvciBjaGVja2JveClcblxuICBAT3V0cHV0KCkgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7ICAvLyBFdmVudCBlbWl0dGVyIGZvciB2YWx1ZSBjaGFuZ2VzXG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSAodGhpcy5pc011bHRpU2VsZWN0ID09PSBmYWxzZSAmJiAgQXJyYXkuaXNBcnJheSh2YWx1ZSkpPyB2YWx1ZVswXSA6IHZhbHVlO1xuXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkVmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwICYmICF0aGlzLmlzTXVsdGlTZWxlY3QpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHRoaXMub3B0aW9uc1swXS52YWx1ZTtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zZWxlY3RlZFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdENoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFZhbHVlKTtcbiAgfVxuXG4gIG9uTXVsdGlTZWxlY3RDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgdmFsdWUgPSB0YXJnZXQudmFsdWU7XG5cbiAgICBpZiAodGFyZ2V0LmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLmZpbHRlcih2ID0+IHYgIT09IHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFZhbHVlcyk7XG4gIH1cblxuICBpc1NlbGVjdGVkKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc011bHRpU2VsZWN0ID8gdGhpcy5zZWxlY3RlZFZhbHVlcy5pbmNsdWRlcyh2YWx1ZSkgOiB2YWx1ZSA9PT0gdGhpcy5zZWxlY3RlZFZhbHVlO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdmFsdWU7XG4gIH1cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuXG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgLy8gSW1wbGVtZW50IGlmIHlvdSBuZWVkIHRvIGhhbmRsZSBkaXNhYmxlZCBzdGF0ZVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiAqbmdJZj1cImRpc3BsYXlUeXBlID09PSAnZHJvcGRvd24nXCI+XG4gIDxsYWJlbCAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxuICA8c2VsZWN0XG4gIChjaGFuZ2UpPVwib25TZWxlY3RDaGFuZ2UoJGV2ZW50KVwiXG4gIFttdWx0aXBsZV09XCJpc011bHRpU2VsZWN0XCJcbiAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiPlxuICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCJcbiAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChvcHRpb24udmFsdWUpXCI+XG4gICAgICB7eyBvcHRpb24ubGFiZWwgfX1cbiAgICA8L29wdGlvbj5cbiAgPC9zZWxlY3Q+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInJhZGlvLWdyb3VwXCIgKm5nSWY9XCJkaXNwbGF5VHlwZSA9PT0gJ3JhZGlvJ1wiPlxuICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIj5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgIFtjaGVja2VkXT1cIm9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0Q2hhbmdlKCRldmVudClcIlxuICAgICAgbmFtZT1cInJhZGlvR3JvdXBcIi8+XG4gICAgPGxhYmVsPnt7IG9wdGlvbi5sYWJlbCB9fTwvbGFiZWw+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJjaGVja2JveC1ncm91cFwiICpuZ0lmPVwiZGlzcGxheVR5cGUgPT09ICdjaGVja2JveCdcIj5cbiAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvbGFiZWw+XG4gIDxkaXYgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXG4gICAgICBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKG9wdGlvbi52YWx1ZSlcIlxuICAgICAgKGNoYW5nZSk9XCJvbk11bHRpU2VsZWN0Q2hhbmdlKCRldmVudClcIi8+XG4gICAgPGxhYmVsPnt7IG9wdGlvbi5sYWJlbCB9fTwvbGFiZWw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -16,15 +16,15 @@ class CardsComponent {
16
16
  }
17
17
  }
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardsComponent, isStandalone: true, selector: "app-cards", inputs: { cardContents: "cardContents" }, outputs: { getCardConfig: "getCardConfig" }, ngImport: i0, template: "<div class=\"cards-content\">\r\n <ng-container *ngFor=\"let content of cardContents\">\r\n <div class=\"card {{content.name}}\">\r\n <app-content-design (clickEvent)=\"clickEvent($event)\"\r\n [content] = \"content\">\r\n </app-content-design>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n\r\n\r\n", styles: [".cards-content{display:flex;flex-direction:row;gap:20px}.content{width:33%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ContentDesignComponent, selector: "app-content-design", inputs: ["content", "contentLength"], outputs: ["clickEvent"] }] }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardsComponent, isStandalone: true, selector: "app-cards", inputs: { cardContents: "cardContents" }, outputs: { getCardConfig: "getCardConfig" }, ngImport: i0, template: "<div class=\"cards-content\">\n <ng-container *ngFor=\"let content of cardContents\">\n <div class=\"card {{content.name}}\">\n <app-content-design (clickEvent)=\"clickEvent($event)\"\n [content] = \"content\">\n </app-content-design>\n </div>\n </ng-container>\n</div>\n\n\n\n", styles: [".cards-content{display:flex;flex-direction:row;gap:20px}.content{width:33%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ContentDesignComponent, selector: "app-content-design", inputs: ["content", "contentLength"], outputs: ["clickEvent"] }] }); }
20
20
  }
21
21
  export { CardsComponent };
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardsComponent, decorators: [{
23
23
  type: Component,
24
- args: [{ selector: 'app-cards', standalone: true, imports: [CommonModule, ContentDesignComponent], template: "<div class=\"cards-content\">\r\n <ng-container *ngFor=\"let content of cardContents\">\r\n <div class=\"card {{content.name}}\">\r\n <app-content-design (clickEvent)=\"clickEvent($event)\"\r\n [content] = \"content\">\r\n </app-content-design>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n\r\n\r\n", styles: [".cards-content{display:flex;flex-direction:row;gap:20px}.content{width:33%}\n"] }]
24
+ args: [{ selector: 'app-cards', standalone: true, imports: [CommonModule, ContentDesignComponent], template: "<div class=\"cards-content\">\n <ng-container *ngFor=\"let content of cardContents\">\n <div class=\"card {{content.name}}\">\n <app-content-design (clickEvent)=\"clickEvent($event)\"\n [content] = \"content\">\n </app-content-design>\n </div>\n </ng-container>\n</div>\n\n\n\n", styles: [".cards-content{display:flex;flex-direction:row;gap:20px}.content{width:33%}\n"] }]
25
25
  }], ctorParameters: function () { return []; }, propDecorators: { cardContents: [{
26
26
  type: Input
27
27
  }], getCardConfig: [{
28
28
  type: Output
29
29
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NhcmRzL2NhcmRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jYXJkcy9jYXJkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBRXBGLE1BT2EsY0FBYztJQUt6QjtRQUpTLGlCQUFZLEdBQXFCLEVBQUUsQ0FBQztRQUVuQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRTdDLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFFRCxVQUFVLENBQUMsYUFBNkI7UUFDdEMsSUFBRyxhQUFhLENBQUMsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1NBQ3ZDO0lBQ0gsQ0FBQzsrR0FkVSxjQUFjO21HQUFkLGNBQWMsNEpDWjNCLHNVQVlBLHNJREZZLFlBQVksNEpBQUUsc0JBQXNCOztTQUVuQyxjQUFjOzRGQUFkLGNBQWM7a0JBUDFCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FHUCxDQUFDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQzswRUFHdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQ29udGVudERlc2lnbiB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbnRlbnREZXNpZ25Db21wb25lbnQgfSBmcm9tICcuLi9jb250ZW50LWRlc2lnbi9jb250ZW50LWRlc2lnbi5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY2FyZHMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYXJkcy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENvbnRlbnREZXNpZ25Db21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgY2FyZENvbnRlbnRzOiBJQ29udGVudERlc2lnbltdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKSBnZXRDYXJkQ29uZmlnID0gbmV3IEV2ZW50RW1pdHRlcjxJQ29udGVudERlc2lnbj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBjbGlja0V2ZW50KGNvbnRlbnREZXNpZ246IElDb250ZW50RGVzaWduKSB7XHJcbiAgICBpZihjb250ZW50RGVzaWduLmlkKSB7XHJcbiAgICAgIHRoaXMuZ2V0Q2FyZENvbmZpZy5lbWl0KGNvbnRlbnREZXNpZ24pXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkcy1jb250ZW50XCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29udGVudCBvZiBjYXJkQ29udGVudHNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIHt7Y29udGVudC5uYW1lfX1cIj5cclxuICAgICAgPGFwcC1jb250ZW50LWRlc2lnbiAoY2xpY2tFdmVudCk9XCJjbGlja0V2ZW50KCRldmVudClcIlxyXG4gICAgICBbY29udGVudF0gPSBcImNvbnRlbnRcIj5cclxuICAgICAgPC9hcHAtY29udGVudC1kZXNpZ24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG5cclxuXHJcbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NhcmRzL2NhcmRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jYXJkcy9jYXJkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBRXBGLE1BT2EsY0FBYztJQUt6QjtRQUpTLGlCQUFZLEdBQXFCLEVBQUUsQ0FBQztRQUVuQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRTdDLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFFRCxVQUFVLENBQUMsYUFBNkI7UUFDdEMsSUFBRyxhQUFhLENBQUMsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1NBQ3ZDO0lBQ0gsQ0FBQzsrR0FkVSxjQUFjO21HQUFkLGNBQWMsNEpDWjNCLDhTQVlBLHNJREZZLFlBQVksNEpBQUUsc0JBQXNCOztTQUVuQyxjQUFjOzRGQUFkLGNBQWM7a0JBUDFCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FHUCxDQUFDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQzswRUFHdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNvbnRlbnREZXNpZ24gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRlbnREZXNpZ25Db21wb25lbnQgfSBmcm9tICcuLi9jb250ZW50LWRlc2lnbi9jb250ZW50LWRlc2lnbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2FyZHMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJkcy5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDb250ZW50RGVzaWduQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBDYXJkc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNhcmRDb250ZW50czogSUNvbnRlbnREZXNpZ25bXSA9IFtdO1xuXG4gIEBPdXRwdXQoKSBnZXRDYXJkQ29uZmlnID0gbmV3IEV2ZW50RW1pdHRlcjxJQ29udGVudERlc2lnbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgY2xpY2tFdmVudChjb250ZW50RGVzaWduOiBJQ29udGVudERlc2lnbikge1xuICAgIGlmKGNvbnRlbnREZXNpZ24uaWQpIHtcbiAgICAgIHRoaXMuZ2V0Q2FyZENvbmZpZy5lbWl0KGNvbnRlbnREZXNpZ24pXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZHMtY29udGVudFwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb250ZW50IG9mIGNhcmRDb250ZW50c1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIHt7Y29udGVudC5uYW1lfX1cIj5cbiAgICAgIDxhcHAtY29udGVudC1kZXNpZ24gKGNsaWNrRXZlbnQpPVwiY2xpY2tFdmVudCgkZXZlbnQpXCJcbiAgICAgIFtjb250ZW50XSA9IFwiY29udGVudFwiPlxuICAgICAgPC9hcHAtY29udGVudC1kZXNpZ24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cblxuXG4iXX0=
@@ -32,12 +32,12 @@ class ContentDesignComponent {
32
32
  }
33
33
  }
34
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentDesignComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ContentDesignComponent, isStandalone: true, selector: "app-content-design", inputs: { content: "content", contentLength: "contentLength" }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<div class=\"content-designer\" [ngClass]=\"content.contentDirection\">\r\n <ng-container *ngIf=\"content?.mapAddress; else imageTemplate\">\r\n <div class=\"map\">\r\n <iframe\r\n width=\"600\"\r\n height=\"450\"\r\n style=\"border:0;\"\r\n allowfullscreen=\"\"\r\n loading=\"lazy\"\r\n referrerpolicy=\"no-referrer-when-downgrade\"\r\n [src]=\"sanitizedMapAddress\">\r\n </iframe>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #imageTemplate>\r\n <div *ngIf=\"content.coverImage\" class=\"image\">\r\n <img [src]=\"content.coverImage\" alt=\"Cover Image\">\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"content\">\r\n <h2 *ngIf=\"content.title\">{{ content.title }}</h2>\r\n <p *ngIf=\"content.content\">{{ truncateContent(content.content) }}</p>\r\n <ng-container [ngTemplateOutlet]=\"content.template\"></ng-container>\r\n <app-button *ngIf=\"content.button\" [config] = \"content.button\"\r\n (clickEvent)=\"onButtonClick(content.button.action)\">\r\n </app-button>\r\n </div>\r\n</div>\r\n", styles: [".content-designer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:center}.content-designer img{max-width:100%;height:auto}.content-designer .content{display:flex;flex-direction:column}.content-designer .content p{text-align:justify}.content-designer.left,.content-designer.right{flex-direction:row}.content-designer.left .image,.content-designer.left .content,.content-designer.right .image,.content-designer.right .content{flex:1;width:50%}.content-designer.left .content,.content-designer.right .content{text-align:justify}.content-designer.left .image,.content-designer.right .image{display:flex}.content-designer.left{flex-direction:row-reverse}.content-designer.left .image{justify-content:end}.content-designer.right .image{justify-content:start}.content-designer.up,.content-designer.down{flex-direction:column}.content-designer.up .image,.content-designer.down .image{width:100%;height:300px;overflow:hidden;justify-content:center;align-items:center}.content-designer.up .image image,.content-designer.down .image image{height:100%;width:auto;object-fit:cover}.content-designer.up{flex-direction:column-reverse}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["config"], outputs: ["clickEvent"] }] }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ContentDesignComponent, isStandalone: true, selector: "app-content-design", inputs: { content: "content", contentLength: "contentLength" }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<div class=\"content-designer\" [ngClass]=\"content.contentDirection\">\n <ng-container *ngIf=\"content?.mapAddress; else imageTemplate\">\n <div class=\"map\">\n <iframe\n width=\"600\"\n height=\"450\"\n style=\"border:0;\"\n allowfullscreen=\"\"\n loading=\"lazy\"\n referrerpolicy=\"no-referrer-when-downgrade\"\n [src]=\"sanitizedMapAddress\">\n </iframe>\n </div>\n </ng-container>\n\n <ng-template #imageTemplate>\n <div *ngIf=\"content.coverImage\" class=\"image\">\n <img [src]=\"content.coverImage\" alt=\"Cover Image\">\n </div>\n </ng-template>\n\n <div class=\"content\">\n <h2 *ngIf=\"content.title\">{{ content.title }}</h2>\n <p *ngIf=\"content.content\">{{ truncateContent(content.content) }}</p>\n <ng-container [ngTemplateOutlet]=\"content.template\"></ng-container>\n <app-button *ngIf=\"content.button\" [config] = \"content.button\"\n (clickEvent)=\"onButtonClick(content.button.action)\">\n </app-button>\n </div>\n</div>\n", styles: [".content-designer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:center}.content-designer img{max-width:100%;height:auto}.content-designer .content{display:flex;flex-direction:column}.content-designer .content p{text-align:justify}.content-designer.left,.content-designer.right{flex-direction:row}.content-designer.left .image,.content-designer.left .content,.content-designer.right .image,.content-designer.right .content{flex:1;width:50%}.content-designer.left .content,.content-designer.right .content{text-align:justify}.content-designer.left .image,.content-designer.right .image{display:flex}.content-designer.left{flex-direction:row-reverse}.content-designer.left .image{justify-content:end}.content-designer.right .image{justify-content:start}.content-designer.up,.content-designer.down{flex-direction:column}.content-designer.up .image,.content-designer.down .image{width:100%;height:300px;overflow:hidden;justify-content:center;align-items:center}.content-designer.up .image image,.content-designer.down .image image{height:100%;width:auto;object-fit:cover}.content-designer.up{flex-direction:column-reverse}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["config"], outputs: ["clickEvent"] }] }); }
36
36
  }
37
37
  export { ContentDesignComponent };
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContentDesignComponent, decorators: [{
39
39
  type: Component,
40
- args: [{ selector: 'app-content-design', standalone: true, imports: [CommonModule, ButtonComponent], template: "<div class=\"content-designer\" [ngClass]=\"content.contentDirection\">\r\n <ng-container *ngIf=\"content?.mapAddress; else imageTemplate\">\r\n <div class=\"map\">\r\n <iframe\r\n width=\"600\"\r\n height=\"450\"\r\n style=\"border:0;\"\r\n allowfullscreen=\"\"\r\n loading=\"lazy\"\r\n referrerpolicy=\"no-referrer-when-downgrade\"\r\n [src]=\"sanitizedMapAddress\">\r\n </iframe>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #imageTemplate>\r\n <div *ngIf=\"content.coverImage\" class=\"image\">\r\n <img [src]=\"content.coverImage\" alt=\"Cover Image\">\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"content\">\r\n <h2 *ngIf=\"content.title\">{{ content.title }}</h2>\r\n <p *ngIf=\"content.content\">{{ truncateContent(content.content) }}</p>\r\n <ng-container [ngTemplateOutlet]=\"content.template\"></ng-container>\r\n <app-button *ngIf=\"content.button\" [config] = \"content.button\"\r\n (clickEvent)=\"onButtonClick(content.button.action)\">\r\n </app-button>\r\n </div>\r\n</div>\r\n", styles: [".content-designer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:center}.content-designer img{max-width:100%;height:auto}.content-designer .content{display:flex;flex-direction:column}.content-designer .content p{text-align:justify}.content-designer.left,.content-designer.right{flex-direction:row}.content-designer.left .image,.content-designer.left .content,.content-designer.right .image,.content-designer.right .content{flex:1;width:50%}.content-designer.left .content,.content-designer.right .content{text-align:justify}.content-designer.left .image,.content-designer.right .image{display:flex}.content-designer.left{flex-direction:row-reverse}.content-designer.left .image{justify-content:end}.content-designer.right .image{justify-content:start}.content-designer.up,.content-designer.down{flex-direction:column}.content-designer.up .image,.content-designer.down .image{width:100%;height:300px;overflow:hidden;justify-content:center;align-items:center}.content-designer.up .image image,.content-designer.down .image image{height:100%;width:auto;object-fit:cover}.content-designer.up{flex-direction:column-reverse}\n"] }]
40
+ args: [{ selector: 'app-content-design', standalone: true, imports: [CommonModule, ButtonComponent], template: "<div class=\"content-designer\" [ngClass]=\"content.contentDirection\">\n <ng-container *ngIf=\"content?.mapAddress; else imageTemplate\">\n <div class=\"map\">\n <iframe\n width=\"600\"\n height=\"450\"\n style=\"border:0;\"\n allowfullscreen=\"\"\n loading=\"lazy\"\n referrerpolicy=\"no-referrer-when-downgrade\"\n [src]=\"sanitizedMapAddress\">\n </iframe>\n </div>\n </ng-container>\n\n <ng-template #imageTemplate>\n <div *ngIf=\"content.coverImage\" class=\"image\">\n <img [src]=\"content.coverImage\" alt=\"Cover Image\">\n </div>\n </ng-template>\n\n <div class=\"content\">\n <h2 *ngIf=\"content.title\">{{ content.title }}</h2>\n <p *ngIf=\"content.content\">{{ truncateContent(content.content) }}</p>\n <ng-container [ngTemplateOutlet]=\"content.template\"></ng-container>\n <app-button *ngIf=\"content.button\" [config] = \"content.button\"\n (clickEvent)=\"onButtonClick(content.button.action)\">\n </app-button>\n </div>\n</div>\n", styles: [".content-designer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:center}.content-designer img{max-width:100%;height:auto}.content-designer .content{display:flex;flex-direction:column}.content-designer .content p{text-align:justify}.content-designer.left,.content-designer.right{flex-direction:row}.content-designer.left .image,.content-designer.left .content,.content-designer.right .image,.content-designer.right .content{flex:1;width:50%}.content-designer.left .content,.content-designer.right .content{text-align:justify}.content-designer.left .image,.content-designer.right .image{display:flex}.content-designer.left{flex-direction:row-reverse}.content-designer.left .image{justify-content:end}.content-designer.right .image{justify-content:start}.content-designer.up,.content-designer.down{flex-direction:column}.content-designer.up .image,.content-designer.down .image{width:100%;height:300px;overflow:hidden;justify-content:center;align-items:center}.content-designer.up .image image,.content-designer.down .image image{height:100%;width:auto;object-fit:cover}.content-designer.up{flex-direction:column-reverse}\n"] }]
41
41
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { content: [{
42
42
  type: Input
43
43
  }], contentLength: [{
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
45
45
  }], clickEvent: [{
46
46
  type: Output
47
47
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1kZXNpZ24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtZGVzaWduL2NvbnRlbnQtZGVzaWduLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jb250ZW50LWRlc2lnbi9jb250ZW50LWRlc2lnbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7O0FBRXJFLE1BT2Esc0JBQXNCO0lBTWpDLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFKbEMsa0JBQWEsR0FBVyxHQUFHLENBQUM7UUFDM0IsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBR1gsQ0FBQztJQUVoRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLElBQUk7WUFDdkMsR0FBRyxJQUFJLENBQUMsT0FBTztTQUNoQixDQUFBO1FBRUQsd0NBQXdDO1FBQ3hDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuRztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZTtRQUM3QixPQUFPLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBMEI7UUFDdEMsSUFBRyxNQUFNLEVBQ1Q7WUFDRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQzsrR0E5QlUsc0JBQXNCO21HQUF0QixzQkFBc0IscUxDZm5DLG9sQ0E4QkEsMnNDRGpCWSxZQUFZLHdZQUFFLGVBQWU7O1NBRTVCLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBR1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO21HQUcvQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQ29udGVudERlc2lnbiB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IENvbnRlbnREaXJlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvZW51bSc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgdHJ1bmNhdGVDb250ZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL2NvbW1vbi51dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jb250ZW50LWRlc2lnbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC1kZXNpZ24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQtZGVzaWduLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGVudERlc2lnbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgY29udGVudCE6IElDb250ZW50RGVzaWduO1xyXG4gIEBJbnB1dCgpIGNvbnRlbnRMZW5ndGg6IG51bWJlciA9IDEwMDtcclxuICBAT3V0cHV0KCkgY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8SUNvbnRlbnREZXNpZ24+KCk7XHJcbiAgc2FuaXRpemVkTWFwQWRkcmVzcyE6IFNhZmVSZXNvdXJjZVVybDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb250ZW50ID0ge1xyXG4gICAgICBjb250ZW50RGlyZWN0aW9uOiBDb250ZW50RGlyZWN0aW9uLmxlZnQsXHJcbiAgICAgIC4uLnRoaXMuY29udGVudCxcclxuICAgIH1cclxuXHJcbiAgICAvLyBTYW5pdGl6ZSB0aGUgbWFwIGFkZHJlc3MgaWYgaXQgZXhpc3RzXHJcbiAgICBpZiAodGhpcy5jb250ZW50Lm1hcEFkZHJlc3MpIHtcclxuICAgICAgdGhpcy5zYW5pdGl6ZWRNYXBBZGRyZXNzID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoaXMuY29udGVudC5tYXBBZGRyZXNzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRydW5jYXRlQ29udGVudChjb250ZW50OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0cnVuY2F0ZUNvbnRlbnQoY29udGVudCwgdGhpcy5jb250ZW50TGVuZ3RoKTtcclxuICB9XHJcblxyXG4gIG9uQnV0dG9uQ2xpY2soYWN0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgIGlmKGFjdGlvbilcclxuICAgIHtcclxuICAgICAgdGhpcy5jb250ZW50LmNvbnRlbnRBY3Rpb24gPSBhY3Rpb247XHJcbiAgICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KHRoaXMuY29udGVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250ZW50LWRlc2lnbmVyXCIgW25nQ2xhc3NdPVwiY29udGVudC5jb250ZW50RGlyZWN0aW9uXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnQ/Lm1hcEFkZHJlc3M7IGVsc2UgaW1hZ2VUZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1hcFwiPlxyXG4gICAgICA8aWZyYW1lXHJcbiAgICAgICAgd2lkdGg9XCI2MDBcIlxyXG4gICAgICAgIGhlaWdodD1cIjQ1MFwiXHJcbiAgICAgICAgc3R5bGU9XCJib3JkZXI6MDtcIlxyXG4gICAgICAgIGFsbG93ZnVsbHNjcmVlbj1cIlwiXHJcbiAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgIHJlZmVycmVycG9saWN5PVwibm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGVcIlxyXG4gICAgICAgIFtzcmNdPVwic2FuaXRpemVkTWFwQWRkcmVzc1wiPlxyXG4gICAgICA8L2lmcmFtZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2ltYWdlVGVtcGxhdGU+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiY29udGVudC5jb3ZlckltYWdlXCIgY2xhc3M9XCJpbWFnZVwiPlxyXG4gICAgICA8aW1nIFtzcmNdPVwiY29udGVudC5jb3ZlckltYWdlXCIgYWx0PVwiQ292ZXIgSW1hZ2VcIj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICA8aDIgKm5nSWY9XCJjb250ZW50LnRpdGxlXCI+e3sgY29udGVudC50aXRsZSB9fTwvaDI+XHJcbiAgICA8cCAqbmdJZj1cImNvbnRlbnQuY29udGVudFwiPnt7IHRydW5jYXRlQ29udGVudChjb250ZW50LmNvbnRlbnQpIH19PC9wPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50LnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8YXBwLWJ1dHRvbiAqbmdJZj1cImNvbnRlbnQuYnV0dG9uXCIgW2NvbmZpZ10gPSBcImNvbnRlbnQuYnV0dG9uXCJcclxuICAgIChjbGlja0V2ZW50KT1cIm9uQnV0dG9uQ2xpY2soY29udGVudC5idXR0b24uYWN0aW9uKVwiPlxyXG4gICAgPC9hcHAtYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1kZXNpZ24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kdW1iLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtZGVzaWduL2NvbnRlbnQtZGVzaWduLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jb250ZW50LWRlc2lnbi9jb250ZW50LWRlc2lnbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7O0FBRXJFLE1BT2Esc0JBQXNCO0lBTWpDLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFKbEMsa0JBQWEsR0FBVyxHQUFHLENBQUM7UUFDM0IsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBR1gsQ0FBQztJQUVoRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLElBQUk7WUFDdkMsR0FBRyxJQUFJLENBQUMsT0FBTztTQUNoQixDQUFBO1FBRUQsd0NBQXdDO1FBQ3hDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuRztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZTtRQUM3QixPQUFPLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBMEI7UUFDdEMsSUFBRyxNQUFNLEVBQ1Q7WUFDRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQzsrR0E5QlUsc0JBQXNCO21HQUF0QixzQkFBc0IscUxDZm5DLHdoQ0E4QkEsMnNDRGpCWSxZQUFZLHdZQUFFLGVBQWU7O1NBRTVCLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBR1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO21HQUcvQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNvbnRlbnREZXNpZ24gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29udGVudERpcmVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9lbnVtJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgdHJ1bmNhdGVDb250ZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL2NvbW1vbi51dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb250ZW50LWRlc2lnbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LWRlc2lnbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQtZGVzaWduLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudERlc2lnbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbnRlbnQhOiBJQ29udGVudERlc2lnbjtcbiAgQElucHV0KCkgY29udGVudExlbmd0aDogbnVtYmVyID0gMTAwO1xuICBAT3V0cHV0KCkgY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8SUNvbnRlbnREZXNpZ24+KCk7XG4gIHNhbml0aXplZE1hcEFkZHJlc3MhOiBTYWZlUmVzb3VyY2VVcmw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250ZW50ID0ge1xuICAgICAgY29udGVudERpcmVjdGlvbjogQ29udGVudERpcmVjdGlvbi5sZWZ0LFxuICAgICAgLi4udGhpcy5jb250ZW50LFxuICAgIH1cblxuICAgIC8vIFNhbml0aXplIHRoZSBtYXAgYWRkcmVzcyBpZiBpdCBleGlzdHNcbiAgICBpZiAodGhpcy5jb250ZW50Lm1hcEFkZHJlc3MpIHtcbiAgICAgIHRoaXMuc2FuaXRpemVkTWFwQWRkcmVzcyA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGlzLmNvbnRlbnQubWFwQWRkcmVzcyk7XG4gICAgfVxuICB9XG5cbiAgdHJ1bmNhdGVDb250ZW50KGNvbnRlbnQ6IHN0cmluZykge1xuICAgIHJldHVybiB0cnVuY2F0ZUNvbnRlbnQoY29udGVudCwgdGhpcy5jb250ZW50TGVuZ3RoKTtcbiAgfVxuXG4gIG9uQnV0dG9uQ2xpY2soYWN0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZihhY3Rpb24pXG4gICAge1xuICAgICAgdGhpcy5jb250ZW50LmNvbnRlbnRBY3Rpb24gPSBhY3Rpb247XG4gICAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdCh0aGlzLmNvbnRlbnQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRlbnQtZGVzaWduZXJcIiBbbmdDbGFzc109XCJjb250ZW50LmNvbnRlbnREaXJlY3Rpb25cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnQ/Lm1hcEFkZHJlc3M7IGVsc2UgaW1hZ2VUZW1wbGF0ZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtYXBcIj5cbiAgICAgIDxpZnJhbWVcbiAgICAgICAgd2lkdGg9XCI2MDBcIlxuICAgICAgICBoZWlnaHQ9XCI0NTBcIlxuICAgICAgICBzdHlsZT1cImJvcmRlcjowO1wiXG4gICAgICAgIGFsbG93ZnVsbHNjcmVlbj1cIlwiXG4gICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgcmVmZXJyZXJwb2xpY3k9XCJuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZVwiXG4gICAgICAgIFtzcmNdPVwic2FuaXRpemVkTWFwQWRkcmVzc1wiPlxuICAgICAgPC9pZnJhbWU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjaW1hZ2VUZW1wbGF0ZT5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udGVudC5jb3ZlckltYWdlXCIgY2xhc3M9XCJpbWFnZVwiPlxuICAgICAgPGltZyBbc3JjXT1cImNvbnRlbnQuY292ZXJJbWFnZVwiIGFsdD1cIkNvdmVyIEltYWdlXCI+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICA8aDIgKm5nSWY9XCJjb250ZW50LnRpdGxlXCI+e3sgY29udGVudC50aXRsZSB9fTwvaDI+XG4gICAgPHAgKm5nSWY9XCJjb250ZW50LmNvbnRlbnRcIj57eyB0cnVuY2F0ZUNvbnRlbnQoY29udGVudC5jb250ZW50KSB9fTwvcD5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnQudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8YXBwLWJ1dHRvbiAqbmdJZj1cImNvbnRlbnQuYnV0dG9uXCIgW2NvbmZpZ10gPSBcImNvbnRlbnQuYnV0dG9uXCJcbiAgICAoY2xpY2tFdmVudCk9XCJvbkJ1dHRvbkNsaWNrKGNvbnRlbnQuYnV0dG9uLmFjdGlvbilcIj5cbiAgICA8L2FwcC1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -12,13 +12,14 @@ import * as i1 from "@angular/common";
12
12
  import * as i2 from "@angular/forms";
13
13
  class FormComponent {
14
14
  constructor() {
15
- this.buttonConfig = {
16
- label: "Submit"
17
- };
15
+ this.inputConfigs = [];
16
+ this.buttonConfig = { label: "Submit" };
17
+ this.validationMessages = {};
18
18
  this.formSubmit = new EventEmitter();
19
19
  this.formChange = new EventEmitter();
20
+ // ✅ Expose InputGroupType to the template
21
+ this.InputGroupType = InputGroupType;
20
22
  }
21
- // Define the editor configuration
22
23
  onSubmit() {
23
24
  if (this.formGroup.valid) {
24
25
  this.formSubmit.emit(this.formGroup.value);
@@ -32,29 +33,30 @@ class FormComponent {
32
33
  }
33
34
  checkFormConfigType(inputType) {
34
35
  if (inputType) {
35
- if (textualInputTypes.includes(inputType)) {
36
+ if (textualInputTypes.includes(inputType))
36
37
  return InputGroupType.textual;
37
- }
38
- if (selectionInputTypes.includes(inputType)) {
38
+ if (selectionInputTypes.includes(inputType))
39
39
  return InputGroupType.selection;
40
- }
41
- if (inputType === InputType.file) {
40
+ if (inputType === InputType.file)
42
41
  return InputGroupType.file;
43
- }
44
- if (inputType === InputType.datetime) {
42
+ if (inputType === InputType.datetime)
45
43
  return InputGroupType.datetime;
46
- }
47
44
  }
48
45
  return InputGroupType.textual;
49
46
  }
47
+ trackByFn(index, item) {
48
+ return item.name;
49
+ }
50
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormComponent, isStandalone: true, selector: "app-form", inputs: { formGroup: "formGroup", inputConfigs: "inputConfigs", buttonConfig: "buttonConfig", validationMessages: "validationMessages" }, outputs: { formSubmit: "formSubmit", formChange: "formChange" }, ngImport: i0, template: "<form (ngSubmit)=\"onSubmit()\" #form=\"ngForm\" [formGroup]=\"formGroup\">\r\n <ng-container *ngFor=\"let inputConfig of inputConfigs\">\r\n <app-input *ngIf=\"checkFormConfigType(inputConfig.type) === 'textual'\"\r\n [formControlName]=\"inputConfig.name\"\r\n [config]=\"inputConfig\"\r\n [required]=\"inputConfig.required\"></app-input>\r\n\r\n <app-selection *ngIf=\"checkFormConfigType(inputConfig.type) === 'selection'\"\r\n [formControlName]=\"inputConfig.name\"\r\n [label]=\"inputConfig.label?? ''\"\r\n [options]= \"inputConfig.options\">\r\n </app-selection>\r\n\r\n <app-file-selection\r\n [formControlName]=\"inputConfig.name\"\r\n *ngIf=\"checkFormConfigType(inputConfig.type) === 'file'\"\r\n [label]=\"inputConfig.name \">\r\n </app-file-selection>\r\n </ng-container>\r\n\r\n <app-button [config]=\"buttonConfig\"></app-button>\r\n</form>\r\n", styles: ["form{display:flex;flex-direction:column;gap:15px}label{display:block;margin-bottom:.5rem}input,textarea{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "app-input", inputs: ["config"] }, { kind: "component", type: SelectionComponent, selector: "app-selection", inputs: ["label", "options", "selectedValue", "selectedValues", "isMultiSelect", "displayType"], outputs: ["selectedChange"] }, { kind: "component", type: FileSelectionComponent, selector: "app-file-selection", inputs: ["label", "chooseFileLabel", "imageUrl", "fileName"] }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["config"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormComponent, isStandalone: true, selector: "app-form", inputs: { formGroup: "formGroup", inputConfigs: "inputConfigs", buttonConfig: "buttonConfig", validationMessages: "validationMessages" }, outputs: { formSubmit: "formSubmit", formChange: "formChange" }, ngImport: i0, template: "<form (ngSubmit)=\"onSubmit()\" [formGroup]=\"formGroup\">\n <ng-container *ngIf=\"inputConfigs && inputConfigs.length > 0; else noInputs\">\n <ng-container *ngFor=\"let inputConfig of inputConfigs; trackBy: trackByFn\">\n\n <!-- Input Field -->\n <app-input\n *ngIf=\"checkFormConfigType(inputConfig.type) === InputGroupType.textual\"\n [formControlName]=\"inputConfig.name\"\n [config]=\"inputConfig\"\n [required]=\"inputConfig.required\"\n (valueChange)=\"onValueChange(inputConfig.name, $event)\">\n </app-input>\n\n <!-- Selection Field -->\n <app-selection\n *ngIf=\"checkFormConfigType(inputConfig.type) === InputGroupType.selection\"\n [formControlName]=\"inputConfig.name\"\n [label]=\"inputConfig.label ?? ''\"\n [options]=\"inputConfig.options\"\n (valueChange)=\"onValueChange(inputConfig.name, $event)\">\n </app-selection>\n\n <!-- File Selection -->\n <app-file-selection\n *ngIf=\"checkFormConfigType(inputConfig.type) === InputGroupType.file\"\n [formControlName]=\"inputConfig.name\"\n [label]=\"inputConfig.label ?? inputConfig.name\"\n (valueChange)=\"onValueChange(inputConfig.name, $event)\">\n </app-file-selection>\n\n <!-- Validation Messages -->\n <div *ngIf=\"formGroup.controls[inputConfig.name]?.invalid && formGroup.controls[inputConfig.name]?.touched\" class=\"error-message\">\n {{ validationMessages[inputConfig.name] || 'Invalid input' }}\n </div>\n\n </ng-container>\n </ng-container>\n\n <!-- Submit Button -->\n <app-button [config]=\"buttonConfig\"></app-button>\n</form>\n\n<!-- No Inputs Placeholder -->\n<ng-template #noInputs>\n <p>No inputs configured.</p>\n</ng-template>\n", styles: ["form{display:flex;flex-direction:column;gap:15px}label{display:block;margin-bottom:.5rem}input,textarea{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "app-input", inputs: ["config"] }, { kind: "component", type: SelectionComponent, selector: "app-selection", inputs: ["label", "options", "selectedValue", "selectedValues", "isMultiSelect", "displayType"], outputs: ["selectedChange"] }, { kind: "component", type: FileSelectionComponent, selector: "app-file-selection", inputs: ["label", "chooseFileLabel", "imageUrl", "fileName"] }, { kind: "component", type: ButtonComponent, selector: "app-button", inputs: ["config"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
52
52
  }
53
53
  export { FormComponent };
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormComponent, decorators: [{
55
55
  type: Component,
56
- args: [{ selector: 'app-form', standalone: true, imports: [CommonModule, InputComponent, SelectionComponent,
57
- FileSelectionComponent, ButtonComponent, FormsModule, ReactiveFormsModule], template: "<form (ngSubmit)=\"onSubmit()\" #form=\"ngForm\" [formGroup]=\"formGroup\">\r\n <ng-container *ngFor=\"let inputConfig of inputConfigs\">\r\n <app-input *ngIf=\"checkFormConfigType(inputConfig.type) === 'textual'\"\r\n [formControlName]=\"inputConfig.name\"\r\n [config]=\"inputConfig\"\r\n [required]=\"inputConfig.required\"></app-input>\r\n\r\n <app-selection *ngIf=\"checkFormConfigType(inputConfig.type) === 'selection'\"\r\n [formControlName]=\"inputConfig.name\"\r\n [label]=\"inputConfig.label?? ''\"\r\n [options]= \"inputConfig.options\">\r\n </app-selection>\r\n\r\n <app-file-selection\r\n [formControlName]=\"inputConfig.name\"\r\n *ngIf=\"checkFormConfigType(inputConfig.type) === 'file'\"\r\n [label]=\"inputConfig.name \">\r\n </app-file-selection>\r\n </ng-container>\r\n\r\n <app-button [config]=\"buttonConfig\"></app-button>\r\n</form>\r\n", styles: ["form{display:flex;flex-direction:column;gap:15px}label{display:block;margin-bottom:.5rem}input,textarea{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:.25rem}\n"] }]
56
+ args: [{ selector: 'app-form', standalone: true, imports: [
57
+ CommonModule, InputComponent, SelectionComponent,
58
+ FileSelectionComponent, ButtonComponent, FormsModule, ReactiveFormsModule
59
+ ], template: "<form (ngSubmit)=\"onSubmit()\" [formGroup]=\"formGroup\">\n <ng-container *ngIf=\"inputConfigs && inputConfigs.length > 0; else noInputs\">\n <ng-container *ngFor=\"let inputConfig of inputConfigs; trackBy: trackByFn\">\n\n <!-- Input Field -->\n <app-input\n *ngIf=\"checkFormConfigType(inputConfig.type) === InputGroupType.textual\"\n [formControlName]=\"inputConfig.name\"\n [config]=\"inputConfig\"\n [required]=\"inputConfig.required\"\n (valueChange)=\"onValueChange(inputConfig.name, $event)\">\n </app-input>\n\n <!-- Selection Field -->\n <app-selection\n *ngIf=\"checkFormConfigType(inputConfig.type) === InputGroupType.selection\"\n [formControlName]=\"inputConfig.name\"\n [label]=\"inputConfig.label ?? ''\"\n [options]=\"inputConfig.options\"\n (valueChange)=\"onValueChange(inputConfig.name, $event)\">\n </app-selection>\n\n <!-- File Selection -->\n <app-file-selection\n *ngIf=\"checkFormConfigType(inputConfig.type) === InputGroupType.file\"\n [formControlName]=\"inputConfig.name\"\n [label]=\"inputConfig.label ?? inputConfig.name\"\n (valueChange)=\"onValueChange(inputConfig.name, $event)\">\n </app-file-selection>\n\n <!-- Validation Messages -->\n <div *ngIf=\"formGroup.controls[inputConfig.name]?.invalid && formGroup.controls[inputConfig.name]?.touched\" class=\"error-message\">\n {{ validationMessages[inputConfig.name] || 'Invalid input' }}\n </div>\n\n </ng-container>\n </ng-container>\n\n <!-- Submit Button -->\n <app-button [config]=\"buttonConfig\"></app-button>\n</form>\n\n<!-- No Inputs Placeholder -->\n<ng-template #noInputs>\n <p>No inputs configured.</p>\n</ng-template>\n", styles: ["form{display:flex;flex-direction:column;gap:15px}label{display:block;margin-bottom:.5rem}input,textarea{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:.25rem}\n"] }]
58
60
  }], propDecorators: { formGroup: [{
59
61
  type: Input
60
62
  }], inputConfigs: [{
@@ -68,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
68
70
  }], formChange: [{
69
71
  type: Output
70
72
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWR1bWItbGliL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZm9ybS9mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9mb3JtL2Zvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQWEsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFN0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztBQUd0RSxNQVFhLGFBQWE7SUFSMUI7UUFXVyxpQkFBWSxHQUFrQjtZQUNyQyxLQUFLLEVBQUUsUUFBUTtTQUNoQixDQUFBO1FBR1MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDckMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUF1QyxDQUFDO0tBa0NoRjtJQWhDQyxrQ0FBa0M7SUFFbEMsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QzthQUNJO1lBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxXQUFtQixFQUFFLEtBQVU7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsU0FBZ0M7UUFDbEQsSUFBRyxTQUFTLEVBQUU7WUFDWixJQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDeEMsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDO2FBQy9CO1lBQ0QsSUFBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzFDLE9BQU8sY0FBYyxDQUFDLFNBQVMsQ0FBQzthQUNqQztZQUNELElBQUcsU0FBUyxLQUFLLFNBQVMsQ0FBQyxJQUFJLEVBQUU7Z0JBQy9CLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQzthQUM1QjtZQUNELElBQUcsU0FBUyxLQUFLLFNBQVMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ25DLE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQzthQUNoQztTQUNGO1FBQ0QsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ2hDLENBQUM7K0dBMUNVLGFBQWE7bUdBQWIsYUFBYSwrUUNwQjFCLDA0QkFzQkEsdU9ETFksWUFBWSxnUUFBRSxjQUFjLDBFQUFFLGtCQUFrQix3TEFDeEQsc0JBQXNCLDZIQUFFLGVBQWUsbUdBQUUsV0FBVyx3bUJBQUUsbUJBQW1COztTQUVoRSxhQUFhOzRGQUFiLGFBQWE7a0JBUnpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FHUCxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsa0JBQWtCO3dCQUN4RCxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDOzhCQUduRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW5wdXRHcm91cFR5cGUsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9lbnVtJztcclxuaW1wb3J0IHsgc2VsZWN0aW9uSW5wdXRUeXBlcywgdGV4dHVhbElucHV0VHlwZXMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uc3RhbnRzL2NvbnN0YW50JztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvc2VsZWN0aW9uL3NlbGVjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZmlsZS1zZWxlY3Rpb24vZmlsZS1zZWxlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSUJ1dHRvbkNvbmZpZywgSUlucHV0Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElucHV0Q29tcG9uZW50LCBTZWxlY3Rpb25Db21wb25lbnQsXHJcbiAgICBGaWxlU2VsZWN0aW9uQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnQsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGlucHV0Q29uZmlncyE6IEFycmF5PElJbnB1dENvbmZpZz47XHJcbiAgQElucHV0KCkgYnV0dG9uQ29uZmlnOiBJQnV0dG9uQ29uZmlnID0ge1xyXG4gICAgbGFiZWw6IFwiU3VibWl0XCJcclxuICB9XHJcbiAgQElucHV0KCkgdmFsaWRhdGlvbk1lc3NhZ2VzITogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbiAgQE91dHB1dCgpIGZvcm1TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBjb250cm9sTmFtZTogc3RyaW5nOyB2YWx1ZTogYW55IH0+KCk7XHJcblxyXG4gIC8vIERlZmluZSB0aGUgZWRpdG9yIGNvbmZpZ3VyYXRpb25cclxuXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcclxuICAgICAgdGhpcy5mb3JtU3VibWl0LmVtaXQodGhpcy5mb3JtR3JvdXAudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdGb3JtIG5vdCB2YWxpZCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShjb250cm9sTmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmZvcm1DaGFuZ2UuZW1pdCh7IGNvbnRyb2xOYW1lLCB2YWx1ZSB9KTtcclxuICB9XHJcblxyXG4gIGNoZWNrRm9ybUNvbmZpZ1R5cGUoaW5wdXRUeXBlOiBJbnB1dFR5cGUgfCB1bmRlZmluZWQpOiBJbnB1dEdyb3VwVHlwZSB7XHJcbiAgICBpZihpbnB1dFR5cGUpIHtcclxuICAgICAgaWYodGV4dHVhbElucHV0VHlwZXMuaW5jbHVkZXMoaW5wdXRUeXBlKSkge1xyXG4gICAgICAgIHJldHVybiBJbnB1dEdyb3VwVHlwZS50ZXh0dWFsO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHNlbGVjdGlvbklucHV0VHlwZXMuaW5jbHVkZXMoaW5wdXRUeXBlKSkge1xyXG4gICAgICAgIHJldHVybiBJbnB1dEdyb3VwVHlwZS5zZWxlY3Rpb247XHJcbiAgICAgIH1cclxuICAgICAgaWYoaW5wdXRUeXBlID09PSBJbnB1dFR5cGUuZmlsZSkge1xyXG4gICAgICAgIHJldHVybiBJbnB1dEdyb3VwVHlwZS5maWxlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKGlucHV0VHlwZSA9PT0gSW5wdXRUeXBlLmRhdGV0aW1lKSB7XHJcbiAgICAgICAgcmV0dXJuIElucHV0R3JvdXBUeXBlLmRhdGV0aW1lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gSW5wdXRHcm91cFR5cGUudGV4dHVhbDtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIiAjZm9ybT1cIm5nRm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaW5wdXRDb25maWcgb2YgaW5wdXRDb25maWdzXCI+XHJcbiAgICA8YXBwLWlucHV0ICpuZ0lmPVwiY2hlY2tGb3JtQ29uZmlnVHlwZShpbnB1dENvbmZpZy50eXBlKSA9PT0gJ3RleHR1YWwnXCJcclxuICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaW5wdXRDb25maWcubmFtZVwiXHJcbiAgICBbY29uZmlnXT1cImlucHV0Q29uZmlnXCJcclxuICAgIFtyZXF1aXJlZF09XCJpbnB1dENvbmZpZy5yZXF1aXJlZFwiPjwvYXBwLWlucHV0PlxyXG5cclxuICAgIDxhcHAtc2VsZWN0aW9uICpuZ0lmPVwiY2hlY2tGb3JtQ29uZmlnVHlwZShpbnB1dENvbmZpZy50eXBlKSA9PT0gJ3NlbGVjdGlvbidcIlxyXG4gICAgW2Zvcm1Db250cm9sTmFtZV09XCJpbnB1dENvbmZpZy5uYW1lXCJcclxuICAgIFtsYWJlbF09XCJpbnB1dENvbmZpZy5sYWJlbD8/ICcnXCJcclxuICAgIFtvcHRpb25zXT0gXCJpbnB1dENvbmZpZy5vcHRpb25zXCI+XHJcbiAgICA8L2FwcC1zZWxlY3Rpb24+XHJcblxyXG4gICAgPGFwcC1maWxlLXNlbGVjdGlvblxyXG4gICAgW2Zvcm1Db250cm9sTmFtZV09XCJpbnB1dENvbmZpZy5uYW1lXCJcclxuICAgICpuZ0lmPVwiY2hlY2tGb3JtQ29uZmlnVHlwZShpbnB1dENvbmZpZy50eXBlKSA9PT0gJ2ZpbGUnXCJcclxuICAgIFtsYWJlbF09XCJpbnB1dENvbmZpZy5uYW1lIFwiPlxyXG4gICAgPC9hcHAtZmlsZS1zZWxlY3Rpb24+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxhcHAtYnV0dG9uIFtjb25maWddPVwiYnV0dG9uQ29uZmlnXCI+PC9hcHAtYnV0dG9uPlxyXG48L2Zvcm0+XHJcbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWR1bWItbGliL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZm9ybS9mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9mb3JtL2Zvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQWEsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFN0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztBQUV0RSxNQVVhLGFBQWE7SUFWMUI7UUFZVyxpQkFBWSxHQUF3QixFQUFFLENBQUM7UUFDdkMsaUJBQVksR0FBa0IsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDbEQsdUJBQWtCLEdBQThCLEVBQUUsQ0FBQztRQUVsRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNyQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVDLENBQUM7UUFFL0UsMENBQTBDO1FBQzFDLG1CQUFjLEdBQUcsY0FBYyxDQUFDO0tBMkJqQztJQXpCQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLFdBQW1CLEVBQUUsS0FBVTtRQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxTQUFnQztRQUNsRCxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztnQkFBRSxPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUM7WUFDekUsSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2dCQUFFLE9BQU8sY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUM3RSxJQUFJLFNBQVMsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFBRSxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUM7WUFDN0QsSUFBSSxTQUFTLEtBQUssU0FBUyxDQUFDLFFBQVE7Z0JBQUUsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDO1NBQ3RFO1FBQ0QsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLElBQWtCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDOytHQXBDVSxhQUFhO21HQUFiLGFBQWEsK1FDckIxQixvd0RBOENBLHVPRDdCSSxZQUFZLGdRQUFFLGNBQWMsMEVBQUUsa0JBQWtCLHdMQUNoRCxzQkFBc0IsNkhBQUUsZUFBZSxtR0FBRSxXQUFXLHdtQkFBRSxtQkFBbUI7O1NBR2hFLGFBQWE7NEZBQWIsYUFBYTtrQkFWekIsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUdQO3dCQUNQLFlBQVksRUFBRSxjQUFjLEVBQUUsa0JBQWtCO3dCQUNoRCxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLG1CQUFtQjtxQkFDMUU7OEJBR1EsU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW5wdXRHcm91cFR5cGUsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9lbnVtJztcbmltcG9ydCB7IHNlbGVjdGlvbklucHV0VHlwZXMsIHRleHR1YWxJbnB1dFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9jb25zdGFudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvc2VsZWN0aW9uL3NlbGVjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVNlbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2ZpbGUtc2VsZWN0aW9uL2ZpbGUtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQnV0dG9uQ29uZmlnLCBJSW5wdXRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLCBJbnB1dENvbXBvbmVudCwgU2VsZWN0aW9uQ29tcG9uZW50LFxuICAgIEZpbGVTZWxlY3Rpb25Db21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBpbnB1dENvbmZpZ3M6IEFycmF5PElJbnB1dENvbmZpZz4gPSBbXTtcbiAgQElucHV0KCkgYnV0dG9uQ29uZmlnOiBJQnV0dG9uQ29uZmlnID0geyBsYWJlbDogXCJTdWJtaXRcIiB9O1xuICBASW5wdXQoKSB2YWxpZGF0aW9uTWVzc2FnZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICBAT3V0cHV0KCkgZm9ybVN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZm9ybUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBjb250cm9sTmFtZTogc3RyaW5nOyB2YWx1ZTogYW55IH0+KCk7XG5cbiAgLy8g4pyFIEV4cG9zZSBJbnB1dEdyb3VwVHlwZSB0byB0aGUgdGVtcGxhdGVcbiAgSW5wdXRHcm91cFR5cGUgPSBJbnB1dEdyb3VwVHlwZTtcblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIHRoaXMuZm9ybVN1Ym1pdC5lbWl0KHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ0Zvcm0gbm90IHZhbGlkJyk7XG4gICAgfVxuICB9XG5cbiAgb25WYWx1ZUNoYW5nZShjb250cm9sTmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5mb3JtQ2hhbmdlLmVtaXQoeyBjb250cm9sTmFtZSwgdmFsdWUgfSk7XG4gIH1cblxuICBjaGVja0Zvcm1Db25maWdUeXBlKGlucHV0VHlwZTogSW5wdXRUeXBlIHwgdW5kZWZpbmVkKTogSW5wdXRHcm91cFR5cGUge1xuICAgIGlmIChpbnB1dFR5cGUpIHtcbiAgICAgIGlmICh0ZXh0dWFsSW5wdXRUeXBlcy5pbmNsdWRlcyhpbnB1dFR5cGUpKSByZXR1cm4gSW5wdXRHcm91cFR5cGUudGV4dHVhbDtcbiAgICAgIGlmIChzZWxlY3Rpb25JbnB1dFR5cGVzLmluY2x1ZGVzKGlucHV0VHlwZSkpIHJldHVybiBJbnB1dEdyb3VwVHlwZS5zZWxlY3Rpb247XG4gICAgICBpZiAoaW5wdXRUeXBlID09PSBJbnB1dFR5cGUuZmlsZSkgcmV0dXJuIElucHV0R3JvdXBUeXBlLmZpbGU7XG4gICAgICBpZiAoaW5wdXRUeXBlID09PSBJbnB1dFR5cGUuZGF0ZXRpbWUpIHJldHVybiBJbnB1dEdyb3VwVHlwZS5kYXRldGltZTtcbiAgICB9XG4gICAgcmV0dXJuIElucHV0R3JvdXBUeXBlLnRleHR1YWw7XG4gIH1cblxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogSUlucHV0Q29uZmlnKSB7XG4gICAgcmV0dXJuIGl0ZW0ubmFtZTtcbiAgfVxufVxuIiwiPGZvcm0gKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXRDb25maWdzICYmIGlucHV0Q29uZmlncy5sZW5ndGggPiAwOyBlbHNlIG5vSW5wdXRzXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaW5wdXRDb25maWcgb2YgaW5wdXRDb25maWdzOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cblxuICAgICAgPCEtLSBJbnB1dCBGaWVsZCAtLT5cbiAgICAgIDxhcHAtaW5wdXRcbiAgICAgICAgKm5nSWY9XCJjaGVja0Zvcm1Db25maWdUeXBlKGlucHV0Q29uZmlnLnR5cGUpID09PSBJbnB1dEdyb3VwVHlwZS50ZXh0dWFsXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpbnB1dENvbmZpZy5uYW1lXCJcbiAgICAgICAgW2NvbmZpZ109XCJpbnB1dENvbmZpZ1wiXG4gICAgICAgIFtyZXF1aXJlZF09XCJpbnB1dENvbmZpZy5yZXF1aXJlZFwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKGlucHV0Q29uZmlnLm5hbWUsICRldmVudClcIj5cbiAgICAgIDwvYXBwLWlucHV0PlxuXG4gICAgICA8IS0tIFNlbGVjdGlvbiBGaWVsZCAtLT5cbiAgICAgIDxhcHAtc2VsZWN0aW9uXG4gICAgICAgICpuZ0lmPVwiY2hlY2tGb3JtQ29uZmlnVHlwZShpbnB1dENvbmZpZy50eXBlKSA9PT0gSW5wdXRHcm91cFR5cGUuc2VsZWN0aW9uXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpbnB1dENvbmZpZy5uYW1lXCJcbiAgICAgICAgW2xhYmVsXT1cImlucHV0Q29uZmlnLmxhYmVsID8/ICcnXCJcbiAgICAgICAgW29wdGlvbnNdPVwiaW5wdXRDb25maWcub3B0aW9uc1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKGlucHV0Q29uZmlnLm5hbWUsICRldmVudClcIj5cbiAgICAgIDwvYXBwLXNlbGVjdGlvbj5cblxuICAgICAgPCEtLSBGaWxlIFNlbGVjdGlvbiAtLT5cbiAgICAgIDxhcHAtZmlsZS1zZWxlY3Rpb25cbiAgICAgICAgKm5nSWY9XCJjaGVja0Zvcm1Db25maWdUeXBlKGlucHV0Q29uZmlnLnR5cGUpID09PSBJbnB1dEdyb3VwVHlwZS5maWxlXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpbnB1dENvbmZpZy5uYW1lXCJcbiAgICAgICAgW2xhYmVsXT1cImlucHV0Q29uZmlnLmxhYmVsID8/IGlucHV0Q29uZmlnLm5hbWVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZShpbnB1dENvbmZpZy5uYW1lLCAkZXZlbnQpXCI+XG4gICAgICA8L2FwcC1maWxlLXNlbGVjdGlvbj5cblxuICAgICAgPCEtLSBWYWxpZGF0aW9uIE1lc3NhZ2VzIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1Hcm91cC5jb250cm9sc1tpbnB1dENvbmZpZy5uYW1lXT8uaW52YWxpZCAmJiBmb3JtR3JvdXAuY29udHJvbHNbaW5wdXRDb25maWcubmFtZV0/LnRvdWNoZWRcIiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5cbiAgICAgICAge3sgdmFsaWRhdGlvbk1lc3NhZ2VzW2lucHV0Q29uZmlnLm5hbWVdIHx8ICdJbnZhbGlkIGlucHV0JyB9fVxuICAgICAgPC9kaXY+XG5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBTdWJtaXQgQnV0dG9uIC0tPlxuICA8YXBwLWJ1dHRvbiBbY29uZmlnXT1cImJ1dHRvbkNvbmZpZ1wiPjwvYXBwLWJ1dHRvbj5cbjwvZm9ybT5cblxuPCEtLSBObyBJbnB1dHMgUGxhY2Vob2xkZXIgLS0+XG48bmctdGVtcGxhdGUgI25vSW5wdXRzPlxuICA8cD5ObyBpbnB1dHMgY29uZmlndXJlZC48L3A+XG48L25nLXRlbXBsYXRlPlxuIl19