UNPKG

hongluan-ui

Version:
58 lines (53 loc) 1.91 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); require('../../../tokens/index.js'); var error = require('../../../utils/error.js'); require('../../../hooks/index.js'); var uploadDragger = require('./upload-dragger.js'); var index = require('../../../hooks/use-consistent-prop/index.js'); var upload = require('../../../tokens/upload.js'); const COMPONENT_NAME = "UploadDrag"; const __default__ = vue.defineComponent({ name: COMPONENT_NAME }); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ ...__default__, props: uploadDragger.uploadDraggerProps, emits: uploadDragger.uploadDraggerEmits, setup(__props, { emit }) { const { disabled } = index.useConsistentProp(); const uploaderContext = vue.inject(upload.uploadContextKey); if (!uploaderContext) { error.throwError(COMPONENT_NAME, "usage: <hl-upload><upload-dragger /></hl-upload>"); } const dragover = vue.ref(false); const onDrop = (e) => { if (disabled.value) return; dragover.value = false; e.stopPropagation(); const files = Array.from(e.dataTransfer.files); emit("file", files); }; const onDragover = () => { if (!disabled.value) dragover.value = true; }; return (_ctx, _cache) => { return vue.openBlock(), vue.createElementBlock("div", { class: vue.normalizeClass({ ["upload-dragger"]: true, "is-dragover": dragover.value }), onDrop: vue.withModifiers(onDrop, ["prevent"]), onDragover: vue.withModifiers(onDragover, ["prevent"]), onDragleave: vue.withModifiers(($event) => dragover.value = false, ["prevent"]) }, [ vue.renderSlot(_ctx.$slots, "default") ], 42, ["onDrop", "onDragover", "onDragleave"]); }; } }); exports["default"] = _sfc_main; //# sourceMappingURL=upload-dragger2.js.map