From b2a11946c13173779b8f0047c2e0c8f6f492a1c2 Mon Sep 17 00:00:00 2001 From: Andrei Zhaleznichenka Date: Tue, 26 Nov 2024 14:54:20 +0100 Subject: [PATCH] body cell wrapper inner --- pages/table/cell-permutations.page.tsx | 9 ++++++++- src/table/__tests__/table.test.tsx | 2 +- src/table/body-cell/styles.scss | 14 +++++++++++--- src/table/body-cell/td-element.tsx | 9 ++++++--- src/table/styles.scss | 1 + 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/pages/table/cell-permutations.page.tsx b/pages/table/cell-permutations.page.tsx index 560eed95ed5..ec3fcb596d4 100644 --- a/pages/table/cell-permutations.page.tsx +++ b/pages/table/cell-permutations.page.tsx @@ -200,7 +200,14 @@ function TableCellsDemo() { header: `Header cell content ${index}${index === 8 ? ' with longer text' : ''}`, sortingField: index === 2 ? 'field-1' : index === 3 ? 'field-2' : undefined, activeSorting: index === 3, - cell: cellContent, + cell: item => + index === 3 ? ( + {cellContent(item)} + ) : index === 4 ? ( + {index} + ) : ( + cellContent(item) + ), verticalAlign: settings.verticalAlign, editConfig: settings.isEditable ? { diff --git a/src/table/__tests__/table.test.tsx b/src/table/__tests__/table.test.tsx index 0b632ccef92..796a776af65 100644 --- a/src/table/__tests__/table.test.tsx +++ b/src/table/__tests__/table.test.tsx @@ -298,7 +298,7 @@ test('should render table with react content', () => { ]; const { wrapper } = renderTable(); const findCellContent = (row: number, col: number) => - wrapper.findBodyCell(row, col)!.findByClassName(bodyCellStyles['body-cell-content'])!; + wrapper.findBodyCell(row, col)!.findByClassName(bodyCellStyles['body-cell-content-inner'])!; expect(wrapper.findColumnHeaders().map(getHeaderHtmlContent)).toEqual(['id', 'name', 'Advanced header']); expect(wrapper.findRows()).toHaveLength(3); expect(findCellContent(1, 3)!.getElement().innerHTML).toEqual(''); diff --git a/src/table/body-cell/styles.scss b/src/table/body-cell/styles.scss index c1f5b19728b..fac06e22a9f 100644 --- a/src/table/body-cell/styles.scss +++ b/src/table/body-cell/styles.scss @@ -131,6 +131,17 @@ $cell-negative-space-vertical: 2px; &-content { box-sizing: border-box; + block-size: 100%; + display: flex; + align-items: center; + + &.body-cell-align-top { + align-items: baseline; + } + } + &-content-inner { + box-sizing: border-box; + inline-size: 100%; &:not(.body-cell-wrap) { white-space: nowrap; @@ -189,9 +200,6 @@ $cell-negative-space-vertical: 2px; &:first-child:not(.is-visual-refresh) { @include cell-padding-inline-start($cell-edge-horizontal-padding); } - &-align-top { - vertical-align: top; - } &-first-row { border-block-start: $border-placeholder; } diff --git a/src/table/body-cell/td-element.tsx b/src/table/body-cell/td-element.tsx index 18f3d7da522..79a4cfe339a 100644 --- a/src/table/body-cell/td-element.tsx +++ b/src/table/body-cell/td-element.tsx @@ -102,7 +102,7 @@ export const TableTdElement = React.forwardRef )} -
{children}
+
+
+ {children} +
+
); } diff --git a/src/table/styles.scss b/src/table/styles.scss index 62bbb1643d3..2fe959c3722 100644 --- a/src/table/styles.scss +++ b/src/table/styles.scss @@ -53,6 +53,7 @@ .table { inline-size: 100%; + block-size: 100%; border-spacing: 0; position: relative; box-sizing: border-box;