UNPKG

vuestic-ui

Version:
35 lines (34 loc) 952 B
import { u as useWindow } from "./useWindow.js"; const useScrollParent = () => { const window = useWindow(); const fakeWindow = new Proxy(window.value || {}, { get: (target, key, rec) => { var _a, _b; if (key === "scrollTop") { return (_a = window.value) == null ? void 0 : _a.scrollY; } if (key === "scrollLeft") { return (_b = window.value) == null ? void 0 : _b.scrollX; } const value = Reflect.get(target, key, rec); if (typeof value === "function") { return value.bind(target); } return value; } }); const getScrollableParent = (element) => { if (!element) { return fakeWindow; } if (element.scrollHeight > element.clientHeight) { return element; } return getScrollableParent(element.parentElement); }; return { getScrollableParent }; }; export { useScrollParent as u }; //# sourceMappingURL=useScrollParent.js.map