@atlaskit/editor-plugin-table 7.17.0 → 7.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/nodeviews/ExternalDropTargets.js +2 -1
  3. package/dist/cjs/toolbar.js +3 -0
  4. package/dist/cjs/ui/DragHandle/index.js +4 -2
  5. package/dist/cjs/ui/FloatingContextualButton/FixedButton.js +1 -1
  6. package/dist/cjs/ui/FloatingContextualButton/index.js +5 -1
  7. package/dist/cjs/ui/FloatingContextualButton/styles.js +10 -0
  8. package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +47 -22
  9. package/dist/cjs/ui/FloatingContextualMenu/styles.js +3 -0
  10. package/dist/cjs/ui/FloatingDeleteButton/index.js +4 -2
  11. package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +36 -13
  12. package/dist/cjs/ui/FloatingDragMenu/index.js +5 -2
  13. package/dist/cjs/ui/FloatingDragMenu/styles.js +12 -1
  14. package/dist/cjs/ui/TableFloatingControls/NumberColumn/index.js +3 -1
  15. package/dist/cjs/ui/TableFloatingControls/RowControls/ClassicControls.js +1 -1
  16. package/dist/cjs/ui/TableFloatingControls/RowControls/DragControls.js +4 -2
  17. package/dist/cjs/ui/common-styles.js +3 -1
  18. package/dist/cjs/ui/consts.js +4 -1
  19. package/dist/cjs/ui/ui-styles.js +35 -3
  20. package/dist/cjs/utils/drag-menu.js +32 -27
  21. package/dist/es2019/nodeviews/ExternalDropTargets.js +2 -1
  22. package/dist/es2019/toolbar.js +3 -0
  23. package/dist/es2019/ui/DragHandle/index.js +6 -2
  24. package/dist/es2019/ui/FloatingContextualButton/FixedButton.js +1 -1
  25. package/dist/es2019/ui/FloatingContextualButton/index.js +5 -1
  26. package/dist/es2019/ui/FloatingContextualButton/styles.js +10 -0
  27. package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +38 -11
  28. package/dist/es2019/ui/FloatingContextualMenu/styles.js +3 -0
  29. package/dist/es2019/ui/FloatingDeleteButton/index.js +4 -2
  30. package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +34 -13
  31. package/dist/es2019/ui/FloatingDragMenu/index.js +4 -2
  32. package/dist/es2019/ui/FloatingDragMenu/styles.js +11 -3
  33. package/dist/es2019/ui/TableFloatingControls/NumberColumn/index.js +3 -1
  34. package/dist/es2019/ui/TableFloatingControls/RowControls/ClassicControls.js +1 -1
  35. package/dist/es2019/ui/TableFloatingControls/RowControls/DragControls.js +6 -2
  36. package/dist/es2019/ui/common-styles.js +3 -1
  37. package/dist/es2019/ui/consts.js +3 -0
  38. package/dist/es2019/ui/ui-styles.js +36 -3
  39. package/dist/es2019/utils/drag-menu.js +23 -19
  40. package/dist/esm/nodeviews/ExternalDropTargets.js +2 -1
  41. package/dist/esm/toolbar.js +3 -0
  42. package/dist/esm/ui/DragHandle/index.js +4 -2
  43. package/dist/esm/ui/FloatingContextualButton/FixedButton.js +1 -1
  44. package/dist/esm/ui/FloatingContextualButton/index.js +5 -1
  45. package/dist/esm/ui/FloatingContextualButton/styles.js +10 -0
  46. package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +47 -22
  47. package/dist/esm/ui/FloatingContextualMenu/styles.js +3 -0
  48. package/dist/esm/ui/FloatingDeleteButton/index.js +4 -2
  49. package/dist/esm/ui/FloatingDragMenu/DragMenu.js +36 -13
  50. package/dist/esm/ui/FloatingDragMenu/index.js +5 -2
  51. package/dist/esm/ui/FloatingDragMenu/styles.js +13 -2
  52. package/dist/esm/ui/TableFloatingControls/NumberColumn/index.js +3 -1
  53. package/dist/esm/ui/TableFloatingControls/RowControls/ClassicControls.js +1 -1
  54. package/dist/esm/ui/TableFloatingControls/RowControls/DragControls.js +4 -2
  55. package/dist/esm/ui/common-styles.js +3 -1
  56. package/dist/esm/ui/consts.js +3 -0
  57. package/dist/esm/ui/ui-styles.js +35 -3
  58. package/dist/esm/utils/drag-menu.js +32 -27
  59. package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +2 -1
  60. package/dist/types/ui/FloatingDragMenu/styles.d.ts +1 -1
  61. package/dist/types/ui/consts.d.ts +3 -0
  62. package/dist/types/utils/drag-menu.d.ts +1 -1
  63. package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +2 -1
  64. package/dist/types-ts4.5/ui/FloatingDragMenu/styles.d.ts +1 -1
  65. package/dist/types-ts4.5/ui/consts.d.ts +3 -0
  66. package/dist/types-ts4.5/utils/drag-menu.d.ts +1 -1
  67. package/package.json +2 -2
  68. package/src/nodeviews/ExternalDropTargets.tsx +2 -1
  69. package/src/toolbar.tsx +3 -0
  70. package/src/ui/DragHandle/index.tsx +4 -2
  71. package/src/ui/FloatingContextualButton/FixedButton.tsx +1 -1
  72. package/src/ui/FloatingContextualButton/index.tsx +2 -0
  73. package/src/ui/FloatingContextualButton/styles.ts +10 -0
  74. package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +22 -3
  75. package/src/ui/FloatingContextualMenu/index.tsx +1 -0
  76. package/src/ui/FloatingContextualMenu/styles.ts +2 -0
  77. package/src/ui/FloatingDeleteButton/index.tsx +2 -1
  78. package/src/ui/FloatingDragMenu/DragMenu.tsx +39 -16
  79. package/src/ui/FloatingDragMenu/DropdownMenu.tsx +1 -1
  80. package/src/ui/FloatingDragMenu/index.tsx +6 -2
  81. package/src/ui/FloatingDragMenu/styles.ts +20 -3
  82. package/src/ui/TableFloatingControls/NumberColumn/index.tsx +1 -0
  83. package/src/ui/TableFloatingControls/RowControls/ClassicControls.tsx +1 -1
  84. package/src/ui/TableFloatingControls/RowControls/DragControls.tsx +4 -2
  85. package/src/ui/common-styles.ts +2 -1
  86. package/src/ui/consts.ts +4 -0
  87. package/src/ui/ui-styles.ts +25 -0
  88. package/src/utils/drag-menu.ts +28 -18
