Table

A data table component with ASCII borders for displaying structured information.

Docs•API Reference
[ USER DATA TABLE ]
IDNameEmailRoleStatus
001Alice Smithalice@example.comDeveloperActive
002Bob Johnsonbob@example.comDesignerInactive
003Carol Wilsoncarol@example.comManagerActive

Installation

npm install react-ascii-ui

Usage

import { AsciiTable } from 'react-ascii-ui';

const data = [
  { id: '001', name: 'Alice', role: 'Developer' },
  { id: '002', name: 'Bob', role: 'Designer' }
];

const columns = [
  { key: 'id', header: 'ID', width: '20%' },
  { key: 'name', header: 'Name', width: '40%' },
  { key: 'role', header: 'Role', width: '40%' }
];

export default function Example() {
  return (
    <AsciiTable 
      data={data}
      columns={columns}
      caption="User Table"
    />
  );
}

Examples

Basic Table

NameAge
Alice30
Bob25
<AsciiTable 
  data={[
    { name: 'Alice', age: 30 },
    { name: 'Bob', age: 25 }
  ]}
  columns={[
    { key: 'name', header: 'Name' },
    { key: 'age', header: 'Age', align: 'right' }
  ]}
/>

With Caption

[ EMPLOYEES ]
IDNameEmail
001Alice Smithalice@example.com
002Bob Johnsonbob@example.com
<AsciiTable 
  data={data}
  columns={columns}
  caption="[ EMPLOYEES ]"
/>

Empty State

[ NO DATA ]
IDNameEmailRoleStatus
No data available
<AsciiTable 
  data={[]}
  columns={columns}
  caption="[ NO DATA ]"
/>

API Reference

Props

PropTypeDefaultDescription
dataRecord<string, any>[][]Array of data objects to display
columnsAsciiTableColumn[]-Column configuration array
captionstring-Optional table caption
classNamestring-Additional CSS classes

AsciiTableColumn

PropertyTypeDefaultDescription
keystring-Data object property key
headerstring-Column header text
widthstring-Column width (CSS value)
align'left' | 'center' | 'right'leftText alignment

AsciiTable extends all HTML div attributes and React.HTMLAttributes<HTMLDivElement>.