@atlaskit/editor-plugin-table 7.17.0 → 7.17.2

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 (110) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/cjs/nodeviews/ExternalDropTargets.js +2 -1
  3. package/dist/cjs/nodeviews/TableResizer.js +2 -0
  4. package/dist/cjs/plugin.js +2 -1
  5. package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +2 -2
  6. package/dist/cjs/pm-plugins/table-resizing/utils/resize-column.js +2 -1
  7. package/dist/cjs/toolbar.js +3 -0
  8. package/dist/cjs/ui/DragHandle/index.js +4 -2
  9. package/dist/cjs/ui/FloatingContextualButton/FixedButton.js +1 -1
  10. package/dist/cjs/ui/FloatingContextualButton/index.js +5 -1
  11. package/dist/cjs/ui/FloatingContextualButton/styles.js +10 -0
  12. package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +47 -22
  13. package/dist/cjs/ui/FloatingContextualMenu/styles.js +3 -0
  14. package/dist/cjs/ui/FloatingDeleteButton/index.js +4 -2
  15. package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +36 -13
  16. package/dist/cjs/ui/FloatingDragMenu/index.js +5 -2
  17. package/dist/cjs/ui/FloatingDragMenu/styles.js +12 -1
  18. package/dist/cjs/ui/TableFloatingControls/NumberColumn/index.js +3 -1
  19. package/dist/cjs/ui/TableFloatingControls/RowControls/ClassicControls.js +1 -1
  20. package/dist/cjs/ui/TableFloatingControls/RowControls/DragControls.js +4 -2
  21. package/dist/cjs/ui/common-styles.js +3 -1
  22. package/dist/cjs/ui/consts.js +4 -1
  23. package/dist/cjs/ui/ui-styles.js +35 -3
  24. package/dist/cjs/utils/drag-menu.js +32 -27
  25. package/dist/es2019/nodeviews/ExternalDropTargets.js +2 -1
  26. package/dist/es2019/nodeviews/TableResizer.js +2 -0
  27. package/dist/es2019/plugin.js +34 -31
  28. package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +3 -3
  29. package/dist/es2019/pm-plugins/table-resizing/utils/resize-column.js +2 -1
  30. package/dist/es2019/toolbar.js +3 -0
  31. package/dist/es2019/ui/DragHandle/index.js +6 -2
  32. package/dist/es2019/ui/FloatingContextualButton/FixedButton.js +1 -1
  33. package/dist/es2019/ui/FloatingContextualButton/index.js +5 -1
  34. package/dist/es2019/ui/FloatingContextualButton/styles.js +10 -0
  35. package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +38 -11
  36. package/dist/es2019/ui/FloatingContextualMenu/styles.js +3 -0
  37. package/dist/es2019/ui/FloatingDeleteButton/index.js +4 -2
  38. package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +34 -13
  39. package/dist/es2019/ui/FloatingDragMenu/index.js +4 -2
  40. package/dist/es2019/ui/FloatingDragMenu/styles.js +11 -3
  41. package/dist/es2019/ui/TableFloatingControls/NumberColumn/index.js +3 -1
  42. package/dist/es2019/ui/TableFloatingControls/RowControls/ClassicControls.js +1 -1
  43. package/dist/es2019/ui/TableFloatingControls/RowControls/DragControls.js +6 -2
  44. package/dist/es2019/ui/common-styles.js +3 -1
  45. package/dist/es2019/ui/consts.js +3 -0
  46. package/dist/es2019/ui/ui-styles.js +36 -3
  47. package/dist/es2019/utils/drag-menu.js +23 -19
  48. package/dist/esm/nodeviews/ExternalDropTargets.js +2 -1
  49. package/dist/esm/nodeviews/TableResizer.js +2 -0
  50. package/dist/esm/plugin.js +2 -1
  51. package/dist/esm/pm-plugins/table-resizing/event-handlers.js +3 -3
  52. package/dist/esm/pm-plugins/table-resizing/utils/resize-column.js +2 -1
  53. package/dist/esm/toolbar.js +3 -0
  54. package/dist/esm/ui/DragHandle/index.js +4 -2
  55. package/dist/esm/ui/FloatingContextualButton/FixedButton.js +1 -1
  56. package/dist/esm/ui/FloatingContextualButton/index.js +5 -1
  57. package/dist/esm/ui/FloatingContextualButton/styles.js +10 -0
  58. package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +47 -22
  59. package/dist/esm/ui/FloatingContextualMenu/styles.js +3 -0
  60. package/dist/esm/ui/FloatingDeleteButton/index.js +4 -2
  61. package/dist/esm/ui/FloatingDragMenu/DragMenu.js +36 -13
  62. package/dist/esm/ui/FloatingDragMenu/index.js +5 -2
  63. package/dist/esm/ui/FloatingDragMenu/styles.js +13 -2
  64. package/dist/esm/ui/TableFloatingControls/NumberColumn/index.js +3 -1
  65. package/dist/esm/ui/TableFloatingControls/RowControls/ClassicControls.js +1 -1
  66. package/dist/esm/ui/TableFloatingControls/RowControls/DragControls.js +4 -2
  67. package/dist/esm/ui/common-styles.js +3 -1
  68. package/dist/esm/ui/consts.js +3 -0
  69. package/dist/esm/ui/ui-styles.js +35 -3
  70. package/dist/esm/utils/drag-menu.js +32 -27
  71. package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +2 -1
  72. package/dist/types/ui/FloatingDragMenu/styles.d.ts +1 -1
  73. package/dist/types/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +8 -0
  74. package/dist/types/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +16 -0
  75. package/dist/types/ui/TableFloatingControls/index.d.ts +8 -0
  76. package/dist/types/ui/consts.d.ts +3 -0
  77. package/dist/types/utils/drag-menu.d.ts +1 -1
  78. package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +2 -1
  79. package/dist/types-ts4.5/ui/FloatingDragMenu/styles.d.ts +1 -1
  80. package/dist/types-ts4.5/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +8 -0
  81. package/dist/types-ts4.5/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +16 -0
  82. package/dist/types-ts4.5/ui/TableFloatingControls/index.d.ts +8 -0
  83. package/dist/types-ts4.5/ui/consts.d.ts +3 -0
  84. package/dist/types-ts4.5/utils/drag-menu.d.ts +1 -1
  85. package/package.json +136 -147
  86. package/src/nodeviews/ExternalDropTargets.tsx +2 -1
  87. package/src/nodeviews/TableResizer.tsx +3 -0
  88. package/src/plugin.tsx +3 -1
  89. package/src/pm-plugins/table-resizing/event-handlers.ts +9 -3
  90. package/src/pm-plugins/table-resizing/utils/resize-column.ts +2 -1
  91. package/src/toolbar.tsx +3 -0
  92. package/src/ui/DragHandle/index.tsx +4 -2
  93. package/src/ui/FloatingContextualButton/FixedButton.tsx +1 -1
  94. package/src/ui/FloatingContextualButton/index.tsx +2 -0
  95. package/src/ui/FloatingContextualButton/styles.ts +10 -0
  96. package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +22 -3
  97. package/src/ui/FloatingContextualMenu/index.tsx +1 -0
  98. package/src/ui/FloatingContextualMenu/styles.ts +2 -0
  99. package/src/ui/FloatingDeleteButton/index.tsx +2 -1
  100. package/src/ui/FloatingDragMenu/DragMenu.tsx +39 -16
  101. package/src/ui/FloatingDragMenu/DropdownMenu.tsx +1 -1
  102. package/src/ui/FloatingDragMenu/index.tsx +6 -2
  103. package/src/ui/FloatingDragMenu/styles.ts +20 -3
  104. package/src/ui/TableFloatingControls/NumberColumn/index.tsx +1 -0
  105. package/src/ui/TableFloatingControls/RowControls/ClassicControls.tsx +1 -1
  106. package/src/ui/TableFloatingControls/RowControls/DragControls.tsx +4 -2
  107. package/src/ui/common-styles.ts +2 -1
  108. package/src/ui/consts.ts +4 -0
  109. package/src/ui/ui-styles.ts +25 -0
  110. package/src/utils/drag-menu.ts +28 -18
