@wikimedia/codex
Version:
Codex Design System for Wikimedia
2 lines (1 loc) • 3.23 kB
JavaScript
;const e=require("vue"),d=require("./Icon.js"),c=require("./useFieldData.cjs"),p=require("./useSplitAttributes.cjs"),u=require("./useI18nWithOverride.js"),m=require("./_plugin-vue_export-helper.js"),f=e.defineComponent({name:"CdxLabel",components:{CdxIcon:d.CdxIcon},inheritAttrs:!1,props:{icon:{type:[String,Object],default:null},optional:{type:Boolean,default:!1},optionalFlag:{type:String,default:"",validator:(o,l)=>o.length>0&&!l.optional?(console.warn("[CdxLabel]: The boolean `optional` prop is required to show the optional flag.\n\nRefer to https://doc.wikimedia.org/codex/latest/components/demos/label.html#props."),!1):!0},visuallyHidden:{type:Boolean,default:!1},isLegend:{type:Boolean,default:!1},inputId:{type:String,default:""},descriptionId:{type:String,default:""},disabled:{type:Boolean,default:!1}},setup(o,{attrs:l}){const{computedDisabled:n}=c(e.toRef(o,"disabled")),s=e.computed(()=>({"cdx-label--visually-hidden":o.visuallyHidden,"cdx-label--disabled":n.value})),{rootClasses:a,rootStyle:i,otherAttrs:t}=p(l,s),r=u.useI18nWithOverride(e.toRef(o,"optionalFlag"),"cdx-label-optional-flag","(optional)");return{rootClasses:a,rootStyle:i,otherAttrs:t,translatedOptionalFlag:r}}}),b=["for"],_={class:"cdx-label__label__text"},g={key:1,class:"cdx-label__label__optional-flag"},y=["id"],k={class:"cdx-label__label"},h={class:"cdx-label__label__text"},B={key:1,class:"cdx-label__label__optional-flag"},C={key:0,class:"cdx-label__description"};function v(o,l,n,s,a,i){const t=e.resolveComponent("cdx-icon");return o.isLegend?(e.openBlock(),e.createElementBlock("legend",e.mergeProps({key:1,class:["cdx-label",o.rootClasses],style:o.rootStyle},o.otherAttrs),[e.createElementVNode("span",k,[o.icon?(e.openBlock(),e.createBlock(t,{key:0,icon:o.icon,class:"cdx-label__label__icon"},null,8,["icon"])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",h,[e.renderSlot(o.$slots,"default")]),o.optionalFlag||o.optional?(e.openBlock(),e.createElementBlock("span",B,e.toDisplayString(" ")+" "+e.toDisplayString(o.translatedOptionalFlag),1)):e.createCommentVNode("v-if",!0)]),o.$slots.description&&o.$slots.description().length>0?(e.openBlock(),e.createElementBlock("span",C,[e.renderSlot(o.$slots,"description")])):e.createCommentVNode("v-if",!0)],16)):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["cdx-label",o.rootClasses]),style:e.normalizeStyle(o.rootStyle)},[e.createElementVNode("label",e.mergeProps({class:"cdx-label__label",for:o.inputId?o.inputId:void 0},o.otherAttrs),[o.icon?(e.openBlock(),e.createBlock(t,{key:0,icon:o.icon,class:"cdx-label__label__icon"},null,8,["icon"])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",_,[e.renderSlot(o.$slots,"default")]),o.optionalFlag||o.optional?(e.openBlock(),e.createElementBlock("span",g,e.toDisplayString(" ")+" "+e.toDisplayString(o.translatedOptionalFlag),1)):e.createCommentVNode("v-if",!0)],16,b),o.$slots.description&&o.$slots.description().length>0?(e.openBlock(),e.createElementBlock("span",{key:0,id:o.descriptionId||void 0,class:"cdx-label__description"},[e.renderSlot(o.$slots,"description")],8,y)):e.createCommentVNode("v-if",!0)],6))}const S=m._export_sfc(f,[["render",v]]);module.exports=S;