Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
20 lines
539 B
Plaintext
20 lines
539 B
Plaintext
import { useEffect } from 'react';
|
|
import { useClickOutsideContext } from '../providers/ClickOutside/index.js';
|
|
export function useClickOutside(ref, handler, enabled = true) {
|
|
const {
|
|
register,
|
|
unregister
|
|
} = useClickOutsideContext();
|
|
useEffect(() => {
|
|
if (!enabled || !ref.current) {
|
|
return;
|
|
}
|
|
const listener = {
|
|
handler,
|
|
ref
|
|
};
|
|
register(listener);
|
|
return () => unregister(listener);
|
|
}, [ref, handler, enabled, register, unregister]);
|
|
}
|
|
//# sourceMappingURL=useClickOutside.js.map |