Dream exports a set of Table components:
TableContainer - The main container for the Table.
Table - The main table component.
TableHeader - The header for the Table.
TableBody - The body for the Table.
TableCaption - The caption for the Table.
TableCell - The cell for the Table.
TableColumnHeader - The column header for the Table.
TableRow - The row for the Table.
import {
TableContainer,
Table,
TableBody,
TableCaption,
TableCell,
TableColumnHeader,
TableHeader,
TableRow
} from "@dreamy-ui/react";
| Name 1 | 20 | Male |
| Name 2 | 22 | Female |
| Name 3 | 25 | Male |
<TableContainer w="full">
<Table>
<TableHeader>
<TableRow>
<TableColumnHeader>Name</TableColumnHeader>
<TableColumnHeader>Age</TableColumnHeader>
<TableColumnHeader>Gender</TableColumnHeader>
</TableRow>
</TableHeader>
<TableBody>
{[20, 22, 25].map((item, index) => (
<TableRow key={index}>
<TableCell>Name {index + 1}</TableCell>
<TableCell>{item}</TableCell>
<TableCell>{item % 5 === 0 ? "Male" : "Female"}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</TableContainer>
simple
| Name 1 | 20 | Male |
| Name 2 | 22 | Female |
| Name 3 | 25 | Male |
line
| Name 1 | 20 | Male |
| Name 2 | 22 | Female |
| Name 3 | 25 | Male |
{["simple", "line"].map((variant) => (
<>
<Text size={"lg"}>{variant}</Text>
<TableContainer w="full" variant={variant}>
<Table>
<TableHeader>
<TableRow>
<TableColumnHeader>Name</TableColumnHeader>
<TableColumnHeader>Age</TableColumnHeader>
<TableColumnHeader>Gender</TableColumnHeader>
</TableRow>
</TableHeader>
<TableBody>
{[20, 22, 25].map((item, index) => (
<TableRow key={index}>
<TableCell>Name {index + 1}</TableCell>
<TableCell>{item}</TableCell>
<TableCell>{item % 5 === 0 ? "Male" : "Female"}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</TableContainer>
</>
))}
simple
| Name 1 | 20 | Male |
| Name 2 | 22 | Female |
| Name 3 | 25 | Male |
line
| Name 1 | 20 | Male |
| Name 2 | 22 | Female |
| Name 3 | 25 | Male |
{["simple", "line"].map((variant) => (
<>
<Text size={"lg"}>{variant}</Text>
<TableContainer w="full" variant={variant} withBackground>
<Table>
<TableHeader>
<TableRow>
<TableColumnHeader>Name</TableColumnHeader>
<TableColumnHeader>Age</TableColumnHeader>
<TableColumnHeader>Gender</TableColumnHeader>
</TableRow>
</TableHeader>
<TableBody>
{[20, 22, 25].map((item, index) => (
<TableRow key={index}>
<TableCell>Name {index + 1}</TableCell>
<TableCell>{item}</TableCell>
<TableCell>{item % 5 === 0 ? "Male" : "Female"}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</TableContainer>
</>
))}
| Name 1 | 20 | Male |
| Name 2 | 22 | Female |
| Name 3 | 25 | Male |
<TableContainer w="full" interactive>
<Table>
<TableHeader>
<TableRow>
<TableColumnHeader>Name</TableColumnHeader>
<TableColumnHeader>Age</TableColumnHeader>
<TableColumnHeader>Gender</TableColumnHeader>
</TableRow>
</TableHeader>
<TableBody>
{[20, 22, 25].map((item, index) => (
<TableRow key={index}>
<TableCell>Name {index + 1}</TableCell>
<TableCell>{item}</TableCell>
<TableCell>{item % 5 === 0 ? "Male" : "Female"}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</TableContainer>
| Name 1 | 20 | Male |
| Name 2 | 22 | Female |
| Name 3 | 25 | Male |
| Name 4 | 28 | Female |
| Name 5 | 31 | Female |
| Name 6 | 35 | Male |
<TableContainer w="full" striped>
<Table>
<TableHeader>
<TableRow>
<TableColumnHeader>Name</TableColumnHeader>
<TableColumnHeader>Age</TableColumnHeader>
<TableColumnHeader>Gender</TableColumnHeader>
</TableRow>
</TableHeader>
<TableBody>
{[20, 22, 25, 28, 31, 35].map((item, index) => (
<TableRow key={index}>
<TableCell>Name {index + 1}</TableCell>
<TableCell>{item}</TableCell>
<TableCell>{item % 5 === 0 ? "Male" : "Female"}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</TableContainer>
sm
| Name 1 | 20 | Male |
| Name 2 | 22 | Female |
| Name 3 | 25 | Male |
md
| Name 1 | 20 | Male |
| Name 2 | 22 | Female |
| Name 3 | 25 | Male |
lg
| Name 1 | 20 | Male |
| Name 2 | 22 | Female |
| Name 3 | 25 | Male |
{["sm", "md", "lg"].map((size) => (
<>
<Text size={"lg"}>{size}</Text>
<TableContainer w="full" size={size}>
<Table>
<TableHeader>
<TableRow>
<TableColumnHeader>Name</TableColumnHeader>
<TableColumnHeader>Age</TableColumnHeader>
<TableColumnHeader>Gender</TableColumnHeader>
</TableRow>
</TableHeader>
<TableBody>
{[20, 22, 25].map((item, index) => (
<TableRow key={index}>
<TableCell>Name {index + 1}</TableCell>
<TableCell>{item}</TableCell>
<TableCell>{item % 5 === 0 ? "Male" : "Female"}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</TableContainer>
</>
))}