UNPKG

@lifeintelligencegroup/ngx-lig-ari

Version:

Life Intelligence Group Artificial Intelligence

60 lines 8.87 kB
import { Component, Input, ViewChild, Inject, } from '@angular/core'; import { AriConfigService } from '../../model/ari-bot.mode'; import { ariIcons } from '../../model/ari-svg-icons'; import * as i0 from "@angular/core"; import * as i1 from "@ionic/angular"; import * as i2 from "@angular/common"; export class AriSvgIconComponent { constructor(cdRef, zone, config) { this.cdRef = cdRef; this.zone = zone; this.config = config; this.buttonColor = '#1D57A4'; if (config.settings) { this.buttonColor = config.settings.theme; } } ngAfterViewInit() { if (this.name && this.type != 'default') { this.renderIcon(); } else if (this.type == 'default') { this.svgIcon = ariIcons[this.name]; } this.cdRef.detectChanges(); } renderIcon() { for (const name in ariIcons) { if (name === this.name) { // this.svgIcon = this.sanitizer.bypassSecurityTrustHtml( // 'data:image/svg+xml;utf8,' + ariIcons[name] // ); this.zone.run(() => { this.svgIcon = 'data:image/svg+xml;utf8,' + ariIcons[name]; }); return; } } } } AriSvgIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: AriSvgIconComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: AriConfigService }], target: i0.ɵɵFactoryTarget.Component }); AriSvgIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: AriSvgIconComponent, selector: "lig-ari-icon", inputs: { src: "src", type: "type", name: "name", size: "size" }, viewQueries: [{ propertyName: "dataContainer", first: true, predicate: ["dataContainer"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"name\">\n <ion-icon\n [class.goal-icon]=\"type === 'goal'\"\n *ngIf=\"type != 'default'\"\n [src]=\"svgIcon\"\n ></ion-icon>\n <ion-icon\n [src]=\"svgIcon\"\n *ngIf=\"type == 'default'\"\n [ngStyle]=\"{ color: buttonColor }\"\n ></ion-icon>\n</ng-container>\n<ng-container *ngIf=\"src\">\n <ion-icon [src]=\"src\"></ion-icon>\n</ng-container>\n", styles: [".goal-icon{font-size:20px;line-height:20px}\n"], components: [{ type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: AriSvgIconComponent, decorators: [{ type: Component, args: [{ selector: 'lig-ari-icon', template: "<ng-container *ngIf=\"name\">\n <ion-icon\n [class.goal-icon]=\"type === 'goal'\"\n *ngIf=\"type != 'default'\"\n [src]=\"svgIcon\"\n ></ion-icon>\n <ion-icon\n [src]=\"svgIcon\"\n *ngIf=\"type == 'default'\"\n [ngStyle]=\"{ color: buttonColor }\"\n ></ion-icon>\n</ng-container>\n<ng-container *ngIf=\"src\">\n <ion-icon [src]=\"src\"></ion-icon>\n</ng-container>\n", styles: [".goal-icon{font-size:20px;line-height:20px}\n"] }] }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined, decorators: [{ type: Inject, args: [AriConfigService] }] }]; }, propDecorators: { src: [{ type: Input }], type: [{ type: Input }], name: [{ type: Input }], size: [{ type: Input }], dataContainer: [{ type: ViewChild, args: ['dataContainer', { static: false }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpLXN2Zy1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWctYXJpL3NyYy9saWIvY29tcG9uZW50cy9hcmktc3ZnLWljb24vYXJpLXN2Zy1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWctYXJpL3NyYy9saWIvY29tcG9uZW50cy9hcmktc3ZnLWljb24vYXJpLXN2Zy1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsRUFFVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBT3JELE1BQU0sT0FBTyxtQkFBbUI7SUFXOUIsWUFDVSxLQUF3QixFQUN4QixJQUFZLEVBQ2MsTUFBaUI7UUFGM0MsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNjLFdBQU0sR0FBTixNQUFNLENBQVc7UUFKckQsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFNdEIsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRTtZQUN2QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLFVBQVU7UUFDaEIsS0FBSyxNQUFNLElBQUksSUFBSSxRQUFRLEVBQUU7WUFDM0IsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDdEIseURBQXlEO2dCQUN6RCxnREFBZ0Q7Z0JBQ2hELEtBQUs7Z0JBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLDBCQUEwQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0QsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTzthQUNSO1NBQ0Y7SUFDSCxDQUFDOztnSEExQ1UsbUJBQW1CLHlFQWNwQixnQkFBZ0I7b0dBZGYsbUJBQW1CLHNPQ25CaEMsdVlBZUE7MkZESWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGNBQWM7OzBCQWtCckIsTUFBTTsyQkFBQyxnQkFBZ0I7NENBWGpCLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFeUMsYUFBYTtzQkFBM0QsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBBZnRlclZpZXdJbml0LFxuICBJbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgTmdab25lLFxuICBJbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBcmlDb25maWcsIEFyaUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2RlbC9hcmktYm90Lm1vZGUnO1xuaW1wb3J0IHsgYXJpSWNvbnMgfSBmcm9tICcuLi8uLi9tb2RlbC9hcmktc3ZnLWljb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGlnLWFyaS1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FyaS1zdmctaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FyaS1zdmctaWNvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBcmlTdmdJY29uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHN2Z0ljb246IGFueTtcblxuICBASW5wdXQoKSBzcmM6IHN0cmluZztcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU6ICdsYXJnZScgfCAnc21hbGwnIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ2RhdGFDb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgZGF0YUNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICBidXR0b25Db2xvciA9ICcjMUQ1N0E0JztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgQEluamVjdChBcmlDb25maWdTZXJ2aWNlKSBwcml2YXRlIGNvbmZpZzogQXJpQ29uZmlnXG4gICkge1xuICAgIGlmIChjb25maWcuc2V0dGluZ3MpIHtcbiAgICAgIHRoaXMuYnV0dG9uQ29sb3IgPSBjb25maWcuc2V0dGluZ3MudGhlbWU7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5hbWUgJiYgdGhpcy50eXBlICE9ICdkZWZhdWx0Jykge1xuICAgICAgdGhpcy5yZW5kZXJJY29uKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gJ2RlZmF1bHQnKSB7XG4gICAgICB0aGlzLnN2Z0ljb24gPSBhcmlJY29uc1t0aGlzLm5hbWVdO1xuICAgIH1cbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVySWNvbigpIHtcbiAgICBmb3IgKGNvbnN0IG5hbWUgaW4gYXJpSWNvbnMpIHtcbiAgICAgIGlmIChuYW1lID09PSB0aGlzLm5hbWUpIHtcbiAgICAgICAgLy8gdGhpcy5zdmdJY29uID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXG4gICAgICAgIC8vICAgJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCcgKyBhcmlJY29uc1tuYW1lXVxuICAgICAgICAvLyApO1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN2Z0ljb24gPSAnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJyArIGFyaUljb25zW25hbWVdO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5hbWVcIj5cbiAgPGlvbi1pY29uXG4gICAgW2NsYXNzLmdvYWwtaWNvbl09XCJ0eXBlID09PSAnZ29hbCdcIlxuICAgICpuZ0lmPVwidHlwZSAhPSAnZGVmYXVsdCdcIlxuICAgIFtzcmNdPVwic3ZnSWNvblwiXG4gID48L2lvbi1pY29uPlxuICA8aW9uLWljb25cbiAgICBbc3JjXT1cInN2Z0ljb25cIlxuICAgICpuZ0lmPVwidHlwZSA9PSAnZGVmYXVsdCdcIlxuICAgIFtuZ1N0eWxlXT1cInsgY29sb3I6IGJ1dHRvbkNvbG9yIH1cIlxuICA+PC9pb24taWNvbj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNyY1wiPlxuICA8aW9uLWljb24gW3NyY109XCJzcmNcIj48L2lvbi1pY29uPlxuPC9uZy1jb250YWluZXI+XG4iXX0=