@atlaskit/editor-plugin-table 7.16.18 → 7.17.0

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 (147) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/commands/column-resize.js +4 -3
  3. package/dist/cjs/commands/delete.js +3 -2
  4. package/dist/cjs/commands/insert.js +12 -8
  5. package/dist/cjs/commands-with-analytics.js +10 -7
  6. package/dist/cjs/event-handlers.js +3 -2
  7. package/dist/cjs/nodeviews/TableComponent.js +32 -19
  8. package/dist/cjs/nodeviews/TableContainer.js +4 -0
  9. package/dist/cjs/nodeviews/TableResizer.js +3 -2
  10. package/dist/cjs/nodeviews/table.js +6 -4
  11. package/dist/cjs/plugin.js +9 -6
  12. package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +12 -13
  13. package/dist/cjs/pm-plugins/keymap.js +11 -9
  14. package/dist/cjs/pm-plugins/main.js +4 -1
  15. package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +10 -9
  16. package/dist/cjs/pm-plugins/table-resizing/utils/resize-state.js +4 -3
  17. package/dist/cjs/pm-plugins/table-resizing/utils/scale-table.js +4 -3
  18. package/dist/cjs/toolbar.js +29 -20
  19. package/dist/cjs/transforms/column-width.js +3 -3
  20. package/dist/cjs/transforms/delete-columns.js +3 -2
  21. package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +21 -15
  22. package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +3 -2
  23. package/dist/cjs/ui/FloatingDragMenu/index.js +6 -3
  24. package/dist/cjs/ui/FloatingInsertButton/index.js +7 -8
  25. package/dist/cjs/ui/TableFloatingControls/index.js +4 -1
  26. package/dist/cjs/utils/drag-menu.js +5 -4
  27. package/dist/es2019/commands/column-resize.js +4 -3
  28. package/dist/es2019/commands/delete.js +2 -2
  29. package/dist/es2019/commands/insert.js +8 -8
  30. package/dist/es2019/commands-with-analytics.js +9 -8
  31. package/dist/es2019/event-handlers.js +2 -2
  32. package/dist/es2019/nodeviews/TableComponent.js +28 -17
  33. package/dist/es2019/nodeviews/TableContainer.js +4 -0
  34. package/dist/es2019/nodeviews/TableResizer.js +3 -2
  35. package/dist/es2019/nodeviews/table.js +5 -4
  36. package/dist/es2019/plugin.js +9 -6
  37. package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +7 -10
  38. package/dist/es2019/pm-plugins/keymap.js +9 -9
  39. package/dist/es2019/pm-plugins/main.js +4 -1
  40. package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +10 -9
  41. package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +4 -4
  42. package/dist/es2019/pm-plugins/table-resizing/utils/scale-table.js +4 -4
  43. package/dist/es2019/toolbar.js +25 -22
  44. package/dist/es2019/transforms/column-width.js +2 -3
  45. package/dist/es2019/transforms/delete-columns.js +2 -2
  46. package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +12 -7
  47. package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +3 -2
  48. package/dist/es2019/ui/FloatingDragMenu/index.js +5 -3
  49. package/dist/es2019/ui/FloatingInsertButton/index.js +6 -8
  50. package/dist/es2019/ui/TableFloatingControls/index.js +5 -1
  51. package/dist/es2019/utils/drag-menu.js +4 -4
  52. package/dist/esm/commands/column-resize.js +4 -3
  53. package/dist/esm/commands/delete.js +3 -2
  54. package/dist/esm/commands/insert.js +12 -8
  55. package/dist/esm/commands-with-analytics.js +10 -7
  56. package/dist/esm/event-handlers.js +3 -2
  57. package/dist/esm/nodeviews/TableComponent.js +32 -19
  58. package/dist/esm/nodeviews/TableContainer.js +4 -0
  59. package/dist/esm/nodeviews/TableResizer.js +3 -2
  60. package/dist/esm/nodeviews/table.js +6 -4
  61. package/dist/esm/plugin.js +9 -6
  62. package/dist/esm/pm-plugins/drag-and-drop/plugin.js +12 -13
  63. package/dist/esm/pm-plugins/keymap.js +11 -9
  64. package/dist/esm/pm-plugins/main.js +4 -1
  65. package/dist/esm/pm-plugins/table-resizing/event-handlers.js +10 -9
  66. package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +4 -3
  67. package/dist/esm/pm-plugins/table-resizing/utils/scale-table.js +4 -3
  68. package/dist/esm/toolbar.js +29 -20
  69. package/dist/esm/transforms/column-width.js +3 -3
  70. package/dist/esm/transforms/delete-columns.js +3 -2
  71. package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +21 -15
  72. package/dist/esm/ui/FloatingDragMenu/DragMenu.js +3 -2
  73. package/dist/esm/ui/FloatingDragMenu/index.js +6 -3
  74. package/dist/esm/ui/FloatingInsertButton/index.js +7 -8
  75. package/dist/esm/ui/TableFloatingControls/index.js +4 -1
  76. package/dist/esm/utils/drag-menu.js +5 -4
  77. package/dist/types/commands/column-resize.d.ts +2 -1
  78. package/dist/types/commands/delete.d.ts +1 -1
  79. package/dist/types/commands/insert.d.ts +4 -4
  80. package/dist/types/commands-with-analytics.d.ts +4 -4
  81. package/dist/types/event-handlers.d.ts +1 -1
  82. package/dist/types/nodeviews/TableContainer.d.ts +4 -2
  83. package/dist/types/nodeviews/TableResizer.d.ts +2 -1
  84. package/dist/types/nodeviews/table.d.ts +1 -0
  85. package/dist/types/plugin.d.ts +3 -1
  86. package/dist/types/pm-plugins/drag-and-drop/plugin.d.ts +1 -1
  87. package/dist/types/pm-plugins/keymap.d.ts +1 -1
  88. package/dist/types/pm-plugins/table-resizing/utils/resize-state.d.ts +1 -1
  89. package/dist/types/pm-plugins/table-resizing/utils/scale-table.d.ts +1 -1
  90. package/dist/types/toolbar.d.ts +5 -5
  91. package/dist/types/transforms/column-width.d.ts +1 -1
  92. package/dist/types/transforms/delete-columns.d.ts +1 -1
  93. package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +2 -1
  94. package/dist/types/ui/FloatingInsertButton/index.d.ts +1 -0
  95. package/dist/types/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +8 -2
  96. package/dist/types/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +16 -4
  97. package/dist/types/ui/TableFloatingControls/index.d.ts +8 -2
  98. package/dist/types/utils/drag-menu.d.ts +1 -1
  99. package/dist/types-ts4.5/commands/column-resize.d.ts +2 -1
  100. package/dist/types-ts4.5/commands/delete.d.ts +1 -1
  101. package/dist/types-ts4.5/commands/insert.d.ts +4 -4
  102. package/dist/types-ts4.5/commands-with-analytics.d.ts +4 -4
  103. package/dist/types-ts4.5/event-handlers.d.ts +1 -1
  104. package/dist/types-ts4.5/nodeviews/TableContainer.d.ts +4 -2
  105. package/dist/types-ts4.5/nodeviews/TableResizer.d.ts +2 -1
  106. package/dist/types-ts4.5/nodeviews/table.d.ts +1 -0
  107. package/dist/types-ts4.5/plugin.d.ts +3 -1
  108. package/dist/types-ts4.5/pm-plugins/drag-and-drop/plugin.d.ts +1 -1
  109. package/dist/types-ts4.5/pm-plugins/keymap.d.ts +1 -1
  110. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-state.d.ts +1 -1
  111. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/scale-table.d.ts +1 -1
  112. package/dist/types-ts4.5/toolbar.d.ts +5 -5
  113. package/dist/types-ts4.5/transforms/column-width.d.ts +1 -1
  114. package/dist/types-ts4.5/transforms/delete-columns.d.ts +1 -1
  115. package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +2 -1
  116. package/dist/types-ts4.5/ui/FloatingInsertButton/index.d.ts +1 -0
  117. package/dist/types-ts4.5/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +10 -2
  118. package/dist/types-ts4.5/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +20 -4
  119. package/dist/types-ts4.5/ui/TableFloatingControls/index.d.ts +10 -2
  120. package/dist/types-ts4.5/utils/drag-menu.d.ts +1 -1
  121. package/package.json +3 -9
  122. package/src/commands/column-resize.ts +6 -6
  123. package/src/commands/delete.ts +7 -1
  124. package/src/commands/insert.ts +33 -5
  125. package/src/commands-with-analytics.ts +14 -2
  126. package/src/event-handlers.ts +2 -0
  127. package/src/nodeviews/TableComponent.tsx +28 -28
  128. package/src/nodeviews/TableContainer.tsx +6 -0
  129. package/src/nodeviews/TableResizer.tsx +4 -0
  130. package/src/nodeviews/table.tsx +4 -2
  131. package/src/plugin.tsx +19 -7
  132. package/src/pm-plugins/drag-and-drop/plugin.ts +26 -13
  133. package/src/pm-plugins/keymap.ts +30 -4
  134. package/src/pm-plugins/main.ts +2 -0
  135. package/src/pm-plugins/table-resizing/event-handlers.ts +12 -14
  136. package/src/pm-plugins/table-resizing/utils/resize-state.ts +5 -5
  137. package/src/pm-plugins/table-resizing/utils/scale-table.ts +6 -4
  138. package/src/toolbar.tsx +46 -12
  139. package/src/transforms/column-width.ts +7 -3
  140. package/src/transforms/delete-columns.ts +6 -2
  141. package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +12 -4
  142. package/src/ui/FloatingDragMenu/DragMenu.tsx +3 -0
  143. package/src/ui/FloatingDragMenu/index.tsx +4 -4
  144. package/src/ui/FloatingInsertButton/index.tsx +12 -9
  145. package/src/ui/TableFloatingControls/index.tsx +4 -1
  146. package/src/utils/drag-menu.ts +13 -4
  147. package/tsconfig.app.json +3 -0
