@atlaskit/editor-plugin-table 7.16.17 → 7.16.19

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 (134) 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 +8 -7
  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 +54 -37
  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/utils/drag-menu.js +5 -4
  26. package/dist/es2019/commands/column-resize.js +4 -3
  27. package/dist/es2019/commands/delete.js +2 -2
  28. package/dist/es2019/commands/insert.js +8 -8
  29. package/dist/es2019/commands-with-analytics.js +9 -8
  30. package/dist/es2019/event-handlers.js +2 -2
  31. package/dist/es2019/nodeviews/TableComponent.js +28 -17
  32. package/dist/es2019/nodeviews/TableContainer.js +4 -0
  33. package/dist/es2019/nodeviews/TableResizer.js +9 -8
  34. package/dist/es2019/nodeviews/table.js +5 -4
  35. package/dist/es2019/plugin.js +9 -6
  36. package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +7 -10
  37. package/dist/es2019/pm-plugins/keymap.js +9 -9
  38. package/dist/es2019/pm-plugins/main.js +4 -1
  39. package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +10 -9
  40. package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +4 -4
  41. package/dist/es2019/pm-plugins/table-resizing/utils/scale-table.js +4 -4
  42. package/dist/es2019/toolbar.js +51 -39
  43. package/dist/es2019/transforms/column-width.js +2 -3
  44. package/dist/es2019/transforms/delete-columns.js +2 -2
  45. package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +12 -7
  46. package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +3 -2
  47. package/dist/es2019/ui/FloatingDragMenu/index.js +5 -3
  48. package/dist/es2019/ui/FloatingInsertButton/index.js +6 -8
  49. package/dist/es2019/utils/drag-menu.js +4 -4
  50. package/dist/esm/commands/column-resize.js +4 -3
  51. package/dist/esm/commands/delete.js +3 -2
  52. package/dist/esm/commands/insert.js +12 -8
  53. package/dist/esm/commands-with-analytics.js +10 -7
  54. package/dist/esm/event-handlers.js +3 -2
  55. package/dist/esm/nodeviews/TableComponent.js +32 -19
  56. package/dist/esm/nodeviews/TableContainer.js +4 -0
  57. package/dist/esm/nodeviews/TableResizer.js +9 -8
  58. package/dist/esm/nodeviews/table.js +6 -4
  59. package/dist/esm/plugin.js +9 -6
  60. package/dist/esm/pm-plugins/drag-and-drop/plugin.js +12 -13
  61. package/dist/esm/pm-plugins/keymap.js +11 -9
  62. package/dist/esm/pm-plugins/main.js +4 -1
  63. package/dist/esm/pm-plugins/table-resizing/event-handlers.js +10 -9
  64. package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +4 -3
  65. package/dist/esm/pm-plugins/table-resizing/utils/scale-table.js +4 -3
  66. package/dist/esm/toolbar.js +54 -37
  67. package/dist/esm/transforms/column-width.js +3 -3
  68. package/dist/esm/transforms/delete-columns.js +3 -2
  69. package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +21 -15
  70. package/dist/esm/ui/FloatingDragMenu/DragMenu.js +3 -2
  71. package/dist/esm/ui/FloatingDragMenu/index.js +6 -3
  72. package/dist/esm/ui/FloatingInsertButton/index.js +7 -8
  73. package/dist/esm/utils/drag-menu.js +5 -4
  74. package/dist/types/commands/column-resize.d.ts +2 -1
  75. package/dist/types/commands/delete.d.ts +1 -1
  76. package/dist/types/commands/insert.d.ts +4 -4
  77. package/dist/types/commands-with-analytics.d.ts +4 -4
  78. package/dist/types/event-handlers.d.ts +1 -1
  79. package/dist/types/nodeviews/TableContainer.d.ts +4 -2
  80. package/dist/types/nodeviews/TableResizer.d.ts +2 -1
  81. package/dist/types/nodeviews/table.d.ts +1 -0
  82. package/dist/types/pm-plugins/drag-and-drop/plugin.d.ts +1 -1
  83. package/dist/types/pm-plugins/keymap.d.ts +1 -1
  84. package/dist/types/pm-plugins/table-resizing/utils/resize-state.d.ts +1 -1
  85. package/dist/types/pm-plugins/table-resizing/utils/scale-table.d.ts +1 -1
  86. package/dist/types/toolbar.d.ts +5 -5
  87. package/dist/types/transforms/column-width.d.ts +1 -1
  88. package/dist/types/transforms/delete-columns.d.ts +1 -1
  89. package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +2 -1
  90. package/dist/types/ui/FloatingInsertButton/index.d.ts +1 -0
  91. package/dist/types/utils/drag-menu.d.ts +1 -1
  92. package/dist/types-ts4.5/commands/column-resize.d.ts +2 -1
  93. package/dist/types-ts4.5/commands/delete.d.ts +1 -1
  94. package/dist/types-ts4.5/commands/insert.d.ts +4 -4
  95. package/dist/types-ts4.5/commands-with-analytics.d.ts +4 -4
  96. package/dist/types-ts4.5/event-handlers.d.ts +1 -1
  97. package/dist/types-ts4.5/nodeviews/TableContainer.d.ts +4 -2
  98. package/dist/types-ts4.5/nodeviews/TableResizer.d.ts +2 -1
  99. package/dist/types-ts4.5/nodeviews/table.d.ts +1 -0
  100. package/dist/types-ts4.5/pm-plugins/drag-and-drop/plugin.d.ts +1 -1
  101. package/dist/types-ts4.5/pm-plugins/keymap.d.ts +1 -1
  102. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-state.d.ts +1 -1
  103. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/scale-table.d.ts +1 -1
  104. package/dist/types-ts4.5/toolbar.d.ts +5 -5
  105. package/dist/types-ts4.5/transforms/column-width.d.ts +1 -1
  106. package/dist/types-ts4.5/transforms/delete-columns.d.ts +1 -1
  107. package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +2 -1
  108. package/dist/types-ts4.5/ui/FloatingInsertButton/index.d.ts +1 -0
  109. package/dist/types-ts4.5/utils/drag-menu.d.ts +1 -1
  110. package/package.json +5 -8
  111. package/src/commands/column-resize.ts +6 -6
  112. package/src/commands/delete.ts +7 -1
  113. package/src/commands/insert.ts +33 -5
  114. package/src/commands-with-analytics.ts +14 -2
  115. package/src/event-handlers.ts +2 -0
  116. package/src/nodeviews/TableComponent.tsx +28 -28
  117. package/src/nodeviews/TableContainer.tsx +6 -0
  118. package/src/nodeviews/TableResizer.tsx +16 -6
  119. package/src/nodeviews/table.tsx +4 -2
  120. package/src/plugin.tsx +17 -7
  121. package/src/pm-plugins/drag-and-drop/plugin.ts +26 -13
  122. package/src/pm-plugins/keymap.ts +30 -4
  123. package/src/pm-plugins/main.ts +2 -0
  124. package/src/pm-plugins/table-resizing/event-handlers.ts +12 -14
  125. package/src/pm-plugins/table-resizing/utils/resize-state.ts +5 -5
  126. package/src/pm-plugins/table-resizing/utils/scale-table.ts +6 -4
  127. package/src/toolbar.tsx +97 -40
  128. package/src/transforms/column-width.ts +7 -3
  129. package/src/transforms/delete-columns.ts +6 -2
  130. package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +12 -4
  131. package/src/ui/FloatingDragMenu/DragMenu.tsx +3 -0
  132. package/src/ui/FloatingDragMenu/index.tsx +4 -4
  133. package/src/ui/FloatingInsertButton/index.tsx +12 -9
  134. package/src/utils/drag-menu.ts +13 -4
