vxe-pc-ui
Version:
A vue based PC component library
1 lines • 1.27 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_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,_vue.defineComponent)({name:"VxeLayoutBody",props:{loading:Boolean,padding:Boolean,size:{type:String,default:()=>(0,_ui.getConfig)().layoutBody.size||(0,_ui.getConfig)().size}},emits:[],setup(a,e){const{slots:r,emit:u}=e;var t=_xeUtils.default.uniqueId();const o=(0,_vue.ref)(),n=(0,_ui.useSize)(a)["computeSize"];var i=(0,_vue.reactive)({});const d={refElem:o},l={computeSize:n},s={xID:t,props:a,context:e,reactData:i,getRefMaps:()=>d,getComputeMaps:()=>l};Object.assign(s,{dispatchEvent:(e,t,i)=>{u(e,(0,_ui.createEvent)(i,{$layoutBody:s},t))}},{});return s.renderVN=()=>{var{loading:e,padding:t}=a,i=n.value,u=r.default;return(0,_vue.h)("div",{ref:o,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})])},s},render(){return this.renderVN()}});