UNPKG

@assistant-ui/react

Version:

React components for AI chat.

32 lines 1.14 kB
// 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