UNPKG

3 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4
5var _extends2 = require('babel-runtime/helpers/extends');
6
7var _extends3 = _interopRequireDefault(_extends2);
8
9var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
10
11var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
12
13var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
14
15var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
16
17var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
18
19var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
20
21var _inherits2 = require('babel-runtime/helpers/inherits');
22
23var _inherits3 = _interopRequireDefault(_inherits2);
24
25var _classnames = require('classnames');
26
27var _classnames2 = _interopRequireDefault(_classnames);
28
29var _react = require('react');
30
31var _react2 = _interopRequireDefault(_react);
32
33var _propTypes = require('prop-types');
34
35var _propTypes2 = _interopRequireDefault(_propTypes);
36
37var _bootstrapUtils = require('./utils/bootstrapUtils');
38
39function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40
41// TODO: `pullRight` doesn't belong here. There's no special handling here.
42
43var propTypes = {
44 pullRight: _propTypes2.default.bool
45};
46
47var defaultProps = {
48 pullRight: false
49};
50
51var Badge = function (_React$Component) {
52 (0, _inherits3.default)(Badge, _React$Component);
53
54 function Badge() {
55 (0, _classCallCheck3.default)(this, Badge);
56 return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments));
57 }
58
59 Badge.prototype.hasContent = function hasContent(children) {
60 var result = false;
61
62 _react2.default.Children.forEach(children, function (child) {
63 if (result) {
64 return;
65 }
66
67 if (child || child === 0) {
68 result = true;
69 }
70 });
71
72 return result;
73 };
74
75 Badge.prototype.render = function render() {
76 var _props = this.props,
77 pullRight = _props.pullRight,
78 className = _props.className,
79 children = _props.children,
80 props = (0, _objectWithoutProperties3.default)(_props, ['pullRight', 'className', 'children']);
81
82 var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props),
83 bsProps = _splitBsProps[0],
84 elementProps = _splitBsProps[1];
85
86 var classes = (0, _extends3.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), {
87 'pull-right': pullRight,
88
89 // Hack for collapsing on IE8.
90 hidden: !this.hasContent(children)
91 });
92
93 return _react2.default.createElement(
94 'span',
95 (0, _extends3.default)({}, elementProps, { className: (0, _classnames2.default)(className, classes) }),
96 children
97 );
98 };
99
100 return Badge;
101}(_react2.default.Component);
102
103Badge.propTypes = propTypes;
104Badge.defaultProps = defaultProps;
105
106exports.default = (0, _bootstrapUtils.bsClass)('badge', Badge);
107module.exports = exports['default'];
\No newline at end of file