@primer/react-brand
Version:
Primer Brand is a GitHub's design system for creating React-based marketing websites and digital experiences.
30 lines (29 loc) • 737 B
JavaScript
import { useEffect as e, useState as t } from "react";
//#region src/SubdomainNavBar/useVisibilityObserver.ts
function n(n, r) {
let [i, a] = t({}), o = (e) => {
let t = {};
for (let n of e) {
let e = n.target.getAttribute("data-navitemid");
e && (n.isIntersecting ? t[e] = !0 : t[e] = !1);
}
a((e) => ({
...e,
...t
}));
};
return e(() => {
let e = new IntersectionObserver(o, {
root: n.current,
threshold: 1
});
if (n.current) {
let t = Array.from(n.current.children);
for (let n of t) n.getAttribute("data-navitemid") && e.observe(n);
}
return () => e.disconnect();
}, [n, r]), [i];
}
//#endregion
export { n as useVisibilityObserver };
//# sourceMappingURL=useVisibilityObserver.js.map