You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
4.4 KiB

{"ast":null,"code":"import { defineComponent, inject, ref, openBlock, createElementBlock, normalizeClass, unref, withModifiers, renderSlot } from 'vue';\nimport '../../../hooks/index.mjs';\nimport '../../form/index.mjs';\nimport { throwError } from '../../../utils/error.mjs';\nimport { uploadContextKey } from './constants.mjs';\nimport { uploadDraggerProps, uploadDraggerEmits } from './upload-dragger.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';\nconst COMPONENT_NAME = \"ElUploadDrag\";\nconst __default__ = defineComponent({\n name: COMPONENT_NAME\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: uploadDraggerProps,\n emits: uploadDraggerEmits,\n setup(__props, {\n emit\n }) {\n const uploaderContext = inject(uploadContextKey);\n if (!uploaderContext) {\n throwError(COMPONENT_NAME, \"usage: <el-upload><el-upload-dragger /></el-upload>\");\n }\n const ns = useNamespace(\"upload\");\n const dragover = ref(false);\n const disabled = useFormDisabled();\n const onDrop = e => {\n if (disabled.value) return;\n dragover.value = false;\n e.stopPropagation();\n const files = Array.from(e.dataTransfer.files);\n emit(\"file\", files);\n };\n const onDragover = () => {\n if (!disabled.value) dragover.value = true;\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([unref(ns).b(\"dragger\"), unref(ns).is(\"dragover\", dragover.value)]),\n onDrop: withModifiers(onDrop, [\"prevent\"]),\n onDragover: withModifiers(onDragover, [\"prevent\"]),\n onDragleave: withModifiers($event => dragover.value = false, [\"prevent\"])\n }, [renderSlot(_ctx.$slots, \"default\")], 42, [\"onDrop\", \"onDragover\", \"onDragleave\"]);\n };\n }\n});\nvar UploadDragger = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"upload-dragger.vue\"]]);\nexport { UploadDragger as default };","map":{"version":3,"names":["name","COMPONENT_NAME","uploaderContext","inject","uploadContextKey","throwError","ns","useNamespace","dragover","ref","disabled","useFormDisabled","onDrop","e","value","stopPropagation","files","Array","from","dataTransfer","emit","onDragover","_ctx","_cache"],"sources":["../../../../../../packages/components/upload/src/upload-dragger.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('dragger'), ns.is('dragover', dragover)]\"\n @drop.prevent=\"onDrop\"\n @dragover.prevent=\"onDragover\"\n @dragleave.prevent=\"dragover = false\"\n >\n <slot />\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { inject, ref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { throwError } from '@element-plus/utils/error'\nimport { uploadContextKey } from './constants'\nimport { uploadDraggerEmits, uploadDraggerProps } from './upload-dragger'\n\nconst COMPONENT_NAME = 'ElUploadDrag'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\ndefineProps(uploadDraggerProps)\nconst emit = defineEmits(uploadDraggerEmits)\n\nconst uploaderContext = inject(uploadContextKey)\nif (!uploaderContext) {\n throwError(\n COMPONENT_NAME,\n 'usage: <el-upload><el-upload-dragger /></el-upload>'\n )\n}\n\nconst ns = useNamespace('upload')\nconst dragover = ref(false)\nconst disabled = useFormDisabled()\n\nconst onDrop = (e: DragEvent) => {\n if (disabled.value) return\n dragover.value = false\n\n e.stopPropagation()\n\n const files = Array.from(e.dataTransfer!.files)\n emit('file', files)\n}\n\nconst onDragover = () => {\n if (!disabled.value) dragover.value = true\n}\n</script>\n"],"mappings":";;;;;;;;;;mCAoBc;EACZA,IAAM,EAAAC;AACR;;;;;;;;IAKM,MAAAC,eAAA,GAAkBC,MAAA,CAAOC,gBAAgB;IAC/C,IAAI,CAACF,eAAiB;MACpBG,UAAA,CAAAJ,cAAA;IAAA;IAEE,MAAAK,EAAA,GAAAC,YAAA;IACF,MAAAC,QAAA,GAAAC,GAAA;IACF,MAAAC,QAAA,GAAAC,eAAA;IAEM,MAAAC,MAAA,GAAAC,CAAA;MACA,IAAAH,QAAA,CAAAI,KAAA,EACN;MAEMN,QAAA,CAAAM,KAAU,GAAiB;MAC/BD,CAAA,CAAAE,eAAoB;MACpB,MAAAC,KAAiB,GAAAC,KAAA,CAAAC,IAAA,CAAAL,CAAA,CAAAM,YAAA,CAAAH,KAAA;MAEjBI,IAAkB,SAAAJ,KAAA;IAElB;IACA,MAAAK,UAAkB,GAAAA,CAAA;MACpB,KAAAX,QAAA,CAAAI,KAAA,EAEAN,QAAA,CAAAM,KAAA,GAAyB;IACvB;IACF,QAAAQ,IAAA,EAAAC,MAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}