vxe-pc-ui
Version:
A vue based PC component library
1 lines • 1.8 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeCol",props:{span:[Number,String],align:String,width:[Number,String],fill:Boolean,ellipsis:Boolean,size:{type:String,default:()=>(0,_ui.getConfig)().col.size||(0,_ui.getConfig)().size}},emits:[],setup(n,e){let{slots:o,emit:r}=e;var t=_xeUtils.default.uniqueId();(0,_ui.useSize)(n);let a=(0,_vue.ref)();var i=(0,_vue.reactive)({});let u={refElem:a},l=(0,_vue.inject)("$xeRow",null),s=(0,_vue.computed)(()=>l?l.props.gutter:null),d=(0,_vue.computed)(()=>l?l.props.vertical:null),p=(0,_vue.computed)(()=>{var e=n.width,i=s.value,r=d.value,u={};if(i){let[e,t]=_xeUtils.default.isArray(i)?i:[i];r&&(t=e,e=""),e&&(i=_xeUtils.default.isNumber(e)?(0,_dom.toCssUnit)(e/2):`calc(${(0,_dom.toCssUnit)(e)} / 2)`,u.paddingLeft=i,u.paddingRight=i),t&&(r=_xeUtils.default.isNumber(t)?(0,_dom.toCssUnit)(t/2):`calc(${(0,_dom.toCssUnit)(t)} / 2)`,u.paddingTop=r,u.paddingBottom=r)}return e&&(u.width=(0,_dom.toCssUnit)(e)),u}),_={},v={xID:t,props:n,context:e,reactData:i,getRefMaps:()=>u,getComputeMaps:()=>_};Object.assign(v,{dispatchEvent:(e,t,i)=>{r(e,(0,_ui.createEvent)(i,{$col:v},t))}},{});return v.renderVN=()=>{var{span:e,fill:t,align:i,width:r,ellipsis:u}=n,l=p.value,s=o.default;return(0,_vue.h)("div",{ref:a,class:["vxe-col",e?"span"+e:"",i?"align--"+i:"",{"is--span":!!e,"is--width":!!r,"is--fill":t,"is--ellipsis":u}],style:l},[(0,_vue.h)("div",{class:"vxe-col--inner"},s?s({}):[])])},v},render(){return this.renderVN()}});