vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
3 lines (2 loc) • 2.43 kB
JavaScript
"use strict";const e=require("vue");require("../renderer/index.cjs");require("../upload-file/index.cjs");const i=require("@vexip-ui/config"),y=require("./props.cjs"),_=require("./symbol.cjs"),h=require("./upload-file.vue2.cjs"),u=require("../renderer/renderer.cjs"),k=e.defineComponent({name:"UploadList",__name:"upload-list",props:y.uploadListProps,setup(c){const f=c,r=i.useProps("uploadList",f,{files:{default:()=>[],static:!0},selectToAdd:!1,iconRenderer:{default:null,isFunc:!0},type:{default:"name",validator:n=>_.uploadListTypes.includes(n)},loadingText:null,style:null,precision:2,slots:()=>({})}),a=e.useSlots(),s=i.useNameHelper("upload"),p=e.computed(()=>s.ns("fade"));function m(n){i.emitEvent(r.onDelete,n)}function v(n){i.emitEvent(r.onPreview,n)}return(n,w)=>(e.openBlock(),e.createElementBlock("ul",{class:e.normalizeClass([e.unref(s).be("files"),e.unref(s).bs("vars"),e.unref(r).inherit&&e.unref(s).bem("files","inherit")]),style:e.normalizeStyle(e.unref(r).style)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r).files,d=>(e.openBlock(),e.createBlock(e.Transition,{key:d.id,appear:"",name:e.unref(r).selectToAdd?p.value:void 0},{default:e.withCtx(()=>[e.createVNode(e.unref(h),{inherit:"",file:d,"icon-renderer":e.unref(r).iconRenderer,"list-type":e.unref(r).type,"loading-text":e.unref(r).loadingText,"select-to-add":e.unref(r).selectToAdd,precision:e.unref(r).precision,"can-preview":e.unref(r).canPreview,onDelete:m,onPreview:v},e.createSlots({_:2},[a.item||e.unref(r).slots.item?{name:"default",fn:e.withCtx(({file:t,status:o,percentage:l})=>[e.renderSlot(n.$slots,"item",{file:t,status:o,percentage:l},()=>[e.createVNode(e.unref(u),{renderer:e.unref(r).slots.item,data:{file:t,status:o,percentage:l}},null,8,["renderer","data"])])]),key:"0"}:void 0,a.icon||e.unref(r).slots.icon?{name:"icon",fn:e.withCtx(({file:t,status:o,percentage:l})=>[e.renderSlot(n.$slots,"icon",{file:t,status:o,percentage:l},()=>[e.createVNode(e.unref(u),{renderer:e.unref(r).slots.icon,data:{file:t,status:o,percentage:l}},null,8,["renderer","data"])])]),key:"1"}:void 0]),1032,["file","icon-renderer","list-type","loading-text","select-to-add","precision","can-preview"])]),_:2},1032,["name"]))),128)),e.renderSlot(n.$slots,"suffix",{},()=>[e.createVNode(e.unref(u),{renderer:e.unref(r).slots.suffix},null,8,["renderer"])])],6))}});module.exports=k;
//# sourceMappingURL=upload-list.vue2.cjs.map