glass-app-manager
Version:
Informatica's Glass Framework CLI for bootstrapping
74 lines (63 loc) • 2.17 kB
JavaScript
import React from "react";
import classNames from "classnames";
import * as Features from "./features";
function Table({ className, component = "table", store, ...rest }) {
return React.createElement(component, {
className: classNames("table", className),
...rest,
});
}
Table.displayName = "Table";
function Header({ className, component = "thead", ...rest }) {
return React.createElement(component, {
className: classNames("table__header", className),
...rest,
});
}
Header.displayName = "Table.Header";
function HeaderRow({ className, component = "tr", ...rest }) {
return React.createElement(component, {
className: classNames("table__header__row", className),
...rest,
});
}
HeaderRow.displayName = "Table.HeaderRow";
function HeaderCell({ className, component = "th", ...rest }) {
return React.createElement(component, {
className: classNames("table__header__cell", className),
...rest,
});
}
HeaderCell.displayName = "Table.HeaderCell";
const Body = React.forwardRef(({ className, component = "tbody", ...rest }, ref) => {
return React.createElement(component, {
className: classNames("table__body", className),
...rest,
ref,
});
});
Body.displayName = "Table.Body";
function Row({ className, component = "tr", ...rest }) {
return React.createElement(component, {
className: classNames("table__body__row", className),
...rest,
});
}
Row.displayName = "Table.Row";
function Cell({ className, children, component = "td", ...rest }) {
return React.createElement(component, {
children: children ? <span className="table__body__cell__content">{children}</span> : null,
className: classNames("table__body__cell", className),
...rest,
});
}
Cell.displayName = "Table.Cell";
Table.Header = Header;
Table.HeaderRow = HeaderRow;
Table.HeaderCell = HeaderCell;
Table.Body = Body;
Table.Row = Row;
Table.Cell = Cell;
Table.reducer = (state = {}) => state;
Table.Features = Features;
export default Table;