react-dropzone
Advanced tools
Comparing version 10.1.8 to 10.1.9
@@ -28,3 +28,3 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } | ||
/* eslint prefer-template: 0 */ | ||
import React, { forwardRef, Fragment, useCallback, useEffect, useMemo, useReducer, useRef, useState } from 'react'; | ||
import React, { forwardRef, Fragment, useCallback, useEffect, useMemo, useReducer, useRef } from 'react'; | ||
import PropTypes from 'prop-types'; | ||
@@ -506,8 +506,4 @@ import { fromEvent } from 'file-selector'; | ||
}, [inputRef, noClick]); | ||
var dragTargetsRef = useRef([]); | ||
var _useState = useState([]), | ||
_useState2 = _slicedToArray(_useState, 2), | ||
dragTargets = _useState2[0], | ||
setDragTargets = _useState2[1]; | ||
var onDocumentDrop = function onDocumentDrop(event) { | ||
@@ -520,3 +516,3 @@ if (rootRef.current && rootRef.current.contains(event.target)) { | ||
event.preventDefault(); | ||
setDragTargets([]); | ||
dragTargetsRef.current = []; | ||
}; | ||
@@ -543,4 +539,4 @@ | ||
if (dragTargets.indexOf(event.target) === -1) { | ||
setDragTargets([].concat(_toConsumableArray(dragTargets), [event.target])); | ||
if (dragTargetsRef.current.indexOf(event.target) === -1) { | ||
dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]); | ||
} | ||
@@ -565,3 +561,3 @@ | ||
} | ||
}, [dragTargets, getFilesFromEvent, onDragEnter, noDragEventsBubbling]); | ||
}, [getFilesFromEvent, onDragEnter, noDragEventsBubbling]); | ||
var onDragOverCb = useCallback(function (event) { | ||
@@ -591,8 +587,7 @@ event.preventDefault(); | ||
var targets = _toConsumableArray(dragTargets.filter(function (target) { | ||
var targets = dragTargetsRef.current.filter(function (target) { | ||
return target !== event.target && rootRef.current && rootRef.current.contains(target); | ||
})); | ||
}); | ||
dragTargetsRef.current = targets; | ||
setDragTargets(targets); | ||
if (targets.length > 0) { | ||
@@ -611,3 +606,3 @@ return; | ||
} | ||
}, [rootRef, dragTargets, onDragLeave, noDragEventsBubbling]); | ||
}, [rootRef, onDragLeave, noDragEventsBubbling]); | ||
var onDropCb = useCallback(function (event) { | ||
@@ -618,3 +613,3 @@ event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done | ||
stopPropagation(event); | ||
setDragTargets([]); | ||
dragTargetsRef.current = []; | ||
dispatch({ | ||
@@ -621,0 +616,0 @@ type: 'reset' |
@@ -168,3 +168,3 @@ { | ||
}, | ||
"version": "10.1.8", | ||
"version": "10.1.9", | ||
"engines": { | ||
@@ -171,0 +171,0 @@ "node": ">= 8" |
@@ -9,4 +9,3 @@ /* eslint prefer-template: 0 */ | ||
useReducer, | ||
useRef, | ||
useState | ||
useRef | ||
} from 'react' | ||
@@ -473,3 +472,3 @@ import PropTypes from 'prop-types' | ||
const [dragTargets, setDragTargets] = useState([]) | ||
const dragTargetsRef = useRef([]) | ||
const onDocumentDrop = event => { | ||
@@ -481,3 +480,3 @@ if (rootRef.current && rootRef.current.contains(event.target)) { | ||
event.preventDefault() | ||
setDragTargets([]) | ||
dragTargetsRef.current = [] | ||
} | ||
@@ -507,4 +506,4 @@ | ||
// Count the dropzone and any children that are entered. | ||
if (dragTargets.indexOf(event.target) === -1) { | ||
setDragTargets([...dragTargets, event.target]) | ||
if (dragTargetsRef.current.indexOf(event.target) === -1) { | ||
dragTargetsRef.current = [...dragTargetsRef.current, event.target] | ||
} | ||
@@ -530,3 +529,3 @@ | ||
}, | ||
[dragTargets, getFilesFromEvent, onDragEnter, noDragEventsBubbling] | ||
[getFilesFromEvent, onDragEnter, noDragEventsBubbling] | ||
) | ||
@@ -562,8 +561,6 @@ | ||
// Only deactivate once the dropzone and all children have been left | ||
const targets = [ | ||
...dragTargets.filter( | ||
target => target !== event.target && rootRef.current && rootRef.current.contains(target) | ||
) | ||
] | ||
setDragTargets(targets) | ||
const targets = dragTargetsRef.current.filter( | ||
target => target !== event.target && rootRef.current && rootRef.current.contains(target) | ||
) | ||
dragTargetsRef.current = targets | ||
if (targets.length > 0) { | ||
@@ -583,3 +580,3 @@ return | ||
}, | ||
[rootRef, dragTargets, onDragLeave, noDragEventsBubbling] | ||
[rootRef, onDragLeave, noDragEventsBubbling] | ||
) | ||
@@ -594,3 +591,3 @@ | ||
setDragTargets([]) | ||
dragTargetsRef.current = [] | ||
dispatch({ type: 'reset' }) | ||
@@ -597,0 +594,0 @@ |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
333628
4943