UNPKG

@grafana/ui

Version:
27 lines (24 loc) 737 B
import React__default from 'react'; "use strict"; function useCustomClickAway(onClickAway) { const ref = React__default.useRef(null); const refCb = React__default.useRef(onClickAway); React__default.useLayoutEffect(() => { refCb.current = onClickAway; }); React__default.useEffect(() => { const handler = (e) => { const element = ref.current; if (element && e.target instanceof Node && !element.contains(e.target)) { refCb.current(e); } }; document.addEventListener("pointerdown", handler); return () => { document.removeEventListener("pointerdown", handler); }; }, []); return ref; } export { useCustomClickAway }; //# sourceMappingURL=useSidebarClickAway.mjs.map