@douyinfe/semi-ui
Version:
A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.
37 lines • 912 B
JavaScript
import React, { useMemo } from 'react';
import Avatar from '../../avatar';
import { cssClasses } from '@douyinfe/semi-foundation/lib/es/chat/constants';
import cls from 'classnames';
const {
PREFIX_CHAT_BOX
} = cssClasses;
const ChatBoxAvatar = /*#__PURE__*/React.memo(props => {
const {
role,
customRenderFunc,
continueSend,
message
} = props;
const node = useMemo(() => {
const {
avatar,
color
} = role;
return /*#__PURE__*/React.createElement(Avatar, {
className: cls(`${PREFIX_CHAT_BOX}-avatar`, {
[`${PREFIX_CHAT_BOX}-avatar-hidden`]: continueSend
}),
src: avatar,
size: "extra-small"
});
}, [role]);
if (customRenderFunc && typeof customRenderFunc === 'function') {
return customRenderFunc({
role,
defaultAvatar: node,
message: message
});
}
return node;
});
export default ChatBoxAvatar;