vxe-pc-ui
Version:
A vue based PC component library
1 lines • 2.5 kB
JavaScript
;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}},emits:[],setup(g,e){const{slots:p,emit:i}=e;var t=_xeUtils.default.uniqueId();const h=(0,_vue.ref)();var r=(0,_vue.reactive)({});const d={refElem:h},f=(0,_vue.computed)(()=>{var{height:e,width:t}=g,r={};return t&&(r.width=(0,_dom.toCssUnit)(t)),e&&(r.height=(0,_dom.toCssUnit)(e)),r}),a={},m={xID:t,props:g,context:e,reactData:r,getRefMaps:()=>d,getComputeMaps:()=>a};Object.assign(m,{dispatchEvent:(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$card:m},t))}},{});return m.renderVN=()=>{var{title:e,border:t,shadow:r,padding:i,loading:d,showTitleOverflow:a}=g,o=p.default,l=p.header,s=p.title,u=p.extra,n=p.footer,v=p.left,_=p.right,c=f.value;return(0,_vue.h)("div",{ref:h,class:["vxe-card",{"is--border":t,"is--shadow":r,"is--padding":i}],style:c},[e||s||l?(0,_vue.h)("div",{class:"vxe-card--header"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("div",{class:["vxe-card--header-title",{"is--ellipsis":a}]},s?(0,_vn.getSlotVNs)(s({})):""+(e||"")),u?(0,_vue.h)("div",{class:"vxe-card--header-extra"},(0,_vn.getSlotVNs)(u({}))):(0,_ui.renderEmptyElement)(m)]):(0,_ui.renderEmptyElement)(m),(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)(m),(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)(m)]),n?(0,_vue.h)("div",{class:"vxe-card--footer"},(0,_vn.getSlotVNs)(n({}))):(0,_ui.renderEmptyElement)(m),(0,_vue.h)(_loading.default,{class:"vxe-card--loading",modelValue:d})])},m},render(){return this.renderVN()}});