vue-ele-plus
Version:
2 lines (1 loc) • 17.5 kB
JavaScript
var ho=Object.defineProperty,Co=Object.defineProperties;var bo=Object.getOwnPropertyDescriptors;var ue=Object.getOwnPropertySymbols;var So=Object.prototype.hasOwnProperty,To=Object.prototype.propertyIsEnumerable;var me=(o,m,w)=>m in o?ho(o,m,{enumerable:!0,configurable:!0,writable:!0,value:w}):o[m]=w,L=(o,m)=>{for(var w in m||(m={}))So.call(m,w)&&me(o,w,m[w]);if(ue)for(var w of ue(m))To.call(m,w)&&me(o,w,m[w]);return o},N=(o,m)=>Co(o,bo(m));(function(o,m){typeof exports=="object"&&typeof module!="undefined"?module.exports=m(require("vue")):typeof define=="function"&&define.amd?define(["vue"],m):(o=typeof globalThis!="undefined"?globalThis:o||self,o.index=m(o.Vue))})(this,function(o){"use strict";function m(e){for(var t=-1,n=e==null?0:e.length,s={};++t<n;){var l=e[t];s[l[0]]=l[1]}return s}function w(e){return o.getCurrentScope()?(o.onScopeDispose(e),!0):!1}const S=typeof window!="undefined",pe=e=>typeof e=="boolean",W=e=>typeof e=="number",ye=e=>typeof e=="string",z=()=>{};function K(e,t,n={}){const{immediate:s=!0}=n,l=o.ref(!1);let i=null;function r(){i&&(clearTimeout(i),i=null)}function c(){l.value=!1,r()}function d(...y){r(),l.value=!0,i=setTimeout(()=>{l.value=!1,i=null,e(...y)},o.unref(t))}return s&&(l.value=!0,S&&d()),w(c),{isPending:l,start:d,stop:c}}function we(e){var t;const n=o.unref(e);return(t=n==null?void 0:n.$el)!=null?t:n}const ge=S?window:void 0;function Ee(...e){let t,n,s,l;if(ye(e[0])?([n,s,l]=e,t=ge):[t,n,s,l]=e,!t)return z;let i=z;const r=o.watch(()=>we(t),d=>{i(),d&&(d.addEventListener(n,s,l),i=()=>{d.removeEventListener(n,s,l),i=z})},{immediate:!0,flush:"post"}),c=()=>{r(),i()};return w(c),c}const v=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},R="__vueuse_ssr_handlers__";v[R]=v[R]||{},v[R];var X,G;S&&(window==null?void 0:window.navigator)&&((X=window==null?void 0:window.navigator)==null?void 0:X.platform)&&/iP(ad|hone|od)/.test((G=window==null?void 0:window.navigator)==null?void 0:G.platform);const V=()=>{},he=Object.prototype.hasOwnProperty,Z=(e,t)=>he.call(e,t),Ce=e=>typeof e=="string",q=e=>e!==null&&typeof e=="object",be=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Se=/-(\w)/g,Te=be(e=>e.replace(Se,(t,n)=>n?n.toUpperCase():"")),_e=e=>e===void 0,J=(e="")=>e.split(" ").filter(t=>!!t.trim()),Q=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},ke=(e,t)=>{!e||!t.trim()||e.classList.add(...J(t))},Be=(e,t)=>{!e||!t.trim()||e.classList.remove(...J(t))},F=(e,t)=>{var n;if(!S||!e||!t)return"";Te(t);try{const s=e.style[t];if(s)return s;const l=(n=document.defaultView)==null?void 0:n.getComputedStyle(e,"");return l?l[t]:""}catch{return e.style[t]}};let D;const Oe=()=>{var e;if(!S)return 0;if(D!==void 0)return D;const t=document.createElement("div");t.className="el-scrollbar__wrap",t.style.visibility="hidden",t.style.width="100px",t.style.position="absolute",t.style.top="-9999px",document.body.appendChild(t);const n=t.offsetWidth;t.style.overflow="scroll";const s=document.createElement("div");s.style.width="100%",t.appendChild(s);const l=s.offsetWidth;return(e=t.parentNode)==null||e.removeChild(t),D=n-l,D};var $e=(e,t)=>{const n=e.__vccOpts||e;for(const[s,l]of t)n[s]=l;return n};const Me=o.defineComponent({name:"Close"}),Le={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ne=[o.createElementVNode("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"},null,-1)];function De(e,t,n,s,l,i){return o.openBlock(),o.createElementBlock("svg",Le,Ne)}var Ae=$e(Me,[["render",De]]);const P=Symbol(),ee="__elPropsReservedKey";function Ie(e,t){if(!q(e)||!!e[ee])return e;const{values:n,required:s,default:l,type:i,validator:r}=e,c=n||r?y=>{let u=!1,a=[];if(n&&(a=Array.from(n),Z(e,"default")&&a.push(l),u||(u=a.includes(y))),r&&(u||(u=r(y))),!u&&a.length>0){const f=[...new Set(a)].map(g=>JSON.stringify(g)).join(", ");o.warn(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${f}], got value ${JSON.stringify(y)}.`)}return u}:void 0,d={type:q(i)&&Object.getOwnPropertySymbols(i).includes(P)?i[P]:i,required:!!s,validator:c,[ee]:!0};return Z(e,"default")&&(d.default=l),d}const A=e=>m(Object.entries(e).map(([t,n])=>[t,Ie(n,t)])),$=e=>({[P]:e}),xe=$([String,Object,Function]),ze={Close:Ae},oe=(e,t)=>{if(e.install=n=>{for(const s of[e,...Object.values(t!=null?t:{})])n.component(s.name,s)},t)for(const[n,s]of Object.entries(t))e[n]=s;return e};class ve extends Error{constructor(t){super(t),this.name="ElementPlusError"}}function Re(e,t){throw new ve(`[${e}] ${t}`)}function Y(e,t="px"){if(!e)return"";if(Ce(e))return e;if(W(e))return`${e}${t}`}const Ve={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},te="update:modelValue";var I=(e=>(e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e))(I||{});const Pe=Symbol(),ne=Symbol("dialogInjectionKey"),le=o.ref();function se(e,t=void 0){const n=o.getCurrentInstance()?o.inject(Pe,le):le;return e?o.computed(()=>{var s,l;return(l=(s=n.value)==null?void 0:s[e])!=null?l:t}):n}const Ye=(e,t,n)=>{let s={offsetX:0,offsetY:0};const l=c=>{const d=c.clientX,y=c.clientY,{offsetX:u,offsetY:a}=s,f=e.value.getBoundingClientRect(),g=f.left,B=f.top,b=f.width,O=f.height,p=document.documentElement.clientWidth,E=document.documentElement.clientHeight,C=-g+u,U=-B+a,x=p-g-b+u,M=E-B-O+a,h=ce=>{const de=Math.min(Math.max(u+ce.clientX-d,C),x),fe=Math.min(Math.max(a+ce.clientY-y,U),M);s={offsetX:de,offsetY:fe},e.value.style.transform=`translate(${Y(de)}, ${Y(fe)})`},_=()=>{document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",_)};document.addEventListener("mousemove",h),document.addEventListener("mouseup",_)},i=()=>{t.value&&e.value&&t.value.addEventListener("mousedown",l)},r=()=>{t.value&&e.value&&t.value.removeEventListener("mousedown",l)};o.onMounted(()=>{o.watchEffect(()=>{n.value?i():r()})}),o.onBeforeUnmount(()=>{r()})},je=e=>{if(o.isRef(e)||Re("[useLockscreen]","You need to pass a ref param to this function"),!S||Q(document.body,"el-popup-parent--hidden"))return;let t=0,n=!1,s="0",l=0;const i=()=>{Be(document.body,"el-popup-parent--hidden"),n&&(document.body.style.paddingRight=s)};o.watch(e,r=>{if(!r){i();return}n=!Q(document.body,"el-popup-parent--hidden"),n&&(s=document.body.style.paddingRight,l=Number.parseInt(F(document.body,"paddingRight"),10)),t=Oe();const c=document.documentElement.clientHeight<document.body.scrollHeight,d=F(document.body,"overflowY");t>0&&(c||d==="scroll")&&n&&(document.body.style.paddingRight=`${l+t}px`),ke(document.body,"el-popup-parent--hidden")}),o.onScopeDispose(()=>i())},k=[],He=e=>{k.length!==0&&e.code===Ve.esc&&(e.stopPropagation(),k[k.length-1].handleClose())},Ue=(e,t)=>{o.watch(t,n=>{n?k.push(e):k.splice(k.indexOf(e),1)})};S&&Ee(document,"keydown",He);const We=(e,t)=>{let n;o.watch(()=>e.value,s=>{var l,i;s?(n=document.activeElement,o.isRef(t)&&((i=(l=t.value).focus)==null||i.call(l))):n.focus()})},re=e=>{if(!e)return{onClick:V,onMousedown:V,onMouseup:V};let t=!1,n=!1;return{onClick:r=>{t&&n&&e(r),t=n=!1},onMousedown:r=>{t=r.target===r.currentTarget},onMouseup:r=>{n=r.target===r.currentTarget}}},Ke="el",Xe="is-",T=(e,t,n,s,l)=>{let i=`${e}-${t}`;return n&&(i+=`-${n}`),s&&(i+=`__${s}`),l&&(i+=`--${l}`),i},j=e=>{const t=se("namespace"),n=o.computed(()=>t.value||Ke);return{namespace:n,b:(a="")=>T(o.unref(n),e,a,"",""),e:a=>a?T(o.unref(n),e,"",a,""):"",m:a=>a?T(o.unref(n),e,"","",a):"",be:(a,f)=>a&&f?T(o.unref(n),e,a,f,""):"",em:(a,f)=>a&&f?T(o.unref(n),e,"",a,f):"",bm:(a,f)=>a&&f?T(o.unref(n),e,a,"",f):"",bem:(a,f,g)=>a&&f&&g?T(o.unref(n),e,a,f,g):"",is:(a,...f)=>{const g=f.length>=1?f[0]:!0;return a&&g?`${Xe}${a}`:""}}},ie=o.ref(0),Ge=()=>{const e=se("zIndex",2e3),t=o.computed(()=>e.value+ie.value);return{initialZIndex:e,currentZIndex:t,nextZIndex:()=>(ie.value++,t.value)}};var H=(e,t)=>{const n=e.__vccOpts||e;for(const[s,l]of t)n[s]=l;return n};const Ze=A({size:{type:$([Number,String])},color:{type:String}}),qe={name:"ElIcon",inheritAttrs:!1},Je=o.defineComponent(N(L({},qe),{props:Ze,setup(e){const t=e,n=j("icon"),s=o.computed(()=>!t.size&&!t.color?{}:{fontSize:_e(t.size)?void 0:Y(t.size),"--color":t.color});return(l,i)=>(o.openBlock(),o.createElementBlock("i",o.mergeProps({class:o.unref(n).b(),style:o.unref(s)},l.$attrs),[o.renderSlot(l.$slots,"default")],16))}}));var Qe=H(Je,[["__file","/home/runner/work/element-plus/element-plus/packages/components/icon/src/icon.vue"]]);const Fe=oe(Qe),eo=A({mask:{type:Boolean,default:!0},customMaskEvent:{type:Boolean,default:!1},overlayClass:{type:$([String,Array,Object])},zIndex:{type:$([String,Number])}}),oo={click:e=>e instanceof MouseEvent};var to=o.defineComponent({name:"ElOverlay",props:eo,emits:oo,setup(e,{slots:t,emit:n}){const s=j("overlay"),l=d=>{n("click",d)},{onClick:i,onMousedown:r,onMouseup:c}=re(e.customMaskEvent?void 0:l);return()=>e.mask?o.createVNode("div",{class:[s.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:i,onMousedown:r,onMouseup:c},[o.renderSlot(t,"default")],I.STYLE|I.CLASS|I.PROPS,["onClick","onMouseup","onMousedown"]):o.h("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[o.renderSlot(t,"default")])}});const no=to,ae=A({center:{type:Boolean,default:!1},closeIcon:{type:xe,default:""},customClass:{type:String,default:""},draggable:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},title:{type:String,default:""}}),lo={close:()=>!0},so=["aria-label"],ro={name:"ElDialogContent"},io=o.defineComponent(N(L({},ro),{props:ae,emits:lo,setup(e){const{Close:t}=ze,{dialogRef:n,headerRef:s,ns:l,style:i}=o.inject(ne);return(r,c)=>(o.openBlock(),o.createElementBlock("div",{ref_key:"dialogRef",ref:n,class:o.normalizeClass([o.unref(l).b(),o.unref(l).is("fullscreen",r.fullscreen),o.unref(l).is("draggable",r.draggable),{[o.unref(l).m("center")]:r.center},r.customClass]),"aria-modal":"true",role:"dialog","aria-label":r.title||"dialog",style:o.normalizeStyle(o.unref(i)),onClick:c[1]||(c[1]=o.withModifiers(()=>{},["stop"]))},[o.createElementVNode("div",{ref_key:"headerRef",ref:s,class:o.normalizeClass(o.unref(l).e("header"))},[o.renderSlot(r.$slots,"title",{},()=>[o.createElementVNode("span",{class:o.normalizeClass(o.unref(l).e("title"))},o.toDisplayString(r.title),3)])],2),o.createElementVNode("div",{class:o.normalizeClass(o.unref(l).e("body"))},[o.renderSlot(r.$slots,"default")],2),r.$slots.footer?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(o.unref(l).e("footer"))},[o.renderSlot(r.$slots,"footer")],2)):o.createCommentVNode("v-if",!0),r.showClose?(o.openBlock(),o.createElementBlock("button",{key:1,"aria-label":"close",class:o.normalizeClass(o.unref(l).e("headerbtn")),type:"button",onClick:c[0]||(c[0]=d=>r.$emit("close"))},[o.createVNode(o.unref(Fe),{class:o.normalizeClass(o.unref(l).e("close"))},{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(r.closeIcon||o.unref(t))))]),_:1},8,["class"])],2)):o.createCommentVNode("v-if",!0)],14,so))}}));var ao=H(io,[["__file","/home/runner/work/element-plus/element-plus/packages/components/dialog/src/dialog-content.vue"]]);const co=A(N(L({},ae),{appendToBody:{type:Boolean,default:!1},beforeClose:{type:$(Function)},destroyOnClose:{type:Boolean,default:!1},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:{type:Boolean,required:!0},modalClass:String,width:{type:[String,Number]},zIndex:{type:Number},trapFocus:{type:Boolean,default:!1}})),fo={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[te]:e=>pe(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},uo=(e,t)=>{const s=o.getCurrentInstance().emit,{nextZIndex:l}=Ge();let i="";const r=o.ref(!1),c=o.ref(!1),d=o.ref(!1),y=o.ref(e.zIndex||l());let u,a;const f=o.computed(()=>W(e.width)?`${e.width}px`:e.width),g=o.computed(()=>{const h={},_="--el-dialog";return e.fullscreen||(e.top&&(h[`${_}-margin-top`]=e.top),e.width&&(h[`${_}-width`]=f.value)),h});function B(){s("opened")}function b(){s("closed"),s(te,!1),e.destroyOnClose&&(d.value=!1)}function O(){s("close")}function p(){a==null||a(),u==null||u(),e.openDelay&&e.openDelay>0?{stop:u}=K(()=>x(),e.openDelay):x()}function E(){u==null||u(),a==null||a(),e.closeDelay&&e.closeDelay>0?{stop:a}=K(()=>M(),e.closeDelay):M()}function C(){function h(_){_||(c.value=!0,r.value=!1)}e.beforeClose?e.beforeClose(h):E()}function U(){e.closeOnClickModal&&C()}function x(){!S||(r.value=!0)}function M(){r.value=!1}return e.lockScroll&&je(r),e.closeOnPressEscape&&Ue({handleClose:C},r),We(r),o.watch(()=>e.modelValue,h=>{h?(c.value=!1,p(),d.value=!0,s("open"),y.value=e.zIndex?y.value++:l(),o.nextTick(()=>{t.value&&(t.value.scrollTop=0)})):r.value&&E()}),o.watch(()=>e.fullscreen,h=>{!t.value||(h?(i=t.value.style.transform,t.value.style.transform=""):t.value.style.transform=i)}),o.onMounted(()=>{e.modelValue&&(r.value=!0,d.value=!0,p())}),{afterEnter:B,afterLeave:b,beforeLeave:O,handleClose:C,onModalClick:U,close:E,doClose:M,closed:c,style:g,rendered:d,visible:r,zIndex:y}},mo={name:"ElDialog"},po=o.defineComponent(N(L({},mo),{props:co,emits:fo,setup(e,{expose:t}){const n=e,s=j("dialog"),l=o.ref(),i=o.ref(),{visible:r,style:c,rendered:d,zIndex:y,afterEnter:u,afterLeave:a,beforeLeave:f,handleClose:g,onModalClick:B}=uo(n,l);o.provide(ne,{dialogRef:l,headerRef:i,ns:s,rendered:d,style:c});const b=re(B),O=o.computed(()=>n.draggable&&!n.fullscreen);return Ye(l,i,O),t({visible:r}),(p,E)=>(o.openBlock(),o.createBlock(o.Teleport,{to:"body",disabled:!p.appendToBody},[o.createVNode(o.Transition,{name:"dialog-fade",onAfterEnter:o.unref(u),onAfterLeave:o.unref(a),onBeforeLeave:o.unref(f)},{default:o.withCtx(()=>[o.withDirectives(o.createVNode(o.unref(no),{"custom-mask-event":"",mask:p.modal,"overlay-class":p.modalClass,"z-index":o.unref(y)},{default:o.withCtx(()=>[o.createElementVNode("div",{class:o.normalizeClass(`${o.unref(s).namespace.value}-overlay-dialog`),onClick:E[0]||(E[0]=(...C)=>o.unref(b).onClick&&o.unref(b).onClick(...C)),onMousedown:E[1]||(E[1]=(...C)=>o.unref(b).onMousedown&&o.unref(b).onMousedown(...C)),onMouseup:E[2]||(E[2]=(...C)=>o.unref(b).onMouseup&&o.unref(b).onMouseup(...C))},[o.unref(d)?(o.openBlock(),o.createBlock(ao,{key:0,"custom-class":p.customClass,center:p.center,"close-icon":p.closeIcon,draggable:o.unref(O),fullscreen:p.fullscreen,"show-close":p.showClose,style:o.normalizeStyle(o.unref(c)),title:p.title,onClose:o.unref(g)},o.createSlots({title:o.withCtx(()=>[o.renderSlot(p.$slots,"title")]),default:o.withCtx(()=>[o.renderSlot(p.$slots,"default")]),_:2},[p.$slots.footer?{name:"footer",fn:o.withCtx(()=>[o.renderSlot(p.$slots,"footer")])}:void 0]),1032,["custom-class","center","close-icon","draggable","fullscreen","show-close","style","title","onClose"])):o.createCommentVNode("v-if",!0)],34)]),_:3},8,["mask","overlay-class","z-index"]),[[o.vShow,o.unref(r)]])]),_:3},8,["onAfterEnter","onAfterLeave","onBeforeLeave"])],8,["disabled"]))}}));var yo=H(po,[["__file","/home/runner/work/element-plus/element-plus/packages/components/dialog/src/dialog.vue"]]);const wo=oe(yo),go=o.defineComponent({props:{visible:{type:Boolean,default:!1},options:{default:[],type:Array},isScroll:{type:Boolean,default:!1},onPreview:{type:Function},onRemove:{type:Function},onExceed:{type:Function},onSuccess:{type:Function},beforeRemove:{type:Function}},emits:["update:visible"],setup(e,{emit:t}){const n=e;let s=o.ref(null),l=o.ref(n.visible);return o.watch(()=>n.visible,i=>{l.value=i}),o.watch(()=>l.value,i=>{t("update:visible",i)}),(i,r)=>{const c=o.resolveComponent("m-form");return o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass({"m-choose-icon-dialog-body-height":e.isScroll})},[o.createVNode(o.unref(wo),o.mergeProps({modelValue:o.unref(l),"onUpdate:modelValue":r[0]||(r[0]=d=>o.isRef(l)?l.value=d:l=d)},i.$attrs),{default:o.withCtx(()=>[o.createVNode(c,{"label-width":"100px",ref_key:"form",ref:s,options:e.options,onOnPreview:e.onPreview,onOnRemove:e.onRemove,onOnExceed:e.onExceed,onOnSuccess:e.onSuccess,onBeforeRemove:e.beforeRemove},{uploadArea:o.withCtx(()=>[o.renderSlot(i.$slots,"uploadArea")]),uploadTip:o.withCtx(()=>[o.renderSlot(i.$slots,"uploadTip")]),_:3},8,["options","onOnPreview","onOnRemove","onOnExceed","onOnSuccess","onBeforeRemove"])]),footer:o.withCtx(()=>[o.renderSlot(i.$slots,"footer",{form:o.unref(s)})]),_:3},16,["modelValue"])],2)}}});var Eo={install(e){e.component("m-model-form",go)}};return Eo});