@progress-chef/platform-shared-components 0.0.143 → 0.0.144

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.
@@ -1,6 +1,8 @@
1
1
  import { Component, Input, ViewChild, ViewChildren } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { TypographyComponent } from '../typography/typography.component';
4
+ import { ChipComponent } from '../chip/chip.component';
5
+ import { TooltipComponent } from '../tooltip/tooltip.component';
4
6
  import * as i0 from "@angular/core";
5
7
  import * as i1 from "@angular/common";
6
8
  export class ChipListComponent {
@@ -71,13 +73,15 @@ export class ChipListComponent {
71
73
  if (value === undefined || value === null)
72
74
  return 150;
73
75
  return typeof value === 'string' ? parseInt(value, 10) || 150 : value;
74
- }], showFullList: "showFullList", numChipTheme: "numChipTheme", showTruncatedItemAsTooltip: "showTruncatedItemAsTooltip" }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "chips", predicate: ["chip"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"chip-list-wrapper\" #wrapper>\n <lib-chip #chip *ngFor=\"let item of _list\" [size]=\"item?.size || size\" [rounded]=\"item?.rounded || rounded\"\n [fillMode]=\"item?.fillMode || fillMode\" [themeColor]=\"item?.themeColor || themeColor\"\n [removable]=\"item?.removable || removable\">{{item.label}}</lib-chip>\n <lib-tooltip *ngIf=\"showTruncatedItemAsTooltip && numChipValue?.label\" [callout]=\"true\">\n <lib-chip [size]=\"numChipValue?.size || size\" [rounded]=\"numChipValue?.rounded || rounded\"\n [fillMode]=\"numChipValue?.fillMode || fillMode\" [themeColor]=\"numChipValue?.themeColor || themeColor\"\n [removable]=\"numChipValue?.removable || removable\">{{numChipValue?.label}}</lib-chip>\n <div class=\"tooltip-content\">\n <lib-typography *ngFor=\"let textItem of remainingList\" [defaultText]=\"textItem?.label\" type=\"BODY_MEDIUM\"/>\n </div>\n </lib-tooltip>\n</div>\n", styles: [".chip-list-wrapper{display:flex;flex-wrap:wrap}.chip-list-wrapper lib-chip{margin-right:.25rem}.chip-list-wrapper .tooltip-content lib-typography{display:block}\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: TypographyComponent, selector: "lib-typography", inputs: ["type", "defaultText", "isLabel", "hiddenLabel"] }] }); }
76
+ }], showFullList: "showFullList", numChipTheme: "numChipTheme", showTruncatedItemAsTooltip: "showTruncatedItemAsTooltip" }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "chips", predicate: ["chip"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"chip-list-wrapper\" #wrapper>\n <lib-chip #chip *ngFor=\"let item of _list\" [size]=\"item?.size || size\" [rounded]=\"item?.rounded || rounded\"\n [fillMode]=\"item?.fillMode || fillMode\" [themeColor]=\"item?.themeColor || themeColor\"\n [removable]=\"item?.removable || removable\">{{item.label}}</lib-chip>\n <lib-tooltip *ngIf=\"showTruncatedItemAsTooltip && numChipValue?.label\" [callout]=\"true\">\n <lib-chip [size]=\"numChipValue?.size || size\" [rounded]=\"numChipValue?.rounded || rounded\"\n [fillMode]=\"numChipValue?.fillMode || fillMode\" [themeColor]=\"numChipValue?.themeColor || themeColor\"\n [removable]=\"numChipValue?.removable || removable\">{{numChipValue?.label}}</lib-chip>\n <div class=\"tooltip-content\">\n <lib-typography *ngFor=\"let textItem of remainingList\" [defaultText]=\"textItem?.label\" type=\"BODY_MEDIUM\"/>\n </div>\n </lib-tooltip>\n</div>\n", styles: [".chip-list-wrapper{display:flex;flex-wrap:wrap}.chip-list-wrapper lib-chip{margin-right:.25rem}.chip-list-wrapper .tooltip-content lib-typography{display:block}\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: TypographyComponent, selector: "lib-typography", inputs: ["type", "defaultText", "isLabel", "hiddenLabel"] }, { kind: "component", type: ChipComponent, selector: "lib-chip", inputs: ["size", "rounded", "fillMode", "themeColor", "removable"] }, { kind: "component", type: TooltipComponent, selector: "lib-tooltip", inputs: ["position", "tooltipWidth", "tooltipHeight", "showOn", "closable", "title", "callout"] }] }); }
75
77
  }
76
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ChipListComponent, decorators: [{
77
79
  type: Component,
78
80
  args: [{ imports: [
79
81
  CommonModule,
80
- TypographyComponent
82
+ TypographyComponent,
83
+ ChipComponent,
84
+ TooltipComponent
81
85
  ], standalone: true, selector: 'lib-chip-list', template: "<div class=\"chip-list-wrapper\" #wrapper>\n <lib-chip #chip *ngFor=\"let item of _list\" [size]=\"item?.size || size\" [rounded]=\"item?.rounded || rounded\"\n [fillMode]=\"item?.fillMode || fillMode\" [themeColor]=\"item?.themeColor || themeColor\"\n [removable]=\"item?.removable || removable\">{{item.label}}</lib-chip>\n <lib-tooltip *ngIf=\"showTruncatedItemAsTooltip && numChipValue?.label\" [callout]=\"true\">\n <lib-chip [size]=\"numChipValue?.size || size\" [rounded]=\"numChipValue?.rounded || rounded\"\n [fillMode]=\"numChipValue?.fillMode || fillMode\" [themeColor]=\"numChipValue?.themeColor || themeColor\"\n [removable]=\"numChipValue?.removable || removable\">{{numChipValue?.label}}</lib-chip>\n <div class=\"tooltip-content\">\n <lib-typography *ngFor=\"let textItem of remainingList\" [defaultText]=\"textItem?.label\" type=\"BODY_MEDIUM\"/>\n </div>\n </lib-tooltip>\n</div>\n", styles: [".chip-list-wrapper{display:flex;flex-wrap:wrap}.chip-list-wrapper lib-chip{margin-right:.25rem}.chip-list-wrapper .tooltip-content lib-typography{display:block}\n"] }]
82
86
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { list: [{
83
87
  type: Input
@@ -101,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
101
105
  }], showTruncatedItemAsTooltip: [{
102
106
  type: Input
103
107
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL2F0b21zL2NoaXAtbGlzdC9jaGlwLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvY2hpcC1saXN0L2NoaXAtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQTRCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFZekUsTUFBTSxPQUFPLGlCQUFpQjtJQXdCNUIsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF2QmpDLFNBQUksR0FBUSxFQUFFLENBQUM7UUFHeEIsU0FBSSxHQUFHLE9BQU8sQ0FBQztRQUNmLFlBQU8sR0FBRyxNQUFNLENBQUM7UUFDakIsYUFBUSxHQUFHLE9BQU8sQ0FBQztRQUNuQixlQUFVLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUNoQixrQkFBYSxHQUFhLEVBQUUsQ0FBQztRQUM3QixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUVoQixrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUluQixVQUFLLEdBQVcsR0FBRyxDQUFDO1FBQ2hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLCtC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QyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hFLENBQUMsK1VDbENILDQ2QkFhQSwyTkROSSxZQUFZLGdRQUNaLG1CQUFtQjs7NEZBT1YsaUJBQWlCO2tCQVY3QixTQUFTOzhCQUNDO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3FCQUNwQixjQUNXLElBQUksWUFDTixlQUFlO3NGQUtoQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ2dCLEtBQUs7c0JBQTFCLFlBQVk7dUJBQUMsTUFBTTtnQkFDRSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBZ0JmLEtBQUs7c0JBSFQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQWtDLEVBQUUsRUFBRTs0QkFDekQsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJO2dDQUFFLE9BQU8sR0FBRyxDQUFDOzRCQUN0RCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzt3QkFDeEUsQ0FBQyxFQUFFO2dCQUNNLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hpcENvbXBvbmVudCB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWJ1dHRvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFR5cG9ncmFwaHlDb21wb25lbnQgfSBmcm9tICcuLi90eXBvZ3JhcGh5L3R5cG9ncmFwaHkuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHlwb2dyYXBoeUNvbXBvbmVudFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2xpYi1jaGlwLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hpcC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hpcC1saXN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2hpcExpc3RDb21wb25lbnQge1xuICBASW5wdXQoKSBsaXN0OiBhbnkgPSBbXTtcbiAgQFZpZXdDaGlsZHJlbignY2hpcCcpIGNoaXBzITogUXVlcnlMaXN0PENoaXBDb21wb25lbnQ+O1xuICBAVmlld0NoaWxkKCd3cmFwcGVyJykgd3JhcHBlciE6IEVsZW1lbnRSZWY7XG4gIHNpemUgPSAnc21hbGwnO1xuICByb3VuZGVkID0gJ2Z1bGwnO1xuICBmaWxsTW9kZSA9ICdzb2xpZCc7XG4gIHRoZW1lQ29sb3IgPSAnbm9uZSc7XG4gIHJlbW92YWJsZSA9IGZhbHNlO1xuICB0b3RhbENoaXBXaWR0aCA9IDA7XG4gIF9saXN0OiBhbnkgPSBbXTtcbiAgY2hpcFdpZHRoTGlzdDogbnVtYmVyW10gPSBbXTtcbiAgcGx1c0NoaXBXaWR0aCA9IDM1O1xuICBtYXJnaW5SaWdodCA9IDQ7XG4gIG51bUNoaXBWYWx1ZTogYW55O1xuICByZW1haW5pbmdMaXN0OiBhbnkgPSBbXTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiAodmFsdWU6IG51bWJlciB8IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKSByZXR1cm4gMTUwO1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gcGFyc2VJbnQodmFsdWUsIDEwKSB8fCAxNTAgOiB2YWx1ZTtcbiAgfSB9KSB3aWR0aDogbnVtYmVyID0gMTUwO1xuICBASW5wdXQoKSBzaG93RnVsbExpc3QgPSBmYWxzZTtcbiAgQElucHV0KCkgbnVtQ2hpcFRoZW1lID0ge307XG4gIEBJbnB1dCgpIHNob3dUcnVuY2F0ZWRJdGVtQXNUb29sdGlwID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9saXN0ID0gWy4uLnRoaXMubGlzdF07XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKCFjaGFuZ2VzWyd3aWR0aCddPy5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5fbGlzdCA9IFsuLi50aGlzLmxpc3RdO1xuICAgICAgdGhpcy50b3RhbENoaXBXaWR0aCA9IDA7XG4gICAgICB0aGlzLmNhbGN1bGF0ZVdpZHRoQW5kUmVuZGVyKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY2hpcHMuZm9yRWFjaCgoZWFjaDogYW55KSA9PiB7XG4gICAgICAvLyBLZW5kbyBVSSB2MjArIHN0cnVjdHVyYWwgY2hhbmdlOiBDaGlwQ29tcG9uZW50IG5vdyBleHBvc2VzICdlbGVtZW50JyBkaXJlY3RseVxuICAgICAgLy8gUHJldmlvdXMgdmVyc2lvbnMgKHYxOSBhbmQgZWFybGllcik6IGVhY2guY2hpcC5lbGVtZW50Lm5hdGl2ZUVsZW1lbnRcbiAgICAgIC8vIEN1cnJlbnQgdmVyc2lvbiAodjIwLjEuMSspOiBlYWNoLmVsZW1lbnQubmF0aXZlRWxlbWVudFxuICAgICAgLy8gVGhlIGludGVybWVkaWF0ZSAnY2hpcCcgcHJvcGVydHkgd2FzIHJlbW92ZWQsIGZsYXR0ZW5pbmcgdGhlIGNvbXBvbmVudCBzdHJ1Y3R1cmVcbiAgICAgIGlmIChlYWNoICYmIGVhY2guZWxlbWVudCAmJiBlYWNoLmVsZW1lbnQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICB0aGlzLmNoaXBXaWR0aExpc3QucHVzaChlYWNoLmVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCArIHRoaXMubWFyZ2luUmlnaHQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuY2FsY3VsYXRlV2lkdGhBbmRSZW5kZXIoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIGNhbGN1bGF0ZVdpZHRoQW5kUmVuZGVyKCkge1xuICAgIGlmICh0aGlzLnNob3dGdWxsTGlzdCkgcmV0dXJuO1xuICAgIHRoaXMuY2hpcFdpZHRoTGlzdC5zb21lKChjaGlwV2lkdGg6IG51bWJlciwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgdGhpcy50b3RhbENoaXBXaWR0aCArPSBjaGlwV2lkdGg7XG4gICAgICBpZiAodGhpcy50b3RhbENoaXBXaWR0aCA+IHRoaXMud2lkdGgpIHtcbiAgICAgICAgY29uc3QgdG90YWxXaWR0aCA9IGluZGV4ICYmICh0aGlzLnRvdGFsQ2hpcFdpZHRoIC0gY2hpcFdpZHRoKSArIHRoaXMucGx1c0NoaXBXaWR0aDtcbiAgICAgICAgY29uc3QgcmVtYWluaW5nID0gdGhpcy5jaGlwV2lkdGhMaXN0Lmxlbmd0aCAtIGluZGV4ICsgKHRvdGFsV2lkdGggPiB0aGlzLndpZHRoID8gMSA6IDApO1xuICAgICAgICB0aGlzLnJlbWFpbmluZ0xpc3QgPSB0aGlzLl9saXN0LnNwbGljZSgtcmVtYWluaW5nKTtcbiAgICAgICAgaWYgKHRoaXMuc2hvd1RydW5jYXRlZEl0ZW1Bc1Rvb2x0aXApIHtcbiAgICAgICAgICB0aGlzLm51bUNoaXBWYWx1ZSA9IHsgbGFiZWw6ICcrJyArIHJlbWFpbmluZywgLi4udGhpcy5udW1DaGlwVGhlbWUgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX2xpc3QucHVzaCh7IGxhYmVsOiAnKycgKyByZW1haW5pbmcsIC4uLnRoaXMubnVtQ2hpcFRoZW1lIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJjaGlwLWxpc3Qtd3JhcHBlclwiICN3cmFwcGVyPlxuICA8bGliLWNoaXAgI2NoaXAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX2xpc3RcIiBbc2l6ZV09XCJpdGVtPy5zaXplIHx8IHNpemVcIiBbcm91bmRlZF09XCJpdGVtPy5yb3VuZGVkIHx8IHJvdW5kZWRcIlxuICAgIFtmaWxsTW9kZV09XCJpdGVtPy5maWxsTW9kZSB8fCBmaWxsTW9kZVwiIFt0aGVtZUNvbG9yXT1cIml0ZW0/LnRoZW1lQ29sb3IgfHwgdGhlbWVDb2xvclwiXG4gICAgW3JlbW92YWJsZV09XCJpdGVtPy5yZW1vdmFibGUgfHwgcmVtb3ZhYmxlXCI+e3tpdGVtLmxhYmVsfX08L2xpYi1jaGlwPlxuICA8bGliLXRvb2x0aXAgKm5nSWY9XCJzaG93VHJ1bmNhdGVkSXRlbUFzVG9vbHRpcCAmJiBudW1DaGlwVmFsdWU/LmxhYmVsXCIgW2NhbGxvdXRdPVwidHJ1ZVwiPlxuICAgIDxsaWItY2hpcCBbc2l6ZV09XCJudW1DaGlwVmFsdWU/LnNpemUgfHwgc2l6ZVwiIFtyb3VuZGVkXT1cIm51bUNoaXBWYWx1ZT8ucm91bmRlZCB8fCByb3VuZGVkXCJcbiAgICAgIFtmaWxsTW9kZV09XCJudW1DaGlwVmFsdWU/LmZpbGxNb2RlIHx8IGZpbGxNb2RlXCIgW3RoZW1lQ29sb3JdPVwibnVtQ2hpcFZhbHVlPy50aGVtZUNvbG9yIHx8IHRoZW1lQ29sb3JcIlxuICAgICAgW3JlbW92YWJsZV09XCJudW1DaGlwVmFsdWU/LnJlbW92YWJsZSB8fCByZW1vdmFibGVcIj57e251bUNoaXBWYWx1ZT8ubGFiZWx9fTwvbGliLWNoaXA+XG4gICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XG4gICAgICAgIDxsaWItdHlwb2dyYXBoeSAqbmdGb3I9XCJsZXQgdGV4dEl0ZW0gb2YgcmVtYWluaW5nTGlzdFwiIFtkZWZhdWx0VGV4dF09XCJ0ZXh0SXRlbT8ubGFiZWxcIiB0eXBlPVwiQk9EWV9NRURJVU1cIi8+XG4gICAgICA8L2Rpdj5cbiAgPC9saWItdG9vbHRpcD5cbjwvZGl2PlxuIl19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL2F0b21zL2NoaXAtbGlzdC9jaGlwLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvY2hpcC1saXN0L2NoaXAtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQTRCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBY2hFLE1BQU0sT0FBTyxpQkFBaUI7SUF3QjVCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdkJqQyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBR3hCLFNBQUksR0FBRyxPQUFPLENBQUM7UUFDZixZQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxPQUFPLENBQUM7UUFDbkIsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0Isa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFaEIsa0JBQWEsR0FBUSxFQUFFLENBQUM7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SyxLQUFLLElBQUk7d0JBQUUsT0FBTyxHQUFHLENBQUM7b0JBQ3RELE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUN4RSxDQUFDLCtVQ3RDSCw0NkJBYUEsMk5ESkksWUFBWSxnUUFDWixtQkFBbUIsc0hBQ25CLGFBQWEseUhBQ2IsZ0JBQWdCOzs0RkFPUCxpQkFBaUI7a0JBWjdCLFNBQVM7OEJBQ0M7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQixjQUNXLElBQUksWUFDTixlQUFlO3NGQUtoQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ2dCLEtBQUs7c0JBQTFCLFlBQVk7dUJBQUMsTUFBTTtnQkFDRSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBZ0JmLEtBQUs7c0JBSFQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQWtDLEVBQUUsRUFBRTs0QkFDekQsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJO2dDQUFFLE9BQU8sR0FBRyxDQUFDOzRCQUN0RCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzt3QkFDeEUsQ0FBQyxFQUFFO2dCQUNNLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hpcENvbXBvbmVudCBhcyBLZW5kb0NoaXBDb21wb25lbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1idXR0b25zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Q29tcG9uZW50IH0gZnJvbSAnLi4vdHlwb2dyYXBoeS90eXBvZ3JhcGh5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcC9jaGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFR5cG9ncmFwaHlDb21wb25lbnQsXG4gICAgQ2hpcENvbXBvbmVudCxcbiAgICBUb29sdGlwQ29tcG9uZW50XG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnbGliLWNoaXAtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGlwLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGlwTGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxpc3Q6IGFueSA9IFtdO1xuICBAVmlld0NoaWxkcmVuKCdjaGlwJykgY2hpcHMhOiBRdWVyeUxpc3Q8Q2hpcENvbXBvbmVudD47XG4gIEBWaWV3Q2hpbGQoJ3dyYXBwZXInKSB3cmFwcGVyITogRWxlbWVudFJlZjtcbiAgc2l6ZSA9ICdzbWFsbCc7XG4gIHJvdW5kZWQgPSAnZnVsbCc7XG4gIGZpbGxNb2RlID0gJ3NvbGlkJztcbiAgdGhlbWVDb2xvciA9ICdub25lJztcbiAgcmVtb3ZhYmxlID0gZmFsc2U7XG4gIHRvdGFsQ2hpcFdpZHRoID0gMDtcbiAgX2xpc3Q6IGFueSA9IFtdO1xuICBjaGlwV2lkdGhMaXN0OiBudW1iZXJbXSA9IFtdO1xuICBwbHVzQ2hpcFdpZHRoID0gMzU7XG4gIG1hcmdpblJpZ2h0ID0gNDtcbiAgbnVtQ2hpcFZhbHVlOiBhbnk7XG4gIHJlbWFpbmluZ0xpc3Q6IGFueSA9IFtdO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHJldHVybiAxNTA7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyBwYXJzZUludCh2YWx1ZSwgMTApIHx8IDE1MCA6IHZhbHVlO1xuICB9IH0pIHdpZHRoOiBudW1iZXIgPSAxNTA7XG4gIEBJbnB1dCgpIHNob3dGdWxsTGlzdCA9IGZhbHNlO1xuICBASW5wdXQoKSBudW1DaGlwVGhlbWUgPSB7fTtcbiAgQElucHV0KCkgc2hvd1RydW5jYXRlZEl0ZW1Bc1Rvb2x0aXAgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX2xpc3QgPSBbLi4udGhpcy5saXN0XTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoIWNoYW5nZXNbJ3dpZHRoJ10/LmZpcnN0Q2hhbmdlKSB7XG4gICAgICB0aGlzLl9saXN0ID0gWy4uLnRoaXMubGlzdF07XG4gICAgICB0aGlzLnRvdGFsQ2hpcFdpZHRoID0gMDtcbiAgICAgIHRoaXMuY2FsY3VsYXRlV2lkdGhBbmRSZW5kZXIoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jaGlwcy5mb3JFYWNoKChlYWNoOiBhbnkpID0+IHtcbiAgICAgIC8vIEtlbmRvIFVJIHYyMCsgc3RydWN0dXJhbCBjaGFuZ2U6IENoaXBDb21wb25lbnQgbm93IGV4cG9zZXMgJ2VsZW1lbnQnIGRpcmVjdGx5XG4gICAgICAvLyBQcmV2aW91cyB2ZXJzaW9ucyAodjE5IGFuZCBlYXJsaWVyKTogZWFjaC5jaGlwLmVsZW1lbnQubmF0aXZlRWxlbWVudFxuICAgICAgLy8gQ3VycmVudCB2ZXJzaW9uICh2MjAuMS4xKyk6IGVhY2guZWxlbWVudC5uYXRpdmVFbGVtZW50XG4gICAgICAvLyBUaGUgaW50ZXJtZWRpYXRlICdjaGlwJyBwcm9wZXJ0eSB3YXMgcmVtb3ZlZCwgZmxhdHRlbmluZyB0aGUgY29tcG9uZW50IHN0cnVjdHVyZVxuICAgICAgaWYgKGVhY2ggJiYgZWFjaC5lbGVtZW50ICYmIGVhY2guZWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuY2hpcFdpZHRoTGlzdC5wdXNoKGVhY2guZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgdGhpcy5tYXJnaW5SaWdodCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5jYWxjdWxhdGVXaWR0aEFuZFJlbmRlcigpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgY2FsY3VsYXRlV2lkdGhBbmRSZW5kZXIoKSB7XG4gICAgaWYgKHRoaXMuc2hvd0Z1bGxMaXN0KSByZXR1cm47XG4gICAgdGhpcy5jaGlwV2lkdGhMaXN0LnNvbWUoKGNoaXBXaWR0aDogbnVtYmVyLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICB0aGlzLnRvdGFsQ2hpcFdpZHRoICs9IGNoaXBXaWR0aDtcbiAgICAgIGlmICh0aGlzLnRvdGFsQ2hpcFdpZHRoID4gdGhpcy53aWR0aCkge1xuICAgICAgICBjb25zdCB0b3RhbFdpZHRoID0gaW5kZXggJiYgKHRoaXMudG90YWxDaGlwV2lkdGggLSBjaGlwV2lkdGgpICsgdGhpcy5wbHVzQ2hpcFdpZHRoO1xuICAgICAgICBjb25zdCByZW1haW5pbmcgPSB0aGlzLmNoaXBXaWR0aExpc3QubGVuZ3RoIC0gaW5kZXggKyAodG90YWxXaWR0aCA+IHRoaXMud2lkdGggPyAxIDogMCk7XG4gICAgICAgIHRoaXMucmVtYWluaW5nTGlzdCA9IHRoaXMuX2xpc3Quc3BsaWNlKC1yZW1haW5pbmcpO1xuICAgICAgICBpZiAodGhpcy5zaG93VHJ1bmNhdGVkSXRlbUFzVG9vbHRpcCkge1xuICAgICAgICAgIHRoaXMubnVtQ2hpcFZhbHVlID0geyBsYWJlbDogJysnICsgcmVtYWluaW5nLCAuLi50aGlzLm51bUNoaXBUaGVtZSB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fbGlzdC5wdXNoKHsgbGFiZWw6ICcrJyArIHJlbWFpbmluZywgLi4udGhpcy5udW1DaGlwVGhlbWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNoaXAtbGlzdC13cmFwcGVyXCIgI3dyYXBwZXI+XG4gIDxsaWItY2hpcCAjY2hpcCAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfbGlzdFwiIFtzaXplXT1cIml0ZW0/LnNpemUgfHwgc2l6ZVwiIFtyb3VuZGVkXT1cIml0ZW0/LnJvdW5kZWQgfHwgcm91bmRlZFwiXG4gICAgW2ZpbGxNb2RlXT1cIml0ZW0/LmZpbGxNb2RlIHx8IGZpbGxNb2RlXCIgW3RoZW1lQ29sb3JdPVwiaXRlbT8udGhlbWVDb2xvciB8fCB0aGVtZUNvbG9yXCJcbiAgICBbcmVtb3ZhYmxlXT1cIml0ZW0/LnJlbW92YWJsZSB8fCByZW1vdmFibGVcIj57e2l0ZW0ubGFiZWx9fTwvbGliLWNoaXA+XG4gIDxsaWItdG9vbHRpcCAqbmdJZj1cInNob3dUcnVuY2F0ZWRJdGVtQXNUb29sdGlwICYmIG51bUNoaXBWYWx1ZT8ubGFiZWxcIiBbY2FsbG91dF09XCJ0cnVlXCI+XG4gICAgPGxpYi1jaGlwIFtzaXplXT1cIm51bUNoaXBWYWx1ZT8uc2l6ZSB8fCBzaXplXCIgW3JvdW5kZWRdPVwibnVtQ2hpcFZhbHVlPy5yb3VuZGVkIHx8IHJvdW5kZWRcIlxuICAgICAgW2ZpbGxNb2RlXT1cIm51bUNoaXBWYWx1ZT8uZmlsbE1vZGUgfHwgZmlsbE1vZGVcIiBbdGhlbWVDb2xvcl09XCJudW1DaGlwVmFsdWU/LnRoZW1lQ29sb3IgfHwgdGhlbWVDb2xvclwiXG4gICAgICBbcmVtb3ZhYmxlXT1cIm51bUNoaXBWYWx1ZT8ucmVtb3ZhYmxlIHx8IHJlbW92YWJsZVwiPnt7bnVtQ2hpcFZhbHVlPy5sYWJlbH19PC9saWItY2hpcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIj5cbiAgICAgICAgPGxpYi10eXBvZ3JhcGh5ICpuZ0Zvcj1cImxldCB0ZXh0SXRlbSBvZiByZW1haW5pbmdMaXN0XCIgW2RlZmF1bHRUZXh0XT1cInRleHRJdGVtPy5sYWJlbFwiIHR5cGU9XCJCT0RZX01FRElVTVwiLz5cbiAgICAgIDwvZGl2PlxuICA8L2xpYi10b29sdGlwPlxuPC9kaXY+XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, EventEmitter, HostBinding, Output, NgModule, ViewChild, ViewChildren, HostListener, ContentChild, ViewEncapsulation, Pipe, Directive, booleanAttribute, ContentChildren, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
2
+ import { Component, Input, EventEmitter, HostBinding, Output, NgModule, ViewChild, HostListener, ViewChildren, ContentChild, ViewEncapsulation, Pipe, Directive, booleanAttribute, ContentChildren, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
3
  import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i3$1 from '@angular/forms';
@@ -923,6 +923,75 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
923
923
  }]
924
924
  }] });
925
925
 
926
+ class TooltipComponent {
927
+ constructor(themesService) {
928
+ this.themesService = themesService;
929
+ this.position = 'right';
930
+ this.showOn = 'hover';
931
+ this.closable = false;
932
+ this.title = 'tool';
933
+ }
934
+ /**
935
+ * Click-outside handler for closable tooltips
936
+ * When closable is true, clicking outside the tooltip content will hide it
937
+ * Re-implemented after Angular 19 upgrade to restore closable tooltip functionality
938
+ */
939
+ onDocumentClick($event) {
940
+ if (this.closable && this.tooltip) {
941
+ const elRef = document.getElementsByClassName('tooltip-content');
942
+ if (elRef?.length && !elRef[0]?.contains($event.target)) {
943
+ this.tooltip.hide();
944
+ }
945
+ }
946
+ }
947
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TooltipComponent, deps: [{ token: i1.ThemesService }], target: i0.ɵɵFactoryTarget.Component }); }
948
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.17", type: TooltipComponent, isStandalone: true, selector: "lib-tooltip", inputs: { position: "position", tooltipWidth: ["tooltipWidth", "tooltipWidth", (value) => {
949
+ if (value === undefined || value === null)
950
+ return 0;
951
+ return typeof value === 'string' ? parseInt(value, 10) || 0 : value;
952
+ }], tooltipHeight: ["tooltipHeight", "tooltipHeight", (value) => {
953
+ if (value === undefined || value === null)
954
+ return 0;
955
+ return typeof value === 'string' ? parseInt(value, 10) || 0 : value;
956
+ }], showOn: "showOn", closable: ["closable", "closable", (value) => value === true || value === 'true'], title: "title", callout: ["callout", "callout", (value) => value === true || value === 'true'] }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0, template: "<div kendoTooltip #tooltip [tooltipTemplate]=\"template\" [position]=\"position\" [title]=\"title\" [callout]=\"callout\"\n [showOn]=\"showOn\" [tooltipWidth]=\"tooltipWidth\" [tooltipHeight]=\"tooltipHeight\" [closable]=\"closable\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #template>\n <ng-content select=\"div.tooltip-content\"></ng-content>\n</ng-template>\n", styles: [".random-css-to-not-keep-this-file-empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: TooltipModule$1 }, { kind: "directive", type: i2$4.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "titleTemplate", "showOn", "showAfter", "callout", "closable", "offset", "tooltipWidth", "tooltipHeight", "tooltipClass", "tooltipContentClass", "collision", "closeTitle", "tooltipTemplate"], exportAs: ["kendoTooltip"] }] }); }
957
+ }
958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TooltipComponent, decorators: [{
959
+ type: Component,
960
+ args: [{ standalone: true, selector: 'lib-tooltip', imports: [TooltipModule$1], template: "<div kendoTooltip #tooltip [tooltipTemplate]=\"template\" [position]=\"position\" [title]=\"title\" [callout]=\"callout\"\n [showOn]=\"showOn\" [tooltipWidth]=\"tooltipWidth\" [tooltipHeight]=\"tooltipHeight\" [closable]=\"closable\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #template>\n <ng-content select=\"div.tooltip-content\"></ng-content>\n</ng-template>\n", styles: [".random-css-to-not-keep-this-file-empty{display:none}\n"] }]
961
+ }], ctorParameters: () => [{ type: i1.ThemesService }], propDecorators: { position: [{
962
+ type: Input
963
+ }], tooltipWidth: [{
964
+ type: Input,
965
+ args: [{ transform: (value) => {
966
+ if (value === undefined || value === null)
967
+ return 0;
968
+ return typeof value === 'string' ? parseInt(value, 10) || 0 : value;
969
+ } }]
970
+ }], tooltipHeight: [{
971
+ type: Input,
972
+ args: [{ transform: (value) => {
973
+ if (value === undefined || value === null)
974
+ return 0;
975
+ return typeof value === 'string' ? parseInt(value, 10) || 0 : value;
976
+ } }]
977
+ }], showOn: [{
978
+ type: Input
979
+ }], closable: [{
980
+ type: Input,
981
+ args: [{ transform: (value) => value === true || value === 'true' }]
982
+ }], title: [{
983
+ type: Input
984
+ }], callout: [{
985
+ type: Input,
986
+ args: [{ transform: (value) => value === true || value === 'true' }]
987
+ }], tooltip: [{
988
+ type: ViewChild,
989
+ args: ['tooltip']
990
+ }], onDocumentClick: [{
991
+ type: HostListener,
992
+ args: ['document:click', ['$event']]
993
+ }] } });
994
+
926
995
  class ChipListComponent {
927
996
  constructor(cdr) {
928
997
  this.cdr = cdr;
@@ -991,13 +1060,15 @@ class ChipListComponent {
991
1060
  if (value === undefined || value === null)
992
1061
  return 150;
993
1062
  return typeof value === 'string' ? parseInt(value, 10) || 150 : value;
994
- }], showFullList: "showFullList", numChipTheme: "numChipTheme", showTruncatedItemAsTooltip: "showTruncatedItemAsTooltip" }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "chips", predicate: ["chip"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"chip-list-wrapper\" #wrapper>\n <lib-chip #chip *ngFor=\"let item of _list\" [size]=\"item?.size || size\" [rounded]=\"item?.rounded || rounded\"\n [fillMode]=\"item?.fillMode || fillMode\" [themeColor]=\"item?.themeColor || themeColor\"\n [removable]=\"item?.removable || removable\">{{item.label}}</lib-chip>\n <lib-tooltip *ngIf=\"showTruncatedItemAsTooltip && numChipValue?.label\" [callout]=\"true\">\n <lib-chip [size]=\"numChipValue?.size || size\" [rounded]=\"numChipValue?.rounded || rounded\"\n [fillMode]=\"numChipValue?.fillMode || fillMode\" [themeColor]=\"numChipValue?.themeColor || themeColor\"\n [removable]=\"numChipValue?.removable || removable\">{{numChipValue?.label}}</lib-chip>\n <div class=\"tooltip-content\">\n <lib-typography *ngFor=\"let textItem of remainingList\" [defaultText]=\"textItem?.label\" type=\"BODY_MEDIUM\"/>\n </div>\n </lib-tooltip>\n</div>\n", styles: [".chip-list-wrapper{display:flex;flex-wrap:wrap}.chip-list-wrapper lib-chip{margin-right:.25rem}.chip-list-wrapper .tooltip-content lib-typography{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TypographyComponent, selector: "lib-typography", inputs: ["type", "defaultText", "isLabel", "hiddenLabel"] }] }); }
1063
+ }], showFullList: "showFullList", numChipTheme: "numChipTheme", showTruncatedItemAsTooltip: "showTruncatedItemAsTooltip" }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "chips", predicate: ["chip"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"chip-list-wrapper\" #wrapper>\n <lib-chip #chip *ngFor=\"let item of _list\" [size]=\"item?.size || size\" [rounded]=\"item?.rounded || rounded\"\n [fillMode]=\"item?.fillMode || fillMode\" [themeColor]=\"item?.themeColor || themeColor\"\n [removable]=\"item?.removable || removable\">{{item.label}}</lib-chip>\n <lib-tooltip *ngIf=\"showTruncatedItemAsTooltip && numChipValue?.label\" [callout]=\"true\">\n <lib-chip [size]=\"numChipValue?.size || size\" [rounded]=\"numChipValue?.rounded || rounded\"\n [fillMode]=\"numChipValue?.fillMode || fillMode\" [themeColor]=\"numChipValue?.themeColor || themeColor\"\n [removable]=\"numChipValue?.removable || removable\">{{numChipValue?.label}}</lib-chip>\n <div class=\"tooltip-content\">\n <lib-typography *ngFor=\"let textItem of remainingList\" [defaultText]=\"textItem?.label\" type=\"BODY_MEDIUM\"/>\n </div>\n </lib-tooltip>\n</div>\n", styles: [".chip-list-wrapper{display:flex;flex-wrap:wrap}.chip-list-wrapper lib-chip{margin-right:.25rem}.chip-list-wrapper .tooltip-content lib-typography{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TypographyComponent, selector: "lib-typography", inputs: ["type", "defaultText", "isLabel", "hiddenLabel"] }, { kind: "component", type: ChipComponent, selector: "lib-chip", inputs: ["size", "rounded", "fillMode", "themeColor", "removable"] }, { kind: "component", type: TooltipComponent, selector: "lib-tooltip", inputs: ["position", "tooltipWidth", "tooltipHeight", "showOn", "closable", "title", "callout"] }] }); }
995
1064
  }
996
1065
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ChipListComponent, decorators: [{
997
1066
  type: Component,
998
1067
  args: [{ imports: [
999
1068
  CommonModule,
1000
- TypographyComponent
1069
+ TypographyComponent,
1070
+ ChipComponent,
1071
+ TooltipComponent
1001
1072
  ], standalone: true, selector: 'lib-chip-list', template: "<div class=\"chip-list-wrapper\" #wrapper>\n <lib-chip #chip *ngFor=\"let item of _list\" [size]=\"item?.size || size\" [rounded]=\"item?.rounded || rounded\"\n [fillMode]=\"item?.fillMode || fillMode\" [themeColor]=\"item?.themeColor || themeColor\"\n [removable]=\"item?.removable || removable\">{{item.label}}</lib-chip>\n <lib-tooltip *ngIf=\"showTruncatedItemAsTooltip && numChipValue?.label\" [callout]=\"true\">\n <lib-chip [size]=\"numChipValue?.size || size\" [rounded]=\"numChipValue?.rounded || rounded\"\n [fillMode]=\"numChipValue?.fillMode || fillMode\" [themeColor]=\"numChipValue?.themeColor || themeColor\"\n [removable]=\"numChipValue?.removable || removable\">{{numChipValue?.label}}</lib-chip>\n <div class=\"tooltip-content\">\n <lib-typography *ngFor=\"let textItem of remainingList\" [defaultText]=\"textItem?.label\" type=\"BODY_MEDIUM\"/>\n </div>\n </lib-tooltip>\n</div>\n", styles: [".chip-list-wrapper{display:flex;flex-wrap:wrap}.chip-list-wrapper lib-chip{margin-right:.25rem}.chip-list-wrapper .tooltip-content lib-typography{display:block}\n"] }]
1002
1073
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { list: [{
1003
1074
  type: Input
@@ -1022,75 +1093,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
1022
1093
  type: Input
1023
1094
  }] } });
1024
1095
 
1025
- class TooltipComponent {
1026
- constructor(themesService) {
1027
- this.themesService = themesService;
1028
- this.position = 'right';
1029
- this.showOn = 'hover';
1030
- this.closable = false;
1031
- this.title = 'tool';
1032
- }
1033
- /**
1034
- * Click-outside handler for closable tooltips
1035
- * When closable is true, clicking outside the tooltip content will hide it
1036
- * Re-implemented after Angular 19 upgrade to restore closable tooltip functionality
1037
- */
1038
- onDocumentClick($event) {
1039
- if (this.closable && this.tooltip) {
1040
- const elRef = document.getElementsByClassName('tooltip-content');
1041
- if (elRef?.length && !elRef[0]?.contains($event.target)) {
1042
- this.tooltip.hide();
1043
- }
1044
- }
1045
- }
1046
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TooltipComponent, deps: [{ token: i1.ThemesService }], target: i0.ɵɵFactoryTarget.Component }); }
1047
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.17", type: TooltipComponent, isStandalone: true, selector: "lib-tooltip", inputs: { position: "position", tooltipWidth: ["tooltipWidth", "tooltipWidth", (value) => {
1048
- if (value === undefined || value === null)
1049
- return 0;
1050
- return typeof value === 'string' ? parseInt(value, 10) || 0 : value;
1051
- }], tooltipHeight: ["tooltipHeight", "tooltipHeight", (value) => {
1052
- if (value === undefined || value === null)
1053
- return 0;
1054
- return typeof value === 'string' ? parseInt(value, 10) || 0 : value;
1055
- }], showOn: "showOn", closable: ["closable", "closable", (value) => value === true || value === 'true'], title: "title", callout: ["callout", "callout", (value) => value === true || value === 'true'] }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0, template: "<div kendoTooltip #tooltip [tooltipTemplate]=\"template\" [position]=\"position\" [title]=\"title\" [callout]=\"callout\"\n [showOn]=\"showOn\" [tooltipWidth]=\"tooltipWidth\" [tooltipHeight]=\"tooltipHeight\" [closable]=\"closable\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #template>\n <ng-content select=\"div.tooltip-content\"></ng-content>\n</ng-template>\n", styles: [".random-css-to-not-keep-this-file-empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: TooltipModule$1 }, { kind: "directive", type: i2$4.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "titleTemplate", "showOn", "showAfter", "callout", "closable", "offset", "tooltipWidth", "tooltipHeight", "tooltipClass", "tooltipContentClass", "collision", "closeTitle", "tooltipTemplate"], exportAs: ["kendoTooltip"] }] }); }
1056
- }
1057
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TooltipComponent, decorators: [{
1058
- type: Component,
1059
- args: [{ standalone: true, selector: 'lib-tooltip', imports: [TooltipModule$1], template: "<div kendoTooltip #tooltip [tooltipTemplate]=\"template\" [position]=\"position\" [title]=\"title\" [callout]=\"callout\"\n [showOn]=\"showOn\" [tooltipWidth]=\"tooltipWidth\" [tooltipHeight]=\"tooltipHeight\" [closable]=\"closable\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #template>\n <ng-content select=\"div.tooltip-content\"></ng-content>\n</ng-template>\n", styles: [".random-css-to-not-keep-this-file-empty{display:none}\n"] }]
1060
- }], ctorParameters: () => [{ type: i1.ThemesService }], propDecorators: { position: [{
1061
- type: Input
1062
- }], tooltipWidth: [{
1063
- type: Input,
1064
- args: [{ transform: (value) => {
1065
- if (value === undefined || value === null)
1066
- return 0;
1067
- return typeof value === 'string' ? parseInt(value, 10) || 0 : value;
1068
- } }]
1069
- }], tooltipHeight: [{
1070
- type: Input,
1071
- args: [{ transform: (value) => {
1072
- if (value === undefined || value === null)
1073
- return 0;
1074
- return typeof value === 'string' ? parseInt(value, 10) || 0 : value;
1075
- } }]
1076
- }], showOn: [{
1077
- type: Input
1078
- }], closable: [{
1079
- type: Input,
1080
- args: [{ transform: (value) => value === true || value === 'true' }]
1081
- }], title: [{
1082
- type: Input
1083
- }], callout: [{
1084
- type: Input,
1085
- args: [{ transform: (value) => value === true || value === 'true' }]
1086
- }], tooltip: [{
1087
- type: ViewChild,
1088
- args: ['tooltip']
1089
- }], onDocumentClick: [{
1090
- type: HostListener,
1091
- args: ['document:click', ['$event']]
1092
- }] } });
1093
-
1094
1096
  class TooltipModule {
1095
1097
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1096
1098
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: TooltipModule, imports: [CommonModule,