primevue
Version:
PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc
48 lines (42 loc) • 1.45 kB
JavaScript
import BaseComponent from 'primevue/basecomponent';
import TagStyle from 'primevue/tag/style';
import { openBlock, createElementBlock, mergeProps, createBlock, resolveDynamicComponent, createCommentVNode, renderSlot, createElementVNode, toDisplayString } from 'vue';
var script$1 = {
name: 'BaseTag',
"extends": BaseComponent,
props: {
value: null,
severity: null,
rounded: Boolean,
icon: String
},
style: TagStyle,
provide: function provide() {
return {
$parentInstance: this
};
}
};
var script = {
name: 'Tag',
"extends": script$1
};
function render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createElementBlock("span", mergeProps({
"class": _ctx.cx('root')
}, _ctx.ptm('root'), {
"data-pc-name": "tag"
}), [_ctx.$slots.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.icon), mergeProps({
key: 0,
"class": _ctx.cx('icon')
}, _ctx.ptm('icon')), null, 16, ["class"])) : _ctx.icon ? (openBlock(), createElementBlock("span", mergeProps({
key: 1,
"class": [_ctx.cx('icon'), _ctx.icon]
}, _ctx.ptm('icon')), null, 16)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default", {}, function () {
return [createElementVNode("span", mergeProps({
"class": _ctx.cx('value')
}, _ctx.ptm('value')), toDisplayString(_ctx.value), 17)];
})], 16);
}
script.render = render;
export { script as default };