@junte/ui
Version:
Quality Angular UI components kit
112 lines • 9.65 kB
JavaScript
import { __decorate, __metadata, __read } from "tslib";
import { Component, HostBinding, Input } from '@angular/core';
import { PropertyApi } from '../../core/decorators/api';
import { Size } from '../../core/enums/size';
import { Stroke } from '../../core/enums/stroke';
import { IconType } from './enums';
var DEFAULT_ICONSET = 'junte-ui-icons-default';
var IconComponent = /** @class */ (function () {
function IconComponent() {
this.host = 'jnt-icon-host';
this.iconType = IconType;
this._size = Size.auto;
this._stroke = Stroke.normal;
this.type = IconType.font;
this.iconset = DEFAULT_ICONSET;
this.color = null;
}
Object.defineProperty(IconComponent.prototype, "icon", {
set: function (query) {
var _a;
if (!query) {
console.warn('Icon query was not passed');
return;
}
var _b = __read(query.split(':'), 4), icon = _b[0], type = _b[1], iconset = _b[2], tags = _b[3];
_a = __read([icon, type || IconType.font, iconset || DEFAULT_ICONSET, !!tags ? tags.split('|') : []], 4), this._icon = _a[0], this.type = _a[1], this.iconset = _a[2], this.tags = _a[3];
},
enumerable: true,
configurable: true
});
Object.defineProperty(IconComponent.prototype, "stroke", {
get: function () {
return this._stroke;
},
set: function (stroke) {
this._stroke = stroke || Stroke.normal;
},
enumerable: true,
configurable: true
});
Object.defineProperty(IconComponent.prototype, "size", {
set: function (size) {
this._size = size || Size.normal;
},
enumerable: true,
configurable: true
});
__decorate([
HostBinding('attr.host'),
__metadata("design:type", Object)
], IconComponent.prototype, "host", void 0);
__decorate([
HostBinding('attr.data-size'),
__metadata("design:type", String)
], IconComponent.prototype, "_size", void 0);
__decorate([
HostBinding('attr.data-icon'),
__metadata("design:type", String)
], IconComponent.prototype, "_icon", void 0);
__decorate([
HostBinding('attr.data-type'),
__metadata("design:type", String)
], IconComponent.prototype, "type", void 0);
__decorate([
HostBinding('attr.tags'),
__metadata("design:type", Array)
], IconComponent.prototype, "tags", void 0);
__decorate([
PropertyApi({
description: 'Icon query in special format',
type: '[name:type:iconset]'
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], IconComponent.prototype, "icon", null);
__decorate([
PropertyApi({
description: 'Stroke for icon',
type: '[ui.stroke]'
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], IconComponent.prototype, "stroke", null);
__decorate([
PropertyApi({
description: 'Size for icon',
type: '[ui.size]'
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], IconComponent.prototype, "size", null);
__decorate([
PropertyApi({
description: 'Color for icon',
type: '[ui.color]'
}),
Input(),
__metadata("design:type", Object)
], IconComponent.prototype, "color", void 0);
IconComponent = __decorate([
Component({
selector: 'jnt-icon',
template: "<ng-container [ngSwitch]=\"type\">\n <jnt-font-icon child-of=\"jnt-icon-host\" *ngSwitchCase=\"iconType.font\"\n [icon]=\"_icon\"\n [iconset]=\"iconset\"\n [color]=\"color\"></jnt-font-icon>\n <jnt-svg-icon child-of=\"jnt-icon-host\" *ngSwitchCase=\"iconType.svg\"\n [icon]=\"_icon\"\n [iconset]=\"iconset\"\n [stroke]=\"stroke\"\n [color]=\"color\"\n [tags]=\"tags\"></jnt-svg-icon>\n <jnt-animated-icon child-of=\"jnt-icon-host\" *ngSwitchCase=\"iconType.animated\"\n [icon]=\"_icon\"\n [iconset]=\"iconset\"\n [color]=\"color\"\n [tags]=\"tags\"></jnt-animated-icon>\n</ng-container>"
})
], IconComponent);
return IconComponent;
}());
export { IconComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AanVudGUvdWkvIiwic291cmNlcyI6WyJsaWIvZWxlbWVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbkMsSUFBTSxlQUFlLEdBQUcsd0JBQXdCLENBQUM7QUFNakQ7SUFBQTtRQUVxQyxTQUFJLEdBQUcsZUFBZSxDQUFDO1FBRTFELGFBQVEsR0FBRyxRQUFRLENBQUM7UUFHcEIsVUFBSyxHQUFTLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFeEIsWUFBTyxHQUFXLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFNaEMsU0FBSSxHQUFhLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFFL0IsWUFBTyxHQUFXLGVBQWUsQ0FBQztRQWdEbEMsVUFBSyxHQUFHLElBQUksQ0FBQztJQUVmLENBQUM7SUF4Q0Msc0JBQUksK0JBQUk7YUFBUixVQUFTLEtBQWE7O1lBQ3BCLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPO2FBQ1I7WUFFSyxJQUFBLGdDQUE4QyxFQUE3QyxZQUFJLEVBQUUsWUFBSSxFQUFFLGVBQU8sRUFBRSxZQUF3QixDQUFDO1lBQ3JELHdHQUNzRyxFQURyRyxrQkFBVSxFQUFFLGlCQUFTLEVBQUUsb0JBQVksRUFBRSxpQkFBUyxDQUN3RDtRQUN6RyxDQUFDOzs7T0FBQTtJQU9ELHNCQUFJLGlDQUFNO2FBSVY7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQzthQU5ELFVBQVcsTUFBYztZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ3pDLENBQUM7OztPQUFBO0lBV0Qsc0JBQUksK0JBQUk7YUFBUixVQUFTLElBQVU7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxDQUFDOzs7T0FBQTtJQXhEeUI7UUFBekIsV0FBVyxDQUFDLFdBQVcsQ0FBQzs7K0NBQWlDO0lBSzFEO1FBREMsV0FBVyxDQUFDLGdCQUFnQixDQUFDOztnREFDTjtJQUt4QjtRQURDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzs7Z0RBQ2hCO0lBR2Q7UUFEQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7OytDQUNDO0lBSy9CO1FBREMsV0FBVyxDQUFDLFdBQVcsQ0FBQzs7K0NBQ1Y7SUFPZjtRQUxDLFdBQVcsQ0FBQztZQUNYLFdBQVcsRUFBRSw4QkFBOEI7WUFDM0MsSUFBSSxFQUFFLHFCQUFxQjtTQUM1QixDQUFDO1FBQ0QsS0FBSyxFQUFFOzs7NkNBVVA7SUFPRDtRQUxDLFdBQVcsQ0FBQztZQUNYLFdBQVcsRUFBRSxpQkFBaUI7WUFDOUIsSUFBSSxFQUFFLGFBQWE7U0FDcEIsQ0FBQztRQUNELEtBQUssRUFBRTs7OytDQUdQO0lBV0Q7UUFMQyxXQUFXLENBQUM7WUFDWCxXQUFXLEVBQUUsZUFBZTtZQUM1QixJQUFJLEVBQUUsV0FBVztTQUNsQixDQUFDO1FBQ0QsS0FBSyxFQUFFOzs7NkNBR1A7SUFPRDtRQUxDLFdBQVcsQ0FBQztZQUNYLFdBQVcsRUFBRSxnQkFBZ0I7WUFDN0IsSUFBSSxFQUFFLFlBQVk7U0FDbkIsQ0FBQztRQUNELEtBQUssRUFBRTs7Z0RBQ0s7SUFqRUYsYUFBYTtRQUp6QixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsVUFBVTtZQUNwQixveUJBQXVDO1NBQ3hDLENBQUM7T0FDVyxhQUFhLENBbUV6QjtJQUFELG9CQUFDO0NBQUEsQUFuRUQsSUFtRUM7U0FuRVksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUFwaSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy9hcGknO1xuaW1wb3J0IHsgU2l6ZSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvc2l6ZSc7XG5pbXBvcnQgeyBTdHJva2UgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3N0cm9rZSc7XG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4vZW51bXMnO1xuXG5jb25zdCBERUZBVUxUX0lDT05TRVQgPSAnanVudGUtdWktaWNvbnMtZGVmYXVsdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2pudC1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uZW5jYXBzdWxhdGVkLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQge1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5ob3N0JykgcmVhZG9ubHkgaG9zdCA9ICdqbnQtaWNvbi1ob3N0JztcblxuICBpY29uVHlwZSA9IEljb25UeXBlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICBfc2l6ZTogU2l6ZSA9IFNpemUuYXV0bztcblxuICBfc3Ryb2tlOiBTdHJva2UgPSBTdHJva2Uubm9ybWFsO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWljb24nKVxuICBfaWNvbjogc3RyaW5nO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXR5cGUnKVxuICB0eXBlOiBJY29uVHlwZSA9IEljb25UeXBlLmZvbnQ7XG5cbiAgaWNvbnNldDogc3RyaW5nID0gREVGQVVMVF9JQ09OU0VUO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWdzJylcbiAgdGFnczogc3RyaW5nW107XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ0ljb24gcXVlcnkgaW4gc3BlY2lhbCBmb3JtYXQnLFxuICAgIHR5cGU6ICdbbmFtZTp0eXBlOmljb25zZXRdJ1xuICB9KVxuICBASW5wdXQoKVxuICBzZXQgaWNvbihxdWVyeTogc3RyaW5nKSB7XG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgY29uc29sZS53YXJuKCdJY29uIHF1ZXJ5IHdhcyBub3QgcGFzc2VkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgW2ljb24sIHR5cGUsIGljb25zZXQsIHRhZ3NdID0gcXVlcnkuc3BsaXQoJzonKTtcbiAgICBbdGhpcy5faWNvbiwgdGhpcy50eXBlLCB0aGlzLmljb25zZXQsIHRoaXMudGFnc10gPVxuICAgICAgW2ljb24sIHR5cGUgYXMgSWNvblR5cGUgfHwgSWNvblR5cGUuZm9udCwgaWNvbnNldCB8fCBERUZBVUxUX0lDT05TRVQsICEhdGFncyA/IHRhZ3Muc3BsaXQoJ3wnKSA6IFtdXTtcbiAgfVxuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdTdHJva2UgZm9yIGljb24nLFxuICAgIHR5cGU6ICdbdWkuc3Ryb2tlXSdcbiAgfSlcbiAgQElucHV0KClcbiAgc2V0IHN0cm9rZShzdHJva2U6IFN0cm9rZSkge1xuICAgIHRoaXMuX3N0cm9rZSA9IHN0cm9rZSB8fCBTdHJva2Uubm9ybWFsO1xuICB9XG5cbiAgZ2V0IHN0cm9rZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3Ryb2tlO1xuICB9XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ1NpemUgZm9yIGljb24nLFxuICAgIHR5cGU6ICdbdWkuc2l6ZV0nXG4gIH0pXG4gIEBJbnB1dCgpXG4gIHNldCBzaXplKHNpemU6IFNpemUpIHtcbiAgICB0aGlzLl9zaXplID0gc2l6ZSB8fCBTaXplLm5vcm1hbDtcbiAgfVxuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdDb2xvciBmb3IgaWNvbicsXG4gICAgdHlwZTogJ1t1aS5jb2xvcl0nXG4gIH0pXG4gIEBJbnB1dCgpXG4gIGNvbG9yID0gbnVsbDtcblxufVxuIl19