@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,8 @@ function addColumnAtCustomStep(column) {
22
22
  export function addColumnAt() {
23
23
  var isTableScalingEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
24
24
  var isCellBackgroundDuplicated = arguments.length > 1 ? arguments[1] : undefined;
25
- var shouldUseIncreasedScalingPercent = arguments.length > 2 ? arguments[2] : undefined;
25
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 2 ? arguments[2] : undefined;
26
+ var shouldUseIncreasedScalingPercent = arguments.length > 3 ? arguments[3] : undefined;
26
27
  return function (column) {
27
28
  var allowAddColumnCustomStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
28
29
  var view = arguments.length > 2 ? arguments[2] : undefined;
@@ -36,7 +37,7 @@ export function addColumnAt() {
36
37
  var table = findTable(updatedTr.selection);
37
38
  if (table) {
38
39
  // [ED-8288] Update colwidths manually to avoid multiple dispatch in TableComponent
39
- updatedTr = rescaleColumns(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(table, view)(updatedTr);
40
+ updatedTr = rescaleColumns(isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(table, view)(updatedTr);
40
41
  }
41
42
  if (view) {
42
43
  updatedTr = updateRowOrColumnMovedTransform({
@@ -55,7 +56,9 @@ export function addColumnAt() {
55
56
  // Command to add a column before the column with the selection.
56
57
  export var addColumnBefore = function addColumnBefore() {
57
58
  var isTableScalingEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
58
- var shouldUseIncreasedScalingPercent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
59
+ var isCellBackgroundDuplicated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
60
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
61
+ var shouldUseIncreasedScalingPercent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
59
62
  return function (state, dispatch, view) {
60
63
  var table = findTable(state.selection);
61
64
  if (!table) {
@@ -63,7 +66,7 @@ export var addColumnBefore = function addColumnBefore() {
63
66
  }
64
67
  if (dispatch) {
65
68
  var rect = selectedRect(state);
66
- dispatch(addColumnAt(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(rect.left, getAllowAddColumnCustomStep(state), view)(state.tr));
69
+ dispatch(addColumnAt(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(rect.left, getAllowAddColumnCustomStep(state), view)(state.tr));
67
70
  }
68
71
  return true;
69
72
  };
@@ -71,7 +74,7 @@ export var addColumnBefore = function addColumnBefore() {
71
74
 
72
75
  // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
73
76
  // Command to add a column after the column with the selection.
74
- export var addColumnAfter = function addColumnAfter(isTableScalingEnabled, shouldUseIncreasedScalingPercent) {
77
+ export var addColumnAfter = function addColumnAfter(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent) {
75
78
  return function (state, dispatch, view) {
76
79
  var table = findTable(state.selection);
77
80
  if (!table) {
@@ -79,7 +82,7 @@ export var addColumnAfter = function addColumnAfter(isTableScalingEnabled, shoul
79
82
  }
80
83
  if (dispatch) {
81
84
  var rect = selectedRect(state);
82
- dispatch(addColumnAt(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(rect.right, getAllowAddColumnCustomStep(state), view)(state.tr));
85
+ dispatch(addColumnAt(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(rect.right, getAllowAddColumnCustomStep(state), view)(state.tr));
83
86
  }
84
87
  return true;
85
88
  };
@@ -87,10 +90,11 @@ export var addColumnAfter = function addColumnAfter(isTableScalingEnabled, shoul
87
90
  export var insertColumn = function insertColumn() {
88
91
  var isTableScalingEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
89
92
  var isCellBackgroundDuplicated = arguments.length > 1 ? arguments[1] : undefined;
90
- var shouldUseIncreasedScalingPercent = arguments.length > 2 ? arguments[2] : undefined;
93
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 2 ? arguments[2] : undefined;
94
+ var shouldUseIncreasedScalingPercent = arguments.length > 3 ? arguments[3] : undefined;
91
95
  return function (column) {
92
96
  return function (state, dispatch, view) {
93
- var tr = addColumnAt(isTableScalingEnabled, isCellBackgroundDuplicated, shouldUseIncreasedScalingPercent)(column, getAllowAddColumnCustomStep(state), view)(state.tr);
97
+ var tr = addColumnAt(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(column, getAllowAddColumnCustomStep(state), view)(state.tr);
94
98
  var table = findTable(tr.selection);
95
99
  if (!table) {
96
100
  return false;
@@ -188,7 +188,7 @@ export var insertRowWithAnalytics = function insertRowWithAnalytics(editorAnalyt
188
188
  };
189
189
  };
190
190
  export var changeColumnWidthByStepWithAnalytics = function changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI) {
191
- return function (stepSize, getEditorContainerWidth, isTableScalingEnabled, inputMethod, ariaNotify, getIntl) {
191
+ return function (stepSize, getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, inputMethod, ariaNotify, getIntl) {
192
192
  return withEditorAnalyticsAPI(function (state) {
193
193
  var _getSelectedTableInfo2 = getSelectedTableInfo(state.selection),
194
194
  table = _getSelectedTableInfo2.table,
@@ -214,6 +214,7 @@ export var changeColumnWidthByStepWithAnalytics = function changeColumnWidthBySt
214
214
  stepSize: stepSize,
215
215
  getEditorContainerWidth: getEditorContainerWidth,
216
216
  isTableScalingEnabled: isTableScalingEnabled,
217
+ isTableFixedColumnWidthsOptionEnabled: isTableFixedColumnWidthsOptionEnabled,
217
218
  ariaNotify: ariaNotify,
218
219
  getIntl: getIntl
219
220
  }));
@@ -222,7 +223,8 @@ export var changeColumnWidthByStepWithAnalytics = function changeColumnWidthBySt
222
223
  export var insertColumnWithAnalytics = function insertColumnWithAnalytics(editorAnalyticsAPI) {
223
224
  var isTableScalingEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
224
225
  var isCellbackgroundDuplicated = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
225
- var shouldUseIncreasedScalingPercent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
226
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
227
+ var shouldUseIncreasedScalingPercent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
226
228
  return function (inputMethod, position) {
227
229
  return withEditorAnalyticsAPI(function (state) {
228
230
  var _getSelectedTableInfo3 = getSelectedTableInfo(state.selection),
@@ -240,7 +242,7 @@ export var insertColumnWithAnalytics = function insertColumnWithAnalytics(editor
240
242
  },
241
243
  eventType: EVENT_TYPE.TRACK
242
244
  };
243
- })(editorAnalyticsAPI)(insertColumn(isTableScalingEnabled, isCellbackgroundDuplicated, shouldUseIncreasedScalingPercent)(position));
245
+ })(editorAnalyticsAPI)(insertColumn(isTableScalingEnabled, isCellbackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(position));
244
246
  };
245
247
  };
246
248
  export var deleteRowsWithAnalytics = function deleteRowsWithAnalytics(editorAnalyticsAPI) {
@@ -273,7 +275,8 @@ export var deleteRowsWithAnalytics = function deleteRowsWithAnalytics(editorAnal
273
275
  };
274
276
  export var deleteColumnsWithAnalytics = function deleteColumnsWithAnalytics(editorAnalyticsAPI) {
275
277
  var isTableScalingEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
276
- var shouldUseIncreasedScalingPercent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
278
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
279
+ var shouldUseIncreasedScalingPercent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
277
280
  return function (inputMethod, rect) {
278
281
  return withEditorAnalyticsAPI(function (_ref6) {
279
282
  var selection = _ref6.selection;
@@ -293,10 +296,10 @@ export var deleteColumnsWithAnalytics = function deleteColumnsWithAnalytics(edit
293
296
  },
294
297
  eventType: EVENT_TYPE.TRACK
295
298
  };
296
- })(editorAnalyticsAPI)(deleteColumnsCommand(rect, isTableScalingEnabled, shouldUseIncreasedScalingPercent));
299
+ })(editorAnalyticsAPI)(deleteColumnsCommand(rect, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent));
297
300
  };
298
301
  };
299
- export var deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = function deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent) {
302
+ export var deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = function deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent) {
300
303
  return function (state, dispatch) {
301
304
  var selection = state.selection;
302
305
  var isCellSelection = selection instanceof CellSelection;
@@ -314,7 +317,7 @@ export var deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = function delete
314
317
  var isHeaderRowRequired = pluginConfig.isHeaderRowRequired || false;
315
318
  return deleteRowsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.SHORTCUT, rect, isHeaderRowRequired)(state, dispatch);
316
319
  } else if (selectionType === 'column') {
317
- return deleteColumnsWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(INPUT_METHOD.SHORTCUT, rect)(state, dispatch);
320
+ return deleteColumnsWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(INPUT_METHOD.SHORTCUT, rect)(state, dispatch);
318
321
  } else {
319
322
  return false;
320
323
  }
@@ -345,7 +345,8 @@ export function handleTripleClick(view, pos) {
345
345
  }
346
346
  export var handleCut = function handleCut(oldTr, oldState, newState, editorAnalyticsAPI, editorView) {
347
347
  var isTableScalingEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
348
- var shouldUseIncreasedScalingPercent = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
348
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
349
+ var shouldUseIncreasedScalingPercent = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
349
350
  var oldSelection = oldState.tr.selection;
350
351
  var tr = newState.tr;
351
352
  if (oldSelection instanceof CellSelection) {
@@ -388,7 +389,7 @@ export var handleCut = function handleCut(oldTr, oldState, newState, editorAnaly
388
389
  isHeaderRowRequired = _getPluginState9.pluginConfig.isHeaderRowRequired;
389
390
  tr = deleteRows(rect, isHeaderRowRequired)(tr);
390
391
  } else if (tr.selection.isColSelection()) {
391
- tr = deleteColumns(rect, getAllowAddColumnCustomStep(oldState), editorView, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(tr);
392
+ tr = deleteColumns(rect, getAllowAddColumnCustomStep(oldState), editorView, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(tr);
392
393
  }
393
394
  }
394
395
  }
@@ -352,18 +352,20 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
352
352
  this === null || this === void 0 || (_this$table = this.table) === null || _this$table === void 0 || _this$table.addEventListener('mouseenter', this.handleMouseEnter);
353
353
  }
354
354
  }
355
- if (isTableScalingEnabled && !getBooleanFF('platform.editor.table.preserve-widths-with-lock-button')) {
355
+ var _getEditorFeatureFlag = getEditorFeatureFlags(),
356
+ _getEditorFeatureFlag2 = _getEditorFeatureFlag.tableWithFixedColumnWidthsOption,
357
+ tableWithFixedColumnWidthsOption = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2,
358
+ stickyScrollbar = _getEditorFeatureFlag.stickyScrollbar;
359
+ if (isTableScalingEnabled && !tableWithFixedColumnWidthsOption) {
356
360
  this.handleColgroupUpdates(true);
357
361
  }
358
- if (isTableScalingEnabled && getBooleanFF('platform.editor.table.preserve-widths-with-lock-button') && getNode().attrs.displayMode !== 'fixed') {
362
+ if (isTableScalingEnabled && tableWithFixedColumnWidthsOption && getNode().attrs.displayMode !== 'fixed') {
359
363
  this.handleColgroupUpdates(true);
360
364
  }
361
365
  if (allowColumnResizing && this.wrapper && !isIE11) {
362
366
  this.wrapper.addEventListener('scroll', this.handleScrollDebounced, {
363
367
  passive: true
364
368
  });
365
- var _getEditorFeatureFlag = getEditorFeatureFlags(),
366
- stickyScrollbar = _getEditorFeatureFlag.stickyScrollbar;
367
369
  if (stickyScrollbar) {
368
370
  if (this.table) {
369
371
  this.stickyScrollbar = new TableStickyScrollbar(this.wrapper, this.props.view);
@@ -413,8 +415,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
413
415
  this.dragAndDropCleanupFn();
414
416
  }
415
417
  (_this$resizeObserver = this.resizeObserver) === null || _this$resizeObserver === void 0 || _this$resizeObserver.disconnect();
416
- var _getEditorFeatureFlag2 = getEditorFeatureFlags(),
417
- stickyScrollbar = _getEditorFeatureFlag2.stickyScrollbar;
418
+ var _getEditorFeatureFlag3 = getEditorFeatureFlags(),
419
+ stickyScrollbar = _getEditorFeatureFlag3.stickyScrollbar;
418
420
  if (stickyScrollbar) {
419
421
  if (this.stickyScrollbar) {
420
422
  this.stickyScrollbar.dispose();
@@ -452,7 +454,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
452
454
  containerWidth = _this$props9.containerWidth,
453
455
  isResizing = _this$props9.isResizing,
454
456
  view = _this$props9.view,
455
- getPos = _this$props9.getPos;
457
+ getPos = _this$props9.getPos,
458
+ getEditorFeatureFlags = _this$props9.getEditorFeatureFlags;
456
459
  if (!this.table) {
457
460
  return;
458
461
  }
@@ -483,8 +486,11 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
483
486
  var isColumnsDistributed = wasTableResized && !isTableResized;
484
487
  var isTableDisplayModeChanged = this.node.attrs.displayMode !== tableNode.attrs.displayMode;
485
488
  var shouldUpdateColgroup = isWidthChanged || isColumnsDistributed || isTableResizedFullWidth || isTableWidthChanged || isTableDisplayModeChanged || isNumberColumnChanged || isNumberOfColumnsChanged;
486
- var isTableScalingEnabledWithLockButton = ((_this$props$options = this.props.options) === null || _this$props$options === void 0 ? void 0 : _this$props$options.isTableScalingEnabled) && getBooleanFF('platform.editor.table.preserve-widths-with-lock-button');
487
- var shouldUseIncreasedScalingPercent = isTableScalingEnabledWithLockButton && getBooleanFF('platform.editor.table.use-increased-scaling-percent') || false;
489
+ var _getEditorFeatureFlag4 = getEditorFeatureFlags(),
490
+ _getEditorFeatureFlag5 = _getEditorFeatureFlag4.tableWithFixedColumnWidthsOption,
491
+ tableWithFixedColumnWidthsOption = _getEditorFeatureFlag5 === void 0 ? false : _getEditorFeatureFlag5;
492
+ var isTableScalingWithFixedColumnWidthsOptionEnabled = ((_this$props$options = this.props.options) === null || _this$props$options === void 0 ? void 0 : _this$props$options.isTableScalingEnabled) && tableWithFixedColumnWidthsOption;
493
+ var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && getBooleanFF('platform.editor.table.use-increased-scaling-percent') || false;
488
494
  if (force || !isResizing && shouldUpdateColgroup) {
489
495
  var _this$props$options2;
490
496
  var resizeState = getResizeState({
@@ -498,10 +504,10 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
498
504
  shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
499
505
  });
500
506
  var shouldScaleOnColgroupUpdate = false;
501
- if ((_this$props$options2 = this.props.options) !== null && _this$props$options2 !== void 0 && _this$props$options2.isTableScalingEnabled && !getBooleanFF('platform.editor.table.preserve-widths-with-lock-button')) {
507
+ if ((_this$props$options2 = this.props.options) !== null && _this$props$options2 !== void 0 && _this$props$options2.isTableScalingEnabled && !tableWithFixedColumnWidthsOption) {
502
508
  shouldScaleOnColgroupUpdate = true;
503
509
  }
504
- if (isTableScalingEnabledWithLockButton && tableNode.attrs.displayMode !== 'fixed') {
510
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled && tableNode.attrs.displayMode !== 'fixed') {
505
511
  shouldScaleOnColgroupUpdate = true;
506
512
  }
507
513
 
@@ -528,7 +534,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
528
534
  isResizing = _this$props10.isResizing,
529
535
  options = _this$props10.options,
530
536
  isTableScalingEnabled = _this$props10.isTableScalingEnabled,
531
- getPos = _this$props10.getPos;
537
+ getPos = _this$props10.getPos,
538
+ getEditorFeatureFlags = _this$props10.getEditorFeatureFlags;
532
539
  var isInDanger = this.props.isInDanger;
533
540
  var table = findTable(view.state.selection);
534
541
  if (!getBooleanFF('platform.editor.table.use-shared-state-hook')) {
@@ -537,13 +544,16 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
537
544
  }
538
545
  var shouldScale = false;
539
546
  var shouldHandleColgroupUpdates = false;
540
- if (isTableScalingEnabled && !getBooleanFF('platform.editor.table.preserve-widths-with-lock-button')) {
547
+ var _getEditorFeatureFlag6 = getEditorFeatureFlags(),
548
+ _getEditorFeatureFlag7 = _getEditorFeatureFlag6.tableWithFixedColumnWidthsOption,
549
+ tableWithFixedColumnWidthsOption = _getEditorFeatureFlag7 === void 0 ? false : _getEditorFeatureFlag7;
550
+ if (isTableScalingEnabled && !tableWithFixedColumnWidthsOption) {
541
551
  shouldScale = true;
542
552
  shouldHandleColgroupUpdates = true;
543
553
  }
544
- var isTableScalingEnabledWithLockButton = isTableScalingEnabled && getBooleanFF('platform.editor.table.preserve-widths-with-lock-button');
545
- var shouldUseIncreasedScalingPercent = isTableScalingEnabledWithLockButton && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
546
- if (isTableScalingEnabledWithLockButton && getNode().attrs.displayMode !== 'fixed') {
554
+ var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && tableWithFixedColumnWidthsOption;
555
+ var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
556
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled && getNode().attrs.displayMode !== 'fixed') {
547
557
  shouldScale = true;
548
558
  shouldHandleColgroupUpdates = true;
549
559
  }
@@ -749,9 +759,11 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
749
759
  }
750
760
  var isNested = isTableNested(view.state, tablePos);
751
761
  var topStickyShadowPosition = isDragAndDropEnabled ? this.state.stickyHeader && this.state.stickyHeader.top + this.state.stickyHeader.padding + 2 : this.state.stickyHeader && this.state.stickyHeader.top + this.state.stickyHeader.padding + shadowPadding + 2;
752
- var _getEditorFeatureFlag3 = getEditorFeatureFlags(),
753
- stickyScrollbar = _getEditorFeatureFlag3.stickyScrollbar;
754
- var shouldUseIncreasedScalingPercent = isTableScalingEnabled && getBooleanFF('platform.editor.table.preserve-widths-with-lock-button') && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
762
+ var _getEditorFeatureFlag8 = getEditorFeatureFlags(),
763
+ stickyScrollbar = _getEditorFeatureFlag8.stickyScrollbar,
764
+ _getEditorFeatureFlag9 = _getEditorFeatureFlag8.tableWithFixedColumnWidthsOption,
765
+ tableWithFixedColumnWidthsOption = _getEditorFeatureFlag9 === void 0 ? false : _getEditorFeatureFlag9;
766
+ var shouldUseIncreasedScalingPercent = isTableScalingEnabled && tableWithFixedColumnWidthsOption && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
755
767
  return /*#__PURE__*/React.createElement(TableContainer
756
768
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
757
769
  , {
@@ -767,6 +779,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
767
779
  isTableResizingEnabled: options === null || options === void 0 ? void 0 : options.isTableResizingEnabled,
768
780
  isResizing: isResizing,
769
781
  isTableScalingEnabled: isTableScalingEnabled,
782
+ isTableWithFixedColumnWidthsOptionEnabled: tableWithFixedColumnWidthsOption,
770
783
  isWholeTableInDanger: isWholeTableInDanger,
771
784
  isTableAlignmentEnabled: isTableAlignmentEnabled,
772
785
  shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
@@ -116,6 +116,7 @@ export var ResizableTableContainer = /*#__PURE__*/React.memo(function (_ref4) {
116
116
  tableWrapperHeight = _ref4.tableWrapperHeight,
117
117
  isWholeTableInDanger = _ref4.isWholeTableInDanger,
118
118
  isTableScalingEnabled = _ref4.isTableScalingEnabled,
119
+ isTableWithFixedColumnWidthsOptionEnabled = _ref4.isTableWithFixedColumnWidthsOptionEnabled,
119
120
  isTableAlignmentEnabled = _ref4.isTableAlignmentEnabled,
120
121
  shouldUseIncreasedScalingPercent = _ref4.shouldUseIncreasedScalingPercent;
121
122
  var containerRef = useRef(null);
@@ -223,6 +224,7 @@ export var ResizableTableContainer = /*#__PURE__*/React.memo(function (_ref4) {
223
224
  isTableAlignmentEnabled: isTableAlignmentEnabled,
224
225
  isFullWidthModeEnabled: isFullWidthModeEnabled,
225
226
  isTableScalingEnabled: isTableScalingEnabled,
227
+ isTableWithFixedColumnWidthsOptionEnabled: isTableWithFixedColumnWidthsOptionEnabled,
226
228
  isWholeTableInDanger: isWholeTableInDanger,
227
229
  shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent,
228
230
  pluginInjectionApi: pluginInjectionApi,
@@ -278,6 +280,7 @@ export var TableContainer = function TableContainer(_ref6) {
278
280
  isWholeTableInDanger = _ref6.isWholeTableInDanger,
279
281
  isTableResizingEnabled = _ref6.isTableResizingEnabled,
280
282
  isTableScalingEnabled = _ref6.isTableScalingEnabled,
283
+ isTableWithFixedColumnWidthsOptionEnabled = _ref6.isTableWithFixedColumnWidthsOptionEnabled,
281
284
  isTableAlignmentEnabled = _ref6.isTableAlignmentEnabled,
282
285
  shouldUseIncreasedScalingPercent = _ref6.shouldUseIncreasedScalingPercent;
283
286
  if (isTableResizingEnabled && !isNested) {
@@ -295,6 +298,7 @@ export var TableContainer = function TableContainer(_ref6) {
295
298
  isResizing: isResizing,
296
299
  pluginInjectionApi: pluginInjectionApi,
297
300
  isTableScalingEnabled: isTableScalingEnabled,
301
+ isTableWithFixedColumnWidthsOptionEnabled: isTableWithFixedColumnWidthsOptionEnabled,
298
302
  isWholeTableInDanger: isWholeTableInDanger,
299
303
  isTableAlignmentEnabled: isTableAlignmentEnabled,
300
304
  shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
@@ -110,6 +110,7 @@ export var TableResizer = function TableResizer(_ref) {
110
110
  attachAnalyticsEvent = _ref.attachAnalyticsEvent,
111
111
  displayGapCursor = _ref.displayGapCursor,
112
112
  isTableScalingEnabled = _ref.isTableScalingEnabled,
113
+ isTableWithFixedColumnWidthsOptionEnabled = _ref.isTableWithFixedColumnWidthsOptionEnabled,
113
114
  isTableAlignmentEnabled = _ref.isTableAlignmentEnabled,
114
115
  isWholeTableInDanger = _ref.isWholeTableInDanger,
115
116
  shouldUseIncreasedScalingPercent = _ref.shouldUseIncreasedScalingPercent,
@@ -233,7 +234,7 @@ export var TableResizer = function TableResizer(_ref) {
233
234
  prevNode: node,
234
235
  start: pos + 1,
235
236
  parentWidth: newWidth
236
- }, editorView.domAtPos.bind(editorView), isTableScalingEnabled);
237
+ }, editorView.domAtPos.bind(editorView), isTableScalingEnabled, isTableWithFixedColumnWidthsOptionEnabled);
237
238
  var editorContainerWidth = isFullWidthModeEnabled ? lineLength + 2 * akEditorGutterPaddingDynamic() : containerWidth;
238
239
  var closestSnap = findClosestSnap(newWidth, isTableScalingEnabled ? defaultTablePreserveSnappingWidths(PRESERVE_TABLE_SNAPPING_LENGTH_OFFSET, editorContainerWidth, excludeGuidelineConfig) : defaultSnappingWidths, isTableScalingEnabled ? defaultGuidelinesForPreserveTable(PRESERVE_TABLE_GUIDELINES_LENGTH_OFFSET, editorContainerWidth, excludeGuidelineConfig) : defaultGuidelines, TABLE_HIGHLIGHT_GAP, TABLE_HIGHLIGHT_TOLERANCE);
239
240
  updateActiveGuidelines(closestSnap);
@@ -252,7 +253,7 @@ export var TableResizer = function TableResizer(_ref) {
252
253
  }, updateWidthToWidest(_defineProperty({}, currentTableNodeLocalId, shouldUpdateWidthToWidest)))(state, dispatch);
253
254
  updateWidth(shouldUpdateWidthToWidest ? TABLE_MAX_WIDTH : newWidth);
254
255
  return newWidth;
255
- }, [countFrames, isTableScalingEnabled, isFullWidthModeEnabled, excludeGuidelineConfig, tableRef, node, editorView, updateActiveGuidelines, containerWidth, lineLength, updateWidth, getPos, switchToCenterAlignment]);
256
+ }, [countFrames, isTableScalingEnabled, isTableWithFixedColumnWidthsOptionEnabled, isFullWidthModeEnabled, excludeGuidelineConfig, tableRef, node, editorView, updateActiveGuidelines, containerWidth, lineLength, updateWidth, getPos, switchToCenterAlignment]);
256
257
  var scheduleResize = useMemo(function () {
257
258
  return rafSchd(handleResize);
258
259
  }, [handleResize]);
@@ -76,6 +76,7 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
76
76
  _this.getPos = props.getPos;
77
77
  _this.eventDispatcher = props.eventDispatcher;
78
78
  _this.options = props.options;
79
+ _this.getEditorFeatureFlags = props.getEditorFeatureFlags;
79
80
  return _this;
80
81
  }
81
82
  _createClass(TableView, [{
@@ -83,9 +84,9 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
83
84
  value: function getContentDOM() {
84
85
  var rendered = DOMSerializer.renderSpec(document, toDOM(this.node, this.reactComponentProps));
85
86
  if (rendered.dom) {
86
- var _this$options, _this$options2;
87
+ var _this$options, _this$options2, _this$getEditorFeatur;
87
88
  this.table = rendered.dom;
88
- if (!((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.isTableScalingEnabled) || (_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.isTableScalingEnabled && getBooleanFF('platform.editor.table.preserve-widths-with-lock-button') && this.node.attrs.displayMode === 'fixed') {
89
+ if (!((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.isTableScalingEnabled) || (_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.isTableScalingEnabled && (_this$getEditorFeatur = this.getEditorFeatureFlags) !== null && _this$getEditorFeatur !== void 0 && _this$getEditorFeatur.call(this).tableWithFixedColumnWidthsOption && this.node.attrs.displayMode === 'fixed') {
89
90
  var tableInlineWidth = getInlineWidth(this.node, this.reactComponentProps.options, this.reactComponentProps.view.state, this.reactComponentProps.getPos());
90
91
  if (tableInlineWidth) {
91
92
  handleInlineTableWidth(this.table, tableInlineWidth);
@@ -99,7 +100,8 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
99
100
  value: function setDomAttrs(node) {
100
101
  var _this2 = this,
101
102
  _this$options3,
102
- _this$options4;
103
+ _this$options4,
104
+ _this$getEditorFeatur2;
103
105
  if (!this.table) {
104
106
  return;
105
107
  }
@@ -109,7 +111,7 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
109
111
  });
110
112
 
111
113
  // Preserve Table Width cannot have inline width set on the table
112
- if (!((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.isTableScalingEnabled) || (_this$options4 = this.options) !== null && _this$options4 !== void 0 && _this$options4.isTableScalingEnabled && getBooleanFF('platform.editor.table.preserve-widths-with-lock-button') && node.attrs.displayMode === 'fixed') {
114
+ if (!((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.isTableScalingEnabled) || (_this$options4 = this.options) !== null && _this$options4 !== void 0 && _this$options4.isTableScalingEnabled && (_this$getEditorFeatur2 = this.getEditorFeatureFlags) !== null && _this$getEditorFeatur2 !== void 0 && _this$getEditorFeatur2.call(this).tableWithFixedColumnWidthsOption && node.attrs.displayMode === 'fixed') {
113
115
  var _tableWidthPluginKey$;
114
116
  // handle inline style when table been resized
115
117
  var tableInlineWidth = getInlineWidth(node, this.reactComponentProps.options, this.view.state, this.getPos());
@@ -52,7 +52,7 @@ var defaultGetEditorFeatureFlags = function defaultGetEditorFeatureFlags() {
52
52
  * from `@atlaskit/editor-core`.
53
53
  */
54
54
  var tablesPlugin = function tablesPlugin(_ref) {
55
- var _api$analytics, _api$analytics2;
55
+ var _api$analytics, _options$getEditorFea, _options$getEditorFea2, _api$analytics2;
56
56
  var options = _ref.config,
57
57
  api = _ref.api;
58
58
  var editorViewRef = {
@@ -65,8 +65,10 @@ var tablesPlugin = function tablesPlugin(_ref) {
65
65
  };
66
66
  };
67
67
  var editorAnalyticsAPI = api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
68
- var isTableScalingWithFixedColumnWidthsOptionEnabled = (options === null || options === void 0 ? void 0 : options.isTableScalingEnabled) && getBooleanFF('platform.editor.table.preserve-widths-with-lock-button');
69
- var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
68
+ var isTableFixedColumnWidthsOptionEnabled = (options === null || options === void 0 || (_options$getEditorFea = options.getEditorFeatureFlags) === null || _options$getEditorFea === void 0 ? void 0 : _options$getEditorFea.call(options).tableWithFixedColumnWidthsOption) || false;
69
+ var shouldUseIncreasedScalingPercent = options === null || options === void 0 ? void 0 : options.isTableScalingEnabled;
70
+ isTableFixedColumnWidthsOptionEnabled && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
71
+ var isCellBackgroundDuplicated = (options === null || options === void 0 || (_options$getEditorFea2 = options.getEditorFeatureFlags) === null || _options$getEditorFea2 === void 0 ? void 0 : _options$getEditorFea2.call(options).tableDuplicateCellColouring) || false;
70
72
  return {
71
73
  name: 'table',
72
74
  // Use getSharedState to store fullWidthEnabled and wasFullWidthModeEnabled to guarantee access
@@ -195,7 +197,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
195
197
  isTableAlignmentEnabled = _ref7$isTableAlignmen === void 0 ? false : _ref7$isTableAlignmen,
196
198
  _ref7$fullWidthEnable = _ref7.fullWidthEnabled,
197
199
  fullWidthEnabled = _ref7$fullWidthEnable === void 0 ? false : _ref7$fullWidthEnable;
198
- return keymapPlugin(defaultGetEditorContainerWidth, editorAnalyticsAPI, dragAndDropEnabled, isTableScalingEnabled, isTableAlignmentEnabled, fullWidthEnabled, api, getIntl, shouldUseIncreasedScalingPercent);
200
+ return keymapPlugin(defaultGetEditorContainerWidth, editorAnalyticsAPI, dragAndDropEnabled, isTableScalingEnabled, isTableAlignmentEnabled, fullWidthEnabled, api, getIntl, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent);
199
201
  }
200
202
  }, {
201
203
  name: 'tableSelectionKeymap',
@@ -237,7 +239,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
237
239
  name: 'tableDragAndDrop',
238
240
  plugin: function plugin(_ref11) {
239
241
  var dispatch = _ref11.dispatch;
240
- return options !== null && options !== void 0 && options.dragAndDropEnabled ? createDragAndDropPlugin(dispatch, editorAnalyticsAPI) : undefined;
242
+ return options !== null && options !== void 0 && options.dragAndDropEnabled ? createDragAndDropPlugin(dispatch, editorAnalyticsAPI, options === null || options === void 0 ? void 0 : options.isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled) : undefined;
241
243
  }
242
244
  }, {
243
245
  name: 'tableViewModeSort',
@@ -368,6 +370,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
368
370
  isHeaderColumnEnabled: isHeaderColumnEnabled,
369
371
  isHeaderRowEnabled: isHeaderRowEnabled,
370
372
  isDragAndDropEnabled: isDragAndDropEnabled,
373
+ isTableScalingEnabled: options === null || options === void 0 ? void 0 : options.isTableScalingEnabled,
371
374
  editorView: editorView,
372
375
  mountPoint: popupsMountPoint,
373
376
  boundariesElement: popupsBoundariesElement,
@@ -465,7 +468,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
465
468
  },
466
469
  floatingToolbar: getToolbarConfig(defaultGetEditorContainerWidth, editorAnalyticsAPI, (options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) || defaultGetEditorFeatureFlags, function () {
467
470
  return editorViewRef.current;
468
- }, options, isTableScalingWithFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(pluginConfig(options === null || options === void 0 ? void 0 : options.tableOptions))
471
+ }, options, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(pluginConfig(options === null || options === void 0 ? void 0 : options.tableOptions))
469
472
  }
470
473
  };
471
474
  };
@@ -18,7 +18,7 @@ import { DropTargetType } from './consts';
18
18
  import { createPluginState, getPluginState } from './plugin-factory';
19
19
  import { pluginKey } from './plugin-key';
20
20
  import { getDraggableDataFromEvent } from './utils/monitor';
21
- var destroyFn = function destroyFn(editorView, editorAnalyticsAPI) {
21
+ var destroyFn = function destroyFn(editorView, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled) {
22
22
  var editorPageScrollContainer = document.querySelector('.fabric-editor-popup-scroll-parent');
23
23
  var rowAutoScrollers = editorPageScrollContainer ? [monitorForElements({
24
24
  canMonitor: function canMonitor(_ref) {
@@ -154,16 +154,13 @@ var destroyFn = function destroyFn(editorView, editorAnalyticsAPI) {
154
154
  tableRef = _getTablePluginState3.tableRef,
155
155
  tableNode = _getTablePluginState3.tableNode;
156
156
  if (tableRef && tableNode) {
157
- var _getTablePluginState4 = getTablePluginState(editorView.state),
158
- _getTablePluginState5 = _getTablePluginState4.isTableScalingEnabled,
159
- isTableScalingEnabled = _getTablePluginState5 === void 0 ? false : _getTablePluginState5;
160
157
  var isTableScalingEnabledOnCurrentTable = isTableScalingEnabled;
161
- var isTableScalingEnabledWithLockButton = isTableScalingEnabled && getBooleanFF('platform.editor.table.preserve-widths-with-lock-button');
162
- var shouldUseIncreasedScalingPercent = isTableScalingEnabledWithLockButton && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
163
- if (isTableScalingEnabledWithLockButton) {
158
+ var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && isTableFixedColumnWidthsOptionEnabled;
159
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
164
160
  isTableScalingEnabledOnCurrentTable = tableNode.attrs.displayMode !== 'fixed';
165
161
  }
166
- insertColgroupFromNode(tableRef, tableNode, isTableScalingEnabledOnCurrentTable, shouldUseIncreasedScalingPercent);
162
+ var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
163
+ insertColgroupFromNode(tableRef, tableNode, isTableScalingEnabledOnCurrentTable, undefined, shouldUseIncreasedScalingPercent);
167
164
  }
168
165
  }
169
166
  editorView.focus();
@@ -172,6 +169,8 @@ var destroyFn = function destroyFn(editorView, editorAnalyticsAPI) {
172
169
  })]));
173
170
  };
174
171
  export var createPlugin = function createPlugin(dispatch, editorAnalyticsAPI) {
172
+ var isTableScalingEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
173
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
175
174
  return new SafePlugin({
176
175
  state: createPluginState(dispatch, function (state) {
177
176
  return {
@@ -186,10 +185,10 @@ export var createPlugin = function createPlugin(dispatch, editorAnalyticsAPI) {
186
185
  }),
187
186
  key: pluginKey,
188
187
  appendTransaction: function appendTransaction(transactions, oldState, newState) {
189
- var _getTablePluginState6 = getTablePluginState(oldState),
190
- oldTargetCellPosition = _getTablePluginState6.targetCellPosition;
191
- var _getTablePluginState7 = getTablePluginState(newState),
192
- newTargetCellPosition = _getTablePluginState7.targetCellPosition;
188
+ var _getTablePluginState4 = getTablePluginState(oldState),
189
+ oldTargetCellPosition = _getTablePluginState4.targetCellPosition;
190
+ var _getTablePluginState5 = getTablePluginState(newState),
191
+ newTargetCellPosition = _getTablePluginState5.targetCellPosition;
193
192
  var _getPluginState = getPluginState(newState),
194
193
  isDragMenuOpen = _getPluginState.isDragMenuOpen,
195
194
  dragMenuIndex = _getPluginState.dragMenuIndex;
@@ -239,7 +238,7 @@ export var createPlugin = function createPlugin(dispatch, editorAnalyticsAPI) {
239
238
  },
240
239
  view: function view(editorView) {
241
240
  return {
242
- destroy: destroyFn(editorView, editorAnalyticsAPI)
241
+ destroy: destroyFn(editorView, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled)
243
242
  };
244
243
  },
245
244
  props: {
@@ -15,7 +15,9 @@ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAn
15
15
  var isFullWidthEnabled = arguments.length > 5 ? arguments[5] : undefined;
16
16
  var pluginInjectionApi = arguments.length > 6 ? arguments[6] : undefined;
17
17
  var getIntl = arguments.length > 7 ? arguments[7] : undefined;
18
- var shouldUseIncreasedScalingPercent = arguments.length > 8 ? arguments[8] : undefined;
18
+ var isCellBackgroundDuplicated = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
19
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
20
+ var shouldUseIncreasedScalingPercent = arguments.length > 10 ? arguments[10] : undefined;
19
21
  var list = {};
20
22
  var ariaNotifyPlugin = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.accessibilityUtils) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions.ariaNotify;
21
23
  bindKeymapWithCommand(nextCell.common, goToNextCell(editorAnalyticsAPI, ariaNotifyPlugin, getIntl)(1), list);
@@ -27,13 +29,13 @@ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAn
27
29
  // Add row/column shortcuts
28
30
  bindKeymapWithCommand(addRowBefore.common, addRowAroundSelection(editorAnalyticsAPI)('TOP'), list);
29
31
  bindKeymapWithCommand(addRowAfter.common, addRowAroundSelection(editorAnalyticsAPI)('BOTTOM'), list);
30
- bindKeymapWithCommand(addColumnBefore.common, addColumnBeforeCommand(isTableScalingEnabled, shouldUseIncreasedScalingPercent), list);
31
- bindKeymapWithCommand(addColumnAfter.common, addColumnAfterCommand(isTableScalingEnabled, shouldUseIncreasedScalingPercent), list);
32
+ bindKeymapWithCommand(addColumnBefore.common, addColumnBeforeCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
33
+ bindKeymapWithCommand(addColumnAfter.common, addColumnAfterCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
32
34
  if (getBooleanFF('platform.editor.a11y-help-dialog-shortcut-keys-position_aghfg')) {
33
35
  bindKeymapWithCommand(addRowBeforeVO.common, addRowAroundSelection(editorAnalyticsAPI)('TOP'), list);
34
36
  bindKeymapWithCommand(addRowAfterVO.common, addRowAroundSelection(editorAnalyticsAPI)('BOTTOM'), list);
35
- bindKeymapWithCommand(addColumnBeforeVO.common, addColumnBeforeCommand(isTableScalingEnabled), list);
36
- bindKeymapWithCommand(addColumnAfterVO.common, addColumnAfterCommand(isTableScalingEnabled), list);
37
+ bindKeymapWithCommand(addColumnBeforeVO.common, addColumnBeforeCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
38
+ bindKeymapWithCommand(addColumnAfterVO.common, addColumnAfterCommand(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
37
39
  }
38
40
  if (dragAndDropEnabled) {
39
41
  // Move row/column shortcuts
@@ -50,8 +52,8 @@ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAn
50
52
  bindKeymapWithCommand(moveColumnRight.common, moveSourceWithAnalyticsViaShortcut(editorAnalyticsAPI)('table-column', 1), list);
51
53
 
52
54
  // Delete row/column shortcuts
53
- bindKeymapWithCommand(deleteColumn.common, deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent), list);
54
- bindKeymapWithCommand(deleteRow.common, deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent), list);
55
+ bindKeymapWithCommand(deleteColumn.common, deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
56
+ bindKeymapWithCommand(deleteRow.common, deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent), list);
55
57
  }
56
58
  if (getBooleanFF('platform.editor.a11y-column-resizing_emcvz')) {
57
59
  bindKeymapWithCommand(startColumnResizing.common, initiateKeyboardColumnResizing({
@@ -68,8 +70,8 @@ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAn
68
70
  ariaNotify: ariaNotifyPlugin,
69
71
  getIntl: getIntl
70
72
  }), list);
71
- bindKeymapWithCommand(decreaseMediaSize.common, changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI)(-10, getEditorContainerWidth, isTableScalingEnabled, INPUT_METHOD.SHORTCUT, ariaNotifyPlugin, getIntl), list);
72
- bindKeymapWithCommand(increaseMediaSize.common, changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI)(10, getEditorContainerWidth, isTableScalingEnabled, INPUT_METHOD.SHORTCUT, ariaNotifyPlugin, getIntl), list);
73
+ bindKeymapWithCommand(decreaseMediaSize.common, changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI)(-10, getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, INPUT_METHOD.SHORTCUT, ariaNotifyPlugin, getIntl), list);
74
+ bindKeymapWithCommand(increaseMediaSize.common, changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI)(10, getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, INPUT_METHOD.SHORTCUT, ariaNotifyPlugin, getIntl), list);
73
75
  bindKeymapWithCommand(escape.common, stopKeyboardColumnResizing({
74
76
  ariaNotify: ariaNotifyPlugin,
75
77
  getIntl: getIntl
@@ -81,8 +81,11 @@ export var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch
81
81
  });
82
82
  }
83
83
  if (tr) {
84
+ var _getEditorFeatureFlag = getEditorFeatureFlags(),
85
+ _getEditorFeatureFlag2 = _getEditorFeatureFlag.tableWithFixedColumnWidthsOption,
86
+ tableWithFixedColumnWidthsOption = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2;
84
87
  // "fixTables" removes empty rows as we don't allow that in schema
85
- var updatedTr = handleCut(tr, oldState, newState, editorAnalyticsAPI, editorViewRef || undefined, isTableScalingEnabled, shouldUseIncreasedScalingPercent);
88
+ var updatedTr = handleCut(tr, oldState, newState, editorAnalyticsAPI, editorViewRef || undefined, isTableScalingEnabled, tableWithFixedColumnWidthsOption, shouldUseIncreasedScalingPercent);
86
89
  return fixTables(updatedTr) || updatedTr;
87
90
  }
88
91
  if (transactions.find(function (tr) {