mongodb-chatbot-ui
Version:
UI React components for the MongoDB Assistant
36 lines (35 loc) • 1.51 kB
TypeScript
import { useConversation, type UseConversationParams } from "./useConversation";
import { Reference } from "./references";
import { Promotion } from "./promotions";
export type OpenCloseHandlers = {
onOpen?: () => void;
onClose?: () => void;
};
export type UseChatbotProps = OpenCloseHandlers & UseConversationParams & {
chatbotName?: string;
maxInputCharacters?: number;
maxCommentCharacters?: number;
onReferenceClick?: (reference: Reference) => void;
onSuggestedPromptClick?: (prompt: string) => void;
onPromotionClick?: (promotion: Promotion) => void;
};
export type ChatbotData = {
awaitingReply: boolean;
canSubmit: (text: string) => boolean;
closeChat: () => boolean;
conversation: ReturnType<typeof useConversation>;
handleSubmit: (text: string) => void | Promise<void>;
inputBarRef: React.RefObject<HTMLFormElement>;
inputText: string;
inputTextError: string;
chatbotName?: string;
maxInputCharacters?: number;
maxCommentCharacters?: number;
open: boolean;
openChat: () => void;
setInputText: (text: string) => void;
onReferenceClick?: (reference: Reference) => void;
onSuggestedPromptClick?: (prompt: string) => void;
onPromotionClick?: (promotion: Promotion) => void;
};
export declare function useChatbot({ onOpen, onClose, chatbotName, maxInputCharacters, maxCommentCharacters, onReferenceClick, onSuggestedPromptClick, onPromotionClick, ...useConversationArgs }: UseChatbotProps): ChatbotData;