@assistant-ui/react
Version:
Typescript/React library for AI Chat
33 lines • 1.11 kB
JavaScript
"use client";
import { createContext } from "react";
import { createContextHook } from "./utils/createContextHook";
import { createContextStoreHook } from "./utils/createContextStoreHook";
import { createStateHookForRuntime } from "./utils/createStateHookForRuntime";
const MessageContext = createContext(null);
const useMessageContext = createContextHook(
MessageContext,
"a component passed to <ThreadPrimitive.Messages components={...} />"
);
function useMessageRuntime(options) {
const context = useMessageContext(options);
if (!context) return null;
return context.useMessageRuntime();
}
const useMessage = createStateHookForRuntime(useMessageRuntime);
const useEditComposerRuntime = (opt) => useMessageRuntime(opt)?.composer ?? null;
const useEditComposer = createStateHookForRuntime(
useEditComposerRuntime
);
const { useMessageUtils, useMessageUtilsStore } = createContextStoreHook(
useMessageContext,
"useMessageUtils"
);
export {
MessageContext,
useEditComposer,
useMessage,
useMessageRuntime,
useMessageUtils,
useMessageUtilsStore
};
//# sourceMappingURL=MessageContext.js.map