index2.5ee1afd3.js 11 KB

1
  1. var ye=Object.defineProperty,Ce=Object.defineProperties;var he=Object.getOwnPropertyDescriptors;var ee=Object.getOwnPropertySymbols;var Ee=Object.prototype.hasOwnProperty,Be=Object.prototype.propertyIsEnumerable;var ne=(e,n,o)=>n in e?ye(e,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[n]=o,V=(e,n)=>{for(var o in n||(n={}))Ee.call(n,o)&&ne(e,o,n[o]);if(ee)for(var o of ee(n))Be.call(n,o)&&ne(e,o,n[o]);return e},se=(e,n)=>Ce(e,he(n));import{w as N,b2 as we,aU as ue,n as k,bK as de,aj as Me,d as Se,M as Te,bL as ke,L as Ie,bM as Ae,E as Re,bN as Le,a8 as $e,s as Ve,e as C,bw as ze,r as Pe,j as h,bO as oe,bi as te,q as Oe,bP as De,o as Ne,g as Ue,bQ as Fe,a6 as He,_ as Ke,bR as je,k as E,t as d,B as v,C as c,U as j,V as q,c as B,x as f,z as i,H as ae,D as z,v as X,a0 as P,G as w,a7 as T,as as O,y as qe,a as G,T as Xe,W as Ge,aZ as Ze,aw as D,a1 as We,aX as Qe,bS as ce,bT as le,h as Je}from"./index.0153c912.js";import{i as Ye}from"./index2.ba6b47c6.js";const xe='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',_e=e=>getComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,re=e=>Array.from(e.querySelectorAll(xe)).filter(n=>en(n)&&_e(n)),en=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},nn=(e,n)=>{let o;N(()=>e.value,l=>{var a,t;l?(o=document.activeElement,we(n)&&((t=(a=n.value).focus)==null||t.call(a))):o.focus()})},Z="_trap-focus-children",b=[],ie=e=>{if(b.length===0)return;const n=b[b.length-1][Z];if(n.length>0&&e.code===Me.tab){if(n.length===1){e.preventDefault(),document.activeElement!==n[0]&&n[0].focus();return}const o=e.shiftKey,l=e.target===n[0],a=e.target===n[n.length-1];l&&o&&(e.preventDefault(),n[n.length-1].focus()),a&&!o&&(e.preventDefault(),n[0].focus())}},sn={beforeMount(e){e[Z]=re(e),b.push(e),b.length<=1&&ue(document,"keydown",ie)},updated(e){k(()=>{e[Z]=re(e)})},unmounted(){b.shift(),b.length===0&&de(document,"keydown",ie)}},on=Se({name:"ElMessageBox",directives:{TrapFocus:sn},components:V({ElButton:Te,ElFocusTrap:ke,ElInput:Ie,ElOverlay:Ae,ElIcon:Re},Le),inheritAttrs:!1,props:{buttonSize:{type:String,validator:Ye},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,roundButton:{default:!1,type:Boolean},container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:n}){const{t:o}=$e(),l=Ve("message-box"),a=C(!1),{nextZIndex:t}=ze(),s=Pe({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,confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:t()}),p=h(()=>{const r=s.type;return{[l.bm("icon",r)]:r&&oe[r]}}),U=te(),A=te(),F=Oe(h(()=>e.buttonSize),{prop:!0,form:!0,formItem:!0}),H=h(()=>s.icon||oe[s.type]||""),u=h(()=>!!s.message),R=C(),W=C(),K=C(),L=C(),Q=C(),fe=h(()=>s.confirmButtonClass);N(()=>s.inputValue,async r=>{await k(),e.boxType==="prompt"&&r!==null&&Y()},{immediate:!0}),N(()=>a.value,r=>{var m,y;r&&((e.boxType==="alert"||e.boxType==="confirm")&&(K.value=(y=(m=Q.value)==null?void 0:m.$el)!=null?y:R.value),s.zIndex=t()),e.boxType==="prompt"&&(r?k().then(()=>{var _;L.value&&L.value.$el&&(K.value=(_=ge())!=null?_:R.value)}):(s.editorErrorMessage="",s.validateError=!1))});const pe=h(()=>e.draggable);De(R,W,pe),Ne(async()=>{await k(),e.closeOnHashChange&&ue(window,"hashchange",S)}),Ue(()=>{e.closeOnHashChange&&de(window,"hashchange",S)});function S(){!a.value||(a.value=!1,k(()=>{s.action&&n("action",s.action)}))}const J=()=>{e.closeOnClickModal&&$(s.distinguishCancelAndClose?"close":"cancel")},me=je(J),ve=r=>{if(s.inputType!=="textarea")return r.preventDefault(),$("confirm")},$=r=>{var m;e.boxType==="prompt"&&r==="confirm"&&!Y()||(s.action=r,s.beforeClose?(m=s.beforeClose)==null||m.call(s,r,s,S):S())},Y=()=>{if(e.boxType==="prompt"){const r=s.inputPattern;if(r&&!r.test(s.inputValue||""))return s.editorErrorMessage=s.inputErrorMessage||o("el.messagebox.error"),s.validateError=!0,!1;const m=s.inputValidator;if(typeof m=="function"){const y=m(s.inputValue);if(y===!1)return s.editorErrorMessage=s.inputErrorMessage||o("el.messagebox.error"),s.validateError=!0,!1;if(typeof y=="string")return s.editorErrorMessage=y,s.validateError=!0,!1}}return s.editorErrorMessage="",s.validateError=!1,!0},ge=()=>{const r=L.value.$refs;return r.input||r.textarea},x=()=>{$("close")},be=()=>{e.closeOnPressEscape&&x()};return e.lockScroll&&Fe(a),nn(a),se(V({},He(s)),{ns:l,overlayEvent:me,visible:a,hasMessage:u,typeClass:p,contentId:U,inputId:A,btnSize:F,iconComponent:H,confirmButtonClasses:fe,rootRef:R,focusStartRef:K,headerRef:W,inputRef:L,confirmRef:Q,doClose:S,handleClose:x,onCloseRequested:be,handleWrapperClick:J,handleInputEnter:ve,handleAction:$,t:o})}}),tn=["aria-label","aria-describedby"],an=["aria-label"],ln=["id"];function rn(e,n,o,l,a,t){const s=E("el-icon"),p=E("close"),U=E("el-input"),A=E("el-button"),F=E("el-focus-trap"),H=E("el-overlay");return d(),v(Xe,{name:"fade-in-linear",onAfterLeave:n[11]||(n[11]=u=>e.$emit("vanish")),persisted:""},{default:c(()=>[j(B(H,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:c(()=>[f("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:i(`${e.ns.namespace.value}-overlay-message-box`),onClick:n[8]||(n[8]=(...u)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...u)),onMousedown:n[9]||(n[9]=(...u)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...u)),onMouseup:n[10]||(n[10]=(...u)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...u))},[B(F,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:c(()=>[f("div",{ref:"rootRef",class:i([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),{[e.ns.m("center")]:e.center}]),style:ae(e.customStyle),tabindex:"-1",onClick:n[7]||(n[7]=z(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(d(),X("div",{key:0,ref:"headerRef",class:i(e.ns.e("header"))},[f("div",{class:i(e.ns.e("title"))},[e.iconComponent&&e.center?(d(),v(s,{key:0,class:i([e.ns.e("status"),e.typeClass])},{default:c(()=>[(d(),v(P(e.iconComponent)))]),_:1},8,["class"])):w("v-if",!0),f("span",null,T(e.title),1)],2),e.showClose?(d(),X("button",{key:0,type:"button",class:i(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:n[0]||(n[0]=u=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:n[1]||(n[1]=O(z(u=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[B(s,{class:i(e.ns.e("close"))},{default:c(()=>[B(p)]),_:1},8,["class"])],42,an)):w("v-if",!0)],2)):w("v-if",!0),f("div",{id:e.contentId,class:i(e.ns.e("content"))},[f("div",{class:i(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(d(),v(s,{key:0,class:i([e.ns.e("status"),e.typeClass])},{default:c(()=>[(d(),v(P(e.iconComponent)))]),_:1},8,["class"])):w("v-if",!0),e.hasMessage?(d(),X("div",{key:1,class:i(e.ns.e("message"))},[qe(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(d(),v(P(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(d(),v(P(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0},{default:c(()=>[G(T(e.dangerouslyUseHTMLString?"":e.message),1)]),_:1},8,["for"]))])],2)):w("v-if",!0)],2),j(f("div",{class:i(e.ns.e("input"))},[B(U,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":n[2]||(n[2]=u=>e.inputValue=u),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:i({invalid:e.validateError}),onKeydown:O(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),f("div",{class:i(e.ns.e("errormsg")),style:ae({visibility:e.editorErrorMessage?"visible":"hidden"})},T(e.editorErrorMessage),7)],2),[[q,e.showInput]])],10,ln),f("div",{class:i(e.ns.e("btns"))},[e.showCancelButton?(d(),v(A,{key:0,loading:e.cancelButtonLoading,class:i([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:n[3]||(n[3]=u=>e.handleAction("cancel")),onKeydown:n[4]||(n[4]=O(z(u=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:c(()=>[G(T(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["loading","class","round","size"])):w("v-if",!0),j(B(A,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,class:i([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:n[5]||(n[5]=u=>e.handleAction("confirm")),onKeydown:n[6]||(n[6]=O(z(u=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:c(()=>[G(T(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["loading","class","round","disabled","size"]),[[q,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,tn)]),_:3},8,["z-index","overlay-class","mask"]),[[q,e.visible]])]),_:3})}var un=Ke(on,[["render",rn],["__file","/home/runner/work/element-plus/element-plus/packages/components/message-box/src/index.vue"]]);const I=new Map,dn=(e,n,o=null)=>{const l=Je(un,e);return l.appContext=o,ce(l,n),document.body.appendChild(n.firstElementChild),l.component},cn=()=>document.createElement("div"),fn=(e,n)=>{const o=cn();e.onVanish=()=>{ce(null,o),I.delete(a)},e.onAction=t=>{const s=I.get(a);let p;e.showInput?p={value:a.inputValue,action:t}:p=t,e.callback?e.callback(p,l.proxy):t==="cancel"||t==="close"?e.distinguishCancelAndClose&&t!=="cancel"?s.reject("close"):s.reject("cancel"):s.resolve(p)};const l=dn(e,o,n),a=l.proxy;for(const t in e)le(e,t)&&!le(a.$props,t)&&(a[t]=e[t]);return N(()=>a.message,(t,s)=>{D(t)?l.slots.default=()=>[t]:D(s)&&!D(t)&&delete l.slots.default},{immediate:!0}),a.visible=!0,a};function M(e,n=null){if(!Ge)return Promise.reject();let o;return Ze(e)||D(e)?e={message:e}:o=e.callback,new Promise((l,a)=>{const t=fn(e,n!=null?n:M._context);I.set(t,{options:e,callback:o,resolve:l,reject:a})})}const pn=["alert","confirm","prompt"],mn={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};pn.forEach(e=>{M[e]=vn(e)});function vn(e){return(n,o,l,a)=>{let t;return We(o)?(l=o,t=""):Qe(o)?t="":t=o,M(Object.assign(V({title:t,message:n,type:""},mn[e]),l,{boxType:e}),a)}}M.close=()=>{I.forEach((e,n)=>{n.doClose()}),I.clear()};M._context=null;const g=M;g.install=e=>{g._context=e._context,e.config.globalProperties.$msgbox=g,e.config.globalProperties.$messageBox=g,e.config.globalProperties.$alert=g.alert,e.config.globalProperties.$confirm=g.confirm,e.config.globalProperties.$prompt=g.prompt};const Cn=g;export{Cn as E};