UNPKG

@zohodesk/hooks

Version:

Unified Component Library - Hooks

18 lines (16 loc) 571 B
import { useMemo } from 'react'; import getAllScrollableParents from "../utils/scroll/getAllScrollableParents"; export default function useScrollParents(targetElement) { let scrollableParents = useMemo(() => { let scrollableParents = getAllScrollableParents(targetElement); if (scrollableParents.length <= 1) { scrollableParents.push(document); } let [immediateScrollParent, ...otherScrollParents] = scrollableParents; return { immediateScrollParent, otherScrollParents }; }, [targetElement]); return scrollableParents; }