@@ -65,7 +65,7 @@ const defaultSelectionRect = {
65
65
  right: 0,
66
66
  bottom: 0
67
67
  };
68
- export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, isHeaderRowRequired, isTableScalingEnabled = false, tableDuplicateCellColouring = false, shouldUseIncreasedScalingPercent = false) => {
68
+ export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, hasMergedCellsInTable, editorView, tableMap, index, targetCellPosition, selectionRect, editorAnalyticsAPI, isHeaderRowRequired, isTableScalingEnabled = false, tableDuplicateCellColouring = false, isTableFixedColumnWidthsOptionEnabled = false, shouldUseIncreasedScalingPercent = false) => {
69
69
  var _tableMap$height, _tableMap$height2, _tableMap$width, _tableMap$width2;
70
70
  const addOptions = direction === 'row' ? [{
71
71
  label: 'above',
@@ -145,7 +145,7 @@ export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, h
145
145
  moveCursorToInsertedRow: true
146
146
  })(state, dispatch);
147
147
  } else {
148
- insertColumnWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring, shouldUseIncreasedScalingPercent)(INPUT_METHOD.TABLE_CONTEXT_MENU, (index !== null && index !== void 0 ? index : 0) + offset)(state, dispatch, editorView);
148
+ insertColumnWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(INPUT_METHOD.TABLE_CONTEXT_MENU, (index !== null && index !== void 0 ? index : 0) + offset)(state, dispatch, editorView);
149
149
  }
