mirror of
https://github.com/schroinerxy/cloud-mail.git
synced 2026-06-21 19:35:50 +08:00
2 lines
7.4 KiB
JavaScript
2 lines
7.4 KiB
JavaScript
import{b as H,R as le,ac as ae,_ as J,a as M,aK as se,y as Z,k as I,c as U,o as D,f as N,e as K,r as E,n as m,g as e,t as te,ab as z,p as g,m as j,a6 as ne,bY as re,L as ie,i as Q,aU as de,d as ue,H as ce,bi as fe,z as k,bZ as ve,aV as ye,F as q,I as pe,b_ as me,Q as G,a8 as ge,$ as Ce,j as be,u as he,T as Ee,N as ke,q as Ie,aD as we,O as De,G as Se,w as Te}from"./index-BtzXKQwE.js";import{u as Fe,a as Be,b as Pe,c as Ae}from"./index-CTUonbyI.js";import{F as $e,e as Le,a as Oe,b as Re}from"./vnode-D7e7dmSq.js";import{U as W}from"./event-BB_Ol6Sd.js";import{e as Y,u as Ne}from"./index-CBgbCWze.js";const X=Symbol("dialogInjectionKey"),x=H({center:Boolean,alignCenter:Boolean,closeIcon:{type:le},draggable:Boolean,overflow:Boolean,fullscreen:Boolean,headerClass:String,bodyClass:String,footerClass:String,showClose:{type:Boolean,default:!0},title:{type:String,default:""},ariaLevel:{type:String,default:"2"}}),ze={close:()=>!0},Me=(...o)=>n=>{o.forEach(a=>{ae(a)?a(n):a.value=n})},Ve=M({name:"ElDialogContent"}),Ue=M({...Ve,props:x,emits:ze,setup(o,{expose:n}){const a=o,{t:A}=se(),{Close:i}=re,{dialogRef:f,headerRef:C,bodyId:b,ns:s,style:d}=Z(X),{focusTrapRef:y}=Z($e),p=I(()=>[s.b(),s.is("fullscreen",a.fullscreen),s.is("draggable",a.draggable),s.is("align-center",a.alignCenter),{[s.m("center")]:a.center}]),h=Me(y,f),u=I(()=>a.draggable),v=I(()=>a.overflow),{resetPosition:S,updatePosition:T}=Fe(f,C,u,v);return n({resetPosition:S,updatePosition:T}),(t,w)=>(D(),U("div",{ref:e(h),class:m(e(p)),style:Q(e(d)),tabindex:"-1"},[N("header",{ref_key:"headerRef",ref:C,class:m([e(s).e("header"),t.headerClass,{"show-close":t.showClose}])},[E(t.$slots,"header",{},()=>[N("span",{role:"heading","aria-level":t.ariaLevel,class:m(e(s).e("title"))},te(t.title),11,["aria-level"])]),t.showClose?(D(),U("button",{key:0,"aria-label":e(A)("el.dialog.close"),class:m(e(s).e("headerbtn")),type:"button",onClick:$=>t.$emit("close")},[z(e(ie),{class:m(e(s).e("close"))},{default:g(()=>[(D(),j(ne(t.closeIcon||e(i))))]),_:1},8,["class"])],10,["aria-label","onClick"])):K("v-if",!0)],2),N("div",{id:e(b),class:m([e(s).e("body"),t.bodyClass])},[E(t.$slots,"default")],10,["id"]),t.$slots.footer?(D(),U("footer",{key:0,class:m([e(s).e("footer"),t.footerClass])},[E(t.$slots,"footer")],2)):K("v-if",!0)],6))}});var qe=J(Ue,[["__file","dialog-content.vue"]]);const Ke=H({...x,appendToBody:Boolean,appendTo:{type:Le.to.type,default:"body"},beforeClose:{type:ue(Function)},destroyOnClose:Boolean,closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:Boolean,modalClass:String,headerClass:String,bodyClass:String,footerClass:String,width:{type:[String,Number]},zIndex:{type:Number},trapFocus:Boolean,headerAriaLevel:{type:String,default:"2"}}),je={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[W]:o=>de(o),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},_e=(o,n)=>{var a;const i=ce().emit,{nextZIndex:f}=fe();let C="";const b=Y(),s=Y(),d=k(!1),y=k(!1),p=k(!1),h=k((a=o.zIndex)!=null?a:f());let u,v;const S=ve("namespace",me),T=I(()=>{const r={},c=`--${S.value}-dialog`;return o.fullscreen||(o.top&&(r[`${c}-margin-top`]=o.top),o.width&&(r[`${c}-width`]=ye(o.width))),r}),t=I(()=>o.alignCenter?{display:"flex"}:{});function w(){i("opened")}function $(){i("closed"),i(W,!1),o.destroyOnClose&&(p.value=!1)}function V(){i("close")}function L(){v?.(),u?.(),o.openDelay&&o.openDelay>0?{stop:u}=G(()=>O(),o.openDelay):O()}function F(){u?.(),v?.(),o.closeDelay&&o.closeDelay>0?{stop:v}=G(()=>R(),o.closeDelay):R()}function B(){function r(c){c||(y.value=!0,d.value=!1)}o.beforeClose?o.beforeClose(r):F()}function P(){o.closeOnClickModal&&B()}function O(){ge&&(d.value=!0)}function R(){d.value=!1}function l(){i("openAutoFocus")}function _(){i("closeAutoFocus")}function ee(r){var c;((c=r.detail)==null?void 0:c.focusReason)==="pointer"&&r.preventDefault()}o.lockScroll&&Be(d);function oe(){o.closeOnPressEscape&&B()}return q(()=>o.zIndex,()=>{var r;h.value=(r=o.zIndex)!=null?r:f()}),q(()=>o.modelValue,r=>{var c;r?(y.value=!1,L(),p.value=!0,h.value=(c=o.zIndex)!=null?c:f(),Ce(()=>{i("open"),n.value&&(n.value.parentElement.scrollTop=0,n.value.parentElement.scrollLeft=0,n.value.scrollTop=0)})):d.value&&F()}),q(()=>o.fullscreen,r=>{n.value&&(r?(C=n.value.style.transform,n.value.style.transform=""):n.value.style.transform=C)}),pe(()=>{o.modelValue&&(d.value=!0,p.value=!0,L())}),{afterEnter:w,afterLeave:$,beforeLeave:V,handleClose:B,onModalClick:P,close:F,doClose:R,onOpenAutoFocus:l,onCloseAutoFocus:_,onCloseRequested:oe,onFocusoutPrevented:ee,titleId:b,bodyId:s,closed:y,style:T,overlayDialogStyle:t,rendered:p,visible:d,zIndex:h}},Ze=M({name:"ElDialog",inheritAttrs:!1}),Ge=M({...Ze,props:Ke,emits:je,setup(o,{expose:n}){const a=o,A=be();Ne({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},I(()=>!!A.title));const i=he("dialog"),f=k(),C=k(),b=k(),{visible:s,titleId:d,bodyId:y,style:p,overlayDialogStyle:h,rendered:u,zIndex:v,afterEnter:S,afterLeave:T,beforeLeave:t,handleClose:w,onModalClick:$,onOpenAutoFocus:V,onCloseAutoFocus:L,onCloseRequested:F,onFocusoutPrevented:B}=_e(a,f);Se(X,{dialogRef:f,headerRef:C,bodyId:y,ns:i,rendered:u,style:p});const P=Ae($),O=I(()=>a.draggable&&!a.fullscreen);return n({visible:s,dialogContentRef:b,resetPosition:()=>{var l;(l=b.value)==null||l.resetPosition()},handleClose:w}),(l,_)=>(D(),j(e(Re),{to:l.appendTo,disabled:l.appendTo!=="body"?!1:!l.appendToBody},{default:g(()=>[z(Ee,{name:"dialog-fade",onAfterEnter:e(S),onAfterLeave:e(T),onBeforeLeave:e(t),persisted:""},{default:g(()=>[ke(z(e(Pe),{"custom-mask-event":"",mask:l.modal,"overlay-class":l.modalClass,"z-index":e(v)},{default:g(()=>[N("div",{role:"dialog","aria-modal":"true","aria-label":l.title||void 0,"aria-labelledby":l.title?void 0:e(d),"aria-describedby":e(y),class:m(`${e(i).namespace.value}-overlay-dialog`),style:Q(e(h)),onClick:e(P).onClick,onMousedown:e(P).onMousedown,onMouseup:e(P).onMouseup},[z(e(Oe),{loop:"",trapped:e(s),"focus-start-el":"container",onFocusAfterTrapped:e(V),onFocusAfterReleased:e(L),onFocusoutPrevented:e(B),onReleaseRequested:e(F)},{default:g(()=>[e(u)?(D(),j(qe,Ie({key:0,ref_key:"dialogContentRef",ref:b},l.$attrs,{center:l.center,"align-center":l.alignCenter,"close-icon":l.closeIcon,draggable:e(O),overflow:l.overflow,fullscreen:l.fullscreen,"header-class":l.headerClass,"body-class":l.bodyClass,"footer-class":l.footerClass,"show-close":l.showClose,title:l.title,"aria-level":l.headerAriaLevel,onClose:e(w)}),we({header:g(()=>[l.$slots.title?E(l.$slots,"title",{key:1}):E(l.$slots,"header",{key:0,close:e(w),titleId:e(d),titleClass:e(i).e("title")})]),default:g(()=>[E(l.$slots,"default")]),_:2},[l.$slots.footer?{name:"footer",fn:g(()=>[E(l.$slots,"footer")])}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","header-class","body-class","footer-class","show-close","title","aria-level","onClose"])):K("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,["aria-label","aria-labelledby","aria-describedby","onClick","onMousedown","onMouseup"])]),_:3},8,["mask","overlay-class","z-index"]),[[De,e(s)]])]),_:3},8,["onAfterEnter","onAfterLeave","onBeforeLeave"])]),_:3},8,["to","disabled"]))}});var Ye=J(Ge,[["__file","dialog.vue"]]);const xe=Te(Ye);export{xe as E,Me as c};
|