UNPKG

ll-package

Version:

2 lines (1 loc) 1.73 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../../../../@babel/runtime/helpers/esm/extends.js"),e=require("vue"),s=require("../confirm.js"),H=require("./HookModal.js"),S=require("../destroyFns.js");let q=0;const b=e.defineComponent({name:"ElementsHolder",inheritAttrs:!1,setup(f,o){let{expose:u}=o;const t=e.shallowRef([]);return u({addModal:n=>(t.value.push(n),t.value=t.value.slice(),()=>{t.value=t.value.filter(c=>c!==n)})}),()=>t.value.map(n=>n())}});function F(){const f=e.shallowRef(null),o=e.shallowRef([]);e.watch(o,()=>{o.value.length&&([...o.value].forEach(c=>{c()}),o.value=[])},{immediate:!0});const u=n=>function(g){var v;q+=1;const y=e.shallowRef(!0),h=e.shallowRef(null),r=e.shallowRef(e.unref(g)),C=e.shallowRef({});e.watch(()=>g,l=>{w(i.default(i.default({},e.isRef(l)?l.value:l),C.value))});const m=function(){y.value=!1;for(var l=arguments.length,p=new Array(l),d=0;d<l;d++)p[d]=arguments[d];const E=p.some(M=>M&&M.triggerCancel);r.value.onCancel&&E&&r.value.onCancel(()=>{},...p.slice(1))};let a;const A=()=>e.createVNode(H.default,{key:`modal-${q}`,config:n(r.value),ref:h,open:y.value,destroyAction:m,afterClose:()=>{a==null||a()}},null);a=(v=f.value)===null||v===void 0?void 0:v.addModal(A),a&&S.default.push(a);const w=l=>{r.value=i.default(i.default({},r.value),l)};return{destroy:()=>{h.value?m():o.value=[...o.value,m]},update:l=>{C.value=l,h.value?w(l):o.value=[...o.value,()=>w(l)]}}},t=e.computed(()=>({info:u(s.withInfo),success:u(s.withSuccess),error:u(s.withError),warning:u(s.withWarn),confirm:u(s.withConfirm)})),R=Symbol("modalHolderKey");return[t.value,()=>e.createVNode(b,{key:R,ref:f},null)]}exports.default=F;