"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 (
);
}
/**
* @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 };
}