UNPKG

@ticketmaster/prism

Version:

Live Nation Component library

27 lines 993 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var React = require("react"); function useClickOutside(ref, onClickOutside) { function handleClickOutside(event) { if (ref && ref.current && ref.current.contains(event.target)) return; onClickOutside(); } function handleEsc(event) { if (event.keyCode === 27) { onClickOutside(); } } React.useEffect(function () { document.addEventListener('mousedown', handleClickOutside); document.addEventListener('click', handleClickOutside); document.addEventListener('keydown', handleEsc); return function () { document.removeEventListener('mousedown', handleClickOutside); document.removeEventListener('click', handleClickOutside); document.removeEventListener('keydown', handleEsc); }; }); } exports.default = useClickOutside; //# sourceMappingURL=useClickOutside.js.map