ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
2 lines (1 loc) • 2 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),v=require("../chunks/module-chunk.js"),y=require("./context.js"),x=require("../_util/hooks/use-state.js"),l=require("ant-design-vue"),q=require("../chunks/helper-chunk.js"),D=e.defineComponent({name:"AXAttachmentsPlaceholderUploader",__name:"PlaceholderUploader",props:e.mergeDefaults({prefixCls:{type:String,required:!0},placeholder:{required:!1},upload:{required:!1},className:{type:String,required:!1},style:{required:!1}},{placeholder:()=>({})}),setup(a,{expose:d}){const r=`${a.prefixCls}-placeholder`,o=e.computed(()=>a.placeholder||{}),c=e.useTemplateRef("upload-dragger"),n=y.useAttachmentContextInject(),[u,s]=x.default(!1),i=()=>{s(!0)},p=t=>{t.currentTarget.contains(t.relatedTarget)||s(!1)},g=()=>{s(!1)},f=e.computed(()=>{var t;return(t=c.value)==null?void 0:t.$el});d({nativeElement:f});const h=t=>Array.isArray(t)&&t.every(e.isVNode),m=e.computed(()=>e.isVNode(a.placeholder)||h(a.placeholder)?a.placeholder:e.createVNode(l.Flex,{align:"center",justify:"center",vertical:!0,class:`${r}-inner`},{default:()=>[e.createVNode(l.Typography.Text,{class:`${r}-icon`},{default:()=>[o.value.icon]}),e.createVNode(l.Typography.Title,{class:`${r}-title`,level:5},{default:()=>[o.value.title]}),e.createVNode(l.Typography.Text,{class:`${r}-description`,type:"secondary"},{default:()=>[o.value.description]})]}));return()=>e.createVNode("div",{class:v.classnames(r,{[`${r}-drag-in`]:u.value,[`${r}-disabled`]:n.value.disabled},a.className),onDragenter:i,onDragleave:p,onDrop:g,"aria-hidden":n.value.disabled,style:a.style},[e.createVNode(l.Upload.Dragger,e.mergeProps(a.upload,{showUploadList:!1,ref:"upload-dragger",style:{padding:0,border:0,background:"transparent"}}),{default:()=>[m.value]})])}}),N=q._export_sfc(D,[["__file","/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/attachments/PlaceholderUploader.vue"]]);exports.default=N;