UNPKG

@react-md/utils

Version:
29 lines 1.1 kB
import { useEffect } from "react"; import { useRefCache } from "../useRefCache"; import { delegateEvent } from "./utils"; /** * * @remarks \@since 5.0.0 Moved the `AddEventListenerOptions` to no longer be * part of an `options` object. */ export function useScrollListener(_a) { var once = _a.once, _b = _a.passive, passive = _b === void 0 ? true : _b, signal = _a.signal, capture = _a.capture, _c = _a.enabled, enabled = _c === void 0 ? true : _c, onScroll = _a.onScroll; var scrollHandlerRef = useRefCache(onScroll); useEffect(function () { if (!enabled) { return; } var eventHandler = delegateEvent("scroll", window, true, { once: once, passive: passive, signal: signal, capture: capture, }); var scrollHandler = scrollHandlerRef.current; eventHandler.add(scrollHandler); return function () { eventHandler.remove(scrollHandler); }; }, [capture, enabled, once, passive, scrollHandlerRef, signal]); } //# sourceMappingURL=useScrollListener.js.map