vue-devui
Version:
DevUI components based on Vite and Vue3
2 lines (1 loc) • 4.9 kB
JavaScript
var B=Object.defineProperty,D=Object.defineProperties;var F=Object.getOwnPropertyDescriptors;var C=Object.getOwnPropertySymbols;var I=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var v=(s,t,c)=>t in s?B(s,t,{enumerable:!0,configurable:!0,writable:!0,value:c}):s[t]=c,p=(s,t)=>{for(var c in t||(t={}))I.call(t,c)&&v(s,c,t[c]);if(C)for(var c of C(t))W.call(t,c)&&v(s,c,t[c]);return s},_=(s,t)=>D(s,F(t));var u=(s,t,c)=>(v(s,typeof t!="symbol"?t+"":t,c),c);(function(s,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(s=typeof globalThis!="undefined"?globalThis:s||self,t(s.index={},s.Vue))})(this,function(s,t){"use strict";const c=Symbol("dev_component_container");function w(e,o,r=null){const n=t.h(e,p({},o),r),a=document.createElement("div");return n[c]=a,t.render(n,a),n.component}function $(e){t.render(null,e==null?void 0:e.vnode[c])}class N{constructor(){u(this,"top","50%");u(this,"left","50%")}}const T={message:String,backdrop:Boolean,view:{type:Object,default:()=>new N},zIndex:Number,isFull:{type:Boolean,default:!1}};class b{constructor(){u(this,"target");u(this,"message");u(this,"loadingTemplateRef");u(this,"backdrop",!0);u(this,"positionType","relative");u(this,"view",new N);u(this,"zIndex")}}function m(e,o,r){let n=e;return o&&(n+=`__${o}`),r&&(n+=`--${r}`),n}function j(e,o=!1){const r=o?`.devui-${e}`:`devui-${e}`;return{b:()=>m(r),e:l=>l?m(r,l):"",m:l=>l?m(r,"",l):"",em:(l,y)=>l&&y?m(r,l,y):""}}var q="",A=t.defineComponent({name:"Loading",inheritAttrs:!1,props:T,setup(e){const o={top:e.view.top,left:e.view.left,zIndex:e.zIndex};e.message||(o.background="none");const r=t.ref(!1);return{style:o,isShow:r,open:()=>{r.value=!0},close:()=>{r.value=!1}}},render(){var l;const{isShow:e,isFull:o,backdrop:r,style:n,message:a,$slots:d}=this,i=j("loading");return e&&t.createVNode("div",{class:[i.b(),o?i.m("full"):""]},[((l=d.default)==null?void 0:l.call(d))||t.createVNode("div",{class:i.e("wrapper")},[r?t.createVNode("div",{class:i.e("mask")},null):null,t.createVNode("div",{style:n,class:i.e("area")},[t.createVNode("div",{class:i.e("busy-default-spinner")},[t.createVNode("div",{class:i.e("bar1")},null),t.createVNode("div",{class:i.e("bar2")},null),t.createVNode("div",{class:i.e("bar3")},null),t.createVNode("div",{class:i.e("bar4")},null)]),a?t.createVNode("span",{class:i.e("text")},[a]):null])])])}});const z=t.defineComponent(A),g=new WeakMap,x={open(e={}){var d,i,l;const o=e.target||document.body;if(g.has(o))return g.get(o);o.style&&(o.style.position=e.positionType);const r=document.body===o;e=p(p({},new b),e);const n=w(z,_(p({},e),{isFull:r}),e.loadingTemplateRef?()=>e.loadingTemplateRef:null);g.set(o,n),(d=n==null?void 0:n.proxy)==null||d.open(),o.appendChild((i=n==null?void 0:n.proxy)==null?void 0:i.$el);const a=(l=n==null?void 0:n.proxy)==null?void 0:l.close;return n&&(n.loadingInstance=n==null?void 0:n.proxy,n.loadingInstance&&(n.loadingInstance.close=(...y)=>{g.delete(o),a==null||a(...y)})),n}},E=t.defineComponent(A),f=new WeakSet,h=e=>{if(!e)return!0;if(Array.isArray(e))return e.length===0;if(e instanceof Set||e instanceof Map)return e.size===0;if(e instanceof Promise)return!1;if(typeof e=="object")try{return Object.keys(e).length===0}catch{return!1}return!1},S=e=>Object.prototype.toString.call(e).slice(8,-1).toLowerCase(),M=e=>{switch(S(e)){case"promise":return[e];case"array":return e.some(r=>S(r)!=="promise")?(console.error(new TypeError("Binding values should all be of type Promise")),"error"):e;default:return!1}},V=e=>{f.delete(e),e.instance.proxy.close(),$(e.instance)},L=(e,o)=>{var r,n,a;if(o.value){const d=M(o.value);if(d==="error")return;(a=(n=(r=e==null?void 0:e.instance)==null?void 0:r.proxy)==null?void 0:n.open)==null||a.call(n),e.appendChild(e.mask),f.add(e),d&&Promise.all(d).catch(i=>{console.error(new Error("Promise handling errors"),i)}).finally(()=>{V(e)})}else V(e)},P=e=>{e.removeAttribute("zindex"),e.removeAttribute("positiontype"),e.removeAttribute("backdrop"),e.removeAttribute("message"),e.removeAttribute("view"),e.removeAttribute("loadingtemplateref")},k=(e,o)=>{var d;const r=p(p({},new b),o),n=r.loadingTemplateRef,a=w(E,p({},r),n?()=>n:null);e.style.position=r.positionType||"relative",e.options=r,e.instance=a,e.mask=(d=a==null?void 0:a.proxy)==null?void 0:d.$el},O={mounted:function(e,o,r){k(e,r.props),P(e),!h(o.value)&&L(e,o)},updated:function(e,o,r){!h(o.value)&&f.has(e)||h(o.value)&&!f.has(e)||(!f.has(e)&&k(e,r.props),P(e),L(e,o))}};var R={title:"Loading \u52A0\u8F7D\u63D0\u793A",category:"\u53CD\u9988",status:"100%",install(e){e.directive("loading",O),e.config.globalProperties.$loadingService=x}};s.LoadingDirective=O,s.LoadingOptions=b,s.LoadingService=x,s.default=R,s.loadingProps=T,Object.defineProperty(s,"__esModule",{value:!0}),s[Symbol.toStringTag]="Module"});