Skip to content

Commit 93089b2

Browse files
authored
fix: Fix table header background for resizable columns in classic (#3649)
1 parent 22deef7 commit 93089b2

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

src/table/resizer/index.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { useStableCallback, useUniqueId } from '@cloudscape-design/component-too
77
import { getIsRtl, getLogicalBoundingClientRect, getLogicalPageX } from '@cloudscape-design/component-toolkit/internal';
88

99
import { useSingleTabStopNavigation } from '../../internal/context/single-tab-stop-navigation-context.js';
10+
import { useVisualRefresh } from '../../internal/hooks/use-visual-mode';
1011
import { KeyCode } from '../../internal/keycode';
1112
import handleKey, { isEventLike } from '../../internal/utils/handle-key';
1213
import { DEFAULT_COLUMN_WIDTH } from '../use-column-widths';
@@ -46,6 +47,8 @@ export function Resizer({
4647
onWidthUpdate = useStableCallback(onWidthUpdate);
4748
onWidthUpdateCommit = useStableCallback(onWidthUpdateCommit);
4849

50+
const isVisualRefresh = useVisualRefresh();
51+
4952
const separatorId = useUniqueId();
5053
const resizerToggleRef = useRef<HTMLButtonElement>(null);
5154
const resizerSeparatorRef = useRef<HTMLSpanElement>(null);
@@ -195,7 +198,8 @@ export function Resizer({
195198
ref={resizerToggleRef}
196199
className={clsx(
197200
styles.resizer,
198-
(resizerHasFocus || showFocusRing || isKeyboardDragging) && styles['has-focus']
201+
(resizerHasFocus || showFocusRing || isKeyboardDragging) && styles['has-focus'],
202+
isVisualRefresh && styles['is-visual-refresh']
199203
)}
200204
onMouseDown={event => {
201205
if (event.button !== 0) {
@@ -231,7 +235,11 @@ export function Resizer({
231235
data-focus-id={focusId}
232236
/>
233237
<span
234-
className={clsx(styles['divider-interactive'], isDragging && styles['divider-active'])}
238+
className={clsx(
239+
styles['divider-interactive'],
240+
isDragging && styles['divider-active'],
241+
isVisualRefresh && styles['is-visual-refresh']
242+
)}
235243
data-awsui-table-suppress-navigation={true}
236244
ref={resizerSeparatorRef}
237245
id={separatorId}

src/table/resizer/styles.scss

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ th:not(:last-child) > .divider,
4141
}
4242
}
4343

44+
th:last-child > .divider-interactive:not(.is-visual-refresh) {
45+
inset-inline-end: calc(#{$handle-width} / 2);
46+
}
47+
4448
.resizer {
4549
@include styles.styles-reset;
4650
border-block: none;
@@ -73,6 +77,10 @@ th:not(:last-child) > .divider,
7377
}
7478
}
7579

80+
th:last-child > .resizer:not(.is-visual-refresh) {
81+
inset-inline-end: 0;
82+
}
83+
7684
.tracker {
7785
display: none;
7886
position: absolute;

0 commit comments

Comments
 (0)