@@ -74,6 +74,8 @@ export var getDragMenuConfig = function getDragMenuConfig(direction, getEditorCo
74
74
  var tableDuplicateCellColouring = arguments.length > 12 && arguments[12] !== undefined ? arguments[12] : false;
75
75
  var isTableFixedColumnWidthsOptionEnabled = arguments.length > 13 && arguments[13] !== undefined ? arguments[13] : false;
76
76
  var shouldUseIncreasedScalingPercent = arguments.length > 14 && arguments[14] !== undefined ? arguments[14] : false;
77
+ var tableSortColumnDiscoverability = arguments.length > 15 && arguments[15] !== undefined ? arguments[15] : false;
78
+ var selection = editorView.state.selection;
77
79
  var addOptions = direction === 'row' ? [{
78
80
  label: 'above',
79
81
  offset: 0,
@@ -95,7 +97,6 @@ export var getDragMenuConfig = function getDragMenuConfig(direction, getEditorCo
95
97
  icon: AddColRightIcon,
96
98
  keymap: addColumnAfter
97
99
  }];
98
- var selection = editorView.state.selection;
99
100
  var moveOptions = direction === 'row' ? [{
100
101
  label: 'up',
101
102
  icon: ArrowUpIcon,
@@ -142,11 +143,26 @@ export var getDragMenuConfig = function getDragMenuConfig(direction, getEditorCo
142
143
  order: SortOrder.DESC,
143
144
  icon: HipchatChevronDoubleDownIcon
144
145
  }] : [];
145
- return [].concat(_toConsumableArray(addOptions.map(function (_ref) {
146
+ var sortConfigs = _toConsumableArray(sortOptions.map(function (_ref) {
146
147
  var label = _ref.label,
147
- offset = _ref.offset,
148
- icon = _ref.icon,
149
- keymap = _ref.keymap;
148
+ order = _ref.order,
149
+ icon = _ref.icon;
150
+ return {
151
+ id: "sort_column_".concat(order),
152
+ title: "Sort ".concat(label),
153
+ disabled: hasMergedCellsInTable,
154
+ icon: icon,
155
+ onClick: function onClick(state, dispatch) {
156
+ sortColumnWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.TABLE_CONTEXT_MENU, index !== null && index !== void 0 ? index : 0, order)(state, dispatch);
157
+ return true;
158
+ }
159
+ };
160
+ }));
161
+ var restConfigs = [].concat(_toConsumableArray(addOptions.map(function (_ref2) {
162
+ var label = _ref2.label,
163
+ offset = _ref2.offset,
164
+ icon = _ref2.icon,
165
+ keymap = _ref2.keymap;
150
166
  return {
151
167
  id: "add_".concat(direction, "_").concat(label),
152
168
  title: "Add ".concat(direction, " ").concat(label),
@@ -203,13 +219,13 @@ export var getDragMenuConfig = function getDragMenuConfig(direction, getEditorCo
203
219
  },
204
220
  icon: RemoveIcon,
205
221
  keymap: direction === 'row' ? tooltip(deleteRow) : tooltip(deleteColumn)
206
- }], _toConsumableArray(moveOptions.map(function (_ref2) {
207
- var label = _ref2.label,
208
- canMove = _ref2.canMove,
209
- icon = _ref2.icon,
210
- keymap = _ref2.keymap,
211
- getOriginIndexes = _ref2.getOriginIndexes,
212
- getTargetIndex = _ref2.getTargetIndex;
222
+ }], _toConsumableArray(moveOptions.map(function (_ref3) {
223
+ var label = _ref3.label,
224
+ canMove = _ref3.canMove,
225
+ icon = _ref3.icon,
226
+ keymap = _ref3.keymap,
227
+ getOriginIndexes = _ref3.getOriginIndexes,
228
+ getTargetIndex = _ref3.getTargetIndex;
213
229
  return {
214
230
  id: "move_".concat(direction, "_").concat(label),
215
231
  title: "Move ".concat(direction, " ").concat(label),
@@ -226,19 +242,8 @@ export var getDragMenuConfig = function getDragMenuConfig(direction, getEditorCo
226
242
  },
227
243
  keymap: keymap && tooltip(keymap)
228
244
  };
229
- })), _toConsumableArray(sortOptions.map(function (_ref3) {
230
- var label = _ref3.label,
231
- order = _ref3.order,
232
- icon = _ref3.icon;
233
- return {
234
- id: "sort_column_".concat(order),
235
- title: "Sort ".concat(label),
236
- disabled: hasMergedCellsInTable,
237
- icon: icon,
238
- onClick: function onClick(state, dispatch) {
239
- sortColumnWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.TABLE_CONTEXT_MENU, index !== null && index !== void 0 ? index : 0, order)(state, dispatch);
240
- return true;
241
- }
242
- };
243
- }))).filter(Boolean);
245
+ })));
246
+ var allConfigs = _toConsumableArray(restConfigs);
247
+ tableSortColumnDiscoverability ? allConfigs.unshift.apply(allConfigs, _toConsumableArray(sortConfigs)) : allConfigs.push.apply(allConfigs, _toConsumableArray(sortConfigs));
248
+ return allConfigs.filter(Boolean);
244
249
  };
@@ -28,8 +28,9 @@ type DragMenuProps = {
28
28
  tableDuplicateCellColouring?: boolean;
29
29
  shouldUseIncreasedScalingPercent?: boolean;
30
30
  isTableFixedColumnWidthsOptionEnabled?: boolean;
31
+ tableSortColumnDiscoverability?: boolean;
31
32
  };
32
- export declare const DragMenu: React.MemoExoticComponent<({ direction, index, target, isOpen, editorView, tableNode, targetCellPosition, getEditorContainerWidth, editorAnalyticsAPI, pluginConfig, intl: { formatMessage }, fitHeight, fitWidth, mountPoint, scrollableElement, boundariesElement, isTableScalingEnabled, tableDuplicateCellColouring, shouldUseIncreasedScalingPercent, isTableFixedColumnWidthsOptionEnabled, }: DragMenuProps & WrappedComponentProps) => jsx.JSX.Element | null>;
33
+ export declare const DragMenu: React.MemoExoticComponent<({ direction, index, target, isOpen, editorView, tableNode, targetCellPosition, getEditorContainerWidth, editorAnalyticsAPI, pluginConfig, intl: { formatMessage }, fitHeight, fitWidth, mountPoint, scrollableElement, boundariesElement, isTableScalingEnabled, tableDuplicateCellColouring, shouldUseIncreasedScalingPercent, isTableFixedColumnWidthsOptionEnabled, tableSortColumnDiscoverability, }: DragMenuProps & WrappedComponentProps) => jsx.JSX.Element | null>;
33
34
  declare const _default: React.FC<import("react-intl-next").WithIntlProps<DragMenuProps & WrappedComponentProps>> & {
34
35
  WrappedComponent: React.ComponentType<DragMenuProps & WrappedComponentProps>;
35
36
  };
@@ -1,4 +1,4 @@
1
1
  export declare const cellColourPreviewStyles: (selectedColor: string) => import("@emotion/react").SerializedStyles;
2
2
  export declare const elementBeforeIconStyles: import("@emotion/react").SerializedStyles;
3
- export declare const dragMenuBackgroundColorStyles: import("@emotion/react").SerializedStyles;
3
+ export declare const dragMenuBackgroundColorStyles: (tableSortColumnDiscoverability?: boolean) => import("@emotion/react").SerializedStyles;
4
4
  export declare const toggleStyles: import("@emotion/react").SerializedStyles;
@@ -54,6 +54,9 @@ export declare const TABLE_HIGHLIGHT_GAP = 10;
54
54
  export declare const TABLE_HIGHLIGHT_TOLERANCE = 2;
55
55
  export declare const STICKY_HEADER_TOGGLE_TOLERANCE_MS = 5;
56
56
  export declare const TABLE_GUIDELINE_VISIBLE_ADJUSTMENT = -68;
57
+ export declare const TABLE_DRAG_MENU_SORT_GROUP_HEIGHT = 92;
58
+ export declare const TABLE_DRAG_MENU_PADDING_TOP = 4;
59
+ export declare const TABLE_DRAG_MENU_MENU_GROUP_BEFORE_HEIGHT = 6;
57
60
  export declare const dragMenuDropdownWidth = 250;
58
61
  export declare const dragTableInsertColumnButtonSize = 16;
59
62
  export declare const dropTargetExtendedWidth = 150;
@@ -13,4 +13,4 @@ export interface DragMenuConfig extends DropdownOptionT<Command> {
13
13
  icon?: React.ComponentType<React.PropsWithChildren<IconProps>>;
14
14
  keymap?: string;
15
15
  }
16
- export declare const getDragMenuConfig: (direction: TableDirection, getEditorContainerWidth: GetEditorContainerWidth, canDrag: boolean, hasMergedCellsInTable: boolean, editorView: EditorView, tableMap?: TableMap, index?: number, targetCellPosition?: number, selectionRect?: Rect, editorAnalyticsAPI?: EditorAnalyticsAPI, isHeaderRowRequired?: boolean, isTableScalingEnabled?: boolean, tableDuplicateCellColouring?: boolean, isTableFixedColumnWidthsOptionEnabled?: boolean, shouldUseIncreasedScalingPercent?: boolean) => DragMenuConfig[];
16
+ export declare const getDragMenuConfig: (direction: TableDirection, getEditorContainerWidth: GetEditorContainerWidth, canDrag: boolean, hasMergedCellsInTable: boolean, editorView: EditorView, tableMap?: TableMap, index?: number, targetCellPosition?: number, selectionRect?: Rect, editorAnalyticsAPI?: EditorAnalyticsAPI, isHeaderRowRequired?: boolean, isTableScalingEnabled?: boolean, tableDuplicateCellColouring?: boolean, isTableFixedColumnWidthsOptionEnabled?: boolean, shouldUseIncreasedScalingPercent?: boolean, tableSortColumnDiscoverability?: boolean) => DragMenuConfig[];
@@ -28,8 +28,9 @@ type DragMenuProps = {
28
28
  tableDuplicateCellColouring?: boolean;
29
29
  shouldUseIncreasedScalingPercent?: boolean;
30
30
  isTableFixedColumnWidthsOptionEnabled?: boolean;
31
+ tableSortColumnDiscoverability?: boolean;
31
32
  };
32
- export declare const DragMenu: React.MemoExoticComponent<({ direction, index, target, isOpen, editorView, tableNode, targetCellPosition, getEditorContainerWidth, editorAnalyticsAPI, pluginConfig, intl: { formatMessage }, fitHeight, fitWidth, mountPoint, scrollableElement, boundariesElement, isTableScalingEnabled, tableDuplicateCellColouring, shouldUseIncreasedScalingPercent, isTableFixedColumnWidthsOptionEnabled, }: DragMenuProps & WrappedComponentProps) => jsx.JSX.Element | null>;
33
+ export declare const DragMenu: React.MemoExoticComponent<({ direction, index, target, isOpen, editorView, tableNode, targetCellPosition, getEditorContainerWidth, editorAnalyticsAPI, pluginConfig, intl: { formatMessage }, fitHeight, fitWidth, mountPoint, scrollableElement, boundariesElement, isTableScalingEnabled, tableDuplicateCellColouring, shouldUseIncreasedScalingPercent, isTableFixedColumnWidthsOptionEnabled, tableSortColumnDiscoverability, }: DragMenuProps & WrappedComponentProps) => jsx.JSX.Element | null>;
33
34
  declare const _default: React.FC<import("react-intl-next").WithIntlProps<DragMenuProps & WrappedComponentProps>> & {
34
35
  WrappedComponent: React.ComponentType<DragMenuProps & WrappedComponentProps>;
35
36
  };
@@ -1,4 +1,4 @@
1
1
  export declare const cellColourPreviewStyles: (selectedColor: string) => import("@emotion/react").SerializedStyles;
2
2
  export declare const elementBeforeIconStyles: import("@emotion/react").SerializedStyles;
3
- export declare const dragMenuBackgroundColorStyles: import("@emotion/react").SerializedStyles;
3
+ export declare const dragMenuBackgroundColorStyles: (tableSortColumnDiscoverability?: boolean) => import("@emotion/react").SerializedStyles;
4
4
  export declare const toggleStyles: import("@emotion/react").SerializedStyles;
@@ -54,6 +54,9 @@ export declare const TABLE_HIGHLIGHT_GAP = 10;
54
54
  export declare const TABLE_HIGHLIGHT_TOLERANCE = 2;
55
55
  export declare const STICKY_HEADER_TOGGLE_TOLERANCE_MS = 5;
56
56
  export declare const TABLE_GUIDELINE_VISIBLE_ADJUSTMENT = -68;
57
+ export declare const TABLE_DRAG_MENU_SORT_GROUP_HEIGHT = 92;
58
+ export declare const TABLE_DRAG_MENU_PADDING_TOP = 4;
59
+ export declare const TABLE_DRAG_MENU_MENU_GROUP_BEFORE_HEIGHT = 6;
57
60
  export declare const dragMenuDropdownWidth = 250;
58
61
  export declare const dragTableInsertColumnButtonSize = 16;
59
62
  export declare const dropTargetExtendedWidth = 150;
@@ -13,4 +13,4 @@ export interface DragMenuConfig extends DropdownOptionT<Command> {
13
13
  icon?: React.ComponentType<React.PropsWithChildren<IconProps>>;
14
14
  keymap?: string;
15
15
  }
16
- export declare const getDragMenuConfig: (direction: TableDirection, getEditorContainerWidth: GetEditorContainerWidth, canDrag: boolean, hasMergedCellsInTable: boolean, editorView: EditorView, tableMap?: TableMap, index?: number, targetCellPosition?: number, selectionRect?: Rect, editorAnalyticsAPI?: EditorAnalyticsAPI, isHeaderRowRequired?: boolean, isTableScalingEnabled?: boolean, tableDuplicateCellColouring?: boolean, isTableFixedColumnWidthsOptionEnabled?: boolean, shouldUseIncreasedScalingPercent?: boolean) => DragMenuConfig[];
16
+ export declare const getDragMenuConfig: (direction: TableDirection, getEditorContainerWidth: GetEditorContainerWidth, canDrag: boolean, hasMergedCellsInTable: boolean, editorView: EditorView, tableMap?: TableMap, index?: number, targetCellPosition?: number, selectionRect?: Rect, editorAnalyticsAPI?: EditorAnalyticsAPI, isHeaderRowRequired?: boolean, isTableScalingEnabled?: boolean, tableDuplicateCellColouring?: boolean, isTableFixedColumnWidthsOptionEnabled?: boolean, shouldUseIncreasedScalingPercent?: boolean, tableSortColumnDiscoverability?: boolean) => DragMenuConfig[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-table",
3
- "version": "7.17.0",
3
+ "version": "7.17.1",
4
4
  "description": "Table plugin for the @atlaskit/editor",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -31,7 +31,7 @@
31
31
  "@atlaskit/adf-schema": "^36.10.7",
32
32
  "@atlaskit/button": "^17.17.0",
33
33
  "@atlaskit/custom-steps": "^0.2.0",
34
- "@atlaskit/editor-common": "^82.3.0",
34
+ "@atlaskit/editor-common": "^82.4.0",
35
35
  "@atlaskit/editor-palette": "1.6.0",
36
36
  "@atlaskit/editor-plugin-accessibility-utils": "^1.1.0",
37
37
  "@atlaskit/editor-plugin-analytics": "^1.2.0",
@@ -53,10 +53,11 @@ export const ExternalDropTargets = ({
53
53
  overflow: 'hidden',
54
54
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
55
55
  position: 'absolute',
56
- // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
56
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
57
57
  top: `-${dropTargetExtendedWidth - tableMarginTop}px`,
58
58
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
59
59
  pointerEvents: 'auto',
60
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
60
61
  zIndex: `${dropTargetsZIndex}`,
61
62
  }}
62
63
  data-testid="table-floating-column-extended-drop-targets"
package/src/toolbar.tsx CHANGED
@@ -224,6 +224,7 @@ export const getToolbarCellOptionsConfig = (
224
224
  },
225
225
  selected: false,
226
226
  disabled: false,
227
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
227
228
  elemAfter: <div css={shortcutStyle}>{tooltip(addColumnAfter)}</div>,
228
229
  },
229
230
  {
@@ -242,6 +243,7 @@ export const getToolbarCellOptionsConfig = (
242
243
  },
243
244
  selected: false,
244
245
  disabled: false,
246
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
245
247
  elemAfter: <div css={shortcutStyle}>{tooltip(addRowAfter)}</div>,
246
248
  },
247
249
  {
@@ -414,6 +416,7 @@ export const getToolbarCellOptionsConfig = (
414
416
  },
415
417
  selected: false,
416
418
  disabled: false,
419
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
417
420
  elemAfter: <div css={shortcutStyle}>{tooltip(backspace)}</div>,
418
421
  });
419
422
 
@@ -199,11 +199,13 @@ const DragHandleComponent = ({
199
199
  data-testid="table-drag-handle-clickable-zone-button"
200
200
  style={{
201
201
  height: isRow
202
- ? `calc(100% - ${dragTableInsertColumnButtonSize}px)`
202
+ ? // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
203
+ `calc(100% - ${dragTableInsertColumnButtonSize}px)`
203
204
  : `${token('space.200', '16px')}`, // 16px here because it's the size of drag handle button's large side
204
205
  width: isRow
205
206
  ? `${token('space.200', '16px')}` // 16px here because it's the size of drag handle button's large side
206
- : `calc(100% - ${dragTableInsertColumnButtonSize}px)`,
207
+ : // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
208
+ `calc(100% - ${dragTableInsertColumnButtonSize}px)`,
207
209
  left: isRow ? `${token('space.050', '4px')}` : undefined,
208
210
  bottom: isColumn ? `${token('space.0', '0px')}` : undefined,
209
211
  alignSelf: isColumn ? 'none' : 'center',
@@ -160,7 +160,7 @@ export const FixedButton = ({
160
160
  position: 'fixed',
161
161
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
162
162
  top: stickyHeader.top + stickyHeader.padding + offset * 2,
163
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
163
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
164
164
  zIndex: akEditorTableCellOnStickyHeaderZIndex,
165
165
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
166
166
  left: calcLeftPos({
@@ -77,7 +77,9 @@ const FloatingContextualButtonInner = React.memo((props: Props & WrappedComponen
77
77
  const button = (
78
78
  <div
79
79
  css={[
80
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
80
81
  tableFloatingCellButtonStyles(),
82
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
81
83
  isContextualMenuOpen && tableFloatingCellButtonSelectedStyles(),
82
84
  ]}
83
85
  >
@@ -7,14 +7,17 @@ import { contextualMenuTriggerSize } from '../consts';
7
7
 
8
8
  export const tableFloatingCellButtonStyles = () =>
9
9
  css({
10
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
10
11
  '> div': {
11
12
  // Sits behind button to provide surface-color background
12
13
  background: token('elevation.surface', N20),
13
14
  borderRadius: token('border.radius', '3px'),
14
15
  display: 'flex',
16
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
15
17
  height: `${contextualMenuTriggerSize + 2}px`,
16
18
  flexDirection: 'column',
17
19
  },
20
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
18
21
  '&& button': {
19
22
  background: token('color.background.neutral', 'none'),
20
23
  flexDirection: 'column',
@@ -25,15 +28,19 @@ export const tableFloatingCellButtonStyles = () =>
25
28
  height: 'calc(100% - 4px)',
26
29
  display: 'flex',
27
30
  },
31
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
28
32
  '&& button:hover': {
29
33
  background: token('color.background.neutral.hovered', N30A),
30
34
  },
35
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
31
36
  '&& button:active': {
32
37
  background: token('color.background.neutral.pressed', 'rgba(179, 212, 255, 0.6)'),
33
38
  },
39
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
34
40
  '&& button > span': {
35
41
  margin: `0px ${token('space.negative.050', '-4px')}`,
36
42
  },
43
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
37
44
  '&& span': {
38
45
  pointerEvents: 'none',
39
46
  },
@@ -41,12 +48,15 @@ export const tableFloatingCellButtonStyles = () =>
41
48
 
42
49
  export const tableFloatingCellButtonSelectedStyles = () =>
43
50
  css({
51
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
44
52
  '&& button': {
45
53
  background: token('color.background.selected', N700),
46
54
  },
55
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
47
56
  '&& button:hover': {
48
57
  background: token('color.background.selected.hovered', N700),
49
58
  },
59
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
50
60
  '&& button:active': {
51
61
  background: token('color.background.selected.pressed', N700),
52
62
  },
@@ -169,6 +169,7 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
169
169
  : formatMessage(messages.cellBackground),
170
170
  value: { name: 'background' },
171
171
  elemBefore: isDragAndDropEnabled ? (
172
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
172
173
  <span css={elementBeforeIconStyles}>
173
174
  <EditorBackgroundColorIcon
174
175
  label={formatMessage(messages.backgroundColor)}
@@ -180,6 +181,7 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
180
181
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
181
182
  <div className={DropdownMenuSharedCssClassName.SUBMENU}>
182
183
  <div
184
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
183
185
  css={cellColourPreviewStyles(background)}
184
186
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
185
187
  className={
@@ -228,6 +230,7 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
228
230
  value: { name: 'merge' },
229
231
  isDisabled: !canMergeCells(state.tr),
230
232
  elemBefore: isDragAndDropEnabled ? (
233
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
231
234
  <span css={elementBeforeIconStyles}>
232
235
  <MergeCellsIcon />
233
236
  </span>
@@ -238,6 +241,7 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
238
241
  value: { name: 'split' },
239
242
  isDisabled: !splitCell(state),
240
243
  elemBefore: isDragAndDropEnabled ? (
244
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
241
245
  <span css={elementBeforeIconStyles}>
242
246
  <SplitCellIcon />
243
247
  </span>
@@ -260,8 +264,10 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
260
264
  isDragAndDropEnabled ? messages.addColumnRight : messages.insertColumn,
261
265
  ),
262
266
  value: { name: 'insert_column' },
267
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
263
268
  elemAfter: <div css={shortcutStyle}>{tooltip(addColumnAfter)}</div>,
264
269
  elemBefore: isDragAndDropEnabled ? (
270
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
265
271
  <span css={elementBeforeIconStyles}>
266
272
  <AddColRightIcon />
267
273
  </span>
@@ -279,8 +285,10 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
279
285
  return {
280
286
  content: formatMessage(isDragAndDropEnabled ? messages.addRowBelow : messages.insertRow),
281
287
  value: { name: 'insert_row' },
288
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
282
289
  elemAfter: <div css={shortcutStyle}>{tooltip(addRowAfter)}</div>,
283
290
  elemBefore: isDragAndDropEnabled ? (
291
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
284
292
  <span css={elementBeforeIconStyles}>
285
293
  <AddRowBelowIcon />
286
294
  </span>
@@ -304,8 +312,10 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
304
312
  0: Math.max(noOfColumns, noOfRows),
305
313
  }),
306
314
  value: { name: 'clear' },
315
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
307
316
  elemAfter: <div css={shortcutStyle}>{tooltip(backspace)}</div>,
308
317
  elemBefore: isDragAndDropEnabled ? (
318
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
309
319
  <span css={elementBeforeIconStyles}>
310
320
  <CrossCircleIcon
311
321
  label={formatMessage(messages.clearCells, {
@@ -334,6 +344,7 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
334
344
  }),
335
345
  value: { name: 'delete_column' },
336
346
  elemBefore: isDragAndDropEnabled ? (
347
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
337
348
  <span css={elementBeforeIconStyles}>
338
349
  <RemoveIcon
339
350
  label={formatMessage(messages.removeColumns, {
@@ -362,6 +373,7 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
362
373
  }),
363
374
  value: { name: 'delete_row' },
364
375
  elemBefore: isDragAndDropEnabled ? (
376
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
365
377
  <span css={elementBeforeIconStyles}>
366
378
  <RemoveIcon
367
379
  label={formatMessage(messages.removeRows, {
@@ -447,7 +459,16 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
447
459
 
448
460
  private createOriginalContextMenuItems = () => {
449
461
  let items: MenuItem[] = [];
462
+ const { getEditorFeatureFlags } = this.props;
463
+ const { tableSortColumnDiscoverability = false } = getEditorFeatureFlags
464
+ ? getEditorFeatureFlags()
465
+ : {};
466
+ const sortColumnItems = this.createSortColumnItems();
450
467
  const backgroundColorItem = this.createBackgroundColorItem();
468
+ const distributeColumnsItem = this.createDistributeColumnsItem();
469
+
470
+ tableSortColumnDiscoverability && sortColumnItems && items.push(...sortColumnItems);
471
+
451
472
  backgroundColorItem && items.push(backgroundColorItem);
452
473
 
453
474
  items.push(this.createInsertColumnItem());
@@ -460,11 +481,9 @@ export class ContextualMenu extends Component<Props & WrappedComponentProps, Sta
460
481
 
461
482
  items.push(...this.createMergeSplitCellItems());
462
483
 
463
- const distributeColumnsItem = this.createDistributeColumnsItem();
464
484
  distributeColumnsItem && items.push(distributeColumnsItem);
465
485
 
466
- const sortColumnItems = this.createSortColumnItems();
467
- sortColumnItems && items.push(...sortColumnItems);
486
+ !tableSortColumnDiscoverability && sortColumnItems && items.push(...sortColumnItems);
468
487
 
469
488
  items.push(this.createClearCellsItem());
470
489
 
@@ -92,6 +92,7 @@ const FloatingContextualMenu = ({
92
92
  offset={[-7, 0]}
93
93
  stick={true}
94
94
  >
95
+ {/* eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766 */}
95
96
  <div css={tablePopupStyles(isDragAndDropEnabled)}>
96
97
  <ContextualMenu
97
98
  editorView={editorView}
@@ -10,10 +10,12 @@ import { contextualMenuDropdownWidth, contextualMenuDropdownWidthDnD } from '../
10
10
  export const cellColourPreviewStyles = (selectedColor: string) =>
11
11
  css({
12
12
  '&::before': {
13
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
13
14
  background: selectedColor,
14
15
  },
15
16
  });
16
17
 
18
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles, @atlaskit/design-system/no-exported-css -- Ignored via go/DSP-18766
17
19
  export const elementBeforeIconStyles = css({
18
20
  marginRight: token('space.negative.075', '-6px'),
19
21
  display: 'flex',
@@ -323,13 +323,14 @@ class FloatingDeleteButton extends Component<Props, State> {
323
323
  position: 'fixed',
324
324
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
325
325
  top: pos.top,
326
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
326
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
327
327
  zIndex: stickyRowZIndex,
328
328
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
329
329
  left:
330
330
  rect.left +
331
331
  (pos.left || 0) -
332
332
  (this.state.selectionType === 'column' ? this.state.scrollLeft : 0) -
333
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
333
334
  (this.props.isNumberColumnEnabled ? akEditorTableNumberColumnWidth : 0),
334
335
  }}
335
336
  >
@@ -95,6 +95,7 @@ type DragMenuProps = {
95
95
  tableDuplicateCellColouring?: boolean;
96
96
  shouldUseIncreasedScalingPercent?: boolean;
97
97
  isTableFixedColumnWidthsOptionEnabled?: boolean;
98
+ tableSortColumnDiscoverability?: boolean;
98
99
  };
99
100
 
100
101
  type PluralOptionType = 'noOfCols' | 'noOfRows' | 'noOfCells' | null;
@@ -162,26 +163,35 @@ const MapDragMenuOptionIdToMessage: Record<DragMenuOptionIdType, MessageType> =
162
163
  },
163
164
  };
164
165
 
165
- const groupedDragMenuConfig: DragMenuOptionIdType[][] = [
166
- [
167
- 'add_row_above',
168
- 'add_row_below',
169
- 'add_column_left',
170
- 'add_column_right',
171
- 'distribute_columns',
172
- 'clear_cells',
173
- 'delete_row',
174
- 'delete_column',
175
- ],
176
- ['move_column_left', 'move_column_right', 'move_row_up', 'move_row_down'],
177
- ['sort_column_asc', 'sort_column_desc'],
178
- ];
166
+ const getGroupedDragMenuConfig = (tableSortColumnDiscoverability: boolean) => {
167
+ let groupedDragMenuConfig: DragMenuOptionIdType[][] = [
168
+ [
169
+ 'add_row_above',
170
+ 'add_row_below',
171
+ 'add_column_left',
172
+ 'add_column_right',
173
+ 'distribute_columns',
174
+ 'clear_cells',
175
+ 'delete_row',
176
+ 'delete_column',
177
+ ],
178
+ ['move_column_left', 'move_column_right', 'move_row_up', 'move_row_down'],
179
+ ];
180
+ const sortColumnItems: DragMenuOptionIdType[] = ['sort_column_asc', 'sort_column_desc'];
181
+ tableSortColumnDiscoverability
182
+ ? groupedDragMenuConfig.unshift(sortColumnItems)
183
+ : groupedDragMenuConfig.push(sortColumnItems);
184
+
185
+ return groupedDragMenuConfig;
186
+ };
179
187
 
180
188
  const convertToDropdownItems = (
181
189
  dragMenuConfig: DragMenuConfig[],
182
190
  formatMessage: IntlShape['formatMessage'],
191
+ tableSortColumnDiscoverability: boolean = false,
183
192
  selectionRect?: Rect,
184
193
  ) => {
194
+ const groupedDragMenuConfig = getGroupedDragMenuConfig(tableSortColumnDiscoverability);
185
195
  let menuItemsArr: MenuItem[][] = [...Array(groupedDragMenuConfig.length)].map(() => []);
186
196
  let menuCallback: { [key: string]: Command } = {};
187
197
  dragMenuConfig.forEach((item) => {
@@ -220,12 +230,14 @@ const convertToDropdownItems = (
220
230
  value: { name: item.id },
221
231
  isDisabled: item.disabled,
222
232
  elemBefore: item.icon ? (
233
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
223
234
  <span css={elementBeforeIconStyles}>
224
235
  <item.icon
225
236
  label={formatMessage(MapDragMenuOptionIdToMessage[item.id].message, options)}
226
237
  />
227
238
  </span>
228
239
  ) : undefined,
240
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
229
241
  elemAfter: item.keymap ? <div css={shortcutStyle}>{item.keymap}</div> : undefined,
230
242
  });
231
243
  item.onClick && (menuCallback[item.id] = item.onClick);
@@ -265,6 +277,7 @@ export const DragMenu = React.memo(
265
277
  tableDuplicateCellColouring,
266
278
  shouldUseIncreasedScalingPercent,
267
279
  isTableFixedColumnWidthsOptionEnabled,
280
+ tableSortColumnDiscoverability,
268
281
  }: DragMenuProps & WrappedComponentProps) => {
269
282
  const { state, dispatch } = editorView;
270
283
  const { selection } = state;
@@ -307,11 +320,13 @@ export const DragMenu = React.memo(
307
320
  tableDuplicateCellColouring,
308
321
  isTableFixedColumnWidthsOptionEnabled,
309
322
  shouldUseIncreasedScalingPercent,
323
+ tableSortColumnDiscoverability,
310
324
  );
311
325
 
312
326
  const { menuItems, menuCallback } = convertToDropdownItems(
313
327
  dragMenuConfig,
314
328
  formatMessage,
329
+ tableSortColumnDiscoverability,
315
330
  selectionRect,
316
331
  );
317
332
 
@@ -358,6 +373,7 @@ export const DragMenu = React.memo(
358
373
  content: formatMessage(messages.backgroundColor),
359
374
  value: { name: 'background' },
360
375
  elemBefore: (
376
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
361
377
  <span css={elementBeforeIconStyles}>
362
378
  <EditorBackgroundColorIcon
363
379
  label={formatMessage(messages.backgroundColor)}
@@ -369,9 +385,11 @@ export const DragMenu = React.memo(
369
385
  <div
370
386
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
371
387
  className={DropdownMenuSharedCssClassName.SUBMENU}
372
- css={dragMenuBackgroundColorStyles}
388
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
389
+ css={dragMenuBackgroundColorStyles(tableSortColumnDiscoverability)}
373
390
  >
374
391
  <div
392
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
375
393
  css={cellColourPreviewStyles(background)}
376
394
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
377
395
  className={ClassName.DRAG_SUBMENU_ICON}
@@ -434,6 +452,7 @@ export const DragMenu = React.memo(
434
452
  content: formatMessage(messages.headerColumn),
435
453
  value: { name: 'header_column' },
436
454
  elemAfter: (
455
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
437
456
  <div css={toggleStyles}>
438
457
  <Toggle
439
458
  id="toggle-header-column"
@@ -448,6 +467,7 @@ export const DragMenu = React.memo(
448
467
  content: formatMessage(messages.headerRow),
449
468
  value: { name: 'header_row' },
450
469
  elemAfter: (
470
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
451
471
  <div css={toggleStyles}>
452
472
  <Toggle
453
473
  id="toggle-header-row"
@@ -465,6 +485,7 @@ export const DragMenu = React.memo(
465
485
  content: formatMessage(messages.rowNumbers),
466
486
  value: { name: 'row_numbers' },
467
487
  elemAfter: (
488
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
468
489
  <div css={toggleStyles}>
469
490
  <Toggle
470
491
  id="toggle-row-numbers"
@@ -592,7 +613,9 @@ export const DragMenu = React.memo(
592
613
  }
593
614
 
594
615
  if (allowBackgroundColor) {
595
- menuItems[0].items.unshift(createBackgroundColorMenuItem());
616
+ tableSortColumnDiscoverability
617
+ ? menuItems[1].items.unshift(createBackgroundColorMenuItem())
618
+ : menuItems[0].items.unshift(createBackgroundColorMenuItem());
596
619
  }
597
620
 
598
621
  // If first row, add toggle for Header row, default is true
@@ -84,7 +84,7 @@ export const DropdownMenu = ({
84
84
  }}
85
85
  targetRef={targetRefDiv}
86
86
  >
87
- {/* eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766 */}
87
+ {/* eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766 */}
88
88
  <div style={{ height: 0, minWidth: dragMenuDropdownWidth }} />
89
89
  <MenuGroup role="menu">
90
90
  {items.map((group, index) => (