Repository navigation
fix: Use JS-driven isLast class for borderless resizer positioning - #5224
Draft
NathanZlion wants to merge 1 commit into
Draft
NathanZlion wants to merge 1 commit into
NathanZlion wants to merge 1 commit into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5224 +/- ##
=======================================
Coverage 97.76% 97.76%
=======================================
Files 1003 1003
Lines 32572 32572
Branches 12109 12110 +1
=======================================
Hits 31843 31843
+ Misses 723 684 -39
- Partials 6 45 +39 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…erless resizer positioning With column groups, a standalone column with rowspan=2 is rendered in the group header row only. The leaf row's th:last-child becomes the group's last leaf column, not the table's rightmost column. The CSS rule pulled that column's resizer 12px inward, misaligning it with the group header divider. Replace the th:last-child CSS rule with the existing JS-driven .is-last class, which correctly identifies the rightmost column via colIndex + colSpan === totalColumns regardless of rowspan.
NathanZlion
force-pushed
the
fix/borderless-resizer-column-groups
branch
from
November 2, 2026 11:41
3aecbde to
f00f7cf
Compare
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The selector change leaves the last classic-mode resize handle at a negative inset, extending it beyond the table edge and potentially causing horizontal overflow.
1 open issue
What changed in this PR
Fixes resize-divider alignment in Cloudscape tables with column groups by using logical column position rather than DOM row order.
Changes:
- Removes the
th:last-childwrapper-positioning rule. - Moves the inset reset to the existing JavaScript-driven
.is-lastselector for visual-refresh borderless tables.
| File | Description |
|---|---|
src/table/resizer/styles.scss |
Uses .is-last to position the final column’s resize wrapper. |
Review effort: Balanced
Comment on lines
85
to
+86
| .resizer-wrapper.visual-refresh.is-borderless.is-last { | ||
| inset-inline-end: 0; |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description
With column groups and borderless/embedded/full-page tables, the last leaf column of a group had its resize divider misaligned by 12px when a standalone column with
rowspan=2followed the group.The resizer wrapper uses
inset-inline-end: -12pxby default to straddle the cell boundary. A CSSth:last-childrule reset it to0for borderless tables to prevent overflow at the table edge. With column groups, a standalone column withrowspan=2is rendered only in the group header row, so the leaf row'sth:last-childbecomes the group's last leaf column — not the table's rightmost column. The CSS rule incorrectly pulled that column's resizer 12px inward.Replaced the
th:last-childCSS rule with the existing JS-driven.is-lastclass, which identifies the rightmost column viacolIndex + colSpan === totalColumnsregardless of DOM row structure.Related links, issue #: AWSUI-62435
How has this been tested?
variant=borderless, single-level groups presettsc --noEmitpassesReview checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness
CONTRIBUTING.md. Yes, no public API changes.CONTRIBUTING.md. Yes, only moved an existing CSS rule.Security
checkSafeUrlfunction. N/ATesting
.is-lastclass behavior.By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.