|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import _extends from "@babel/runtime/helpers/esm/extends";
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
- import React from 'react';
- import PropTypes from 'prop-types';
- import classNames from 'classnames';
- import { mapToCssModules, deprecated, tagPropType } from './utils';
- var propTypes = {
- className: PropTypes.string,
- cssModule: PropTypes.object,
- size: PropTypes.string,
- bordered: PropTypes.bool,
- borderless: PropTypes.bool,
- striped: PropTypes.bool,
- inverse: deprecated(PropTypes.bool, 'Please use the prop "dark"'),
- dark: PropTypes.bool,
- hover: PropTypes.bool,
- responsive: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
- tag: tagPropType,
- responsiveTag: tagPropType,
- innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.string, PropTypes.object])
- };
- var defaultProps = {
- tag: 'table',
- responsiveTag: 'div'
- };
-
- var Table = function Table(props) {
- var className = props.className,
- cssModule = props.cssModule,
- size = props.size,
- bordered = props.bordered,
- borderless = props.borderless,
- striped = props.striped,
- inverse = props.inverse,
- dark = props.dark,
- hover = props.hover,
- responsive = props.responsive,
- Tag = props.tag,
- ResponsiveTag = props.responsiveTag,
- innerRef = props.innerRef,
- attributes = _objectWithoutPropertiesLoose(props, ["className", "cssModule", "size", "bordered", "borderless", "striped", "inverse", "dark", "hover", "responsive", "tag", "responsiveTag", "innerRef"]);
-
- var classes = mapToCssModules(classNames(className, 'table', size ? 'table-' + size : false, bordered ? 'table-bordered' : false, borderless ? 'table-borderless' : false, striped ? 'table-striped' : false, dark || inverse ? 'table-dark' : false, hover ? 'table-hover' : false), cssModule);
- var table = React.createElement(Tag, _extends({}, attributes, {
- ref: innerRef,
- className: classes
- }));
-
- if (responsive) {
- var responsiveClassName = responsive === true ? 'table-responsive' : "table-responsive-" + responsive;
- return React.createElement(ResponsiveTag, {
- className: responsiveClassName
- }, table);
- }
-
- return table;
- };
-
- Table.propTypes = propTypes;
- Table.defaultProps = defaultProps;
- export default Table;
|