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