UNPKG

@talend/react-bootstrap

Version:

Bootstrap 3 components built with React

65 lines (64 loc) 2.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _bootstrapUtils = require("./utils/bootstrapUtils"); var _PanelCollapse = _interopRequireDefault(require("./PanelCollapse")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const propTypes = { /** * A convenience prop that renders a Collapse component around the Body for * situations when the parent Panel only contains a single Panel.Body child. * * renders: * ```jsx * <Panel.Collapse> * <Panel.Body /> * </Panel.Collapse> * ``` */ collapsible: _propTypes.default.bool.isRequired }; const defaultProps = { collapsible: false }; const contextTypes = { $bs_panel: _propTypes.default.shape({ bsClass: _propTypes.default.string }) }; class PanelBody extends _react.default.Component { render() { const { children, className, collapsible } = this.props; const { bsClass: _bsClass } = this.context.$bs_panel || {}; const [bsProps, elementProps] = (0, _bootstrapUtils.splitBsPropsAndOmit)(this.props, ['collapsible']); bsProps.bsClass = _bsClass || bsProps.bsClass; let body = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { ...elementProps, className: (0, _classnames.default)(className, (0, _bootstrapUtils.prefix)(bsProps, 'body')), children: children }); if (collapsible) { body = /*#__PURE__*/(0, _jsxRuntime.jsx)(_PanelCollapse.default, { children: body }); } return body; } } PanelBody.propTypes = propTypes; PanelBody.defaultProps = defaultProps; PanelBody.contextTypes = contextTypes; var _default = exports.default = (0, _bootstrapUtils.bsClass)('panel', PanelBody); //# sourceMappingURL=PanelBody.js.map