design-angular-kit
Version:
Un toolkit Angular conforme alle linee guida di design per i servizi web della PA
78 lines • 6.61 kB
JavaScript
import { ColorsEnum } from '../../../enums/colors.enums';
import { SizesEnum } from '../../../enums/sizes.enum';
import { Directive, HostBinding, Input } from '@angular/core';
import * as i0 from "@angular/core";
export class ItAvatarDirective {
/**
* Indica il colore dell'avatar. Può assumere i valori:
* <ul>
* <li> primary
* <li> secondary
* <li> green
* <li> orange
* <li> red
* </ul>
*/
get color() {
return this._color;
}
set color(value) {
const colorsKey = value;
if (ColorsEnum[colorsKey]) {
this._color = ColorsEnum[colorsKey];
}
else {
this._color = undefined;
}
}
/**
* Indica la grandezza dell'avatar. Può assumere i valori:
* <ul>
* <li> xs
* <li> sm
* <li> lg
* <li> xl
* <li> xxl
* </ul>
*/
get size() {
return this._size;
}
set size(value) {
const sizesKey = value;
if (SizesEnum[sizesKey]) {
this._size = SizesEnum[sizesKey];
}
else {
this._size = undefined;
}
}
get hostClasses() {
let cssClass = 'avatar';
if (this.size) {
cssClass += ` ${this.size}`;
}
if (this.color) {
cssClass += ` avatar-${this.color}`;
}
return cssClass;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAvatarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: ItAvatarDirective, isStandalone: true, selector: "[itAvatar]", inputs: { color: "color", size: "size" }, host: { properties: { "class": "this.hostClasses" } }, exportAs: ["itAvatar"], ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAvatarDirective, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: '[itAvatar]',
exportAs: 'itAvatar',
}]
}], propDecorators: { color: [{
type: Input
}], size: [{
type: Input
}], hostClasses: [{
type: HostBinding,
args: ['class']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9hdmF0YXIvYXZhdGFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPOUQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1Qjs7Ozs7Ozs7O09BU0c7SUFDSCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQXlCO1FBQ2pDLE1BQU0sU0FBUyxHQUFHLEtBQWdDLENBQUM7UUFDbkQsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUF5QjtRQUNoQyxNQUFNLFFBQVEsR0FBRyxLQUErQixDQUFDO1FBQ2pELElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUlELElBQ0ksV0FBVztRQUNiLElBQUksUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLFFBQVEsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixRQUFRLElBQUksV0FBVyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEMsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OEdBOURVLGlCQUFpQjtrR0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUw3QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCOzhCQWFLLEtBQUs7c0JBRFIsS0FBSztnQkF3QkYsSUFBSTtzQkFEUCxLQUFLO2dCQWdCRixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yc0VudW0gfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9jb2xvcnMuZW51bXMnO1xuaW1wb3J0IHsgU2l6ZXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvc2l6ZXMuZW51bSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbaXRBdmF0YXJdJyxcbiAgZXhwb3J0QXM6ICdpdEF2YXRhcicsXG59KVxuZXhwb3J0IGNsYXNzIEl0QXZhdGFyRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIEluZGljYSBpbCBjb2xvcmUgZGVsbCdhdmF0YXIuIFB1w7IgYXNzdW1lcmUgaSB2YWxvcmk6XG4gICAqIDx1bD5cbiAgICogPGxpPiBwcmltYXJ5XG4gICAqIDxsaT4gc2Vjb25kYXJ5XG4gICAqIDxsaT4gZ3JlZW5cbiAgICogPGxpPiBvcmFuZ2VcbiAgICogPGxpPiByZWRcbiAgICogPC91bD5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBjb2xvcigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcbiAgfVxuICBzZXQgY29sb3IodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGNvbG9yc0tleSA9IHZhbHVlIGFzIGtleW9mIHR5cGVvZiBDb2xvcnNFbnVtO1xuICAgIGlmIChDb2xvcnNFbnVtW2NvbG9yc0tleV0pIHtcbiAgICAgIHRoaXMuX2NvbG9yID0gQ29sb3JzRW51bVtjb2xvcnNLZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9jb2xvciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfY29sb3I/OiBDb2xvcnNFbnVtO1xuICAvKipcbiAgICogSW5kaWNhIGxhIGdyYW5kZXp6YSBkZWxsJ2F2YXRhci4gUHXDsiBhc3N1bWVyZSBpIHZhbG9yaTpcbiAgICogPHVsPlxuICAgKiA8bGk+IHhzXG4gICAqIDxsaT4gc21cbiAgICogPGxpPiBsZ1xuICAgKiA8bGk+IHhsXG4gICAqIDxsaT4geHhsXG4gICAqIDwvdWw+XG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgc2l6ZSgpOiBTaXplc0VudW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zaXplO1xuICB9XG4gIHNldCBzaXplKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBzaXplc0tleSA9IHZhbHVlIGFzIGtleW9mIHR5cGVvZiBTaXplc0VudW07XG4gICAgaWYgKFNpemVzRW51bVtzaXplc0tleV0pIHtcbiAgICAgIHRoaXMuX3NpemUgPSBTaXplc0VudW1bc2l6ZXNLZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zaXplID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NpemU/OiBTaXplc0VudW07XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBzdHJpbmcge1xuICAgIGxldCBjc3NDbGFzcyA9ICdhdmF0YXInO1xuXG4gICAgaWYgKHRoaXMuc2l6ZSkge1xuICAgICAgY3NzQ2xhc3MgKz0gYCAke3RoaXMuc2l6ZX1gO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbG9yKSB7XG4gICAgICBjc3NDbGFzcyArPSBgIGF2YXRhci0ke3RoaXMuY29sb3J9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gY3NzQ2xhc3M7XG4gIH1cbn1cbiJdfQ==