@primer/react-brand
Version:
Primer Brand is a GitHub's design system for creating React-based marketing websites and digital experiences.
22 lines (21 loc) • 670 B
JavaScript
import { useCallback as e, useEffect as t, useState as n } from "react";
//#region src/SubNav/useContainsFocus.ts
var r = (r, i) => {
let [a, o] = n(!1), s = e((e) => {
e !== a && (o(e), i?.(e));
}, [a, i]);
t(() => {
if (!r) return;
let e = () => {
s(!0);
}, t = (e) => {
r.current && !r.current.contains(e.relatedTarget) && s(!1);
}, n = r.current;
if (n) return n.addEventListener("focusin", e, !0), n.addEventListener("focusout", t, !0), () => {
n.removeEventListener("focusin", e, !0), n.removeEventListener("focusout", t, !0);
};
}, [s, r]);
};
//#endregion
export { r as useContainsFocus };
//# sourceMappingURL=useContainsFocus.js.map