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

32 lines 1.43 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDataTableHasScroll = void 0; const react_1 = __importDefault(require("react")); const resizeObserver_1 = require("../../../utils/resizeObserver/resizeObserver"); const hasScroll_1 = require("../../../utils/scroll/hasScroll"); const useDataTableHasScroll = ({ ref, }) => { const [hasScroll, setHasScroll] = react_1.default.useState(false); react_1.default.useEffect(() => { const scrollableContainer = ref.current?.querySelector?.('[data-datatable-scrollable-container]'); let resizeObserver; if (scrollableContainer instanceof HTMLElement) { const handleElementResize = (element) => { setHasScroll((0, hasScroll_1.hasScroll)(element)); }; handleElementResize(scrollableContainer); resizeObserver = new resizeObserver_1.ResizeObserver(() => { handleElementResize(scrollableContainer); }); resizeObserver.observe(scrollableContainer); } return () => { resizeObserver?.disconnect(); }; }, []); return { hasScroll }; }; exports.useDataTableHasScroll = useDataTableHasScroll; //# sourceMappingURL=useDataTableHasScroll.js.map