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) • 2.15 kB
JavaScript
"use strict";var e=require("primevue/icons/timescircle"),o=require("primevue/basecomponent"),n=require("primevue/chip/style"),l=require("vue");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=t(e),r={name:"Chip",extends:{name:"BaseChip",extends:t(o).default,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:t(n).default,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:c.default}},i=["aria-label"],a=["src"];r.render=function(e,o,n,t,c,r){return c.visible?(l.openBlock(),l.createElementBlock("div",l.mergeProps({key:0,class:e.cx("root"),"aria-label":e.label},e.ptm("root"),{"data-pc-name":"chip"}),[l.renderSlot(e.$slots,"default",{},(function(){return[e.image?(l.openBlock(),l.createElementBlock("img",l.mergeProps({key:0,src:e.image},e.ptm("image")),null,16,a)):e.$slots.icon?(l.openBlock(),l.createBlock(l.resolveDynamicComponent(e.$slots.icon),l.mergeProps({key:1,class:e.cx("icon")},e.ptm("icon")),null,16,["class"])):e.icon?(l.openBlock(),l.createElementBlock("span",l.mergeProps({key:2,class:[e.cx("icon"),e.icon]},e.ptm("icon")),null,16)):l.createCommentVNode("",!0),e.label?(l.openBlock(),l.createElementBlock("div",l.mergeProps({key:3,class:e.cx("label")},e.ptm("label")),l.toDisplayString(e.label),17)):l.createCommentVNode("",!0)]})),e.removable?l.renderSlot(e.$slots,"removeicon",{key:0,onClick:r.close,onKeydown:r.onKeydown,removeCallback:r.close,keydownCallback:r.onKeydown},(function(){return[(l.openBlock(),l.createBlock(l.resolveDynamicComponent(e.removeIcon?"span":"TimesCircleIcon"),l.mergeProps({tabindex:"0",class:[e.cx("removeIcon"),e.removeIcon],onClick:r.close,onKeydown:r.onKeydown},e.ptm("removeIcon")),null,16,["class","onClick","onKeydown"]))]})):l.createCommentVNode("",!0)],16,i)):l.createCommentVNode("",!0)},module.exports=r;