UNPKG

@ozen-ui/kit

Version:

React component library

26 lines (25 loc) 1.03 kB
import { __read } from "tslib"; import { useEffect, useRef, useState } from 'react'; import { useCreateResizeObserver } from '../useCreateResizeObserver'; import { USE_RESIZE_OBSERVER_DEFAULT_STATE } from './constants'; // eslint-disable-next-line @typescript-eslint/no-explicit-any export function useResizeObserver(options) { var ref = useRef(null); var _a = __read(useState(USE_RESIZE_OBSERVER_DEFAULT_STATE), 2), rect = _a[0], setRect = _a[1]; var observer = useCreateResizeObserver(function (entries) { var entry = entries[0]; if (entry && ref.current) { var newRect = entry.contentRect; setRect(newRect); } }); useEffect(function () { if (ref.current) { observer === null || observer === void 0 ? void 0 : observer.observe(ref.current, options); } return function () { observer === null || observer === void 0 ? void 0 : observer.disconnect(); }; }, [ref.current]); return [ref, rect]; }