import{d as p,N as m,a as y,_ as C,u as b,b as O}from"./Modal-BHLPhdX-.js";import{k as j}from"./keep-B1eBS8j0.js";import{d as h,s as k,G as v,P as g,F as P,D as A}from"./index-bVOhw2NF.js";import{a as E,d as L,b as S}from"./context-ELq7iLHP.js";import{o as F}from"./omit-DbnPTcif.js";import{c as N}from"./index-L98eAIry.js";const w=Object.assign(Object.assign({},p),{onAfterEnter:Function,onAfterLeave:Function,transformOrigin:String,blockScroll:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},onEsc:Function,autoFocus:{type:Boolean,default:!0},internalStyle:[String,Object],maskClosable:{type:Boolean,default:!0},onPositiveClick:Function,onNegativeClick:Function,onClose:Function,onMaskClick:Function}),I=h({name:"DialogEnvironment",props:Object.assign(Object.assign({},w),{internalKey:{type:String,required:!0},to:[String,Object],onInternalAfterLeave:{type:Function,required:!0}}),setup(t){const o=k(!0);function s(){const{onInternalAfterLeave:e,internalKey:a,onAfterLeave:c}=t;e&&e(a),c&&c()}function l(e){const{onPositiveClick:a}=t;a?Promise.resolve(a(e)).then(c=>{c!==!1&&n()}):n()}function u(e){const{onNegativeClick:a}=t;a?Promise.resolve(a(e)).then(c=>{c!==!1&&n()}):n()}function f(){const{onClose:e}=t;e?Promise.resolve(e()).then(a=>{a!==!1&&n()}):n()}function d(e){const{onMaskClick:a,maskClosable:c}=t;a&&(a(e),c&&n())}function i(){const{onEsc:e}=t;e&&e()}function n(){o.value=!1}function r(e){o.value=e}return{show:o,hide:n,handleUpdateShow:r,handleAfterLeave:s,handleCloseClick:f,handleNegativeClick:u,handlePositiveClick:l,handleMaskClick:d,handleEsc:i}},render(){const{handlePositiveClick:t,handleUpdateShow:o,handleNegativeClick:s,handleCloseClick:l,handleAfterLeave:u,handleMaskClick:f,handleEsc:d,to:i,maskClosable:n,show:r}=this;return v(C,{show:r,onUpdateShow:o,onMaskClick:f,onEsc:d,to:i,maskClosable:n,onAfterEnter:this.onAfterEnter,onAfterLeave:u,closeOnEsc:this.closeOnEsc,blockScroll:this.blockScroll,autoFocus:this.autoFocus,transformOrigin:this.transformOrigin,internalAppear:!0,internalDialog:!0},{default:()=>v(m,Object.assign({},j(this.$props,y),{style:this.internalStyle,onClose:l,onNegativeClick:s,onPositiveClick:t}))})}}),D={injectionKey:String,to:[String,Object]},x=h({name:"DialogProvider",props:D,setup(){const t=k([]),o={};function s(i={}){const n=N(),r=A(Object.assign(Object.assign({},i),{key:n,destroy:()=>{var e;(e=o[`n-dialog-${n}`])===null||e===void 0||e.hide()}}));return t.value.push(r),r}const l=["info","success","warning","error"].map(i=>n=>s(Object.assign(Object.assign({},n),{type:i})));function u(i){const{value:n}=t;n.splice(n.findIndex(r=>r.key===i),1)}function f(){Object.values(o).forEach(i=>{i==null||i.hide()})}const d={create:s,destroyAll:f,info:l[0],success:l[1],warning:l[2],error:l[3]};return g(E,d),g(L,{clickedRef:b(64),clickedPositionRef:O()}),g(S,t),Object.assign(Object.assign({},d),{dialogList:t,dialogInstRefs:o,handleAfterLeave:u})},render(){var t,o;return v(P,null,[this.dialogList.map(s=>v(I,F(s,["destroy","style"],{internalStyle:s.style,to:this.to,ref:l=>{l===null?delete this.dialogInstRefs[`n-dialog-${s.key}`]:this.dialogInstRefs[`n-dialog-${s.key}`]=l},internalKey:s.key,onInternalAfterLeave:this.handleAfterLeave}))),(o=(t=this.$slots).default)===null||o===void 0?void 0:o.call(t)])}});export{x as N};