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.
- package/esm2022/lib/angular-dumb-lib.component.mjs +9 -9
- package/esm2022/lib/angular-dumb-lib.module.mjs +1 -1
- package/esm2022/lib/components/atoms/button/button.component.mjs +3 -3
- package/esm2022/lib/components/atoms/input/input.component.mjs +3 -3
- package/esm2022/lib/components/atoms/loading/loading.component.mjs +5 -5
- package/esm2022/lib/components/atoms/menu-widget/menu-widget.component.mjs +4 -4
- package/esm2022/lib/components/atoms/selection/selection.component.mjs +1 -1
- package/esm2022/lib/components/molecules/cards/cards.component.mjs +3 -3
- package/esm2022/lib/components/molecules/content-design/content-design.component.mjs +3 -3
- package/esm2022/lib/components/molecules/form/form.component.mjs +18 -16
- package/esm2022/lib/components/molecules/formated-text/formated-text.component.mjs +3 -3
- package/esm2022/lib/components/molecules/modal/modal.component.mjs +7 -3
- package/esm2022/lib/components/molecules/paginator/paginator.component.mjs +5 -4
- package/esm2022/lib/components/molecules/table/table.component.mjs +3 -3
- package/esm2022/lib/components/pages/footer/footer.component.mjs +3 -3
- package/esm2022/lib/components/pages/login/login.component.mjs +3 -5
- package/esm2022/lib/components/pages/menu/menu.component.mjs +32 -7
- package/esm2022/lib/shared/constants/constant.mjs +1 -1
- package/esm2022/lib/shared/enums/enum.mjs +15 -9
- package/esm2022/lib/shared/interfaces/interface.mjs +1 -1
- package/esm2022/lib/shared/utils/common.utils.mjs +34 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/angular-dumb-lib.mjs +135 -67
- package/fesm2022/angular-dumb-lib.mjs.map +1 -1
- package/lib/components/atoms/loading/loading.component.d.ts +2 -2
- package/lib/components/atoms/menu-widget/menu-widget.component.d.ts +2 -1
- package/lib/components/molecules/form/form.component.d.ts +2 -0
- package/lib/components/molecules/modal/modal.component.d.ts +3 -1
- package/lib/components/pages/menu/menu.component.d.ts +13 -4
- package/lib/shared/enums/enum.d.ts +6 -1
- package/lib/shared/interfaces/interface.d.ts +11 -2
- package/lib/shared/utils/common.utils.d.ts +9 -0
- package/package.json +1 -1
- package/src/lib/assets/styles.scss +12 -12
- package/esm2022/lib/components/atoms/formated-text/formated-text.component.mjs +0 -22
- 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,
|
|
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,
|
|
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\
|
|
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\
|
|
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,
|
|
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\">\
|
|
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\">\
|
|
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,
|
|
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 {
|
|
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 =
|
|
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\">\
|
|
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\">\
|
|
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,
|
|
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 = {
|
|
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,
|
|
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,
|
|
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\">\
|
|
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\">\
|
|
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,
|
|
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\">\
|
|
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\">\
|
|
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,
|
|
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.
|
|
16
|
-
|
|
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()\"
|
|
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: [
|
|
57
|
-
|
|
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,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWR1bWItbGliL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZm9ybS9mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZHVtYi1saWIvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9mb3JtL2Zvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQWEsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFN0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztBQUV0RSxNQVVhLGFBQWE7SUFWMUI7UUFZVyxpQkFBWSxHQUF3QixFQUFFLENBQUM7UUFDdkMsaUJBQVksR0FBa0IsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDbEQsdUJBQWtCLEdBQThCLEVBQUUsQ0FBQztRQUVsRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNyQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVDLENBQUM7UUFFL0UsMENBQTBDO1FBQzFDLG1CQUFjLEdBQUcsY0FBYyxDQUFDO0tBMkJqQztJQXpCQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLFdBQW1CLEVBQUUsS0FBVTtRQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxTQUFnQztRQUNsRCxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztnQkFBRSxPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUM7WUFDekUsSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2dCQUFFLE9BQU8sY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUM3RSxJQUFJLFNBQVMsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFBRSxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUM7WUFDN0QsSUFBSSxTQUFTLEtBQUssU0FBUyxDQUFDLFFBQVE7Z0JBQUUsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDO1NBQ3RFO1FBQ0QsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLElBQWtCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDOytHQXBDVSxhQUFhO21HQUFiLGFBQWEsK1FDckIxQixvd0RBOENBLHVPRDdCSSxZQUFZLGdRQUFFLGNBQWMsMEVBQUUsa0JBQWtCLHdMQUNoRCxzQkFBc0IsNkhBQUUsZUFBZSxtR0FBRSxXQUFXLHdtQkFBRSxtQkFBbUI7O1NBR2hFLGFBQWE7NEZBQWIsYUFBYTtrQkFWekIsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUdQO3dCQUNQLFlBQVksRUFBRSxjQUFjLEVBQUUsa0JBQWtCO3dCQUNoRCxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLG1CQUFtQjtxQkFDMUU7OEJBR1EsU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW5wdXRHcm91cFR5cGUsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9lbnVtJztcbmltcG9ydCB7IHNlbGVjdGlvbklucHV0VHlwZXMsIHRleHR1YWxJbnB1dFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9jb25zdGFudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvc2VsZWN0aW9uL3NlbGVjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVNlbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2ZpbGUtc2VsZWN0aW9uL2ZpbGUtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQnV0dG9uQ29uZmlnLCBJSW5wdXRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLCBJbnB1dENvbXBvbmVudCwgU2VsZWN0aW9uQ29tcG9uZW50LFxuICAgIEZpbGVTZWxlY3Rpb25Db21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBpbnB1dENvbmZpZ3M6IEFycmF5PElJbnB1dENvbmZpZz4gPSBbXTtcbiAgQElucHV0KCkgYnV0dG9uQ29uZmlnOiBJQnV0dG9uQ29uZmlnID0geyBsYWJlbDogXCJTdWJtaXRcIiB9O1xuICBASW5wdXQoKSB2YWxpZGF0aW9uTWVzc2FnZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICBAT3V0cHV0KCkgZm9ybVN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZm9ybUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBjb250cm9sTmFtZTogc3RyaW5nOyB2YWx1ZTogYW55IH0+KCk7XG5cbiAgLy8g4pyFIEV4cG9zZSBJbnB1dEdyb3VwVHlwZSB0byB0aGUgdGVtcGxhdGVcbiAgSW5wdXRHcm91cFR5cGUgPSBJbnB1dEdyb3VwVHlwZTtcblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIHRoaXMuZm9ybVN1Ym1pdC5lbWl0KHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ0Zvcm0gbm90IHZhbGlkJyk7XG4gICAgfVxuICB9XG5cbiAgb25WYWx1ZUNoYW5nZShjb250cm9sTmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5mb3JtQ2hhbmdlLmVtaXQoeyBjb250cm9sTmFtZSwgdmFsdWUgfSk7XG4gIH1cblxuICBjaGVja0Zvcm1Db25maWdUeXBlKGlucHV0VHlwZTogSW5wdXRUeXBlIHwgdW5kZWZpbmVkKTogSW5wdXRHcm91cFR5cGUge1xuICAgIGlmIChpbnB1dFR5cGUpIHtcbiAgICAgIGlmICh0ZXh0dWFsSW5wdXRUeXBlcy5pbmNsdWRlcyhpbnB1dFR5cGUpKSByZXR1cm4gSW5wdXRHcm91cFR5cGUudGV4dHVhbDtcbiAgICAgIGlmIChzZWxlY3Rpb25JbnB1dFR5cGVzLmluY2x1ZGVzKGlucHV0VHlwZSkpIHJldHVybiBJbnB1dEdyb3VwVHlwZS5zZWxlY3Rpb247XG4gICAgICBpZiAoaW5wdXRUeXBlID09PSBJbnB1dFR5cGUuZmlsZSkgcmV0dXJuIElucHV0R3JvdXBUeXBlLmZpbGU7XG4gICAgICBpZiAoaW5wdXRUeXBlID09PSBJbnB1dFR5cGUuZGF0ZXRpbWUpIHJldHVybiBJbnB1dEdyb3VwVHlwZS5kYXRldGltZTtcbiAgICB9XG4gICAgcmV0dXJuIElucHV0R3JvdXBUeXBlLnRleHR1YWw7XG4gIH1cblxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogSUlucHV0Q29uZmlnKSB7XG4gICAgcmV0dXJuIGl0ZW0ubmFtZTtcbiAgfVxufVxuIiwiPGZvcm0gKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXRDb25maWdzICYmIGlucHV0Q29uZmlncy5sZW5ndGggPiAwOyBlbHNlIG5vSW5wdXRzXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaW5wdXRDb25maWcgb2YgaW5wdXRDb25maWdzOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cblxuICAgICAgPCEtLSBJbnB1dCBGaWVsZCAtLT5cbiAgICAgIDxhcHAtaW5wdXRcbiAgICAgICAgKm5nSWY9XCJjaGVja0Zvcm1Db25maWdUeXBlKGlucHV0Q29uZmlnLnR5cGUpID09PSBJbnB1dEdyb3VwVHlwZS50ZXh0dWFsXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpbnB1dENvbmZpZy5uYW1lXCJcbiAgICAgICAgW2NvbmZpZ109XCJpbnB1dENvbmZpZ1wiXG4gICAgICAgIFtyZXF1aXJlZF09XCJpbnB1dENvbmZpZy5yZXF1aXJlZFwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKGlucHV0Q29uZmlnLm5hbWUsICRldmVudClcIj5cbiAgICAgIDwvYXBwLWlucHV0PlxuXG4gICAgICA8IS0tIFNlbGVjdGlvbiBGaWVsZCAtLT5cbiAgICAgIDxhcHAtc2VsZWN0aW9uXG4gICAgICAgICpuZ0lmPVwiY2hlY2tGb3JtQ29uZmlnVHlwZShpbnB1dENvbmZpZy50eXBlKSA9PT0gSW5wdXRHcm91cFR5cGUuc2VsZWN0aW9uXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpbnB1dENvbmZpZy5uYW1lXCJcbiAgICAgICAgW2xhYmVsXT1cImlucHV0Q29uZmlnLmxhYmVsID8/ICcnXCJcbiAgICAgICAgW29wdGlvbnNdPVwiaW5wdXRDb25maWcub3B0aW9uc1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKGlucHV0Q29uZmlnLm5hbWUsICRldmVudClcIj5cbiAgICAgIDwvYXBwLXNlbGVjdGlvbj5cblxuICAgICAgPCEtLSBGaWxlIFNlbGVjdGlvbiAtLT5cbiAgICAgIDxhcHAtZmlsZS1zZWxlY3Rpb25cbiAgICAgICAgKm5nSWY9XCJjaGVja0Zvcm1Db25maWdUeXBlKGlucHV0Q29uZmlnLnR5cGUpID09PSBJbnB1dEdyb3VwVHlwZS5maWxlXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpbnB1dENvbmZpZy5uYW1lXCJcbiAgICAgICAgW2xhYmVsXT1cImlucHV0Q29uZmlnLmxhYmVsID8/IGlucHV0Q29uZmlnLm5hbWVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZShpbnB1dENvbmZpZy5uYW1lLCAkZXZlbnQpXCI+XG4gICAgICA8L2FwcC1maWxlLXNlbGVjdGlvbj5cblxuICAgICAgPCEtLSBWYWxpZGF0aW9uIE1lc3NhZ2VzIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1Hcm91cC5jb250cm9sc1tpbnB1dENvbmZpZy5uYW1lXT8uaW52YWxpZCAmJiBmb3JtR3JvdXAuY29udHJvbHNbaW5wdXRDb25maWcubmFtZV0/LnRvdWNoZWRcIiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5cbiAgICAgICAge3sgdmFsaWRhdGlvbk1lc3NhZ2VzW2lucHV0Q29uZmlnLm5hbWVdIHx8ICdJbnZhbGlkIGlucHV0JyB9fVxuICAgICAgPC9kaXY+XG5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBTdWJtaXQgQnV0dG9uIC0tPlxuICA8YXBwLWJ1dHRvbiBbY29uZmlnXT1cImJ1dHRvbkNvbmZpZ1wiPjwvYXBwLWJ1dHRvbj5cbjwvZm9ybT5cblxuPCEtLSBObyBJbnB1dHMgUGxhY2Vob2xkZXIgLS0+XG48bmctdGVtcGxhdGUgI25vSW5wdXRzPlxuICA8cD5ObyBpbnB1dHMgY29uZmlndXJlZC48L3A+XG48L25nLXRlbXBsYXRlPlxuIl19
|