@@ -74,7 +74,9 @@ export class ContextualMenu extends Component {
74
74
  value: {
75
75
  name: 'background'
76
76
  },
77
- elemBefore: isDragAndDropEnabled ? jsx("span", {
77
+ elemBefore: isDragAndDropEnabled ?
78
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
79
+ jsx("span", {
78
80
  css: elementBeforeIconStyles
79
81
  }, jsx(EditorBackgroundColorIcon, {
80
82
  label: formatMessage(messages.backgroundColor),
@@ -85,6 +87,7 @@ export class ContextualMenu extends Component {
85
87
  jsx("div", {
86
88
  className: DropdownMenuSharedCssClassName.SUBMENU
87
89
  }, jsx("div", {
90
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
88
91
  css: cellColourPreviewStyles(background)
89
92
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
90
93
  ,
@@ -127,7 +130,9 @@ export class ContextualMenu extends Component {
127
130
  name: 'merge'
128
131
  },
129
132
  isDisabled: !canMergeCells(state.tr),
130
- elemBefore: isDragAndDropEnabled ? jsx("span", {
133
+ elemBefore: isDragAndDropEnabled ?
134
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
135
+ jsx("span", {
131
136
  css: elementBeforeIconStyles
132
137
  }, jsx(MergeCellsIcon, null)) : undefined
133
138
  }, {
@@ -136,7 +141,9 @@ export class ContextualMenu extends Component {
136
141
  name: 'split'
137
142
  },
138
143
  isDisabled: !splitCell(state),
139
- elemBefore: isDragAndDropEnabled ? jsx("span", {
144
+ elemBefore: isDragAndDropEnabled ?
145
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
146
+ jsx("span", {
140
147
  css: elementBeforeIconStyles
141
148
  }, jsx(SplitCellIcon, null)) : undefined
142
149
  }];
@@ -158,10 +165,13 @@ export class ContextualMenu extends Component {
158
165
  value: {
159
166
  name: 'insert_column'
160
167
  },
168
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
161
169
  elemAfter: jsx("div", {
162
170
  css: shortcutStyle
163
171
  }, tooltip(addColumnAfter)),
164
- elemBefore: isDragAndDropEnabled ? jsx("span", {
172
+ elemBefore: isDragAndDropEnabled ?
173
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
174
+ jsx("span", {
165
175
  css: elementBeforeIconStyles
166
176
  }, jsx(AddColRightIcon, null)) : undefined
167
177
  };
@@ -181,10 +191,13 @@ export class ContextualMenu extends Component {
181
191
  value: {
182
192
  name: 'insert_row'
183
193
  },
194
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
184
195
  elemAfter: jsx("div", {
185
196
  css: shortcutStyle
186
197
  }, tooltip(addRowAfter)),
187
- elemBefore: isDragAndDropEnabled ? jsx("span", {
198
+ elemBefore: isDragAndDropEnabled ?
199
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
200
+ jsx("span", {
188
201
  css: elementBeforeIconStyles
189
202
  }, jsx(AddRowBelowIcon, null)) : undefined
190
203
  };
@@ -215,10 +228,13 @@ export class ContextualMenu extends Component {
215
228
  value: {
216
229
  name: 'clear'
217
230
  },
231
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
218
232
  elemAfter: jsx("div", {
219
233
  css: shortcutStyle
220
234
  }, tooltip(backspace)),
221
- elemBefore: isDragAndDropEnabled ? jsx("span", {
235
+ elemBefore: isDragAndDropEnabled ?
236
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
237
+ jsx("span", {
222
238
  css: elementBeforeIconStyles
223
239
  }, jsx(CrossCircleIcon, {
224
240
  label: formatMessage(messages.clearCells, {
@@ -250,7 +266,9 @@ export class ContextualMenu extends Component {
250
266
  value: {
251
267
  name: 'delete_column'
252
268
  },
253
- elemBefore: isDragAndDropEnabled ? jsx("span", {
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
271
+ jsx("span", {
254
272
  css: elementBeforeIconStyles
255
273
  }, jsx(RemoveIcon, {
256
274
  label: formatMessage(messages.removeColumns, {
@@ -282,7 +300,9 @@ export class ContextualMenu extends Component {
282
300
  value: {
283
301
  name: 'delete_row'
284
302
  },
285
- elemBefore: isDragAndDropEnabled ? jsx("span", {
303
+ elemBefore: isDragAndDropEnabled ?
304
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
305
+ jsx("span", {
286
306
  css: elementBeforeIconStyles
287
307
  }, jsx(RemoveIcon, {
288
308
  label: formatMessage(messages.removeRows, {
@@ -362,17 +382,24 @@ export class ContextualMenu extends Component {
362
382
  });
363
383
  _defineProperty(this, "createOriginalContextMenuItems", () => {
364
384
  let items = [];
385
+ const {
386
+ getEditorFeatureFlags
387
+ } = this.props;
388
+ const {
389
+ tableSortColumnDiscoverability = false
390
+ } = getEditorFeatureFlags ? getEditorFeatureFlags() : {};
391
+ const sortColumnItems = this.createSortColumnItems();
365
392
  const backgroundColorItem = this.createBackgroundColorItem();
393
+ const distributeColumnsItem = this.createDistributeColumnsItem();
394
+ tableSortColumnDiscoverability && sortColumnItems && items.push(...sortColumnItems);
366
395
  backgroundColorItem && items.push(backgroundColorItem);
367
396
  items.push(this.createInsertColumnItem());
368
397
  items.push(this.createInsertRowItem());
369
398
  items.push(this.createDeleteColumnItem());
370
399
  items.push(this.createDeleteRowItem());
371
400
  items.push(...this.createMergeSplitCellItems());
372
- const distributeColumnsItem = this.createDistributeColumnsItem();
373
401
  distributeColumnsItem && items.push(distributeColumnsItem);
374
- const sortColumnItems = this.createSortColumnItems();
375
- sortColumnItems && items.push(...sortColumnItems);
402
+ !tableSortColumnDiscoverability && sortColumnItems && items.push(...sortColumnItems);
376
403
  items.push(this.createClearCellsItem());
377
404
  return [{
378
405
  items
@@ -5,9 +5,12 @@ import { TableCssClassName as ClassName } from '../../types';
5
5
  import { contextualMenuDropdownWidth, contextualMenuDropdownWidthDnD } from '../consts';
6
6
  export const cellColourPreviewStyles = selectedColor => css({
7
7
  '&::before': {
8
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
8
9
  background: selectedColor
9
10
  }
10
11
  });
12
+
13
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles, @atlaskit/design-system/no-exported-css -- Ignored via go/DSP-18766
11
14
  export const elementBeforeIconStyles = css({
12
15
  marginRight: "var(--ds-space-negative-075, -6px)",
13
16
  display: 'flex'
@@ -254,10 +254,12 @@ class FloatingDeleteButton extends Component {
254
254
  position: 'fixed',
255
255
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
256
256
  top: pos.top,
257
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
257
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
258
258
  zIndex: stickyRowZIndex,
259
259
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
260
- left: rect.left + (pos.left || 0) - (this.state.selectionType === 'column' ? this.state.scrollLeft : 0) - (this.props.isNumberColumnEnabled ? akEditorTableNumberColumnWidth : 0)
260
+ left: rect.left + (pos.left || 0) - (this.state.selectionType === 'column' ? this.state.scrollLeft : 0) - (
261
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
262
+ this.props.isNumberColumnEnabled ? akEditorTableNumberColumnWidth : 0)
261
263
  }
262
264
  }, button), mountTo);
263
265
  }
@@ -87,8 +87,14 @@ const MapDragMenuOptionIdToMessage = {
87
87
  plural: null
88
88
  }
89
89
  };
90
- const groupedDragMenuConfig = [['add_row_above', 'add_row_below', 'add_column_left', 'add_column_right', 'distribute_columns', 'clear_cells', 'delete_row', 'delete_column'], ['move_column_left', 'move_column_right', 'move_row_up', 'move_row_down'], ['sort_column_asc', 'sort_column_desc']];
91
- const convertToDropdownItems = (dragMenuConfig, formatMessage, selectionRect) => {
90
+ const getGroupedDragMenuConfig = tableSortColumnDiscoverability => {
91
+ let groupedDragMenuConfig = [['add_row_above', 'add_row_below', 'add_column_left', 'add_column_right', 'distribute_columns', 'clear_cells', 'delete_row', 'delete_column'], ['move_column_left', 'move_column_right', 'move_row_up', 'move_row_down']];
92
+ const sortColumnItems = ['sort_column_asc', 'sort_column_desc'];
93
+ tableSortColumnDiscoverability ? groupedDragMenuConfig.unshift(sortColumnItems) : groupedDragMenuConfig.push(sortColumnItems);
94
+ return groupedDragMenuConfig;
95
+ };
96
+ const convertToDropdownItems = (dragMenuConfig, formatMessage, tableSortColumnDiscoverability = false, selectionRect) => {
97
+ const groupedDragMenuConfig = getGroupedDragMenuConfig(tableSortColumnDiscoverability);
92
98
  let menuItemsArr = [...Array(groupedDragMenuConfig.length)].map(() => []);
93
99
  let menuCallback = {};
94
100
  dragMenuConfig.forEach(item => {
@@ -134,11 +140,14 @@ const convertToDropdownItems = (dragMenuConfig, formatMessage, selectionRect) =>
134
140
  name: item.id
135
141
  },
136
142
  isDisabled: item.disabled,
137
- elemBefore: item.icon ? jsx("span", {
143
+ elemBefore: item.icon ?
144
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
145
+ jsx("span", {
138
146
  css: elementBeforeIconStyles
139
147
  }, jsx(item.icon, {
140
148
  label: formatMessage(MapDragMenuOptionIdToMessage[item.id].message, options)
141
149
  })) : undefined,
150
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
142
151
  elemAfter: item.keymap ? jsx("div", {
143
152
  css: shortcutStyle
144
153
  }, item.keymap) : undefined
@@ -179,7 +188,8 @@ export const DragMenu = /*#__PURE__*/React.memo(({
179
188
  isTableScalingEnabled,
180
189
  tableDuplicateCellColouring,
181
190
  shouldUseIncreasedScalingPercent,
182
- isTableFixedColumnWidthsOptionEnabled
191
+ isTableFixedColumnWidthsOptionEnabled,
192
+ tableSortColumnDiscoverability
183
193
  }) => {
184
194
  var _pluginConfig$allowBa;
185
195
  const {
@@ -207,11 +217,11 @@ export const DragMenu = /*#__PURE__*/React.memo(({
207
217
  hasMergedCellsInTable = getMergedCellsPositions(state.tr).length > 0;
208
218
  }
209
219
  const allowBackgroundColor = (_pluginConfig$allowBa = pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.allowBackgroundColor) !== null && _pluginConfig$allowBa !== void 0 ? _pluginConfig$allowBa : false;
210
- const dragMenuConfig = getDragMenuConfig(direction, getEditorContainerWidth, !shouldMoveDisabled, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.isHeaderRowRequired, isTableScalingEnabled, tableDuplicateCellColouring, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent);
220
+ const dragMenuConfig = getDragMenuConfig(direction, getEditorContainerWidth, !shouldMoveDisabled, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.isHeaderRowRequired, isTableScalingEnabled, tableDuplicateCellColouring, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent, tableSortColumnDiscoverability);
211
221
  const {
212
222
  menuItems,
213
223
  menuCallback
214
- } = convertToDropdownItems(dragMenuConfig, formatMessage, selectionRect);
224
+ } = convertToDropdownItems(dragMenuConfig, formatMessage, tableSortColumnDiscoverability, selectionRect);
215
225
  const handleSubMenuRef = ref => {
216
226
  const parent = closestElement(editorView.dom, '.fabric-editor-popup-scroll-parent');
217
227
  if (!(parent && ref)) {
@@ -252,7 +262,9 @@ export const DragMenu = /*#__PURE__*/React.memo(({
252
262
  value: {
253
263
  name: 'background'
254
264
  },
255
- elemBefore: jsx("span", {
265
+ elemBefore:
266
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
267
+ jsx("span", {
256
268
  css: elementBeforeIconStyles
257
269
  }, jsx(EditorBackgroundColorIcon, {
258
270
  label: formatMessage(messages.backgroundColor),
@@ -260,9 +272,12 @@ export const DragMenu = /*#__PURE__*/React.memo(({
260
272
  })),
261
273
  elemAfter: jsx("div", {
262
274
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
263
- className: DropdownMenuSharedCssClassName.SUBMENU,
264
- css: dragMenuBackgroundColorStyles
275
+ className: DropdownMenuSharedCssClassName.SUBMENU
276
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
277
+ ,
278
+ css: dragMenuBackgroundColorStyles(tableSortColumnDiscoverability)
265
279
  }, jsx("div", {
280
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
266
281
  css: cellColourPreviewStyles(background)
267
282
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
268
283
  ,
@@ -317,7 +332,9 @@ export const DragMenu = /*#__PURE__*/React.memo(({
317
332
  value: {
318
333
  name: 'header_column'
319
334
  },
320
- elemAfter: jsx("div", {
335
+ elemAfter:
336
+ // 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
+ jsx("div", {
321
338
  css: toggleStyles
322
339
  }, jsx(Toggle, {
323
340
  id: "toggle-header-column",
@@ -330,7 +347,9 @@ export const DragMenu = /*#__PURE__*/React.memo(({
330
347
  value: {
331
348
  name: 'header_row'
332
349
  },
333
- elemAfter: jsx("div", {
350
+ elemAfter:
351
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
352
+ jsx("div", {
334
353
  css: toggleStyles
335
354
  }, jsx(Toggle, {
336
355
  id: "toggle-header-row",
@@ -346,7 +365,9 @@ export const DragMenu = /*#__PURE__*/React.memo(({
346
365
  value: {
347
366
  name: 'row_numbers'
348
367
  },
349
- elemAfter: jsx("div", {
368
+ elemAfter:
369
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
370
+ jsx("div", {
350
371
  css: toggleStyles
351
372
  }, jsx(Toggle, {
352
373
  id: "toggle-row-numbers",
@@ -457,7 +478,7 @@ export const DragMenu = /*#__PURE__*/React.memo(({
457
478
  return null;
458
479
  }
459
480
  if (allowBackgroundColor) {
460
- menuItems[0].items.unshift(createBackgroundColorMenuItem());
481
+ tableSortColumnDiscoverability ? menuItems[1].items.unshift(createBackgroundColorMenuItem()) : menuItems[0].items.unshift(createBackgroundColorMenuItem());
461
482
  }
462
483
 
463
484
  // If first row, add toggle for Header row, default is true
@@ -33,7 +33,8 @@ const FloatingDragMenu = ({
33
33
  }
34
34
  const {
35
35
  tableDuplicateCellColouring = false,
36
- tableWithFixedColumnWidthsOption = false
36
+ tableWithFixedColumnWidthsOption = false,
37
+ tableSortColumnDiscoverability = false
37
38
  } = getEditorFeatureFlags ? getEditorFeatureFlags() : {};
38
39
  const shouldUseIncreasedScalingPercent = isTableScalingEnabled && tableWithFixedColumnWidthsOption && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
39
40
  return /*#__PURE__*/React.createElement(Popup, {
@@ -72,7 +73,8 @@ const FloatingDragMenu = ({
72
73
  isTableScalingEnabled: isTableScalingEnabled,
73
74
  tableDuplicateCellColouring: tableDuplicateCellColouring,
74
75
  shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent,
75
- isTableFixedColumnWidthsOptionEnabled: tableWithFixedColumnWidthsOption
76
+ isTableFixedColumnWidthsOptionEnabled: tableWithFixedColumnWidthsOption,
77
+ tableSortColumnDiscoverability: tableSortColumnDiscoverability
76
78
  }));
77
79
  };
78
80
  FloatingDragMenu.displayName = 'FloatingDragMenu';
@@ -2,26 +2,29 @@ import { css } from '@emotion/react';
2
2
  import { tableBackgroundBorderColor } from '@atlaskit/adf-schema';
3
3
  import { N60A, N90 } from '@atlaskit/theme/colors';
4
4
  import { TableCssClassName as ClassName } from '../../types';
5
- import { dragMenuDropdownWidth } from '../consts';
5
+ import { dragMenuDropdownWidth, TABLE_DRAG_MENU_MENU_GROUP_BEFORE_HEIGHT, TABLE_DRAG_MENU_PADDING_TOP, TABLE_DRAG_MENU_SORT_GROUP_HEIGHT } from '../consts';
6
6
  export const cellColourPreviewStyles = selectedColor => css({
7
7
  '&::before': {
8
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
8
9
  background: selectedColor
9
10
  }
10
11
  });
12
+
13
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles, @atlaskit/design-system/no-exported-css -- Ignored via go/DSP-18766
11
14
  export const elementBeforeIconStyles = css({
12
15
  marginRight: "var(--ds-space-negative-075, -6px)",
13
16
  display: 'flex'
14
17
  });
15
18
 
16
19
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- needs manual remediation
17
- export const dragMenuBackgroundColorStyles = css`
20
+ export const dragMenuBackgroundColorStyles = (tableSortColumnDiscoverability = false) => css`
18
21
  .${ClassName.DRAG_SUBMENU} {
19
22
  border-radius: ${"var(--ds-border-radius, 3px)"};
20
23
  background: ${"var(--ds-surface-overlay, white)"};
21
24
  box-shadow: ${`var(--ds-shadow-overlay, ${`0 4px 8px -2px ${N60A}, 0 0 1px ${N60A}`})`};
22
25
  display: block;
23
26
  position: absolute;
24
- top: 0;
27
+ top: ${tableSortColumnDiscoverability ? TABLE_DRAG_MENU_PADDING_TOP + TABLE_DRAG_MENU_SORT_GROUP_HEIGHT + TABLE_DRAG_MENU_MENU_GROUP_BEFORE_HEIGHT : 0}px; // move the submenu down when 'sort increasing/decreasing' appear before background color picker
25
28
  left: ${dragMenuDropdownWidth}px;
26
29
  padding: ${"var(--ds-space-100, 8px)"};
27
30
 
@@ -50,17 +53,22 @@ export const dragMenuBackgroundColorStyles = css`
50
53
  }
51
54
  }
52
55
  `;
56
+
57
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles, @atlaskit/design-system/no-exported-css -- Ignored via go/DSP-18766
53
58
  export const toggleStyles = css({
54
59
  display: 'flex',
60
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
55
61
  "input[type='checkbox']": {
56
62
  width: '30px',
57
63
  height: '14px',
58
64
  pointerEvents: 'initial',
59
65
  cursor: 'pointer'
60
66
  },
67
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
61
68
  '> label': {
62
69
  margin: '0px',
63
70
  pointerEvents: 'none',
71
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
64
72
  '> span': {
65
73
  pointerEvents: 'none'
66
74
  }
@@ -96,7 +96,9 @@ export default class NumberColumn extends Component {
96
96
  style: {
97
97
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
98
98
  marginTop: hasHeaderRow && this.props.stickyTop !== undefined ? rowHeights[0] : undefined,
99
- borderLeft: isDragAndDropEnabled && tableActive ? `1px solid ${tableBorderColor}` : undefined
99
+ borderLeft:
100
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
101
+ isDragAndDropEnabled && tableActive ? `1px solid ${tableBorderColor}` : undefined
100
102
  },
101
103
  contentEditable: false
102
104
  }, rowHeights.map((rowHeight, index) => isDragAndDropEnabled ? /*#__PURE__*/React.createElement("div", {
@@ -68,7 +68,7 @@ class RowControlsComponent extends Component {
68
68
  marginTop: `${marginTop}px`,
69
69
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
70
70
  top: thisRowSticky ? `${this.props.stickyTop + 3}px` : undefined,
71
- // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
71
+ // 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
72
72
  paddingTop: thisRowSticky ? `${tableControlsSpacing}px` : undefined
73
73
  }
74
74
  }, /*#__PURE__*/React.createElement("button", {
@@ -190,9 +190,13 @@ const DragControlsComponent = ({
190
190
  className: ClassName.DRAG_ROW_CONTROLS,
191
191
  style: {
192
192
  gridTemplateRows: heights,
193
- gridTemplateColumns: isDragging ? `${dropTargetExtendedWidth}px 14px ${tableWidth}px` : '0px 14px 0px',
193
+ gridTemplateColumns: isDragging ?
194
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
195
+ `${dropTargetExtendedWidth}px 14px ${tableWidth}px` : '0px 14px 0px',
194
196
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
195
- left: isDragging ? `-${dropTargetExtendedWidth + 2}px` : "var(--ds-space-negative-025, -2px)"
197
+ left: isDragging ?
198
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
199
+ `-${dropTargetExtendedWidth + 2}px` : "var(--ds-space-negative-025, -2px)"
196
200
  },
197
201
  onMouseMove: handleMouseMove,
198
202
  contentEditable: false
@@ -1001,7 +1001,7 @@ export const tableStyles = props => css`
1001
1001
  ${shadowSentinelStyles}
1002
1002
  `;
1003
1003
 
1004
- // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
1004
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview, @atlaskit/ui-styling-standard/no-exported-styles, @atlaskit/design-system/no-exported-css -- Ignored via go/DSP-18766
1005
1005
  export const tableFullPageEditorStyles = css`
1006
1006
  .ProseMirror .${ClassName.TABLE_NODE_WRAPPER} > table {
1007
1007
  margin-left: 0;
@@ -1010,6 +1010,8 @@ export const tableFullPageEditorStyles = css`
1010
1010
  width: 100%;
1011
1011
  }
1012
1012
  `;
1013
+
1014
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles, @atlaskit/design-system/no-exported-css -- Ignored via go/DSP-18766
1013
1015
  export const tableCommentEditorStyles = css`
1014
1016
  .ProseMirror .${ClassName.TABLE_NODE_WRAPPER} > table {
1015
1017
  margin-left: 0;
@@ -67,6 +67,9 @@ export const STICKY_HEADER_TOGGLE_TOLERANCE_MS = 5;
67
67
  // table margins and padding. For example a guideline at 1800px and the view at 1860px wide, means the guidelines is visible
68
68
  // BUT it cannot be snapped to during resize due to padding being applied to the resizer wrapper. This accommodates that difference.
69
69
  export const TABLE_GUIDELINE_VISIBLE_ADJUSTMENT = -68;
70
+ export const TABLE_DRAG_MENU_SORT_GROUP_HEIGHT = 92;
71
+ export const TABLE_DRAG_MENU_PADDING_TOP = 4;
72
+ export const TABLE_DRAG_MENU_MENU_GROUP_BEFORE_HEIGHT = 6;
70
73
  export const dragMenuDropdownWidth = 250;
71
74
  export const dragTableInsertColumnButtonSize = 16;
72
75
  export const dropTargetExtendedWidth = 150;
@@ -15,9 +15,12 @@ const InsertLine = cssString => css`
15
15
  }
16
16
  `;
17
17
  const Marker = () => css({
18
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
18
19
  backgroundColor: tableBorderColor,
19
20
  position: 'absolute',
21
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
20
22
  height: `${lineMarkerSize}px`,
23
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
21
24
  width: `${lineMarkerSize}px`,
22
25
  borderRadius: '50%',
23
26
  pointerEvents: 'none'
@@ -217,13 +220,26 @@ export const dragCornerControlButton = () => css`
217
220
  position: relative;
218
221
  }
219
222
  `;
220
- export const insertColumnButtonWrapper = () => css(InsertButton(), InsertButtonHover(), InsertLine(`
223
+ export const insertColumnButtonWrapper = () => css(
224
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
225
+ InsertButton(),
226
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
227
+ InsertButtonHover(),
228
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
229
+ InsertLine(`
221
230
  width: 2px;
222
231
  left: 9px;
223
232
  `));
224
- export const insertRowButtonWrapper = () => css(InsertButton(), InsertButtonHover(), InsertLine(`
233
+ export const insertRowButtonWrapper = () => css(
234
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
235
+ InsertButton(),
236
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
237
+ InsertButtonHover(),
238
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
239
+ InsertLine(`
225
240
  height: 2px;
226
241
  top: -11px;
242
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
227
243
  left: ${tableInsertColumnButtonSize - 1}px;
228
244
  `));
229
245
  export const columnControlsLineMarker = () => css`
@@ -310,19 +326,26 @@ const overflowShadowWidhoutDnD = isDragAndDropEnabled => {
310
326
  };
311
327
  const columnHeaderButton = cssString => {
312
328
  return css({
329
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
313
330
  background: tableHeaderCellBackgroundColor,
314
331
  display: 'block',
315
332
  boxSizing: 'border-box',
316
333
  padding: 0,
334
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
317
335
  ':focus': {
318
336
  outline: 'none'
319
337
  }
320
- }, cssString);
338
+ },
339
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
340
+ cssString);
321
341
  };
322
342
  const columnHeaderButtonSelected = () => css({
323
343
  color: `var(--ds-text-inverse, ${N0})`,
344
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
324
345
  backgroundColor: tableToolbarSelectedColor,
346
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
325
347
  borderColor: tableBorderSelectedColor,
348
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
326
349
  zIndex: columnControlsSelectedZIndex
327
350
  });
328
351
  const getFloatingDotOverrides = () => {
@@ -540,6 +563,8 @@ export const hoveredCell = () => css`
540
563
  }
541
564
  }
542
565
  `;
566
+
567
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles, @atlaskit/design-system/no-exported-css -- Ignored via go/DSP-18766
543
568
  export const hoveredWarningCell = css`
544
569
  :not(.${ClassName.IS_RESIZING})
545
570
  .${ClassName.TABLE_CONTAINER}:not(.${ClassName.HOVERED_DELETE_BUTTON}) {
@@ -674,22 +699,30 @@ export const resizeHandle = isDragAndDropEnabled => css`
674
699
  const tableCellColumnInsertLineStyles = css({
675
700
  content: "' '",
676
701
  position: 'absolute',
702
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
677
703
  height: `calc(100% + ${tableCellBorderWidth * 2}px)`,
704
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
678
705
  width: `${insertLineWidth}px`,
706
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
679
707
  zIndex: columnControlsZIndex * 2
680
708
  });
681
709
  const tableCellRowInsertLineStyles = css({
682
710
  content: "' '",
683
711
  position: 'absolute',
684
712
  left: "var(--ds-space-negative-025, -2px)",
713
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
685
714
  height: `${insertLineWidth}px`,
715
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
686
716
  width: `calc(100% + ${tableCellBorderWidth * 2}px)`,
717
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
687
718
  zIndex: columnControlsZIndex * 2
688
719
  });
689
720
  const insertLineActiveColor = css({
721
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
690
722
  backgroundColor: tableBorderSelectedColor
691
723
  });
692
724
  const insertLineInactiveColor = css({
725
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
693
726
  backgroundColor: `var(--ds-background-accent-gray-subtler, ${akEditorTableBorder})`
694
727
  });
695
728
 
@@ -65,8 +65,11 @@ const defaultSelectionRect = {
65
65
  right: 0,
66
66
  bottom: 0
67
67
  };
68
- export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, isHeaderRowRequired, isTableScalingEnabled = false, tableDuplicateCellColouring = false, isTableFixedColumnWidthsOptionEnabled = false, shouldUseIncreasedScalingPercent = false) => {
68
+ export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, isHeaderRowRequired, isTableScalingEnabled = false, tableDuplicateCellColouring = false, isTableFixedColumnWidthsOptionEnabled = false, shouldUseIncreasedScalingPercent = false, tableSortColumnDiscoverability = false) => {
69
69
  var _tableMap$height, _tableMap$height2, _tableMap$width, _tableMap$width2;
70
+ const {
71
+ selection
72
+ } = editorView.state;
70
73
  const addOptions = direction === 'row' ? [{
71
74
  label: 'above',
72
75
  offset: 0,
@@ -88,9 +91,6 @@ export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, h
88
91
  icon: AddColRightIcon,
89
92
  keymap: addColumnAfter
90
93
  }];
91
- const {
92
- selection
93
- } = editorView.state;
94
94
  const moveOptions = direction === 'row' ? [{
95
95
  label: 'up',
96
96
  icon: ArrowUpIcon,
@@ -129,7 +129,21 @@ export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, h
129
129
  order: SortOrder.DESC,
130
130
  icon: HipchatChevronDoubleDownIcon
131
131
  }] : [];
132
- return [...addOptions.map(({
132
+ const sortConfigs = [...sortOptions.map(({
133
+ label,
134
+ order,
135
+ icon
136
+ }) => ({
137
+ id: `sort_column_${order}`,
138
+ title: `Sort ${label}`,
139
+ disabled: hasMergedCellsInTable,
140
+ icon,
141
+ onClick: (state, dispatch) => {
142
+ sortColumnWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.TABLE_CONTEXT_MENU, index !== null && index !== void 0 ? index : 0, order)(state, dispatch);
143
+ return true;
144
+ }
145
+ }))];
146
+ const restConfigs = [...addOptions.map(({
133
147
  label,
134
148
  offset,
135
149
  icon,
@@ -211,18 +225,8 @@ export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, h
211
225
  return false;
212
226
  },
213
227
  keymap: keymap && tooltip(keymap)
214
- })), ...sortOptions.map(({
215
- label,
216
- order,
217
- icon
218
- }) => ({
219
- id: `sort_column_${order}`,
220
- title: `Sort ${label}`,
221
- disabled: hasMergedCellsInTable,
222
- icon,
223
- onClick: (state, dispatch) => {
224
- sortColumnWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.TABLE_CONTEXT_MENU, index !== null && index !== void 0 ? index : 0, order)(state, dispatch);
225
- return true;
226
- }
227
- }))].filter(Boolean);
228
+ }))];
229
+ let allConfigs = [...restConfigs];
230
+ tableSortColumnDiscoverability ? allConfigs.unshift(...sortConfigs) : allConfigs.push(...sortConfigs);
231
+ return allConfigs.filter(Boolean);
228
232
  };
@@ -44,10 +44,11 @@ export var ExternalDropTargets = function ExternalDropTargets(_ref) {
44
44
  overflow: 'hidden',
45
45
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
46
46
  position: 'absolute',
47
- // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
47
+ // 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
48
48
  top: "-".concat(dropTargetExtendedWidth - tableMarginTop, "px"),
49
49
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
50
50
  pointerEvents: 'auto',
51
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
51
52
  zIndex: "".concat(dropTargetsZIndex)
52
53
  },
53
54
  "data-testid": "table-floating-column-extended-drop-targets"
@@ -206,6 +206,7 @@ export var TableResizer = function TableResizer(_ref) {
206
206
  tableLocalId: node.attrs.localId,
207
207
  tableRef: tableRef
208
208
  });
209
+ tr.setMeta('is-resizer-resizing', true);
209
210
  tr.setMeta(META_KEYS.OVERFLOW_TRIGGER, {
210
211
  name: TABLE_OVERFLOW_CHANGE_TRIGGER.RESIZED
211
212
  });
@@ -271,6 +272,7 @@ export var TableResizer = function TableResizer(_ref) {
271
272
  tableLocalId: '',
272
273
  tableRef: null
273
274
  });
275
+ tr.setMeta('is-resizer-resizing', false);
274
276
  var frameRateSamples = endMeasure();
275
277
  if (frameRateSamples.length > 0) {
276
278
  var resizeFrameRatePayloads = generateResizeFrameRatePayloads({