cfc-ds
Version:
Design System do Conselho Federal de Contabilidade baseado no govbr-ds
54 lines • 7.83 kB
JavaScript
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
import { LogoViewMode } from '../../enums/logo-view-mode.enum';
import * as i0 from "@angular/core";
export class LogoComponent {
viewMode = LogoViewMode.default;
isClickable = false;
width;
imageUrl;
clickEvent = new EventEmitter();
get svgPath() {
switch (this.viewMode) {
case LogoViewMode.default:
return '../../../assets/logo-default.svg';
case LogoViewMode.neutral:
return '../../../assets/logo-neutral.svg';
case LogoViewMode.voluntary:
return '../../../assets/logo-voluntary.svg';
case LogoViewMode.external:
if (this.imageUrl) {
return this.imageUrl;
}
else {
console.error(`imageUrl must not be empty`);
return '../../../assets/logo-default.svg';
}
default:
throw new Error(`invalid ViewMode: ${this.viewMode}`);
}
}
get svgWidth() {
return this.width ? `${this.width}px` : '100%';
}
onClick() {
if (this.clickEvent)
this.clickEvent.emit();
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LogoComponent, selector: "cfc-logo", inputs: { viewMode: "viewMode", isClickable: "isClickable", width: "width", imageUrl: "imageUrl" }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\r\n<!-- eslint-disable @angular-eslint/template/click-events-have-key-events -->\r\n<img\r\n alt=\"logo do conselho federal de contabilidade\"\r\n [src]=\"svgPath\"\r\n [style.cursor]=\"isClickable ? 'pointer' : 'default'\"\r\n [style.width]=\"svgWidth\"\r\n (click)=\"isClickable ? onClick(): undefined\"\r\n>\r\n", styles: ["svg{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.Default });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LogoComponent, decorators: [{
type: Component,
args: [{ selector: 'cfc-logo', changeDetection: ChangeDetectionStrategy.Default, template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\r\n<!-- eslint-disable @angular-eslint/template/click-events-have-key-events -->\r\n<img\r\n alt=\"logo do conselho federal de contabilidade\"\r\n [src]=\"svgPath\"\r\n [style.cursor]=\"isClickable ? 'pointer' : 'default'\"\r\n [style.width]=\"svgWidth\"\r\n (click)=\"isClickable ? onClick(): undefined\"\r\n>\r\n", styles: ["svg{display:block}\n"] }]
}], propDecorators: { viewMode: [{
type: Input
}], isClickable: [{
type: Input
}], width: [{
type: Input
}], imageUrl: [{
type: Input
}], clickEvent: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZmMtZHMvc3JjL2xpYi9jb21wb25lbnRzL2xvZ28vbG9nby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZmMtZHMvc3JjL2xpYi9jb21wb25lbnRzL2xvZ28vbG9nby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBUS9ELE1BQU0sT0FBTyxhQUFhO0lBRWYsUUFBUSxHQUFpQixZQUFZLENBQUMsT0FBTyxDQUFDO0lBQzlDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsS0FBSyxDQUFVO0lBQ2YsUUFBUSxDQUFVO0lBRWpCLFVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVwRSxJQUFJLE9BQU87UUFDVCxRQUFRLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixLQUFLLFlBQVksQ0FBQyxPQUFPO2dCQUN2QixPQUFPLGtDQUFrQyxDQUFDO1lBQzVDLEtBQUssWUFBWSxDQUFDLE9BQU87Z0JBQ3ZCLE9BQU8sa0NBQWtDLENBQUM7WUFDNUMsS0FBSyxZQUFZLENBQUMsU0FBUztnQkFDekIsT0FBTyxvQ0FBb0MsQ0FBQztZQUM5QyxLQUFLLFlBQVksQ0FBQyxRQUFRO2dCQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUN2QixDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO29CQUM1QyxPQUFPLGtDQUFrQyxDQUFDO2dCQUM1QyxDQUFDO1lBQ0g7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDakQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxVQUFVO1lBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QyxDQUFDO3dHQW5DVSxhQUFhOzRGQUFiLGFBQWEsMkxDaEIxQiw2WUFTQTs7NEZET2EsYUFBYTtrQkFOekIsU0FBUzsrQkFDRSxVQUFVLG1CQUdILHVCQUF1QixDQUFDLE9BQU87OEJBSXZDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IExvZ29WaWV3TW9kZSB9IGZyb20gJy4uLy4uL2VudW1zL2xvZ28tdmlldy1tb2RlLmVudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjZmMtbG9nbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ28uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9sb2dvLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHRcclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ29Db21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSB2aWV3TW9kZTogTG9nb1ZpZXdNb2RlID0gTG9nb1ZpZXdNb2RlLmRlZmF1bHQ7XHJcbiAgQElucHV0KCkgaXNDbGlja2FibGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSB3aWR0aD86IG51bWJlcjtcclxuICBASW5wdXQoKSBpbWFnZVVybD86IHN0cmluZztcclxuXHJcbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgZ2V0IHN2Z1BhdGgoKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAodGhpcy52aWV3TW9kZSkge1xyXG4gICAgICBjYXNlIExvZ29WaWV3TW9kZS5kZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnLi4vLi4vLi4vYXNzZXRzL2xvZ28tZGVmYXVsdC5zdmcnO1xyXG4gICAgICBjYXNlIExvZ29WaWV3TW9kZS5uZXV0cmFsOlxyXG4gICAgICAgIHJldHVybiAnLi4vLi4vLi4vYXNzZXRzL2xvZ28tbmV1dHJhbC5zdmcnO1xyXG4gICAgICBjYXNlIExvZ29WaWV3TW9kZS52b2x1bnRhcnk6XHJcbiAgICAgICAgcmV0dXJuICcuLi8uLi8uLi9hc3NldHMvbG9nby12b2x1bnRhcnkuc3ZnJztcclxuICAgICAgY2FzZSBMb2dvVmlld01vZGUuZXh0ZXJuYWw6XHJcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VVcmwpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmltYWdlVXJsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBpbWFnZVVybCBtdXN0IG5vdCBiZSBlbXB0eWApO1xyXG4gICAgICAgICAgcmV0dXJuICcuLi8uLi8uLi9hc3NldHMvbG9nby1kZWZhdWx0LnN2Zyc7XHJcbiAgICAgICAgfVxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBWaWV3TW9kZTogJHt0aGlzLnZpZXdNb2RlfWApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHN2Z1dpZHRoKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy53aWR0aCA/IGAke3RoaXMud2lkdGh9cHhgIDogJzEwMCUnO1xyXG4gIH1cclxuXHJcbiAgb25DbGljaygpIHtcclxuICAgIGlmICh0aGlzLmNsaWNrRXZlbnQpIHRoaXMuY2xpY2tFdmVudC5lbWl0KCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8IS0tIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC90ZW1wbGF0ZS9pbnRlcmFjdGl2ZS1zdXBwb3J0cy1mb2N1cyAtLT5cclxuPCEtLSBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvdGVtcGxhdGUvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAtLT5cclxuPGltZ1xyXG4gIGFsdD1cImxvZ28gZG8gY29uc2VsaG8gZmVkZXJhbCBkZSBjb250YWJpbGlkYWRlXCJcclxuICBbc3JjXT1cInN2Z1BhdGhcIlxyXG4gIFtzdHlsZS5jdXJzb3JdPVwiaXNDbGlja2FibGUgPyAncG9pbnRlcicgOiAnZGVmYXVsdCdcIlxyXG4gIFtzdHlsZS53aWR0aF09XCJzdmdXaWR0aFwiXHJcbiAgKGNsaWNrKT1cImlzQ2xpY2thYmxlID8gb25DbGljaygpOiB1bmRlZmluZWRcIlxyXG4+XHJcbiJdfQ==