linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
66 lines (65 loc) β’ 2.66 kB
JavaScript
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classnames = _interopRequireDefault(require("classnames"));
var React = _interopRequireWildcard(require("react"));
var _configProvider = require("../config-provider");
const Comment = ({
actions,
author,
avatar,
children,
className,
content,
prefixCls: customizePrefixCls,
datetime,
...otherProps
}) => {
const {
getPrefixCls,
direction
} = React.useContext(_configProvider.ConfigContext);
const renderNested = (prefixCls, nestedChildren) => /*#__PURE__*/React.createElement("div", {
className: (0, _classnames.default)(`${prefixCls}-nested`)
}, nestedChildren);
const prefixCls = getPrefixCls('comment', customizePrefixCls);
const avatarDom = avatar ? /*#__PURE__*/React.createElement("div", {
className: `${prefixCls}-avatar`
}, typeof avatar === 'string' ? /*#__PURE__*/React.createElement("img", {
src: avatar,
alt: "comment-avatar"
}) : avatar) : null;
const actionDom = actions && actions.length ? /*#__PURE__*/React.createElement("ul", {
className: `${prefixCls}-actions`
}, actions.map((action, index) => /*#__PURE__*/React.createElement("li", {
key: `action-${index}`
}, action) // eslint-disable-line react/no-array-index-key
)) : null;
const authorContent = (author || datetime) && /*#__PURE__*/React.createElement("div", {
className: `${prefixCls}-content-author`
}, author && /*#__PURE__*/React.createElement("span", {
className: `${prefixCls}-content-author-name`
}, author), datetime && /*#__PURE__*/React.createElement("span", {
className: `${prefixCls}-content-author-time`
}, datetime));
const contentDom = /*#__PURE__*/React.createElement("div", {
className: `${prefixCls}-content`
}, authorContent, /*#__PURE__*/React.createElement("div", {
className: `${prefixCls}-content-detail`
}, content), actionDom);
const cls = (0, _classnames.default)(prefixCls, {
[`${prefixCls}-rtl`]: direction === 'rtl'
}, className);
return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({}, otherProps, {
className: cls
}), /*#__PURE__*/React.createElement("div", {
className: `${prefixCls}-inner`
}, avatarDom, contentDom), children ? renderNested(prefixCls, children) : null);
};
var _default = Comment;
exports.default = _default;
;