"use client"; import type React from "react"; import { useEffect, useRef, useState } from "react"; /** * @internal */ export function DynamicHeight(props: { children: React.ReactNode; maxHeight?: string; }) { const { height, elementRef } = useHeightObserver(); return (
{props.children}
); } /** * @internal */ function useHeightObserver() { const elementRef = useRef(null); const [height, setHeight] = useState(); useEffect(() => { const element = elementRef.current; if (!element) { return; } const resizeObserver = new ResizeObserver(() => { setHeight(element.scrollHeight); }); resizeObserver.observe(element); return () => { resizeObserver.disconnect(); }; }, []); return { elementRef: elementRef, height }; }