UNPKG

@kubit-ui-web/react-components

Version:

Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience

28 lines 1.15 kB
import React from 'react'; import { ResizeObserver } from '../../../utils/resizeObserver/resizeObserver'; import { hasScroll as checkHasSroll } from '../../../utils/scroll/hasScroll'; export const useTableHasScroll = ({ ref, disabled = false, }) => { const [hasScroll, setHasScroll] = React.useState(false); React.useEffect(() => { const scrollableContainer = ref.current?.querySelector?.('[data-table-scrollable-container]'); let resizeObserver; if (scrollableContainer instanceof HTMLElement && !disabled) { const handleElementResize = (element) => { setHasScroll(checkHasSroll(element)); }; handleElementResize(scrollableContainer); resizeObserver = new ResizeObserver(() => { handleElementResize(scrollableContainer); }); resizeObserver.observe(scrollableContainer); } if (disabled) { setHasScroll(false); } return () => { resizeObserver?.disconnect(); }; }, [disabled]); return { hasScroll }; }; //# sourceMappingURL=useTableHasScroll.js.map