@indice/ng-components 0.2.173-beta.10 → 0.2.173-beta.14
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/_styles.scss +17 -0
- package/esm2020/lib/controls/content-tile/content-tile.component.mjs +7 -6
- package/esm2020/lib/controls/progress-bar/progress-bar.component.mjs +9 -3
- package/esm2020/lib/controls/stats-grid/stats-grid.component.mjs +3 -3
- package/fesm2015/indice-ng-components.mjs +16 -9
- package/fesm2015/indice-ng-components.mjs.map +1 -1
- package/fesm2020/indice-ng-components.mjs +16 -9
- package/fesm2020/indice-ng-components.mjs.map +1 -1
- package/lib/controls/content-tile/content-tile.component.d.ts +2 -2
- package/lib/controls/progress-bar/progress-bar.component.d.ts +3 -1
- package/package.json +1 -1
package/_styles.scss
CHANGED
|
@@ -4253,6 +4253,23 @@
|
|
|
4253
4253
|
@apply ml-1.5 rounded py-0.5 px-1.5 bg-gray-200 text-xs text-gray-700 tabular-nums;
|
|
4254
4254
|
}
|
|
4255
4255
|
|
|
4256
|
+
.progress-bar-container {
|
|
4257
|
+
@apply flex grid grid-cols-1;
|
|
4258
|
+
}
|
|
4259
|
+
|
|
4260
|
+
.progress-bar-label {
|
|
4261
|
+
@apply text-xs mt-2 truncate text-ellipsis;
|
|
4262
|
+
}
|
|
4263
|
+
|
|
4264
|
+
.progress-bar-backdrop {
|
|
4265
|
+
@apply flex mt-1 h-4 rounded-md backdrop-blur-sm bg-slate-200/25;
|
|
4266
|
+
}
|
|
4267
|
+
|
|
4268
|
+
.progress-bar-inner {
|
|
4269
|
+
@apply h-2 m-1 rounded-md bg-sky-200 transition-[width] ease duration-300 transform;
|
|
4270
|
+
}
|
|
4271
|
+
|
|
4272
|
+
|
|
4256
4273
|
|
|
4257
4274
|
.modal-active {
|
|
4258
4275
|
overflow: hidden;
|
|
@@ -9,7 +9,7 @@ export class ContentTileComponent {
|
|
|
9
9
|
this.router = router;
|
|
10
10
|
this.title = undefined;
|
|
11
11
|
this.busy = false;
|
|
12
|
-
this.
|
|
12
|
+
this.showAction = true;
|
|
13
13
|
this.showFooter = true;
|
|
14
14
|
this.actionText = 'Περισσότερα';
|
|
15
15
|
// tslint:disable-next-line:no-output-rename
|
|
@@ -33,16 +33,17 @@ export class ContentTileComponent {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
ContentTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ContentTileComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
ContentTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ContentTileComponent, selector: "lib-content-tile", inputs: { title: "title", busy: "busy",
|
|
36
|
+
ContentTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ContentTileComponent, selector: "lib-content-tile", inputs: { title: "title", busy: "busy", showAction: ["show-action", "showAction"], showFooter: ["show-footer", "showFooter"], actionText: ["action-text", "actionText"] }, outputs: { tileAction: "tile-action" }, queries: [{ propertyName: "header", first: true, predicate: ContentTileHeaderComponent, descendants: true }, { propertyName: "items", predicate: ContentTileItemComponent, read: ContentTileItemComponent }], ngImport: i0, template: "<div class=\"card\" [class.card-deck-busy]=\"busy\">\r\n <div class=\"card-body\">\r\n <div class=\"kpi-tile-title-container flex align-top\">\r\n <a *ngIf=\"!header\" href=\"#\"\r\n class=\"kpi-tile-action flex-1\" (click)=\"emitTileAction($event)\">{{title || '-'}}</a>\r\n <ng-container *ngIf=\"header\">\r\n <div class=\"flex-1\">\r\n <ng-template [ngTemplateOutlet]=\"header.template\"></ng-template>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"showAction\" class=\"float-right align-top\">\r\n <a href=\"#\" class=\"text-xs\" (click)=\"emitTileAction($event)\">{{actionText}}</a>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center\" *ngIf=\"itemTemplates\">\r\n <ng-template [ngTemplateOutlet]=\"itemTemplates[selectedIndex].template\"></ng-template>\r\n </div>\r\n <div class=\"tile-card-footer opacity-25 hover:opacity-75\" *ngIf=\"itemTemplates && itemTemplates.length>1\">\r\n <nav class=\"flex items-center justify-between px-4 sm:px-0\">\r\n <div class=\"flex w-0 flex-1\"></div>\r\n <div class=\"flex items-center justify-between px-2\">\r\n <ng-container *ngFor=\"let item of itemTemplates; index as i\">\r\n <button type=\"button\"\r\n (click)=\"selectedIndex=i\"\r\n [disabled]=\"selectedIndex===i\"\r\n class=\"inline-flex mx-1 items-center rounded-full border border-transparent p-1 text-white shadow-sm hover:bg-slate-700 focus:outline-none\"\r\n [class.bg-slate-500]=\"selectedIndex!==i\"\r\n [class.bg-slate-700]=\"selectedIndex===i\"\r\n [class.ring-slate-700]=\"selectedIndex===i\"\r\n [class.ring-offset-1]=\"selectedIndex===i\"\r\n [class.ring-1]=\"selectedIndex===i\">\r\n </button>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex w-0 flex-1 justify-end\"></div>\r\n </nav>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ContentTileComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
|
-
args: [{ selector: 'lib-content-tile', template: "<div class=\"card\" [class.card-deck-busy]=\"busy\">\r\n <div class=\"card-body\">\r\n <div class=\"kpi-tile-title-container flex align-top\">\r\n <a *ngIf=\"!header\" href=\"#\"\r\n class=\"kpi-tile-action flex-1\" (click)=\"emitTileAction($event)\">{{title || '-'}}</a>\r\n <ng-container *ngIf=\"header\">\r\n <div class=\"flex-1\">\r\n <ng-template [ngTemplateOutlet]=\"header.template\"></ng-template>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"
|
|
39
|
+
args: [{ selector: 'lib-content-tile', template: "<div class=\"card\" [class.card-deck-busy]=\"busy\">\r\n <div class=\"card-body\">\r\n <div class=\"kpi-tile-title-container flex align-top\">\r\n <a *ngIf=\"!header\" href=\"#\"\r\n class=\"kpi-tile-action flex-1\" (click)=\"emitTileAction($event)\">{{title || '-'}}</a>\r\n <ng-container *ngIf=\"header\">\r\n <div class=\"flex-1\">\r\n <ng-template [ngTemplateOutlet]=\"header.template\"></ng-template>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"showAction\" class=\"float-right align-top\">\r\n <a href=\"#\" class=\"text-xs\" (click)=\"emitTileAction($event)\">{{actionText}}</a>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center\" *ngIf=\"itemTemplates\">\r\n <ng-template [ngTemplateOutlet]=\"itemTemplates[selectedIndex].template\"></ng-template>\r\n </div>\r\n <div class=\"tile-card-footer opacity-25 hover:opacity-75\" *ngIf=\"itemTemplates && itemTemplates.length>1\">\r\n <nav class=\"flex items-center justify-between px-4 sm:px-0\">\r\n <div class=\"flex w-0 flex-1\"></div>\r\n <div class=\"flex items-center justify-between px-2\">\r\n <ng-container *ngFor=\"let item of itemTemplates; index as i\">\r\n <button type=\"button\"\r\n (click)=\"selectedIndex=i\"\r\n [disabled]=\"selectedIndex===i\"\r\n class=\"inline-flex mx-1 items-center rounded-full border border-transparent p-1 text-white shadow-sm hover:bg-slate-700 focus:outline-none\"\r\n [class.bg-slate-500]=\"selectedIndex!==i\"\r\n [class.bg-slate-700]=\"selectedIndex===i\"\r\n [class.ring-slate-700]=\"selectedIndex===i\"\r\n [class.ring-offset-1]=\"selectedIndex===i\"\r\n [class.ring-1]=\"selectedIndex===i\">\r\n </button>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex w-0 flex-1 justify-end\"></div>\r\n </nav>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
40
40
|
}], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { title: [{
|
|
41
41
|
type: Input
|
|
42
42
|
}], busy: [{
|
|
43
43
|
type: Input
|
|
44
|
-
}],
|
|
45
|
-
type: Input
|
|
44
|
+
}], showAction: [{
|
|
45
|
+
type: Input,
|
|
46
|
+
args: ['show-action']
|
|
46
47
|
}], showFooter: [{
|
|
47
48
|
type: Input,
|
|
48
49
|
args: ['show-footer']
|
|
@@ -59,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
|
59
60
|
type: ContentChild,
|
|
60
61
|
args: [ContentTileHeaderComponent]
|
|
61
62
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC10aWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9jb250ZW50LXRpbGUvY29udGVudC10aWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9jb250ZW50LXRpbGUvY29udGVudC10aWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFFdEksT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7QUFNM0YsTUFBTSxPQUFPLG9CQUFvQjtJQXFCL0IsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFuQnpCLFVBQUssR0FBdUIsU0FBUyxDQUFDO1FBQ3RDLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDQSxlQUFVLEdBQXdCLElBQUksQ0FBQztRQUN2QyxlQUFVLEdBQXdCLElBQUksQ0FBQztRQUN2QyxlQUFVLEdBQVcsYUFBYSxDQUFDO1FBQ3pELDRDQUE0QztRQUNyQixlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDeEUsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFFbEIsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFRUyxXQUFNLEdBQTJDLFNBQVMsQ0FBQztJQUUvRCxDQUFDO0lBVHZDLElBQ0ksS0FBSyxDQUFDLElBQXlDO1FBQ2pELElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBTUQsUUFBUTtJQUNSLENBQUM7SUFFTSxjQUFjLENBQUMsTUFBVztRQUMvQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7aUhBL0JVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLCtTQW1CakIsMEJBQTBCLDJEQVB2Qix3QkFBd0IsUUFBVSx3QkFBd0IsNkJDckI3RSxzaEVBdUNBOzJGRDlCYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0Usa0JBQWtCOzZGQUtuQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNnQixVQUFVO3NCQUEvQixLQUFLO3VCQUFDLGFBQWE7Z0JBQ0UsVUFBVTtzQkFBL0IsS0FBSzt1QkFBQyxhQUFhO2dCQUNFLFVBQVU7c0JBQS9CLEtBQUs7dUJBQUMsYUFBYTtnQkFFRyxVQUFVO3NCQUFoQyxNQUFNO3VCQUFDLGFBQWE7Z0JBS2pCLEtBQUs7c0JBRFIsZUFBZTt1QkFBQyx3QkFBd0IsRUFBRSxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRTtnQkFPbkMsTUFBTTtzQkFBL0MsWUFBWTt1QkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDb250ZW50VGlsZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC10aWxlLWhlYWRlci9jb250ZW50LXRpbGUtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbnRlbnRUaWxlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC10aWxlLWl0ZW0vY29udGVudC10aWxlLWl0ZW0uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNvbnRlbnQtdGlsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQtdGlsZS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRlbnRUaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBidXN5ID0gZmFsc2U7XHJcbiAgQElucHV0KCdzaG93LWFjdGlvbicpIHNob3dBY3Rpb246IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgnc2hvdy1mb290ZXInKSBzaG93Rm9vdGVyOiBib29sZWFuIHwgdW5kZWZpbmVkID0gdHJ1ZTtcclxuICBASW5wdXQoJ2FjdGlvbi10ZXh0JykgYWN0aW9uVGV4dDogc3RyaW5nID0gJ86gzrXPgc65z4PPg8+Mz4TOtc+BzrEnO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtcmVuYW1lXHJcbiAgQE91dHB1dCgndGlsZS1hY3Rpb24nKSB0aWxlQWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHB1YmxpYyBzZWxlY3RlZEluZGV4ID0gMDtcclxuXHJcbiAgcHVibGljIGl0ZW1UZW1wbGF0ZXM6IGFueVtdID0gW107XHJcbiAgQENvbnRlbnRDaGlsZHJlbihDb250ZW50VGlsZUl0ZW1Db21wb25lbnQsIHsgcmVhZDogQ29udGVudFRpbGVJdGVtQ29tcG9uZW50IH0pXHJcbiAgc2V0IGl0ZW1zKHJlZnM6IFF1ZXJ5TGlzdDxDb250ZW50VGlsZUl0ZW1Db21wb25lbnQ+KSB7XHJcbiAgICBpZiAocmVmcykge1xyXG4gICAgICB0aGlzLml0ZW1UZW1wbGF0ZXMgPSByZWZzLnRvQXJyYXkoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoQ29udGVudFRpbGVIZWFkZXJDb21wb25lbnQpIGhlYWRlcjogQ29udGVudFRpbGVIZWFkZXJDb21wb25lbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVtaXRUaWxlQWN0aW9uKCRldmVudDogYW55KTogYm9vbGVhbiB7XHJcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMudGlsZUFjdGlvbi5lbWl0KCRldmVudCk7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIiBbY2xhc3MuY2FyZC1kZWNrLWJ1c3ldPVwiYnVzeVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJrcGktdGlsZS10aXRsZS1jb250YWluZXIgZmxleCBhbGlnbi10b3BcIj5cclxuICAgICAgPGEgKm5nSWY9XCIhaGVhZGVyXCIgaHJlZj1cIiNcIlxyXG4gICAgICAgICBjbGFzcz1cImtwaS10aWxlLWFjdGlvbiBmbGV4LTFcIiAoY2xpY2spPVwiZW1pdFRpbGVBY3Rpb24oJGV2ZW50KVwiPnt7dGl0bGUgfHwgJy0nfX08L2E+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC0xXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyLnRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJzaG93QWN0aW9uXCIgY2xhc3M9XCJmbG9hdC1yaWdodCBhbGlnbi10b3BcIj5cclxuICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwidGV4dC14c1wiIChjbGljayk9XCJlbWl0VGlsZUFjdGlvbigkZXZlbnQpXCI+e3thY3Rpb25UZXh0fX08L2E+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIiAqbmdJZj1cIml0ZW1UZW1wbGF0ZXNcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZXNbc2VsZWN0ZWRJbmRleF0udGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlsZS1jYXJkLWZvb3RlciBvcGFjaXR5LTI1IGhvdmVyOm9wYWNpdHktNzVcIiAqbmdJZj1cIml0ZW1UZW1wbGF0ZXMgJiYgaXRlbVRlbXBsYXRlcy5sZW5ndGg+MVwiPlxyXG4gICAgICA8bmF2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB4LTQgc206cHgtMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctMCBmbGV4LTFcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB4LTJcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbVRlbXBsYXRlczsgaW5kZXggYXMgaVwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZEluZGV4PWlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzZWxlY3RlZEluZGV4PT09aVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBteC0xIGl0ZW1zLWNlbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCBwLTEgdGV4dC13aGl0ZSBzaGFkb3ctc20gaG92ZXI6Ymctc2xhdGUtNzAwIGZvY3VzOm91dGxpbmUtbm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJnLXNsYXRlLTUwMF09XCJzZWxlY3RlZEluZGV4IT09aVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJnLXNsYXRlLTcwMF09XCJzZWxlY3RlZEluZGV4PT09aVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnJpbmctc2xhdGUtNzAwXT1cInNlbGVjdGVkSW5kZXg9PT1pXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MucmluZy1vZmZzZXQtMV09XCJzZWxlY3RlZEluZGV4PT09aVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnJpbmctMV09XCJzZWxlY3RlZEluZGV4PT09aVwiPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctMCBmbGV4LTEganVzdGlmeS1lbmRcIj48L2Rpdj5cclxuICAgICAgPC9uYXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -22,15 +22,21 @@ export class ProgressBarComponent {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
ProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ProgressBarComponent, selector: "lib-progress-bar", inputs: { value: "value", total: "total", text: "text" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"
|
|
25
|
+
ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ProgressBarComponent, selector: "lib-progress-bar", inputs: { value: "value", valueText: ["value-text", "valueText"], total: "total", totalText: ["total-text", "totalText"], text: "text" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"progress-bar-container\">\n <div class=\"progress-bar-label\">{{text}} {{valueText ?? value}}/{{totalText ?? total}}</div>\n <div class=\"progress-bar-backdrop\">\n <div class=\"progress-bar-inner\" [style]=\"'width:' + percentage + '%' \"></div>\n </div>\n </div>\n " });
|
|
26
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ProgressBarComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
|
-
args: [{ selector: 'lib-progress-bar', template: "<div class=\"
|
|
28
|
+
args: [{ selector: 'lib-progress-bar', template: "<div class=\"progress-bar-container\">\n <div class=\"progress-bar-label\">{{text}} {{valueText ?? value}}/{{totalText ?? total}}</div>\n <div class=\"progress-bar-backdrop\">\n <div class=\"progress-bar-inner\" [style]=\"'width:' + percentage + '%' \"></div>\n </div>\n </div>\n " }]
|
|
29
29
|
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
30
30
|
type: Input
|
|
31
|
+
}], valueText: [{
|
|
32
|
+
type: Input,
|
|
33
|
+
args: ['value-text']
|
|
31
34
|
}], total: [{
|
|
32
35
|
type: Input
|
|
36
|
+
}], totalText: [{
|
|
37
|
+
type: Input,
|
|
38
|
+
args: ['total-text']
|
|
33
39
|
}], text: [{
|
|
34
40
|
type: Input
|
|
35
41
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7QUFNM0UsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQjtRQVBTLFVBQUssR0FBVyxDQUFDLENBQUM7UUFFbEIsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUVsQixTQUFJLEdBQXVCLFNBQVMsQ0FBQztRQUN2QyxlQUFVLEdBQVcsQ0FBQyxDQUFDO0lBRzlCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ25EO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUNyQjtJQUNILENBQUM7O2lIQXZCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQix1TkNOakMsMFNBTUU7MkZEQVcsb0JBQW9CO2tCQUpoQyxTQUFTOytCQUNFLGtCQUFrQjswRUFJbkIsS0FBSztzQkFBYixLQUFLO2dCQUNlLFNBQVM7c0JBQTdCLEtBQUs7dUJBQUMsWUFBWTtnQkFDVixLQUFLO3NCQUFiLEtBQUs7Z0JBQ2UsU0FBUztzQkFBN0IsS0FBSzt1QkFBQyxZQUFZO2dCQUNWLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItcHJvZ3Jlc3MtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyID0gMDtcbiAgQElucHV0KCd2YWx1ZS10ZXh0JykgdmFsdWVUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHRvdGFsOiBudW1iZXIgPSAwO1xuICBASW5wdXQoJ3RvdGFsLXRleHQnKSB0b3RhbFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBwdWJsaWMgcGVyY2VudGFnZTogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy52YWx1ZSB8fCBjaGFuZ2VzLnRvdGFsKSB7XG4gICAgICB0aGlzLmNhbGNQZXJjZW50YWdlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYWxjUGVyY2VudGFnZSgpIHtcbiAgICBpZiAodGhpcy50b3RhbCA+IDApIHtcbiAgICAgIHRoaXMucGVyY2VudGFnZSA9ICh0aGlzLnZhbHVlIC8gdGhpcy50b3RhbCkgKiAxMDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGVyY2VudGFnZSA9IDA7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1iYXItbGFiZWxcIj57e3RleHR9fSB7e3ZhbHVlVGV4dCA/PyB2YWx1ZX19L3t7dG90YWxUZXh0ID8/IHRvdGFsfX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyLWJhY2tkcm9wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyLWlubmVyXCIgW3N0eWxlXT1cIid3aWR0aDonICsgcGVyY2VudGFnZSArICclJyBcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gICJdfQ==
|
|
@@ -29,10 +29,10 @@ export class StatsGridComponent {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
StatsGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: StatsGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
-
StatsGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: StatsGridComponent, selector: "lib-stats-grid", inputs: { busy: "busy", count: "count", mode: "mode", labels: "labels", values: "values", colors: "colors" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!busy\">\n <ul role=\"list\" class=\"grid gap-1\"\n [class.grid-cols-
|
|
32
|
+
StatsGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: StatsGridComponent, selector: "lib-stats-grid", inputs: { busy: "busy", count: "count", mode: "mode", labels: "labels", values: "values", colors: "colors" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!busy\">\n <ul role=\"list\" class=\"grid gap-1\"\n [class.grid-cols-4]=\"mode==='normal'\"\n [class.grid-flow-col]=\"mode!=='normal'\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <li class=\"col-span-1 flex pb-2\" *ngIf=\"mode==='normal'\">\n <div class=\"grid-cols-1 border-l-2 px-1\" [style]=\"'border-color:' + colors[i]\">\n <div class=\"text-xs text-ellipsis overflow-hidden\">{{labels[i]}}</div>\n <div *ngIf=\"isNumber(values[i])\" class=\"font-medium text-sm md:text-lg text-ellipsis overflow-hidden\">{{values[i] | number:'1.0-2':'el'}}</div>\n <div *ngIf=\"!isNumber(values[i])\" class=\"font-medium text-sm md:text-lg text-ellipsis overflow-hidden\">{{values[i]}}</div>\n </div>\n </li>\n <li class=\"col-span-1 flex pb-2\" *ngIf=\"mode!=='normal'\">\n <div class=\"grid-cols-1 border-l-2 pl-1 pr-2\" [style]=\"'border-color:' + colors[i]\">\n <div *ngIf=\"isNumber(values[i])\" class=\"font-medium text-xs lg:text-sm text-ellipsis overflow-hidden\">{{values[i] | number:'1.0-2':'el'}}</div>\n <div *ngIf=\"!isNumber(values[i])\" class=\"font-medium text-xs lg:text-sm text-ellipsis overflow-hidden\">{{values[i]}}</div>\n <div class=\"text-xs max-w-18 lg:w-auto truncate text-ellipsis overflow-hidden\">{{labels[i]}}</div>\n </div>\n </li>\n </ng-container>\n </ul>\n </div>\n <div *ngIf=\"busy\">\n <ul role=\"list\" class=\"grid gap-1\"\n [class.grid-cols-4]=\"mode==='normal'\"\n [class.grid-flow-col]=\"mode!=='normal'\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <li class=\"animate-pulse col-span-1 flex pb-2\" *ngIf=\"mode==='normal'\">\n <div class=\"grid-cols-1 border-l-2 px-1\" style=\"border-color:rgb(168, 162, 158, 0.2)\">\n <div class=\"rounded-md bg-slate-400/25 h-3 w-14\"></div>\n <div class=\"rounded-md bg-slate-400/25 mt-2 h-4 w-6\"></div>\n </div>\n </li>\n <li class=\"animate-pulse col-span-1 flex pb-2\" *ngIf=\"mode!=='normal'\">\n <div class=\"grid-cols-1 border-l-2 pl-1 pr-2\" style=\"border-color:rgb(168, 162, 158, 0.2)\">\n <div class=\"rounded-md bg-slate-400/25 h-3 w-14\"></div>\n <div class=\"rounded-md bg-slate-400/25 mt-2 h-4 w-6\"></div>\n </div>\n </li>\n </ng-container>\n </ul>\n </div> ", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }] });
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: StatsGridComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
|
-
args: [{ selector: 'lib-stats-grid', template: "<div *ngIf=\"!busy\">\n <ul role=\"list\" class=\"grid gap-1\"\n [class.grid-cols-
|
|
35
|
+
args: [{ selector: 'lib-stats-grid', template: "<div *ngIf=\"!busy\">\n <ul role=\"list\" class=\"grid gap-1\"\n [class.grid-cols-4]=\"mode==='normal'\"\n [class.grid-flow-col]=\"mode!=='normal'\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <li class=\"col-span-1 flex pb-2\" *ngIf=\"mode==='normal'\">\n <div class=\"grid-cols-1 border-l-2 px-1\" [style]=\"'border-color:' + colors[i]\">\n <div class=\"text-xs text-ellipsis overflow-hidden\">{{labels[i]}}</div>\n <div *ngIf=\"isNumber(values[i])\" class=\"font-medium text-sm md:text-lg text-ellipsis overflow-hidden\">{{values[i] | number:'1.0-2':'el'}}</div>\n <div *ngIf=\"!isNumber(values[i])\" class=\"font-medium text-sm md:text-lg text-ellipsis overflow-hidden\">{{values[i]}}</div>\n </div>\n </li>\n <li class=\"col-span-1 flex pb-2\" *ngIf=\"mode!=='normal'\">\n <div class=\"grid-cols-1 border-l-2 pl-1 pr-2\" [style]=\"'border-color:' + colors[i]\">\n <div *ngIf=\"isNumber(values[i])\" class=\"font-medium text-xs lg:text-sm text-ellipsis overflow-hidden\">{{values[i] | number:'1.0-2':'el'}}</div>\n <div *ngIf=\"!isNumber(values[i])\" class=\"font-medium text-xs lg:text-sm text-ellipsis overflow-hidden\">{{values[i]}}</div>\n <div class=\"text-xs max-w-18 lg:w-auto truncate text-ellipsis overflow-hidden\">{{labels[i]}}</div>\n </div>\n </li>\n </ng-container>\n </ul>\n </div>\n <div *ngIf=\"busy\">\n <ul role=\"list\" class=\"grid gap-1\"\n [class.grid-cols-4]=\"mode==='normal'\"\n [class.grid-flow-col]=\"mode!=='normal'\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <li class=\"animate-pulse col-span-1 flex pb-2\" *ngIf=\"mode==='normal'\">\n <div class=\"grid-cols-1 border-l-2 px-1\" style=\"border-color:rgb(168, 162, 158, 0.2)\">\n <div class=\"rounded-md bg-slate-400/25 h-3 w-14\"></div>\n <div class=\"rounded-md bg-slate-400/25 mt-2 h-4 w-6\"></div>\n </div>\n </li>\n <li class=\"animate-pulse col-span-1 flex pb-2\" *ngIf=\"mode!=='normal'\">\n <div class=\"grid-cols-1 border-l-2 pl-1 pr-2\" style=\"border-color:rgb(168, 162, 158, 0.2)\">\n <div class=\"rounded-md bg-slate-400/25 h-3 w-14\"></div>\n <div class=\"rounded-md bg-slate-400/25 mt-2 h-4 w-6\"></div>\n </div>\n </li>\n </ng-container>\n </ul>\n </div> " }]
|
|
36
36
|
}], ctorParameters: function () { return []; }, propDecorators: { busy: [{
|
|
37
37
|
type: Input
|
|
38
38
|
}], count: [{
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
|
|
|
46
46
|
}], colors: [{
|
|
47
47
|
type: Input
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvc3RhdHMtZ3JpZC9zdGF0cy1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9zdGF0cy1ncmlkL3N0YXRzLWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7QUFPM0UsTUFBTSxPQUFPLGtCQUFrQjtJQWE3QjtRQVpTLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1osV0FBTSxHQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2QyxTQUFJLEdBQVcsUUFBUSxDQUFDO1FBQ3hCLFdBQU0sR0FBYSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDcEQsV0FBTSxHQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoQyxXQUFNLEdBQWE7WUFDMUIsd0JBQXdCO1lBQ3hCLHlCQUF5QjtZQUN6Qix1QkFBdUI7U0FDeEIsQ0FBQztJQUdGLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN0QjtTQUNGO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFVO1FBQ3hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFBQSxDQUFDO0lBQ2hDLENBQUM7OytHQTNCVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix5TENQL0IsbThFQXlDVTsyRkRsQ0csa0JBQWtCO2tCQUo5QixTQUFTOytCQUNFLGdCQUFnQjswRUFJakIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItc3RhdHMtZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGF0cy1ncmlkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTdGF0c0dyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBidXN5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvdW50ID0gNjtcbiAgcHVibGljIGxvYWRlcjogYW55W10gPSBbJycsICcnLCAnJywgJycsICcnLCAnJ107XG4gIEBJbnB1dCgpIG1vZGU6IHN0cmluZyA9ICdub3JtYWwnO1xuICBASW5wdXQoKSBsYWJlbHM6IHN0cmluZ1tdID0gWydPbmxpbmUnLCAnT2ZmbGluZScsICdGYXVsdGVkJ107XG4gIEBJbnB1dCgpIHZhbHVlczogbnVtYmVyW10gPSBbMTAsIDIwLCAzMF07XG4gIEBJbnB1dCgpIGNvbG9yczogc3RyaW5nW10gPSBbXG4gICAgJ3JnYig1MywgMTc3LCAyMDEsIDAuNiknLFxuICAgICdyZ2IoMTY4LCAxNjIsIDE1OCwgMC4yKScsXG4gICAgJ3JnYigyMzMsIDk2LCA5NiwgMC44KSdcbiAgXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5jb3VudCkge1xuICAgICAgdGhpcy5sb2FkZXIgPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IHRoaXMuY291bnQ7IGkrKykge1xuICAgICAgICB0aGlzLmxvYWRlci5wdXNoKCcnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNOdW1iZXIodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhaXNOYU4oTnVtYmVyKHZhbHVlKSk7O1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiIWJ1c3lcIj5cbiAgICA8dWwgcm9sZT1cImxpc3RcIiBjbGFzcz1cImdyaWQgZ2FwLTFcIlxuICAgICAgICBbY2xhc3MuZ3JpZC1jb2xzLTRdPVwibW9kZT09PSdub3JtYWwnXCJcbiAgICAgICAgW2NsYXNzLmdyaWQtZmxvdy1jb2xdPVwibW9kZSE9PSdub3JtYWwnXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiB2YWx1ZXM7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgPGxpIGNsYXNzPVwiY29sLXNwYW4tMSBmbGV4IHBiLTJcIiAqbmdJZj1cIm1vZGU9PT0nbm9ybWFsJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWNvbHMtMSBib3JkZXItbC0yIHB4LTFcIiBbc3R5bGVdPVwiJ2JvcmRlci1jb2xvcjonICsgY29sb3JzW2ldXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC14cyB0ZXh0LWVsbGlwc2lzIG92ZXJmbG93LWhpZGRlblwiPnt7bGFiZWxzW2ldfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc051bWJlcih2YWx1ZXNbaV0pXCIgY2xhc3M9XCJmb250LW1lZGl1bSB0ZXh0LXNtIG1kOnRleHQtbGcgdGV4dC1lbGxpcHNpcyBvdmVyZmxvdy1oaWRkZW5cIj57e3ZhbHVlc1tpXSB8IG51bWJlcjonMS4wLTInOidlbCd9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFpc051bWJlcih2YWx1ZXNbaV0pXCIgY2xhc3M9XCJmb250LW1lZGl1bSB0ZXh0LXNtIG1kOnRleHQtbGcgdGV4dC1lbGxpcHNpcyBvdmVyZmxvdy1oaWRkZW5cIj57e3ZhbHVlc1tpXX19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBjbGFzcz1cImNvbC1zcGFuLTEgZmxleCBwYi0yXCIgKm5nSWY9XCJtb2RlIT09J25vcm1hbCdcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1jb2xzLTEgYm9yZGVyLWwtMiBwbC0xIHByLTJcIiBbc3R5bGVdPVwiJ2JvcmRlci1jb2xvcjonICsgY29sb3JzW2ldXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNOdW1iZXIodmFsdWVzW2ldKVwiIGNsYXNzPVwiZm9udC1tZWRpdW0gdGV4dC14cyBsZzp0ZXh0LXNtIHRleHQtZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuXCI+e3t2YWx1ZXNbaV0gfCBudW1iZXI6JzEuMC0yJzonZWwnfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNOdW1iZXIodmFsdWVzW2ldKVwiIGNsYXNzPVwiZm9udC1tZWRpdW0gdGV4dC14cyBsZzp0ZXh0LXNtIHRleHQtZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuXCI+e3t2YWx1ZXNbaV19fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQteHMgbWF4LXctMTggbGc6dy1hdXRvIHRydW5jYXRlIHRleHQtZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuXCI+e3tsYWJlbHNbaV19fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC91bD5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJidXN5XCI+XG4gICAgPHVsIHJvbGU9XCJsaXN0XCIgY2xhc3M9XCJncmlkIGdhcC0xXCJcbiAgICAgICAgW2NsYXNzLmdyaWQtY29scy00XT1cIm1vZGU9PT0nbm9ybWFsJ1wiXG4gICAgICAgIFtjbGFzcy5ncmlkLWZsb3ctY29sXT1cIm1vZGUhPT0nbm9ybWFsJ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgdmFsdWVzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgIDxsaSBjbGFzcz1cImFuaW1hdGUtcHVsc2UgY29sLXNwYW4tMSBmbGV4IHBiLTJcIiAqbmdJZj1cIm1vZGU9PT0nbm9ybWFsJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWNvbHMtMSBib3JkZXItbC0yIHB4LTFcIiBzdHlsZT1cImJvcmRlci1jb2xvcjpyZ2IoMTY4LCAxNjIsIDE1OCwgMC4yKVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtbWQgYmctc2xhdGUtNDAwLzI1IGgtMyB3LTE0XCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZC1tZCBiZy1zbGF0ZS00MDAvMjUgbXQtMiBoLTQgdy02XCI+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBjbGFzcz1cImFuaW1hdGUtcHVsc2UgY29sLXNwYW4tMSBmbGV4IHBiLTJcIiAqbmdJZj1cIm1vZGUhPT0nbm9ybWFsJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWNvbHMtMSBib3JkZXItbC0yIHBsLTEgcHItMlwiIHN0eWxlPVwiYm9yZGVyLWNvbG9yOnJnYigxNjgsIDE2MiwgMTU4LCAwLjIpXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZC1tZCBiZy1zbGF0ZS00MDAvMjUgaC0zIHctMTRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkLW1kIGJnLXNsYXRlLTQwMC8yNSBtdC0yIGgtNCB3LTZcIj48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG4gIDwvZGl2PiAgIl19
|
|
@@ -2583,7 +2583,7 @@ class ContentTileComponent {
|
|
|
2583
2583
|
this.router = router;
|
|
2584
2584
|
this.title = undefined;
|
|
2585
2585
|
this.busy = false;
|
|
2586
|
-
this.
|
|
2586
|
+
this.showAction = true;
|
|
2587
2587
|
this.showFooter = true;
|
|
2588
2588
|
this.actionText = 'Περισσότερα';
|
|
2589
2589
|
// tslint:disable-next-line:no-output-rename
|
|
@@ -2607,16 +2607,17 @@ class ContentTileComponent {
|
|
|
2607
2607
|
}
|
|
2608
2608
|
}
|
|
2609
2609
|
ContentTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ContentTileComponent, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
2610
|
-
ContentTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ContentTileComponent, selector: "lib-content-tile", inputs: { title: "title", busy: "busy",
|
|
2610
|
+
ContentTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ContentTileComponent, selector: "lib-content-tile", inputs: { title: "title", busy: "busy", showAction: ["show-action", "showAction"], showFooter: ["show-footer", "showFooter"], actionText: ["action-text", "actionText"] }, outputs: { tileAction: "tile-action" }, queries: [{ propertyName: "header", first: true, predicate: ContentTileHeaderComponent, descendants: true }, { propertyName: "items", predicate: ContentTileItemComponent, read: ContentTileItemComponent }], ngImport: i0, template: "<div class=\"card\" [class.card-deck-busy]=\"busy\">\r\n <div class=\"card-body\">\r\n <div class=\"kpi-tile-title-container flex align-top\">\r\n <a *ngIf=\"!header\" href=\"#\"\r\n class=\"kpi-tile-action flex-1\" (click)=\"emitTileAction($event)\">{{title || '-'}}</a>\r\n <ng-container *ngIf=\"header\">\r\n <div class=\"flex-1\">\r\n <ng-template [ngTemplateOutlet]=\"header.template\"></ng-template>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"showAction\" class=\"float-right align-top\">\r\n <a href=\"#\" class=\"text-xs\" (click)=\"emitTileAction($event)\">{{actionText}}</a>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center\" *ngIf=\"itemTemplates\">\r\n <ng-template [ngTemplateOutlet]=\"itemTemplates[selectedIndex].template\"></ng-template>\r\n </div>\r\n <div class=\"tile-card-footer opacity-25 hover:opacity-75\" *ngIf=\"itemTemplates && itemTemplates.length>1\">\r\n <nav class=\"flex items-center justify-between px-4 sm:px-0\">\r\n <div class=\"flex w-0 flex-1\"></div>\r\n <div class=\"flex items-center justify-between px-2\">\r\n <ng-container *ngFor=\"let item of itemTemplates; index as i\">\r\n <button type=\"button\"\r\n (click)=\"selectedIndex=i\"\r\n [disabled]=\"selectedIndex===i\"\r\n class=\"inline-flex mx-1 items-center rounded-full border border-transparent p-1 text-white shadow-sm hover:bg-slate-700 focus:outline-none\"\r\n [class.bg-slate-500]=\"selectedIndex!==i\"\r\n [class.bg-slate-700]=\"selectedIndex===i\"\r\n [class.ring-slate-700]=\"selectedIndex===i\"\r\n [class.ring-offset-1]=\"selectedIndex===i\"\r\n [class.ring-1]=\"selectedIndex===i\">\r\n </button>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex w-0 flex-1 justify-end\"></div>\r\n </nav>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
2611
2611
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ContentTileComponent, decorators: [{
|
|
2612
2612
|
type: Component,
|
|
2613
|
-
args: [{ selector: 'lib-content-tile', template: "<div class=\"card\" [class.card-deck-busy]=\"busy\">\r\n <div class=\"card-body\">\r\n <div class=\"kpi-tile-title-container flex align-top\">\r\n <a *ngIf=\"!header\" href=\"#\"\r\n class=\"kpi-tile-action flex-1\" (click)=\"emitTileAction($event)\">{{title || '-'}}</a>\r\n <ng-container *ngIf=\"header\">\r\n <div class=\"flex-1\">\r\n <ng-template [ngTemplateOutlet]=\"header.template\"></ng-template>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"
|
|
2613
|
+
args: [{ selector: 'lib-content-tile', template: "<div class=\"card\" [class.card-deck-busy]=\"busy\">\r\n <div class=\"card-body\">\r\n <div class=\"kpi-tile-title-container flex align-top\">\r\n <a *ngIf=\"!header\" href=\"#\"\r\n class=\"kpi-tile-action flex-1\" (click)=\"emitTileAction($event)\">{{title || '-'}}</a>\r\n <ng-container *ngIf=\"header\">\r\n <div class=\"flex-1\">\r\n <ng-template [ngTemplateOutlet]=\"header.template\"></ng-template>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"showAction\" class=\"float-right align-top\">\r\n <a href=\"#\" class=\"text-xs\" (click)=\"emitTileAction($event)\">{{actionText}}</a>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center\" *ngIf=\"itemTemplates\">\r\n <ng-template [ngTemplateOutlet]=\"itemTemplates[selectedIndex].template\"></ng-template>\r\n </div>\r\n <div class=\"tile-card-footer opacity-25 hover:opacity-75\" *ngIf=\"itemTemplates && itemTemplates.length>1\">\r\n <nav class=\"flex items-center justify-between px-4 sm:px-0\">\r\n <div class=\"flex w-0 flex-1\"></div>\r\n <div class=\"flex items-center justify-between px-2\">\r\n <ng-container *ngFor=\"let item of itemTemplates; index as i\">\r\n <button type=\"button\"\r\n (click)=\"selectedIndex=i\"\r\n [disabled]=\"selectedIndex===i\"\r\n class=\"inline-flex mx-1 items-center rounded-full border border-transparent p-1 text-white shadow-sm hover:bg-slate-700 focus:outline-none\"\r\n [class.bg-slate-500]=\"selectedIndex!==i\"\r\n [class.bg-slate-700]=\"selectedIndex===i\"\r\n [class.ring-slate-700]=\"selectedIndex===i\"\r\n [class.ring-offset-1]=\"selectedIndex===i\"\r\n [class.ring-1]=\"selectedIndex===i\">\r\n </button>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex w-0 flex-1 justify-end\"></div>\r\n </nav>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
2614
2614
|
}], ctorParameters: function () { return [{ type: i1$1.Router }]; }, propDecorators: { title: [{
|
|
2615
2615
|
type: Input
|
|
2616
2616
|
}], busy: [{
|
|
2617
2617
|
type: Input
|
|
2618
|
-
}],
|
|
2619
|
-
type: Input
|
|
2618
|
+
}], showAction: [{
|
|
2619
|
+
type: Input,
|
|
2620
|
+
args: ['show-action']
|
|
2620
2621
|
}], showFooter: [{
|
|
2621
2622
|
type: Input,
|
|
2622
2623
|
args: ['show-footer']
|
|
@@ -2662,10 +2663,10 @@ class StatsGridComponent {
|
|
|
2662
2663
|
}
|
|
2663
2664
|
}
|
|
2664
2665
|
StatsGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: StatsGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2665
|
-
StatsGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: StatsGridComponent, selector: "lib-stats-grid", inputs: { busy: "busy", count: "count", mode: "mode", labels: "labels", values: "values", colors: "colors" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!busy\">\n <ul role=\"list\" class=\"grid gap-1\"\n [class.grid-cols-
|
|
2666
|
+
StatsGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: StatsGridComponent, selector: "lib-stats-grid", inputs: { busy: "busy", count: "count", mode: "mode", labels: "labels", values: "values", colors: "colors" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!busy\">\n <ul role=\"list\" class=\"grid gap-1\"\n [class.grid-cols-4]=\"mode==='normal'\"\n [class.grid-flow-col]=\"mode!=='normal'\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <li class=\"col-span-1 flex pb-2\" *ngIf=\"mode==='normal'\">\n <div class=\"grid-cols-1 border-l-2 px-1\" [style]=\"'border-color:' + colors[i]\">\n <div class=\"text-xs text-ellipsis overflow-hidden\">{{labels[i]}}</div>\n <div *ngIf=\"isNumber(values[i])\" class=\"font-medium text-sm md:text-lg text-ellipsis overflow-hidden\">{{values[i] | number:'1.0-2':'el'}}</div>\n <div *ngIf=\"!isNumber(values[i])\" class=\"font-medium text-sm md:text-lg text-ellipsis overflow-hidden\">{{values[i]}}</div>\n </div>\n </li>\n <li class=\"col-span-1 flex pb-2\" *ngIf=\"mode!=='normal'\">\n <div class=\"grid-cols-1 border-l-2 pl-1 pr-2\" [style]=\"'border-color:' + colors[i]\">\n <div *ngIf=\"isNumber(values[i])\" class=\"font-medium text-xs lg:text-sm text-ellipsis overflow-hidden\">{{values[i] | number:'1.0-2':'el'}}</div>\n <div *ngIf=\"!isNumber(values[i])\" class=\"font-medium text-xs lg:text-sm text-ellipsis overflow-hidden\">{{values[i]}}</div>\n <div class=\"text-xs max-w-18 lg:w-auto truncate text-ellipsis overflow-hidden\">{{labels[i]}}</div>\n </div>\n </li>\n </ng-container>\n </ul>\n </div>\n <div *ngIf=\"busy\">\n <ul role=\"list\" class=\"grid gap-1\"\n [class.grid-cols-4]=\"mode==='normal'\"\n [class.grid-flow-col]=\"mode!=='normal'\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <li class=\"animate-pulse col-span-1 flex pb-2\" *ngIf=\"mode==='normal'\">\n <div class=\"grid-cols-1 border-l-2 px-1\" style=\"border-color:rgb(168, 162, 158, 0.2)\">\n <div class=\"rounded-md bg-slate-400/25 h-3 w-14\"></div>\n <div class=\"rounded-md bg-slate-400/25 mt-2 h-4 w-6\"></div>\n </div>\n </li>\n <li class=\"animate-pulse col-span-1 flex pb-2\" *ngIf=\"mode!=='normal'\">\n <div class=\"grid-cols-1 border-l-2 pl-1 pr-2\" style=\"border-color:rgb(168, 162, 158, 0.2)\">\n <div class=\"rounded-md bg-slate-400/25 h-3 w-14\"></div>\n <div class=\"rounded-md bg-slate-400/25 mt-2 h-4 w-6\"></div>\n </div>\n </li>\n </ng-container>\n </ul>\n </div> ", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }] });
|
|
2666
2667
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: StatsGridComponent, decorators: [{
|
|
2667
2668
|
type: Component,
|
|
2668
|
-
args: [{ selector: 'lib-stats-grid', template: "<div *ngIf=\"!busy\">\n <ul role=\"list\" class=\"grid gap-1\"\n [class.grid-cols-
|
|
2669
|
+
args: [{ selector: 'lib-stats-grid', template: "<div *ngIf=\"!busy\">\n <ul role=\"list\" class=\"grid gap-1\"\n [class.grid-cols-4]=\"mode==='normal'\"\n [class.grid-flow-col]=\"mode!=='normal'\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <li class=\"col-span-1 flex pb-2\" *ngIf=\"mode==='normal'\">\n <div class=\"grid-cols-1 border-l-2 px-1\" [style]=\"'border-color:' + colors[i]\">\n <div class=\"text-xs text-ellipsis overflow-hidden\">{{labels[i]}}</div>\n <div *ngIf=\"isNumber(values[i])\" class=\"font-medium text-sm md:text-lg text-ellipsis overflow-hidden\">{{values[i] | number:'1.0-2':'el'}}</div>\n <div *ngIf=\"!isNumber(values[i])\" class=\"font-medium text-sm md:text-lg text-ellipsis overflow-hidden\">{{values[i]}}</div>\n </div>\n </li>\n <li class=\"col-span-1 flex pb-2\" *ngIf=\"mode!=='normal'\">\n <div class=\"grid-cols-1 border-l-2 pl-1 pr-2\" [style]=\"'border-color:' + colors[i]\">\n <div *ngIf=\"isNumber(values[i])\" class=\"font-medium text-xs lg:text-sm text-ellipsis overflow-hidden\">{{values[i] | number:'1.0-2':'el'}}</div>\n <div *ngIf=\"!isNumber(values[i])\" class=\"font-medium text-xs lg:text-sm text-ellipsis overflow-hidden\">{{values[i]}}</div>\n <div class=\"text-xs max-w-18 lg:w-auto truncate text-ellipsis overflow-hidden\">{{labels[i]}}</div>\n </div>\n </li>\n </ng-container>\n </ul>\n </div>\n <div *ngIf=\"busy\">\n <ul role=\"list\" class=\"grid gap-1\"\n [class.grid-cols-4]=\"mode==='normal'\"\n [class.grid-flow-col]=\"mode!=='normal'\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <li class=\"animate-pulse col-span-1 flex pb-2\" *ngIf=\"mode==='normal'\">\n <div class=\"grid-cols-1 border-l-2 px-1\" style=\"border-color:rgb(168, 162, 158, 0.2)\">\n <div class=\"rounded-md bg-slate-400/25 h-3 w-14\"></div>\n <div class=\"rounded-md bg-slate-400/25 mt-2 h-4 w-6\"></div>\n </div>\n </li>\n <li class=\"animate-pulse col-span-1 flex pb-2\" *ngIf=\"mode!=='normal'\">\n <div class=\"grid-cols-1 border-l-2 pl-1 pr-2\" style=\"border-color:rgb(168, 162, 158, 0.2)\">\n <div class=\"rounded-md bg-slate-400/25 h-3 w-14\"></div>\n <div class=\"rounded-md bg-slate-400/25 mt-2 h-4 w-6\"></div>\n </div>\n </li>\n </ng-container>\n </ul>\n </div> " }]
|
|
2669
2670
|
}], ctorParameters: function () { return []; }, propDecorators: { busy: [{
|
|
2670
2671
|
type: Input
|
|
2671
2672
|
}], count: [{
|
|
@@ -2702,14 +2703,20 @@ class ProgressBarComponent {
|
|
|
2702
2703
|
}
|
|
2703
2704
|
}
|
|
2704
2705
|
ProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2705
|
-
ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ProgressBarComponent, selector: "lib-progress-bar", inputs: { value: "value", total: "total", text: "text" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"
|
|
2706
|
+
ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ProgressBarComponent, selector: "lib-progress-bar", inputs: { value: "value", valueText: ["value-text", "valueText"], total: "total", totalText: ["total-text", "totalText"], text: "text" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"progress-bar-container\">\n <div class=\"progress-bar-label\">{{text}} {{valueText ?? value}}/{{totalText ?? total}}</div>\n <div class=\"progress-bar-backdrop\">\n <div class=\"progress-bar-inner\" [style]=\"'width:' + percentage + '%' \"></div>\n </div>\n </div>\n " });
|
|
2706
2707
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ProgressBarComponent, decorators: [{
|
|
2707
2708
|
type: Component,
|
|
2708
|
-
args: [{ selector: 'lib-progress-bar', template: "<div class=\"
|
|
2709
|
+
args: [{ selector: 'lib-progress-bar', template: "<div class=\"progress-bar-container\">\n <div class=\"progress-bar-label\">{{text}} {{valueText ?? value}}/{{totalText ?? total}}</div>\n <div class=\"progress-bar-backdrop\">\n <div class=\"progress-bar-inner\" [style]=\"'width:' + percentage + '%' \"></div>\n </div>\n </div>\n " }]
|
|
2709
2710
|
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
2710
2711
|
type: Input
|
|
2712
|
+
}], valueText: [{
|
|
2713
|
+
type: Input,
|
|
2714
|
+
args: ['value-text']
|
|
2711
2715
|
}], total: [{
|
|
2712
2716
|
type: Input
|
|
2717
|
+
}], totalText: [{
|
|
2718
|
+
type: Input,
|
|
2719
|
+
args: ['total-text']
|
|
2713
2720
|
}], text: [{
|
|
2714
2721
|
type: Input
|
|
2715
2722
|
}] } });
|