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

29 lines (28 loc) 1.57 kB
import * as React from 'react'; import { ContentCopyIcon } from '../../../icons'; import Tooltip from '@mui/material/Tooltip'; import Box from '@mui/material/Box'; import MessageCopyMenuItems from './MessageCopyMenuItems'; import { usePopoverState } from '../../hooks/usePopoverState'; import MdMenu from '../../../ui/menu/MdMenu'; import { useChatCoreSlots } from '../../core/ChatSlotsContext'; import { useChatContext } from '../../core/ChatGlobalContext'; import { useLocalizationContext } from '../../core/LocalizationContext'; const MessageActionCopy = ({ message }) => { const { processAssistantText } = useChatContext(); const locale = useLocalizationContext(); let text = message.text; if (processAssistantText) { text = processAssistantText(message.text); } const coreSlots = useChatCoreSlots(); const { anchorEl, handleClose, handleClick } = usePopoverState({ hideByAnchorElement: true }); return (React.createElement(React.Fragment, null, React.createElement(Tooltip, { title: locale.messageCopy }, React.createElement(Box, null, React.createElement(coreSlots.iconButton, { size: "small", onClick: handleClick }, React.createElement(ContentCopyIcon, null)))), React.createElement(MdMenu, { disablePortal: true, open: !!anchorEl, anchorEl: anchorEl, onClose: handleClose }, React.createElement(MessageCopyMenuItems, { short: true, text: text, handleClose: handleClose })))); }; export default MessageActionCopy;