mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
33 lines
920 B
TypeScript
33 lines
920 B
TypeScript
import "./table-head.scss";
|
|
|
|
import * as React from "react";
|
|
import { cssNames } from "../../utils";
|
|
|
|
export type TableHeadElem = React.ReactElement<TableHeadProps>;
|
|
|
|
export interface TableHeadProps extends React.DOMAttributes<HTMLDivElement> {
|
|
className?: string;
|
|
showTopLine?: boolean; // show border line at the top
|
|
sticky?: boolean; // keep header on top when scrolling
|
|
nowrap?: boolean; // white-space: nowrap, align inner <TableCell> in one line
|
|
}
|
|
|
|
export class TableHead extends React.Component<TableHeadProps> {
|
|
static defaultProps: TableHeadProps = {
|
|
sticky: true,
|
|
}
|
|
|
|
render() {
|
|
const { className, sticky, nowrap, showTopLine, children, ...headProps } = this.props;
|
|
const classNames = cssNames("TableHead", className, {
|
|
sticky, nowrap,
|
|
topLine: showTopLine,
|
|
});
|
|
return (
|
|
<div className={classNames} {...headProps}>
|
|
{children}
|
|
</div>
|
|
)
|
|
}
|
|
}
|