@junte/ui
Version:
Quality Angular UI components kit
122 lines • 10.1 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, ContentChild, HostBinding, Input } from '@angular/core';
import { Outline } from '../../core/enums/outline';
import { PropertyApi } from '../../core/decorators/api';
import { Color } from '../../core/enums/color';
import { Size } from '../../core/enums/size';
import { UI } from '../../core/enums/ui';
import { DotComponent } from '../dot/dot.component';
var LabelComponent = /** @class */ (function () {
function LabelComponent() {
this.host = 'jnt-label-host';
this.ui = UI;
this._color = Color.purple;
this._size = Size.normal;
this._outline = Outline.fill;
}
Object.defineProperty(LabelComponent.prototype, "color", {
get: function () {
return this._color;
},
set: function (color) {
this._color = color || Color.purple;
},
enumerable: true,
configurable: true
});
Object.defineProperty(LabelComponent.prototype, "size", {
set: function (size) {
this._size = size || Size.normal;
},
enumerable: true,
configurable: true
});
Object.defineProperty(LabelComponent.prototype, "outline", {
get: function () {
return this._outline;
},
set: function (outline) {
this._outline = outline || Outline.fill;
},
enumerable: true,
configurable: true
});
__decorate([
HostBinding('attr.host'),
__metadata("design:type", Object)
], LabelComponent.prototype, "host", void 0);
__decorate([
HostBinding('style.background-color'),
HostBinding('style.border-color'),
__metadata("design:type", String)
], LabelComponent.prototype, "_color", void 0);
__decorate([
HostBinding('attr.data-size'),
__metadata("design:type", String)
], LabelComponent.prototype, "_size", void 0);
__decorate([
HostBinding('attr.data-outline'),
__metadata("design:type", String)
], LabelComponent.prototype, "_outline", void 0);
__decorate([
PropertyApi({
description: 'Label text',
type: 'string',
}),
Input(),
__metadata("design:type", String)
], LabelComponent.prototype, "label", void 0);
__decorate([
PropertyApi({
description: 'Label icon',
type: 'string',
}),
Input(),
__metadata("design:type", String)
], LabelComponent.prototype, "icon", void 0);
__decorate([
PropertyApi({
description: 'Label background color',
type: 'string',
default: 'purple'
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], LabelComponent.prototype, "color", null);
__decorate([
PropertyApi({
description: 'Label size',
path: 'ui.size',
default: Size.normal,
options: [Size.small, Size.normal]
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], LabelComponent.prototype, "size", null);
__decorate([
PropertyApi({
description: 'Label outline',
path: 'ui.outline',
default: Outline.fill,
options: [Outline.ghost, Outline.fill]
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], LabelComponent.prototype, "outline", null);
__decorate([
ContentChild(DotComponent),
__metadata("design:type", DotComponent)
], LabelComponent.prototype, "dot", void 0);
LabelComponent = __decorate([
Component({
selector: 'jnt-label',
template: "<jnt-stack child-of=\"jnt-label-host\" [orientation]=\"ui.orientation.horizontal\"\n [justify]=\"ui.justify.center\"\n [gutter]=\"ui.gutter.small\"\n [align]=\"ui.align.center\">\n <jnt-dot child-of=\"jnt-label-host\" data-dot *ngIf=\"!!dot\" [color]=\"dot.color\"></jnt-dot>\n <jnt-icon child-of=\"jnt-label-host\" *ngIf=\"icon\"\n [icon]=\"icon\"\n [color]=\"outline === ui.outline.fill ? (color | textBrightness) : color\"></jnt-icon>\n <div child-of=\"jnt-label-host\" data-text *ngIf=\"label\" [style.color]=\"outline === ui.outline.fill ? (color | textBrightness) : color\">{{label}}</div>\n</jnt-stack>"
})
], LabelComponent);
return LabelComponent;
}());
export { LabelComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGp1bnRlL3VpLyIsInNvdXJjZXMiOlsibGliL2VsZW1lbnRzL2xhYmVsL2xhYmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU1wRDtJQUFBO1FBRXFDLFNBQUksR0FBRyxnQkFBZ0IsQ0FBQztRQUUzRCxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBSVIsV0FBTSxHQUFXLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFHOUIsVUFBSyxHQUFTLElBQUksQ0FBQyxNQUFNLENBQUM7UUFHMUIsYUFBUSxHQUFZLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFxRG5DLENBQUM7SUFsQ1Usc0JBQUksaUNBQUs7YUFJbEI7WUFDRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDckIsQ0FBQzthQU5RLFVBQVUsS0FBYTtZQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3RDLENBQUM7OztPQUFBO0lBWVEsc0JBQUksZ0NBQUk7YUFBUixVQUFTLElBQVU7WUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxDQUFDOzs7T0FBQTtJQVFRLHNCQUFJLG1DQUFPO2FBSXBCO1lBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7YUFOUSxVQUFZLE9BQWdCO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDMUMsQ0FBQzs7O09BQUE7SUF6RHlCO1FBQXpCLFdBQVcsQ0FBQyxXQUFXLENBQUM7O2dEQUFrQztJQU0zRDtRQUZDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQztRQUNyQyxXQUFXLENBQUMsb0JBQW9CLENBQUM7O2tEQUNKO0lBRzlCO1FBREMsV0FBVyxDQUFDLGdCQUFnQixDQUFDOztpREFDSjtJQUcxQjtRQURDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzs7b0RBQ0E7SUFNeEI7UUFKUixXQUFXLENBQUM7WUFDWCxXQUFXLEVBQUUsWUFBWTtZQUN6QixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7UUFDRCxLQUFLLEVBQUU7O2lEQUFlO0lBTWQ7UUFKUixXQUFXLENBQUM7WUFDWCxXQUFXLEVBQUUsWUFBWTtZQUN6QixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7UUFDRCxLQUFLLEVBQUU7O2dEQUFjO0lBT2I7UUFMUixXQUFXLENBQUM7WUFDWCxXQUFXLEVBQUUsd0JBQXdCO1lBQ3JDLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLFFBQVE7U0FDbEIsQ0FBQztRQUNELEtBQUssRUFBRTs7OytDQUVQO0lBWVE7UUFOUixXQUFXLENBQUM7WUFDWCxXQUFXLEVBQUUsWUFBWTtZQUN6QixJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNwQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDbkMsQ0FBQztRQUNELEtBQUssRUFBRTs7OzhDQUVQO0lBUVE7UUFOUixXQUFXLENBQUM7WUFDWCxXQUFXLEVBQUUsZUFBZTtZQUM1QixJQUFJLEVBQUUsWUFBWTtZQUNsQixPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDckIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDO1NBQ3ZDLENBQUM7UUFDRCxLQUFLLEVBQUU7OztpREFFUDtJQU9EO1FBREMsWUFBWSxDQUFDLFlBQVksQ0FBQztrQ0FDdEIsWUFBWTsrQ0FBQztJQWxFUCxjQUFjO1FBSjFCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxXQUFXO1lBQ3JCLG9xQkFBd0M7U0FDekMsQ0FBQztPQUNXLGNBQWMsQ0FtRTFCO0lBQUQscUJBQUM7Q0FBQSxBQW5FRCxJQW1FQztTQW5FWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3V0bGluZSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvb3V0bGluZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUFwaSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy9hcGknO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL2NvbG9yJztcbmltcG9ydCB7IFNpemUgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3NpemUnO1xuaW1wb3J0IHsgVUkgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3VpJztcbmltcG9ydCB7IERvdENvbXBvbmVudCB9IGZyb20gJy4uL2RvdC9kb3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnam50LWxhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xhYmVsLmVuY2Fwc3VsYXRlZC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBMYWJlbENvbXBvbmVudCB7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmhvc3QnKSByZWFkb25seSBob3N0ID0gJ2pudC1sYWJlbC1ob3N0JztcblxuICB1aSA9IFVJO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuYmFja2dyb3VuZC1jb2xvcicpXG4gIEBIb3N0QmluZGluZygnc3R5bGUuYm9yZGVyLWNvbG9yJylcbiAgX2NvbG9yOiBzdHJpbmcgPSBDb2xvci5wdXJwbGU7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gIF9zaXplOiBTaXplID0gU2l6ZS5ub3JtYWw7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtb3V0bGluZScpXG4gIF9vdXRsaW5lOiBPdXRsaW5lID0gT3V0bGluZS5maWxsO1xuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdMYWJlbCB0ZXh0JyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgfSlcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnTGFiZWwgaWNvbicsXG4gICAgdHlwZTogJ3N0cmluZycsXG4gIH0pXG4gIEBJbnB1dCgpIGljb246IHN0cmluZztcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnTGFiZWwgYmFja2dyb3VuZCBjb2xvcicsXG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgZGVmYXVsdDogJ3B1cnBsZSdcbiAgfSlcbiAgQElucHV0KCkgc2V0IGNvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2xvciA9IGNvbG9yIHx8IENvbG9yLnB1cnBsZTtcbiAgfVxuXG4gIGdldCBjb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnTGFiZWwgc2l6ZScsXG4gICAgcGF0aDogJ3VpLnNpemUnLFxuICAgIGRlZmF1bHQ6IFNpemUubm9ybWFsLFxuICAgIG9wdGlvbnM6IFtTaXplLnNtYWxsLCBTaXplLm5vcm1hbF1cbiAgfSlcbiAgQElucHV0KCkgc2V0IHNpemUoc2l6ZTogU2l6ZSkge1xuICAgIHRoaXMuX3NpemUgPSBzaXplIHx8IFNpemUubm9ybWFsO1xuICB9XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ0xhYmVsIG91dGxpbmUnLFxuICAgIHBhdGg6ICd1aS5vdXRsaW5lJyxcbiAgICBkZWZhdWx0OiBPdXRsaW5lLmZpbGwsXG4gICAgb3B0aW9uczogW091dGxpbmUuZ2hvc3QsIE91dGxpbmUuZmlsbF1cbiAgfSlcbiAgQElucHV0KCkgc2V0IG91dGxpbmUob3V0bGluZTogT3V0bGluZSkge1xuICAgIHRoaXMuX291dGxpbmUgPSBvdXRsaW5lIHx8IE91dGxpbmUuZmlsbDtcbiAgfVxuXG4gIGdldCBvdXRsaW5lKCkge1xuICAgIHJldHVybiB0aGlzLl9vdXRsaW5lO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZChEb3RDb21wb25lbnQpXG4gIGRvdDogRG90Q29tcG9uZW50O1xufVxuIl19