1 | var _excluded = ["className", "cssModule", "size", "bordered", "borderless", "striped", "dark", "hover", "responsive", "tag", "responsiveTag", "innerRef"];
|
2 | function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
3 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
4 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
5 | import React from 'react';
|
6 | import PropTypes from 'prop-types';
|
7 | import classNames from 'classnames';
|
8 | import { mapToCssModules, tagPropType } from './utils';
|
9 | var propTypes = {
|
10 |
|
11 | bordered: PropTypes.bool,
|
12 |
|
13 | borderless: PropTypes.bool,
|
14 |
|
15 | className: PropTypes.string,
|
16 |
|
17 | cssModule: PropTypes.object,
|
18 |
|
19 | dark: PropTypes.bool,
|
20 |
|
21 | hover: PropTypes.bool,
|
22 | innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.string, PropTypes.object]),
|
23 |
|
24 | responsive: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
|
25 | responsiveTag: tagPropType,
|
26 |
|
27 | size: PropTypes.string,
|
28 |
|
29 | striped: PropTypes.bool,
|
30 |
|
31 | tag: tagPropType
|
32 | };
|
33 | function Table(props) {
|
34 | var className = props.className,
|
35 | cssModule = props.cssModule,
|
36 | size = props.size,
|
37 | bordered = props.bordered,
|
38 | borderless = props.borderless,
|
39 | striped = props.striped,
|
40 | dark = props.dark,
|
41 | hover = props.hover,
|
42 | responsive = props.responsive,
|
43 | _props$tag = props.tag,
|
44 | Tag = _props$tag === void 0 ? 'table' : _props$tag,
|
45 | _props$responsiveTag = props.responsiveTag,
|
46 | ResponsiveTag = _props$responsiveTag === void 0 ? 'div' : _props$responsiveTag,
|
47 | innerRef = props.innerRef,
|
48 | attributes = _objectWithoutProperties(props, _excluded);
|
49 | var classes = mapToCssModules(classNames(className, 'table', size ? 'table-' + size : false, bordered ? 'table-bordered' : false, borderless ? 'table-borderless' : false, striped ? 'table-striped' : false, dark ? 'table-dark' : false, hover ? 'table-hover' : false), cssModule);
|
50 | var table = React.createElement(Tag, _extends({}, attributes, {
|
51 | ref: innerRef,
|
52 | className: classes
|
53 | }));
|
54 | if (responsive) {
|
55 | var responsiveClassName = mapToCssModules(responsive === true ? 'table-responsive' : "table-responsive-".concat(responsive), cssModule);
|
56 | return React.createElement(ResponsiveTag, {
|
57 | className: responsiveClassName
|
58 | }, table);
|
59 | }
|
60 | return table;
|
61 | }
|
62 | Table.propTypes = propTypes;
|
63 | export default Table; |
\ | No newline at end of file |