UNPKG

@uiw/react-list

Version:
76 lines (75 loc) 3.52 kB
"use strict"; 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;