@junte/ui
Version:
Quality Angular UI components kit
93 lines • 7.37 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, HostBinding, Input } from '@angular/core';
import { PropertyApi } from '../../core/decorators/api';
import { Color } from '../../core/enums/color';
import { Position } from '../../core/enums/position';
let BadgeComponent = class BadgeComponent {
constructor() {
this.host = 'jnt-badge-host';
this._position = Position.rightTop;
this._color = Color.purple;
this._overflow = null;
}
set overflow(overflow) {
this._overflow = overflow || null;
}
get overflow() {
return this._overflow;
}
set color(color) {
this._color = color || Color.purple;
}
get color() {
return this._color;
}
set position(position) {
this._position = position || Position.inline;
}
};
__decorate([
HostBinding('attr.host'),
__metadata("design:type", Object)
], BadgeComponent.prototype, "host", void 0);
__decorate([
HostBinding('attr.data-position'),
__metadata("design:type", String)
], BadgeComponent.prototype, "_position", void 0);
__decorate([
PropertyApi({
description: 'Text to show in badge',
type: 'string',
}),
Input(),
__metadata("design:type", String)
], BadgeComponent.prototype, "text", void 0);
__decorate([
PropertyApi({
description: 'Number to show in badge',
type: 'number',
}),
Input(),
__metadata("design:type", Number)
], BadgeComponent.prototype, "value", void 0);
__decorate([
PropertyApi({
description: 'Max count to show',
type: 'number',
default: '99'
}),
Input(),
__metadata("design:type", Number),
__metadata("design:paramtypes", [Number])
], BadgeComponent.prototype, "overflow", null);
__decorate([
PropertyApi({
description: 'Badge background color',
type: 'string',
default: 'ui.color.primary'
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], BadgeComponent.prototype, "color", null);
__decorate([
PropertyApi({
description: 'Badge position',
path: 'ui.position',
default: 'inline',
options: [Position.inline,
Position.rightTop,
Position.leftTop]
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], BadgeComponent.prototype, "position", null);
BadgeComponent = __decorate([
Component({
selector: 'jnt-badge',
template: "<ng-content></ng-content>\n<div child-of=\"jnt-badge-host\" data-text [style.background-color]=\"color\"\n [style.color]=\"color | textBrightness\">\n {{!!text ? text : (overflow === null || overflow > value ? value : overflow + '+')}}\n</div>"
})
], BadgeComponent);
export { BadgeComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGp1bnRlL3VpLyIsInNvdXJjZXMiOlsibGliL2VsZW1lbnRzL2JhZGdlL2JhZGdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBTXJELElBQWEsY0FBYyxHQUEzQixNQUFhLGNBQWM7SUFBM0I7UUFFcUMsU0FBSSxHQUFHLGdCQUFnQixDQUFDO1FBRzNELGNBQVMsR0FBYSxRQUFRLENBQUMsUUFBUSxDQUFDO1FBRXhDLFdBQU0sR0FBVyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBRXRCLGNBQVMsR0FBRyxJQUFJLENBQUM7SUFtRDNCLENBQUM7SUFoQ1UsSUFBSSxRQUFRLENBQUMsUUFBZ0I7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLElBQUksSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQU9RLElBQUksS0FBSyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFVUSxJQUFJLFFBQVEsQ0FBQyxRQUFrQjtRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQy9DLENBQUM7Q0FDRixDQUFBO0FBMUQyQjtJQUF6QixXQUFXLENBQUMsV0FBVyxDQUFDOzs0Q0FBa0M7QUFHM0Q7SUFEQyxXQUFXLENBQUMsb0JBQW9CLENBQUM7O2lEQUNNO0FBVS9CO0lBSlIsV0FBVyxDQUFDO1FBQ1gsV0FBVyxFQUFFLHVCQUF1QjtRQUNwQyxJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUM7SUFDRCxLQUFLLEVBQUU7OzRDQUFjO0FBTWI7SUFKUixXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUseUJBQXlCO1FBQ3RDLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQztJQUNELEtBQUssRUFBRTs7NkNBQWU7QUFPZDtJQUxSLFdBQVcsQ0FBQztRQUNYLFdBQVcsRUFBRSxtQkFBbUI7UUFDaEMsSUFBSSxFQUFFLFFBQVE7UUFDZCxPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUM7SUFDRCxLQUFLLEVBQUU7Ozs4Q0FFUDtBQVdRO0lBTFIsV0FBVyxDQUFDO1FBQ1gsV0FBVyxFQUFFLHdCQUF3QjtRQUNyQyxJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxrQkFBa0I7S0FDNUIsQ0FBQztJQUNELEtBQUssRUFBRTs7OzJDQUVQO0FBY1E7SUFSUixXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUsZ0JBQWdCO1FBQzdCLElBQUksRUFBRSxhQUFhO1FBQ25CLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQ3ZCLFFBQVEsQ0FBQyxRQUFRO1lBQ2pCLFFBQVEsQ0FBQyxPQUFPLENBQUM7S0FDcEIsQ0FBQztJQUNELEtBQUssRUFBRTs7OzhDQUVQO0FBM0RVLGNBQWM7SUFKMUIsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLFdBQVc7UUFDckIsb1FBQXdDO0tBQ3pDLENBQUM7R0FDVyxjQUFjLENBNEQxQjtTQTVEWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3BlcnR5QXBpIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzL2FwaSc7XG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvY29sb3InO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3Bvc2l0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnam50LWJhZGdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhZGdlLmVuY2Fwc3VsYXRlZC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCYWRnZUNvbXBvbmVudCB7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmhvc3QnKSByZWFkb25seSBob3N0ID0gJ2pudC1iYWRnZS1ob3N0JztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1wb3NpdGlvbicpXG4gIF9wb3NpdGlvbjogUG9zaXRpb24gPSBQb3NpdGlvbi5yaWdodFRvcDtcblxuICBfY29sb3I6IHN0cmluZyA9IENvbG9yLnB1cnBsZTtcblxuICBwcml2YXRlIF9vdmVyZmxvdyA9IG51bGw7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ1RleHQgdG8gc2hvdyBpbiBiYWRnZScsXG4gICAgdHlwZTogJ3N0cmluZycsXG4gIH0pXG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnTnVtYmVyIHRvIHNob3cgaW4gYmFkZ2UnLFxuICAgIHR5cGU6ICdudW1iZXInLFxuICB9KVxuICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyO1xuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdNYXggY291bnQgdG8gc2hvdycsXG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdDogJzk5J1xuICB9KVxuICBASW5wdXQoKSBzZXQgb3ZlcmZsb3cob3ZlcmZsb3c6IG51bWJlcikge1xuICAgIHRoaXMuX292ZXJmbG93ID0gb3ZlcmZsb3cgfHwgbnVsbDtcbiAgfVxuXG4gIGdldCBvdmVyZmxvdygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmZsb3c7XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnQmFkZ2UgYmFja2dyb3VuZCBjb2xvcicsXG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgZGVmYXVsdDogJ3VpLmNvbG9yLnByaW1hcnknXG4gIH0pXG4gIEBJbnB1dCgpIHNldCBjb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29sb3IgPSBjb2xvciB8fCBDb2xvci5wdXJwbGU7XG4gIH1cblxuICBnZXQgY29sb3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xuICB9XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ0JhZGdlIHBvc2l0aW9uJyxcbiAgICBwYXRoOiAndWkucG9zaXRpb24nLFxuICAgIGRlZmF1bHQ6ICdpbmxpbmUnLFxuICAgIG9wdGlvbnM6IFtQb3NpdGlvbi5pbmxpbmUsXG4gICAgICBQb3NpdGlvbi5yaWdodFRvcCxcbiAgICAgIFBvc2l0aW9uLmxlZnRUb3BdXG4gIH0pXG4gIEBJbnB1dCgpIHNldCBwb3NpdGlvbihwb3NpdGlvbjogUG9zaXRpb24pIHtcbiAgICB0aGlzLl9wb3NpdGlvbiA9IHBvc2l0aW9uIHx8IFBvc2l0aW9uLmlubGluZTtcbiAgfVxufVxuIl19