@@ -22,7 +22,9 @@ function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAndDropEn
22
22
  var isFullWidthEnabled = arguments.length > 5 ? arguments[5] : undefined;
23
23
  var pluginInjectionApi = arguments.length > 6 ? arguments[6] : undefined;
24
24
  var getIntl = arguments.length > 7 ? arguments[7] : undefined;
25
- var shouldUseIncreasedScalingPercent = arguments.length > 8 ? arguments[8] : undefined;
25
+ var isCellBackgroundDuplicated = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
26
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
27
+ var shouldUseIncreasedScalingPercent = arguments.length > 10 ? arguments[10] : undefined;
26
28
  var list = {};
27
29
  var ariaNotifyPlugin = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.accessibilityUtils) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions.ariaNotify;
28
30
  (0, _keymaps.bindKeymapWithCommand)(_keymaps.nextCell.common, (0, _commands2.goToNextCell)(editorAnalyticsAPI, ariaNotifyPlugin, getIntl)(1), list);
@@ -34,13 +36,13 @@ function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAndDropEn
34
36
  // Add row/column shortcuts
35
37
  (0, _keymaps.bindKeymapWithCommand)(_keymaps.addRowBefore.common, (0, _commandsWithAnalytics.addRowAroundSelection)(editorAnalyticsAPI)('TOP'), list);
36
38
  (0, _keymaps.bindKeymapWithCommand)(_keymaps.addRowAfter.common, (0, _commandsWithAnalytics.addRowAroundSelection)(editorAnalyticsAPI)('BOTTOM'), list);
