@@ -27,6 +27,7 @@ interface ResizerProps {
2727 showFocusRing ?: boolean ;
2828 roleDescription ?: string ;
2929 tooltipText ?: string ;
30+ isBorderless : boolean ;
3031}
3132
3233const AUTO_GROW_START_TIME = 10 ;
@@ -47,6 +48,7 @@ export function Resizer({
4748 focusId,
4849 roleDescription,
4950 tooltipText,
51+ isBorderless,
5052} : ResizerProps ) {
5153 onWidthUpdate = useStableCallback ( onWidthUpdate ) ;
5254 onWidthUpdateCommit = useStableCallback ( onWidthUpdateCommit ) ;
@@ -227,7 +229,7 @@ export function Resizer({
227229
228230 const onKeyDown = ( event : KeyboardEvent ) => {
229231 if ( isKeyboardDragging ) {
230- const keys = [ KeyCode . left , KeyCode . right , KeyCode . enter , KeyCode . right , KeyCode . space , KeyCode . escape ] ;
232+ const keys = [ KeyCode . left , KeyCode . right , KeyCode . enter , KeyCode . space , KeyCode . escape ] ;
231233
232234 if ( keys . indexOf ( event . keyCode ) !== - 1 ) {
233235 event . preventDefault ( ) ;
@@ -319,7 +321,9 @@ export function Resizer({
319321
320322 return (
321323 < div
322- className = { clsx ( styles [ 'resizer-wrapper' ] , isVisualRefresh && styles [ 'is-visual-refresh' ] ) }
324+ // When the table is borderless (works in visual refresh tables only), the last resize handle must not
325+ // exceed table's edges, as it causes an unintended overflow otherwise.
326+ className = { clsx ( styles [ 'resizer-wrapper' ] , ( ! isVisualRefresh || isBorderless ) && styles [ 'is-borderless' ] ) }
323327 ref = { positioningWrapperRef }
324328 >
325329 < DragHandleWrapper
@@ -360,8 +364,7 @@ export function Resizer({
360364 ref = { resizerToggleRef }
361365 className = { clsx (
362366 styles . resizer ,
363- ( resizerHasFocus || showFocusRing || isKeyboardDragging ) && styles [ 'has-focus' ] ,
364- isVisualRefresh && styles [ 'is-visual-refresh' ]
367+ ( resizerHasFocus || showFocusRing || isKeyboardDragging ) && styles [ 'has-focus' ]
365368 ) }
366369 onPointerDown = { event => {
367370 if ( event . pointerType === 'mouse' && event . button !== 0 ) {
@@ -400,11 +403,7 @@ export function Resizer({
400403 data-focus-id = { focusId }
401404 />
402405 < span
403- className = { clsx (
404- styles [ 'divider-interactive' ] ,
405- ( isPointerDown || isDragging ) && styles [ 'divider-active' ] ,
406- isVisualRefresh && styles [ 'is-visual-refresh' ]
407- ) }
406+ className = { clsx ( styles [ 'divider-interactive' ] , ( isPointerDown || isDragging ) && styles [ 'divider-active' ] ) }
408407 data-awsui-table-suppress-navigation = { true }
409408 ref = { resizerSeparatorRef }
410409 id = { separatorId }
0 commit comments