@uiw/react-list
Version:
List component
76 lines (75 loc) • 3.52 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {};
exports["default"] = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _Item = require("./Item");
Object.keys(_Item).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _Item[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _Item[key];
}
});
});
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["prefixCls", "bordered", "striped", "noHover", "active", "size", "renderItem", "className", "children", "header", "footer", "dataSource"];
function InternalList(props, ref) {
var _props$prefixCls = props.prefixCls,
prefixCls = _props$prefixCls === void 0 ? 'w-list' : _props$prefixCls,
_props$bordered = props.bordered,
bordered = _props$bordered === void 0 ? true : _props$bordered,
_props$striped = props.striped,
striped = _props$striped === void 0 ? false : _props$striped,
_props$noHover = props.noHover,
noHover = _props$noHover === void 0 ? false : _props$noHover,
_props$active = props.active,
active = _props$active === void 0 ? false : _props$active,
_props$size = props.size,
size = _props$size === void 0 ? 'default' : _props$size,
renderItem = props.renderItem,
className = props.className,
children = props.children,
header = props.header,
footer = props.footer,
_props$dataSource = props.dataSource,
dataSource = _props$dataSource === void 0 ? [] : _props$dataSource,
resetProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
var items;
if (dataSource && dataSource.length > 0) {
items = dataSource.map(function (item, index) {
return renderItem && renderItem(item, index);
});
} else {
items = children;
}
var childrenList = _react["default"].Children.map(items, function (child, index) {
return /*#__PURE__*/_react["default"].isValidElement(child) && /*#__PURE__*/_react["default"].cloneElement(child, {
key: index
});
});
var classString = [prefixCls, className, striped ? "".concat(prefixCls, "-striped") : null, noHover ? "".concat(prefixCls, "-no-hover") : null, active ? "".concat(prefixCls, "-active") : null, bordered ? "".concat(prefixCls, "-bordered") : null, size && size !== 'default' ? "".concat(prefixCls, "-size-").concat(size) : null].filter(Boolean).join(' ').trim();
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
className: classString
}, resetProps), {}, {
ref: ref,
children: [header && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: "".concat(prefixCls, "-header"),
children: header
}), childrenList, footer && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: "".concat(prefixCls, "-footer"),
children: footer
})]
}));
}
var List = /*#__PURE__*/_react["default"].forwardRef(InternalList);
List.Item = _Item.ListItem;
var _default = exports["default"] = List;
;