37
- (0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnBefore.common, (0, _insert.addColumnBefore)(isTableScalingEnabled, shouldUseIncreasedScalingPercent), list);
38
- (0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnAfter.common, (0, _insert.addColumnAfter)(isTableScalingEnabled, shouldUseIncreasedScalingPercent), list);
39
+ (0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnBefore.common, (0, _insert.addColumnBefore)(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
40
+ (0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnAfter.common, (0, _insert.addColumnAfter)(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
39
41
  if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-help-dialog-shortcut-keys-position_aghfg')) {
40
42
  (0, _keymaps.bindKeymapWithCommand)(_keymaps.addRowBeforeVO.common, (0, _commandsWithAnalytics.addRowAroundSelection)(editorAnalyticsAPI)('TOP'), list);
41
43
  (0, _keymaps.bindKeymapWithCommand)(_keymaps.addRowAfterVO.common, (0, _commandsWithAnalytics.addRowAroundSelection)(editorAnalyticsAPI)('BOTTOM'), list);
42
- (0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnBeforeVO.common, (0, _insert.addColumnBefore)(isTableScalingEnabled), list);
43
- (0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnAfterVO.common, (0, _insert.addColumnAfter)(isTableScalingEnabled), list);
44
+ (0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnBeforeVO.common, (0, _insert.addColumnBefore)(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
45
+ (0, _keymaps.bindKeymapWithCommand)(_keymaps.addColumnAfterVO.common, (0, _insert.addColumnAfter)(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
44
46
  }
45
47
  if (dragAndDropEnabled) {
46
48
  // Move row/column shortcuts
@@ -57,8 +59,8 @@ function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAndDropEn
57
59
  (0, _keymaps.bindKeymapWithCommand)(_keymaps.moveColumnRight.common, (0, _commandsWithAnalytics2.moveSourceWithAnalyticsViaShortcut)(editorAnalyticsAPI)('table-column', 1), list);
58
60
 
59
61
  // Delete row/column shortcuts
60
- (0, _keymaps.bindKeymapWithCommand)(_keymaps.deleteColumn.common, (0, _commandsWithAnalytics.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut)(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent), list);
61
- (0, _keymaps.bindKeymapWithCommand)(_keymaps.deleteRow.common, (0, _commandsWithAnalytics.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut)(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent), list);
62
+ (0, _keymaps.bindKeymapWithCommand)(_keymaps.deleteColumn.common, (0, _commandsWithAnalytics.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut)(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
63
+ (0, _keymaps.bindKeymapWithCommand)(_keymaps.deleteRow.common, (0, _commandsWithAnalytics.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut)(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
62
64
  }
63
65
  if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-column-resizing_emcvz')) {
64
66
  (0, _keymaps.bindKeymapWithCommand)(_keymaps.startColumnResizing.common, (0, _columnResize.initiateKeyboardColumnResizing)({
@@ -75,8 +77,8 @@ function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAndDropEn
75
77
  ariaNotify: ariaNotifyPlugin,
76
78
  getIntl: getIntl
77
79
  }), list);
78
- (0, _keymaps.bindKeymapWithCommand)(_keymaps.decreaseMediaSize.common, (0, _commandsWithAnalytics.changeColumnWidthByStepWithAnalytics)(editorAnalyticsAPI)(-10, getEditorContainerWidth, isTableScalingEnabled, _analytics.INPUT_METHOD.SHORTCUT, ariaNotifyPlugin, getIntl), list);
79
- (0, _keymaps.bindKeymapWithCommand)(_keymaps.increaseMediaSize.common, (0, _commandsWithAnalytics.changeColumnWidthByStepWithAnalytics)(editorAnalyticsAPI)(10, getEditorContainerWidth, isTableScalingEnabled, _analytics.INPUT_METHOD.SHORTCUT, ariaNotifyPlugin, getIntl), list);
80
+ (0, _keymaps.bindKeymapWithCommand)(_keymaps.decreaseMediaSize.common, (0, _commandsWithAnalytics.changeColumnWidthByStepWithAnalytics)(editorAnalyticsAPI)(-10, getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, _analytics.INPUT_METHOD.SHORTCUT, ariaNotifyPlugin, getIntl), list);
81
+ (0, _keymaps.bindKeymapWithCommand)(_keymaps.increaseMediaSize.common, (0, _commandsWithAnalytics.changeColumnWidthByStepWithAnalytics)(editorAnalyticsAPI)(10, getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, _analytics.INPUT_METHOD.SHORTCUT, ariaNotifyPlugin, getIntl), list);
80
82
  (0, _keymaps.bindKeymapWithCommand)(_keymaps.escape.common, (0, _columnResize.stopKeyboardColumnResizing)({
81
83
  ariaNotify: ariaNotifyPlugin,
82
84
  getIntl: getIntl
@@ -88,8 +88,11 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatchAnalytic
88
88
  });
89
89
  }
90
90
  if (tr) {
91
+ var _getEditorFeatureFlag = getEditorFeatureFlags(),
92
+ _getEditorFeatureFlag2 = _getEditorFeatureFlag.tableWithFixedColumnWidthsOption,
93
+ tableWithFixedColumnWidthsOption = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2;
91
94
  // "fixTables" removes empty rows as we don't allow that in schema
92
- var updatedTr = (0, _eventHandlers.handleCut)(tr, oldState, newState, editorAnalyticsAPI, editorViewRef || undefined, isTableScalingEnabled, shouldUseIncreasedScalingPercent);
95
+ var updatedTr = (0, _eventHandlers.handleCut)(tr, oldState, newState, editorAnalyticsAPI, editorViewRef || undefined, isTableScalingEnabled, tableWithFixedColumnWidthsOption, shouldUseIncreasedScalingPercent);
93
96
  return (0, _transforms2.fixTables)(updatedTr) || updatedTr;
94
97
  }
95
98
  if (transactions.find(function (tr) {
@@ -53,8 +53,11 @@ var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, e
53
53
  getEditorContainerWidth: getEditorContainerWidth
54
54
  });
55
55
  var shouldScale = tableDepth === 0 && isTableScalingEnabled;
56
- var isTableScalingEnabledWithLockButton = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button');
57
- if (isTableScalingEnabledWithLockButton) {
56
+ var _getEditorFeatureFlag = getEditorFeatureFlags(),
57
+ _getEditorFeatureFlag2 = _getEditorFeatureFlag.tableWithFixedColumnWidthsOption,
58
+ tableWithFixedColumnWidthsOption = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2;
59
+ var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && tableWithFixedColumnWidthsOption;
60
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
58
61
  shouldScale = shouldScale && originalTable.attrs.displayMode !== 'fixed';
59
62
  }
60
63
  var resizeState = (0, _utils3.getResizeState)({
@@ -65,7 +68,7 @@ var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, e
65
68
  start: start,
66
69
  domAtPos: domAtPos,
67
70
  isTableScalingEnabled: shouldScale,
68
- shouldUseIncreasedScalingPercent: isTableScalingEnabledWithLockButton && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent')
71
+ shouldUseIncreasedScalingPercent: isTableScalingWithFixedColumnWidthsOptionEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent')
69
72
  });
70
73
  if ((0, _commands.evenColumns)({
71
74
  resizeState: resizeState,
@@ -140,8 +143,7 @@ var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, e
140
143
  // only selected (or selected - 1) columns should be distributed
141
144
  var resizingSelectedColumns = selectedColumns.indexOf(colIndex) > -1 || selectedColumns.indexOf(colIndex + 1) > -1;
142
145
  var _shouldScale = tableDepth === 0 && isTableScalingEnabled;
143
- var _isTableScalingEnabledWithLockButton = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button');
144
- if (_isTableScalingEnabledWithLockButton) {
146
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
145
147
  _shouldScale = _shouldScale && originalTable.attrs.displayMode !== 'fixed';
146
148
  }
147
149
  var resizedDelta = clientX - startX;
@@ -150,7 +152,7 @@ var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, e
150
152
  tr = (0, _transforms.updateColumnWidths)(newResizeState, table, start)(tr);
151
153
  tr.setNodeAttribute(start - 1, 'width', newResizeState.tableWidth);
152
154
  } else {
153
- var _newResizeState = (0, _utils3.resizeColumn)(resizeState, colIndex, clientX - startX, dom, originalTable, resizingSelectedColumns ? selectedColumns : undefined, _shouldScale, _isTableScalingEnabledWithLockButton && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent'));
155
+ var _newResizeState = (0, _utils3.resizeColumn)(resizeState, colIndex, clientX - startX, dom, originalTable, resizingSelectedColumns ? selectedColumns : undefined, _shouldScale, isTableScalingWithFixedColumnWidthsOptionEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent'));
154
156
  tr = (0, _transforms.updateColumnWidths)(_newResizeState, table, start)(tr);
155
157
  }
156
158
  if (colIndex === map.width - 1) {
@@ -218,9 +220,8 @@ var handleMouseDown = exports.handleMouseDown = function handleMouseDown(view, e
218
220
  var map = _tableMap.TableMap.get(table);
219
221
  var colIndex = map.colCount($cell.pos - $cell.start(-1)) + $cell.nodeAfter.attrs.colspan - 1;
220
222
  var shouldScale = tableDepth === 0 && isTableScalingEnabled;
221
- var isTableScalingEnabledWithLockButton = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button');
222
- var shouldUseIncreasedScalingPercent = isTableScalingEnabledWithLockButton && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
223
- if (isTableScalingEnabledWithLockButton) {
223
+ var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
224
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
224
225
  shouldScale = shouldScale && originalTable.attrs.displayMode !== 'fixed';
225
226
  }
226
227
  if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.colum-resizing-improvements')) {
@@ -305,6 +305,7 @@ var normaliseTableLayout = exports.normaliseTableLayout = function normaliseTabl
305
305
  };
306
306
  var getNewResizeStateFromSelectedColumns = exports.getNewResizeStateFromSelectedColumns = function getNewResizeStateFromSelectedColumns(rect, state, domAtPos, getEditorContainerWidth) {
307
307
  var isTableScalingEnabled = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
308
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
308
309
  // Fail early so that we don't do complex calculations for no reason
309
310
  var numColumnsSelected = rect.right - rect.left;
310
311
  if (numColumnsSelected <= 1) {
@@ -338,8 +339,8 @@ var getNewResizeStateFromSelectedColumns = exports.getNewResizeStateFromSelected
338
339
  });
339
340
  var resizeState;
340
341
  var isTableScalingEnabledOnCurrentTable = isTableScalingEnabled;
341
- var isTableScalingEnabledWithLockButton = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button');
342
- if (isTableScalingEnabledWithLockButton) {
342
+ var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && isTableFixedColumnWidthsOptionEnabled;
343
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
343
344
  isTableScalingEnabledOnCurrentTable = table.node.attrs.displayMode !== 'fixed';
344
345
  }
345
346
  resizeState = getResizeState({
@@ -350,7 +351,7 @@ var getNewResizeStateFromSelectedColumns = exports.getNewResizeStateFromSelected
350
351
  start: table.start,
351
352
  domAtPos: domAtPos,
352
353
  isTableScalingEnabled: isTableScalingEnabledOnCurrentTable,
353
- shouldUseIncreasedScalingPercent: isTableScalingEnabledWithLockButton && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent')
354
+ shouldUseIncreasedScalingPercent: isTableScalingWithFixedColumnWidthsOptionEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent')
354
355
  });
355
356
  var newResizeState = evenSelectedColumnsWidths(resizeState, rect);
356
357
  var widthsBefore = resizeState.widths;
@@ -110,6 +110,7 @@ function scaleTableTo(state, maxSize) {
110
110
  }
111
111
  var previewScaleTable = exports.previewScaleTable = function previewScaleTable(tableRef, options, domAtPos) {
112
112
  var isTableScalingEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
113
+ var isTableWithFixedColumnWidthsOptionEnabled = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
113
114
  var node = options.node,
114
115
  start = options.start,
115
116
  parentWidth = options.parentWidth;
@@ -122,8 +123,8 @@ var previewScaleTable = exports.previewScaleTable = function previewScaleTable(t
122
123
  tableRef.style.width = "".concat(width, "px");
123
124
  }
124
125
  var isTableScalingEnabledOnCurrentTable = isTableScalingEnabled;
125
- var isTableScalingEnabledWithLockButton = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button');
126
- if (isTableScalingEnabledWithLockButton) {
126
+ var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && isTableWithFixedColumnWidthsOptionEnabled;
127
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
127
128
  isTableScalingEnabledOnCurrentTable = isTableScalingEnabled && node.attrs.displayMode !== 'fixed';
128
129
  }
129
130
  // If the table hasn't been resize, the colgroup 48px width values will gracefully scale down.
@@ -132,7 +133,7 @@ var previewScaleTable = exports.previewScaleTable = function previewScaleTable(t
132
133
  (0, _dom.syncStickyRowToTable)(tableRef);
133
134
  return;
134
135
  }
135
- var shouldUseIncreasedScalingPercent = isTableScalingEnabledWithLockButton && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
136
+ var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
136
137
  var resizeState = parentWidth ? scaleWithParent(tableRef, parentWidth, node, start, domAtPos, false,
137
138
  // Here isTableScalingEnabled = false
138
139
  shouldUseIncreasedScalingPercent) : scale(tableRef, options, domAtPos, false, shouldUseIncreasedScalingPercent);
@@ -96,6 +96,7 @@ var getToolbarMenuConfig = exports.getToolbarMenuConfig = function getToolbarMen
96
96
  type: optionItem
97
97
  }
98
98
  }];
99
+ var tableOptionsDropdownWidth = isTableScalingWithFixedColumnWidthsOptionShown ? 192 : undefined;
99
100
  if (state.isDragAndDropEnabled) {
100
101
  return {
101
102
  id: 'editor.table.tableOptions',
@@ -107,7 +108,7 @@ var getToolbarMenuConfig = exports.getToolbarMenuConfig = function getToolbarMen
107
108
  return option.hidden;
108
109
  }),
109
110
  options: options,
110
- dropdownWidth: isTableScalingWithFixedColumnWidthsOptionShown ? 192 : undefined
111
+ dropdownWidth: tableOptionsDropdownWidth
111
112
  };
112
113
  } else {
113
114
  return {
@@ -119,7 +120,7 @@ var getToolbarMenuConfig = exports.getToolbarMenuConfig = function getToolbarMen
119
120
  return option.hidden;
120
121
  }),
121
122
  options: options,
122
- dropdownWidth: isTableScalingWithFixedColumnWidthsOptionShown ? 192 : undefined
123
+ dropdownWidth: tableOptionsDropdownWidth
123
124
  };
124
125
  }
125
126
  };
@@ -131,7 +132,9 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
131
132
  var _pluginState$pluginCo, _pluginState$pluginCo2;
132
133
  var formatMessage = _ref2.formatMessage;
133
134
  var isTableScalingEnabled = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
134
- var shouldUseIncreasedScalingPercent = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
135
+ var isCellBackgroundDuplicated = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
136
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
137
+ var shouldUseIncreasedScalingPercent = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
135
138
  var top = initialSelectionRect.top,
136
139
  bottom = initialSelectionRect.bottom,
137
140
  right = initialSelectionRect.right,
@@ -146,7 +149,7 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
146
149
  var selectionRect = getClosestSelectionRect(state);
147
150
  var index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.right;
148
151
  if (index) {
149
- (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
152
+ (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
150
153
  }
151
154
  return true;
152
155
  },
@@ -182,7 +185,7 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
182
185
  onClick: function onClick(state, dispatch, view) {
183
186
  var selectionRect = getClosestSelectionRect(state);
184
187
  if (selectionRect) {
185
- (0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.FLOATING_TB, selectionRect)(state, dispatch, view);
188
+ (0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.FLOATING_TB, selectionRect)(state, dispatch, view);
186
189
  }
187
190
  return true;
188
191
  },
@@ -225,7 +228,7 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
225
228
  }];
226
229
  if (pluginState !== null && pluginState !== void 0 && (_pluginState$pluginCo = pluginState.pluginConfig) !== null && _pluginState$pluginCo !== void 0 && _pluginState$pluginCo.allowDistributeColumns) {
227
230
  var _newResizeStateWithAn;
228
- var newResizeStateWithAnalytics = editorView ? (0, _resizeState.getNewResizeStateFromSelectedColumns)(initialSelectionRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled) : undefined;
231
+ var newResizeStateWithAnalytics = editorView ? (0, _resizeState.getNewResizeStateFromSelectedColumns)(initialSelectionRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled) : undefined;
229
232
  var wouldChange = (_newResizeStateWithAn = newResizeStateWithAnalytics === null || newResizeStateWithAnalytics === void 0 ? void 0 : newResizeStateWithAnalytics.changed) !== null && _newResizeStateWithAn !== void 0 ? _newResizeStateWithAn : false;
230
233
  var distributeColumnWidths = function distributeColumnWidths(state, dispatch) {
231
234
  if (newResizeStateWithAnalytics) {
@@ -333,7 +336,7 @@ var getClosestSelectionOrTableRect = exports.getClosestSelectionOrTableRect = fu
333
336
  return (0, _utils3.isSelectionType)(selection, 'cell') ? (0, _utils3.getSelectionRect)(selection) : tableRect;
334
337
  };
335
338
  var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getEditorContainerWidth, editorAnalyticsAPI, getEditorFeatureFlags, getEditorView, options) {
336
- var isTableScalingWithFixedColumnWidthsOptionEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
339
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
337
340
  var shouldUseIncreasedScalingPercent = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
338
341
  return function (config) {
339
342
  return function (state, intl) {
@@ -341,13 +344,14 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
341
344
  var pluginState = (0, _pluginFactory.getPluginState)(state);
342
345
  var resizeState = _tableResizing.pluginKey.getState(state);
343
346
  var tableWidthState = _tableWidth.pluginKey.getState(state);
347
+ var isTableScalingEnabled = (options === null || options === void 0 ? void 0 : options.isTableScalingEnabled) || false;
344
348
 
345
349
  // We don't want to show floating toolbar while resizing the table
346
350
  var isWidthResizing = tableWidthState === null || tableWidthState === void 0 ? void 0 : tableWidthState.resizing;
347
351
  if (tableObject && pluginState.editorHasFocus && !isWidthResizing) {
348
352
  var nodeType = state.schema.nodes.table;
349
353
  var isNested = pluginState.tablePos && (0, _utils4.isTableNested)(state, pluginState.tablePos);
350
- var isTableScalingWithFixedColumnWidthsOptionShown = isTableScalingWithFixedColumnWidthsOptionEnabled && !isNested;
354
+ var isTableScalingWithFixedColumnWidthsOptionShown = isTableScalingEnabled && isTableFixedColumnWidthsOptionEnabled && !isNested;
351
355
  var areTableColumWidthsFixed = tableObject.node.attrs.displayMode === 'fixed';
352
356
  var editorView = getEditorView();
353
357
  var getDomRef = function getDomRef(editorView) {
@@ -363,9 +367,10 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
363
367
  return element;
364
368
  };
365
369
  var menu = getToolbarMenuConfig(config, pluginState, intl, editorAnalyticsAPI, isTableScalingWithFixedColumnWidthsOptionShown, areTableColumWidthsFixed);
366
- var alignmentMenu = options !== null && options !== void 0 && options.isTableAlignmentEnabled && !isNested ? getAlignmentOptionsConfig(state, intl, editorAnalyticsAPI, getEditorContainerWidth, getDomRef, editorView) : [];
367
- var cellItems = pluginState.isDragAndDropEnabled ? [] : getCellItems(state, editorView, intl, getEditorContainerWidth, editorAnalyticsAPI, options === null || options === void 0 ? void 0 : options.isTableScalingEnabled, shouldUseIncreasedScalingPercent);
368
- var columnSettingsItems = pluginState.isDragAndDropEnabled ? getColumnSettingItems(state, editorView, intl, getEditorContainerWidth, editorAnalyticsAPI, options === null || options === void 0 ? void 0 : options.isTableScalingEnabled) : [];
370
+ var alignmentMenu = options !== null && options !== void 0 && options.isTableAlignmentEnabled && !isNested ? getAlignmentOptionsConfig(state, intl, editorAnalyticsAPI, getEditorContainerWidth, getDomRef, editorView, shouldUseIncreasedScalingPercent) : [];
371
+ var isCellBackgroundDuplicated = getEditorFeatureFlags().tableDuplicateCellColouring || false;
372
+ var cellItems = pluginState.isDragAndDropEnabled ? [] : getCellItems(state, editorView, intl, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent);
373
+ var columnSettingsItems = pluginState.isDragAndDropEnabled ? getColumnSettingItems(state, editorView, intl, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled) : [];
369
374
  var colorPicker = getColorPicker(state, menu, intl, editorAnalyticsAPI, getEditorView);
370
375
 
371
376
  // Check if we need to show confirm dialog for delete button
@@ -454,24 +459,27 @@ var separator = function separator(hidden) {
454
459
  var getCellItems = function getCellItems(state, view, _ref3, getEditorContainerWidth, editorAnalyticsAPI) {
455
460
  var formatMessage = _ref3.formatMessage;
456
461
  var isTableScalingEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
457
- var shouldUseIncreasedScalingPercent = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
462
+ var isCellBackgroundDuplicated = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
463
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
464
+ var shouldUseIncreasedScalingPercent = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
458
465
  var initialSelectionRect = getClosestSelectionRect(state);
459
466
  if (initialSelectionRect) {
460
467
  var cellOptions = getToolbarCellOptionsConfig(state, view, initialSelectionRect, {
461
468
  formatMessage: formatMessage
462
- }, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent);
469
+ }, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent);
463
470
  return [cellOptions, separator(cellOptions.hidden)];
464
471
  }
465
472
  return [];
466
473
  };
467
474
  var getDistributeConfig = exports.getDistributeConfig = function getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI) {
468
475
  var isTableScalingEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
476
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
469
477
  return function (state, dispatch, editorView) {
470
478
  var selectionOrTableRect = getClosestSelectionOrTableRect(state);
471
479
  if (!editorView || !selectionOrTableRect) {
472
480
  return false;
473
481
  }
474
- var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionOrTableRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
482
+ var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionOrTableRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled);
475
483
  if (newResizeStateWithAnalytics) {
476
484
  (0, _commandsWithAnalytics.distributeColumnsWidthsWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.FLOATING_TB, newResizeStateWithAnalytics)(state, dispatch);
477
485
  return true;
@@ -486,12 +494,13 @@ var getColumnSettingItems = function getColumnSettingItems(editorState, editorVi
486
494
  var _newResizeStateWithAn2, _pluginState$pluginCo3;
487
495
  var formatMessage = _ref4.formatMessage;
488
496
  var isTableScalingEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
497
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
489
498
  var pluginState = (0, _pluginFactory.getPluginState)(editorState);
490
499
  var selectionOrTableRect = getClosestSelectionOrTableRect(editorState);
491
500
  if (!selectionOrTableRect || !editorView) {
492
501
  return [];
493
502
  }
494
- var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionOrTableRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
503
+ var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionOrTableRect, editorState, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled);
495
504
  var wouldChange = (_newResizeStateWithAn2 = newResizeStateWithAnalytics === null || newResizeStateWithAnalytics === void 0 ? void 0 : newResizeStateWithAnalytics.changed) !== null && _newResizeStateWithAn2 !== void 0 ? _newResizeStateWithAn2 : false;
496
505
  var items = [];
497
506
  if (pluginState !== null && pluginState !== void 0 && (_pluginState$pluginCo3 = pluginState.pluginConfig) !== null && _pluginState$pluginCo3 !== void 0 && _pluginState$pluginCo3.allowDistributeColumns && pluginState.isDragAndDropEnabled) {
@@ -501,7 +510,7 @@ var getColumnSettingItems = function getColumnSettingItems(editorState, editorVi
501
510
  title: formatMessage(_messages.tableMessages.distributeColumns),
502
511
  icon: _layoutThreeEqual.default,
503
512
  onClick: function onClick(state, dispatch, view) {
504
- return getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled)(state, dispatch, view);
513
+ return getDistributeConfig(getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled)(state, dispatch, view);
505
514
  },
506
515
  disabled: !wouldChange
507
516
  });
@@ -574,7 +583,7 @@ var highlightColumnsHandler = function highlightColumnsHandler(state, dispatch)
574
583
  }
575
584
  return false;
576
585
  };
577
- var getAlignmentOptionsConfig = exports.getAlignmentOptionsConfig = function getAlignmentOptionsConfig(editorState, _ref6, editorAnalyticsAPI, getEditorContainerWidth, getDomRef, editorView) {
586
+ var getAlignmentOptionsConfig = exports.getAlignmentOptionsConfig = function getAlignmentOptionsConfig(editorState, _ref6, editorAnalyticsAPI, getEditorContainerWidth, getDomRef, editorView, shouldUseIncreasedScalingPercent) {
578
587
  var formatMessage = _ref6.formatMessage;
579
588
  var tableObject = (0, _utils3.findTable)(editorState.selection);
580
589
  if (!tableObject) {
@@ -607,7 +616,7 @@ var getAlignmentOptionsConfig = exports.getAlignmentOptionsConfig = function get
607
616
  title: formatMessage(layoutToMessages[value]),
608
617
  selected: (0, _alignment.normaliseAlignment)(currentLayout) === value,
609
618
  onClick: (0, _commandsWithAnalytics.setTableAlignmentWithAnalytics)(editorAnalyticsAPI)(value, currentLayout, _analytics.INPUT_METHOD.FLOATING_TB, _analytics.CHANGE_ALIGNMENT_REASON.TOOLBAR_OPTION_CHANGED)
610
- }, isLayoutOptionDisabled(tableObject.node, getEditorContainerWidth, getDomRef, editorView) && {
619
+ }, isLayoutOptionDisabled(tableObject.node, getEditorContainerWidth, getDomRef, editorView, shouldUseIncreasedScalingPercent) && {
611
620
  disabled: value !== 'center'
612
621
  });
613
622
  });
@@ -637,7 +646,7 @@ var getSelectedAlignmentIcon = exports.getSelectedAlignmentIcon = function getSe
637
646
  return icon.value === (0, _alignment.normaliseAlignment)(selectedAlignment);
638
647
  });
639
648
  };
640
- var isLayoutOptionDisabled = exports.isLayoutOptionDisabled = function isLayoutOptionDisabled(selectedNode, getEditorContainerWidth, getDomRef, editorView) {
649
+ var isLayoutOptionDisabled = exports.isLayoutOptionDisabled = function isLayoutOptionDisabled(selectedNode, getEditorContainerWidth, getDomRef, editorView, shouldUseIncreasedScalingPercent) {
641
650
  var _getEditorContainerWi = getEditorContainerWidth(),
642
651
  lineLength = _getEditorContainerWi.lineLength;
643
652
  var tableContainerWidth = (0, _nodeWidth.getTableContainerWidth)(selectedNode);
@@ -646,7 +655,7 @@ var isLayoutOptionDisabled = exports.isLayoutOptionDisabled = function isLayoutO
646
655
  if (editorView) {
647
656
  var tableWrapper = getDomRef(editorView);
648
657
  var tableWrapperWidth = (tableWrapper === null || tableWrapper === void 0 ? void 0 : tableWrapper.clientWidth) || tableContainerWidth;
649
- var scalePercent = (0, _misc.getStaticTableScalingPercent)(selectedNode, tableWrapperWidth);
658
+ var scalePercent = (0, _misc.getStaticTableScalingPercent)(selectedNode, tableWrapperWidth, shouldUseIncreasedScalingPercent);
650
659
  tableContainerWidth = tableContainerWidth * scalePercent;
651
660
  }
652
661
  if (selectedNode && lineLength && tableContainerWidth > lineLength) {
@@ -98,7 +98,8 @@ var updateColumnWidths = exports.updateColumnWidths = function updateColumnWidth
98
98
  */
99
99
  var rescaleColumns = exports.rescaleColumns = function rescaleColumns() {
100
100
  var isTableScalingEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
101
- var shouldUseIncreasedScalingPercent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
101
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
102
+ var shouldUseIncreasedScalingPercent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
102
103
  return function (table, view) {
103
104
  return function (tr) {
104
105
  if (!view) {
@@ -120,7 +121,7 @@ var rescaleColumns = exports.rescaleColumns = function rescaleColumns() {
120
121
  };
121
122
  var tableDepth = view.state.doc.resolve(table.pos).depth;
122
123
  var shouldScale = isTableScalingEnabled && tableDepth === 0;
123
- if (shouldScale && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button')) {
124
+ if (shouldScale && isTableFixedColumnWidthsOptionEnabled) {
124
125
  shouldScale = newTable.attrs.displayMode !== 'fixed';
125
126
  }
126
127
  if (shouldScale) {
@@ -187,7 +188,6 @@ var rescaleColumns = exports.rescaleColumns = function rescaleColumns() {
187
188
  isTableScalingEnabled: shouldScale,
188
189
  shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
189
190
  });
190
-
191
191
  // Two scenarios that require scaling:
192
192
  // 1. If the new table width will result in the table going into overflow
193
193
  // we resize the cells to avoid it (e.g. adding a column)
@@ -213,7 +213,8 @@ function fixRowSpans(table) {
213
213
  }
214
214
  var deleteColumns = exports.deleteColumns = function deleteColumns(rect, allowCustomStep, view) {
215
215
  var isTableScalingEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
216
- var shouldUseIncreasedScalingPercent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
216
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
217
+ var shouldUseIncreasedScalingPercent = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
217
218
  return function (tr) {
218
219
  var updatedTr = tr;
219
220
  updatedTr.setMeta(_tableAnalytics.META_KEYS.OVERFLOW_TRIGGER, {
@@ -226,7 +227,7 @@ var deleteColumns = exports.deleteColumns = function deleteColumns(rect, allowCu
226
227
  }
227
228
  var table = (0, _utils.findTable)(updatedTr.selection);
228
229
  if (table) {
229
- updatedTr = (0, _columnWidth.rescaleColumns)(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(table, view)(updatedTr);
230
+ updatedTr = (0, _columnWidth.rescaleColumns)(isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(table, view)(updatedTr);
230
231
  }
231
232
  return updatedTr;
232
233
  };
@@ -279,7 +279,8 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
279
279
  selectionRect = _this$props8.selectionRect,
280
280
  formatMessage = _this$props8.intl.formatMessage,
281
281
  editorView = _this$props8.editorView,
282
- getEditorContainerWidth = _this$props8.getEditorContainerWidth;
282
+ getEditorContainerWidth = _this$props8.getEditorContainerWidth,
283
+ getEditorFeatureFlags = _this$props8.getEditorFeatureFlags;
283
284
  var _getPluginState8 = (0, _pluginFactory.getPluginState)(editorView.state),
284
285
  isDragAndDropEnabled = _getPluginState8.isDragAndDropEnabled,
285
286
  allowDistributeColumns = _getPluginState8.pluginConfig.allowDistributeColumns;
@@ -288,7 +289,10 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
288
289
  var _getPluginState9 = (0, _pluginFactory.getPluginState)(editorView.state),
289
290
  _getPluginState9$isTa = _getPluginState9.isTableScalingEnabled,
290
291
  isTableScalingEnabled = _getPluginState9$isTa === void 0 ? false : _getPluginState9$isTa;
291
- var newResizeState = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, editorView.state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
292
+ var _ref = getEditorFeatureFlags ? getEditorFeatureFlags() : {},
293
+ _ref$tableWithFixedCo = _ref.tableWithFixedColumnWidthsOption,
294
+ tableWithFixedColumnWidthsOption = _ref$tableWithFixedCo === void 0 ? false : _ref$tableWithFixedCo;
295
+ var newResizeState = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, editorView.state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled, tableWithFixedColumnWidthsOption);
292
296
  var wouldChange = (_newResizeState$chang = newResizeState === null || newResizeState === void 0 ? void 0 : newResizeState.changed) !== null && _newResizeState$chang !== void 0 ? _newResizeState$chang : false;
293
297
  return {
294
298
  content: formatMessage(_messages.tableMessages.distributeColumns),
@@ -370,8 +374,8 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
370
374
  items[1].items.push(deleteRowItem);
371
375
  return items;
372
376
  });
373
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onMenuItemActivated", function (_ref) {
374
- var item = _ref.item;
377
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onMenuItemActivated", function (_ref2) {
378
+ var item = _ref2.item;
375
379
  var _this$props10 = _this.props,
376
380
  editorView = _this$props10.editorView,
377
381
  selectionRect = _this$props10.selectionRect,
@@ -385,10 +389,12 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
385
389
  targetCellPosition = _getPluginState11.targetCellPosition,
386
390
  _getPluginState11$isT = _getPluginState11.isTableScalingEnabled,
387
391
  isTableScalingEnabled = _getPluginState11$isT === void 0 ? false : _getPluginState11$isT;
388
- var _ref2 = getEditorFeatureFlags ? getEditorFeatureFlags() : {},
389
- _ref2$tableDuplicateC = _ref2.tableDuplicateCellColouring,
390
- tableDuplicateCellColouring = _ref2$tableDuplicateC === void 0 ? false : _ref2$tableDuplicateC;
391
- var shouldUseIncreasedScalingPercent = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button') && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
392
+ var _ref3 = getEditorFeatureFlags ? getEditorFeatureFlags() : {},
393
+ _ref3$tableDuplicateC = _ref3.tableDuplicateCellColouring,
394
+ tableDuplicateCellColouring = _ref3$tableDuplicateC === void 0 ? false : _ref3$tableDuplicateC,
395
+ _ref3$tableWithFixedC = _ref3.tableWithFixedColumnWidthsOption,
396
+ tableWithFixedColumnWidthsOption = _ref3$tableWithFixedC === void 0 ? false : _ref3$tableWithFixedC;
397
+ var shouldUseIncreasedScalingPercent = isTableScalingEnabled && tableWithFixedColumnWidthsOption && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
392
398
  switch (item.value.name) {
393
399
  case 'sort_column_desc':
394
400
  (0, _commandsWithAnalytics.sortColumnWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect.left, _customSteps.TableSortOrder.DESC)(state, dispatch);
@@ -407,7 +413,7 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
407
413
  _this.toggleOpen();
408
414
  break;
409
415
  case 'distribute_columns':
410
- var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
416
+ var newResizeStateWithAnalytics = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled, tableWithFixedColumnWidthsOption);
411
417
  if (newResizeStateWithAnalytics) {
412
418
  (0, _commandsWithAnalytics.distributeColumnsWidthsWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.CONTEXT_MENU, newResizeStateWithAnalytics)(state, dispatch);
413
419
  _this.toggleOpen();
@@ -418,7 +424,7 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
418
424
  _this.toggleOpen();
419
425
  break;
420
426
  case 'insert_column':
421
- (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect.right)(state, dispatch, editorView);
427
+ (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring, tableWithFixedColumnWidthsOption, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect.right)(state, dispatch, editorView);
422
428
  _this.toggleOpen();
423
429
  break;
424
430
  case 'insert_row':
@@ -429,7 +435,7 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
429
435
  _this.toggleOpen();
430
436
  break;
431
437
  case 'delete_column':
432
- (0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect)(state, dispatch, editorView);
438
+ (0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, tableWithFixedColumnWidthsOption, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect)(state, dispatch, editorView);
433
439
  _this.toggleOpen();
434
440
  break;
435
441
  case 'delete_row':
@@ -462,8 +468,8 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
462
468
  isSubmenuOpen: false
463
469
  });
464
470
  });
465
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleItemMouseEnter", function (_ref3) {
466
- var item = _ref3.item;
471
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleItemMouseEnter", function (_ref4) {
472
+ var item = _ref4.item;
467
473
  var _this$props12 = _this.props,
468
474
  _this$props12$editorV = _this$props12.editorView,
469
475
  state = _this$props12$editorV.state,
@@ -486,8 +492,8 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
486
492
  (0, _commands.hoverMergedCells)()(state, dispatch);
487
493
  }
488
494
  });
489
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleItemMouseLeave", function (_ref4) {
490
- var item = _ref4.item;
495
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleItemMouseLeave", function (_ref5) {
496
+ var item = _ref5.item;
491
497
  var _this$props$editorVie2 = _this.props.editorView,
492
498
  state = _this$props$editorVie2.state,
493
499
  dispatch = _this$props$editorVie2.dispatch;
@@ -193,7 +193,8 @@ var DragMenu = exports.DragMenu = /*#__PURE__*/_react.default.memo(function (_re
193
193
  boundariesElement = _ref.boundariesElement,
194
194
  isTableScalingEnabled = _ref.isTableScalingEnabled,
195
195
  tableDuplicateCellColouring = _ref.tableDuplicateCellColouring,
196
- shouldUseIncreasedScalingPercent = _ref.shouldUseIncreasedScalingPercent;
196
+ shouldUseIncreasedScalingPercent = _ref.shouldUseIncreasedScalingPercent,
197
+ isTableFixedColumnWidthsOptionEnabled = _ref.isTableFixedColumnWidthsOptionEnabled;
197
198
  var state = editorView.state,
198
199
  dispatch = editorView.dispatch;
199
200
  var selection = state.selection;
@@ -217,7 +218,7 @@ var DragMenu = exports.DragMenu = /*#__PURE__*/_react.default.memo(function (_re
217
218
  hasMergedCellsInTable = (0, _utils3.getMergedCellsPositions)(state.tr).length > 0;
218
219
  }
219
220
  var allowBackgroundColor = (_pluginConfig$allowBa = pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.allowBackgroundColor) !== null && _pluginConfig$allowBa !== void 0 ? _pluginConfig$allowBa : false;
220
- var dragMenuConfig = (0, _dragMenu.getDragMenuConfig)(direction, getEditorContainerWidth, !shouldMoveDisabled, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.isHeaderRowRequired, isTableScalingEnabled, tableDuplicateCellColouring, shouldUseIncreasedScalingPercent);
221
+ var dragMenuConfig = (0, _dragMenu.getDragMenuConfig)(direction, getEditorContainerWidth, !shouldMoveDisabled, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.isHeaderRowRequired, isTableScalingEnabled, tableDuplicateCellColouring, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent);
221
222
  var _convertToDropdownIte = convertToDropdownItems(dragMenuConfig, formatMessage, selectionRect),
222
223
  menuItems = _convertToDropdownIte.menuItems,
223
224
  menuCallback = _convertToDropdownIte.menuCallback;
@@ -39,8 +39,10 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
39
39
  }
40
40
  var _ref2 = getEditorFeatureFlags ? getEditorFeatureFlags() : {},
41
41
  _ref2$tableDuplicateC = _ref2.tableDuplicateCellColouring,
42
- tableDuplicateCellColouring = _ref2$tableDuplicateC === void 0 ? false : _ref2$tableDuplicateC;
43
- var shouldUseIncreasedScalingPercent = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button') && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
42
+ tableDuplicateCellColouring = _ref2$tableDuplicateC === void 0 ? false : _ref2$tableDuplicateC,
43
+ _ref2$tableWithFixedC = _ref2.tableWithFixedColumnWidthsOption,
44
+ tableWithFixedColumnWidthsOption = _ref2$tableWithFixedC === void 0 ? false : _ref2$tableWithFixedC;
45
+ var shouldUseIncreasedScalingPercent = isTableScalingEnabled && tableWithFixedColumnWidthsOption && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
44
46
  return /*#__PURE__*/_react.default.createElement(_ui.Popup, {
45
47
  alignX: direction === 'row' ? 'right' : undefined,
46
48
  alignY: direction === 'row' ? 'start' : undefined,
@@ -76,7 +78,8 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
76
78
  scrollableElement: scrollableElement,
77
79
  isTableScalingEnabled: isTableScalingEnabled,
78
80
  tableDuplicateCellColouring: tableDuplicateCellColouring,
79
- shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
81
+ shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent,
82
+ isTableFixedColumnWidthsOptionEnabled: tableWithFixedColumnWidthsOption
80
83
  }));
81
84
  };
82
85
  FloatingDragMenu.displayName = 'FloatingDragMenu';
@@ -26,7 +26,6 @@ var _tableMap = require("@atlaskit/editor-tables/table-map");
26
26
  var _utils3 = require("@atlaskit/editor-tables/utils");
27
27
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
28
28
  var _commandsWithAnalytics = require("../../commands-with-analytics");
29
- var _pluginFactory = require("../../pm-plugins/plugin-factory");
30
29
  var _types = require("../../types");
31
30
  var _utils4 = require("../../utils");
32
31
  var _getPopupOptions = _interopRequireDefault(require("./getPopupOptions"));
@@ -200,19 +199,19 @@ var FloatingInsertButton = exports.FloatingInsertButton = /*#__PURE__*/function
200
199
  editorView = _this$props4.editorView,
201
200
  insertColumnButtonIndex = _this$props4.insertColumnButtonIndex,
202
201
  editorAnalyticsAPI = _this$props4.editorAnalyticsAPI,
203
- getEditorFeatureFlags = _this$props4.getEditorFeatureFlags;
202
+ getEditorFeatureFlags = _this$props4.getEditorFeatureFlags,
203
+ isTableScalingEnabled = _this$props4.isTableScalingEnabled;
204
204
  if (typeof insertColumnButtonIndex !== 'undefined') {
205
205
  event.preventDefault();
206
- var _getPluginState = (0, _pluginFactory.getPluginState)(editorView.state),
207
- _getPluginState$isTab = _getPluginState.isTableScalingEnabled,
208
- isTableScalingEnabled = _getPluginState$isTab === void 0 ? false : _getPluginState$isTab;
209
- var shouldUseIncreasedScalingPercent = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button') && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
210
206
  var _ref = getEditorFeatureFlags ? getEditorFeatureFlags() : {},
211
207
  _ref$tableDuplicateCe = _ref.tableDuplicateCellColouring,
212
- tableDuplicateCellColouring = _ref$tableDuplicateCe === void 0 ? false : _ref$tableDuplicateCe;
208
+ tableDuplicateCellColouring = _ref$tableDuplicateCe === void 0 ? false : _ref$tableDuplicateCe,
209
+ _ref$tableWithFixedCo = _ref.tableWithFixedColumnWidthsOption,
210
+ tableWithFixedColumnWidthsOption = _ref$tableWithFixedCo === void 0 ? false : _ref$tableWithFixedCo;
211
+ var shouldUseIncreasedScalingPercent = isTableScalingEnabled && tableWithFixedColumnWidthsOption && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
213
212
  var state = editorView.state,
214
213
  dispatch = editorView.dispatch;
215
- (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.BUTTON, insertColumnButtonIndex)(state, dispatch, editorView);
214
+ (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring, tableWithFixedColumnWidthsOption, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.BUTTON, insertColumnButtonIndex)(state, dispatch, editorView);
216
215
  }
217
216
  }
218
217
  }]);