@junte/ui
Version:
Quality Angular UI components kit
113 lines • 9.34 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, ContentChild, HostBinding, Input } from '@angular/core';
import { PropertyApi } from '../../core/decorators/api';
import { Shape } from '../../core/enums/shape';
import { Size } from '../../core/enums/size';
import { UI } from '../../core/enums/ui';
import { DotComponent } from '../dot/dot.component';
var AvatarComponent = /** @class */ (function () {
function AvatarComponent() {
this.host = 'jnt-avatar-host';
this.ui = UI;
this._size = Size.normal;
this._shape = Shape.circle;
this.icon = UI.icons.user;
}
Object.defineProperty(AvatarComponent.prototype, "size", {
set: function (size) {
this._size = size || Size.normal;
},
enumerable: true,
configurable: true
});
Object.defineProperty(AvatarComponent.prototype, "shape", {
set: function (shape) {
this._shape = shape || Shape.circle;
},
enumerable: true,
configurable: true
});
__decorate([
HostBinding('attr.host'),
__metadata("design:type", Object)
], AvatarComponent.prototype, "host", void 0);
__decorate([
HostBinding('attr.data-size'),
__metadata("design:type", String)
], AvatarComponent.prototype, "_size", void 0);
__decorate([
HostBinding('attr.data-shape'),
__metadata("design:type", String)
], AvatarComponent.prototype, "_shape", void 0);
__decorate([
PropertyApi({
description: 'Avatar size',
path: 'ui.size',
default: Size.normal,
options: [Size.tiny,
Size.small,
Size.normal,
Size.large]
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], AvatarComponent.prototype, "size", null);
__decorate([
PropertyApi({
description: 'Avatar shape',
path: 'ui.shape',
default: Shape.circle,
options: [Shape.circle, Shape.square]
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], AvatarComponent.prototype, "shape", null);
__decorate([
PropertyApi({
description: 'Icon on avatar',
type: 'string',
default: 'ui.icons.user',
}),
Input(),
__metadata("design:type", String)
], AvatarComponent.prototype, "icon", void 0);
__decorate([
PropertyApi({
description: 'First char of name on avatar',
type: 'string'
}),
Input(),
__metadata("design:type", String)
], AvatarComponent.prototype, "name", void 0);
__decorate([
PropertyApi({
description: 'First char of surname on avatar',
type: 'string'
}),
Input(),
__metadata("design:type", String)
], AvatarComponent.prototype, "surname", void 0);
__decorate([
PropertyApi({
description: 'Image on avatar',
type: 'string'
}),
Input(),
__metadata("design:type", String)
], AvatarComponent.prototype, "image", void 0);
__decorate([
ContentChild(DotComponent),
__metadata("design:type", DotComponent)
], AvatarComponent.prototype, "dot", void 0);
AvatarComponent = __decorate([
Component({
selector: 'jnt-avatar',
template: "<div child-of=\"jnt-avatar-host\" data-wrapper>\n <ng-template #noImage>\n <ng-template #noInitials>\n <jnt-icon child-of=\"jnt-avatar-host\" *ngIf=\"!!icon\" [icon]=\"icon\"></jnt-icon>\n </ng-template>\n\n <span child-of=\"jnt-avatar-host\" data-text *ngIf=\"!!name else noInitials\">\n {{(name.charAt(0) + (!!surname ? surname.charAt(0) : '')) | uppercase}}\n </span>\n </ng-template>\n\n <img child-of=\"jnt-avatar-host\" data-image *ngIf=\"!!image else noImage\" [src]=\"image\" />\n</div>\n<jnt-dot child-of=\"jnt-avatar-host\" data-dot *ngIf=\"dot\" [color]=\"dot.color\"></jnt-dot>"
})
], AvatarComponent);
return AvatarComponent;
}());
export { AvatarComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BqdW50ZS91aS8iLCJzb3VyY2VzIjpbImxpYi9lbGVtZW50cy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTXBEO0lBQUE7UUFHVyxTQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFFbEMsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUdSLFVBQUssR0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRzFCLFdBQU0sR0FBVSxLQUFLLENBQUMsTUFBTSxDQUFDO1FBaUM3QixTQUFJLEdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7SUF5Qi9CLENBQUM7SUE5Q0Msc0JBQUksaUNBQUk7YUFBUixVQUFTLElBQVU7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxDQUFDOzs7T0FBQTtJQVNELHNCQUFJLGtDQUFLO2FBQVQsVUFBVSxLQUFZO1lBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDdEMsQ0FBQzs7O09BQUE7SUFqQ0Q7UUFEQyxXQUFXLENBQUMsV0FBVyxDQUFDOztpREFDUztJQUtsQztRQURDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzs7a0RBQ0o7SUFHMUI7UUFEQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7O21EQUNGO0lBWTdCO1FBVkMsV0FBVyxDQUFDO1lBQ1gsV0FBVyxFQUFFLGFBQWE7WUFDMUIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDcEIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQ2pCLElBQUksQ0FBQyxLQUFLO2dCQUNWLElBQUksQ0FBQyxNQUFNO2dCQUNYLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDZCxDQUFDO1FBQ0QsS0FBSyxFQUFFOzs7K0NBR1A7SUFTRDtRQVBDLFdBQVcsQ0FBQztZQUNYLFdBQVcsRUFBRSxjQUFjO1lBQzNCLElBQUksRUFBRSxVQUFVO1lBQ2hCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNyQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDdEMsQ0FBQztRQUNELEtBQUssRUFBRTs7O2dEQUdQO0lBUUQ7UUFOQyxXQUFXLENBQUM7WUFDWCxXQUFXLEVBQUUsZ0JBQWdCO1lBQzdCLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLGVBQWU7U0FDekIsQ0FBQztRQUNELEtBQUssRUFBRTs7aURBQ3FCO0lBTzdCO1FBTEMsV0FBVyxDQUFDO1lBQ1gsV0FBVyxFQUFFLDhCQUE4QjtZQUMzQyxJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7UUFDRCxLQUFLLEVBQUU7O2lEQUNLO0lBT2I7UUFMQyxXQUFXLENBQUM7WUFDWCxXQUFXLEVBQUUsaUNBQWlDO1lBQzlDLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQztRQUNELEtBQUssRUFBRTs7b0RBQ1E7SUFPaEI7UUFMQyxXQUFXLENBQUM7WUFDWCxXQUFXLEVBQUUsaUJBQWlCO1lBQzlCLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQztRQUNELEtBQUssRUFBRTs7a0RBQ007SUFHZDtRQURDLFlBQVksQ0FBQyxZQUFZLENBQUM7a0NBQ3RCLFlBQVk7Z0RBQUM7SUFwRVAsZUFBZTtRQUozQixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsWUFBWTtZQUN0QixtbkJBQXlDO1NBQzFDLENBQUM7T0FDVyxlQUFlLENBcUUzQjtJQUFELHNCQUFDO0NBQUEsQUFyRUQsSUFxRUM7U0FyRVksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3BlcnR5QXBpIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzL2FwaSc7XG5pbXBvcnQgeyBTaGFwZSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvc2hhcGUnO1xuaW1wb3J0IHsgU2l6ZSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvc2l6ZSc7XG5pbXBvcnQgeyBVSSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvdWknO1xuaW1wb3J0IHsgRG90Q29tcG9uZW50IH0gZnJvbSAnLi4vZG90L2RvdC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdqbnQtYXZhdGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5lbmNhcHN1bGF0ZWQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IHtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaG9zdCcpXG4gIHJlYWRvbmx5IGhvc3QgPSAnam50LWF2YXRhci1ob3N0JztcblxuICB1aSA9IFVJO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICBfc2l6ZTogU2l6ZSA9IFNpemUubm9ybWFsO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNoYXBlJylcbiAgX3NoYXBlOiBTaGFwZSA9IFNoYXBlLmNpcmNsZTtcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnQXZhdGFyIHNpemUnLFxuICAgIHBhdGg6ICd1aS5zaXplJyxcbiAgICBkZWZhdWx0OiBTaXplLm5vcm1hbCxcbiAgICBvcHRpb25zOiBbU2l6ZS50aW55LFxuICAgICAgU2l6ZS5zbWFsbCxcbiAgICAgIFNpemUubm9ybWFsLFxuICAgICAgU2l6ZS5sYXJnZV1cbiAgfSlcbiAgQElucHV0KClcbiAgc2V0IHNpemUoc2l6ZTogU2l6ZSkge1xuICAgIHRoaXMuX3NpemUgPSBzaXplIHx8IFNpemUubm9ybWFsO1xuICB9XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ0F2YXRhciBzaGFwZScsXG4gICAgcGF0aDogJ3VpLnNoYXBlJyxcbiAgICBkZWZhdWx0OiBTaGFwZS5jaXJjbGUsXG4gICAgb3B0aW9uczogW1NoYXBlLmNpcmNsZSwgU2hhcGUuc3F1YXJlXVxuICB9KVxuICBASW5wdXQoKVxuICBzZXQgc2hhcGUoc2hhcGU6IFNoYXBlKSB7XG4gICAgdGhpcy5fc2hhcGUgPSBzaGFwZSB8fCBTaGFwZS5jaXJjbGU7XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnSWNvbiBvbiBhdmF0YXInLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGRlZmF1bHQ6ICd1aS5pY29ucy51c2VyJyxcbiAgfSlcbiAgQElucHV0KClcbiAgaWNvbjogc3RyaW5nID0gVUkuaWNvbnMudXNlcjtcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnRmlyc3QgY2hhciBvZiBuYW1lIG9uIGF2YXRhcicsXG4gICAgdHlwZTogJ3N0cmluZydcbiAgfSlcbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdGaXJzdCBjaGFyIG9mIHN1cm5hbWUgb24gYXZhdGFyJyxcbiAgICB0eXBlOiAnc3RyaW5nJ1xuICB9KVxuICBASW5wdXQoKVxuICBzdXJuYW1lOiBzdHJpbmc7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ0ltYWdlIG9uIGF2YXRhcicsXG4gICAgdHlwZTogJ3N0cmluZydcbiAgfSlcbiAgQElucHV0KClcbiAgaW1hZ2U6IHN0cmluZztcblxuICBAQ29udGVudENoaWxkKERvdENvbXBvbmVudClcbiAgZG90OiBEb3RDb21wb25lbnQ7XG59XG4iXX0=