linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
60 lines β’ 2.91 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["actions", "author", "avatar", "children", "className", "content", "prefixCls", "datetime"];
import classNames from 'classnames';
import * as React from 'react';
import { ConfigContext } from "../config-provider";
var Comment = function Comment(_ref) {
var actions = _ref.actions,
author = _ref.author,
avatar = _ref.avatar,
children = _ref.children,
className = _ref.className,
content = _ref.content,
customizePrefixCls = _ref.prefixCls,
datetime = _ref.datetime,
otherProps = _objectWithoutProperties(_ref, _excluded);
var _React$useContext = React.useContext(ConfigContext),
getPrefixCls = _React$useContext.getPrefixCls,
direction = _React$useContext.direction;
var renderNested = function renderNested(prefixCls, nestedChildren) {
return /*#__PURE__*/React.createElement("div", {
className: classNames("".concat(prefixCls, "-nested"))
}, nestedChildren);
};
var prefixCls = getPrefixCls('comment', customizePrefixCls);
var avatarDom = avatar ? /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-avatar")
}, typeof avatar === 'string' ? /*#__PURE__*/React.createElement("img", {
src: avatar,
alt: "comment-avatar"
}) : avatar) : null;
var actionDom = actions && actions.length ? /*#__PURE__*/React.createElement("ul", {
className: "".concat(prefixCls, "-actions")
}, actions.map(function (action, index) {
return /*#__PURE__*/React.createElement("li", {
key: "action-".concat(index)
}, action) // eslint-disable-line react/no-array-index-key
;
})) : null;
var authorContent = (author || datetime) && /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-content-author")
}, author && /*#__PURE__*/React.createElement("span", {
className: "".concat(prefixCls, "-content-author-name")
}, author), datetime && /*#__PURE__*/React.createElement("span", {
className: "".concat(prefixCls, "-content-author-time")
}, datetime));
var contentDom = /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-content")
}, authorContent, /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-content-detail")
}, content), actionDom);
var cls = classNames(prefixCls, _defineProperty({}, "".concat(prefixCls, "-rtl"), direction === 'rtl'), className);
return /*#__PURE__*/React.createElement("div", _extends({}, otherProps, {
className: cls
}), /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-inner")
}, avatarDom, contentDom), children ? renderNested(prefixCls, children) : null);
};
export default Comment;