@assistant-ui/react
Version:
React components for AI chat.
32 lines • 1.14 kB
JavaScript
// src/context/react/ComposerContext.ts
import { useMemo } from "react";
import { useMessageContext, useMessageRuntime } from "./MessageContext.mjs";
import { useThreadContext, useThreadRuntime } from "./ThreadContext.mjs";
import { createContextStoreHook } from "./utils/createContextStoreHook.mjs";
var useComposerContext = () => {
const { useComposer: useThreadComposer } = useThreadContext();
const { useEditComposer } = useMessageContext({ optional: true }) ?? {};
return useMemo(
() => ({
useComposer: useEditComposer ?? useThreadComposer,
type: useEditComposer ? "edit" : "new"
}),
[useEditComposer, useThreadComposer]
);
};
var { useComposer, useComposerStore } = createContextStoreHook(
useComposerContext,
"useComposer"
);
function useComposerRuntime(options) {
const messageRuntime = useMessageRuntime({ optional: true });
const threadRuntime = useThreadRuntime(options);
return messageRuntime ? messageRuntime.composer : threadRuntime?.composer ?? null;
}
export {
useComposer,
useComposerContext,
useComposerRuntime,
useComposerStore
};
//# sourceMappingURL=ComposerContext.mjs.map