UNPKG

@extclp/vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

114 lines (113 loc) 3.72 kB
import { defineComponent as T, useSlots as k, computed as x, openBlock as a, createElementBlock as f, normalizeClass as P, unref as e, normalizeStyle as L, Fragment as S, renderList as $, createBlock as b, Transition as g, withCtx as d, createVNode as s, createSlots as A, renderSlot as c } from "vue"; import "../renderer/index.mjs"; import "../upload-file/index.mjs"; import { useProps as B, useNameHelper as C, emitEvent as v } from "@vexip-ui/config"; import { uploadListProps as D } from "./props.mjs"; import { uploadListTypes as N } from "./symbol.mjs"; import R from "./upload-file.vue2.mjs"; import p from "../renderer/renderer.mjs"; const J = /* @__PURE__ */ T({ name: "UploadList", __name: "upload-list", props: D, setup(y) { const t = B("uploadList", y, { files: { default: () => [], static: !0 }, selectToAdd: !1, iconRenderer: { default: null, isFunc: !0 }, type: { default: "name", validator: (o) => N.includes(o) }, loadingText: null, style: null, precision: 2, // 'canPreview' using UploadFile default slots: () => ({}) }), m = k(), l = C("upload"), _ = x(() => l.ns("fade")); function h(o) { v(t.onDelete, o); } function w(o) { v(t.onPreview, o); } return (o, E) => (a(), f("ul", { class: P([e(l).be("files"), e(l).bs("vars"), e(t).inherit && e(l).bem("files", "inherit")]), style: L(e(t).style) }, [ (a(!0), f(S, null, $(e(t).files, (u) => (a(), b(g, { key: u.id, appear: "", name: e(t).selectToAdd ? _.value : void 0 }, { default: d(() => [ s(e(R), { inherit: "", file: u, "icon-renderer": e(t).iconRenderer, "list-type": e(t).type, "loading-text": e(t).loadingText, "select-to-add": e(t).selectToAdd, precision: e(t).precision, "can-preview": e(t).canPreview, onDelete: h, onPreview: w }, A({ _: 2 }, [ m.item || e(t).slots.item ? { name: "default", fn: d(({ file: n, status: r, percentage: i }) => [ c(o.$slots, "item", { file: n, status: r, percentage: i }, () => [ s(e(p), { renderer: e(t).slots.item, data: { file: n, status: r, percentage: i } }, null, 8, ["renderer", "data"]) ]) ]), key: "0" } : void 0, m.icon || e(t).slots.icon ? { name: "icon", fn: d(({ file: n, status: r, percentage: i }) => [ c(o.$slots, "icon", { file: n, status: r, percentage: i }, () => [ s(e(p), { renderer: e(t).slots.icon, data: { file: n, status: r, percentage: i } }, 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)), c(o.$slots, "suffix", {}, () => [ s(e(p), { renderer: e(t).slots.suffix }, null, 8, ["renderer"]) ]) ], 6)); } }); export { J as default }; //# sourceMappingURL=upload-list.vue2.mjs.map