@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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @atlaskit/editor-plugin-table
2
2
 
3
+ ## 7.17.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#108458](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/108458)
8
+ [`66522b500303c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/66522b500303c) -
9
+ [ED-23469] Add featureFlag plugin as optional plugin dependency and switch to read
10
+ platform_editor_element_drag_and_drop gate value
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies
15
+
16
+ ## 7.16.19
17
+
18
+ ### Patch Changes
19
+
20
+ - [#109033](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/109033)
21
+ [`046555d9a96ea`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/046555d9a96ea) -
22
+ Converts LD flag to an experiment for Preserve Table Widths part two feature.
23
+
3
24
  ## 7.16.18
4
25
 
5
26
  ### Patch Changes
@@ -160,6 +160,7 @@ var changeColumnWidthByStep = exports.changeColumnWidthByStep = function changeC
160
160
  var stepSize = _ref4.stepSize,
161
161
  getEditorContainerWidth = _ref4.getEditorContainerWidth,
162
162
  isTableScalingEnabled = _ref4.isTableScalingEnabled,
163
+ isTableFixedColumnWidthsOptionEnabled = _ref4.isTableFixedColumnWidthsOptionEnabled,
163
164
  ariaNotify = _ref4.ariaNotify,
164
165
  getIntl = _ref4.getIntl;
165
166
  return function (state, dispatch, view) {
@@ -211,11 +212,11 @@ var changeColumnWidthByStep = exports.changeColumnWidthByStep = function changeC
211
212
  getEditorContainerWidth: getEditorContainerWidth
212
213
  });
213
214
  var isTableScalingEnabledOnCurrentTable = isTableScalingEnabled;
214
- var isTableScalingEnabledWithLockButton = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button');
215
- if (isTableScalingEnabledWithLockButton) {
215
+ var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && isTableFixedColumnWidthsOptionEnabled;
216
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
216
217
  isTableScalingEnabledOnCurrentTable = originalTable.attrs.displayMode !== 'fixed';
217
218
  }
218
- var shouldUseIncreasedScalingPercent = isTableScalingEnabledWithLockButton && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
219
+ var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
219
220
  var initialResizeState = (0, _utils3.getResizeState)({
220
221
  minWidth: _styles.tableCellMinWidth,
221
222
  maxSize: maxSize,
@@ -8,9 +8,10 @@ var _deleteColumns = require("../transforms/delete-columns");
8
8
  var _getAllowAddColumnCustomStep = require("../utils/get-allow-add-column-custom-step");
9
9
  var deleteColumnsCommand = exports.deleteColumnsCommand = function deleteColumnsCommand(rect) {
10
10
  var isTableScalingEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
11
- var shouldUseIncreasedScalingPercent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
11
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
12
+ var shouldUseIncreasedScalingPercent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
12
13
  return function (state, dispatch, view) {
13
- var tr = (0, _deleteColumns.deleteColumns)(rect, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(state.tr);
14
+ var tr = (0, _deleteColumns.deleteColumns)(rect, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(state.tr);
14
15
  if (dispatch) {
15
16
  dispatch(tr);
16
17
  return true;
@@ -31,7 +31,8 @@ function addColumnAtCustomStep(column) {
31
31
  function addColumnAt() {
32
32
  var isTableScalingEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
33
33
  var isCellBackgroundDuplicated = arguments.length > 1 ? arguments[1] : undefined;
34
- var shouldUseIncreasedScalingPercent = arguments.length > 2 ? arguments[2] : undefined;
34
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 2 ? arguments[2] : undefined;
35
+ var shouldUseIncreasedScalingPercent = arguments.length > 3 ? arguments[3] : undefined;
35
36
  return function (column) {
36
37
  var allowAddColumnCustomStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
37
38
  var view = arguments.length > 2 ? arguments[2] : undefined;
@@ -45,7 +46,7 @@ function addColumnAt() {
45
46
  var table = (0, _utils2.findTable)(updatedTr.selection);
46
47
  if (table) {
47
48
  // [ED-8288] Update colwidths manually to avoid multiple dispatch in TableComponent
48
- updatedTr = (0, _columnWidth.rescaleColumns)(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(table, view)(updatedTr);
49
+ updatedTr = (0, _columnWidth.rescaleColumns)(isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(table, view)(updatedTr);
49
50
  }
50
51
  if (view) {
51
52
  updatedTr = (0, _commands.updateRowOrColumnMovedTransform)({
@@ -64,7 +65,9 @@ function addColumnAt() {
64
65
  // Command to add a column before the column with the selection.
65
66
  var addColumnBefore = exports.addColumnBefore = function addColumnBefore() {
66
67
  var isTableScalingEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
67
- var shouldUseIncreasedScalingPercent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
68
+ var isCellBackgroundDuplicated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
69
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
70
+ var shouldUseIncreasedScalingPercent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
68
71
  return function (state, dispatch, view) {
69
72
  var table = (0, _utils2.findTable)(state.selection);
70
73
  if (!table) {
@@ -72,7 +75,7 @@ var addColumnBefore = exports.addColumnBefore = function addColumnBefore() {
72
75
  }
73
76
  if (dispatch) {
74
77
  var rect = (0, _utils2.selectedRect)(state);
75
- dispatch(addColumnAt(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(rect.left, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr));
78
+ dispatch(addColumnAt(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(rect.left, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr));
76
79
  }
77
80
  return true;
78
81
  };
@@ -80,7 +83,7 @@ var addColumnBefore = exports.addColumnBefore = function addColumnBefore() {
80
83
 
81
84
  // :: (EditorState, dispatch: ?(tr: Transaction)) → bool
82
85
  // Command to add a column after the column with the selection.
83
- var addColumnAfter = exports.addColumnAfter = function addColumnAfter(isTableScalingEnabled, shouldUseIncreasedScalingPercent) {
86
+ var addColumnAfter = exports.addColumnAfter = function addColumnAfter(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent) {
84
87
  return function (state, dispatch, view) {
85
88
  var table = (0, _utils2.findTable)(state.selection);
86
89
  if (!table) {
@@ -88,7 +91,7 @@ var addColumnAfter = exports.addColumnAfter = function addColumnAfter(isTableSca
88
91
  }
89
92
  if (dispatch) {
90
93
  var rect = (0, _utils2.selectedRect)(state);
91
- dispatch(addColumnAt(isTableScalingEnabled, shouldUseIncreasedScalingPercent)(rect.right, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr));
94
+ dispatch(addColumnAt(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(rect.right, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr));
92
95
  }
93
96
  return true;
94
97
  };
@@ -96,10 +99,11 @@ var addColumnAfter = exports.addColumnAfter = function addColumnAfter(isTableSca
96
99
  var insertColumn = exports.insertColumn = function insertColumn() {
97
100
  var isTableScalingEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
98
101
  var isCellBackgroundDuplicated = arguments.length > 1 ? arguments[1] : undefined;
99
- var shouldUseIncreasedScalingPercent = arguments.length > 2 ? arguments[2] : undefined;
102
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 2 ? arguments[2] : undefined;
103
+ var shouldUseIncreasedScalingPercent = arguments.length > 3 ? arguments[3] : undefined;
100
104
  return function (column) {
101
105
  return function (state, dispatch, view) {
102
- var tr = addColumnAt(isTableScalingEnabled, isCellBackgroundDuplicated, shouldUseIncreasedScalingPercent)(column, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr);
106
+ var tr = addColumnAt(isTableScalingEnabled, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(column, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(state), view)(state.tr);
103
107
  var table = (0, _utils2.findTable)(tr.selection);
104
108
  if (!table) {
105
109
  return false;
@@ -195,7 +195,7 @@ var insertRowWithAnalytics = exports.insertRowWithAnalytics = function insertRow
195
195
  };
196
196
  };
197
197
  var changeColumnWidthByStepWithAnalytics = exports.changeColumnWidthByStepWithAnalytics = function changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI) {
198
- return function (stepSize, getEditorContainerWidth, isTableScalingEnabled, inputMethod, ariaNotify, getIntl) {
198
+ return function (stepSize, getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, inputMethod, ariaNotify, getIntl) {
199
199
  return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
200
200
  var _getSelectedTableInfo2 = (0, _utils2.getSelectedTableInfo)(state.selection),
201
201
  table = _getSelectedTableInfo2.table,
@@ -221,6 +221,7 @@ var changeColumnWidthByStepWithAnalytics = exports.changeColumnWidthByStepWithAn
221
221
  stepSize: stepSize,
222
222
  getEditorContainerWidth: getEditorContainerWidth,
223
223
  isTableScalingEnabled: isTableScalingEnabled,
224
+ isTableFixedColumnWidthsOptionEnabled: isTableFixedColumnWidthsOptionEnabled,
224
225
  ariaNotify: ariaNotify,
225
226
  getIntl: getIntl
226
227
  }));
@@ -229,7 +230,8 @@ var changeColumnWidthByStepWithAnalytics = exports.changeColumnWidthByStepWithAn
229
230
  var insertColumnWithAnalytics = exports.insertColumnWithAnalytics = function insertColumnWithAnalytics(editorAnalyticsAPI) {
230
231
  var isTableScalingEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
231
232
  var isCellbackgroundDuplicated = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
232
- var shouldUseIncreasedScalingPercent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
233
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
234
+ var shouldUseIncreasedScalingPercent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
233
235
  return function (inputMethod, position) {
234
236
  return (0, _analytics2.withEditorAnalyticsAPI)(function (state) {
235
237
  var _getSelectedTableInfo3 = (0, _utils2.getSelectedTableInfo)(state.selection),
@@ -247,7 +249,7 @@ var insertColumnWithAnalytics = exports.insertColumnWithAnalytics = function ins
247
249
  },
248
250
  eventType: _analytics.EVENT_TYPE.TRACK
249
251
  };
250
- })(editorAnalyticsAPI)((0, _insert.insertColumn)(isTableScalingEnabled, isCellbackgroundDuplicated, shouldUseIncreasedScalingPercent)(position));
252
+ })(editorAnalyticsAPI)((0, _insert.insertColumn)(isTableScalingEnabled, isCellbackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(position));
251
253
  };
252
254
  };
253
255
  var deleteRowsWithAnalytics = exports.deleteRowsWithAnalytics = function deleteRowsWithAnalytics(editorAnalyticsAPI) {
@@ -280,7 +282,8 @@ var deleteRowsWithAnalytics = exports.deleteRowsWithAnalytics = function deleteR
280
282
  };
281
283
  var deleteColumnsWithAnalytics = exports.deleteColumnsWithAnalytics = function deleteColumnsWithAnalytics(editorAnalyticsAPI) {
282
284
  var isTableScalingEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
283
- var shouldUseIncreasedScalingPercent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
285
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
286
+ var shouldUseIncreasedScalingPercent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
284
287
  return function (inputMethod, rect) {
285
288
  return (0, _analytics2.withEditorAnalyticsAPI)(function (_ref6) {
286
289
  var selection = _ref6.selection;
@@ -300,10 +303,10 @@ var deleteColumnsWithAnalytics = exports.deleteColumnsWithAnalytics = function d
300
303
  },
301
304
  eventType: _analytics.EVENT_TYPE.TRACK
302
305
  };
303
- })(editorAnalyticsAPI)((0, _delete.deleteColumnsCommand)(rect, isTableScalingEnabled, shouldUseIncreasedScalingPercent));
306
+ })(editorAnalyticsAPI)((0, _delete.deleteColumnsCommand)(rect, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent));
304
307
  };
305
308
  };
306
- var deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = exports.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = function deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent) {
309
+ var deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = exports.deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = function deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent) {
307
310
  return function (state, dispatch) {
308
311
  var selection = state.selection;
309
312
  var isCellSelection = selection instanceof _cellSelection.CellSelection;
@@ -321,7 +324,7 @@ var deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut = exports.deleteSelected
321
324
  var isHeaderRowRequired = pluginConfig.isHeaderRowRequired || false;
322
325
  return deleteRowsWithAnalytics(editorAnalyticsAPI)(_analytics.INPUT_METHOD.SHORTCUT, rect, isHeaderRowRequired)(state, dispatch);
323
326
  } else if (selectionType === 'column') {
324
- return deleteColumnsWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.SHORTCUT, rect)(state, dispatch);
327
+ return deleteColumnsWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.SHORTCUT, rect)(state, dispatch);
325
328
  } else {
326
329
  return false;
327
330
  }
@@ -354,7 +354,8 @@ function handleTripleClick(view, pos) {
354
354
  }
355
355
  var handleCut = exports.handleCut = function handleCut(oldTr, oldState, newState, editorAnalyticsAPI, editorView) {
356
356
  var isTableScalingEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
357
- var shouldUseIncreasedScalingPercent = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
357
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
358
+ var shouldUseIncreasedScalingPercent = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
358
359
  var oldSelection = oldState.tr.selection;
359
360
  var tr = newState.tr;
360
361
  if (oldSelection instanceof _cellSelection.CellSelection) {
@@ -397,7 +398,7 @@ var handleCut = exports.handleCut = function handleCut(oldTr, oldState, newState
397
398
  isHeaderRowRequired = _getPluginState9.pluginConfig.isHeaderRowRequired;
398
399
  tr = (0, _transforms.deleteRows)(rect, isHeaderRowRequired)(tr);
399
400
  } else if (tr.selection.isColSelection()) {
400
- tr = (0, _transforms.deleteColumns)(rect, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(oldState), editorView, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(tr);
401
+ tr = (0, _transforms.deleteColumns)(rect, (0, _getAllowAddColumnCustomStep.getAllowAddColumnCustomStep)(oldState), editorView, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(tr);
401
402
  }
402
403
  }
403
404
  }
@@ -359,18 +359,20 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
359
359
  this === null || this === void 0 || (_this$table = this.table) === null || _this$table === void 0 || _this$table.addEventListener('mouseenter', this.handleMouseEnter);
360
360
  }
361
361
  }
362
- if (isTableScalingEnabled && !(0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button')) {
362
+ var _getEditorFeatureFlag = getEditorFeatureFlags(),
363
+ _getEditorFeatureFlag2 = _getEditorFeatureFlag.tableWithFixedColumnWidthsOption,
364
+ tableWithFixedColumnWidthsOption = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2,
365
+ stickyScrollbar = _getEditorFeatureFlag.stickyScrollbar;
366
+ if (isTableScalingEnabled && !tableWithFixedColumnWidthsOption) {
363
367
  this.handleColgroupUpdates(true);
364
368
  }
365
- if (isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button') && getNode().attrs.displayMode !== 'fixed') {
369
+ if (isTableScalingEnabled && tableWithFixedColumnWidthsOption && getNode().attrs.displayMode !== 'fixed') {
366
370
  this.handleColgroupUpdates(true);
367
371
  }
368
372
  if (allowColumnResizing && this.wrapper && !isIE11) {
369
373
  this.wrapper.addEventListener('scroll', this.handleScrollDebounced, {
370
374
  passive: true
371
375
  });
372
- var _getEditorFeatureFlag = getEditorFeatureFlags(),
373
- stickyScrollbar = _getEditorFeatureFlag.stickyScrollbar;
374
376
  if (stickyScrollbar) {
375
377
  if (this.table) {
376
378
  this.stickyScrollbar = new _TableStickyScrollbar.TableStickyScrollbar(this.wrapper, this.props.view);
@@ -420,8 +422,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
420
422
  this.dragAndDropCleanupFn();
421
423
  }
422
424
  (_this$resizeObserver = this.resizeObserver) === null || _this$resizeObserver === void 0 || _this$resizeObserver.disconnect();
423
- var _getEditorFeatureFlag2 = getEditorFeatureFlags(),
424
- stickyScrollbar = _getEditorFeatureFlag2.stickyScrollbar;
425
+ var _getEditorFeatureFlag3 = getEditorFeatureFlags(),
426
+ stickyScrollbar = _getEditorFeatureFlag3.stickyScrollbar;
425
427
  if (stickyScrollbar) {
426
428
  if (this.stickyScrollbar) {
427
429
  this.stickyScrollbar.dispose();
@@ -459,7 +461,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
459
461
  containerWidth = _this$props9.containerWidth,
460
462
  isResizing = _this$props9.isResizing,
461
463
  view = _this$props9.view,
462
- getPos = _this$props9.getPos;
464
+ getPos = _this$props9.getPos,
465
+ getEditorFeatureFlags = _this$props9.getEditorFeatureFlags;
463
466
  if (!this.table) {
464
467
  return;
465
468
  }
@@ -490,8 +493,11 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
490
493
  var isColumnsDistributed = wasTableResized && !isTableResized;
491
494
  var isTableDisplayModeChanged = this.node.attrs.displayMode !== tableNode.attrs.displayMode;
492
495
  var shouldUpdateColgroup = isWidthChanged || isColumnsDistributed || isTableResizedFullWidth || isTableWidthChanged || isTableDisplayModeChanged || isNumberColumnChanged || isNumberOfColumnsChanged;
493
- var isTableScalingEnabledWithLockButton = ((_this$props$options = this.props.options) === null || _this$props$options === void 0 ? void 0 : _this$props$options.isTableScalingEnabled) && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button');
494
- var shouldUseIncreasedScalingPercent = isTableScalingEnabledWithLockButton && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent') || false;
496
+ var _getEditorFeatureFlag4 = getEditorFeatureFlags(),
497
+ _getEditorFeatureFlag5 = _getEditorFeatureFlag4.tableWithFixedColumnWidthsOption,
498
+ tableWithFixedColumnWidthsOption = _getEditorFeatureFlag5 === void 0 ? false : _getEditorFeatureFlag5;
499
+ var isTableScalingWithFixedColumnWidthsOptionEnabled = ((_this$props$options = this.props.options) === null || _this$props$options === void 0 ? void 0 : _this$props$options.isTableScalingEnabled) && tableWithFixedColumnWidthsOption;
500
+ var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent') || false;
495
501
  if (force || !isResizing && shouldUpdateColgroup) {
496
502
  var _this$props$options2;
497
503
  var resizeState = (0, _utils4.getResizeState)({
@@ -505,10 +511,10 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
505
511
  shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
506
512
  });
507
513
  var shouldScaleOnColgroupUpdate = false;
508
- if ((_this$props$options2 = this.props.options) !== null && _this$props$options2 !== void 0 && _this$props$options2.isTableScalingEnabled && !(0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button')) {
514
+ if ((_this$props$options2 = this.props.options) !== null && _this$props$options2 !== void 0 && _this$props$options2.isTableScalingEnabled && !tableWithFixedColumnWidthsOption) {
509
515
  shouldScaleOnColgroupUpdate = true;
510
516
  }
511
- if (isTableScalingEnabledWithLockButton && tableNode.attrs.displayMode !== 'fixed') {
517
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled && tableNode.attrs.displayMode !== 'fixed') {
512
518
  shouldScaleOnColgroupUpdate = true;
513
519
  }
514
520
 
@@ -535,7 +541,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
535
541
  isResizing = _this$props10.isResizing,
536
542
  options = _this$props10.options,
537
543
  isTableScalingEnabled = _this$props10.isTableScalingEnabled,
538
- getPos = _this$props10.getPos;
544
+ getPos = _this$props10.getPos,
545
+ getEditorFeatureFlags = _this$props10.getEditorFeatureFlags;
539
546
  var isInDanger = this.props.isInDanger;
540
547
  var table = (0, _utils2.findTable)(view.state.selection);
541
548
  if (!(0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-shared-state-hook')) {
@@ -544,13 +551,16 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
544
551
  }
545
552
  var shouldScale = false;
546
553
  var shouldHandleColgroupUpdates = false;
547
- if (isTableScalingEnabled && !(0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button')) {
554
+ var _getEditorFeatureFlag6 = getEditorFeatureFlags(),
555
+ _getEditorFeatureFlag7 = _getEditorFeatureFlag6.tableWithFixedColumnWidthsOption,
556
+ tableWithFixedColumnWidthsOption = _getEditorFeatureFlag7 === void 0 ? false : _getEditorFeatureFlag7;
557
+ if (isTableScalingEnabled && !tableWithFixedColumnWidthsOption) {
548
558
  shouldScale = true;
549
559
  shouldHandleColgroupUpdates = true;
550
560
  }
551
- var isTableScalingEnabledWithLockButton = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button');
552
- var shouldUseIncreasedScalingPercent = isTableScalingEnabledWithLockButton && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
553
- if (isTableScalingEnabledWithLockButton && getNode().attrs.displayMode !== 'fixed') {
561
+ var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && tableWithFixedColumnWidthsOption;
562
+ var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
563
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled && getNode().attrs.displayMode !== 'fixed') {
554
564
  shouldScale = true;
555
565
  shouldHandleColgroupUpdates = true;
556
566
  }
@@ -756,9 +766,11 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
756
766
  }
757
767
  var isNested = (0, _utils5.isTableNested)(view.state, tablePos);
758
768
  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;
759
- var _getEditorFeatureFlag3 = getEditorFeatureFlags(),
760
- stickyScrollbar = _getEditorFeatureFlag3.stickyScrollbar;
761
- var shouldUseIncreasedScalingPercent = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button') && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
769
+ var _getEditorFeatureFlag8 = getEditorFeatureFlags(),
770
+ stickyScrollbar = _getEditorFeatureFlag8.stickyScrollbar,
771
+ _getEditorFeatureFlag9 = _getEditorFeatureFlag8.tableWithFixedColumnWidthsOption,
772
+ tableWithFixedColumnWidthsOption = _getEditorFeatureFlag9 === void 0 ? false : _getEditorFeatureFlag9;
773
+ var shouldUseIncreasedScalingPercent = isTableScalingEnabled && tableWithFixedColumnWidthsOption && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
762
774
  return /*#__PURE__*/_react.default.createElement(_TableContainer.TableContainer
763
775
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
764
776
  , {
@@ -774,6 +786,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
774
786
  isTableResizingEnabled: options === null || options === void 0 ? void 0 : options.isTableResizingEnabled,
775
787
  isResizing: isResizing,
776
788
  isTableScalingEnabled: isTableScalingEnabled,
789
+ isTableWithFixedColumnWidthsOptionEnabled: tableWithFixedColumnWidthsOption,
777
790
  isWholeTableInDanger: isWholeTableInDanger,
778
791
  isTableAlignmentEnabled: isTableAlignmentEnabled,
779
792
  shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
@@ -126,6 +126,7 @@ var ResizableTableContainer = exports.ResizableTableContainer = /*#__PURE__*/_re
126
126
  tableWrapperHeight = _ref4.tableWrapperHeight,
127
127
  isWholeTableInDanger = _ref4.isWholeTableInDanger,
128
128
  isTableScalingEnabled = _ref4.isTableScalingEnabled,
129
+ isTableWithFixedColumnWidthsOptionEnabled = _ref4.isTableWithFixedColumnWidthsOptionEnabled,
129
130
  isTableAlignmentEnabled = _ref4.isTableAlignmentEnabled,
130
131
  shouldUseIncreasedScalingPercent = _ref4.shouldUseIncreasedScalingPercent;
131
132
  var containerRef = (0, _react.useRef)(null);
@@ -233,6 +234,7 @@ var ResizableTableContainer = exports.ResizableTableContainer = /*#__PURE__*/_re
233
234
  isTableAlignmentEnabled: isTableAlignmentEnabled,
234
235
  isFullWidthModeEnabled: isFullWidthModeEnabled,
235
236
  isTableScalingEnabled: isTableScalingEnabled,
237
+ isTableWithFixedColumnWidthsOptionEnabled: isTableWithFixedColumnWidthsOptionEnabled,
236
238
  isWholeTableInDanger: isWholeTableInDanger,
237
239
  shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent,
238
240
  pluginInjectionApi: pluginInjectionApi,
@@ -288,6 +290,7 @@ var TableContainer = exports.TableContainer = function TableContainer(_ref6) {
288
290
  isWholeTableInDanger = _ref6.isWholeTableInDanger,
289
291
  isTableResizingEnabled = _ref6.isTableResizingEnabled,
290
292
  isTableScalingEnabled = _ref6.isTableScalingEnabled,
293
+ isTableWithFixedColumnWidthsOptionEnabled = _ref6.isTableWithFixedColumnWidthsOptionEnabled,
291
294
  isTableAlignmentEnabled = _ref6.isTableAlignmentEnabled,
292
295
  shouldUseIncreasedScalingPercent = _ref6.shouldUseIncreasedScalingPercent;
293
296
  if (isTableResizingEnabled && !isNested) {
@@ -305,6 +308,7 @@ var TableContainer = exports.TableContainer = function TableContainer(_ref6) {
305
308
  isResizing: isResizing,
306
309
  pluginInjectionApi: pluginInjectionApi,
307
310
  isTableScalingEnabled: isTableScalingEnabled,
311
+ isTableWithFixedColumnWidthsOptionEnabled: isTableWithFixedColumnWidthsOptionEnabled,
308
312
  isWholeTableInDanger: isWholeTableInDanger,
309
313
  isTableAlignmentEnabled: isTableAlignmentEnabled,
310
314
  shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent
@@ -120,6 +120,7 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
120
120
  attachAnalyticsEvent = _ref.attachAnalyticsEvent,
121
121
  displayGapCursor = _ref.displayGapCursor,
122
122
  isTableScalingEnabled = _ref.isTableScalingEnabled,
123
+ isTableWithFixedColumnWidthsOptionEnabled = _ref.isTableWithFixedColumnWidthsOptionEnabled,
123
124
  isTableAlignmentEnabled = _ref.isTableAlignmentEnabled,
124
125
  isWholeTableInDanger = _ref.isWholeTableInDanger,
125
126
  shouldUseIncreasedScalingPercent = _ref.shouldUseIncreasedScalingPercent,
@@ -243,7 +244,7 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
243
244
  prevNode: node,
244
245
  start: pos + 1,
245
246
  parentWidth: newWidth
246
- }, editorView.domAtPos.bind(editorView), isTableScalingEnabled);
247
+ }, editorView.domAtPos.bind(editorView), isTableScalingEnabled, isTableWithFixedColumnWidthsOptionEnabled);
247
248
  var editorContainerWidth = isFullWidthModeEnabled ? lineLength + 2 * (0, _editorSharedStyles.akEditorGutterPaddingDynamic)() : containerWidth;
248
249
  var closestSnap = (0, _snapping.findClosestSnap)(newWidth, isTableScalingEnabled ? (0, _snapping.defaultTablePreserveSnappingWidths)(_snapping.PRESERVE_TABLE_SNAPPING_LENGTH_OFFSET, editorContainerWidth, excludeGuidelineConfig) : _snapping.defaultSnappingWidths, isTableScalingEnabled ? (0, _guidelines.defaultGuidelinesForPreserveTable)(_guidelines.PRESERVE_TABLE_GUIDELINES_LENGTH_OFFSET, editorContainerWidth, excludeGuidelineConfig) : _guidelines.defaultGuidelines, _consts.TABLE_HIGHLIGHT_GAP, _consts.TABLE_HIGHLIGHT_TOLERANCE);
249
250
  updateActiveGuidelines(closestSnap);
@@ -262,7 +263,7 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
262
263
  }, (0, _misc.updateWidthToWidest)((0, _defineProperty2.default)({}, currentTableNodeLocalId, shouldUpdateWidthToWidest)))(state, dispatch);
263
264
  updateWidth(shouldUpdateWidthToWidest ? _utils3.TABLE_MAX_WIDTH : newWidth);
264
265
  return newWidth;
265
- }, [countFrames, isTableScalingEnabled, isFullWidthModeEnabled, excludeGuidelineConfig, tableRef, node, editorView, updateActiveGuidelines, containerWidth, lineLength, updateWidth, getPos, switchToCenterAlignment]);
266
+ }, [countFrames, isTableScalingEnabled, isTableWithFixedColumnWidthsOptionEnabled, isFullWidthModeEnabled, excludeGuidelineConfig, tableRef, node, editorView, updateActiveGuidelines, containerWidth, lineLength, updateWidth, getPos, switchToCenterAlignment]);
266
267
  var scheduleResize = (0, _react.useMemo)(function () {
267
268
  return (0, _rafSchd.default)(handleResize);
268
269
  }, [handleResize]);
@@ -83,6 +83,7 @@ var TableView = exports.default = /*#__PURE__*/function (_ReactNodeView) {
83
83
  _this.getPos = props.getPos;
84
84
  _this.eventDispatcher = props.eventDispatcher;
85
85
  _this.options = props.options;
86
+ _this.getEditorFeatureFlags = props.getEditorFeatureFlags;
86
87
  return _this;
87
88
  }
88
89
  (0, _createClass2.default)(TableView, [{
@@ -90,9 +91,9 @@ var TableView = exports.default = /*#__PURE__*/function (_ReactNodeView) {
90
91
  value: function getContentDOM() {
91
92
  var rendered = _model.DOMSerializer.renderSpec(document, toDOM(this.node, this.reactComponentProps));
92
93
  if (rendered.dom) {
93
- var _this$options, _this$options2;
94
+ var _this$options, _this$options2, _this$getEditorFeatur;
94
95
  this.table = rendered.dom;
95
- 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 && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button') && this.node.attrs.displayMode === 'fixed') {
96
+ 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') {
96
97
  var tableInlineWidth = getInlineWidth(this.node, this.reactComponentProps.options, this.reactComponentProps.view.state, this.reactComponentProps.getPos());
97
98
  if (tableInlineWidth) {
98
99
  handleInlineTableWidth(this.table, tableInlineWidth);
@@ -106,7 +107,8 @@ var TableView = exports.default = /*#__PURE__*/function (_ReactNodeView) {
106
107
  value: function setDomAttrs(node) {
107
108
  var _this2 = this,
108
109
  _this$options3,
109
- _this$options4;
110
+ _this$options4,
111
+ _this$getEditorFeatur2;
110
112
  if (!this.table) {
111
113
  return;
112
114
  }
@@ -116,7 +118,7 @@ var TableView = exports.default = /*#__PURE__*/function (_ReactNodeView) {
116
118
  });
117
119
 
118
120
  // Preserve Table Width cannot have inline width set on the table
119
- 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 && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button') && node.attrs.displayMode === 'fixed') {
121
+ 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') {
120
122
  var _tableWidthPluginKey$;
121
123
  // handle inline style when table been resized
122
124
  var tableInlineWidth = getInlineWidth(node, this.reactComponentProps.options, this.view.state, this.getPos());
@@ -59,7 +59,7 @@ var defaultGetEditorFeatureFlags = function defaultGetEditorFeatureFlags() {
59
59
  * from `@atlaskit/editor-core`.
60
60
  */
61
61
  var tablesPlugin = function tablesPlugin(_ref) {
62
- var _api$analytics, _api$analytics2;
62
+ var _api$analytics, _options$getEditorFea, _options$getEditorFea2, _api$analytics2;
63
63
  var options = _ref.config,
64
64
  api = _ref.api;
65
65
  var editorViewRef = {
@@ -72,8 +72,10 @@ var tablesPlugin = function tablesPlugin(_ref) {
72
72
  };
73
73
  };
74
74
  var editorAnalyticsAPI = api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
75
- var isTableScalingWithFixedColumnWidthsOptionEnabled = (options === null || options === void 0 ? void 0 : options.isTableScalingEnabled) && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button');
76
- var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
75
+ var isTableFixedColumnWidthsOptionEnabled = (options === null || options === void 0 || (_options$getEditorFea = options.getEditorFeatureFlags) === null || _options$getEditorFea === void 0 ? void 0 : _options$getEditorFea.call(options).tableWithFixedColumnWidthsOption) || false;
76
+ var shouldUseIncreasedScalingPercent = options === null || options === void 0 ? void 0 : options.isTableScalingEnabled;
77
+ isTableFixedColumnWidthsOptionEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
78
+ var isCellBackgroundDuplicated = (options === null || options === void 0 || (_options$getEditorFea2 = options.getEditorFeatureFlags) === null || _options$getEditorFea2 === void 0 ? void 0 : _options$getEditorFea2.call(options).tableDuplicateCellColouring) || false;
77
79
  return {
78
80
  name: 'table',
79
81
  // Use getSharedState to store fullWidthEnabled and wasFullWidthModeEnabled to guarantee access
@@ -202,7 +204,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
202
204
  isTableAlignmentEnabled = _ref7$isTableAlignmen === void 0 ? false : _ref7$isTableAlignmen,
203
205
  _ref7$fullWidthEnable = _ref7.fullWidthEnabled,
204
206
  fullWidthEnabled = _ref7$fullWidthEnable === void 0 ? false : _ref7$fullWidthEnable;
205
- return (0, _keymap.keymapPlugin)(defaultGetEditorContainerWidth, editorAnalyticsAPI, dragAndDropEnabled, isTableScalingEnabled, isTableAlignmentEnabled, fullWidthEnabled, api, getIntl, shouldUseIncreasedScalingPercent);
207
+ return (0, _keymap.keymapPlugin)(defaultGetEditorContainerWidth, editorAnalyticsAPI, dragAndDropEnabled, isTableScalingEnabled, isTableAlignmentEnabled, fullWidthEnabled, api, getIntl, isCellBackgroundDuplicated, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent);
206
208
  }
207
209
  }, {
208
210
  name: 'tableSelectionKeymap',
@@ -244,7 +246,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
244
246
  name: 'tableDragAndDrop',
245
247
  plugin: function plugin(_ref11) {
246
248
  var dispatch = _ref11.dispatch;
247
- return options !== null && options !== void 0 && options.dragAndDropEnabled ? (0, _dragAndDrop.createPlugin)(dispatch, editorAnalyticsAPI) : undefined;
249
+ return options !== null && options !== void 0 && options.dragAndDropEnabled ? (0, _dragAndDrop.createPlugin)(dispatch, editorAnalyticsAPI, options === null || options === void 0 ? void 0 : options.isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled) : undefined;
248
250
  }
249
251
  }, {
250
252
  name: 'tableViewModeSort',
@@ -375,6 +377,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
375
377
  isHeaderColumnEnabled: isHeaderColumnEnabled,
376
378
  isHeaderRowEnabled: isHeaderRowEnabled,
377
379
  isDragAndDropEnabled: isDragAndDropEnabled,
380
+ isTableScalingEnabled: options === null || options === void 0 ? void 0 : options.isTableScalingEnabled,
378
381
  editorView: editorView,
379
382
  mountPoint: popupsMountPoint,
380
383
  boundariesElement: popupsBoundariesElement,
@@ -472,7 +475,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
472
475
  },
473
476
  floatingToolbar: (0, _toolbar.getToolbarConfig)(defaultGetEditorContainerWidth, editorAnalyticsAPI, (options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) || defaultGetEditorFeatureFlags, function () {
474
477
  return editorViewRef.current;
475
- }, options, isTableScalingWithFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)((0, _createPluginConfig.pluginConfig)(options === null || options === void 0 ? void 0 : options.tableOptions))
478
+ }, options, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)((0, _createPluginConfig.pluginConfig)(options === null || options === void 0 ? void 0 : options.tableOptions))
476
479
  }
477
480
  };
478
481
  };
@@ -24,7 +24,7 @@ var _consts = require("./consts");
24
24
  var _pluginFactory2 = require("./plugin-factory");
25
25
  var _pluginKey2 = require("./plugin-key");
26
26
  var _monitor = require("./utils/monitor");
27
- var destroyFn = function destroyFn(editorView, editorAnalyticsAPI) {
27
+ var destroyFn = function destroyFn(editorView, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled) {
28
28
  var editorPageScrollContainer = document.querySelector('.fabric-editor-popup-scroll-parent');
29
29
  var rowAutoScrollers = editorPageScrollContainer ? [(0, _adapter.monitorForElements)({
30
30
  canMonitor: function canMonitor(_ref) {
@@ -160,16 +160,13 @@ var destroyFn = function destroyFn(editorView, editorAnalyticsAPI) {
160
160
  tableRef = _getTablePluginState3.tableRef,
161
161
  tableNode = _getTablePluginState3.tableNode;
162
162
  if (tableRef && tableNode) {
163
- var _getTablePluginState4 = (0, _pluginFactory.getPluginState)(editorView.state),
164
- _getTablePluginState5 = _getTablePluginState4.isTableScalingEnabled,
165
- isTableScalingEnabled = _getTablePluginState5 === void 0 ? false : _getTablePluginState5;
166
163
  var isTableScalingEnabledOnCurrentTable = isTableScalingEnabled;
167
- var isTableScalingEnabledWithLockButton = isTableScalingEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.preserve-widths-with-lock-button');
168
- var shouldUseIncreasedScalingPercent = isTableScalingEnabledWithLockButton && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
169
- if (isTableScalingEnabledWithLockButton) {
164
+ var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && isTableFixedColumnWidthsOptionEnabled;
165
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
170
166
  isTableScalingEnabledOnCurrentTable = tableNode.attrs.displayMode !== 'fixed';
171
167
  }
172
- (0, _utils3.insertColgroupFromNode)(tableRef, tableNode, isTableScalingEnabledOnCurrentTable, shouldUseIncreasedScalingPercent);
168
+ var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
169
+ (0, _utils3.insertColgroupFromNode)(tableRef, tableNode, isTableScalingEnabledOnCurrentTable, undefined, shouldUseIncreasedScalingPercent);
173
170
  }
174
171
  }
175
172
  editorView.focus();
@@ -178,6 +175,8 @@ var destroyFn = function destroyFn(editorView, editorAnalyticsAPI) {
178
175
  })]));
179
176
  };
180
177
  var createPlugin = exports.createPlugin = function createPlugin(dispatch, editorAnalyticsAPI) {
178
+ var isTableScalingEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
179
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
181
180
  return new _safePlugin.SafePlugin({
182
181
  state: (0, _pluginFactory2.createPluginState)(dispatch, function (state) {
183
182
  return {
@@ -192,10 +191,10 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatch, editor
192
191
  }),
193
192
  key: _pluginKey2.pluginKey,
194
193
  appendTransaction: function appendTransaction(transactions, oldState, newState) {
195
- var _getTablePluginState6 = (0, _pluginFactory.getPluginState)(oldState),
196
- oldTargetCellPosition = _getTablePluginState6.targetCellPosition;
197
- var _getTablePluginState7 = (0, _pluginFactory.getPluginState)(newState),
198
- newTargetCellPosition = _getTablePluginState7.targetCellPosition;
194
+ var _getTablePluginState4 = (0, _pluginFactory.getPluginState)(oldState),
195
+ oldTargetCellPosition = _getTablePluginState4.targetCellPosition;
196
+ var _getTablePluginState5 = (0, _pluginFactory.getPluginState)(newState),
197
+ newTargetCellPosition = _getTablePluginState5.targetCellPosition;
199
198
  var _getPluginState = (0, _pluginFactory2.getPluginState)(newState),
200
199
  isDragMenuOpen = _getPluginState.isDragMenuOpen,
201
200
  dragMenuIndex = _getPluginState.dragMenuIndex;
@@ -245,7 +244,7 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatch, editor
245
244
  },
246
245
  view: function view(editorView) {
247
246
  return {
248
- destroy: destroyFn(editorView, editorAnalyticsAPI)
247
+ destroy: destroyFn(editorView, editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled)
249
248
  };
250
249
  },
251
250
  props: {