sci-pro
Version:
2 lines (1 loc) • 1.09 kB
JavaScript
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),v=require("../utils/dom.js");function g(s){const e=n.reactive({visible:!1,...s});function i(){var t;e.visible=!1,(t=s.closed)==null||t.call(s)}function a(){c()}function c(){e.target&&v.removeClass(e.target,"loading-relative"),o.unmount()}const l=n.defineComponent({name:"loading",setup(){return()=>{const t=e.spinner||e.svg,u=n.h("svg",{class:"circular",viewBox:e.svgViewBox?e.svgViewBox:"0 0 50 50",...t?{innerHTML:t}:{}},[n.h("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),d=e.text?n.h("p",{class:"text"},[e.text]):void 0;return n.h(n.Transition,{name:"fade",onAfterLeave:a},{default:n.withCtx(()=>[n.withDirectives(n.createVNode("div",{style:{backgroundColor:e.background||""},class:["sci-loading-mask",e.customClass,e.fullscreen?"is-fullscreen":""]},[n.h("div",{class:"spinner"},[u,d])]),[[n.vShow,e.visible]])])})}}}),o=n.createApp(l),r=o.mount(document.createElement("div"));return{...n.toRefs(e),vm:r,close:i,get $el(){return r.$el}}}exports.createLoadingComponent=g;