UNPKG

tdesign-react

Version:
70 lines (66 loc) 2.23 kB
/** * tdesign v1.15.1 * (c) 2025 tdesign * @license MIT */ import { _ as _slicedToArray } from '../../_chunks/dep-48805ab8.js'; import { useState } from 'react'; import { f as getFileList } from '../../_chunks/dep-8918af14.js'; import '../../_chunks/dep-026a4c6b.js'; import '../../_chunks/dep-b908e1fe.js'; function useDrag(props) { var accept = props.accept; var _useState = useState(null), _useState2 = _slicedToArray(_useState, 2), target = _useState2[0], setTarget = _useState2[1]; var _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), dragActive = _useState4[0], setDragActive = _useState4[1]; var handleDrop = function handleDrop(event) { var _props$onDrop; event.preventDefault(); setDragActive(false); var files = event.dataTransfer.files; var dragFiles = getFileList(files, accept); if (dragFiles.length) { var _props$onDragFileChan; (_props$onDragFileChan = props.onDragFileChange) === null || _props$onDragFileChan === void 0 || _props$onDragFileChan.call(props, dragFiles); } (_props$onDrop = props.onDrop) === null || _props$onDrop === void 0 || _props$onDrop.call(props, { e: event }); }; var handleDragenter = function handleDragenter(event) { var _props$onDragenter; event.preventDefault(); setTarget(event.target); (_props$onDragenter = props.onDragenter) === null || _props$onDragenter === void 0 || _props$onDragenter.call(props, { e: event }); setDragActive(true); }; var handleDragleave = function handleDragleave(event) { var _props$onDragleave; if (event.target !== target) return; event.preventDefault(); (_props$onDragleave = props.onDragleave) === null || _props$onDragleave === void 0 || _props$onDragleave.call(props, { e: event }); setDragActive(false); }; var handleDragover = function handleDragover(event) { event.preventDefault(); }; return { target: target, dragActive: dragActive, handleDrop: handleDrop, handleDragenter: handleDragenter, handleDragleave: handleDragleave, handleDragover: handleDragover }; } export { useDrag as default }; //# sourceMappingURL=useDrag.js.map