UNPKG

@artmate/chat

Version:

借鉴字节开源react库AntX,通过vue实现的版本

2 lines (1 loc) 5.14 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),w=require("element-plus"),N=require("@element-plus/icons-vue"),_=require("../attachment/util.js"),q=require("../hooks/useNamespace.js"),R=require("./AudioIcon.vue.js"),S=require("./ExcelIcon.vue.js"),V=require("./ImageIcon.vue.js"),h=require("./MarkdownIcon.vue.js"),P=require("./PdfIcon.vue.js"),$=require("./PptIcon.vue.js"),F=require("./Progress.vue.js"),T=require("./TxtIcon.vue.js"),D=require("./VideoIcon.vue.js"),M=require("./WordIcon.vue.js"),O=require("./ZipIcon.vue.js"),L=["src"],d=" ",g="#8c8c8c",j=e.defineComponent({__name:"fileListCard",props:{item:{},onRemove:{type:Function,default:()=>{}},className:{default:""},style:{default:void 0},disabled:{type:Boolean,default:!1}},setup(y){const t=y,l=q.useNamespace("attachment-list-card"),C=["png","jpg","jpeg","gif","bmp","webp","svg"],B=[{icon:e.toRaw(S.default),color:"#22b35e",ext:["xlsx","xls"]},{icon:e.toRaw(V.default),color:g,ext:C},{icon:e.toRaw(h.default),color:g,ext:["md","mdx"]},{icon:e.toRaw(P.default),color:"#ff4d4f",ext:["pdf"]},{icon:e.toRaw($.default),color:"#ff6e31",ext:["ppt","pptx"]},{icon:e.toRaw(M.default),color:"#1677ff",ext:["doc","docx"]},{icon:e.toRaw(O.default),color:"#fab714",ext:["zip","rar","7z","tar","gz"]},{icon:e.toRaw(D.default),color:"#ff4d4f",ext:["mp4","avi","mov","wmv","flv","mkv"]},{icon:e.toRaw(R.default),color:"#8c8c8c",ext:["mp3","wav","flac","ape","aac","ogg"]}],f=e.ref(),p=e.ref("");e.watch(()=>t.item,async o=>{var n,r;if(o!=null&&o.raw){let s=!0;const a=await _.previewImage(o.raw);s&&(f.value=a),s=!1}else f.value=void 0;p.value=((n=t.item)==null?void 0:n.thumbUrl)||((r=t.item)==null?void 0:r.url)||f.value},{immediate:!0});const m=e.computed(()=>{var r;const o=((r=t.item)==null?void 0:r.name)||"",n=o.match(/^(.*)\.[^.]+$/);return n?[n[1],o.slice(n[1].length)]:[o,""]});function b(o,n){return n.some(r=>o.toLowerCase()===`.${r}`)}function I(o){let n=o;const r=["B","KB","MB","GB","TB","PB","EB"];let s=0;for(;n>=1024&&s<r.length-1;)n/=1024,s++;return`${n.toFixed(0)} ${r[s]}`}const k=e.computed(()=>{var o,n,r,s,a,c,i,u;return(o=t.item)!=null&&o.description?(n=t.item)==null?void 0:n.description:((r=t.item)==null?void 0:r.status)==="uploading"?`${((s=t.item)==null?void 0:s.percent)||0}%`:((a=t.item)==null?void 0:a.status)==="fail"?((c=t.item)==null?void 0:c.response)||d:(i=t.item)!=null&&i.size?I((u=t.item)==null?void 0:u.size):d}),x=e.computed(()=>{for(const{ext:o,icon:n,color:r}of B)if(b(m.value[1],o))return[n,r];return[e.toRaw(T.default),g]}),z=e.computed(()=>b(m.value[1],C)),v=e.computed(()=>{var o;return z.value&&(((o=t.item)==null?void 0:o.file)||p)});return(o,n)=>{var r,s,a,c,i,u,E;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(l).b(),{[e.unref(l).b(`status-${(r=t.item)==null?void 0:r.status}`)]:(s=t.item)==null?void 0:s.status,[e.unref(l).b("type-preview")]:v.value,[e.unref(l).b("type-overview")]:!v.value}])},[v.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("img",{src:p.value,alt:"preview"},null,8,L),(a=t.item)!=null&&a.status&&((c=t.item)==null?void 0:c.status)!=="ready"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([`${e.unref(l).b("img-mask")}`])},[((i=t.item)==null?void 0:i.status)==="uploading"?(e.openBlock(),e.createBlock(F.default,{key:0,percent:((u=t==null?void 0:t.item)==null?void 0:u.percent)||0},null,8,["percent"])):((E=t.item)==null?void 0:E.status)==="fail"?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([e.unref(l).b("desc")])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(l).b("ellipsis-prefix")])},e.toDisplayString(k.value),3)],2)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(l).b("icon")]),style:e.normalizeStyle({color:x.value[1]})},[e.createVNode(e.unref(w.ElIcon),{size:"32"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x.value[0])))]),_:1})],6),e.createElementVNode("div",{class:e.normalizeClass([e.unref(l).b("content")])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(l).b("name")])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(l).b("ellipsis-prefix")])},e.toDisplayString(m.value[0]??d),3),e.createElementVNode("div",{class:e.normalizeClass([e.unref(l).b("ellipsis-suffix")])},e.toDisplayString(m.value[1]??d),3)],2),e.createElementVNode("div",{class:e.normalizeClass([e.unref(l).b("desc")])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(l).b("ellipsis-prefix")])},e.toDisplayString(k.value),3)],2)],2)],64)),!t.disabled&&t.onRemove?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass([e.unref(l).b("remove")]),type:"button",onClick:n[0]||(n[0]=U=>o.onRemove(o.item))},[e.createVNode(e.unref(w.ElIcon),{size:"20"},{default:e.withCtx(()=>[e.createVNode(e.unref(N.CircleCloseFilled))]),_:1})],2)):e.createCommentVNode("",!0)],2)}}});exports.default=j;