diff --git a/.changeset/violet-memes-bet.md b/.changeset/violet-memes-bet.md
new file mode 100644
index 0000000000..440c762ffa
--- /dev/null
+++ b/.changeset/violet-memes-bet.md
@@ -0,0 +1,5 @@
+---
+'@backstage/canon': patch
+---
+
+Add support for column sizing in DataTable.
diff --git a/packages/canon/src/components/DataTable/Pagination/DataTablePagination.tsx b/packages/canon/src/components/DataTable/Pagination/DataTablePagination.tsx
index c1c73ee13c..eabea109fa 100644
--- a/packages/canon/src/components/DataTable/Pagination/DataTablePagination.tsx
+++ b/packages/canon/src/components/DataTable/Pagination/DataTablePagination.tsx
@@ -36,6 +36,7 @@ const DataTablePagination = forwardRef(
return (
diff --git a/packages/canon/src/components/DataTable/Table/DataTableTable.tsx b/packages/canon/src/components/DataTable/Table/DataTableTable.tsx
index 6b0fafa67d..954cf9f703 100644
--- a/packages/canon/src/components/DataTable/Table/DataTableTable.tsx
+++ b/packages/canon/src/components/DataTable/Table/DataTableTable.tsx
@@ -28,13 +28,21 @@ const DataTableTable = forwardRef(
const { table } = useDataTable();
return (
-
+
{table.getHeaderGroups().map(headerGroup => (
{headerGroup.headers.map(header => {
return (
-
+
{header.isPlaceholder
? null
: flexRender(
@@ -55,7 +63,10 @@ const DataTableTable = forwardRef(
data-state={row.getIsSelected() && 'selected'}
>
{row.getVisibleCells().map(cell => (
-
+
{flexRender(cell.column.columnDef.cell, cell.getContext())}
))}
@@ -66,6 +77,7 @@ const DataTableTable = forwardRef(
No results.
diff --git a/packages/canon/src/components/DataTable/mocked-columns.tsx b/packages/canon/src/components/DataTable/mocked-columns.tsx
index 9f2ce72378..e2d898769f 100644
--- a/packages/canon/src/components/DataTable/mocked-columns.tsx
+++ b/packages/canon/src/components/DataTable/mocked-columns.tsx
@@ -42,6 +42,7 @@ export const columns: ColumnDef[] = [
),
enableSorting: false,
enableHiding: false,
+ size: 50,
},
{
accessorKey: 'name',
@@ -53,6 +54,7 @@ export const columns: ColumnDef[] = [
href="/"
/>
),
+ size: 450,
},
{
accessorKey: 'owner',
@@ -60,15 +62,18 @@ export const columns: ColumnDef[] = [
cell: ({ row }) => (
),
+ size: 200,
},
{
accessorKey: 'type',
header: 'Type',
cell: ({ row }) => ,
+ size: 150,
},
{
accessorKey: 'tags',
header: 'Tags',
cell: ({ row }) => ,
+ size: 150,
},
];