You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
import classNames from 'classnames';
|
|
import * as React from 'react';
|
|
import { useBootstrapPrefix } from './ThemeProvider';
|
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
const Table = /*#__PURE__*/React.forwardRef(({
|
|
bsPrefix,
|
|
className,
|
|
striped,
|
|
bordered,
|
|
borderless,
|
|
hover,
|
|
size,
|
|
variant,
|
|
responsive,
|
|
...props
|
|
}, ref) => {
|
|
const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'table');
|
|
const classes = classNames(className, decoratedBsPrefix, variant && `${decoratedBsPrefix}-${variant}`, size && `${decoratedBsPrefix}-${size}`, striped && `${decoratedBsPrefix}-${typeof striped === 'string' ? `striped-${striped}` : 'striped'}`, bordered && `${decoratedBsPrefix}-bordered`, borderless && `${decoratedBsPrefix}-borderless`, hover && `${decoratedBsPrefix}-hover`);
|
|
|
|
const table = /*#__PURE__*/_jsx("table", { ...props,
|
|
className: classes,
|
|
ref: ref
|
|
});
|
|
|
|
if (responsive) {
|
|
let responsiveClass = `${decoratedBsPrefix}-responsive`;
|
|
|
|
if (typeof responsive === 'string') {
|
|
responsiveClass = `${responsiveClass}-${responsive}`;
|
|
}
|
|
|
|
return /*#__PURE__*/_jsx("div", {
|
|
className: responsiveClass,
|
|
children: table
|
|
});
|
|
}
|
|
|
|
return table;
|
|
});
|
|
export default Table; |