@assistant-ui/react
Version:
Typescript/React library for AI Chat
34 lines • 958 B
JavaScript
// src/utils/hooks/useOnResizeContent.tsx
import { useCallbackRef } from "@radix-ui/react-use-callback-ref";
import { useCallback } from "react";
import { useManagedRef } from "./useManagedRef.mjs";
var useOnResizeContent = (callback) => {
const callbackRef = useCallbackRef(callback);
const refCallback = useCallback(
(el) => {
const resizeObserver = new ResizeObserver(() => {
callbackRef();
});
const mutationObserver = new MutationObserver(() => {
callbackRef();
});
resizeObserver.observe(el);
mutationObserver.observe(el, {
childList: true,
subtree: true,
attributes: true,
characterData: true
});
return () => {
resizeObserver.disconnect();
mutationObserver.disconnect();
};
},
[callbackRef]
);
return useManagedRef(refCallback);
};
export {
useOnResizeContent
};
//# sourceMappingURL=useOnResizeContent.mjs.map