import * as React from "react"; import * as Constants from "~/common/constants"; import { css } from "@emotion/core"; import { P } from "~/components/system/components/Typography"; const TABLE_COLUMN_WIDTH_DEFAULTS = { 1: "100%", 2: "50%", 3: "33.333%", 4: "25%", 5: "20%", 6: "16.666%", 7: "14.28%", 8: "12.5%", }; const STYLES_CONTAINER = css` border: 1px solid ${Constants.system.lightBorder}; box-shadow: 0 0 40px 0 ${Constants.system.shadow}; `; const STYLES_TABLE_ROW = css` position: relative; box-sizing: border-box; border-bottom: 1px solid ${Constants.system.lightBorder}; display: flex; align-items: center; width: 100%; transition: 200ms ease all; :last-child { border: 0; } `; const STYLES_TABLE_TOP_ROW = css` box-sizing: border-box; font-family: ${Constants.font.semiBold}; border-bottom: 1px solid ${Constants.system.lightBorder}; display: flex; width: 100%; align-items: center; background-color: ${Constants.system.foreground}; `; export class Table extends React.Component { render() { const { data } = this.props; const ac = {}; if (!data || !data.rows || data.rows.length === 0) { return
No data.
; } for (let x = 0; x < data.columns.length; x++) { ac[data.columns[x].key] = { ...data.columns[x], index: x, }; } const width = TABLE_COLUMN_WIDTH_DEFAULTS[data.columns.length]; return (