@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>
89 lines • 5.87 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() {
/**
* Sets the avatar color.
*/
this.color = 'gray';
/**
* Sets the avatar class
*/
this.class = '';
/**
* Sets the avatar size.
*/
this.size = 'md';
}
/**
* @return {?}
*/
get attrClass() {
return `avatar avatar--${this.color} avatar--${this.size} ${this.class}`;
}
/**
* Sets the avatar initials according to the name input.
* @return {?}
*/
getInitials() {
if (this.name === '' || !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) {
/**
* Sets an image url for the avatar. If it is set, it displays instead of the name initials.
* @type {?}
*/
Avatar.prototype.imgSrc;
/**
* Avatar name. Used to display its initials (Max 2).
* @type {?}
*/
Avatar.prototype.name;
/**
* Sets the avatar color.
* @type {?}
*/
Avatar.prototype.color;
/**
* Sets the avatar class
* @type {?}
*/
Avatar.prototype.class;
/**
* Sets the avatar size.
* @type {?}
*/
Avatar.prototype.size;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BrdXNoa2kvbmctc3VrYS8iLCJzb3VyY2VzIjpbImxpYi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBVTNFLE1BQU0sT0FBTyxNQUFNO0lBUG5COzs7O1FBcUJXLFVBQUssR0FDeUQsTUFBTSxDQUFDOzs7O1FBS3JFLFVBQUssR0FBRyxFQUFFLENBQUM7Ozs7UUFLWCxTQUFJLEdBQXNDLElBQUksQ0FBQztJQXNCMUQsQ0FBQzs7OztJQXBCQyxJQUErQixTQUFTO1FBQ3RDLE9BQU8sa0JBQWtCLElBQUksQ0FBQyxLQUFLLFlBQVksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0UsQ0FBQzs7Ozs7SUFLRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDbEMsT0FBTyxFQUFFLENBQUM7U0FDWDs7Y0FFSyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDOztZQUM5QixRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1FBRXJELElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEIsUUFBUSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkU7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7WUFyREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixRQUFRLEVBQUU7OztHQUdUO2FBQ0Y7OztxQkFLRSxLQUFLO21CQUtMLEtBQUs7b0JBS0wsS0FBSztvQkFNTCxLQUFLO21CQUtMLEtBQUs7d0JBRUwsV0FBVyxTQUFDLFlBQVk7Ozs7Ozs7SUF2QnpCLHdCQUF3Qjs7Ozs7SUFLeEIsc0JBQXNCOzs7OztJQUt0Qix1QkFDOEU7Ozs7O0lBSzlFLHVCQUFvQjs7Ozs7SUFLcEIsc0JBQXdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSG9zdEJpbmRpbmcsIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IGBzdWthLWF2YXRhcmAsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbWdTcmNcIj57e2dldEluaXRpYWxzKCl9fTwvbmctY29udGFpbmVyPlxuICAgIDxpbWcgKm5nSWY9XCJpbWdTcmNcIiBbc3JjXT1cImltZ1NyY1wiIC8+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyIHtcbiAgLyoqXG4gICAqIFNldHMgYW4gaW1hZ2UgdXJsIGZvciB0aGUgYXZhdGFyLiBJZiBpdCBpcyBzZXQsIGl0IGRpc3BsYXlzIGluc3RlYWQgb2YgdGhlIG5hbWUgaW5pdGlhbHMuXG4gICAqL1xuICBASW5wdXQoKSBpbWdTcmM6IHN0cmluZztcblxuICAvKipcbiAgICogQXZhdGFyIG5hbWUuIFVzZWQgdG8gZGlzcGxheSBpdHMgaW5pdGlhbHMgKE1heCAyKS5cbiAgICovXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogU2V0cyB0aGUgYXZhdGFyIGNvbG9yLlxuICAgKi9cbiAgQElucHV0KCkgY29sb3I6ICdibHVlJyB8ICdhenVyZScgfCAnaW5kaWdvJyB8ICdwdXJwbGUnIHwgJ3BpbmsnIHwgJ3JlZCcgfCAnb3JhbmdlJyB8XG4gICd5ZWxsb3cnIHwgJ2xpbWUnIHwgJ2dyZWVuJyB8ICd0ZWFsJyB8ICdjeWFuJyB8ICdncmF5JyB8ICdncmF5LWRhcmsnID0gJ2dyYXknO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhdmF0YXIgY2xhc3NcbiAgICovXG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGF2YXRhciBzaXplLlxuICAgKi9cbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJyB8ICcyeGwnID0gJ21kJztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuY2xhc3MnKSBnZXQgYXR0ckNsYXNzKCkge1xuICAgIHJldHVybiBgYXZhdGFyIGF2YXRhci0tJHt0aGlzLmNvbG9yfSBhdmF0YXItLSR7dGhpcy5zaXplfSAke3RoaXMuY2xhc3N9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhdmF0YXIgaW5pdGlhbHMgYWNjb3JkaW5nIHRvIHRoZSBuYW1lIGlucHV0LlxuICAgKi9cbiAgZ2V0SW5pdGlhbHMoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5uYW1lID09PSAnJyB8fCAhdGhpcy5uYW1lKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgbmFtZXMgPSB0aGlzLm5hbWUuc3BsaXQoJyAnKTtcbiAgICBsZXQgaW5pdGlhbHMgPSBuYW1lc1swXS5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKTtcblxuICAgIGlmIChuYW1lcy5sZW5ndGggPiAxKSB7XG4gICAgICBpbml0aWFscyArPSBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXS5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIGluaXRpYWxzO1xuICB9XG59XG4iXX0=