@atlaskit/editor-plugin-table 7.16.13 → 7.16.15

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 (158) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/commands/column-resize.js +6 -3
  3. package/dist/cjs/commands/delete.js +2 -1
  4. package/dist/cjs/commands/insert.js +8 -5
  5. package/dist/cjs/commands/misc.js +17 -1
  6. package/dist/cjs/commands-with-analytics.js +6 -4
  7. package/dist/cjs/event-handlers.js +2 -1
  8. package/dist/cjs/nodeviews/TableComponent.js +21 -10
  9. package/dist/cjs/nodeviews/TableContainer.js +7 -3
  10. package/dist/cjs/nodeviews/TableResizer.js +3 -2
  11. package/dist/cjs/plugin.js +4 -3
  12. package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +4 -2
  13. package/dist/cjs/pm-plugins/keymap.js +5 -4
  14. package/dist/cjs/pm-plugins/main.js +2 -2
  15. package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +12 -7
  16. package/dist/cjs/pm-plugins/table-resizing/utils/colgroup.js +6 -5
  17. package/dist/cjs/pm-plugins/table-resizing/utils/consts.js +2 -1
  18. package/dist/cjs/pm-plugins/table-resizing/utils/index.js +6 -0
  19. package/dist/cjs/pm-plugins/table-resizing/utils/misc.js +6 -4
  20. package/dist/cjs/pm-plugins/table-resizing/utils/resize-column.js +5 -3
  21. package/dist/cjs/pm-plugins/table-resizing/utils/resize-state.js +13 -8
  22. package/dist/cjs/pm-plugins/table-resizing/utils/scale-table.js +17 -9
  23. package/dist/cjs/toolbar.js +10 -5
  24. package/dist/cjs/transforms/column-width.js +3 -1
  25. package/dist/cjs/transforms/delete-columns.js +2 -1
  26. package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +4 -2
  27. package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +3 -2
  28. package/dist/cjs/ui/FloatingDragMenu/index.js +4 -1
  29. package/dist/cjs/ui/FloatingInsertButton/index.js +3 -1
  30. package/dist/cjs/utils/drag-menu.js +2 -1
  31. package/dist/es2019/commands/column-resize.js +6 -3
  32. package/dist/es2019/commands/delete.js +2 -2
  33. package/dist/es2019/commands/insert.js +8 -8
  34. package/dist/es2019/commands/misc.js +17 -1
  35. package/dist/es2019/commands-with-analytics.js +6 -6
  36. package/dist/es2019/event-handlers.js +2 -2
  37. package/dist/es2019/nodeviews/TableComponent.js +21 -10
  38. package/dist/es2019/nodeviews/TableContainer.js +7 -3
  39. package/dist/es2019/nodeviews/TableResizer.js +3 -2
  40. package/dist/es2019/plugin.js +4 -3
  41. package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +4 -2
  42. package/dist/es2019/pm-plugins/keymap.js +5 -5
  43. package/dist/es2019/pm-plugins/main.js +2 -2
  44. package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +12 -7
  45. package/dist/es2019/pm-plugins/table-resizing/utils/colgroup.js +6 -6
  46. package/dist/es2019/pm-plugins/table-resizing/utils/consts.js +1 -0
  47. package/dist/es2019/pm-plugins/table-resizing/utils/index.js +1 -1
  48. package/dist/es2019/pm-plugins/table-resizing/utils/misc.js +7 -5
  49. package/dist/es2019/pm-plugins/table-resizing/utils/resize-column.js +5 -5
  50. package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +12 -8
  51. package/dist/es2019/pm-plugins/table-resizing/utils/scale-table.js +17 -12
  52. package/dist/es2019/toolbar.js +10 -8
  53. package/dist/es2019/transforms/column-width.js +3 -2
  54. package/dist/es2019/transforms/delete-columns.js +2 -2
  55. package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +4 -2
  56. package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +3 -2
  57. package/dist/es2019/ui/FloatingDragMenu/index.js +4 -1
  58. package/dist/es2019/ui/FloatingInsertButton/index.js +3 -1
  59. package/dist/es2019/utils/drag-menu.js +2 -2
  60. package/dist/esm/commands/column-resize.js +6 -3
  61. package/dist/esm/commands/delete.js +2 -1
  62. package/dist/esm/commands/insert.js +8 -5
  63. package/dist/esm/commands/misc.js +17 -1
  64. package/dist/esm/commands-with-analytics.js +6 -4
  65. package/dist/esm/event-handlers.js +2 -1
  66. package/dist/esm/nodeviews/TableComponent.js +21 -10
  67. package/dist/esm/nodeviews/TableContainer.js +7 -3
  68. package/dist/esm/nodeviews/TableResizer.js +3 -2
  69. package/dist/esm/plugin.js +4 -3
  70. package/dist/esm/pm-plugins/drag-and-drop/plugin.js +4 -2
  71. package/dist/esm/pm-plugins/keymap.js +5 -4
  72. package/dist/esm/pm-plugins/main.js +2 -2
  73. package/dist/esm/pm-plugins/table-resizing/event-handlers.js +12 -7
  74. package/dist/esm/pm-plugins/table-resizing/utils/colgroup.js +6 -5
  75. package/dist/esm/pm-plugins/table-resizing/utils/consts.js +1 -0
  76. package/dist/esm/pm-plugins/table-resizing/utils/index.js +1 -1
  77. package/dist/esm/pm-plugins/table-resizing/utils/misc.js +7 -5
  78. package/dist/esm/pm-plugins/table-resizing/utils/resize-column.js +5 -3
  79. package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +13 -8
  80. package/dist/esm/pm-plugins/table-resizing/utils/scale-table.js +17 -9
  81. package/dist/esm/toolbar.js +10 -5
  82. package/dist/esm/transforms/column-width.js +3 -1
  83. package/dist/esm/transforms/delete-columns.js +2 -1
  84. package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +4 -2
  85. package/dist/esm/ui/FloatingDragMenu/DragMenu.js +3 -2
  86. package/dist/esm/ui/FloatingDragMenu/index.js +4 -1
  87. package/dist/esm/ui/FloatingInsertButton/index.js +3 -1
  88. package/dist/esm/utils/drag-menu.js +2 -1
  89. package/dist/types/commands/delete.d.ts +1 -1
  90. package/dist/types/commands/insert.d.ts +4 -4
  91. package/dist/types/commands-with-analytics.d.ts +3 -3
  92. package/dist/types/event-handlers.d.ts +1 -1
  93. package/dist/types/nodeviews/TableContainer.d.ts +4 -2
  94. package/dist/types/nodeviews/TableResizer.d.ts +2 -1
  95. package/dist/types/pm-plugins/keymap.d.ts +1 -1
  96. package/dist/types/pm-plugins/main.d.ts +1 -1
  97. package/dist/types/pm-plugins/table-resizing/utils/colgroup.d.ts +2 -2
  98. package/dist/types/pm-plugins/table-resizing/utils/consts.d.ts +1 -0
  99. package/dist/types/pm-plugins/table-resizing/utils/index.d.ts +1 -1
  100. package/dist/types/pm-plugins/table-resizing/utils/misc.d.ts +2 -2
  101. package/dist/types/pm-plugins/table-resizing/utils/resize-column.d.ts +2 -2
  102. package/dist/types/pm-plugins/table-resizing/utils/resize-state.d.ts +3 -2
  103. package/dist/types/pm-plugins/table-resizing/utils/scale-table.d.ts +3 -3
  104. package/dist/types/toolbar.d.ts +2 -2
  105. package/dist/types/transforms/column-width.d.ts +1 -1
  106. package/dist/types/transforms/delete-columns.d.ts +1 -1
  107. package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +2 -1
  108. package/dist/types/utils/drag-menu.d.ts +1 -1
  109. package/dist/types-ts4.5/commands/delete.d.ts +1 -1
  110. package/dist/types-ts4.5/commands/insert.d.ts +4 -4
  111. package/dist/types-ts4.5/commands-with-analytics.d.ts +3 -3
  112. package/dist/types-ts4.5/event-handlers.d.ts +1 -1
  113. package/dist/types-ts4.5/nodeviews/TableContainer.d.ts +4 -2
  114. package/dist/types-ts4.5/nodeviews/TableResizer.d.ts +2 -1
  115. package/dist/types-ts4.5/pm-plugins/keymap.d.ts +1 -1
  116. package/dist/types-ts4.5/pm-plugins/main.d.ts +1 -1
  117. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/colgroup.d.ts +2 -2
  118. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/consts.d.ts +1 -0
  119. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/index.d.ts +1 -1
  120. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/misc.d.ts +2 -2
  121. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-column.d.ts +2 -2
  122. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-state.d.ts +3 -2
  123. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/scale-table.d.ts +3 -3
  124. package/dist/types-ts4.5/toolbar.d.ts +2 -2
  125. package/dist/types-ts4.5/transforms/column-width.d.ts +1 -1
  126. package/dist/types-ts4.5/transforms/delete-columns.d.ts +1 -1
  127. package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +2 -1
  128. package/dist/types-ts4.5/utils/drag-menu.d.ts +1 -1
  129. package/package.json +4 -1
  130. package/src/commands/column-resize.ts +9 -3
  131. package/src/commands/delete.ts +2 -1
  132. package/src/commands/insert.ts +31 -12
  133. package/src/commands/misc.ts +20 -4
  134. package/src/commands-with-analytics.ts +24 -8
  135. package/src/event-handlers.ts +2 -0
  136. package/src/nodeviews/TableComponent.tsx +41 -12
  137. package/src/nodeviews/TableContainer.tsx +6 -0
  138. package/src/nodeviews/TableResizer.tsx +4 -0
  139. package/src/plugin.tsx +9 -0
  140. package/src/pm-plugins/drag-and-drop/plugin.ts +13 -4
  141. package/src/pm-plugins/keymap.ts +17 -4
  142. package/src/pm-plugins/main.ts +2 -0
  143. package/src/pm-plugins/table-resizing/event-handlers.ts +21 -10
  144. package/src/pm-plugins/table-resizing/utils/colgroup.ts +14 -4
  145. package/src/pm-plugins/table-resizing/utils/consts.ts +1 -0
  146. package/src/pm-plugins/table-resizing/utils/index.ts +1 -0
  147. package/src/pm-plugins/table-resizing/utils/misc.ts +24 -5
  148. package/src/pm-plugins/table-resizing/utils/resize-column.ts +11 -4
  149. package/src/pm-plugins/table-resizing/utils/resize-state.ts +17 -6
  150. package/src/pm-plugins/table-resizing/utils/scale-table.ts +32 -9
  151. package/src/toolbar.tsx +18 -10
  152. package/src/transforms/column-width.ts +2 -1
  153. package/src/transforms/delete-columns.ts +11 -2
  154. package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +12 -5
  155. package/src/ui/FloatingDragMenu/DragMenu.tsx +3 -0
  156. package/src/ui/FloatingDragMenu/index.tsx +7 -0
  157. package/src/ui/FloatingInsertButton/index.tsx +7 -0
  158. package/src/utils/drag-menu.ts +2 -0