150
150
  return true;
151
151
  },
@@ -157,7 +157,7 @@ export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, h
157
157
  onClick: (state, dispatch) => {
158
158
  const selectionRect = getClosestSelectionRect(state);
159
159
  if (selectionRect) {
160
- const newResizeState = getNewResizeStateFromSelectedColumns(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled);
160
+ const newResizeState = getNewResizeStateFromSelectedColumns(selectionRect, state, editorView.domAtPos.bind(editorView), getEditorContainerWidth, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled);
161
161
  if (newResizeState) {
162
162
  distributeColumnsWidthsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.TABLE_CONTEXT_MENU, newResizeState)(state, dispatch);
163
163
  return true;
@@ -183,7 +183,7 @@ export const getDragMenuConfig = (direction, getEditorContainerWidth, canDrag, h
183
183
  if (direction === 'row') {
184
184
  deleteRowsWithAnalytics(editorAnalyticsAPI)(INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect !== null && selectionRect !== void 0 ? selectionRect : defaultSelectionRect, !!isHeaderRowRequired)(state, dispatch);
185
185
  } else {
186
- deleteColumnsWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled)(INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect !== null && selectionRect !== void 0 ? selectionRect : defaultSelectionRect)(state, dispatch, editorView);
186
+ deleteColumnsWithAnalytics(editorAnalyticsAPI, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect !== null && selectionRect !== void 0 ? selectionRect : defaultSelectionRect)(state, dispatch, editorView);
187
187
  }
188
188
  return true;
189
189
  },
@@ -154,6 +154,7 @@ export var changeColumnWidthByStep = function changeColumnWidthByStep(_ref4) {
154
154
  var stepSize = _ref4.stepSize,
155
155
  getEditorContainerWidth = _ref4.getEditorContainerWidth,
156
156
  isTableScalingEnabled = _ref4.isTableScalingEnabled,
157
+ isTableFixedColumnWidthsOptionEnabled = _ref4.isTableFixedColumnWidthsOptionEnabled,
157
158
  ariaNotify = _ref4.ariaNotify,
158
159
  getIntl = _ref4.getIntl;
159
160
  return function (state, dispatch, view) {
@@ -205,11 +206,11 @@ export var changeColumnWidthByStep = function changeColumnWidthByStep(_ref4) {
205
206
  getEditorContainerWidth: getEditorContainerWidth
206
207
  });
207
208
  var isTableScalingEnabledOnCurrentTable = isTableScalingEnabled;
208
- var isTableScalingEnabledWithLockButton = isTableScalingEnabled && getBooleanFF('platform.editor.table.preserve-widths-with-lock-button');
209
- if (isTableScalingEnabledWithLockButton) {
209
+ var isTableScalingWithFixedColumnWidthsOptionEnabled = isTableScalingEnabled && isTableFixedColumnWidthsOptionEnabled;
210
+ if (isTableScalingWithFixedColumnWidthsOptionEnabled) {
210
211
  isTableScalingEnabledOnCurrentTable = originalTable.attrs.displayMode !== 'fixed';
211
212
  }
212
- var shouldUseIncreasedScalingPercent = isTableScalingEnabledWithLockButton && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
213
+ var shouldUseIncreasedScalingPercent = isTableScalingWithFixedColumnWidthsOptionEnabled && getBooleanFF('platform.editor.table.use-increased-scaling-percent');
213
214
  var initialResizeState = getResizeState({
214
215
  minWidth: tableCellMinWidth,
215
216
  maxSize: maxSize,
@@ -2,9 +2,10 @@ import { deleteColumns } from '../transforms/delete-columns';
2
2
  import { getAllowAddColumnCustomStep } from '../utils/get-allow-add-column-custom-step';
3
3
  export var deleteColumnsCommand = function deleteColumnsCommand(rect) {
4
4
  var isTableScalingEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
5
- var shouldUseIncreasedScalingPercent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
5
+ var isTableFixedColumnWidthsOptionEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
6
+ var shouldUseIncreasedScalingPercent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
6
7
  return function (state, dispatch, view) {
7
- var tr = deleteColumns(rect, getAllowAddColumnCustomStep(state), view, isTableScalingEnabled, shouldUseIncreasedScalingPercent)(state.tr);
8
+ var tr = deleteColumns(rect, getAllowAddColumnCustomStep(state), view, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent)(state.tr);
8
9
  if (dispatch) {
9
10
  dispatch(tr);
10
11
  return true;
@@ -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
@@ -13,7 +13,7 @@ import { tableMessages as messages } from '@atlaskit/editor-common/messages';
13
13
  import { ResizerNext } from '@atlaskit/editor-common/resizer';
14
14
  import { browser } from '@atlaskit/editor-common/utils';
15
15
  import { chainCommands } from '@atlaskit/editor-prosemirror/commands';
16
- import { akEditorGutterPadding } from '@atlaskit/editor-shared-styles';
16
+ import { akEditorGutterPaddingDynamic } from '@atlaskit/editor-shared-styles';
17
17
  import { findTable } from '@atlaskit/editor-tables/utils';
18
18
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
19
19
  import { setTableAlignmentWithTableContentWithPosWithAnalytics } from '../commands-with-analytics';
@@ -85,7 +85,7 @@ var getVisibleGuidelines = function getVisibleGuidelines(guidelines, containerWi
85
85
  // guidelineVisibleAdjustment is set as a negative value, so we making it positive and adding + 1
86
86
  var preserve_table_widths_adjustment = -1 * PRESERVE_TABLE_GUIDELINES_LENGTH_OFFSET + 1;
87
87
  guidelineVisibleAdjustment = isFullWidthModeEnabled ? preserve_table_widths_adjustment // guidelineVisibleAdjustment = -2, if lineLength = 1180, 1181 < 1180 + 2 is true.
88
- : -2 * akEditorGutterPadding + preserve_table_widths_adjustment; // guidelineVisibleAdjustment = -62, if containerWidth is 1244, 1181 < 1244 - 62 = 1182 is true.
88
+ : -2 * akEditorGutterPaddingDynamic() + preserve_table_widths_adjustment; // guidelineVisibleAdjustment = -62, if containerWidth is 1244, 1181 < 1244 - 62 = 1182 is true.
89
89
  }
90
90
  var width = isTableScalingEnabled && isFullWidthModeEnabled ? lineLength : containerWidth;
91
91
  return guidelines.filter(function (guideline) {
@@ -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,
@@ -151,7 +152,7 @@ export var TableResizer = function TableResizer(_ref) {
151
152
  keys = _ref3.keys;
152
153
  if (gap !== currentGap.current) {
153
154
  currentGap.current = gap;
154
- var visibleGuidelines = getVisibleGuidelines(isTableScalingEnabled ? defaultGuidelinesForPreserveTable(PRESERVE_TABLE_GUIDELINES_LENGTH_OFFSET, isFullWidthModeEnabled ? lineLength + 2 * akEditorGutterPadding : containerWidth, excludeGuidelineConfig) : defaultGuidelines, containerWidth, lineLength, Boolean(isTableScalingEnabled), Boolean(isFullWidthModeEnabled));
155
+ var visibleGuidelines = getVisibleGuidelines(isTableScalingEnabled ? defaultGuidelinesForPreserveTable(PRESERVE_TABLE_GUIDELINES_LENGTH_OFFSET, isFullWidthModeEnabled ? lineLength + 2 * akEditorGutterPaddingDynamic() : containerWidth, excludeGuidelineConfig) : defaultGuidelines, containerWidth, lineLength, Boolean(isTableScalingEnabled), Boolean(isFullWidthModeEnabled));
155
156
  displayGuideline(getGuidelinesWithHighlights(gap, TABLE_SNAP_GAP, keys, visibleGuidelines));
156
157
  }
157
158
  }, [isTableScalingEnabled, excludeGuidelineConfig, containerWidth, displayGuideline, lineLength, isFullWidthModeEnabled]);
@@ -159,7 +160,7 @@ export var TableResizer = function TableResizer(_ref) {
159
160
  return snappingEnabled ? {
160
161
  x: isTableScalingEnabled ? defaultTablePreserveSnappingWidths(PRESERVE_TABLE_SNAPPING_LENGTH_OFFSET,
161
162
  // was hardcoded to 0, using PRESERVE_TABLE_SNAPPING_LENGTH_OFFSET instead.
162
- isFullWidthModeEnabled ? lineLength + 2 * akEditorGutterPadding : containerWidth, excludeGuidelineConfig) : defaultSnappingWidths
163
+ isFullWidthModeEnabled ? lineLength + 2 * akEditorGutterPaddingDynamic() : containerWidth, excludeGuidelineConfig) : defaultSnappingWidths
163
164
  } : undefined;
164
165
  }, [snappingEnabled, isTableScalingEnabled, excludeGuidelineConfig, containerWidth, lineLength, isFullWidthModeEnabled]);
165
166
  var switchToCenterAlignment = useCallback(function (pos, node, newWidth, state, dispatch) {
@@ -209,7 +210,7 @@ export var TableResizer = function TableResizer(_ref) {
209
210
  name: TABLE_OVERFLOW_CHANGE_TRIGGER.RESIZED
210
211
  });
211
212
  dispatch(tr);
212
- var visibleGuidelines = getVisibleGuidelines(isTableScalingEnabled ? defaultGuidelinesForPreserveTable(PRESERVE_TABLE_GUIDELINES_LENGTH_OFFSET, isFullWidthModeEnabled ? lineLength + 2 * akEditorGutterPadding : containerWidth, excludeGuidelineConfig) : defaultGuidelines, containerWidth, lineLength, Boolean(isTableScalingEnabled), Boolean(isFullWidthModeEnabled));
213
+ var visibleGuidelines = getVisibleGuidelines(isTableScalingEnabled ? defaultGuidelinesForPreserveTable(PRESERVE_TABLE_GUIDELINES_LENGTH_OFFSET, isFullWidthModeEnabled ? lineLength + 2 * akEditorGutterPaddingDynamic() : containerWidth, excludeGuidelineConfig) : defaultGuidelines, containerWidth, lineLength, Boolean(isTableScalingEnabled), Boolean(isFullWidthModeEnabled));
213
214
  setSnappingEnabled(displayGuideline(visibleGuidelines));
214
215
  if (onResizeStart) {
215
216
  onResizeStart();
@@ -233,8 +234,8 @@ 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
- var editorContainerWidth = isFullWidthModeEnabled ? lineLength + 2 * akEditorGutterPadding : containerWidth;
237
+ }, editorView.domAtPos.bind(editorView), isTableScalingEnabled, isTableWithFixedColumnWidthsOptionEnabled);
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);
240
241
 
@@ -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
  };