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
2 lines (1 loc) • 1.81 kB
JavaScript
import e from"primevue/icons/timescircle";import o from"primevue/basecomponent";import n from"primevue/chip/style";import{openBlock as l,createElementBlock as i,mergeProps as t,renderSlot as c,createBlock as a,resolveDynamicComponent as s,createCommentVNode as r,toDisplayString as m}from"vue";var p={name:"Chip",extends:{name:"BaseChip",extends:o,props:{label:{type:String,default:null},icon:{type:String,default:null},image:{type:String,default:null},removable:{type:Boolean,default:!1},removeIcon:{type:String,default:void 0}},style:n,provide:function(){return{$parentInstance:this}}},emits:["remove"],data:function(){return{visible:!0}},methods:{onKeydown:function(e){"Enter"!==e.key&&"Backspace"!==e.key||this.close(e)},close:function(e){this.visible=!1,this.$emit("remove",e)}},components:{TimesCircleIcon:e}},u=["aria-label"],d=["src"];p.render=function(e,o,n,p,v,y){return v.visible?(l(),i("div",t({key:0,class:e.cx("root"),"aria-label":e.label},e.ptm("root"),{"data-pc-name":"chip"}),[c(e.$slots,"default",{},(function(){return[e.image?(l(),i("img",t({key:0,src:e.image},e.ptm("image")),null,16,d)):e.$slots.icon?(l(),a(s(e.$slots.icon),t({key:1,class:e.cx("icon")},e.ptm("icon")),null,16,["class"])):e.icon?(l(),i("span",t({key:2,class:[e.cx("icon"),e.icon]},e.ptm("icon")),null,16)):r("",!0),e.label?(l(),i("div",t({key:3,class:e.cx("label")},e.ptm("label")),m(e.label),17)):r("",!0)]})),e.removable?c(e.$slots,"removeicon",{key:0,onClick:y.close,onKeydown:y.onKeydown,removeCallback:y.close,keydownCallback:y.onKeydown},(function(){return[(l(),a(s(e.removeIcon?"span":"TimesCircleIcon"),t({tabindex:"0",class:[e.cx("removeIcon"),e.removeIcon],onClick:y.close,onKeydown:y.onKeydown},e.ptm("removeIcon")),null,16,["class","onClick","onKeydown"]))]})):r("",!0)],16,u)):r("",!0)};export{p as default};