@junte/ui
Version:
Quality Angular UI components kit
99 lines • 9.06 kB
JavaScript
import { __decorate, __metadata } 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';
const DEFAULT_ICONSET = 'junte-ui-icons-default';
let IconComponent = class IconComponent {
constructor() {
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;
}
set icon(query) {
if (!query) {
console.warn('Icon query was not passed');
return;
}
const [icon, type, iconset, tags] = query.split(':');
[this._icon, this.type, this.iconset, this.tags] =
[icon, type || IconType.font, iconset || DEFAULT_ICONSET, !!tags ? tags.split('|') : []];
}
set stroke(stroke) {
this._stroke = stroke || Stroke.normal;
}
get stroke() {
return this._stroke;
}
set size(size) {
this._size = size || Size.normal;
}
};
__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);
export { IconComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AanVudGUvdWkvIiwic291cmNlcyI6WyJsaWIvZWxlbWVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbkMsTUFBTSxlQUFlLEdBQUcsd0JBQXdCLENBQUM7QUFNakQsSUFBYSxhQUFhLEdBQTFCLE1BQWEsYUFBYTtJQUExQjtRQUVxQyxTQUFJLEdBQUcsZUFBZSxDQUFDO1FBRTFELGFBQVEsR0FBRyxRQUFRLENBQUM7UUFHcEIsVUFBSyxHQUFTLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFeEIsWUFBTyxHQUFXLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFNaEMsU0FBSSxHQUFhLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFFL0IsWUFBTyxHQUFXLGVBQWUsQ0FBQztRQWdEbEMsVUFBSyxHQUFHLElBQUksQ0FBQztJQUVmLENBQUM7SUF4Q0MsSUFBSSxJQUFJLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1lBQzFDLE9BQU87U0FDUjtRQUVELE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM5QyxDQUFDLElBQUksRUFBRSxJQUFnQixJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxJQUFJLGVBQWUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBT0QsSUFBSSxNQUFNLENBQUMsTUFBYztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQU9ELElBQUksSUFBSSxDQUFDLElBQVU7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0NBU0YsQ0FBQTtBQWpFMkI7SUFBekIsV0FBVyxDQUFDLFdBQVcsQ0FBQzs7MkNBQWlDO0FBSzFEO0lBREMsV0FBVyxDQUFDLGdCQUFnQixDQUFDOzs0Q0FDTjtBQUt4QjtJQURDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzs7NENBQ2hCO0FBR2Q7SUFEQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7OzJDQUNDO0FBSy9CO0lBREMsV0FBVyxDQUFDLFdBQVcsQ0FBQzs7MkNBQ1Y7QUFPZjtJQUxDLFdBQVcsQ0FBQztRQUNYLFdBQVcsRUFBRSw4QkFBOEI7UUFDM0MsSUFBSSxFQUFFLHFCQUFxQjtLQUM1QixDQUFDO0lBQ0QsS0FBSyxFQUFFOzs7eUNBVVA7QUFPRDtJQUxDLFdBQVcsQ0FBQztRQUNYLFdBQVcsRUFBRSxpQkFBaUI7UUFDOUIsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQztJQUNELEtBQUssRUFBRTs7OzJDQUdQO0FBV0Q7SUFMQyxXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUsZUFBZTtRQUM1QixJQUFJLEVBQUUsV0FBVztLQUNsQixDQUFDO0lBQ0QsS0FBSyxFQUFFOzs7eUNBR1A7QUFPRDtJQUxDLFdBQVcsQ0FBQztRQUNYLFdBQVcsRUFBRSxnQkFBZ0I7UUFDN0IsSUFBSSxFQUFFLFlBQVk7S0FDbkIsQ0FBQztJQUNELEtBQUssRUFBRTs7NENBQ0s7QUFqRUYsYUFBYTtJQUp6QixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsVUFBVTtRQUNwQixveUJBQXVDO0tBQ3hDLENBQUM7R0FDVyxhQUFhLENBbUV6QjtTQW5FWSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3BlcnR5QXBpIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzL2FwaSc7XG5pbXBvcnQgeyBTaXplIH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy9zaXplJztcbmltcG9ydCB7IFN0cm9rZSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvc3Ryb2tlJztcbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi9lbnVtcyc7XG5cbmNvbnN0IERFRkFVTFRfSUNPTlNFVCA9ICdqdW50ZS11aS1pY29ucy1kZWZhdWx0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnam50LWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5lbmNhcHN1bGF0ZWQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCB7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmhvc3QnKSByZWFkb25seSBob3N0ID0gJ2pudC1pY29uLWhvc3QnO1xuXG4gIGljb25UeXBlID0gSWNvblR5cGU7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gIF9zaXplOiBTaXplID0gU2l6ZS5hdXRvO1xuXG4gIF9zdHJva2U6IFN0cm9rZSA9IFN0cm9rZS5ub3JtYWw7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtaWNvbicpXG4gIF9pY29uOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdHlwZScpXG4gIHR5cGU6IEljb25UeXBlID0gSWNvblR5cGUuZm9udDtcblxuICBpY29uc2V0OiBzdHJpbmcgPSBERUZBVUxUX0lDT05TRVQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhZ3MnKVxuICB0YWdzOiBzdHJpbmdbXTtcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnSWNvbiBxdWVyeSBpbiBzcGVjaWFsIGZvcm1hdCcsXG4gICAgdHlwZTogJ1tuYW1lOnR5cGU6aWNvbnNldF0nXG4gIH0pXG4gIEBJbnB1dCgpXG4gIHNldCBpY29uKHF1ZXJ5OiBzdHJpbmcpIHtcbiAgICBpZiAoIXF1ZXJ5KSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0ljb24gcXVlcnkgd2FzIG5vdCBwYXNzZWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBbaWNvbiwgdHlwZSwgaWNvbnNldCwgdGFnc10gPSBxdWVyeS5zcGxpdCgnOicpO1xuICAgIFt0aGlzLl9pY29uLCB0aGlzLnR5cGUsIHRoaXMuaWNvbnNldCwgdGhpcy50YWdzXSA9XG4gICAgICBbaWNvbiwgdHlwZSBhcyBJY29uVHlwZSB8fCBJY29uVHlwZS5mb250LCBpY29uc2V0IHx8IERFRkFVTFRfSUNPTlNFVCwgISF0YWdzID8gdGFncy5zcGxpdCgnfCcpIDogW11dO1xuICB9XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ1N0cm9rZSBmb3IgaWNvbicsXG4gICAgdHlwZTogJ1t1aS5zdHJva2VdJ1xuICB9KVxuICBASW5wdXQoKVxuICBzZXQgc3Ryb2tlKHN0cm9rZTogU3Ryb2tlKSB7XG4gICAgdGhpcy5fc3Ryb2tlID0gc3Ryb2tlIHx8IFN0cm9rZS5ub3JtYWw7XG4gIH1cblxuICBnZXQgc3Ryb2tlKCkge1xuICAgIHJldHVybiB0aGlzLl9zdHJva2U7XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnU2l6ZSBmb3IgaWNvbicsXG4gICAgdHlwZTogJ1t1aS5zaXplXSdcbiAgfSlcbiAgQElucHV0KClcbiAgc2V0IHNpemUoc2l6ZTogU2l6ZSkge1xuICAgIHRoaXMuX3NpemUgPSBzaXplIHx8IFNpemUubm9ybWFsO1xuICB9XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ0NvbG9yIGZvciBpY29uJyxcbiAgICB0eXBlOiAnW3VpLmNvbG9yXSdcbiAgfSlcbiAgQElucHV0KClcbiAgY29sb3IgPSBudWxsO1xuXG59XG4iXX0=