UNPKG

@plteam/chat-ui

Version:

CUI Kit is a free and open-source library for creating AI assistant chat interfaces, built with React, Material UI, and TypeScript

25 lines (24 loc) 1.49 kB
import * as React from 'react'; import ThreadComponent from './thread/ThreadComponent'; import { useChatProps } from './core/useChatProps'; import { ChatGlobalProvider } from './core/ChatGlobalContext'; import ChatSnackbar from './ChatSnackbar'; import { ChatSlotsProvider } from './core/ChatSlotsContext'; import { usePropsSlots } from './core/usePropsSlots'; import { useApiRef } from './core/useApiRef'; import { LocalizationProvider } from './core/LocalizationContext'; import { useApiManager } from './core/useApiManager'; const Chat = (usersProps) => { const userApiRef = usersProps.apiRef; const apiRef = useApiRef(userApiRef); const apiManager = useApiManager(apiRef, userApiRef); const props = useChatProps(usersProps); const { slots, slotProps, coreSlots } = usePropsSlots(usersProps); return (React.createElement(ChatGlobalProvider, { props: props, apiManager: apiManager }, React.createElement(LocalizationProvider, { locale: usersProps.lang }, React.createElement(ChatSlotsProvider, { slots: slots, coreSlots: coreSlots, slotProps: slotProps }, React.createElement(ThreadComponent, { initialThread: props.initialThread, enableBranches: props.enableBranches, apiManager: apiManager, contentRef: usersProps.scrollerRef, loading: usersProps.loading, className: usersProps.className }), usersProps.children)), React.createElement(ChatSnackbar, null))); }; export default Chat;