UNPKG

@talend/react-bootstrap

Version:

Bootstrap 3 components built with React

87 lines (85 loc) 3.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _bootstrapUtils = require("./utils/bootstrapUtils"); var _StyleConfig = require("./utils/StyleConfig"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const propTypes = { active: _propTypes.default.any, disabled: _propTypes.default.any, header: _propTypes.default.node, listItem: _propTypes.default.bool, onClick: _propTypes.default.func, href: _propTypes.default.string, type: _propTypes.default.string }; const defaultProps = { listItem: false }; class ListGroupItem extends _react.default.Component { renderHeader(header, headingClassName) { if (/*#__PURE__*/_react.default.isValidElement(header)) { return /*#__PURE__*/(0, _react.cloneElement)(header, { className: (0, _classnames.default)(header.props.className, headingClassName) }); } return /*#__PURE__*/(0, _jsxRuntime.jsx)("h4", { className: headingClassName, children: header }); } render() { const { active, disabled, className, header, listItem, children, ...props } = this.props; const [bsProps, elementProps] = (0, _bootstrapUtils.splitBsProps)(props); const classes = { ...(0, _bootstrapUtils.getClassSet)(bsProps), active, disabled }; let Component; if (elementProps.href) { Component = 'a'; } else if (elementProps.onClick) { Component = 'button'; elementProps.type = elementProps.type || 'button'; } else if (listItem) { Component = 'li'; } else { Component = 'span'; } elementProps.className = (0, _classnames.default)(className, classes); // TODO: Deprecate `header` prop. if (header) { return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Component, { ...elementProps, children: [this.renderHeader(header, (0, _bootstrapUtils.prefix)(bsProps, 'heading')), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", { className: (0, _bootstrapUtils.prefix)(bsProps, 'text'), children: children })] }); } return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, { ...elementProps, children: children }); } } ListGroupItem.propTypes = propTypes; ListGroupItem.defaultProps = defaultProps; var _default = exports.default = (0, _bootstrapUtils.bsClass)('list-group-item', (0, _bootstrapUtils.bsStyles)(Object.values(_StyleConfig.State), ListGroupItem)); //# sourceMappingURL=ListGroupItem.js.map