@hitachivantara/uikit-react-core
Version:
UI Kit Core React components.
31 lines (30 loc) • 1.29 kB
JavaScript
import TableContext from "../TableContext.js";
import { TableSectionContext } from "../TableSectionContext.js";
import { useClasses } from "./TableHead.styles.js";
import { useDefaultProps } from "@hitachivantara/uikit-react-utils";
import { forwardRef, useContext } from "react";
import { jsx } from "react/jsx-runtime";
//#region src/Table/TableHead/TableHead.tsx
var tableSectionContext = { type: "head" };
var defaultComponent = "thead";
/**
* HvTableHead acts as a `thead` element.
* `HvTableCell` and `HvTableRow` elements in it inherit header-specific styles
*/
var HvTableHead = forwardRef(function HvTableHead(props, ref) {
const { classes: classesProp, className, component, stickyHeader, ...others } = useDefaultProps("HvTableHead", props);
const { classes, cx } = useClasses(classesProp);
const tableContext = useContext(TableContext);
const Component = component || tableContext?.components?.THead || defaultComponent;
return /* @__PURE__ */ jsx(TableSectionContext.Provider, {
value: tableSectionContext,
children: /* @__PURE__ */ jsx(Component, {
className: cx(classes.root, { [classes.stickyHeader]: stickyHeader }, className),
ref,
role: Component === defaultComponent ? null : "rowgroup",
...others
})
});
});
//#endregion
export { HvTableHead };