Skip to content

Commit 6ce1b54

Browse files
fix(DataTable): fixes overflowing sort button and select column spacing (#9956)
* fix: add width to checkbox column * feat: add select/sort story * feat: add fix to styles package Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
1 parent 9f3da13 commit 6ce1b54

3 files changed

Lines changed: 44 additions & 0 deletions

File tree

packages/components/src/components/data-table/_data-table-core.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,7 @@
345345

346346
.#{$prefix}--data-table thead th.#{$prefix}--table-column-checkbox,
347347
.#{$prefix}--data-table tbody td.#{$prefix}--table-column-checkbox {
348+
width: 2.5rem;
348349
// spacing between checkbox / chevron and next cell should be 8px / 0.5rem
349350
padding-right: rem(4px);
350351
padding-left: 1rem;

packages/react/src/components/DataTable/stories/DataTable-selection-story.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,45 @@ export const WithRadioSelection = () => (
124124
)}
125125
</DataTable>
126126
);
127+
128+
export const WithSelectionAndSorting = () => (
129+
<DataTable rows={rows} headers={headers} isSortable>
130+
{({
131+
rows,
132+
headers,
133+
getHeaderProps,
134+
getRowProps,
135+
getSelectionProps,
136+
getTableProps,
137+
getTableContainerProps,
138+
}) => (
139+
<TableContainer
140+
title="DataTable"
141+
description="With selection"
142+
{...getTableContainerProps()}>
143+
<Table {...getTableProps()}>
144+
<TableHead>
145+
<TableRow>
146+
<TableSelectAll {...getSelectionProps()} />
147+
{headers.map((header, i) => (
148+
<TableHeader key={i} {...getHeaderProps({ header })}>
149+
{header.header}
150+
</TableHeader>
151+
))}
152+
</TableRow>
153+
</TableHead>
154+
<TableBody>
155+
{rows.map((row, i) => (
156+
<TableRow key={i} {...getRowProps({ row })}>
157+
<TableSelectRow {...getSelectionProps({ row })} />
158+
{row.cells.map((cell) => (
159+
<TableCell key={cell.id}>{cell.value}</TableCell>
160+
))}
161+
</TableRow>
162+
))}
163+
</TableBody>
164+
</Table>
165+
</TableContainer>
166+
)}
167+
</DataTable>
168+
);

packages/styles/scss/components/data-table/_data-table.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@
341341

342342
.#{$prefix}--data-table thead th.#{$prefix}--table-column-checkbox,
343343
.#{$prefix}--data-table tbody td.#{$prefix}--table-column-checkbox {
344+
width: 2.5rem;
344345
// spacing between checkbox / chevron and next cell should be 8px / 0.5rem
345346
padding-right: rem(4px);
346347
padding-left: 1rem;

0 commit comments

Comments
 (0)