@kushki/ng-suka
Version:
<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>
64 lines • 4.73 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { HostBinding, Component, Input } from '@angular/core';
export class Avatar {
constructor() {
this.color = 'gray';
this.class = '';
this.size = 'md';
}
/**
* @return {?}
*/
get attrClass() {
return `avatar avatar--${this.color} avatar--${this.size} ${this.class}`;
}
/**
* @return {?}
*/
getInitials() {
if (this.name === '') {
return '';
}
/** @type {?} */
const names = this.name.split(' ');
/** @type {?} */
let initials = names[0].substring(0, 1).toUpperCase();
if (names.length > 1) {
initials += names[names.length - 1].substring(0, 1).toUpperCase();
}
return initials;
}
}
Avatar.decorators = [
{ type: Component, args: [{
selector: `suka-avatar`,
template: `
<ng-container *ngIf="!imgSrc">{{getInitials()}}</ng-container>
<img *ngIf="imgSrc" [src]="imgSrc" />
`
}] }
];
Avatar.propDecorators = {
imgSrc: [{ type: Input }],
name: [{ type: Input }],
color: [{ type: Input }],
class: [{ type: Input }],
size: [{ type: Input }],
attrClass: [{ type: HostBinding, args: ['attr.class',] }]
};
if (false) {
/** @type {?} */
Avatar.prototype.imgSrc;
/** @type {?} */
Avatar.prototype.name;
/** @type {?} */
Avatar.prototype.color;
/** @type {?} */
Avatar.prototype.class;
/** @type {?} */
Avatar.prototype.size;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BrdXNoa2kvbmctc3VrYS8iLCJzb3VyY2VzIjpbImxpYi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBVTNFLE1BQU0sT0FBTyxNQUFNO0lBUG5CO1FBWVcsVUFBSyxHQUN5RCxNQUFNLENBQUM7UUFFckUsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLFNBQUksR0FBc0MsSUFBSSxDQUFDO0lBbUIxRCxDQUFDOzs7O0lBakJDLElBQStCLFNBQVM7UUFDdEMsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLEtBQUssWUFBWSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzRSxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLEVBQUU7WUFDcEIsT0FBTyxFQUFFLENBQUM7U0FDWDs7Y0FFSyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDOztZQUM5QixRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1FBRXJELElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEIsUUFBUSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkU7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7WUFuQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixRQUFRLEVBQUU7OztHQUdUO2FBQ0Y7OztxQkFFRSxLQUFLO21CQUVMLEtBQUs7b0JBRUwsS0FBSztvQkFHTCxLQUFLO21CQUVMLEtBQUs7d0JBRUwsV0FBVyxTQUFDLFlBQVk7Ozs7SUFYekIsd0JBQXdCOztJQUV4QixzQkFBc0I7O0lBRXRCLHVCQUM4RTs7SUFFOUUsdUJBQW9COztJQUVwQixzQkFBd0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIb3N0QmluZGluZywgQ29tcG9uZW50LCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogYHN1a2EtYXZhdGFyYCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWltZ1NyY1wiPnt7Z2V0SW5pdGlhbHMoKX19PC9uZy1jb250YWluZXI+XG4gICAgPGltZyAqbmdJZj1cImltZ1NyY1wiIFtzcmNdPVwiaW1nU3JjXCIgLz5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXIge1xuICBASW5wdXQoKSBpbWdTcmM6IHN0cmluZztcblxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgY29sb3I6ICdibHVlJyB8ICdhenVyZScgfCAnaW5kaWdvJyB8ICdwdXJwbGUnIHwgJ3BpbmsnIHwgJ3JlZCcgfCAnb3JhbmdlJyB8XG4gICd5ZWxsb3cnIHwgJ2xpbWUnIHwgJ2dyZWVuJyB8ICd0ZWFsJyB8ICdjeWFuJyB8ICdncmF5JyB8ICdncmF5LWRhcmsnID0gJ2dyYXknO1xuXG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XG5cbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJyB8ICcyeGwnID0gJ21kJztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuY2xhc3MnKSBnZXQgYXR0ckNsYXNzKCkge1xuICAgIHJldHVybiBgYXZhdGFyIGF2YXRhci0tJHt0aGlzLmNvbG9yfSBhdmF0YXItLSR7dGhpcy5zaXplfSAke3RoaXMuY2xhc3N9YDtcbiAgfVxuXG4gIGdldEluaXRpYWxzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubmFtZSA9PT0gJycpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBuYW1lcyA9IHRoaXMubmFtZS5zcGxpdCgnICcpO1xuICAgIGxldCBpbml0aWFscyA9IG5hbWVzWzBdLnN1YnN0cmluZygwLCAxKS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgaWYgKG5hbWVzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGluaXRpYWxzICs9IG5hbWVzW25hbWVzLmxlbmd0aCAtIDFdLnN1YnN0cmluZygwLCAxKS50b1VwcGVyQ2FzZSgpO1xuICAgIH1cbiAgICByZXR1cm4gaW5pdGlhbHM7XG4gIH1cbn1cbiJdfQ==