UNPKG

2.33 kBJavaScriptView Raw
1import _extends from 'babel-runtime/helpers/extends';
2import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';
3import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
4import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';
5import _inherits from 'babel-runtime/helpers/inherits';
6import classNames from 'classnames';
7import React from 'react';
8import PropTypes from 'prop-types';
9
10import { bsClass, getClassSet, prefix, splitBsProps } from './utils/bootstrapUtils';
11
12var propTypes = {
13 striped: PropTypes.bool,
14 bordered: PropTypes.bool,
15 condensed: PropTypes.bool,
16 hover: PropTypes.bool,
17 responsive: PropTypes.bool
18};
19
20var defaultProps = {
21 bordered: false,
22 condensed: false,
23 hover: false,
24 responsive: false,
25 striped: false
26};
27
28var Table = function (_React$Component) {
29 _inherits(Table, _React$Component);
30
31 function Table() {
32 _classCallCheck(this, Table);
33
34 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
35 }
36
37 Table.prototype.render = function render() {
38 var _extends2;
39
40 var _props = this.props,
41 striped = _props.striped,
42 bordered = _props.bordered,
43 condensed = _props.condensed,
44 hover = _props.hover,
45 responsive = _props.responsive,
46 className = _props.className,
47 props = _objectWithoutProperties(_props, ['striped', 'bordered', 'condensed', 'hover', 'responsive', 'className']);
48
49 var _splitBsProps = splitBsProps(props),
50 bsProps = _splitBsProps[0],
51 elementProps = _splitBsProps[1];
52
53 var classes = _extends({}, getClassSet(bsProps), (_extends2 = {}, _extends2[prefix(bsProps, 'striped')] = striped, _extends2[prefix(bsProps, 'bordered')] = bordered, _extends2[prefix(bsProps, 'condensed')] = condensed, _extends2[prefix(bsProps, 'hover')] = hover, _extends2));
54
55 var table = React.createElement('table', _extends({}, elementProps, { className: classNames(className, classes) }));
56
57 if (responsive) {
58 return React.createElement(
59 'div',
60 { className: prefix(bsProps, 'responsive') },
61 table
62 );
63 }
64
65 return table;
66 };
67
68 return Table;
69}(React.Component);
70
71Table.propTypes = propTypes;
72Table.defaultProps = defaultProps;
73
74export default bsClass('table', Table);
\No newline at end of file