UNPKG

vue-devui

Version:

DevUI components based on Vite and Vue3

9 lines (8 loc) 24.2 kB
(function(V,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(V=typeof globalThis!="undefined"?globalThis:V||self,t(V.index={},V.Vue))})(this,function(V,t){"use strict";const ne={modelValue:{type:Boolean,default:!1},title:{type:String,default:""},type:{type:String,default:"normal"},duration:{type:Number,default:3e3},onClose:{type:Function}},oe={name:{type:String,default:""},size:{type:[Number,String],default:"inherit"},color:{type:String,default:"inherit"},component:{type:Object,default:null},classPrefix:{type:String,default:"icon"},operable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},rotate:{type:[Number,String]}},le={name:{type:String,default:"",required:!0},color:{type:String,default:"inherit"},size:{type:[Number,String],default:"inherit"}};function P(e,n,o){let l=e;return n&&(l+=`__${n}`),o&&(l+=`--${o}`),l}function k(e,n=!1){const o=n?`.devui-${e}`:`devui-${e}`;return{b:()=>P(o),e:a=>a?P(o,a):"",m:a=>a?P(o,"",a):"",em:(a,f)=>a&&f?P(o,a,f):""}}var nt="",se=t.defineComponent({name:"DSvgIcon",props:le,setup(e){const{name:n,color:o,size:l}=t.toRefs(e),s=k("svg-icon"),r=t.computed(()=>`#icon-${n.value}`),p=t.computed(()=>typeof l.value=="number"?`${l.value}px`:l.value),a={width:p.value,height:p.value};return()=>t.createVNode("svg",{class:s.b(),style:a},[t.createVNode("use",{"xlink:href":r.value,fill:o.value},null)])}});function ae(e){return/^((http|https):)?\/\//.test(e)}function ie(e,n){const{component:o,name:l,size:s,color:r,classPrefix:p,rotate:a}=t.toRefs(e),f=k("icon"),C=t.computed(()=>typeof s.value=="number"?`${s.value}px`:s.value),m=o.value?t.resolveDynamicComponent(o.value):t.resolveDynamicComponent(se),u=()=>t.createVNode("img",t.mergeProps({src:l.value,alt:l.value.split("/")[l.value.split("/").length-1],class:[(a==null?void 0:a.value)==="infinite"&&f.m("spin")],style:{width:C.value||"",transform:`rotate(${a==null?void 0:a.value}deg)`,verticalAlign:"middle"}},n.attrs),null),v=()=>t.createVNode(m,t.mergeProps({name:l.value,color:r.value,size:C.value,class:[(a==null?void 0:a.value)==="infinite"&&f.m("spin")],style:{transform:`rotate(${a==null?void 0:a.value}deg)`}},n.attrs),null),i=()=>{const c=/^icon-/.test(l.value)?l.value:`${p.value}-${l.value}`;return t.createVNode("i",t.mergeProps({class:[p.value,c,(a==null?void 0:a.value)==="infinite"&&f.m("spin")],style:{fontSize:C.value,color:r.value,transform:`rotate(${a==null?void 0:a.value}deg)`}},n.attrs),null)};return{iconDom:()=>o.value?v():ae(l.value)?u():i()}}var re=t.defineComponent({name:"DIcon",props:oe,emits:["click"],setup(e,n){const{disabled:o,operable:l}=t.toRefs(e),{iconDom:s}=ie(e,n),r=k("icon"),p=t.computed(()=>({[r.e("container")]:!0,[r.m("disabled")]:o.value,[r.m("operable")]:l.value,[r.m("no-slots")]:!Object.keys(n.slots).length})),a=f=>{o.value||n.emit("click",f)};return()=>{var f,C,m,u;return t.createVNode("div",{class:p.value,onClick:a},[(C=(f=n.slots).prefix)==null?void 0:C.call(f),s(),(u=(m=n.slots).suffix)==null?void 0:u.call(m)])}}}),ot="";t.defineComponent({name:"DIconGroup",setup(e,n){const o=k("icon-group");return()=>{var l,s;return t.createVNode("div",{class:o.b()},[(s=(l=n.slots).default)==null?void 0:s.call(l)])}}});var ue=t.defineComponent({emits:["click"],setup(e,{emit:n}){const o=k("notification");return()=>t.createVNode("div",{class:o.e("icon-close"),onClick:l=>n("click",l)},[t.createVNode(re,{name:"close",size:"14px"},null)])}});const B=k("notification"),L={"xmlns:xlink":"http://www.w3.org/1999/xlink"},M={"xlink:href":"#path-s"};function ce(){return t.createVNode("svg",t.mergeProps({width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},L),[t.createVNode("defs",null,[t.createVNode("polygon",{id:"path-s",points:"6.53553391 9.77817459 12.1923882 4.12132034 13.6066017 5.53553391 6.53553391 12.6066017 3 9.07106781 4.41421356 7.65685425 6.53553391 9.77817459"},null)]),t.createVNode("g",{id:"correct",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("mask",{id:"mask-2",fill:"white"},[t.createVNode("use",M,null)]),t.createVNode("use",t.mergeProps({id:"Mask",class:B.e("image-success-path")},M),null)])])}function de(){return t.createVNode("svg",t.mergeProps({width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},L),[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("path",{class:B.e("warning-outer"),d:`M8.96244623,0.57254229 L15.8714442,13.4101975 C16.1549662,13.9370117 15.9538562,14.5918482 15.4222523,14.8728158 C15.2642579,14.9563203 15.0879506, 15 14.9088903,15 L1.09089441,15 C0.488410063,15 0,14.5159904 0,13.9189343 C0,13.7414873 0.0440768395,13.5667684 0.128340519,13.4101975 L7.03733844,0.57254229 C7.32086049, 0.0457280838 7.98165058,-0.153569987 8.51325441,0.127397589 C8.70423071, 0.228333932 8.8605922,0.383286648 8.96244623,0.57254229 Z`},null),t.createVNode("path",{class:B.e("warning-inner"),"stroke-width":"0.3","fill-rule":"nonzero",d:"M8.87894737,13 L7.08947368,13 L7.08947368,11.2105263 L8.87894737,11.2105263 L8.87894737,13 Z M8.62102372,9.86842105 L7.32800539,9.86842105 L7,4.5 L8.96842105,4.5 L8.62102372,9.86842105 Z"},null)])])}function fe(){return t.createVNode("svg",t.mergeProps({width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},L),[t.createVNode("g",{id:"info",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("path",{class:B.e("image-info-path"),d:"M7,13 L7,6 L9,6 L9,13 L7,13 Z M7,5 L7,3 L9,3 L9,5 L7,5 Z",id:"info"},null)])])}function pe(){return t.createVNode("svg",t.mergeProps({width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},L),[t.createVNode("defs",null,[t.createVNode("polygon",{id:"path-e",points:`8.07106781 6.65685425 10.8994949 3.82842712 12.3137085 5.24264069 9.48528137 8.07106781 12.3137085 10.8994949 10.8994949 12.3137085 8.07106781 9.48528137 5.24264069 12.3137085 3.82842712 10.8994949 6.65685425 8.07106781 3.82842712 5.24264069 5.24264069 3.82842712`},null)]),t.createVNode("g",{id:"error",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("mask",{id:"mask-2",fill:"white"},[t.createVNode("use",M,null)]),t.createVNode("use",t.mergeProps({id:"Mask",class:B.e("image-error-path")},M),null)])])}var me=t.defineComponent({props:{type:{type:String,default:"normal"}},setup(e){const{type:n}=t.toRefs(e),o=k("notification"),l=t.computed(()=>({[o.e("image")]:!0,[o.em("image",n.value)]:!0}));return()=>t.createVNode("span",{class:l.value},[n.value&&n.value!=="normal"&&(n.value==="success"&&t.createVNode(ce,null,null)||n.value==="info"&&t.createVNode(fe,null,null)||n.value==="warning"&&t.createVNode(de,null,null)||n.value==="error"&&t.createVNode(pe,null,null))])}});function he(e){return{classes:t.computed(()=>({"devui-notification-item-container":!0,[`devui-notification-message-${e.type}`]:!0}))}}function ge(e,n){let o=null,l;const s=()=>{var f;o&&clearTimeout(o),o=null,(f=e.onClose)==null||f.call(e),n("update:modelValue",!1)},r=()=>{o&&e.duration&&(clearTimeout(o),o=null)},p=()=>{if(e.modelValue&&e.duration){const f=e.duration-(Date.now()-l);o=setTimeout(s,f)}},a=()=>{n("destroy")};return t.watch(()=>e.modelValue,f=>{f&&(l=Date.now(),e.duration&&(o=setTimeout(s,e.duration)))}),{interrupt:r,removeReset:p,close:s,handleDestroy:a}}var lt="",Fe=t.defineComponent({name:"DNotification",props:ne,emits:["update:modelValue","destroy"],setup(e,{emit:n,slots:o}){const{modelValue:l,title:s,type:r}=t.toRefs(e),{classes:p}=he(e),{interrupt:a,removeReset:f,close:C,handleDestroy:m}=ge(e,n),u=k("notification");return()=>t.createVNode(t.Transition,{name:"notification-fade",onAfterLeave:m},{default:()=>{var v;return[l.value&&t.createVNode("div",{class:u.b(),onClick:t.withModifiers(()=>({}),["stop"]),onPointerup:t.withModifiers(()=>({}),["stop"])},[t.createVNode("div",{class:p.value,onMouseenter:a,onMouseleave:f},[t.createVNode("div",{class:u.e("item")},[t.createVNode(ue,{onClick:C},null),s.value&&t.createVNode(me,{type:r.value},null),t.createVNode("div",{class:u.e("message")},[t.createVNode("span",{class:u.e("title")},[s.value]),t.createVNode("span",{class:u.e("content")},[(v=o.default)==null?void 0:v.call(o)])])])])])]}})}});function ve(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const Ee={modelValue:!1,duration:3e3,type:"normal"};function ye(e,n){const o=document.createElement("div");o.classList.add("notification__warpper");const l=document.body.lastElementChild;let s=50;if(l!=null&&l.classList.contains("notification__warpper")){const a=l.lastElementChild.getBoundingClientRect(),f=a.height,C=a.top;s=f+C}const r=t.createApp({setup(){return t.onUnmounted(()=>{document.body.removeChild(o)}),()=>t.createVNode(Fe,t.mergeProps(e,{onDestroy:r.unmount,style:[`top: ${s}px`]}),ve(n)?n:{default:()=>[n]})}});return document.body.appendChild(o),r.mount(o),r}function Ne(e,n){e.modelValue=!1,n==null||n()}class we{static open(n){const o=n.onClose||null,l=n.content;delete n.content;const s=t.reactive({...Ee,...n,onClose:()=>{Ne(s,o)}});ye(s,l),s.modelValue=!0}}class Ce{}class De{}var y=(e=>(e[e.preLoad=0]="preLoad",e[e.uploading=1]="uploading",e[e.uploaded=2]="uploaded",e[e.failed=3]="failed",e))(y||{});const X={accept:{type:String},webkitdirectory:{type:Boolean,default:!1},uploadOptions:{type:Object},multiple:{type:Boolean,default:!1},autoUpload:{type:Boolean,default:!0},placeholder:{type:String,default:""},modelValue:{type:Array,default:()=>[]},droppable:{type:Boolean,default:!1},beforeUpload:{type:Function},dynamicUploadOptionsFn:{type:Function},disabled:{type:Boolean,default:!1},onChange:{type:Function},fileDrop:{type:Function,default:void 0},fileOver:{type:Function,default:void 0},fileSelect:{type:Function,default:void 0},deleteUploadedFile:{type:Function,default:void 0},onError:{type:Function,default:void 0},onSuccess:{type:Function,default:void 0},onExceed:{type:Function,default:void 0},onProgress:{type:Function,default:void 0},onPreview:{type:Function,default:void 0},oneTimeUpload:{type:Boolean,default:!1},limit:{type:Number,default:0},httpRequest:{type:Function,default:void 0}},Ve=e=>{const n=t.ref(""),o=m=>{const u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,0,null),m.dispatchEvent(u)},l=({multiple:m,accept:u,webkitdirectory:v})=>new Promise(i=>{const h=document.getElementById("d-upload-temp");h&&document.body.removeChild(h);const c=document.createElement("input");c.style.position="fixed",c.style.left="-2000px",c.style.top="-2000px",c.setAttribute("id","d-upload-temp"),c.setAttribute("type","file"),m&&c.setAttribute("multiple",""),u&&c.setAttribute("accept",u),v&&c.setAttribute("webkitdirectory",""),c.addEventListener("change",N=>{i(Array.prototype.slice.call(N.target.files))}),document.body.appendChild(c),o(c)}),s=(m,u)=>{if(m){const v=m.split(","),i=u.type.replace(/\/.*$/,"");return v.some(h=>{const c=h.trim();return c.startsWith(".")?u.name.toLowerCase().indexOf(c.toLowerCase(),u.name.toLowerCase().length-c.toLowerCase().length)>-1:/\/\*$/.test(c)?i===c.replace(/\/.*$/,""):u.type===c})}return!0},r=(m,u)=>u?m>1024*1024*u:!1;return{triggerSelectFiles:m=>{const{multiple:u,accept:v,webkitdirectory:i}=m;return l({multiple:u,accept:v,webkitdirectory:i})},_validateFiles:(m,u,v)=>s(u,m)?v&&r(m.size,v.maximumSize)?{checkError:!0,errorMsg:e("getBeyondMaximalFileSizeMsg")(m.name,v.maximumSize||0)}:{checkError:!1,errorMsg:void 0}:{checkError:!0,errorMsg:e("getNotAllowedFileTypeMsg")(m.name,u)},triggerDropFiles:m=>Promise.resolve(m),checkAllFilesSize:(m,u)=>{if(r(m,u))return n.value=e("getAllFilesBeyondMaximalFileSizeMsg")(u),{checkError:!0,errorMsg:n.value}}}};class Z{constructor(n,o){this.file=n,this.uploadOptions=o,this.percentage=0,this.file=n,this.uploadOptions=o,this.status=y.preLoad}send(n){return new Promise((o,l)=>{const{uri:s,method:r,headers:p,authToken:a,authTokenHeader:f,additionalParameter:C,fileFieldName:m,withCredentials:u,responseType:v}=this.uploadOptions||{},i=f||"Authorization",h=m||"file";this.xhr=new XMLHttpRequest,this.xhr.open(r||"POST",s||""),u&&(this.xhr.withCredentials=u),v&&(this.xhr.responseType=v),a&&this.xhr.setRequestHeader(i,a),p&&Object.keys(p).forEach(N=>{var E;(E=this.xhr)==null||E.setRequestHeader(N,p[N])}),this.xhr.upload.onprogress=N=>{this.percentage=Math.round(N.loaded*100/N.total)};const c=n&&n.length?this.oneTimeUploadFiles(h,C,n):this.parallelUploadFiles(h,C);this.xhr.send(c),this.status=y.uploading,this.xhr.onabort=()=>{this.status=y.preLoad,this.xhr=null},this.xhr.onerror=()=>{var N,E;this.response=(N=this.xhr)==null?void 0:N.response,this.status=y.failed,l({file:this.file,response:(E=this.xhr)==null?void 0:E.response})},this.xhr.onload=()=>{var N,E,b;((N=this.xhr)==null?void 0:N.readyState)===4&&this.xhr.status>=200&&this.xhr.status<300?(this.response=this.xhr.response,this.status=y.uploaded,o({file:this.file,response:this.xhr.response})):(this.response=(E=this.xhr)==null?void 0:E.response,this.status=y.failed,l({file:this.file,response:(b=this.xhr)==null?void 0:b.response}))}})}parallelUploadFiles(n,o){const l=new FormData;return l.append(n,this.file,this.file.name),o&&Object.keys(o).forEach(s=>{l.append(s,o[s])}),l}oneTimeUploadFiles(n,o,l){const s=new FormData;return l.forEach(r=>{s.append(n,r.file,r.file.name),o&&Object.keys(o).forEach(p=>{s.append(p,o[p])})}),s}cancel(){this.xhr&&this.xhr.abort()}}const ke=()=>{const e=t.ref([]),n=t.ref([]),o=i=>{let h=!0;for(let c=0;c<e.value.length;c++)if(i===e.value[c].file.name){h=!1,n.value.indexOf(i)===-1&&n.value.push(i);break}return h},l=(i,h)=>{h&&h.checkSameName?o(i.name)&&e.value.push(new Z(i,h)):e.value.push(new Z(i,h))},s=()=>e.value.map(i=>i.file),r=()=>e.value.map(i=>i),p=async i=>{if(!i||!i.length)return Promise.reject("no files");let h=[];return await i[0].send(i).finally(()=>h=i.map(c=>(c.status=i[0].status,c.percentage=i[0].percentage,{file:c.file,response:i[0].response}))),h};return{fileUploaders:e,getFiles:s,addFile:l,getFullFiles:r,deleteFile:i=>{const h=e.value.find(c=>c.file===i);h==null||h.cancel(),e.value=e.value.filter(c=>i!==c.file)},upload:async i=>{let h=[];if(i){i.percentage=0;const c=await i.send();h.push(c)}else{const c=e.value.filter(b=>b.status===y.preLoad),N=e.value.filter(b=>b.status===y.failed),E=c.length>0?c:N;h=await Promise.all(E.map(async b=>(b.percentage=0,await b.send())))}return h.length>0?Promise.resolve(h):Promise.reject("no files")},removeFiles:()=>{e.value=[],n.value=[]},getSameNameFiles:()=>n.value.join(),resetSameNameFiles:()=>{n.value=[]},_oneTimeUpload:()=>{const i=e.value.filter(h=>h.status!==y.uploaded);return p(i)}}};var st="";function q(...e){const n=o=>o&&typeof o=="object";return e.reduce((o,l)=>(Object.keys(l).forEach(s=>{const r=o[s],p=l[s];Array.isArray(r)&&Array.isArray(p)?o[s]=Array.from(new Set([...p,...r])):n(r)&&n(p)?o[s]=q(r,p):o[s]=p}),o),{})}var be={pagination:{totalItemText:"\u6240\u6709\u6761\u76EE",goToText:"\u8DF3\u81F3",perPage:"\u6761/\u9875"},accordion:{loading:"\u52A0\u8F7D\u4E2D",noData:"\u6CA1\u6709\u6570\u636E"},autoCompleteDropdown:{latestInput:"\u6700\u8FD1\u8F93\u5165"},cascaderList:{noData:"\u6CA1\u6709\u6570\u636E"},colorPicker:{foundationPanel:"\u57FA\u7840\u9762\u677F",advancedPanel:"\u9AD8\u7EA7\u9762\u677F"},datePickerPro:{ok:"\u786E\u5B9A",placeholder:"\u8BF7\u9009\u62E9\u65E5\u671F",month1:"1\u6708",month2:"2\u6708",month3:"3\u6708",month4:"4\u6708",month5:"5\u6708",month6:"6\u6708",month7:"7\u6708",month8:"8\u6708",month9:"9\u6708",month10:"10\u6708",month11:"11\u6708",month12:"12\u6708",year:"\u5E74",startPlaceholder:"\u8BF7\u9009\u62E9\u5F00\u59CB\u65E5\u671F",endPlaceholder:"\u8BF7\u9009\u62E9\u7ED3\u675F\u65E5\u671F",getWeekDays(){return["\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"]},getTimeArr(){return["\u65F6","\u5206","\u79D2"]},getYearMonthStr(e,n){return`${e}\u5E74${n}\u6708`}},editableSelect:{noRelatedRecords:"\u627E\u4E0D\u5230\u76F8\u5173\u8BB0\u5F55",noData:"\u6CA1\u6709\u6570\u636E"},input:{placeholder:"\u8BF7\u8F93\u5165"},splitterBar:{collapse:"\u6536\u8D77",expand:"\u5C55\u5F00"},stepsGuide:{previous:"\u4E0A\u4E00\u6B65",continue:"\u6211\u77E5\u9053\u5566\uFF0C\u7EE7\u7EED",ok:"\u6211\u77E5\u9053\u5566"},table:{selectAll:"\u5168\u9009",ok:"\u786E\u5B9A"},dataGrid:{selectAll:"\u5168\u9009",ok:"\u786E\u5B9A"},timePopup:{ok:"\u786E\u5B9A"},transfer:{unit:"\u9879",panelUnit:"\u9879",headerUnit:"\u9879",noData:"\u6682\u65E0\u6570\u636E",placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22"},tree:{loading:"\u52A0\u8F7D\u4E2D",newNode:"\u65B0\u8282\u70B9",selectPlaceholder:"\u8BF7\u9009\u62E9"},upload:{placeholder:"\u9009\u62E9\u6587\u4EF6",getExistSameNameFilesMsg(e){return`\u60A8\u4E0A\u4F20\u7684 "${e}" \u5B58\u5728\u91CD\u540D\u6587\u4EF6, \u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6`},getAllFilesBeyondMaximalFileSizeMsg(e){return`\u6700\u5927\u652F\u6301\u4E0A\u4F20${e}MB\u7684\u6587\u4EF6, \u60A8\u672C\u6B21\u4E0A\u4F20\u7684\u6240\u6709\u6587\u4EF6\u8D85\u8FC7\u53EF\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F`},getBeyondMaximalFileSizeMsg(e,n){return`\u6700\u5927\u652F\u6301\u4E0A\u4F20${n}MB\u7684\u6587\u4EF6, \u60A8\u4E0A\u4F20\u7684\u6587\u4EF6"${e}"\u8D85\u8FC7\u53EF\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F`},getNotAllowedFileTypeMsg(e,n){return`\u652F\u6301\u7684\u6587\u4EF6\u7C7B\u578B: "${n}", \u60A8\u4E0A\u4F20\u7684\u6587\u4EF6"${e}"\u4E0D\u5728\u5141\u8BB8\u8303\u56F4\u5185\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6`}},search:{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57"},select:{placeholder:"\u8BF7\u9009\u62E9",noDataText:"\u65E0\u6570\u636E",noMatchText:"\u627E\u4E0D\u5230\u76F8\u5173\u8BB0\u5F55",loadingText:"\u52A0\u8F7D\u4E2D..."},tagInput:{maxTagsText:"\u5DF2\u8FBE\u5230\u6700\u5927\u4E2A\u6570\uFF1A"},timeSelect:{placeholder:"\u8BF7\u9009\u62E9\u65F6\u95F4"}};const T=t.ref("zh-CN");let _=t.reactive({[T.value]:be});const Ae={messages(){return _[T.value]},lang(){return T.value},use(e,n){T.value=e,this.add({[e]:n})},add(e={}){_=q(_,e)}},xe=e=>e.substring(1).replace(/^\S/,n=>n.toLocaleLowerCase());function W(e,n){const o=n.split(".");let l=e;return o.forEach(s=>{var r;l=(r=l[s])!=null?r:""}),l}function Se(e,n,o){const l=o||xe(e)+".";return s=>{var a;const r=((a=n==null?void 0:n.appContext.config.globalProperties.langMessages)==null?void 0:a.value)||Ae.messages();return W(r,l+s)||W(r,s)}}var z=t.defineComponent({name:"DUpload",props:X,emits:["fileDrop","fileOver","fileSelect","deleteUploadedFile","update:modelValue"],setup(e,n){const o=t.getCurrentInstance(),l=Se("DUpload",o),{uploadOptions:s,placeholder:r,autoUpload:p,disabled:a,beforeUpload:f,droppable:C,oneTimeUpload:m,modelValue:u,multiple:v,accept:i,webkitdirectory:h,limit:c,httpRequest:N}=t.toRefs(e),E=k("upload"),b=k("input-group"),$=k("form-control"),Ie=k("input-group-addon"),{triggerSelectFiles:_e,_validateFiles:ze,triggerDropFiles:Oe,checkAllFilesSize:$e}=Ve(l),{fileUploaders:A,addFile:Re,getFullFiles:je,deleteFile:U,upload:Ge,resetSameNameFiles:He,removeFiles:R,_oneTimeUpload:Xe,getSameNameFiles:Ze}=ke(),j=t.ref(!1),G=t.ref([]),I=d=>{we.open({type:"warning",content:d})},qe=()=>{var g;let d=0;if(A.value.forEach(w=>{d+=w.file.size;const D=ze(w.file,(i==null?void 0:i.value)||"",w.uploadOptions);if(D&&D.checkError){U(w.file),I(D.errorMsg);return}}),m.value){const w=$e(d,((g=s==null?void 0:s.value)==null?void 0:g.maximumSize)||0);w&&w.checkError&&(R(),I(w.errorMsg))}},We=d=>{j.value=d,n.emit("fileOver",d)},J=d=>{const g=u.value.filter(w=>w.name!==d.name);n.emit("deleteUploadedFile",d),n.emit("update:modelValue",g)},Q=(d,g,w)=>{d==null||d.stopPropagation(),w===y.uploaded&&J(g),U(g)},Ke=()=>{let d=Promise.resolve(!0);if(f!=null&&f.value){const g=f==null?void 0:f.value(je());typeof g!="undefined"&&(typeof g=="boolean"?d=Promise.resolve(g):d=g)}return d},H=(d,g)=>{d&&d.stopPropagation(),Ke().then(w=>{if(!w){R();return}if(typeof(N==null?void 0:N.value)=="function"){const F=A.value.map(x=>x.file);N.value(F);return}const D=m.value?Xe():Ge(g);e.onProgress&&e.onProgress(G.value,u.value),D==null||D.then(F=>{e.onSuccess&&e.onSuccess(F);const x=F.map(et=>et.file),S=[...x,...u.value];n.emit("update:modelValue",S),e.onChange&&e.onChange(x,S)}).catch(F=>{e.onError&&e.onError(F),e.onChange&&e.onChange([F.file],u.value)})})},ee=d=>{He(),d.then(g=>{if(c.value&&u.value.length+g.length>c.value){e.onExceed&&e.onExceed(g,u.value);return}e.onChange&&e.onChange(g,u.value),g.forEach(D=>{v.value||R(),Re(D,s==null?void 0:s.value)}),qe();const w=Ze();(s==null?void 0:s.value)&&s.value.checkSameName&&w.length&&I(l("getExistSameNameFilesMsg")(w)),G.value=A.value.filter(D=>D.status===y.preLoad).map(D=>D.file),n.emit("fileSelect",G.value),p.value&&H()}).catch(g=>{I(g.message)})},te=()=>{a.value||ee(_e({accept:i==null?void 0:i.value,multiple:v.value,webkitdirectory:h.value}))},Ye=d=>{j.value=!1,ee(Oe(d)),n.emit("fileDrop",d)},Ue=(d,g)=>{H(d,g)},Je=d=>{A.value.forEach(g=>{Q(d,g.file,g.status)})},Qe=(d,g)=>{d==null||d.stopPropagation(),e.onPreview&&e.onPreview(g)};return n.expose({submit:Ue,clearFiles:Je}),()=>{var d,g,w,D;return t.createVNode("div",null,[t.withDirectives(t.createVNode("div",{class:E.b(),style:`border: ${j.value?"1px solid #15bf15":"0"}`},[(g=(d=n.slots).default)!=null&&g.call(d)?t.createVNode("div",{onClick:te},[n.slots.default()]):t.createVNode("div",{class:[b.b(),a.value?"disabled":""],onClick:te},[A.value.length===0&&t.createVNode("div",{class:[$.b(),E.e("placeholder")]},[r.value||l("placeholder")]),A.value.length>0&&t.createVNode("ul",{class:[$.b(),E.e("files-list")]},[A.value.map((F,x)=>t.createVNode("li",{key:x,class:[E.e("file-item"),E.e("file-tag")],style:"display: inline-block;",title:F.file.name,onClick:S=>Qe(S,F.file)},[t.createVNode("span",{class:[E.e("filename"),F.status===y.failed?E.m("failed-color"):""]},[F.file.name]),t.createVNode(t.resolveComponent("d-icon"),{name:"close",class:[(F==null?void 0:F.status)===y.failed?E.e("delete-file-button"):"",(F==null?void 0:F.status)===y.uploading||(F==null?void 0:F.status)===y.uploaded?E.e("delete"):""],onClick:S=>Q(S,F.file,F.status)},null),F.status===y.uploading&&t.createVNode("div",{class:["icon",E.e("progress")]},[t.createVNode(t.resolveComponent("d-progress"),{isCircle:!0,percentage:F.percentage,barbgcolor:"#50D4AB",strokeWidth:8,showContent:!1},null)]),F.status===y.failed&&t.createVNode(t.resolveComponent("d-icon"),{name:"running",onClick:H},null),F.status===y.uploaded&&t.createVNode(t.resolveComponent("d-icon"),{name:"right",color:"#50d4ab"},null)]))]),t.createVNode("span",{class:Ie.b()},[t.createVNode(t.resolveComponent("d-icon"),{name:"more-operate",color:"#252b3a"},null)])])]),[[t.resolveDirective("file-drop"),{droppable:C,isSingle:!v,onFileDrop:Ye,onFileOver:We}]]),t.createVNode("div",null,[(D=(w=n.slots)["uploaded-files"])==null?void 0:D.call(w,{uploadedFiles:u.value,deleteFile:J})])])}}});const K=e=>{var n;return e.dataTransfer?e.dataTransfer:(n=e.originalEvent)==null?void 0:n.dataTransfer},Be=e=>e?e.indexOf?e.indexOf("Files")!==-1:e.contains?e.contains("Files"):!1:!1,O=e=>{e.preventDefault(),e.stopPropagation()},Pe=(e,n)=>{const{onFileOver:o}=n.value;e.addEventListener("dragover",l=>{const s=K(l);!Be(s.types)||(O(l),o&&o(!0))})},Le=(e,n)=>{const{onFileOver:o}=n.value;e.addEventListener("dragleave",l=>{l.currentTarget!==e&&(O(l),o&&o(!0))})},Me=(e,n)=>{const{onFileDrop:o,isSingle:l}=n.value;e.addEventListener("drop",s=>{const r=K(s);!r||(O(s),l?o&&o([r.files[0]]):o&&o(Array.from(r.files)))})},Y={mounted:(e,n)=>{const{droppable:o}=n.value;!o||(Pe(e,n),Le(e,n),Me(e,n))}};var Te={title:"Upload \u4E0A\u4F20",category:"\u6570\u636E\u5F55\u5165",status:"100%",install(e){e.directive("file-drop",Y),e.component(z.name,z)}};V.IFileOptions=De,V.IUploadOptions=Ce,V.Upload=z,V.UploadStatus=y,V.default=Te,V.fileDropDirective=Y,V.uploadProps=X,Object.defineProperties(V,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});