zarm
Version:
基于 React 的移动端UI库
82 lines (69 loc) • 3.51 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var React = _interopRequireWildcard(require("react"));
var _bem = require("@zarm-design/bem");
var _configProvider = require("../config-provider");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }
var ListItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
var className = props.className,
prefix = props.prefix,
suffix = props.suffix,
title = props.title,
description = props.description,
children = props.children,
onClick = props.onClick,
hasArrow = props.hasArrow,
restProps = (0, _objectWithoutProperties2.default)(props, ["className", "prefix", "suffix", "title", "description", "children", "onClick", "hasArrow"]);
var _React$useContext = React.useContext(_configProvider.ConfigContext),
prefixCls = _React$useContext.prefixCls;
var bem = (0, _bem.createBEM)('list-item', {
prefixCls: prefixCls
});
var cls = bem([{
link: !!onClick,
inline: !!children,
arrow: !!onClick && hasArrow
}, className]);
var prefixRender = prefix && /*#__PURE__*/React.createElement("div", {
className: bem('prefix')
}, prefix);
var suffixRender = suffix && /*#__PURE__*/React.createElement("div", {
className: bem('suffix')
}, suffix);
var titleRender = title && /*#__PURE__*/React.createElement("div", {
className: bem('title')
}, title);
var contentRender = children && /*#__PURE__*/React.createElement("div", {
className: bem('content')
}, children);
var descriptionRender = description && /*#__PURE__*/React.createElement("div", {
className: bem('description')
}, description);
var arrowRender = !!onClick && hasArrow && /*#__PURE__*/React.createElement("div", {
className: bem('arrow')
});
return /*#__PURE__*/React.createElement("li", (0, _extends2.default)({
ref: ref,
className: cls,
onClick: onClick,
onTouchStart: function onTouchStart() {}
}, restProps), prefixRender, /*#__PURE__*/React.createElement("div", {
className: bem('wrapper')
}, /*#__PURE__*/React.createElement("div", {
className: bem('inner')
}, titleRender, contentRender, suffixRender, arrowRender), descriptionRender));
});
ListItem.displayName = 'ListItem';
ListItem.defaultProps = {
hasArrow: true
};
var _default = ListItem;
exports.default = _default;