UNPKG

ant-design-x-vue

Version:
95 lines (94 loc) 2.6 kB
import { defineComponent as x, mergeDefaults as D, computed as s, useTemplateRef as C, isVNode as c, createVNode as t, mergeProps as $ } from "vue"; import { b } from "../chunks/module-chunk.mjs"; import { useAttachmentContextInject as T } from "./context.mjs"; import U from "../_util/hooks/use-state.mjs"; import { Flex as A, Typography as n, Upload as q } from "ant-design-vue"; import { _ as N } from "../chunks/helper-chunk.mjs"; const P = /* @__PURE__ */ x({ name: "AXAttachmentsPlaceholderUploader", __name: "PlaceholderUploader", props: D({ prefixCls: { type: String, required: !0 }, placeholder: { required: !1 }, upload: { required: !1 }, className: { type: String, required: !1 }, style: { required: !1 } }, { placeholder: () => ({}) }), setup(e, { expose: i }) { const r = `${e.prefixCls}-placeholder`, l = s(() => e.placeholder || {}), u = C("upload-dragger"), d = T(), [p, o] = U(!1), f = () => { o(!0); }, g = (a) => { a.currentTarget.contains(a.relatedTarget) || o(!1); }, m = () => { o(!1); }, h = s(() => { var a; return (a = u.value) == null ? void 0 : a.$el; }); i({ nativeElement: h }); const v = (a) => Array.isArray(a) && a.every(c), y = s(() => c(e.placeholder) || v(e.placeholder) ? e.placeholder : t(A, { align: "center", justify: "center", vertical: !0, class: `${r}-inner` }, { default: () => [t(n.Text, { class: `${r}-icon` }, { default: () => [l.value.icon] }), t(n.Title, { class: `${r}-title`, level: 5 }, { default: () => [l.value.title] }), t(n.Text, { class: `${r}-description`, type: "secondary" }, { default: () => [l.value.description] })] })); return () => t("div", { class: b(r, { [`${r}-drag-in`]: p.value, [`${r}-disabled`]: d.value.disabled }, e.className), onDragenter: f, onDragleave: g, onDrop: m, "aria-hidden": d.value.disabled, style: e.style }, [t(q.Dragger, $(e.upload, { showUploadList: !1, ref: "upload-dragger", style: { padding: 0, border: 0, background: "transparent" } }), { default: () => [y.value] })]); } }), L = /* @__PURE__ */ N(P, [["__file", "/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/attachments/PlaceholderUploader.vue"]]); export { L as default };