Skip to content

feat: Table Column Groups Table#4482

Open
NathanZlion wants to merge 61 commits into
mainfrom
dev-v3-natidere-table-group
Open

feat: Table Column Groups Table#4482
NathanZlion wants to merge 61 commits into
mainfrom
dev-v3-natidere-table-group

Conversation

@NathanZlion
Copy link
Copy Markdown
Member

@NathanZlion NathanZlion commented Apr 30, 2026

Description

Add Table Column Grouping Feature support for Table Component.

Related links, issue AWSUI-9594, if available: n/a

How has this been tested?

Review checklist

The following items are to be evaluated by the author(s) and the reviewer(s).

Correctness

  • Changes include appropriate documentation updates.
  • Changes are backward-compatible if not indicated, see CONTRIBUTING.md.
  • Changes do not include unsupported browser features, see CONTRIBUTING.md.
  • Changes were manually tested for accessibility, see accessibility guidelines.

Security

Testing

  • Changes are covered with new/existing unit tests?
  • Changes are covered with new/existing integration tests?

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@NathanZlion NathanZlion changed the title chore: Add test page and interface change for table feat: Table Column Groups Table May 3, 2026
@NathanZlion NathanZlion force-pushed the dev-v3-natidere-table-group branch from 40c20ee to 84451af Compare May 4, 2026 13:42
@codecov
Copy link
Copy Markdown

codecov Bot commented May 4, 2026

Codecov Report

❌ Patch coverage is 99.19517% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 97.48%. Comparing base (7dd1353) to head (ad4aa24).
⚠️ Report is 11 commits behind head on main.

Files with missing lines Patch % Lines
src/table/column-groups/utils.ts 99.20% 1 Missing ⚠️
src/table/header-cell/group-header-cell.tsx 96.00% 1 Missing ⚠️
src/table/sticky-scrolling.ts 0.00% 1 Missing ⚠️
src/table/table-role/grid-navigation.tsx 75.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4482      +/-   ##
==========================================
+ Coverage   97.43%   97.48%   +0.05%     
==========================================
  Files         941      945       +4     
  Lines       29725    30127     +402     
  Branches    10804    10975     +171     
==========================================
+ Hits        28962    29370     +408     
+ Misses        716      710       -6     
  Partials       47       47              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@NathanZlion NathanZlion force-pushed the dev-v3-natidere-table-group branch from 84451af to e9f4fd0 Compare May 4, 2026 15:59
@NathanZlion NathanZlion force-pushed the dev-v3-natidere-table-group branch from d6a98cb to 5cec8c8 Compare May 5, 2026 14:22
@NathanZlion NathanZlion marked this pull request as ready for review May 6, 2026 08:36
@NathanZlion NathanZlion requested a review from a team as a code owner May 6, 2026 08:36
@NathanZlion NathanZlion requested review from georgylobko and removed request for a team and georgylobko May 6, 2026 08:36
@NathanZlion NathanZlion marked this pull request as draft May 6, 2026 11:40
@NathanZlion NathanZlion force-pushed the dev-v3-natidere-table-group branch from 8da3b07 to 227f21b Compare May 8, 2026 00:37
…er, remove inline colgroup from sticky heder
Comment thread pages/table/column-groups.page.tsx Outdated
Comment thread pages/table/column-groups.page.tsx Outdated
Comment thread src/table/__tests__/column-groups.test.tsx
const resizerBtn = splitGroupCell.find('button');
if (resizerBtn) {
resizerBtn.fireEvent(new PointerEvent('pointerdown', { pointerType: 'mouse', button: 0, bubbles: true }));
document.body.dispatchEvent(new PointerEvent('pointerup', { pointerType: 'mouse', bubbles: true }));
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is there no assertion for these actions?

Comment thread src/table/__tests__/columns-width.test.tsx Outdated
Comment thread src/table/thead.tsx Outdated
Comment thread src/table/thead.tsx Outdated
Comment thread src/table/thead.tsx Outdated
Comment thread src/table/thead.tsx
* which makes colspan headers automatically span the correct width.
* Must be rendered inside ColumnWidthsProvider.
*/
export function TableColGroup({
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we define this component inside use-column-widths.tsx?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's existence is purely for width purpose mainly. Not sure where to put it, it was initially somewhere else. Moved it here for the sake of keeping it closer to why it's needed. I considered creating a separate file for it,but it's a very small component. I'm open to suggestions,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants