import { DOCUMENT, NgClass } from '@angular/common'; import { ChangeDetectionStrategy, Component, Inject, Input } from '@angular/core'; import { icons } from './icon.constants'; import * as i0 from "@angular/core"; export class IconComponent { constructor(renderer, document, el) { this.renderer = renderer; this.document = document; this.el = el; this.icon = ''; this.iconClass = ''; this.fill = 'currentColor'; this.strokeWidth = 1.5; this.strokeColor = 'currentColor'; this.size = '6'; this.iconPath = ''; } ngOnInit() { this.injectSVG(); this.strokeColor = this.getFormattedColor(this.strokeColor); this.fill = this.getFormattedColor(this.fill); } getFormattedColor(color) { if (color.startsWith('--')) { const rgbValue = getComputedStyle(document.documentElement).getPropertyValue(color).trim(); return `rgb(${rgbValue})`; } return color; } getIconPath() { return `#${this.icon}`; } injectSVG() { const svgElement = this.renderer.createElement('div'); this.renderer.setProperty(svgElement, 'innerHTML', icons); this.renderer.setStyle(svgElement, 'display', 'none'); this.renderer.appendChild(this.document.body, svgElement); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconComponent, deps: [{ token: i0.Renderer2 }, { token: DOCUMENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: IconComponent, isStandalone: true, selector: "ct-icon", inputs: { icon: "icon", iconClass: "iconClass", fill: "fill", strokeWidth: "strokeWidth", strokeColor: "strokeColor", size: "size" }, ngImport: i0, template: "\n \n\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconComponent, decorators: [{ type: Component, args: [{ selector: 'ct-icon', standalone: true, imports: [NgClass], changeDetection: ChangeDetectionStrategy.OnPush, template: "\n \n\n" }] }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: Document, decorators: [{ type: Inject, args: [DOCUMENT] }] }, { type: i0.ElementRef }], propDecorators: { icon: [{ type: Input }], iconClass: [{ type: Input }], fill: [{ type: Input }], strokeWidth: [{ type: Input }], strokeColor: [{ type: Input }], size: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaXJjbGV0b25lL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9pY29uL2ljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2lyY2xldG9uZS9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvaWNvbi9pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBU3pDLE1BQU0sT0FBTyxhQUFhO0lBU3hCLFlBQ1UsUUFBbUIsRUFDRCxRQUFrQixFQUNwQyxFQUFjO1FBRmQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNELGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQVhmLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsU0FBSSxHQUFHLGNBQWMsQ0FBQztRQUN0QixnQkFBVyxHQUFHLEdBQUcsQ0FBQztRQUNsQixnQkFBVyxHQUFHLGNBQWMsQ0FBQztRQUM3QixTQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxFQUFFLENBQUM7SUFNWCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFhO1FBQzdCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzNCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMzRixPQUFPLE9BQU8sUUFBUSxHQUFHLENBQUM7UUFDNUIsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzVELENBQUM7OEdBdENVLGFBQWEsMkNBV2QsUUFBUTtrR0FYUCxhQUFhLHlNQ1gxQiwyTkFRQSw0Q0REWSxPQUFPOzsyRkFJTixhQUFhO2tCQVB6QixTQUFTOytCQUNFLFNBQVMsY0FDUCxJQUFJLFdBQ1AsQ0FBQyxPQUFPLENBQUMsbUJBRUQsdUJBQXVCLENBQUMsTUFBTTs7MEJBYTVDLE1BQU07MkJBQUMsUUFBUTtrRUFWVCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpY29ucyB9IGZyb20gJy4vaWNvbi5jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdC1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3NdLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgaWNvbiA9ICcnO1xuICBASW5wdXQoKSBpY29uQ2xhc3MgPSAnJztcbiAgQElucHV0KCkgZmlsbCA9ICdjdXJyZW50Q29sb3InO1xuICBASW5wdXQoKSBzdHJva2VXaWR0aCA9IDEuNTtcbiAgQElucHV0KCkgc3Ryb2tlQ29sb3IgPSAnY3VycmVudENvbG9yJztcbiAgQElucHV0KCkgc2l6ZSA9ICc2JztcbiAgaWNvblBhdGggPSAnJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZlxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbmplY3RTVkcoKTtcbiAgICB0aGlzLnN0cm9rZUNvbG9yID0gdGhpcy5nZXRGb3JtYXR0ZWRDb2xvcih0aGlzLnN0cm9rZUNvbG9yKTtcbiAgICB0aGlzLmZpbGwgPSB0aGlzLmdldEZvcm1hdHRlZENvbG9yKHRoaXMuZmlsbCk7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRDb2xvcihjb2xvcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoY29sb3Iuc3RhcnRzV2l0aCgnLS0nKSkge1xuICAgICAgY29uc3QgcmdiVmFsdWUgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShjb2xvcikudHJpbSgpO1xuICAgICAgcmV0dXJuIGByZ2IoJHtyZ2JWYWx1ZX0pYDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbG9yO1xuICB9XG5cbiAgZ2V0SWNvblBhdGgoKSB7XG4gICAgcmV0dXJuIGAjJHt0aGlzLmljb259YDtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0U1ZHKCkge1xuICAgIGNvbnN0IHN2Z0VsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkoc3ZnRWxlbWVudCwgJ2lubmVySFRNTCcsIGljb25zKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHN2Z0VsZW1lbnQsICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgc3ZnRWxlbWVudCk7XG4gIH1cbn1cbiIsIjxzdmdcbiAgW25nQ2xhc3NdPVwiaWNvbkNsYXNzXCJcbiAgW2F0dHIuZmlsbF09XCJmaWxsXCJcbiAgW2F0dHIuc3Ryb2tlLXdpZHRoXT1cInN0cm9rZVdpZHRoXCJcbiAgW2F0dHIuc3Ryb2tlXT1cInN0cm9rZUNvbG9yXCJcbiAgY2xhc3M9XCJmbGV4IHNpemUtZnVsbFwiPlxuICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwiZ2V0SWNvblBhdGgoKVwiPjwvdXNlPlxuPC9zdmc+XG4iXX0=