UNPKG

vxe-pc-ui

Version:
1 lines 2.08 kB
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeLoading",props:{modelValue:Boolean,icon:{type:String,default:()=>(0,_ui.getConfig)().loading.icon},showIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().loading.showIcon},text:{type:String,default:()=>(0,_ui.getConfig)().loading.text},showText:{type:Boolean,default:()=>(0,_ui.getConfig)().loading.showText},status:String,size:{type:String,default:()=>(0,_ui.getConfig)().loading.size||(0,_ui.getConfig)().size}},setup(d,e){let{slots:v,emit:u}=e;var i=_xeUtils.default.uniqueId();let _=(0,_ui.useSize)(d).computeSize,g=(0,_vue.reactive)({initialized:!1}),t={computeSize:_},c={xID:i,props:d,context:e,reactData:g,getComputeMaps:()=>t},p=(0,_vue.computed)(()=>d.icon||(0,_ui.getIcon)().LOADING),x=(0,_vue.computed)(()=>{var e=d.text;return _xeUtils.default.isString(e)?e:(0,_ui.getI18n)("vxe.loading.text")}),n=()=>{g.initialized||(g.initialized=!!g.initialized)};Object.assign(c,{dispatchEvent:(e,i,t)=>{u(e,(0,_ui.createEvent)(t,{$loading:c},i))}},{});return(0,_vue.watch)(()=>d.modelValue,()=>{n()}),n(),c.renderVN=()=>{var{modelValue:e,showIcon:i,status:t}=d,u=g.initialized,n=_.value,o=v.default,a=v.text,l=v.icon,r=p.value,s=x.value;return u||e?(0,_vue.h)("div",{class:["vxe-loading",{["size--"+n]:n,["theme--"+t]:t,"is--visible":e}]},o?[(0,_vue.h)("div",{class:"vxe-loading--wrapper"},(0,_vn.getSlotVNs)(o({})))]:[(0,_vue.h)("div",{class:"vxe-loading--chunk"},[i&&(l||r)?(0,_vue.h)("div",{class:"vxe-loading--icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:r})]):(0,_vue.h)("div",{class:"vxe-loading--spinner"}),a||s?(0,_vue.h)("div",{class:"vxe-loading--text"},a?(0,_vn.getSlotVNs)(a({})):""+s):null])]):(0,_ui.renderEmptyElement)(c)},c},render(){return this.renderVN()}});