Bifrost table
Static Table
A basic bifrost table.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>Name</Table.HeaderCell>
<Table.HeaderCell>Title</Table.HeaderCell>
<Table.HeaderCell>Department</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>Eric Morton</Table.Cell>
<Table.Cell>Developer</Table.Cell>
<Table.Cell>Developer Services</Table.Cell>
</Table.Row>
(more rows...)
</Table.Body>
</Table>
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>Name</Table.HeaderCell>
<Table.HeaderCell>Title</Table.HeaderCell>
<Table.HeaderCell>Department</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>Eric Morton</Table.Cell>
<Table.Cell>Developer</Table.Cell>
<Table.Cell>Developer Services</Table.Cell>
</Table.Row>
(more rows...)
</Table.Body>
</Table>
Interactive
Sending onClick
to Table.Row
will display it as selectable.
Vertical line
A table cell can have an optional rightBorder
.
<Table.Cell rightBorder>Eric Morton</Table.Cell>
<Table.Cell rightBorder>Eric Morton</Table.Cell>
Borderless
The outer border will not be displayed for mobile screens (less than 600px)
or can be permanently removed with the noBorder
prop.
<Table noBorder>...</Table>
<Table noBorder>...</Table>
Sorting
A header can indicate sort order. Note that to indicate that a column is sortable, sorting='none'
has to be passed to Table.HeaderCell
.
Expandable Rows
Rows can be made expandable by using the content
prop of Table.Row
. Expects an empty Table.HeaderCell
as the first cell in the header.
By default, an expandable row will expand when the row is clicked. To change this behaviour, use the limitExpandClick
prop. This is useful for when you have multiple clickable columns.
Vertical headers
A table can be turned vertical by adding the vertical
prop to Table
and using Table.HeaderCell
in the body rows.
Also works with noBorder
<Table vertical>
<Table.Body>
<Table.Row>
<Table.HeaderCell>Navn</Table.HeaderCell>
<Table.Cell>Cecilie Tornaas Johnsen</Table.Cell>
</Table.Row>
<Table.Row>
<Table.HeaderCell>Avdeling</Table.HeaderCell>
<Table.Cell>Developer Services</Table.Cell>
</Table.Row>
<Table.Row>
<Table.HeaderCell>Interesser</Table.HeaderCell>
<Table.Cell>Tukle med tabeller</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
<Table vertical>
<Table.Body>
<Table.Row>
<Table.HeaderCell>Navn</Table.HeaderCell>
<Table.Cell>Cecilie Tornaas Johnsen</Table.Cell>
</Table.Row>
<Table.Row>
<Table.HeaderCell>Avdeling</Table.HeaderCell>
<Table.Cell>Developer Services</Table.Cell>
</Table.Row>
<Table.Row>
<Table.HeaderCell>Interesser</Table.HeaderCell>
<Table.Cell>Tukle med tabeller</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
Two-dimensional
A table can become two-dimensional by combining a normal and vertical table. Note the first HeaderCell in the Header is empty.
<Table vertical>
<Table.Header>
<Table.Row>
<Table.HeaderCell></Table.HeaderCell>
<Table.HeaderCell>Gratis</Table.HeaderCell>
<Table.HeaderCell>Profesjonell</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.HeaderCell>Ã…pne dokumenter</Table.HeaderCell>
<Table.Cell>
<Icon icon={faCheck} />
</Table.Cell>
<Table.Cell>
<Icon icon={faCheck} />
</Table.Cell>
</Table.Row>
more rows...
</Table.Body>
</Table>
<Table vertical>
<Table.Header>
<Table.Row>
<Table.HeaderCell></Table.HeaderCell>
<Table.HeaderCell>Gratis</Table.HeaderCell>
<Table.HeaderCell>Profesjonell</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.HeaderCell>Ã…pne dokumenter</Table.HeaderCell>
<Table.Cell>
<Icon icon={faCheck} />
</Table.Cell>
<Table.Cell>
<Icon icon={faCheck} />
</Table.Cell>
</Table.Row>
more rows...
</Table.Body>
</Table>