@hypothesis/frontend-shared
Version:
Shared components, styles and utilities for Hypothesis projects
42 lines • 1.3 kB
JavaScript
var _jsxFileName = "/home/runner/work/frontend-shared/frontend-shared/src/components/data/TableBody.tsx";
import classnames from 'classnames';
import { useContext, useMemo } from 'preact/hooks';
import { downcastRef } from '../../util/typing';
import TableContext from './TableContext';
import TableSectionContext from './TableSectionContext';
import { jsxDEV as _jsxDEV } from "preact/jsx-dev-runtime";
/**
* Render a table body
*/
export default function TableBody({
children,
classes,
elementRef,
...htmlAttributes
}) {
const tableContext = useContext(TableContext);
const sectionContext = useMemo(() => ({
section: 'body'
}), []);
return _jsxDEV(TableSectionContext.Provider, {
value: sectionContext,
children: _jsxDEV("tbody", {
"data-component": "TableBody",
...htmlAttributes,
ref: downcastRef(elementRef),
className: classnames({
'cursor-pointer': tableContext === null || tableContext === void 0 ? void 0 : tableContext.interactive
}, classes),
children: children
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 34,
columnNumber: 7
}, this)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 33,
columnNumber: 5
}, this);
}
//# sourceMappingURL=TableBody.js.map