From 8b1d7362d9bb9a6e06d983ec17aa6a57f46285a0 Mon Sep 17 00:00:00 2001 From: Haider Alshamma Date: Wed, 8 May 2024 13:05:34 -0400 Subject: [PATCH] fix: allow passing metadata to the table columns --- src/Table/Table.types.ts | 12 +++--------- src/Table/TableHead.tsx | 3 ++- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/Table/Table.types.ts b/src/Table/Table.types.ts index 10397e1c3b..6b4e261cb4 100644 --- a/src/Table/Table.types.ts +++ b/src/Table/Table.types.ts @@ -9,13 +9,6 @@ export interface CellInfoType { row: RowType; } -interface ColumnInfoType { - align?: ColumnAlignment; - label: string; - dataKey?: Key; - width?: string | number; -} - type ColumnAlignment = "left" | "right" | "center"; export type ColumnType = { @@ -23,9 +16,10 @@ export type ColumnType = { label?: string; cellFormatter?: (cell: CellInfoType) => React.ReactNode; cellRenderer?: (cell: CellInfoType) => React.ReactNode; - headerRenderer?: (column: ColumnInfoType) => React.ReactNode; - headerFormatter?: (column: ColumnInfoType) => React.ReactNode; + headerRenderer?: (column: ColumnType) => React.ReactNode; + headerFormatter?: (column: ColumnType) => React.ReactNode; width?: string | number; + metadata?: Record; } & ({ key: Key; dataKey?: never | undefined } | { dataKey: Key; key?: never | undefined }); export type Columns = ColumnType[]; diff --git a/src/Table/TableHead.tsx b/src/Table/TableHead.tsx index 02e743efce..c8065be208 100644 --- a/src/Table/TableHead.tsx +++ b/src/Table/TableHead.tsx @@ -22,7 +22,8 @@ const renderHeaderCellContent = ({ label, dataKey, width, -}: ColumnType) => headerFormatter({ align, label, dataKey, width }); + metadata, +}: ColumnType) => headerFormatter({ align, label, dataKey, width, metadata }); const TableHead = ({ columns, compact, sticky }: TableHeadProps) => { const renderColumns = (allColumns: Columns) =>