diff --git a/packages/@react-spectrum/s2/s2wf-icons/S2_Icon_MoreVertical_20_N.svg b/packages/@react-spectrum/s2/s2wf-icons/S2_Icon_MoreVertical_20_N.svg
new file mode 100644
index 00000000000..06ce1b7e2a5
--- /dev/null
+++ b/packages/@react-spectrum/s2/s2wf-icons/S2_Icon_MoreVertical_20_N.svg
@@ -0,0 +1,6 @@
+
+
\ No newline at end of file
diff --git a/packages/@react-spectrum/s2/src/TableView.tsx b/packages/@react-spectrum/s2/src/TableView.tsx
index 2eb75fc0c75..6ddb48a8f42 100644
--- a/packages/@react-spectrum/s2/src/TableView.tsx
+++ b/packages/@react-spectrum/s2/src/TableView.tsx
@@ -98,6 +98,7 @@ import {Key} from '@react-types/shared';
import {LayoutInfo, Rect, TableLayout, Virtualizer} from 'react-aria-components/Virtualizer';
import {LayoutNode} from 'react-stately/useVirtualizerState';
import {Menu, MenuItem, MenuSection, MenuTrigger} from './Menu';
+import MoreVertical from '../s2wf-icons/S2_Icon_MoreVertical_20_N.svg';
import Nubbin from '../ui-icons/S2_MoveHorizontalTableWidget.svg';
import {OverlayTriggerStateContext} from 'react-aria-components/Dialog';
import {ProgressCircle} from './ProgressCircle';
@@ -897,9 +898,7 @@ const resizableMenuButtonWrapper = style({
paddingX: 16,
backgroundColor: 'transparent',
borderStyle: 'none',
- fontSize: controlFont(),
- fontFamily: 'sans',
- fontWeight: 'bold'
+ font: 'title-sm'
});
const resizerHandleContainer = style({
@@ -949,20 +948,24 @@ const resizerHandle = style<{isFocusVisible: boolean; isResizing: boolean}>({
const columnHeaderText = style({
truncate: true,
// Make it so the text doesn't completely disappear when column is resized to smallest width + both sort and chevron icon is rendered
- minWidth: fontRelative(16),
+ minWidth: fontRelative(18),
flexGrow: 0,
flexShrink: 1,
flexBasis: 'auto'
});
-const chevronIcon = style({
- rotate: 90,
+const moreVerticalIcon = style({
+ size: '1lh',
marginStart: 'text-to-visual',
minWidth: fontRelative(16),
flexShrink: 0,
'--iconPrimary': {
type: 'fill',
- value: 'currentColor'
+ value: {
+ default: 'gray-700',
+ isHovered: 'gray-800',
+ isFocusVisible: 'gray-800'
+ }
}
});
@@ -1064,22 +1067,36 @@ function ColumnWithMenu(props: ColumnWithMenuProps) {
className={renderProps =>
resizableMenuButtonWrapper({...renderProps, align: buttonAlignment})
}>
- {allowsSorting && (
-