UNPKG

5.21 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
4var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = exports.Meta = void 0;
9var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11var _classnames = _interopRequireDefault(require("classnames"));
12var _react = _interopRequireWildcard(require("react"));
13var _configProvider = require("../config-provider");
14var _grid = require("../grid");
15var _reactNode = require("../_util/reactNode");
16var _index = require("./index");
17var __rest = void 0 && (void 0).__rest || function (s, e) {
18 var t = {};
19 for (var p in s) {
20 if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
21 }
22 if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
24 }
25 return t;
26};
27var Meta = function Meta(_a) {
28 var customizePrefixCls = _a.prefixCls,
29 className = _a.className,
30 avatar = _a.avatar,
31 title = _a.title,
32 description = _a.description,
33 others = __rest(_a, ["prefixCls", "className", "avatar", "title", "description"]);
34 var _useContext = (0, _react.useContext)(_configProvider.ConfigContext),
35 getPrefixCls = _useContext.getPrefixCls;
36 var prefixCls = getPrefixCls('list', customizePrefixCls);
37 var classString = (0, _classnames["default"])(prefixCls + "-item-meta", className);
38 var content = /*#__PURE__*/_react["default"].createElement("div", {
39 className: prefixCls + "-item-meta-content"
40 }, title && /*#__PURE__*/_react["default"].createElement("h4", {
41 className: prefixCls + "-item-meta-title"
42 }, title), description && /*#__PURE__*/_react["default"].createElement("div", {
43 className: prefixCls + "-item-meta-description"
44 }, description));
45 return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, others, {
46 className: classString
47 }), avatar && /*#__PURE__*/_react["default"].createElement("div", {
48 className: prefixCls + "-item-meta-avatar"
49 }, avatar), (title || description) && content);
50};
51exports.Meta = Meta;
52var InternalItem = function InternalItem(_a, ref) {
53 var customizePrefixCls = _a.prefixCls,
54 children = _a.children,
55 actions = _a.actions,
56 extra = _a.extra,
57 className = _a.className,
58 colStyle = _a.colStyle,
59 others = __rest(_a, ["prefixCls", "children", "actions", "extra", "className", "colStyle"]);
60 var _useContext2 = (0, _react.useContext)(_index.ListContext),
61 grid = _useContext2.grid,
62 itemLayout = _useContext2.itemLayout;
63 var _useContext3 = (0, _react.useContext)(_configProvider.ConfigContext),
64 getPrefixCls = _useContext3.getPrefixCls;
65 var isItemContainsTextNodeAndNotSingular = function isItemContainsTextNodeAndNotSingular() {
66 var result;
67 _react.Children.forEach(children, function (element) {
68 if (typeof element === 'string') {
69 result = true;
70 }
71 });
72 return result && _react.Children.count(children) > 1;
73 };
74 var isFlexMode = function isFlexMode() {
75 if (itemLayout === 'vertical') {
76 return !!extra;
77 }
78 return !isItemContainsTextNodeAndNotSingular();
79 };
80 var prefixCls = getPrefixCls('list', customizePrefixCls);
81 var actionsContent = actions && actions.length > 0 && /*#__PURE__*/_react["default"].createElement("ul", {
82 className: prefixCls + "-item-action",
83 key: "actions"
84 }, actions.map(function (action, i) {
85 return (
86 /*#__PURE__*/
87 // eslint-disable-next-line react/no-array-index-key
88 _react["default"].createElement("li", {
89 key: prefixCls + "-item-action-" + i
90 }, action, i !== actions.length - 1 && /*#__PURE__*/_react["default"].createElement("em", {
91 className: prefixCls + "-item-action-split"
92 }))
93 );
94 }));
95 var Element = grid ? 'div' : 'li';
96 var itemChildren = /*#__PURE__*/_react["default"].createElement(Element, (0, _extends2["default"])({}, others, !grid ? {
97 ref: ref
98 } : {}, {
99 className: (0, _classnames["default"])(prefixCls + "-item", (0, _defineProperty2["default"])({}, prefixCls + "-item-no-flex", !isFlexMode()), className)
100 }), itemLayout === 'vertical' && extra ? [/*#__PURE__*/_react["default"].createElement("div", {
101 className: prefixCls + "-item-main",
102 key: "content"
103 }, children, actionsContent), /*#__PURE__*/_react["default"].createElement("div", {
104 className: prefixCls + "-item-extra",
105 key: "extra"
106 }, extra)] : [children, actionsContent, (0, _reactNode.cloneElement)(extra, {
107 key: 'extra'
108 })]);
109 return grid ? /*#__PURE__*/_react["default"].createElement(_grid.Col, {
110 ref: ref,
111 flex: 1,
112 style: colStyle
113 }, itemChildren) : itemChildren;
114};
115var Item = /*#__PURE__*/(0, _react.forwardRef)(InternalItem);
116Item.Meta = Meta;
117var _default = Item;
118exports["default"] = _default;
\No newline at end of file