UNPKG

linkmore-design

Version:

🌈 πŸš€lmη»„δ»ΆεΊ“γ€‚πŸš€

101 lines β€’ 4.32 kB
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties"; var _excluded = ["prefixCls", "className", "avatar", "title", "description"], _excluded2 = ["prefixCls", "children", "actions", "extra", "className", "colStyle"]; import classNames from 'classnames'; import React, { Children, forwardRef, useContext } from 'react'; import { ConfigContext } from "../config-provider"; import { Col } from "../grid"; import { cloneElement } from "../_util/reactNode"; import { ListContext } from "./index"; export var Meta = function Meta(_ref) { var customizePrefixCls = _ref.prefixCls, className = _ref.className, avatar = _ref.avatar, title = _ref.title, description = _ref.description, others = _objectWithoutProperties(_ref, _excluded); var _useContext = useContext(ConfigContext), getPrefixCls = _useContext.getPrefixCls; var prefixCls = getPrefixCls('list', customizePrefixCls); var classString = classNames("".concat(prefixCls, "-item-meta"), className); var content = /*#__PURE__*/React.createElement("div", { className: "".concat(prefixCls, "-item-meta-content") }, title && /*#__PURE__*/React.createElement("h4", { className: "".concat(prefixCls, "-item-meta-title") }, title), description && /*#__PURE__*/React.createElement("div", { className: "".concat(prefixCls, "-item-meta-description") }, description)); return /*#__PURE__*/React.createElement("div", _extends({}, others, { className: classString }), avatar && /*#__PURE__*/React.createElement("div", { className: "".concat(prefixCls, "-item-meta-avatar") }, avatar), (title || description) && content); }; var InternalItem = function InternalItem(_ref2, ref) { var customizePrefixCls = _ref2.prefixCls, children = _ref2.children, actions = _ref2.actions, extra = _ref2.extra, className = _ref2.className, colStyle = _ref2.colStyle, others = _objectWithoutProperties(_ref2, _excluded2); var _useContext2 = useContext(ListContext), grid = _useContext2.grid, itemLayout = _useContext2.itemLayout; var _useContext3 = useContext(ConfigContext), getPrefixCls = _useContext3.getPrefixCls; var isItemContainsTextNodeAndNotSingular = function isItemContainsTextNodeAndNotSingular() { var result; Children.forEach(children, function (element) { if (typeof element === 'string') { result = true; } }); return result && Children.count(children) > 1; }; var isFlexMode = function isFlexMode() { if (itemLayout === 'vertical') { return !!extra; } return !isItemContainsTextNodeAndNotSingular(); }; var prefixCls = getPrefixCls('list', customizePrefixCls); var actionsContent = actions && actions.length > 0 && /*#__PURE__*/React.createElement("ul", { className: "".concat(prefixCls, "-item-action"), key: "actions" }, actions.map(function (action, i) { return ( /*#__PURE__*/ // eslint-disable-next-line react/no-array-index-key React.createElement("li", { key: "".concat(prefixCls, "-item-action-").concat(i) }, action, i !== actions.length - 1 && /*#__PURE__*/React.createElement("em", { className: "".concat(prefixCls, "-item-action-split") })) ); })); var Element = grid ? 'div' : 'li'; var itemChildren = /*#__PURE__*/React.createElement(Element, _extends({}, others, !grid ? { ref: ref } : {}, { className: classNames("".concat(prefixCls, "-item"), _defineProperty({}, "".concat(prefixCls, "-item-no-flex"), !isFlexMode()), className) }), itemLayout === 'vertical' && extra ? [/*#__PURE__*/React.createElement("div", { className: "".concat(prefixCls, "-item-main"), key: "content" }, children, actionsContent), /*#__PURE__*/React.createElement("div", { className: "".concat(prefixCls, "-item-extra"), key: "extra" }, extra)] : [children, actionsContent, cloneElement(extra, { key: 'extra' })]); return grid ? /*#__PURE__*/React.createElement(Col, { ref: ref, flex: 1, style: colStyle }, itemChildren) : itemChildren; }; var Item = /*#__PURE__*/forwardRef(InternalItem); Item.Meta = Meta; export default Item;