@artmate/chat
Version:
**开箱即用的AI组件库(基于 Vue3 + ElementPlus)**
2 lines (1 loc) • 2.93 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),f=require("@element-plus/icons-vue"),r=require("element-plus"),h=require("../attachment/silentUploader.vue.js"),k=require("../hooks/useNamespace.js"),C=require("./fileListCard.vue.js");;/* empty css */const m=1,b=e.defineComponent({__name:"index",props:{items:{},onRemove:{},overflow:{default:"wrap"},upload:{},disabled:{type:Boolean,default:!1},listClassName:{default:""},listStyle:{default:void 0},itemClassName:{default:""},itemStyle:{default:void 0}},setup(p){const l=p,o=k.useNamespace("attachment-list"),a=e.ref(),s=e.ref(!1),c=e.ref(!1);function i(){const t=a.value;t&&(l.overflow==="scrollX"?(s.value=Math.abs(t.scrollLeft)>=m,c.value=t.scrollWidth-t.clientWidth-Math.abs(t.scrollLeft)>=m):l.overflow==="scrollY"&&(s.value=t.scrollTop!==0,c.value=t.scrollHeight-t.clientHeight!==t.scrollTop))}e.watch(()=>[l.overflow,l.items],()=>{e.nextTick(()=>{i()})});function d(t){const n=a.value;n&&n.scrollTo({left:n.scrollLeft+t*n.clientWidth,behavior:"smooth"})}function v(){d(-1)}function _(){d(1)}return e.onMounted(()=>{i()}),(t,n)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"containerRef",ref:a,class:e.normalizeClass([e.unref(o).b(),l.overflow&&e.unref(o).b(`overflow-${l.overflow}`),s.value&&e.unref(o).b("overflow-ping-start"),c.value&&e.unref(o).b("overflow-ping-end"),l.listClassName]),style:e.normalizeStyle(l.listStyle),onScroll:i},[e.createVNode(e.TransitionGroup,{name:e.unref(o).b("card-motion")},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,u=>(e.openBlock(),e.createElementBlock("div",{key:u.uid},[(e.openBlock(),e.createBlock(C.default,{key:u.uid,item:u,"on-remove":t.onRemove,style:e.normalizeStyle(l.itemStyle)},null,8,["item","on-remove","style"]))]))),128))]),_:1},8,["name"]),l.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(h.default,{key:0,upload:l.upload},{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElButton),{class:e.normalizeClass([e.unref(o).b("upload-btn")]),type:"info"},{icon:e.withCtx(()=>[e.createVNode(e.unref(r.ElIcon),{class:e.normalizeClass([e.unref(o).b("upload-btn-icon")])},{default:e.withCtx(()=>[e.createVNode(e.unref(f.UploadFilled))]),_:1},8,["class"])]),_:1},8,["class"])]),_:1},8,["upload"])),l.overflow==="scrollX"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(r.ElButton),{class:e.normalizeClass([e.unref(o).b("prev-btn")]),circle:"",size:"small",onClick:v},{icon:e.withCtx(()=>[e.createVNode(e.unref(f.ArrowLeftBold))]),_:1},8,["class"]),e.createVNode(e.unref(r.ElButton),{class:e.normalizeClass([e.unref(o).b("next-btn")]),circle:"",icon:"",size:"small",onClick:_},{icon:e.withCtx(()=>[e.createVNode(e.unref(f.ArrowRightBold))]),_:1},8,["class"])],64)):e.createCommentVNode("",!0)],38))}});exports.default=b;