@@ -3,10 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TABLE_MAX_WIDTH = exports.TABLE_EDITOR_MARGIN = exports.TABLE_DEFAULT_WIDTH = exports.MAX_SCALING_PERCENT = exports.COLUMN_MIN_WIDTH = void 0;
6
+ exports.TABLE_MAX_WIDTH = exports.TABLE_EDITOR_MARGIN = exports.TABLE_DEFAULT_WIDTH = exports.MAX_SCALING_PERCENT_TABLES_WITH_FIXED_COLUMN_WIDTHS_OPTION = exports.MAX_SCALING_PERCENT = exports.COLUMN_MIN_WIDTH = void 0;
7
7
  var COLUMN_MIN_WIDTH = exports.COLUMN_MIN_WIDTH = 48;
8
8
  var TABLE_DEFAULT_WIDTH = exports.TABLE_DEFAULT_WIDTH = 760;
9
9
  var TABLE_MAX_WIDTH = exports.TABLE_MAX_WIDTH = 1800;
10
10
  var MAX_SCALING_PERCENT = exports.MAX_SCALING_PERCENT = 0.3;
11
+ var MAX_SCALING_PERCENT_TABLES_WITH_FIXED_COLUMN_WIDTHS_OPTION = exports.MAX_SCALING_PERCENT_TABLES_WITH_FIXED_COLUMN_WIDTHS_OPTION = 0.4;
11
12
  // Used to calculate the width of a table using the Editor width
