UNPKG

vxe-pc-ui

Version:
1 lines 2.06 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_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,_vue.defineComponent)({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){const{slots:v,emit:u}=e;var t=_xeUtils.default.uniqueId();const _=(0,_ui.useSize)(d)["computeSize"],g=(0,_vue.reactive)({initialized:!1}),i={computeSize:_},n={xID:t,props:d,context:e,reactData:g,getComputeMaps:()=>i},c=(0,_vue.computed)(()=>d.icon||(0,_ui.getIcon)().LOADING),p=(0,_vue.computed)(()=>{var e=d["text"];return _xeUtils.default.isString(e)?e:(0,_ui.getI18n)("vxe.loading.text")}),o=()=>{g.initialized||(g.initialized=!!g.initialized)};Object.assign(n,{dispatchEvent:(e,t,i)=>{u(e,(0,_ui.createEvent)(i,{$loading:n},t))}},{});return(0,_vue.watch)(()=>d.modelValue,()=>{o()}),o(),n.renderVN=()=>{var{modelValue:e,showIcon:t,status:i}=d,u=g["initialized"],n=_.value,o=v.default,a=v.text,l=v.icon,s=c.value,r=p.value;return u||e?(0,_vue.h)("div",{class:["vxe-loading",{["size--"+n]:n,["theme--"+i]:i,"is--visible":e}]},o?[(0,_vue.h)("div",{class:"vxe-loading--wrapper"},(0,_vn.getSlotVNs)(o({})))]:[(0,_vue.h)("div",{class:"vxe-loading--chunk"},[t&&(l||s)?(0,_vue.h)("div",{class:"vxe-loading--icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:s})]):(0,_vue.h)("div",{class:"vxe-loading--spinner"}),a||r?(0,_vue.h)("div",{class:"vxe-loading--text"},a?(0,_vn.getSlotVNs)(a({})):""+r):null])]):(0,_vue.createCommentVNode)()},n},render(){return this.renderVN()}});