UNPKG

vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

3 lines (2 loc) 1.31 kB
"use strict";const e=require("vue"),o=require("@vexip-ui/config"),d=require("@vexip-ui/utils"),v=require("./props.cjs"),p=e.defineComponent({name:"Divider",__name:"divider",props:v.dividerProps,setup(n){const l=n,t=o.useProps("divider",l,{vertical:!1,textPosition:{default:"center",validator:i=>["center","left","right"].includes(i)},primary:!1,dashed:!1,margin:null}),c=e.useSlots(),r=o.useNameHelper("divider"),s=e.computed(()=>!!c.default),u=e.computed(()=>[r.b(),r.bs("vars"),r.bm(t.vertical?"vertical":"horizontal"),{[r.bm("inherit")]:t.inherit,[r.bm("primary")]:!t.vertical&&t.primary,[r.bm("dashed")]:t.dashed,[r.bm("with-text")]:!t.vertical&&s.value,[r.bm(`with-text-${t.textPosition}`)]:!t.vertical&&s.value&&t.textPosition!=="center"}]),a=e.computed(()=>d.toCssSize(t.margin)),m=e.computed(()=>a.value?t.vertical?{marginRight:a.value,marginLeft:a.value}:{marginTop:a.value,marginBottom:a.value}:{});return(i,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(u.value),role:"separator",style:e.normalizeStyle(m.value)},[!e.unref(t).vertical&&s.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(r).be("text"))},[e.renderSlot(i.$slots,"default")],2)):e.createCommentVNode("",!0)],6))}});module.exports=p; //# sourceMappingURL=divider.vue2.cjs.map