UNPKG

vxe-pc-ui

Version:
1 lines 2.64 kB
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_vn=require("../../ui/src/vn"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_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:"VxeCard",props:{title:String,showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().card.showTitleOverflow},width:[String,Number],height:[String,Number],border:{type:Boolean,default:()=>(0,_ui.getConfig)().card.border},loading:Boolean,shadow:{type:Boolean,default:()=>(0,_ui.getConfig)().card.shadow},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().card.padding},size:{type:String,default:()=>(0,_ui.getConfig)().card.size||(0,_ui.getConfig)().size}},emits:[],setup(p,e){let{slots:f,emit:i}=e;var t=_xeUtils.default.uniqueId();let h=(0,_vue.ref)(),m=(0,_ui.useSize)(p).computeSize;var r=(0,_vue.reactive)({});let d={refElem:h},x=(0,_vue.computed)(()=>{var{height:e,width:t}=p,r={};return t&&(r.width=(0,_dom.toCssUnit)(t)),e&&(r.height=(0,_dom.toCssUnit)(e)),r}),a={computeSize:m},y={xID:t,props:p,context:e,reactData:r,getRefMaps:()=>d,getComputeMaps:()=>a};Object.assign(y,{dispatchEvent:(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$card:y},t))}},{});return y.renderVN=()=>{var{title:e,border:t,shadow:r,padding:i,loading:d,showTitleOverflow:a}=p,o=f.default,u=f.header,l=f.title,s=f.extra,n=f.footer,v=f.left,_=f.right,c=m.value,g=x.value;return(0,_vue.h)("div",{ref:h,class:["vxe-card",{["size--"+c]:c,"is--border":t,"is--shadow":r,"is--padding":i}],style:g},[e||l||u?(0,_vue.h)("div",{class:"vxe-card--header"},u?(0,_vn.getSlotVNs)(u({})):[(0,_vue.h)("div",{class:["vxe-card--header-title",{"is--ellipsis":a}]},l?(0,_vn.getSlotVNs)(l({})):""+(e||"")),s?(0,_vue.h)("div",{class:"vxe-card--header-extra"},(0,_vn.getSlotVNs)(s({}))):(0,_ui.renderEmptyElement)(y)]):(0,_ui.renderEmptyElement)(y),(0,_vue.h)("div",{class:"vxe-card--body"},[v?(0,_vue.h)("div",{class:"vxe-card--body-left"},(0,_vn.getSlotVNs)(v({}))):(0,_ui.renderEmptyElement)(y),(0,_vue.h)("div",{class:"vxe-card--body-content"},o?(0,_vn.getSlotVNs)(o({})):[]),_?(0,_vue.h)("div",{class:"vxe-card--body-right"},(0,_vn.getSlotVNs)(_({}))):(0,_ui.renderEmptyElement)(y)]),n?(0,_vue.h)("div",{class:"vxe-card--footer"},(0,_vn.getSlotVNs)(n({}))):(0,_ui.renderEmptyElement)(y),(0,_vue.h)(_loading.default,{class:"vxe-card--loading",modelValue:d})])},y},render(){return this.renderVN()}});