UNPKG

@junte/ui

Version:

Quality Angular UI components kit

97 lines 8.26 kB
import { __decorate, __metadata } from "tslib"; import { Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core'; import { PropertyApi } from '../../../core/decorators/api'; import { Size } from '../../../core/enums/size'; import { UI } from '../../../core/enums/ui'; import { AvatarComponent } from '../avatar.component'; var MAX_CAPACITY = 4; var AvatarsGroupComponent = /** @class */ (function () { function AvatarsGroupComponent() { this.host = 'jnt-avatars-group-host'; this._size = Size.normal; this._total = 0; this.ui = UI; this.max = MAX_CAPACITY; } Object.defineProperty(AvatarsGroupComponent.prototype, "size", { get: function () { return this._size; }, set: function (size) { this._size = size || Size.normal; }, enumerable: true, configurable: true }); Object.defineProperty(AvatarsGroupComponent.prototype, "total", { get: function () { return this._total; }, set: function (total) { this._total = total || 0; }, enumerable: true, configurable: true }); Object.defineProperty(AvatarsGroupComponent.prototype, "capacity", { get: function () { return Math.min(this.avatars.length, MAX_CAPACITY); }, enumerable: true, configurable: true }); Object.defineProperty(AvatarsGroupComponent.prototype, "overflow", { get: function () { return Math.max(this.total - MAX_CAPACITY, 0); }, enumerable: true, configurable: true }); __decorate([ HostBinding('attr.host'), __metadata("design:type", Object) ], AvatarsGroupComponent.prototype, "host", void 0); __decorate([ HostBinding('attr.data-size'), __metadata("design:type", String) ], AvatarsGroupComponent.prototype, "_size", void 0); __decorate([ PropertyApi({ description: 'Group 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]) ], AvatarsGroupComponent.prototype, "size", null); __decorate([ PropertyApi({ description: 'Total avatars (users)', type: 'number', default: 0 }), Input(), __metadata("design:type", Number), __metadata("design:paramtypes", [Number]) ], AvatarsGroupComponent.prototype, "total", null); __decorate([ ContentChildren(AvatarComponent), __metadata("design:type", QueryList) ], AvatarsGroupComponent.prototype, "avatars", void 0); __decorate([ HostBinding('attr.data-capacity'), __metadata("design:type", Object), __metadata("design:paramtypes", []) ], AvatarsGroupComponent.prototype, "capacity", null); AvatarsGroupComponent = __decorate([ Component({ selector: 'jnt-avatars-group', template: "<ng-container *ngFor=\"let avatar of avatars; let i = index;\">\n <jnt-avatar child-of=\"jnt-avatars-group-host\" *ngIf=\"i < max \" data-avatar\n [shape]=\"ui.shape.square\"\n [image]=\"avatar.image\"\n [icon]=\"avatar.icon\"\n [name]=\"avatar.name\"\n [surname]=\"avatar.surname\"\n [size]=\"size\">\n </jnt-avatar>\n</ng-container>\n\n<div child-of=\"jnt-avatars-group-host\" *ngIf=\"overflow\" data-overflow>+{{overflow}}</div>" }) ], AvatarsGroupComponent); return AvatarsGroupComponent; }()); export { AvatarsGroupComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFycy1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AanVudGUvdWkvIiwic291cmNlcyI6WyJsaWIvZWxlbWVudHMvYXZhdGFyL2F2YXRhcnMtZ3JvdXAvYXZhdGFycy1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxJQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFNdkI7SUFBQTtRQUVxQyxTQUFJLEdBQUcsd0JBQXdCLENBQUM7UUFHbkUsVUFBSyxHQUFTLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFMUIsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUVYLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFDUixRQUFHLEdBQUcsWUFBWSxDQUFDO0lBd0NyQixDQUFDO0lBaENVLHNCQUFJLHVDQUFJO2FBSWpCO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUM7YUFOUSxVQUFTLElBQVU7WUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxDQUFDOzs7T0FBQTtJQVdRLHNCQUFJLHdDQUFLO2FBSWxCO1lBQ0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JCLENBQUM7YUFOUSxVQUFVLEtBQWE7WUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUM7OztPQUFBO0lBVUQsc0JBQUksMkNBQVE7YUFBWjtZQUNFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNyRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDJDQUFRO2FBQVo7WUFDRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQzs7O09BQUE7SUEvQ3lCO1FBQXpCLFdBQVcsQ0FBQyxXQUFXLENBQUM7O3VEQUEwQztJQUduRTtRQURDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzs7d0RBQ0o7SUFhakI7UUFOUixXQUFXLENBQUM7WUFDWCxXQUFXLEVBQUUsWUFBWTtZQUN6QixJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNwQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQzFELENBQUM7UUFDRCxLQUFLLEVBQUU7OztxREFFUDtJQVdRO1FBTFIsV0FBVyxDQUFDO1lBQ1gsV0FBVyxFQUFFLHVCQUF1QjtZQUNwQyxJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSxDQUFDO1NBQ1gsQ0FBQztRQUNELEtBQUssRUFBRTs7O3NEQUVQO0lBT0Q7UUFEQyxlQUFlLENBQUMsZUFBZSxDQUFDO2tDQUN4QixTQUFTOzBEQUFrQjtJQUdwQztRQURDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQzs7O3lEQUdqQztJQTdDVSxxQkFBcUI7UUFKakMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QiwyZ0JBQWdEO1NBQ2pELENBQUM7T0FDVyxxQkFBcUIsQ0FrRGpDO0lBQUQsNEJBQUM7Q0FBQSxBQWxERCxJQWtEQztTQWxEWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSG9zdEJpbmRpbmcsIElucHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3BlcnR5QXBpIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzL2FwaSc7XG5pbXBvcnQgeyBTaXplIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9lbnVtcy9zaXplJztcbmltcG9ydCB7IFVJIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9lbnVtcy91aSc7XG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuLi9hdmF0YXIuY29tcG9uZW50JztcblxuY29uc3QgTUFYX0NBUEFDSVRZID0gNDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnam50LWF2YXRhcnMtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFycy1ncm91cC5lbmNhcHN1bGF0ZWQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyc0dyb3VwQ29tcG9uZW50IHtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaG9zdCcpIHJlYWRvbmx5IGhvc3QgPSAnam50LWF2YXRhcnMtZ3JvdXAtaG9zdCc7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gIF9zaXplOiBTaXplID0gU2l6ZS5ub3JtYWw7XG5cbiAgX3RvdGFsID0gMDtcblxuICB1aSA9IFVJO1xuICBtYXggPSBNQVhfQ0FQQUNJVFk7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ0dyb3VwIHNpemUnLFxuICAgIHBhdGg6ICd1aS5zaXplJyxcbiAgICBkZWZhdWx0OiBTaXplLm5vcm1hbCxcbiAgICBvcHRpb25zOiBbU2l6ZS50aW55LCBTaXplLnNtYWxsLCBTaXplLm5vcm1hbCwgU2l6ZS5sYXJnZV1cbiAgfSlcbiAgQElucHV0KCkgc2V0IHNpemUoc2l6ZTogU2l6ZSkge1xuICAgIHRoaXMuX3NpemUgPSBzaXplIHx8IFNpemUubm9ybWFsO1xuICB9XG5cbiAgZ2V0IHNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnVG90YWwgYXZhdGFycyAodXNlcnMpJyxcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0OiAwXG4gIH0pXG4gIEBJbnB1dCgpIHNldCB0b3RhbCh0b3RhbDogbnVtYmVyKSB7XG4gICAgdGhpcy5fdG90YWwgPSB0b3RhbCB8fCAwO1xuICB9XG5cbiAgZ2V0IHRvdGFsKCkge1xuICAgIHJldHVybiB0aGlzLl90b3RhbDtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGRyZW4oQXZhdGFyQ29tcG9uZW50KVxuICBhdmF0YXJzOiBRdWVyeUxpc3Q8QXZhdGFyQ29tcG9uZW50PjtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1jYXBhY2l0eScpXG4gIGdldCBjYXBhY2l0eSgpIHtcbiAgICByZXR1cm4gTWF0aC5taW4odGhpcy5hdmF0YXJzLmxlbmd0aCwgTUFYX0NBUEFDSVRZKTtcbiAgfVxuXG4gIGdldCBvdmVyZmxvdygpIHtcbiAgICByZXR1cm4gTWF0aC5tYXgodGhpcy50b3RhbCAtIE1BWF9DQVBBQ0lUWSwgMCk7XG4gIH1cbn1cbiJdfQ==