UNPKG

design-angular-kit

Version:

Un toolkit Angular conforme alle linee guida di design per i servizi web della PA

63 lines 8.95 kB
import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core'; import { inputToBoolean } from '../../../utils/coercion'; import { IT_ASSET_BASE_PATH } from '../../../interfaces/design-angular-kit-config'; import * as i0 from "@angular/core"; export class ItIconComponent { /** * Return the icon href */ get iconHref() { return `${this.assetBasePath}/dist/svg/sprites.svg#it-${this.name}`; } /** * Return the icon class */ get iconClass() { let iconClass = 'icon'; if (this.size) { iconClass += ` icon-${this.size}`; } if (this.color) { iconClass += ` icon-${this.color}`; } if (this.padded) { iconClass += ` icon-padded`; } if (this.svgClass) { iconClass += ` ${this.svgClass}`; } return iconClass; } get isAriaHidden() { return this.labelWaria == undefined && this.title == undefined; } get role() { return this.labelWaria == undefined && this.title == undefined ? null : 'img'; } constructor() { this.assetBasePath = inject(IT_ASSET_BASE_PATH); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItIconComponent, isStandalone: true, selector: "it-icon", inputs: { name: "name", size: "size", color: "color", padded: ["padded", "padded", inputToBoolean], svgClass: "svgClass", title: "title", labelWaria: "labelWaria" }, ngImport: i0, template: "<svg [attr.role]=\"role\" [attr.aria-hidden]=\"isAriaHidden\" [attr.aria-label]=\"title || labelWaria\" [class]=\"iconClass\">\n @if (title || labelWaria) {\n <title>{{ title || labelWaria }}</title>\n }\n <use [attr.href]=\"iconHref\" [attr.xlink:href]=\"iconHref\"></use>\n</svg>\n", styles: [":host{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItIconComponent, decorators: [{ type: Component, args: [{ standalone: true, selector: 'it-icon', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<svg [attr.role]=\"role\" [attr.aria-hidden]=\"isAriaHidden\" [attr.aria-label]=\"title || labelWaria\" [class]=\"iconClass\">\n @if (title || labelWaria) {\n <title>{{ title || labelWaria }}</title>\n }\n <use [attr.href]=\"iconHref\" [attr.xlink:href]=\"iconHref\"></use>\n</svg>\n", styles: [":host{display:contents}\n"] }] }], ctorParameters: () => [], propDecorators: { name: [{ type: Input, args: [{ required: true }] }], size: [{ type: Input }], color: [{ type: Input }], padded: [{ type: Input, args: [{ transform: inputToBoolean }] }], svgClass: [{ type: Input }], title: [{ type: Input }], labelWaria: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQVVuRixNQUFNLE9BQU8sZUFBZTtJQXFDMUI7O09BRUc7SUFDSCxJQUFjLFFBQVE7UUFDcEIsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLDRCQUE0QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBYyxTQUFTO1FBQ3JCLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLFNBQVMsSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixTQUFTLElBQUksU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLFNBQVMsSUFBSSxjQUFjLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLFNBQVMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQVFELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUM7SUFDakUsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hGLENBQUM7SUFFRDtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDbEQsQ0FBQzs4R0FoRlUsZUFBZTtrR0FBZixlQUFlLDhIQW9CTixjQUFjLDZGQ2pDcEMsbVNBTUE7OzJGRE9hLGVBQWU7a0JBUjNCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLFNBQVMsbUJBR0YsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxFQUFFO3dEQU1nQixJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLaEIsSUFBSTtzQkFBWixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFNZ0MsTUFBTTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBSzNCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uQ29sb3IsIEljb25OYW1lLCBJY29uU2l6ZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvaWNvbic7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcbmltcG9ydCB7IElUX0FTU0VUX0JBU0VfUEFUSCB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZGVzaWduLWFuZ3VsYXIta2l0LWNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogJzpob3N0IHtkaXNwbGF5OiBjb250ZW50czt9JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBJdEljb25Db21wb25lbnQge1xuICAvKipcbiAgICogVGhlIGljb24gbmFtZVxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbmFtZSE6IEljb25OYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiBzaXplXG4gICAqL1xuICBASW5wdXQoKSBzaXplOiBJY29uU2l6ZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGljb24gY29sb3JcbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yOiBJY29uQ29sb3IgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHBhZGRpbmcgcHJvcG9ydGlvbmFsIHRvIHRoZSBzaXplIG9mIHRoZSBzdXJyb3VuZGluZyBpY29uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBwYWRkZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gY2xhc3Mgb2Ygc3ZnXG4gICAqL1xuICBASW5wdXQoKSBzdmdDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaXRsZSBvZiB0aGUgaWNvblxuICAgKi9cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQ3VzdG9tIFdhcmlhIGxhYmVsXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbFdhcmlhOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgaWNvbiBocmVmXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGljb25IcmVmKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuYXNzZXRCYXNlUGF0aH0vZGlzdC9zdmcvc3ByaXRlcy5zdmcjaXQtJHt0aGlzLm5hbWV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGljb24gY2xhc3NcbiAgICovXG4gIHByb3RlY3RlZCBnZXQgaWNvbkNsYXNzKCk6IHN0cmluZyB7XG4gICAgbGV0IGljb25DbGFzcyA9ICdpY29uJztcbiAgICBpZiAodGhpcy5zaXplKSB7XG4gICAgICBpY29uQ2xhc3MgKz0gYCBpY29uLSR7dGhpcy5zaXplfWA7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbG9yKSB7XG4gICAgICBpY29uQ2xhc3MgKz0gYCBpY29uLSR7dGhpcy5jb2xvcn1gO1xuICAgIH1cbiAgICBpZiAodGhpcy5wYWRkZWQpIHtcbiAgICAgIGljb25DbGFzcyArPSBgIGljb24tcGFkZGVkYDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3ZnQ2xhc3MpIHtcbiAgICAgIGljb25DbGFzcyArPSBgICR7dGhpcy5zdmdDbGFzc31gO1xuICAgIH1cbiAgICByZXR1cm4gaWNvbkNsYXNzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBib290c3RyYXAtaXRhbGlhIGFzc2V0IGZvbGRlciBwYXRoXG4gICAqIEBkZWZhdWx0IC4vYm9vdHN0cmFwLWl0YWxpYVxuICAgKi9cbiAgcHJvdGVjdGVkIGFzc2V0QmFzZVBhdGg6IHN0cmluZztcblxuICBnZXQgaXNBcmlhSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxhYmVsV2FyaWEgPT0gdW5kZWZpbmVkICYmIHRoaXMudGl0bGUgPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IHJvbGUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxXYXJpYSA9PSB1bmRlZmluZWQgJiYgdGhpcy50aXRsZSA9PSB1bmRlZmluZWQgPyBudWxsIDogJ2ltZyc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFzc2V0QmFzZVBhdGggPSBpbmplY3QoSVRfQVNTRVRfQkFTRV9QQVRIKTtcbiAgfVxufVxuIiwiPHN2ZyBbYXR0ci5yb2xlXT1cInJvbGVcIiBbYXR0ci5hcmlhLWhpZGRlbl09XCJpc0FyaWFIaWRkZW5cIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlIHx8IGxhYmVsV2FyaWFcIiBbY2xhc3NdPVwiaWNvbkNsYXNzXCI+XG4gIEBpZiAodGl0bGUgfHwgbGFiZWxXYXJpYSkge1xuICAgIDx0aXRsZT57eyB0aXRsZSB8fCBsYWJlbFdhcmlhIH19PC90aXRsZT5cbiAgfVxuICA8dXNlIFthdHRyLmhyZWZdPVwiaWNvbkhyZWZcIiBbYXR0ci54bGluazpocmVmXT1cImljb25IcmVmXCI+PC91c2U+XG48L3N2Zz5cbiJdfQ==