@assistant-ui/react
Version:
TypeScript/React library for AI Chat
30 lines (29 loc) • 782 B
JavaScript
"use client";
// src/utils/hooks/useSizeHandle.ts
import { useCallback } from "react";
import { useManagedRef } from "./useManagedRef.js";
var useSizeHandle = (register, getHeight) => {
const callbackRef = useCallback(
(el) => {
if (!register) return;
const sizeHandle = register();
const updateHeight = () => {
const height = getHeight ? getHeight(el) : el.offsetHeight;
sizeHandle.setHeight(height);
};
const ro = new ResizeObserver(updateHeight);
ro.observe(el);
updateHeight();
return () => {
ro.disconnect();
sizeHandle.unregister();
};
},
[register, getHeight]
);
return useManagedRef(callbackRef);
};
export {
useSizeHandle
};
//# sourceMappingURL=useSizeHandle.js.map