UNPKG

@chatui/core

Version:

The React library for Chatbot UI

66 lines (65 loc) 2.59 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _clsx = _interopRequireDefault(require("clsx")); var _SystemMessage = require("./SystemMessage"); var _Avatar = require("../Avatar"); var _Time = require("../Time"); var _excluded = ["renderMessageContent"]; var Message = function Message(props) { var _props$renderMessageC = props.renderMessageContent, renderMessageContent = _props$renderMessageC === void 0 ? function () { return null; } : _props$renderMessageC, msg = (0, _objectWithoutProperties2.default)(props, _excluded); var type = msg.type, content = msg.content, _msg$user = msg.user, user = _msg$user === void 0 ? {} : _msg$user, id = msg._id, _msg$position = msg.position, position = _msg$position === void 0 ? 'left' : _msg$position, _msg$hasTime = msg.hasTime, hasTime = _msg$hasTime === void 0 ? true : _msg$hasTime, createdAt = msg.createdAt; var name = user.name, avatar = user.avatar; if (type === 'system') { return /*#__PURE__*/_react.default.createElement(_SystemMessage.SystemMessage, { content: content.text, action: content.action }); } var isRL = position === 'right' || position === 'left'; return /*#__PURE__*/_react.default.createElement("div", { className: (0, _clsx.default)('Message', position), "data-id": id, "data-type": type }, hasTime && createdAt && /*#__PURE__*/_react.default.createElement("div", { className: "Message-meta" }, /*#__PURE__*/_react.default.createElement(_Time.Time, { date: createdAt })), /*#__PURE__*/_react.default.createElement("div", { className: "Message-main" }, isRL && avatar && /*#__PURE__*/_react.default.createElement(_Avatar.Avatar, { src: avatar, shape: "square", alt: "", url: user.url }), /*#__PURE__*/_react.default.createElement("div", { className: "Message-inner" }, isRL && name && /*#__PURE__*/_react.default.createElement("div", { className: "Message-author" }, name), /*#__PURE__*/_react.default.createElement("div", { className: "Message-content", role: "alert", "aria-live": "assertive", "aria-atomic": "false" }, renderMessageContent(msg))))); }; var _default = exports.default = /*#__PURE__*/_react.default.memo(Message);