@navikt/ds-react
Version:
React components from the Norwegian Labour and Welfare Administration.
30 lines • 1.03 kB
JavaScript
import { useState } from "react";
export const useDropzone = ({ upload, disabled }) => {
const [isDraggingOver, setIsDraggingOver] = useState(false);
const onDragEnter = () => {
setIsDraggingOver(true);
};
const onDragOver = (event) => {
event.preventDefault(); // Prevents the browser from opening the file in a new tab
};
const onDragLeave = () => {
setIsDraggingOver(false);
};
const onDrop = (event) => {
event.preventDefault(); // Prevents the browser from opening the file in a new tab
setIsDraggingOver(false);
const fileList = event.dataTransfer.files;
if (!fileList) {
return;
}
upload(fileList);
};
return {
isDraggingOver,
onDragEnter: disabled ? undefined : onDragEnter,
onDragOver: disabled ? undefined : onDragOver,
onDragLeave: disabled ? undefined : onDragLeave,
onDrop: disabled ? undefined : onDrop,
};
};
//# sourceMappingURL=useDropzone.js.map