@wikimedia/codex
Version:
Codex Design System for Wikimedia
2 lines (1 loc) • 1.5 kB
JavaScript
;const e=require("vue"),a=require("./constants.js"),o=require("./Icon.js"),d=require("./useSlotContents.js"),p=require("./CdxTooltip.cjs"),f=require("./_plugin-vue_export-helper.js"),m={subtle:o.r6,notice:o.r6,progressive:o.r6,error:o.y4,warning:o.F3,success:o.v8},v=e.defineComponent({name:"CdxInfoChip",components:{CdxIcon:o.CdxIcon},directives:{tooltip:p},props:{status:{type:String,default:"notice",validator:a.statusTypeValidator},icon:{type:[String,Object],default:null}},setup(t,{slots:c}){const i=e.computed(()=>({["cdx-info-chip--".concat(t.status)]:!0})),u=e.computed(()=>["notice","subtle","progressive"].includes(t.status)?t.icon:m[t.status]),n=e.ref(),s=e.ref(!1),r=e.computed(()=>s.value&&n.value&&n.value.scrollWidth>n.value.clientWidth?d.useSlotContents(c==null?void 0:c.default)[0]:null);return e.onMounted(()=>{s.value=!0}),{rootClasses:i,computedIcon:u,tooltipContent:r,textElement:n}}}),C={ref:"textElement",class:"cdx-info-chip__text"};function _(t,c,i,u,n,s){const r=e.resolveComponent("cdx-icon"),l=e.resolveDirective("tooltip");return e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["cdx-info-chip",t.rootClasses])},[t.computedIcon?(e.openBlock(),e.createBlock(r,{key:0,class:"cdx-info-chip__icon--vue",icon:t.computedIcon},null,8,["icon"])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",C,[e.renderSlot(t.$slots,"default")],512)],2)),[[l,t.tooltipContent]])}const x=f._export_sfc(v,[["render",_]]);module.exports=x;