Manage Content
Filled
ReferenceCustomerStatusAmount
TXN-84012Ada LovelaceCompleted$1250.00
TXN-84013Grace HopperPending$84.50
TXN-84014Alan TuringFailed$320.75
Empty
No transactions yet.
PropTypeDefaultRequiredDescription
columnsTableColumn<T>[]YesColumn definitions: key, header, align, and an optional custom render.
rowsT[]YesRow data. An empty array renders the empty state instead of the table.
emptyMessagestring"No items yet."NoShown when rows is empty.
getRowKey(row: T) => stringYesStable key extractor for each row.
Do
  • Right-align every numeric/currency column, and give it a monospace or tabular-numeral treatment.
  • Always design and build the empty state alongside the filled state — never ship one without the other.
  • Truncate long text with an ellipsis rather than wrapping and breaking row height.
Don't
  • Render an empty <tbody> with headers still showing — swap to a dedicated empty state instead.
  • Show status as plain coloured text — use the Badge component.
  • Left-align currency or numeric columns.