opt-table
Version:
A Responsive and Customizable Rich Table
24 lines • 855 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useOutsideAlerter = void 0;
const react_1 = require("react");
function useOutsideAlerter(ref, onClick) {
(0, react_1.useEffect)(() => {
/**
* Alert if clicked on outside of element
*/
function handleClickOutside(event) {
if (ref.current && !ref.current.contains(event.target)) {
onClick();
}
}
// Bind the event listener
document.addEventListener("mousedown", handleClickOutside);
return () => {
// Unbind the event listener on clean up
document.removeEventListener("mousedown", handleClickOutside);
};
}, [ref]);
}
exports.useOutsideAlerter = useOutsideAlerter;
//# sourceMappingURL=click_away.js.map