vxe-pc-ui
Version:
A vue based PC component library
1 lines • 1.31 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_loading=_interopRequireDefault(require("../../loading/src/loading")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLayoutBody",props:{loading:Boolean,padding:Boolean,size:{type:String,default:()=>(0,_ui.getConfig)().layoutBody.size||(0,_ui.getConfig)().size}},emits:[],setup(r,e){const{slots:o,emit:u}=e;var t=_xeUtils.default.uniqueId();const a=(0,_vue.ref)(),n=(0,_ui.useSize)(r)["computeSize"];var i=(0,_vue.reactive)({});const s={refElem:a},d={computeSize:n},l={xID:t,props:r,context:e,reactData:i,getRefMaps:()=>s,getComputeMaps:()=>d};Object.assign(l,{dispatchEvent:(e,t,i)=>{u(e,(0,_ui.createEvent)(i,{$layoutBody:l},t))}},{});return l.renderVN=()=>{var{loading:e,padding:t}=r,i=n.value,u=o.default;return(0,_vue.h)("div",{ref:a,class:["vxe-layout-body",{["size--"+i]:i,"is--loading":e,"is--padding":t}]},[(0,_vue.h)("div",{class:"vxe-layout-body--inner"},u?u({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-list-view--loading",modelValue:e})])},l},render(){return this.renderVN()}});