nice-ui
Version:
React design system, components, and utilities
23 lines (22 loc) • 985 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useAnchorPoint = exports.useAnchorPointHandle = exports.anchorContext = void 0;
const React = require("react");
const AnchorPointHandle_1 = require("./AnchorPointHandle");
exports.anchorContext = React.createContext(null);
const useAnchorPointHandle = (spec) => {
const handle = React.useMemo(() => new AnchorPointHandle_1.AnchorPointHandle(spec), []);
React.useEffect(() => {
const listener = () => handle.style();
document.addEventListener('scroll', listener);
window.addEventListener('resize', listener);
return () => {
document.removeEventListener('scroll', listener);
window.removeEventListener('resize', listener);
};
}, [handle]);
return handle;
};
exports.useAnchorPointHandle = useAnchorPointHandle;
const useAnchorPoint = () => React.useContext(exports.anchorContext);
exports.useAnchorPoint = useAnchorPoint;
;