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

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