import{J as e,d as n,j as t,r as o,a6 as a,$ as s,I as l,o as r,f as i,aP as c,i as u,v as d,F as p,B as f,O as m,A as v,y as g,V as b,P as y,Z as h,x as C,ax as E,S as x,z as B,ac as w,ae as I,C as k,R as M,au as T,a8 as A,ay as S,bx as L,bt as P,b5 as R,aB as z,a3 as _,a2 as O,bc as V}from"./Bo_iVniw.js";import{E as $,P as j}from"./VlgD6k4s.js";import{X as H,j as q,_ as K,ba as D,x as U,a as F,bb as N,l as X,bc as Z}from"./DfEyodI2.js";import{a as J,u as Q,b as W,c as G}from"./Dx6kOzSs.js";const Y=e=>Array.from(e.querySelectorAll('a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])')).filter((e=>ee(e)&&(e=>"fixed"!==getComputedStyle(e).position&&null!==e.offsetParent)(e))),ee=e=>{if(e.tabIndex>0||0===e.tabIndex&&null!==e.getAttribute("tabIndex"))return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&"ignore"!==e.rel;case"INPUT":return!("hidden"===e.type||"file"===e.type);case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},ne=function(e,n,...t){let o;o=n.includes("mouse")||n.includes("click")?"MouseEvents":n.includes("key")?"KeyboardEvent":"HTMLEvents";const a=document.createEvent(o);return a.initEvent(n,...t),e.dispatchEvent(a),e},te=e=>!e.getAttribute("aria-owns"),oe=(e,n,t)=>{const{parentNode:o}=e;if(!o)return null;const a=o.querySelectorAll(t);return a[Array.prototype.indexOf.call(a,e)+n]||null},ae=e=>{e&&(e.focus(),!te(e)&&e.click())},se="_trap-focus-children",le=[],re=e=>{if(0===le.length)return;const n=le[le.length-1][se];if(n.length>0&&e.code===q.tab){if(1===n.length)return e.preventDefault(),void(document.activeElement!==n[0]&&n[0].focus());const t=e.shiftKey,o=e.target===n[0],a=e.target===n[n.length-1];o&&t&&(e.preventDefault(),n[n.length-1].focus()),a&&!t&&(e.preventDefault(),n[0].focus())}},ie=n({name:"ElMessageBox",directives:{TrapFocus:{beforeMount(e){e[se]=Y(e),le.push(e),le.length<=1&&document.addEventListener("keydown",re)},updated(n){e((()=>{n[se]=Y(n)}))},unmounted(){le.shift(),0===le.length&&document.removeEventListener("keydown",re)}}},components:{ElButton:$,ElFocusTrap:D,ElInput:U,ElOverlay:J,ElIcon:F,...N},inheritAttrs:!1,props:{buttonSize:{type:String,validator:e=>["",...H].includes(e)},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:{default:!1,type:Boolean},container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(n,{emit:u}){const{locale:d,zIndex:p,ns:f,size:m}=j("message-box",t((()=>n.buttonSize))),{t:v}=d,{nextZIndex:g}=p,b=o(!1),y=a({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:null,inputValidator:null,inputErrorMessage:"",message:null,modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:X,cancelButtonLoadingIcon:X,confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:g()}),h=t((()=>{const e=y.type;return{[f.bm("icon",e)]:e&&Z[e]}})),C=s(),E=s(),x=t((()=>y.icon||Z[y.type]||"")),B=t((()=>!!y.message)),w=o(),I=o(),k=o(),M=o(),T=o(),A=t((()=>y.confirmButtonClass));l((()=>y.inputValue),(async t=>{await e(),"prompt"===n.boxType&&null!==t&&O()}),{immediate:!0}),l((()=>b.value),(t=>{var o,a;t&&("prompt"!==n.boxType&&(y.autofocus?k.value=null!=(a=null==(o=T.value)?void 0:o.$el)?a:w.value:k.value=w.value),y.zIndex=g()),"prompt"===n.boxType&&(t?e().then((()=>{var e;M.value&&M.value.$el&&(y.autofocus?k.value=null!=(e=V())?e:w.value:k.value=w.value)})):(y.editorErrorMessage="",y.validateError=!1))}));const S=t((()=>n.draggable)),L=t((()=>n.overflow));function P(){b.value&&(b.value=!1,e((()=>{y.action&&u("action",y.action)})))}Q(w,I,S,L),r((async()=>{await e(),n.closeOnHashChange&&window.addEventListener("hashchange",P)})),i((()=>{n.closeOnHashChange&&window.removeEventListener("hashchange",P)}));const R=()=>{n.closeOnClickModal&&_(y.distinguishCancelAndClose?"close":"cancel")},z=G(R),_=e=>{var t;("prompt"!==n.boxType||"confirm"!==e||O())&&(y.action=e,y.beforeClose?null==(t=y.beforeClose)||t.call(y,e,y,P):P())},O=()=>{if("prompt"===n.boxType){const e=y.inputPattern;if(e&&!e.test(y.inputValue||""))return y.editorErrorMessage=y.inputErrorMessage||v("el.messagebox.error"),y.validateError=!0,!1;const n=y.inputValidator;if("function"==typeof n){const e=n(y.inputValue);if(!1===e)return y.editorErrorMessage=y.inputErrorMessage||v("el.messagebox.error"),y.validateError=!0,!1;if("string"==typeof e)return y.editorErrorMessage=e,y.validateError=!0,!1}}return y.editorErrorMessage="",y.validateError=!1,!0},V=()=>{const e=M.value.$refs;return e.input||e.textarea},$=()=>{_("close")};return n.lockScroll&&W(b),{...c(y),ns:f,overlayEvent:z,visible:b,hasMessage:B,typeClass:h,contentId:C,inputId:E,btnSize:m,iconComponent:x,confirmButtonClasses:A,rootRef:w,focusStartRef:k,headerRef:I,inputRef:M,confirmRef:T,doClose:P,handleClose:$,onCloseRequested:()=>{n.closeOnPressEscape&&$()},handleWrapperClick:R,handleInputEnter:e=>{if("textarea"!==y.inputType)return e.preventDefault(),_("confirm")},handleAction:_,t:v}}}),ce=["aria-label","aria-describedby"],ue=["aria-label"],de=["id"];var pe=K(ie,[["render",function(e,n,t,o,a,s){const l=u("el-icon"),r=u("close"),i=u("el-input"),c=u("el-button"),A=u("el-focus-trap"),S=u("el-overlay");return d(),p(T,{name:"fade-in-linear",onAfterLeave:n[11]||(n[11]=n=>e.$emit("vanish")),persisted:""},{default:f((()=>[m(v(S,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:f((()=>[g("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:b(`${e.ns.namespace.value}-overlay-message-box`),onClick:n[8]||(n[8]=(...n)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...n)),onMousedown:n[9]||(n[9]=(...n)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...n)),onMouseup:n[10]||(n[10]=(...n)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...n))},[v(A,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:f((()=>[g("div",{ref:"rootRef",class:b([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),{[e.ns.m("center")]:e.center}]),style:y(e.customStyle),tabindex:"-1",onClick:n[7]||(n[7]=h((()=>{}),["stop"]))},[null!==e.title&&void 0!==e.title?(d(),C("div",{key:0,ref:"headerRef",class:b([e.ns.e("header"),{"show-close":e.showClose}])},[g("div",{class:b(e.ns.e("title"))},[e.iconComponent&&e.center?(d(),p(l,{key:0,class:b([e.ns.e("status"),e.typeClass])},{default:f((()=>[(d(),p(E(e.iconComponent)))])),_:1},8,["class"])):x("v-if",!0),g("span",null,B(e.title),1)],2),e.showClose?(d(),C("button",{key:0,type:"button",class:b(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:n[0]||(n[0]=n=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:n[1]||(n[1]=w(h((n=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),["prevent"]),["enter"]))},[v(l,{class:b(e.ns.e("close"))},{default:f((()=>[v(r)])),_:1},8,["class"])],42,ue)):x("v-if",!0)],2)):x("v-if",!0),g("div",{id:e.contentId,class:b(e.ns.e("content"))},[g("div",{class:b(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(d(),p(l,{key:0,class:b([e.ns.e("status"),e.typeClass])},{default:f((()=>[(d(),p(E(e.iconComponent)))])),_:1},8,["class"])):x("v-if",!0),e.hasMessage?(d(),C("div",{key:1,class:b(e.ns.e("message"))},[I(e.$slots,"default",{},(()=>[e.dangerouslyUseHTMLString?(d(),p(E(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(d(),p(E(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0},{default:f((()=>[k(B(e.dangerouslyUseHTMLString?"":e.message),1)])),_:1},8,["for"]))]))],2)):x("v-if",!0)],2),m(g("div",{class:b(e.ns.e("input"))},[v(i,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":n[2]||(n[2]=n=>e.inputValue=n),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:b({invalid:e.validateError}),onKeydown:w(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),g("div",{class:b(e.ns.e("errormsg")),style:y({visibility:e.editorErrorMessage?"visible":"hidden"})},B(e.editorErrorMessage),7)],2),[[M,e.showInput]])],10,de),g("div",{class:b(e.ns.e("btns"))},[e.showCancelButton?(d(),p(c,{key:0,loading:e.cancelButtonLoading,"loading-icon":e.cancelButtonLoadingIcon,class:b([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:n[3]||(n[3]=n=>e.handleAction("cancel")),onKeydown:n[4]||(n[4]=w(h((n=>e.handleAction("cancel")),["prevent"]),["enter"]))},{default:f((()=>[k(B(e.cancelButtonText||e.t("el.messagebox.cancel")),1)])),_:1},8,["loading","loading-icon","class","round","size"])):x("v-if",!0),m(v(c,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,"loading-icon":e.confirmButtonLoadingIcon,class:b([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:n[5]||(n[5]=n=>e.handleAction("confirm")),onKeydown:n[6]||(n[6]=w(h((n=>e.handleAction("confirm")),["prevent"]),["enter"]))},{default:f((()=>[k(B(e.confirmButtonText||e.t("el.messagebox.confirm")),1)])),_:1},8,["loading","loading-icon","class","round","disabled","size"]),[[M,e.showConfirmButton]])],2)],6)])),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,ce)])),_:3},8,["z-index","overlay-class","mask"]),[[M,e.visible]])])),_:3})}],["__file","index.vue"]]);const fe=new Map,me=(e,n,t=null)=>{const o=v(pe,e,O(e.message)||L(e.message)?{default:O(e.message)?e.message:()=>e.message}:null);return o.appContext=t,P(o,n),(e=>{let n=document.body;return e.appendTo&&(S(e.appendTo)&&(n=document.querySelector(e.appendTo)),V(e.appendTo)&&(n=e.appendTo),V(n)||(n=document.body)),n})(e).appendChild(n.firstElementChild),o.component},ve=(e,n)=>{const t=document.createElement("div");e.onVanish=()=>{P(null,t),fe.delete(a)},e.onAction=n=>{const t=fe.get(a);let s;s=e.showInput?{value:a.inputValue,action:n}:n,e.callback?e.callback(s,o.proxy):"cancel"===n||"close"===n?e.distinguishCancelAndClose&&"cancel"!==n?t.reject("close"):t.reject("cancel"):t.resolve(s)};const o=me(e,t,n),a=o.proxy;for(const s in e)R(e,s)&&!R(a.$props,s)&&(a[s]=e[s]);return a.visible=!0,a};function ge(e,n=null){if(!A)return Promise.reject();let t;return S(e)||L(e)?e={message:e}:t=e.callback,new Promise(((o,a)=>{const s=ve(e,null!=n?n:ge._context);fe.set(s,{options:e,callback:t,resolve:o,reject:a})}))}const be={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};["alert","confirm","prompt"].forEach((e=>{ge[e]=function(e){return(n,t,o,a)=>{let s="";return z(t)?(o=t,s=""):s=_(t)?"":t,ge(Object.assign({title:s,message:n,type:"",...be[e]},o,{boxType:e}),a)}}(e)})),ge.close=()=>{fe.forEach(((e,n)=>{n.doClose()})),fe.clear()},ge._context=null;const ye=ge;ye.install=e=>{ye._context=e._context,e.config.globalProperties.$msgbox=ye,e.config.globalProperties.$messageBox=ye,e.config.globalProperties.$alert=ye.alert,e.config.globalProperties.$confirm=ye.confirm,e.config.globalProperties.$prompt=ye.prompt};const he=ye;export{he as E,ae as f,oe as g,te as i,ne as t};
