UNPKG

ant-design-x-vue

Version:
2 lines (1 loc) 1.81 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),h=require("../chunks/module-chunk.js"),l=require("../_util/hooks/use-state.js"),D=require("./context.js"),C=require("../chunks/helper-chunk.js"),x=t.defineComponent({name:"AXAttachmentsDropArea",__name:"DropArea",props:{prefixCls:{type:String,required:!0},className:{type:String,required:!0},getDropContainer:{type:Function,skipCheck:!0,required:!1},children:{required:!1}},setup(e,{expose:v}){v();const m=D.useAttachmentContextInject(),[r,s]=l.default(),[g,u]=l.default(null);t.onMounted(()=>{var n;s((n=e.getDropContainer)==null?void 0:n.call(e))}),t.watch(()=>t.toValue(e.getDropContainer),()=>{var a;const n=(a=e.getDropContainer)==null?void 0:a.call(e);r.value!==n&&s(n)}),t.watch(()=>!!r.value,()=>{if(r.value){const n=()=>{u(!0)},a=o=>{o.preventDefault()},d=o=>{o.relatedTarget||u(!1)},i=o=>{u(!1),o.preventDefault()};document.addEventListener("dragenter",n),document.addEventListener("dragover",a),document.addEventListener("dragleave",d),document.addEventListener("drop",i),t.onWatcherCleanup(()=>{document.removeEventListener("dragenter",n),document.removeEventListener("dragover",a),document.removeEventListener("dragleave",d),document.removeEventListener("drop",i)})}});const f=t.computed(()=>e.getDropContainer&&r.value&&!m.value.disabled),c=`${e.prefixCls}-drop-area`;return()=>f.value?t.createVNode(t.Teleport,{to:r.value},{default:()=>[t.createVNode("div",{class:h.classnames(c,e.className,{[`${c}-on-body`]:r.value.tagName==="BODY"}),style:{display:g.value?"block":"none"}},[e.children])]}):null}}),E=C._export_sfc(x,[["__file","/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/attachments/DropArea.vue"]]);exports.default=E;