primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 2.28 kB
JavaScript
import e from"primevue/basecomponent";import n from"primevue/icons/timescircle";import{openBlock as i,createElementBlock as o,mergeProps as t,renderSlot as l,createBlock as c,resolveDynamicComponent as s,createCommentVNode as a,toDisplayString as p}from"vue";var r={name:"Chip",extends:e,emits:["remove"],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}},data:()=>({visible:!0}),methods:{onKeydown(e){"Enter"!==e.key&&"Backspace"!==e.key||this.close(e)},close(e){this.visible=!1,this.$emit("remove",e)}},computed:{containerClass(){return["p-chip p-component",{"p-chip-image":null!=this.image}]}},components:{TimesCircleIcon:n}};const m=["aria-label"],d=["src"];!function(e,n){void 0===n&&(n={});var i=n.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css","top"===i&&o.firstChild?o.insertBefore(t,o.firstChild):o.appendChild(t),t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}}("\n.p-chip {\n display: inline-flex;\n align-items: center;\n}\n.p-chip-text {\n line-height: 1.5;\n}\n.p-chip-icon.pi {\n line-height: 1.5;\n}\n.p-chip-remove-icon {\n line-height: 1.5;\n cursor: pointer;\n}\n.p-chip img {\n border-radius: 50%;\n}\n"),r.render=function(e,n,r,h,u,y){return u.visible?(i(),o("div",t({key:0,class:y.containerClass,"aria-label":r.label},e.ptm("root")),[l(e.$slots,"default",{},(()=>[r.image?(i(),o("img",t({key:0,src:r.image},e.ptm("image")),null,16,d)):e.$slots.icon?(i(),c(s(e.$slots.icon),t({key:1,class:"p-chip-icon"},e.ptm("icon")),null,16)):r.icon?(i(),o("span",t({key:2,class:["p-chip-icon",r.icon]},e.ptm("icon")),null,16)):a("",!0),r.label?(i(),o("div",t({key:3,class:"p-chip-text"},e.ptm("label")),p(r.label),17)):a("",!0)])),r.removable?l(e.$slots,"removeicon",{key:0,onClick:y.close,onKeydown:y.onKeydown},(()=>[(i(),c(s(r.removeIcon?"span":"TimesCircleIcon"),t({tabindex:"0",class:["p-chip-remove-icon",r.removeIcon],onClick:y.close,onKeydown:y.onKeydown},e.ptm("removeIcon")),null,16,["class","onClick","onKeydown"]))])):a("",!0)],16,m)):a("",!0)};export{r as default};