2 lines
4.8 KiB
JavaScript
2 lines
4.8 KiB
JavaScript
import{r as B,a0 as P,ah as O,v as j,ab as R,a3 as m,K as z,R as K,V as Y,Z,Y as q,n as I,f as N,j as S,k as D,ay as F}from"./vendor-vue-CrWqv-BE.js";import{aN as G,av as C,a1 as b,ax as L}from"./index-xdc4dCJw.js";import{a as H}from"./vendor-misc-vmXLPW1j.js";function M(e,t){let n;const l=B(!1),s=P({...e,originalPosition:"",originalOverflow:"",visible:!1});function a(o){s.text=o}function c(){const o=s.parent,u=v.ns;if(!o.vLoadingAddClassList){let i=o.getAttribute("loading-number");i=Number.parseInt(i)-1,i?o.setAttribute("loading-number",i.toString()):(C(o,u.bm("parent","relative")),o.removeAttribute("loading-number")),C(o,u.bm("parent","hidden"))}d(),g.unmount()}function d(){var o,u;(u=(o=v.$el)==null?void 0:o.parentNode)==null||u.removeChild(v.$el)}function _(){var o;e.beforeClose&&!e.beforeClose()||(l.value=!0,clearTimeout(n),n=setTimeout(r,400),s.visible=!1,(o=e.closed)==null||o.call(e))}function r(){if(!l.value)return;const o=s.parent;l.value=!1,o.vLoadingAddClassList=void 0,c()}const p=j({name:"ElLoading",setup(o,{expose:u}){const{ns:i,zIndex:T}=G("loading");return u({ns:i,zIndex:T}),()=>{const A=s.spinner||s.svg,V=m("svg",{class:"circular",viewBox:s.svgViewBox?s.svgViewBox:"0 0 50 50",...A?{innerHTML:A}:{}},[m("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),E=s.text?m("p",{class:i.b("text")},[s.text]):void 0;return m(q,{name:i.b("fade"),onAfterLeave:r},{default:z(()=>[K(Y("div",{style:{backgroundColor:s.background||""},class:[i.b("mask"),s.customClass,s.fullscreen?"is-fullscreen":""]},[m("div",{class:i.b("spinner")},[V,E])]),[[Z,s.visible]])])})}}}),g=O(p);Object.assign(g._context,t??{});const v=g.mount(document.createElement("div"));return{...R(s),setText:a,removeElLoadingChild:d,close:_,handleAfterLeave:r,vm:v,get $el(){return v.$el}}}let y;const k=function(e={}){if(!H)return;const t=J(e);if(t.fullscreen&&y)return y;const n=M({...t,closed:()=>{var s;(s=t.closed)==null||s.call(t),t.fullscreen&&(y=void 0)}},k._context);Q(t,t.parent,n),h(t,t.parent,n),t.parent.vLoadingAddClassList=()=>h(t,t.parent,n);let l=t.parent.getAttribute("loading-number");return l?l=`${Number.parseInt(l)+1}`:l="1",t.parent.setAttribute("loading-number",l),t.parent.appendChild(n.$el),I(()=>n.visible.value=t.visible),t.fullscreen&&(y=n),n},J=e=>{var t,n,l,s;let a;return N(e.target)?a=(t=document.querySelector(e.target))!=null?t:document.body:a=e.target||document.body,{parent:a===document.body||e.body?document.body:a,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:a===document.body&&((n=e.fullscreen)!=null?n:!0),lock:(l=e.lock)!=null?l:!1,customClass:e.customClass||"",visible:(s=e.visible)!=null?s:!0,beforeClose:e.beforeClose,closed:e.closed,target:a}},Q=async(e,t,n)=>{const{nextZIndex:l}=n.vm.zIndex||n.vm._.exposed.zIndex,s={};if(e.fullscreen)n.originalPosition.value=b(document.body,"position"),n.originalOverflow.value=b(document.body,"overflow"),s.zIndex=l();else if(e.parent===document.body){n.originalPosition.value=b(document.body,"position"),await I();for(const a of["top","left"]){const c=a==="top"?"scrollTop":"scrollLeft";s[a]=`${e.target.getBoundingClientRect()[a]+document.body[c]+document.documentElement[c]-Number.parseInt(b(document.body,`margin-${a}`),10)}px`}for(const a of["height","width"])s[a]=`${e.target.getBoundingClientRect()[a]}px`}else n.originalPosition.value=b(t,"position");for(const[a,c]of Object.entries(s))n.$el.style[a]=c},h=(e,t,n)=>{const l=n.vm.ns||n.vm._.exposed.ns;["absolute","fixed","sticky"].includes(n.originalPosition.value)?C(t,l.bm("parent","relative")):L(t,l.bm("parent","relative")),e.fullscreen&&e.lock?L(t,l.bm("parent","hidden")):C(t,l.bm("parent","hidden"))};k._context=null;const x=Symbol("ElLoading"),f=e=>`element-loading-${F(e)}`,w=(e,t)=>{var n,l,s,a;const c=t.instance,d=o=>S(t.value)?t.value[o]:void 0,_=o=>{const u=N(o)&&c?.[o]||o;return B(u)},r=o=>_(d(o)||e.getAttribute(f(o))),p=(n=d("fullscreen"))!=null?n:t.modifiers.fullscreen,g={text:r("text"),svg:r("svg"),svgViewBox:r("svgViewBox"),spinner:r("spinner"),background:r("background"),customClass:r("customClass"),fullscreen:p,target:(l=d("target"))!=null?l:p?void 0:e,body:(s=d("body"))!=null?s:t.modifiers.body,lock:(a=d("lock"))!=null?a:t.modifiers.lock},v=k(g);v._context=$._context,e[x]={options:g,instance:v}},U=(e,t)=>{for(const n of Object.keys(e))D(e[n])&&(e[n].value=t[n])},$={mounted(e,t){t.value&&w(e,t)},updated(e,t){const n=e[x];if(!t.value){n?.instance.close(),e[x]=null;return}n?U(n.options,S(t.value)?t.value:{text:e.getAttribute(f("text")),svg:e.getAttribute(f("svg")),svgViewBox:e.getAttribute(f("svgViewBox")),spinner:e.getAttribute(f("spinner")),background:e.getAttribute(f("background")),customClass:e.getAttribute(f("customClass"))}):w(e,t)},unmounted(e){var t;(t=e[x])==null||t.instance.close(),e[x]=null}};$._context=null;export{$ as v};
|