sanity-plugin-order-documents
Version:
A Sanity Studio plugin that helps you order your documents via drag-and-drop.
24 lines (23 loc) • 765 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useOnClickOutside = useOnClickOutside;
var _react = require("react");
function useOnClickOutside(refs, handler) {
(0, _react.useEffect)(function () {
var listener = function listener(event) {
if (!refs.map(function (ref) {
return ref === null || ref === void 0 ? void 0 : ref.current.contains(event.target);
}).some(Boolean)) {
handler(event);
}
};
document.addEventListener("mousedown", listener);
document.addEventListener("touchstart", listener);
return function () {
document.removeEventListener("mousedown", listener);
document.removeEventListener("touchstart", listener);
};
}, [refs, handler]);
}