Table Component
Description
The Table component provides a structured way to display data in rows and columns. It supports sorting and different row states.
Props - Table
| Prop | Type | Default | Description | 
| children | ReactNode | - | The table content (rows and cells). | 
Props - TableHead & TableBody
| Prop | Type | Default | Description | 
| children | ReactNode | - | The table head or body content. | 
Props - TableRow
| Prop | Type | Default | Description | 
| children | ReactNode | - | The table row content (cells). | 
| isSelected | boolean | false | Determines if the row is selected. | 
| status | "removed" | "edited" | "error" | - | Sets a special row status (e.g., removed, edited, error). | 
Props - TableCell
| Prop | Type | Default | Description | 
| children | ReactNode | - | The cell content. | 
| align | "left" | "center" | "right" | "left" | Alignment of the cell content. | 
| colSpan | number | - | Number of columns the cell should span. | 
| rowSpan | number | - | Number of rows the cell should span. | 
Props - TableSortLabel
| Prop | Type | Default | Description | 
| active | boolean | false | Determines if sorting is active. | 
| direction | "asc" | "desc" | - | Sorting direction (ascending or descending). | 
| onClick | (event) => void | - | Event triggered when sorting is clicked. | 
Example Usage
|  | import { Table, TableHead, TableBody, TableRow, TableCell, TableSortLabel } from "@nomana-it/liberty-core"
import { useState } from "react";
export const TableExample = () => {
  const [sortDirection, setSortDirection] = useState<"asc" | "desc">("asc");
  const handleSort = () => {
    setSortDirection(sortDirection === "asc" ? "desc" : "asc");
  };
  return (
    <Table>
      <TableHead>
        <TableRow>
          <TableCell>
            <TableSortLabel active direction={sortDirection} onClick={handleSort}>
              Name
            </TableSortLabel>
          </TableCell>
          <TableCell align="center">Age</TableCell>
          <TableCell align="right">City</TableCell>
        </TableRow>
      </TableHead>
      <TableBody>
        <TableRow>
          <TableCell>John Doe</TableCell>
          <TableCell align="center">30</TableCell>
          <TableCell align="right">New York</TableCell>
        </TableRow>
        <TableRow>
          <TableCell>Jane Smith</TableCell>
          <TableCell align="center">28</TableCell>
          <TableCell align="right">San Francisco</TableCell>
        </TableRow>
      </TableBody>
    </Table>
  );
};
 | 
Useful Links
🔗 GitHub Repository (Core): Liberty Core
🔗 GitHub Repository (Test Project): Liberty Test
📖 Live Documentation: Liberty Core Docs
💖 Sponsor & Support: Sponsor Liberty Core