@artmate/chat
Version:
**开箱即用的AI组件库(基于 Vue3 + ElementPlus)**
2 lines (1 loc) • 5.35 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),N=require("@element-plus/icons-vue"),g=require("element-plus"),_=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"),T=require("./Progress.vue.js"),D=require("./TxtIcon.vue.js"),F=require("./VideoIcon.vue.js"),M=require("./WordIcon.vue.js"),O=require("./ZipIcon.vue.js"),f=" ",k="#8c8c8c",L=e.defineComponent({__name:"fileListCard",props:{item:{},onRemove:{},className:{default:""},style:{default:void 0},disabled:{type:Boolean,default:!1}},setup(E){const t=E,n=q.useNamespace("attachment-list-card"),C=["png","jpg","jpeg","gif","bmp","webp","svg"],y=[{icon:e.toRaw(S.default),color:"#22b35e",ext:["xlsx","xls"]},{icon:e.toRaw(V.default),color:k,ext:C},{icon:e.toRaw(h.default),color:k,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(F.default),color:"#ff4d4f",ext:["mp4","avi","mov","wmv","flv","mkv"]},{icon:e.toRaw(R.default),color:"#8c8c8c",ext:["mp3","wav","flac","ape","aac","ogg"]}],p=e.ref(),c=e.ref("");e.watch(()=>t.item,async o=>{var r,l;if(o!=null&&o.raw){let a=!0;const s=await _.previewImage(o.raw);a&&(p.value=s),a=!1}else p.value=void 0;c.value=((r=t.item)==null?void 0:r.thumbUrl)||((l=t.item)==null?void 0:l.url)||p.value},{immediate:!0});const d=e.computed(()=>{var l;const o=((l=t.item)==null?void 0:l.name)||"",r=o.match(/^(.*)\.[^.]+$/);return r?[r[1],o.slice(r[1].length)]:[o,""]});function b(o,r){return r.some(l=>o.toLowerCase()===`.${l}`)}function z(o){let r=o;const l=["B","KB","MB","GB","TB","PB","EB"];let a=0;for(;r>=1024&&a<l.length-1;)r/=1024,a++;return`${r.toFixed(0)} ${l[a]}`}const w=e.computed(()=>{var o,r,l,a,s,i,u,m;return(o=t.item)!=null&&o.description?(r=t.item)==null?void 0:r.description:((l=t.item)==null?void 0:l.status)==="uploading"?`${((a=t.item)==null?void 0:a.percent)||0}%`:((s=t.item)==null?void 0:s.status)==="fail"?((i=t.item)==null?void 0:i.response)||f:(u=t.item)!=null&&u.size?z((m=t.item)==null?void 0:m.size):f}),x=e.computed(()=>{for(const{ext:o,icon:r,color:l}of y)if(b(d.value[1],o))return[r,l];return[e.toRaw(D.default),k]}),I=e.computed(()=>b(d.value[1],C)),v=e.computed(()=>{var o;return I.value&&(((o=t.item)==null?void 0:o.file)||c)});return(o,r)=>{var l,a,s,i,u,m,B;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(n).b(),{[e.unref(n).b(`status-${(l=t.item)==null?void 0:l.status}`)]:(a=t.item)==null?void 0:a.status,[e.unref(n).b("type-preview")]:v.value,[e.unref(n).b("type-overview")]:!v.value}])},[v.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c.value?(e.openBlock(),e.createBlock(e.unref(g.ElImage),{key:0,class:e.normalizeClass([e.unref(n).b("image")]),src:c.value,fit:"cover",alt:"preview","preview-src-list":[c.value],"preview-teleported":"","hide-on-click-modal":"",loading:"lazy"},null,8,["class","src","preview-src-list"])):e.createCommentVNode("",!0),(s=t.item)!=null&&s.status&&((i=t.item)==null?void 0:i.status)!=="ready"?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([`${e.unref(n).b("img-mask")}`])},[((u=t.item)==null?void 0:u.status)==="uploading"?(e.openBlock(),e.createBlock(T.default,{key:0,percent:((m=t==null?void 0:t.item)==null?void 0:m.percent)||0},null,8,["percent"])):((B=t.item)==null?void 0:B.status)==="fail"?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([e.unref(n).b("desc")])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(n).b("ellipsis-prefix")])},e.toDisplayString(w.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(n).b("icon")]),style:e.normalizeStyle({color:x.value[1]})},[e.createVNode(e.unref(g.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(n).b("content")])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(n).b("name")])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(n).b("ellipsis-prefix")])},e.toDisplayString(d.value[0]??f),3),e.createElementVNode("div",{class:e.normalizeClass([e.unref(n).b("ellipsis-suffix")])},e.toDisplayString(d.value[1]??f),3)],2),e.createElementVNode("div",{class:e.normalizeClass([e.unref(n).b("desc")])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(n).b("ellipsis-prefix")])},e.toDisplayString(w.value),3)],2)],2)],64)),!t.disabled&&t.onRemove?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass([e.unref(n).b("remove")]),type:"button",onClick:r[0]||(r[0]=j=>t.onRemove(o.item))},[e.createVNode(e.unref(g.ElIcon),{size:"20"},{default:e.withCtx(()=>[e.createVNode(e.unref(N.CircleCloseFilled))]),_:1})],2)):e.createCommentVNode("",!0)],2)}}});exports.default=L;