12
13
  var TABLE_EDITOR_MARGIN = exports.TABLE_EDITOR_MARGIN = 76;
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "MAX_SCALING_PERCENT", {
15
15
  return _consts.MAX_SCALING_PERCENT;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "MAX_SCALING_PERCENT_TABLES_WITH_FIXED_COLUMN_WIDTHS_OPTION", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _consts.MAX_SCALING_PERCENT_TABLES_WITH_FIXED_COLUMN_WIDTHS_OPTION;
22
+ }
23
+ });
18
24
  Object.defineProperty(exports, "TABLE_DEFAULT_WIDTH", {
19
25
  enumerable: true,
20
26
  get: function get() {
@@ -100,19 +100,21 @@ var getTableElementWidth = exports.getTableElementWidth = function getTableEleme
100
100
  var getTableContainerElementWidth = exports.getTableContainerElementWidth = function getTableContainerElementWidth(table) {
101
101
  return (0, _nodeWidth.getTableContainerWidth)(table);
102
102
  };
103
- var getTableScalingPercent = exports.getTableScalingPercent = function getTableScalingPercent(table, tableRef) {
103
+ var getTableScalingPercent = exports.getTableScalingPercent = function getTableScalingPercent(table, tableRef, shouldUseIncreasedScalingPercent) {
104
104
  var _tableRef$parentEleme;
105
+ var maxScalingPercent = shouldUseIncreasedScalingPercent ? _consts.MAX_SCALING_PERCENT_TABLES_WITH_FIXED_COLUMN_WIDTHS_OPTION : _consts.MAX_SCALING_PERCENT;
105
106
  var tableWidth = getTableContainerElementWidth(table);
106
107
  var renderWidth = (tableRef === null || tableRef === void 0 || (_tableRef$parentEleme = tableRef.parentElement) === null || _tableRef$parentEleme === void 0 ? void 0 : _tableRef$parentEleme.clientWidth) || tableWidth;
107
108
  // minus 1 here to avoid any 1px scroll in Firefox
108
109
  var scalePercent = (renderWidth - 1) / tableWidth;
109
- scalePercent = Math.max(scalePercent, 1 - _consts.MAX_SCALING_PERCENT);
110
+ scalePercent = Math.max(scalePercent, 1 - maxScalingPercent);
110
111
  return Math.min(scalePercent, 1);
111
112
  };
112
- var getStaticTableScalingPercent = exports.getStaticTableScalingPercent = function getStaticTableScalingPercent(table, tableRenderWidth) {
113
+ var getStaticTableScalingPercent = exports.getStaticTableScalingPercent = function getStaticTableScalingPercent(table, tableRenderWidth, shouldUseIncreasedScalingPercent) {
114
+ var maxScalingPercent = shouldUseIncreasedScalingPercent ? _consts.MAX_SCALING_PERCENT_TABLES_WITH_FIXED_COLUMN_WIDTHS_OPTION : _consts.MAX_SCALING_PERCENT;
113
115
  var tableWidth = getTableContainerElementWidth(table);
114
116
  // minus 1 here to avoid any 1px scroll in Firefox
115
117
  var scalePercent = (tableRenderWidth - 1) / tableWidth;
116
- scalePercent = Math.max(scalePercent, 1 - _consts.MAX_SCALING_PERCENT);
118
+ scalePercent = Math.max(scalePercent, 1 - maxScalingPercent);
117
119
  return Math.min(scalePercent, 1);
118
120
  };
@@ -14,14 +14,15 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
14
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // Resize a given column by an amount from the current state
15
15
  var resizeColumn = exports.resizeColumn = function resizeColumn(resizeState, colIndex, amount, tableRef, tableNode, selectedColumns) {
16
16
  var isTableScalingEnabled = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
17
+ var shouldUseIncreasedScalingPercent = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
17
18
  var scalePercent = 1;
18
19
  var resizeAmount = amount;
19
20
  if (isTableScalingEnabled) {
20
- scalePercent = (0, _misc.getTableScalingPercent)(tableNode, tableRef);
21
+ scalePercent = (0, _misc.getTableScalingPercent)(tableNode, tableRef, shouldUseIncreasedScalingPercent);
21
22
  resizeAmount = amount / scalePercent;
22
23
  }
23
24
  var newState = resizeAmount > 0 ? (0, _resizeLogic.growColumn)(resizeState, colIndex, resizeAmount, selectedColumns) : resizeAmount < 0 ? (0, _resizeLogic.shrinkColumn)(resizeState, colIndex, resizeAmount, selectedColumns) : resizeState;
24
- (0, _resizeState.updateColgroup)(newState, tableRef, tableNode, isTableScalingEnabled);
25
+ (0, _resizeState.updateColgroup)(newState, tableRef, tableNode, isTableScalingEnabled, shouldUseIncreasedScalingPercent);
25
26
  return newState;
26
27
  };
27
28
 
@@ -30,6 +31,7 @@ var resizeColumnAndTable = exports.resizeColumnAndTable = function resizeColumnA
30
31
  var _tableRef$closest;
31
32
  var isTableScalingEnabled = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
32
33
  var originalTableWidth = arguments.length > 7 ? arguments[7] : undefined;
34
+ var shouldUseIncreasedScalingPercent = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
33
35
  // TODO: can we use document state, and apply scaling factor?
34
36
  var tableWidth = tableRef.clientWidth;
35
37
  var tableContainerWidth = (_tableRef$closest = tableRef.closest('.pm-table-container')) === null || _tableRef$closest === void 0 ? void 0 : _tableRef$closest.clientWidth;
@@ -57,7 +59,7 @@ var resizeColumnAndTable = exports.resizeColumnAndTable = function resizeColumnA
57
59
 
58
60
  // this function only updates the colgroup in DOM, it reverses the scalePercent
59
61
  // todo: change isScalingEnabled to true when reimplementing scaling
60
- (0, _resizeState.updateColgroup)(newState, tableRef, tableNode, false);
62
+ (0, _resizeState.updateColgroup)(newState, tableRef, tableNode, false, shouldUseIncreasedScalingPercent);
61
63
 
62
64
  // use the difference in width from affected column to update overall table width
63
65
  var delta = newState.cols[colIndex].width - resizeState.cols[colIndex].width;
@@ -25,9 +25,11 @@ var getResizeState = exports.getResizeState = function getResizeState(_ref) {
25
25
  start = _ref.start,
26
26
  domAtPos = _ref.domAtPos,
27
27
  _ref$isTableScalingEn = _ref.isTableScalingEnabled,
28
- isTableScalingEnabled = _ref$isTableScalingEn === void 0 ? false : _ref$isTableScalingEn;
28
+ isTableScalingEnabled = _ref$isTableScalingEn === void 0 ? false : _ref$isTableScalingEn,
29
+ _ref$shouldUseIncreas = _ref.shouldUseIncreasedScalingPercent,
30
+ shouldUseIncreasedScalingPercent = _ref$shouldUseIncreas === void 0 ? false : _ref$shouldUseIncreas;
29
31
  if (isTableScalingEnabled) {
30
- var scalePercent = (0, _misc.getTableScalingPercent)(table, tableRef);
32
+ var scalePercent = (0, _misc.getTableScalingPercent)(table, tableRef, shouldUseIncreasedScalingPercent);
31
33
  minWidth = Math.ceil(minWidth / scalePercent);
32
34
  }
33
35
  // If the table has been resized, we can use the column widths from the table node
@@ -58,8 +60,9 @@ var getResizeState = exports.getResizeState = function getResizeState(_ref) {
58
60
  var shouldReinsertColgroup = !isTableScalingEnabled;
59
61
 
60
62
  // Getting the resize state from DOM
61
- var colgroupChildren = (0, _colgroup.insertColgroupFromNode)(tableRef, table, isTableScalingEnabled, shouldReinsertColgroup // don't reinsert colgroup when preserving table width - this causes widths to jump
62
- );
63
+ var colgroupChildren = (0, _colgroup.insertColgroupFromNode)(tableRef, table, isTableScalingEnabled, shouldReinsertColgroup,
64
+ // don't reinsert colgroup when preserving table width - this causes widths to jump
65
+ shouldUseIncreasedScalingPercent);
63
66
  var cols = Array.from(colgroupChildren).map(function (_, index) {
64
67
  // If the table hasn't been resized and we have a table width attribute, we can use it
65
68
  // to calculate the widths of the columns
@@ -92,7 +95,7 @@ var getResizeState = exports.getResizeState = function getResizeState(_ref) {
92
95
  };
93
96
 
94
97
  // updates Colgroup DOM node with new widths
95
- var updateColgroup = exports.updateColgroup = function updateColgroup(state, tableRef, tableNode, isTableScalingEnabled) {
98
+ var updateColgroup = exports.updateColgroup = function updateColgroup(state, tableRef, tableNode, isTableScalingEnabled, shouldUseIncreasedScalingPercent) {
96
99
  var cols = tableRef === null || tableRef === void 0 ? void 0 : tableRef.querySelectorAll('col');
97
100
  var columnsCount = cols === null || cols === void 0 ? void 0 : cols.length;
98
101
  /**
@@ -101,7 +104,7 @@ var updateColgroup = exports.updateColgroup = function updateColgroup(state, tab
101
104
  We need to remove !isColumnResizing if we handled auto scale table when mouseUp event.
102
105
  * */
103
106
  if (isTableScalingEnabled && tableNode) {
104
- var scalePercent = (0, _misc.getTableScalingPercent)(tableNode, tableRef);
107
+ var scalePercent = (0, _misc.getTableScalingPercent)(tableNode, tableRef, shouldUseIncreasedScalingPercent);
105
108
  state.cols.filter(function (column) {
106
109
  return column && !!column.width;
107
110
  }) // if width is 0, we dont want to apply that.
@@ -335,7 +338,8 @@ var getNewResizeStateFromSelectedColumns = exports.getNewResizeStateFromSelected
335
338
  });
336
339
  var resizeState;
337
340
  var isTableScalingEnabledOnCurrentTable = isTableScalingEnabled;
338
- if (isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button')) {
341
+ var isTableScalingEnabledWithLockButton = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button');
342
+ if (isTableScalingEnabledWithLockButton) {
339
343
  isTableScalingEnabledOnCurrentTable = table.node.attrs.displayMode !== 'fixed';
340
344
  }
341
345
  resizeState = getResizeState({
@@ -345,7 +349,8 @@ var getNewResizeStateFromSelectedColumns = exports.getNewResizeStateFromSelected
345
349
  tableRef: tableRef,
346
350
  start: table.start,
347
351
  domAtPos: domAtPos,
348
- isTableScalingEnabled: isTableScalingEnabledOnCurrentTable
352
+ isTableScalingEnabled: isTableScalingEnabledOnCurrentTable,
353
+ shouldUseIncreasedScalingPercent: isTableScalingEnabledWithLockButton && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent')
349
354
  });
350
355
  var newResizeState = evenSelectedColumnsWidths(resizeState, rect);
351
356
  var widthsBefore = resizeState.widths;
@@ -25,6 +25,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
25
25
  // Will only resize/scale if a table has been previously resized.
26
26
  var scale = exports.scale = function scale(tableRef, options, domAtPos) {
27
27
  var isTableScalingEnabledOnCurrentTable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
28
+ var shouldUseIncreasedScalingPercent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
28
29
  var node = options.node,
29
30
  containerWidth = options.containerWidth,
30
31
  previousContainerWidth = options.previousContainerWidth,
@@ -60,12 +61,14 @@ var scale = exports.scale = function scale(tableRef, options, domAtPos) {
60
61
  tableRef: tableRef,
61
62
  start: start,
62
63
  domAtPos: domAtPos,
63
- isTableScalingEnabled: isTableScalingEnabledOnCurrentTable
64
+ isTableScalingEnabled: isTableScalingEnabledOnCurrentTable,
65
+ shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
64
66
  });
65
67
  return scaleTableTo(resizeState, newWidth);
66
68
  };
67
69
  var scaleWithParent = exports.scaleWithParent = function scaleWithParent(tableRef, parentWidth, table, start, domAtPos) {
68
70
  var isTableScalingEnabledOnCurrentTable = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
71
+ var shouldUseIncreasedScalingPercent = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
69
72
  var resizeState = (0, _resizeState.getResizeState)({
70
73
  minWidth: _styles.tableCellMinWidth,
71
74
  maxSize: parentWidth,
@@ -73,7 +76,8 @@ var scaleWithParent = exports.scaleWithParent = function scaleWithParent(tableRe
73
76
  tableRef: tableRef,
74
77
  start: start,
75
78
  domAtPos: domAtPos,
76
- isTableScalingEnabled: isTableScalingEnabledOnCurrentTable
79
+ isTableScalingEnabled: isTableScalingEnabledOnCurrentTable,
80
+ shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
77
81
  });
78
82
  if (table.attrs.isNumberColumnEnabled) {
79
83
  parentWidth -= _editorSharedStyles.akEditorTableNumberColumnWidth;
@@ -118,7 +122,8 @@ var previewScaleTable = exports.previewScaleTable = function previewScaleTable(t
118
122
  tableRef.style.width = "".concat(width, "px");
119
123
  }
120
124
  var isTableScalingEnabledOnCurrentTable = isTableScalingEnabled;
121
- if (isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button')) {
125
+ var isTableScalingEnabledWithLockButton = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button');
126
+ if (isTableScalingEnabledWithLockButton) {
122
127
  isTableScalingEnabledOnCurrentTable = isTableScalingEnabled && node.attrs.displayMode !== 'fixed';
123
128
  }
124
129
  // If the table hasn't been resize, the colgroup 48px width values will gracefully scale down.
@@ -127,16 +132,19 @@ var previewScaleTable = exports.previewScaleTable = function previewScaleTable(t
127
132
  (0, _dom.syncStickyRowToTable)(tableRef);
128
133
  return;
129
134
  }
130
- var resizeState = parentWidth ? scaleWithParent(tableRef, parentWidth, node, start, domAtPos, false) // Here last value is isTableScalingEnabled = false
131
- : scale(tableRef, options, domAtPos, false);
135
+ var shouldUseIncreasedScalingPercent = isTableScalingEnabledWithLockButton && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
136
+ var resizeState = parentWidth ? scaleWithParent(tableRef, parentWidth, node, start, domAtPos, false,
137
+ // Here isTableScalingEnabled = false
138
+ shouldUseIncreasedScalingPercent) : scale(tableRef, options, domAtPos, false, shouldUseIncreasedScalingPercent);
132
139
  if (resizeState) {
133
- (0, _resizeState.updateColgroup)(resizeState, tableRef, node, false);
140
+ (0, _resizeState.updateColgroup)(resizeState, tableRef, node, false, shouldUseIncreasedScalingPercent);
134
141
  }
135
142
  };
136
143
 
137
144
  // Scale the table to meet new requirements (col, layout change etc)
138
145
  var scaleTable = exports.scaleTable = function scaleTable(tableRef, options, domAtPos) {
139
146
  var isTableScalingEnabledOnCurrentTable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
147
+ var shouldUseIncreasedScalingPercent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
140
148
  return function (tr) {
141
149
  if (!tableRef) {
142
150
  return tr;
@@ -150,16 +158,16 @@ var scaleTable = exports.scaleTable = function scaleTable(tableRef, options, dom
150
158
  // If its not a re-sized table, we still want to re-create cols
151
159
  // To force reflow of columns upon delete.
152
160
  if (!isTableScalingEnabledOnCurrentTable) {
153
- (0, _colgroup.insertColgroupFromNode)(tableRef, node);
161
+ (0, _colgroup.insertColgroupFromNode)(tableRef, node, false, undefined, shouldUseIncreasedScalingPercent);
154
162
  }
155
163
  tr.setMeta('scrollIntoView', false);
156
164
  return tr;
157
165
  }
158
166
  var resizeState;
159
167
  if (parentWidth) {
160
- resizeState = scaleWithParent(tableRef, parentWidth, node, start, domAtPos, isTableScalingEnabledOnCurrentTable);
168
+ resizeState = scaleWithParent(tableRef, parentWidth, node, start, domAtPos, isTableScalingEnabledOnCurrentTable, shouldUseIncreasedScalingPercent);
161
169
  } else {
162
- resizeState = scale(tableRef, options, domAtPos, isTableScalingEnabledOnCurrentTable);
170
+ resizeState = scale(tableRef, options, domAtPos, isTableScalingEnabledOnCurrentTable, shouldUseIncreasedScalingPercent);
163
171
  }
164
172
  if (resizeState) {
165
173
  tr = (0, _transforms.updateColumnWidths)(resizeState, node, start)(tr);
@@ -14,6 +14,7 @@ var _customSteps = require("@atlaskit/custom-steps");
14
14
  var _analytics = require("@atlaskit/editor-common/analytics");
15
15
  var _keymaps = require("@atlaskit/editor-common/keymaps");
16
16
  var _messages = _interopRequireWildcard(require("@atlaskit/editor-common/messages"));
17
+ var _nodeWidth = require("@atlaskit/editor-common/node-width");
17
18
  var _uiColor = require("@atlaskit/editor-common/ui-color");
18
19
  var _utils = require("@atlaskit/editor-common/utils");
19
20
  var _utils2 = require("@atlaskit/editor-prosemirror/utils");
@@ -117,6 +118,7 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
117
118
  var _pluginState$pluginCo, _pluginState$pluginCo2;
118
119
  var formatMessage = _ref2.formatMessage;
119
120
  var isTableScalingEnabled = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
121
+ var shouldUseIncreasedScalingPercent = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
120
122
  var top = initialSelectionRect.top,
121
123
  bottom = initialSelectionRect.bottom,
122
124
  right = initialSelectionRect.right,
@@ -131,7 +133,7 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
131
133
  var selectionRect = getClosestSelectionRect(state);
132
134
  var index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.right;
133
135
  if (index) {
134
- (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled)(_analytics.INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
136
+ (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.FLOATING_TB, index)(state, dispatch, view);
135
137
  }
136
138
  return true;
137
139
  },
@@ -167,7 +169,7 @@ var getToolbarCellOptionsConfig = exports.getToolbarCellOptionsConfig = function
167
169
  onClick: function onClick(state, dispatch, view) {
168
170
  var selectionRect = getClosestSelectionRect(state);
169
171
  if (selectionRect) {
170
- (0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.FLOATING_TB, selectionRect)(state, dispatch, view);
172
+ (0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.FLOATING_TB, selectionRect)(state, dispatch, view);
171
173
  }
172
174
  return true;
173
175
  },
@@ -318,6 +320,7 @@ var getClosestSelectionOrTableRect = exports.getClosestSelectionOrTableRect = fu
318
320
  return (0, _utils3.isSelectionType)(selection, 'cell') ? (0, _utils3.getSelectionRect)(selection) : tableRect;
319
321
  };
320
322
  var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getEditorContainerWidth, editorAnalyticsAPI, getEditorFeatureFlags, getEditorView, options) {
323
+ var shouldUseIncreasedScalingPercent = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
321
324
  return function (config) {
322
325
  return function (state, intl) {
323
326
  var tableObject = (0, _utils3.findTable)(state.selection);
@@ -334,7 +337,7 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(getE
334
337
  var isNested = pluginState.tablePos && (0, _utils4.isTableNested)(state, pluginState.tablePos);
335
338
  alignmentMenu = options !== null && options !== void 0 && options.isTableAlignmentEnabled && !isNested ? getAlignmentOptionsConfig(state, intl, editorAnalyticsAPI, getEditorContainerWidth) : [];
336
339
  var cellItems;
337
- cellItems = pluginState.isDragAndDropEnabled ? [] : getCellItems(state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI, options === null || options === void 0 ? void 0 : options.isTableScalingEnabled);
340
+ cellItems = pluginState.isDragAndDropEnabled ? [] : getCellItems(state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI, options === null || options === void 0 ? void 0 : options.isTableScalingEnabled, shouldUseIncreasedScalingPercent);
338
341
  var columnSettingsItems;
339
342
  columnSettingsItems = pluginState.isDragAndDropEnabled ? getColumnSettingItems(state, getEditorView(), intl, getEditorContainerWidth, editorAnalyticsAPI, options === null || options === void 0 ? void 0 : options.isTableScalingEnabled) : [];
340
343
  var colorPicker = getColorPicker(state, menu, intl, editorAnalyticsAPI, getEditorView);
@@ -437,11 +440,12 @@ var separator = function separator(hidden) {
437
440
  var getCellItems = function getCellItems(state, view, _ref3, getEditorContainerWidth, editorAnalyticsAPI) {
438
441
  var formatMessage = _ref3.formatMessage;
439
442
  var isTableScalingEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
443
+ var shouldUseIncreasedScalingPercent = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
440
444
  var initialSelectionRect = getClosestSelectionRect(state);
441
445
  if (initialSelectionRect) {
442
446
  var cellOptions = getToolbarCellOptionsConfig(state, view, initialSelectionRect, {
443
447
  formatMessage: formatMessage
444
- }, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled);
448
+ }, getEditorContainerWidth, editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent);
445
449
  return [cellOptions, separator(cellOptions.hidden)];
446
450
  }
447
451
  return [];
@@ -661,7 +665,8 @@ var getSelectedAlignmentIcon = exports.getSelectedAlignmentIcon = function getSe
661
665
  };
662
666
  var isLayoutOptionDisabled = exports.isLayoutOptionDisabled = function isLayoutOptionDisabled(selectedNode, getEditorContainerWidth) {
663
667
  var lineLength = getEditorContainerWidth().lineLength;
664
- if (selectedNode && lineLength && selectedNode.attrs.width > lineLength) {
668
+ var tableWidth = (0, _nodeWidth.getTableContainerWidth)(selectedNode);
669
+ if (selectedNode && lineLength && tableWidth > lineLength) {
665
670
  return true;
666
671
  }
667
672
  return false;
@@ -98,6 +98,7 @@ 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
102
  return function (table, view) {
102
103
  return function (tr) {
103
104
  if (!view) {
@@ -183,7 +184,8 @@ var rescaleColumns = exports.rescaleColumns = function rescaleColumns() {
183
184
  tableRef: tableRef,
184
185
  domAtPos: domAtPos,
185
186
  maxSize: previousTableInfo.possibleMaxWidth,
186
- isTableScalingEnabled: shouldScale
187
+ isTableScalingEnabled: shouldScale,
188
+ shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
187
189
  });
188
190
 
189
191
  // Two scenarios that require scaling:
@@ -213,6 +213,7 @@ 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
217
  return function (tr) {
217
218
  var updatedTr = tr;
218
219
  updatedTr.setMeta(_tableAnalytics.META_KEYS.OVERFLOW_TRIGGER, {
@@ -225,7 +226,7 @@ var deleteColumns = exports.deleteColumns = function deleteColumns(rect, allowCu
225
226
  }
226
227
  var table = (0, _utils.findTable)(updatedTr.selection);
227
228
  if (table) {
228
- updatedTr = (0, _columnWidth.rescaleColumns)(isTableScalingEnabled)(table, view)(updatedTr);
229
+ updatedTr = (0, _columnWidth.rescaleColumns)(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(table, view)(updatedTr);
229
230
  }
230
231
  return updatedTr;
231
232
  };
@@ -30,6 +30,7 @@ var _utils2 = require("@atlaskit/editor-tables/utils");
30
30
  var _crossCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/cross-circle"));
31
31
  var _backgroundColor = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/background-color"));
32
32
  var _remove = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/remove"));
33
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
33
34
  var _commands = require("../../commands");
34
35
  var _commandsWithAnalytics = require("../../commands-with-analytics");
35
36
  var _pluginFactory = require("../../pm-plugins/plugin-factory");
@@ -387,6 +388,7 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
387
388
  var _ref2 = getEditorFeatureFlags ? getEditorFeatureFlags() : {},
388
389
  _ref2$tableDuplicateC = _ref2.tableDuplicateCellColouring,
389
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');
390
392
  switch (item.value.name) {
391
393
  case 'sort_column_desc':
392
394
  (0, _commandsWithAnalytics.sortColumnWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect.left, _customSteps.TableSortOrder.DESC)(state, dispatch);
@@ -416,7 +418,7 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
416
418
  _this.toggleOpen();
417
419
  break;
418
420
  case 'insert_column':
419
- (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect.right)(state, dispatch, editorView);
421
+ (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect.right)(state, dispatch, editorView);
420
422
  _this.toggleOpen();
421
423
  break;
422
424
  case 'insert_row':
@@ -427,7 +429,7 @@ var ContextualMenu = exports.ContextualMenu = /*#__PURE__*/function (_Component)
427
429
  _this.toggleOpen();
428
430
  break;
429
431
  case 'delete_column':
430
- (0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(editorAnalyticsAPI)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect)(state, dispatch, editorView);
432
+ (0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.CONTEXT_MENU, selectionRect)(state, dispatch, editorView);
431
433
  _this.toggleOpen();
432
434
  break;
433
435
  case 'delete_row':
@@ -192,7 +192,8 @@ var DragMenu = exports.DragMenu = /*#__PURE__*/_react.default.memo(function (_re
192
192
  scrollableElement = _ref.scrollableElement,
193
193
  boundariesElement = _ref.boundariesElement,
194
194
  isTableScalingEnabled = _ref.isTableScalingEnabled,
195
- tableDuplicateCellColouring = _ref.tableDuplicateCellColouring;
195
+ tableDuplicateCellColouring = _ref.tableDuplicateCellColouring,
196
+ shouldUseIncreasedScalingPercent = _ref.shouldUseIncreasedScalingPercent;
196
197
  var state = editorView.state,
197
198
  dispatch = editorView.dispatch;
198
199
  var selection = state.selection;
@@ -216,7 +217,7 @@ var DragMenu = exports.DragMenu = /*#__PURE__*/_react.default.memo(function (_re
216
217
  hasMergedCellsInTable = (0, _utils3.getMergedCellsPositions)(state.tr).length > 0;
217
218
  }
218
219
  var allowBackgroundColor = (_pluginConfig$allowBa = pluginConfig === null || pluginConfig === void 0 ? void 0 : pluginConfig.allowBackgroundColor) !== null && _pluginConfig$allowBa !== void 0 ? _pluginConfig$allowBa : false;
219
- 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);
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);
220
221
  var _convertToDropdownIte = convertToDropdownItems(dragMenuConfig, formatMessage, selectionRect),
221
222
  menuItems = _convertToDropdownIte.menuItems,
222
223
  menuCallback = _convertToDropdownIte.menuCallback;
@@ -9,6 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
  var _ui = require("@atlaskit/editor-common/ui");
10
10
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
11
11
  var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
12
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
13
  var _consts = require("../consts");
13
14
  var _DragMenu = _interopRequireDefault(require("./DragMenu"));
14
15
  var FloatingDragMenu = function FloatingDragMenu(_ref) {
@@ -39,6 +40,7 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
39
40
  var _ref2 = getEditorFeatureFlags ? getEditorFeatureFlags() : {},
40
41
  _ref2$tableDuplicateC = _ref2.tableDuplicateCellColouring,
41
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
44
  return /*#__PURE__*/_react.default.createElement(_ui.Popup, {
43
45
  alignX: direction === 'row' ? 'right' : undefined,
44
46
  alignY: direction === 'row' ? 'start' : undefined,
@@ -73,7 +75,8 @@ var FloatingDragMenu = function FloatingDragMenu(_ref) {
73
75
  boundariesElement: boundariesElement,
74
76
  scrollableElement: scrollableElement,
75
77
  isTableScalingEnabled: isTableScalingEnabled,
76
- tableDuplicateCellColouring: tableDuplicateCellColouring
78
+ tableDuplicateCellColouring: tableDuplicateCellColouring,
79
+ shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
77
80
  }));
78
81
  };
79
82
  FloatingDragMenu.displayName = 'FloatingDragMenu';
@@ -24,6 +24,7 @@ var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
24
24
  var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
25
25
  var _tableMap = require("@atlaskit/editor-tables/table-map");
26
26
  var _utils3 = require("@atlaskit/editor-tables/utils");
27
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
27
28
  var _commandsWithAnalytics = require("../../commands-with-analytics");
28
29
  var _pluginFactory = require("../../pm-plugins/plugin-factory");
29
30
  var _types = require("../../types");
@@ -205,12 +206,13 @@ var FloatingInsertButton = exports.FloatingInsertButton = /*#__PURE__*/function
205
206
  var _getPluginState = (0, _pluginFactory.getPluginState)(editorView.state),
206
207
  _getPluginState$isTab = _getPluginState.isTableScalingEnabled,
207
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');
208
210
  var _ref = getEditorFeatureFlags ? getEditorFeatureFlags() : {},
209
211
  _ref$tableDuplicateCe = _ref.tableDuplicateCellColouring,
210
212
  tableDuplicateCellColouring = _ref$tableDuplicateCe === void 0 ? false : _ref$tableDuplicateCe;
211
213
  var state = editorView.state,
212
214
  dispatch = editorView.dispatch;
213
- (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring)(_analytics.INPUT_METHOD.BUTTON, insertColumnButtonIndex)(state, dispatch, editorView);
215
+ (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.BUTTON, insertColumnButtonIndex)(state, dispatch, editorView);
214
216
  }
215
217
  }
216
218
  }]);
@@ -79,6 +79,7 @@ var getDragMenuConfig = exports.getDragMenuConfig = function getDragMenuConfig(d
79
79
  var _tableMap$height, _tableMap$height2, _tableMap$width, _tableMap$width2;
80
80
  var isTableScalingEnabled = arguments.length > 11 && arguments[11] !== undefined ? arguments[11] : false;
81
81
  var tableDuplicateCellColouring = arguments.length > 12 && arguments[12] !== undefined ? arguments[12] : false;
82
+ var shouldUseIncreasedScalingPercent = arguments.length > 13 && arguments[13] !== undefined ? arguments[13] : false;
82
83
  var addOptions = direction === 'row' ? [{
83
84
  label: 'above',
84
85
  offset: 0,
@@ -163,7 +164,7 @@ var getDragMenuConfig = exports.getDragMenuConfig = function getDragMenuConfig(d
163
164
  moveCursorToInsertedRow: true
164
165
  })(state, dispatch);
165
166
  } else {
166
- (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, (index !== null && index !== void 0 ? index : 0) + offset)(state, dispatch, editorView);
167
+ (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, (index !== null && index !== void 0 ? index : 0) + offset)(state, dispatch, editorView);
167
168
  }
168
169
  return true;
169
170
  },
@@ -206,9 +206,11 @@ export const changeColumnWidthByStep = ({
206
206
  getEditorContainerWidth
207
207
  });
208
208
  let isTableScalingEnabledOnCurrentTable = isTableScalingEnabled;
209
- if (isTableScalingEnabled && getBooleanFF('platform.editor.table.preserve-widths-with-lock-button')) {
209
+ const isTableScalingEnabledWithLockButton = isTableScalingEnabled && getBooleanFF('platform.editor.table.preserve-widths-with-lock-button');
210
+ if (isTableScalingEnabledWithLockButton) {
210
211
  isTableScalingEnabledOnCurrentTable = originalTable.attrs.displayMode !== 'fixed';
211
212
  }
213
+ const shouldUseIncreasedScalingPercent = isTableScalingEnabledWithLockButton && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
212
214
  const initialResizeState = getResizeState({
213
215
  minWidth: tableCellMinWidth,
214
216
  maxSize,
@@ -216,14 +218,15 @@ export const changeColumnWidthByStep = ({
216
218
  tableRef: dom,
217
219
  start: tableStartPosition,
218
220
  domAtPos,
219
- isTableScalingEnabled: isTableScalingEnabledOnCurrentTable
221
+ isTableScalingEnabled: isTableScalingEnabledOnCurrentTable,
222
+ shouldUseIncreasedScalingPercent
220
223
  });
221
224
  updateControls()(state);
222
225
  const selectionRect = getSelectionRect(state.selection);
223
226
  const selectedColumns = selectionRect ? getSelectedColumnIndexes(selectionRect) : [];
224
227
  // only selected (or selected - 1) columns should be distributed
225
228
  const resizingSelectedColumns = selectedColumns.indexOf(colIndex) > -1 || selectedColumns.indexOf(colIndex + 1) > -1;
226
- let newResizeState = resizeColumn(initialResizeState, colIndex, stepSize, dom, originalTable, resizingSelectedColumns ? selectedColumns : undefined, isTableScalingEnabled);
229
+ let newResizeState = resizeColumn(initialResizeState, colIndex, stepSize, dom, originalTable, resizingSelectedColumns ? selectedColumns : undefined, isTableScalingEnabled, shouldUseIncreasedScalingPercent);
227
230
  customTr = updateColumnWidths(newResizeState, originalTable, tableStartPosition)(customTr);
228
231
  if (dispatch) {
229
232
  dispatch(customTr);
@@ -1,7 +1,7 @@
1
1
  import { deleteColumns } from '../transforms/delete-columns';
2
2
  import { getAllowAddColumnCustomStep } from '../utils/get-allow-add-column-custom-step';
3
- export const deleteColumnsCommand = (rect, isTableScalingEnabled = false) => (state, dispatch, view) => {
4
- const tr = deleteColumns(rect, getAllowAddColumnCustomStep(state), view, isTableScalingEnabled)(state.tr);
3
+ export const deleteColumnsCommand = (rect, isTableScalingEnabled = false, shouldUseIncreasedScalingPercent = false) => (state, dispatch, view) => {
4
+ const tr = deleteColumns(rect, getAllowAddColumnCustomStep(state), view, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(state.tr);
5
5
  if (dispatch) {
6
6
  dispatch(tr);
7
7
  return true;
@@ -19,7 +19,7 @@ function addColumnAtCustomStep(column) {
19
19
  return tr;
20
20
  };
21
21
  }
22
- export function addColumnAt(isTableScalingEnabled = false, isCellBackgroundDuplicated) {
22
+ export function addColumnAt(isTableScalingEnabled = false, isCellBackgroundDuplicated, shouldUseIncreasedScalingPercent) {
23
23
  return (column, allowAddColumnCustomStep = false, view) => {
24
24
  return tr => {
25
25
  let updatedTr = tr;
@@ -31,7 +31,7 @@ export function addColumnAt(isTableScalingEnabled = false, isCellBackgroundDupli
31
31
  const table = findTable(updatedTr.selection);
32
32
  if (table) {
33
33
  // [ED-8288] Update colwidths manually to avoid multiple dispatch in TableComponent
34
- updatedTr = rescaleColumns(isTableScalingEnabled)(table, view)(updatedTr);
34
+ updatedTr = rescaleColumns(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(table, view)(updatedTr);
35
35
  }
36
36
  if (view) {
37
37
  updatedTr = updateRowOrColumnMovedTransform({
@@ -48,33 +48,33 @@ export function addColumnAt(isTableScalingEnabled = false, isCellBackgroundDupli
48
48
 
49
49
  // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
50
50
  // Command to add a column before the column with the selection.
51
- export const addColumnBefore = (isTableScalingEnabled = false) => (state, dispatch, view) => {
51
+ export const addColumnBefore = (isTableScalingEnabled = false, shouldUseIncreasedScalingPercent = false) => (state, dispatch, view) => {
52
52
  const table = findTable(state.selection);
53
53
  if (!table) {
54
54
  return false;
55
55
  }
56
56
  if (dispatch) {
57
57
  let rect = selectedRect(state);
58
- dispatch(addColumnAt(isTableScalingEnabled)(rect.left, getAllowAddColumnCustomStep(state), view)(state.tr));
58
+ dispatch(addColumnAt(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(rect.left, getAllowAddColumnCustomStep(state), view)(state.tr));
59
59
  }
60
60
  return true;
61
61
  };
62
62
 
63
63
  // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
64
64
  // Command to add a column after the column with the selection.
65
- export const addColumnAfter = isTableScalingEnabled => (state, dispatch, view) => {
65
+ export const addColumnAfter = (isTableScalingEnabled, shouldUseIncreasedScalingPercent) => (state, dispatch, view) => {
66
66
  const table = findTable(state.selection);
67
67
  if (!table) {
68
68
  return false;
69
69
  }
70
70
  if (dispatch) {
71
71
  let rect = selectedRect(state);
72
- dispatch(addColumnAt(isTableScalingEnabled)(rect.right, getAllowAddColumnCustomStep(state), view)(state.tr));
72
+ dispatch(addColumnAt(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(rect.right, getAllowAddColumnCustomStep(state), view)(state.tr));
73
73
  }
74
74
  return true;
75
75
  };
76
- export const insertColumn = (isTableScalingEnabled = false, isCellBackgroundDuplicated) => column => (state, dispatch, view) => {
77
- let tr = addColumnAt(isTableScalingEnabled, isCellBackgroundDuplicated)(column, getAllowAddColumnCustomStep(state), view)(state.tr);
76
+ export const insertColumn = (isTableScalingEnabled = false, isCellBackgroundDuplicated, shouldUseIncreasedScalingPercent) => column => (state, dispatch, view) => {
77
+ let tr = addColumnAt(isTableScalingEnabled, isCellBackgroundDuplicated, shouldUseIncreasedScalingPercent)(column, getAllowAddColumnCustomStep(state), view)(state.tr);
78
78
  const table = findTable(tr.selection);
79
79
  if (!table) {
80
80
  return false;
@@ -1,4 +1,5 @@
1
1
  import isEqual from 'lodash/isEqual';
2
+ import { getTableContainerWidth } from '@atlaskit/editor-common/node-width';
2
3
  import { closestElement, isParagraph, isTextSelection, mapSlice } from '@atlaskit/editor-common/utils';
3
4
  import { TextSelection } from '@atlaskit/editor-prosemirror/state';
4
5
  import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
@@ -561,16 +562,31 @@ export const setTableAlignment = newAlignment => ({
561
562
  ...tableObject.node.attrs,
562
563
  layout: newAlignment
563
564
  };
565
+
566
+ // table uses old breakout values in layout attribute to determine width
567
+ // but that information is lost when alignment changes, so we need to ensure we retain that info
568
+ if (!tableObject.node.attrs.width) {
569
+ const tableWidth = getTableContainerWidth(tableObject.node);
570
+ nextTableAttrs.width = tableWidth;
571
+ }
564
572
  tr.setNodeMarkup(tableObject.pos, undefined, nextTableAttrs).setMeta('scrollIntoView', false);
565
573
  return tr;
566
574
  };
567
575
  export const setTableAlignmentWithTableContentWithPos = (newAlignment, tableNodeWithPos) => ({
568
576
  tr
569
577
  }) => {
578
+ const table = tableNodeWithPos.node;
570
579
  const nextTableAttrs = {
571
- ...tableNodeWithPos.node.attrs,
580
+ ...table.attrs,
572
581
  layout: newAlignment
573
582
  };
583
+
584
+ // table uses old breakout values in layout attribute to determine width
585
+ // but that information is lost when alignment changes, so we need to ensure we retain that info
586
+ if (!table.attrs.width) {
587
+ const tableWidth = getTableContainerWidth(table);
588
+ nextTableAttrs.width = tableWidth;
589
+ }
574
590
  tr.setNodeMarkup(tableNodeWithPos.pos, undefined, nextTableAttrs).setMeta('scrollIntoView', false);
575
591
  return tr;
576
592
  };