UNPKG

2.81 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = void 0;
7
8var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/extends"));
9
10var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectWithoutPropertiesLoose"));
11
12var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inheritsLoose"));
13
14var _classnames = _interopRequireDefault(require("classnames"));
15
16var _propTypes = _interopRequireDefault(require("prop-types"));
17
18var _react = _interopRequireDefault(require("react"));
19
20var _elementType = _interopRequireDefault(require("react-prop-types/lib/elementType"));
21
22var _bootstrapUtils = require("./utils/bootstrapUtils");
23
24var _PanelToggle = _interopRequireDefault(require("./PanelToggle"));
25
26var propTypes = {
27 componentClass: _elementType.default,
28
29 /**
30 * A convenience prop that renders the Panel.Title as a panel collapse toggle component
31 * for the common use-case.
32 */
33 toggle: _propTypes.default.bool
34};
35var contextTypes = {
36 $bs_panel: _propTypes.default.shape({
37 bsClass: _propTypes.default.string
38 })
39};
40var defaultProps = {
41 componentClass: 'div'
42};
43
44var PanelTitle =
45/*#__PURE__*/
46function (_React$Component) {
47 (0, _inheritsLoose2.default)(PanelTitle, _React$Component);
48
49 function PanelTitle() {
50 return _React$Component.apply(this, arguments) || this;
51 }
52
53 var _proto = PanelTitle.prototype;
54
55 _proto.render = function render() {
56 var _this$props = this.props,
57 children = _this$props.children,
58 className = _this$props.className,
59 toggle = _this$props.toggle,
60 Component = _this$props.componentClass,
61 props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["children", "className", "toggle", "componentClass"]);
62
63 var _ref = this.context.$bs_panel || {},
64 _bsClass = _ref.bsClass;
65
66 var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props),
67 bsProps = _splitBsProps[0],
68 elementProps = _splitBsProps[1];
69
70 bsProps.bsClass = _bsClass || bsProps.bsClass;
71
72 if (toggle) {
73 children = _react.default.createElement(_PanelToggle.default, null, children);
74 }
75
76 return _react.default.createElement(Component, (0, _extends2.default)({}, elementProps, {
77 className: (0, _classnames.default)(className, (0, _bootstrapUtils.prefix)(bsProps, 'title'))
78 }), children);
79 };
80
81 return PanelTitle;
82}(_react.default.Component);
83
84PanelTitle.propTypes = propTypes;
85PanelTitle.defaultProps = defaultProps;
86PanelTitle.contextTypes = contextTypes;
87
88var _default = (0, _bootstrapUtils.bsClass)('panel', PanelTitle);
89
90exports.default = _default;
91module.exports = exports["default"];
\No newline at end of file