@atlaskit/editor-plugin-table 14.2.3 → 14.2.4

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @atlaskit/editor-plugin-table
2
2
 
3
+ ## 14.2.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`6759639cbc48a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6759639cbc48a) -
8
+ Optimized table resizing in full page mode by bundling layout calculations and clean up old
9
+ expensive layout calculations
10
+
3
11
  ## 14.2.3
4
12
 
5
13
  ### Patch Changes
@@ -1069,7 +1069,6 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
1069
1069
  tableWrapperHeight: this.state.tableWrapperHeight,
1070
1070
  isTableResizingEnabled: allowTableResizing,
1071
1071
  isResizing: isResizing,
1072
- isWindowResized: this.state.windowResized,
1073
1072
  isTableScalingEnabled: isTableScalingEnabled,
1074
1073
  isTableWithFixedColumnWidthsOptionEnabled: tableWithFixedColumnWidthsOption,
1075
1074
  isWholeTableInDanger: isWholeTableInDanger,
@@ -11,7 +11,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
  var _analytics = require("@atlaskit/editor-common/analytics");
14
- var _coreUtils = require("@atlaskit/editor-common/core-utils");
15
14
  var _hooks = require("@atlaskit/editor-common/hooks");
16
15
  var _nodeWidth = require("@atlaskit/editor-common/node-width");
17
16
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
@@ -336,7 +335,6 @@ var ResizableTableContainerNext = /*#__PURE__*/_react.default.memo(function (_re
336
335
  getPos = _ref5.getPos,
337
336
  tableRef = _ref5.tableRef,
338
337
  isResizing = _ref5.isResizing,
339
- isWindowResized = _ref5.isWindowResized,
340
338
  pluginInjectionApi = _ref5.pluginInjectionApi,
341
339
  tableWrapperHeight = _ref5.tableWrapperHeight,
342
340
  isWholeTableInDanger = _ref5.isWholeTableInDanger,
@@ -353,10 +351,6 @@ var ResizableTableContainerNext = /*#__PURE__*/_react.default.memo(function (_re
353
351
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
354
352
  resizing = _useState4[0],
355
353
  setIsResizing = _useState4[1];
356
- var _useState5 = (0, _react.useState)(tableWidth),
357
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
358
- tableMaxWidthForFullPageOnLoad = _useState6[0],
359
- setTableMaxWidthForFullPageOnLoad = _useState6[1];
360
354
  var _useSharedPluginState3 = (0, _hooks.useSharedPluginStateWithSelector)(pluginInjectionApi, ['table', 'editorViewMode'], selector),
361
355
  tableState = _useSharedPluginState3.tableState,
362
356
  editorViewModeState = _useSharedPluginState3.editorViewModeState;
@@ -415,74 +409,65 @@ var ResizableTableContainerNext = /*#__PURE__*/_react.default.memo(function (_re
415
409
  return (_pluginInjectionApi$c3 = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c4 = pluginInjectionApi.core) === null || _pluginInjectionApi$c4 === void 0 ? void 0 : _pluginInjectionApi$c4.actions.execute(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$s2 = pluginInjectionApi.selection) === null || _pluginInjectionApi$s2 === void 0 ? void 0 : _pluginInjectionApi$s2.commands.displayGapCursor(toggle))) !== null && _pluginInjectionApi$c3 !== void 0 ? _pluginInjectionApi$c3 : false;
416
410
  }, [pluginInjectionApi]);
417
411
  var isFullPageAppearance = !isCommentEditor && !isChromelessEditor;
418
- var responsiveContainerWidth = 0;
419
- var resizeHandleSpacing = 12;
420
- var padding = getPadding(containerWidth);
421
- // When Full width editor enabled, a Mac OS user can change "ak-editor-content-area" width by
422
- // updating Settings -> Appearance -> Show scroll bars from "When scrolling" to "Always". It causes
423
- // issues when viwport width is less than full width Editor's width. To detect avoid them
424
- // we need to use lineLength to defined responsiveWidth instead of containerWidth
425
- // (which does not get updated when Mac setting changes) in Full-width editor.
426
- if (isFullWidthModeEnabled) {
427
- // When: Show scroll bars -> containerWidth = akEditorGutterPadding * 2 + lineLength;
428
- // When: Always -> containerWidth = akEditorGutterPadding * 2 + lineLength + scrollbarWidth;
429
- // scrollbarWidth can vary. Values can be 14, 15, 16 and up to 20px;
430
- responsiveContainerWidth = isTableScalingEnabled ? lineLength : containerWidth - padding * 2 - resizeHandleSpacing;
412
+ var _useMemo = (0, _react.useMemo)(function () {
413
+ var responsiveContainerWidth = 0;
414
+ var resizeHandleSpacing = 12;
415
+ var padding = getPadding(containerWidth);
416
+ // When Full width editor enabled, a Mac OS user can change "ak-editor-content-area" width by
417
+ // updating Settings -> Appearance -> Show scroll bars from "When scrolling" to "Always". It causes
418
+ // issues when viwport width is less than full width Editor's width. To detect avoid them
419
+ // we need to use lineLength to defined responsiveWidth instead of containerWidth
420
+ // (which does not get updated when Mac setting changes) in Full-width editor.
421
+ if (isFullWidthModeEnabled) {
422
+ // When: Show scroll bars -> containerWidth = akEditorGutterPadding * 2 + lineLength;
423
+ // When: Always -> containerWidth = akEditorGutterPadding * 2 + lineLength + scrollbarWidth;
424
+ // scrollbarWidth can vary. Values can be 14, 15, 16 and up to 20px;
425
+ responsiveContainerWidth = isTableScalingEnabled ? lineLength : containerWidth - padding * 2 - resizeHandleSpacing;
431
426
 
432
- // platform_editor_table_fw_numcol_overflow_fix:
433
- // lineLength is undefined on first paint → width: NaN → wrapper expands to page
434
- // width. rAF col-sizing then runs before the number-column padding and
435
- // the final shrink, so column widths are locked in wrong.
436
- // With the flag ON, if the value isn’t finite we fall back to gutterWidth
437
- // for that first frame—no flash, no premature rAF.
438
- //
439
- // Type clean-up comes later:
440
- // 1) ship this runtime guard (quick fix, no breakage);
441
- // 2) TODO: widen lineLength to `number|undefined` and remove this block.
442
- if ((0, _platformFeatureFlags.fg)('platform_editor_table_fw_numcol_overflow_fix')) {
443
- if (isTableScalingEnabled && !Number.isFinite(responsiveContainerWidth)) {
444
- responsiveContainerWidth = containerWidth - padding * 2 - resizeHandleSpacing;
427
+ // platform_editor_table_fw_numcol_overflow_fix:
428
+ // lineLength is undefined on first paint → width: NaN → wrapper expands to page
429
+ // width. rAF col-sizing then runs before the number-column padding and
430
+ // the final shrink, so column widths are locked in wrong.
431
+ // With the flag ON, if the value isn’t finite we fall back to gutterWidth
432
+ // for that first frame—no flash, no premature rAF.
433
+ //
434
+ // Type clean-up comes later:
435
+ // 1) ship this runtime guard (quick fix, no breakage);
436
+ // 2) TODO: widen lineLength to `number|undefined` and remove this block.
437
+ if ((0, _platformFeatureFlags.fg)('platform_editor_table_fw_numcol_overflow_fix')) {
438
+ if (isTableScalingEnabled && !Number.isFinite(responsiveContainerWidth)) {
439
+ responsiveContainerWidth = containerWidth - padding * 2 - resizeHandleSpacing;
440
+ }
441
+ }
442
+ } else if (isCommentEditor) {
443
+ responsiveContainerWidth = containerWidth - _consts.TABLE_OFFSET_IN_COMMENT_EDITOR;
444
+ } else {
445
+ // 76 is currently an accepted padding value considering the spacing for resizer handle
446
+ // containerWidth = width of a DIV with test id="ak-editor-fp-content-area". It is a parent of
447
+ // a DIV with className="ak-editor-content-area". This DIV has padding left and padding right.
448
+ // padding left = padding right = akEditorGutterPadding = 32
449
+ responsiveContainerWidth = isTableScalingEnabled ? containerWidth - padding * 2 : containerWidth - padding * 2 - resizeHandleSpacing;
445
450
  }
446
- }
447
- } else if (isCommentEditor) {
448
- responsiveContainerWidth = containerWidth - _consts.TABLE_OFFSET_IN_COMMENT_EDITOR;
449
- } else {
450
- // 76 is currently an accepted padding value considering the spacing for resizer handle
451
- // containerWidth = width of a DIV with test id="ak-editor-fp-content-area". It is a parent of
452
- // a DIV with className="ak-editor-content-area". This DIV has padding left and padding right.
453
- // padding left = padding right = akEditorGutterPadding = 32
454
- responsiveContainerWidth = isTableScalingEnabled ? containerWidth - padding * 2 : containerWidth - padding * 2 - resizeHandleSpacing;
455
- }
456
451
 
457
- // Fix for HOT-119925: Ensure table width is properly constrained and responsive
458
- // For wide tables, ensure they don't exceed container width and can be scrolled
459
- var calculatedWidth = !node.attrs.width && isCommentEditor ? responsiveContainerWidth : Math.min(tableWidth, responsiveContainerWidth);
452
+ // Fix for HOT-119925: Ensure table width is properly constrained and responsive
453
+ // For wide tables, ensure they don't exceed container width and can be scrolled
454
+ var calculatedWidth = !node.attrs.width && isCommentEditor ? responsiveContainerWidth : Math.min(tableWidth, responsiveContainerWidth);
460
455
 
461
- // Ensure minimum width for usability while respecting container constraints
462
- var width = (0, _expValEquals.expValEquals)('platform_editor_table_container_width_fix', 'isEnabled', true) ? Math.max(calculatedWidth, Math.min(responsiveContainerWidth * 0.5, 300)) : calculatedWidth;
463
- if (!isResizing) {
464
- tableWidthRef.current = width;
465
- }
466
- var maxResizerWidth = isCommentEditor ? responsiveContainerWidth : Math.min(responsiveContainerWidth, _consts.TABLE_MAX_WIDTH);
467
-
468
- // CSS solution for table resizer item width
469
- // The `width` is used for .resizer-item in <TableResizer>, and it has to be a number
470
- // So we can't use min(var(--ak-editor-table-width), ${tableWidth}px) here
471
- // We get the correct width from CSS value on page load
472
- // After window resize, we use the width from plugin state
473
- // After table resize, the table width attribute is used
474
- var tableResizerItemWidth = (0, _react.useMemo)(function () {
475
- // if not on full page editor, we just rely on the width calculated from plugin state
476
- // if on full page editor and after window resize, we use the width from plugin state
477
- if (!isFullPageAppearance || isFullPageAppearance && isWindowResized) {
478
- return width;
479
- }
480
- if (isResizing) {
481
- return tableWidth;
456
+ // Ensure minimum width for usability while respecting container constraints
457
+ var width = (0, _expValEquals.expValEquals)('platform_editor_table_container_width_fix', 'isEnabled', true) ? Math.max(calculatedWidth, Math.min(responsiveContainerWidth * 0.5, 300)) : calculatedWidth;
458
+ var maxResizerWidth = isCommentEditor ? responsiveContainerWidth : Math.min(responsiveContainerWidth, _consts.TABLE_MAX_WIDTH);
459
+ return {
460
+ width: width,
461
+ maxResizerWidth: maxResizerWidth
462
+ };
463
+ }, [containerWidth, isCommentEditor, isFullWidthModeEnabled, isTableScalingEnabled, lineLength, node.attrs.width, tableWidth]),
464
+ width = _useMemo.width,
465
+ maxResizerWidth = _useMemo.maxResizerWidth;
466
+ (0, _react.useEffect)(function () {
467
+ if (!isResizing) {
468
+ tableWidthRef.current = width;
482
469
  }
483
- // if on full page editor and on page load, we use the computed value from CSS
484
- return Math.min(tableWidth, tableMaxWidthForFullPageOnLoad);
485
- }, [isWindowResized, isResizing, isFullPageAppearance, tableMaxWidthForFullPageOnLoad, tableWidth, width]);
470
+ }, [width, isResizing]);
486
471
 
487
472
  // CSS Solution for table resizer container width
488
473
  var tableResizerContainerWidth = (0, _react.useMemo)(function () {
@@ -497,21 +482,11 @@ var ResizableTableContainerNext = /*#__PURE__*/_react.default.memo(function (_re
497
482
  // when not resizing, maxWidth is calculated based on the container width via CSS
498
483
  return !isResizing ? nonResizingMaxWidth : maxResizerWidth;
499
484
  }, [isCommentEditor, isChromelessEditor, isTableScalingEnabled, isResizing, maxResizerWidth]);
500
-
501
- // on SSR, the width would be the default state, which is tableWidth
502
- // but because we have maxWidth set to the editor container width via CSS
503
- // So it would work just fine
504
- (0, _react.useEffect)(function () {
505
- var _containerRef$current5;
506
- if (!(0, _coreUtils.isSSR)() && isFullPageAppearance && (_containerRef$current5 = containerRef.current) !== null && _containerRef$current5 !== void 0 && _containerRef$current5.firstElementChild) {
507
- // get the computed value of max-width from '.resizer-item', because it uses `cqw` unit in CSS
508
- var computedStyle = window.getComputedStyle(containerRef.current.firstElementChild);
509
- var _containerWidth = computedStyle.maxWidth ? parseFloat(computedStyle.maxWidth) : tableWidth;
510
- setTableMaxWidthForFullPageOnLoad(Math.min(_containerWidth, tableWidth));
511
- }
512
- }, [tableWidthRef, tableWidth, isFullPageAppearance]);
513
485
  var tableResizerProps = {
514
- width: tableResizerItemWidth,
486
+ // The `width` is used for .resizer-item in <TableResizer>, and it has to be a number
487
+ // So we can't use min(var(--ak-editor-table-width), ${tableWidth}px) here
488
+ // We still have to use JS to calculate width
489
+ width: width,
515
490
  maxWidth: tableResizerMaxWidth,
516
491
  containerWidth: containerWidth,
517
492
  lineLength: lineLength,
@@ -599,7 +574,6 @@ var TableContainer = exports.TableContainer = function TableContainer(_ref6) {
599
574
  isNested = _ref6.isNested,
600
575
  tableWrapperHeight = _ref6.tableWrapperHeight,
601
576
  isResizing = _ref6.isResizing,
602
- isWindowResized = _ref6.isWindowResized,
603
577
  pluginInjectionApi = _ref6.pluginInjectionApi,
604
578
  isWholeTableInDanger = _ref6.isWholeTableInDanger,
605
579
  isTableResizingEnabled = _ref6.isTableResizingEnabled,
@@ -628,7 +602,6 @@ var TableContainer = exports.TableContainer = function TableContainer(_ref6) {
628
602
  tableRef: tableRef,
629
603
  tableWrapperHeight: tableWrapperHeight,
630
604
  isResizing: isResizing,
631
- isWindowResized: isWindowResized,
632
605
  pluginInjectionApi: pluginInjectionApi,
633
606
  isTableScalingEnabled: isTableScalingEnabled,
634
607
  isTableWithFixedColumnWidthsOptionEnabled: isTableWithFixedColumnWidthsOptionEnabled,
@@ -1045,7 +1045,6 @@ class TableComponent extends React.Component {
1045
1045
  tableWrapperHeight: this.state.tableWrapperHeight,
1046
1046
  isTableResizingEnabled: allowTableResizing,
1047
1047
  isResizing: isResizing,
1048
- isWindowResized: this.state.windowResized,
1049
1048
  isTableScalingEnabled: isTableScalingEnabled,
1050
1049
  isTableWithFixedColumnWidthsOptionEnabled: tableWithFixedColumnWidthsOption,
1051
1050
  isWholeTableInDanger: isWholeTableInDanger,
@@ -2,7 +2,6 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import { CHANGE_ALIGNMENT_REASON, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
5
- import { isSSR } from '@atlaskit/editor-common/core-utils';
6
5
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
7
6
  import { getTableContainerWidth } from '@atlaskit/editor-common/node-width';
8
7
  import { akEditorDefaultLayoutWidth, akEditorGutterPaddingDynamic, akEditorGutterPaddingReduced, akEditorFullPageNarrowBreakout, akEditorMobileBreakoutPoint } from '@atlaskit/editor-shared-styles';
@@ -329,7 +328,6 @@ const ResizableTableContainerNext = /*#__PURE__*/React.memo(({
329
328
  getPos,
330
329
  tableRef,
331
330
  isResizing,
332
- isWindowResized,
333
331
  pluginInjectionApi,
334
332
  tableWrapperHeight,
335
333
  isWholeTableInDanger,
@@ -344,7 +342,6 @@ const ResizableTableContainerNext = /*#__PURE__*/React.memo(({
344
342
  const containerRef = useRef(null);
345
343
  const tableWidthRef = useRef(akEditorDefaultLayoutWidth);
346
344
  const [resizing, setIsResizing] = useState(false);
347
- const [tableMaxWidthForFullPageOnLoad, setTableMaxWidthForFullPageOnLoad] = useState(tableWidth);
348
345
  const {
349
346
  tableState,
350
347
  editorViewModeState
@@ -404,74 +401,66 @@ const ResizableTableContainerNext = /*#__PURE__*/React.memo(({
404
401
  return (_pluginInjectionApi$c3 = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$c4 = pluginInjectionApi.core) === null || _pluginInjectionApi$c4 === void 0 ? void 0 : _pluginInjectionApi$c4.actions.execute(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$s2 = pluginInjectionApi.selection) === null || _pluginInjectionApi$s2 === void 0 ? void 0 : _pluginInjectionApi$s2.commands.displayGapCursor(toggle))) !== null && _pluginInjectionApi$c3 !== void 0 ? _pluginInjectionApi$c3 : false;
405
402
  }, [pluginInjectionApi]);
406
403
  const isFullPageAppearance = !isCommentEditor && !isChromelessEditor;
407
- let responsiveContainerWidth = 0;
408
- const resizeHandleSpacing = 12;
409
- const padding = getPadding(containerWidth);
410
- // When Full width editor enabled, a Mac OS user can change "ak-editor-content-area" width by
411
- // updating Settings -> Appearance -> Show scroll bars from "When scrolling" to "Always". It causes
412
- // issues when viwport width is less than full width Editor's width. To detect avoid them
413
- // we need to use lineLength to defined responsiveWidth instead of containerWidth
414
- // (which does not get updated when Mac setting changes) in Full-width editor.
415
- if (isFullWidthModeEnabled) {
416
- // When: Show scroll bars -> containerWidth = akEditorGutterPadding * 2 + lineLength;
417
- // When: Always -> containerWidth = akEditorGutterPadding * 2 + lineLength + scrollbarWidth;
418
- // scrollbarWidth can vary. Values can be 14, 15, 16 and up to 20px;
419
- responsiveContainerWidth = isTableScalingEnabled ? lineLength : containerWidth - padding * 2 - resizeHandleSpacing;
404
+ const {
405
+ width,
406
+ maxResizerWidth
407
+ } = useMemo(() => {
408
+ let responsiveContainerWidth = 0;
409
+ const resizeHandleSpacing = 12;
410
+ const padding = getPadding(containerWidth);
411
+ // When Full width editor enabled, a Mac OS user can change "ak-editor-content-area" width by
412
+ // updating Settings -> Appearance -> Show scroll bars from "When scrolling" to "Always". It causes
413
+ // issues when viwport width is less than full width Editor's width. To detect avoid them
414
+ // we need to use lineLength to defined responsiveWidth instead of containerWidth
415
+ // (which does not get updated when Mac setting changes) in Full-width editor.
416
+ if (isFullWidthModeEnabled) {
417
+ // When: Show scroll bars -> containerWidth = akEditorGutterPadding * 2 + lineLength;
418
+ // When: Always -> containerWidth = akEditorGutterPadding * 2 + lineLength + scrollbarWidth;
419
+ // scrollbarWidth can vary. Values can be 14, 15, 16 and up to 20px;
420
+ responsiveContainerWidth = isTableScalingEnabled ? lineLength : containerWidth - padding * 2 - resizeHandleSpacing;
420
421
 
421
- // platform_editor_table_fw_numcol_overflow_fix:
422
- // lineLength is undefined on first paint → width: NaN → wrapper expands to page
423
- // width. rAF col-sizing then runs before the number-column padding and
424
- // the final shrink, so column widths are locked in wrong.
425
- // With the flag ON, if the value isn’t finite we fall back to gutterWidth
426
- // for that first frame—no flash, no premature rAF.
427
- //
428
- // Type clean-up comes later:
429
- // 1) ship this runtime guard (quick fix, no breakage);
430
- // 2) TODO: widen lineLength to `number|undefined` and remove this block.
431
- if (fg('platform_editor_table_fw_numcol_overflow_fix')) {
432
- if (isTableScalingEnabled && !Number.isFinite(responsiveContainerWidth)) {
433
- responsiveContainerWidth = containerWidth - padding * 2 - resizeHandleSpacing;
422
+ // platform_editor_table_fw_numcol_overflow_fix:
423
+ // lineLength is undefined on first paint → width: NaN → wrapper expands to page
424
+ // width. rAF col-sizing then runs before the number-column padding and
425
+ // the final shrink, so column widths are locked in wrong.
426
+ // With the flag ON, if the value isn’t finite we fall back to gutterWidth
427
+ // for that first frame—no flash, no premature rAF.
428
+ //
429
+ // Type clean-up comes later:
430
+ // 1) ship this runtime guard (quick fix, no breakage);
431
+ // 2) TODO: widen lineLength to `number|undefined` and remove this block.
432
+ if (fg('platform_editor_table_fw_numcol_overflow_fix')) {
433
+ if (isTableScalingEnabled && !Number.isFinite(responsiveContainerWidth)) {
434
+ responsiveContainerWidth = containerWidth - padding * 2 - resizeHandleSpacing;
435
+ }
434
436
  }
437
+ } else if (isCommentEditor) {
438
+ responsiveContainerWidth = containerWidth - TABLE_OFFSET_IN_COMMENT_EDITOR;
439
+ } else {
440
+ // 76 is currently an accepted padding value considering the spacing for resizer handle
441
+ // containerWidth = width of a DIV with test id="ak-editor-fp-content-area". It is a parent of
442
+ // a DIV with className="ak-editor-content-area". This DIV has padding left and padding right.
443
+ // padding left = padding right = akEditorGutterPadding = 32
444
+ responsiveContainerWidth = isTableScalingEnabled ? containerWidth - padding * 2 : containerWidth - padding * 2 - resizeHandleSpacing;
435
445
  }
436
- } else if (isCommentEditor) {
437
- responsiveContainerWidth = containerWidth - TABLE_OFFSET_IN_COMMENT_EDITOR;
438
- } else {
439
- // 76 is currently an accepted padding value considering the spacing for resizer handle
440
- // containerWidth = width of a DIV with test id="ak-editor-fp-content-area". It is a parent of
441
- // a DIV with className="ak-editor-content-area". This DIV has padding left and padding right.
442
- // padding left = padding right = akEditorGutterPadding = 32
443
- responsiveContainerWidth = isTableScalingEnabled ? containerWidth - padding * 2 : containerWidth - padding * 2 - resizeHandleSpacing;
444
- }
445
-
446
- // Fix for HOT-119925: Ensure table width is properly constrained and responsive
447
- // For wide tables, ensure they don't exceed container width and can be scrolled
448
- const calculatedWidth = !node.attrs.width && isCommentEditor ? responsiveContainerWidth : Math.min(tableWidth, responsiveContainerWidth);
449
446
 
450
- // Ensure minimum width for usability while respecting container constraints
451
- const width = expValEquals('platform_editor_table_container_width_fix', 'isEnabled', true) ? Math.max(calculatedWidth, Math.min(responsiveContainerWidth * 0.5, 300)) : calculatedWidth;
452
- if (!isResizing) {
453
- tableWidthRef.current = width;
454
- }
455
- const maxResizerWidth = isCommentEditor ? responsiveContainerWidth : Math.min(responsiveContainerWidth, TABLE_MAX_WIDTH);
447
+ // Fix for HOT-119925: Ensure table width is properly constrained and responsive
448
+ // For wide tables, ensure they don't exceed container width and can be scrolled
449
+ const calculatedWidth = !node.attrs.width && isCommentEditor ? responsiveContainerWidth : Math.min(tableWidth, responsiveContainerWidth);
456
450
 
457
- // CSS solution for table resizer item width
458
- // The `width` is used for .resizer-item in <TableResizer>, and it has to be a number
459
- // So we can't use min(var(--ak-editor-table-width), ${tableWidth}px) here
460
- // We get the correct width from CSS value on page load
461
- // After window resize, we use the width from plugin state
462
- // After table resize, the table width attribute is used
463
- const tableResizerItemWidth = useMemo(() => {
464
- // if not on full page editor, we just rely on the width calculated from plugin state
465
- // if on full page editor and after window resize, we use the width from plugin state
466
- if (!isFullPageAppearance || isFullPageAppearance && isWindowResized) {
467
- return width;
468
- }
469
- if (isResizing) {
470
- return tableWidth;
451
+ // Ensure minimum width for usability while respecting container constraints
452
+ const width = expValEquals('platform_editor_table_container_width_fix', 'isEnabled', true) ? Math.max(calculatedWidth, Math.min(responsiveContainerWidth * 0.5, 300)) : calculatedWidth;
453
+ const maxResizerWidth = isCommentEditor ? responsiveContainerWidth : Math.min(responsiveContainerWidth, TABLE_MAX_WIDTH);
454
+ return {
455
+ width,
456
+ maxResizerWidth
457
+ };
458
+ }, [containerWidth, isCommentEditor, isFullWidthModeEnabled, isTableScalingEnabled, lineLength, node.attrs.width, tableWidth]);
459
+ useEffect(() => {
460
+ if (!isResizing) {
461
+ tableWidthRef.current = width;
471
462
  }
472
- // if on full page editor and on page load, we use the computed value from CSS
473
- return Math.min(tableWidth, tableMaxWidthForFullPageOnLoad);
474
- }, [isWindowResized, isResizing, isFullPageAppearance, tableMaxWidthForFullPageOnLoad, tableWidth, width]);
463
+ }, [width, isResizing]);
475
464
 
476
465
  // CSS Solution for table resizer container width
477
466
  const tableResizerContainerWidth = useMemo(() => {
@@ -486,21 +475,11 @@ const ResizableTableContainerNext = /*#__PURE__*/React.memo(({
486
475
  // when not resizing, maxWidth is calculated based on the container width via CSS
487
476
  return !isResizing ? nonResizingMaxWidth : maxResizerWidth;
488
477
  }, [isCommentEditor, isChromelessEditor, isTableScalingEnabled, isResizing, maxResizerWidth]);
489
-
490
- // on SSR, the width would be the default state, which is tableWidth
491
- // but because we have maxWidth set to the editor container width via CSS
492
- // So it would work just fine
493
- useEffect(() => {
494
- var _containerRef$current5;
495
- if (!isSSR() && isFullPageAppearance && (_containerRef$current5 = containerRef.current) !== null && _containerRef$current5 !== void 0 && _containerRef$current5.firstElementChild) {
496
- // get the computed value of max-width from '.resizer-item', because it uses `cqw` unit in CSS
497
- const computedStyle = window.getComputedStyle(containerRef.current.firstElementChild);
498
- const containerWidth = computedStyle.maxWidth ? parseFloat(computedStyle.maxWidth) : tableWidth;
499
- setTableMaxWidthForFullPageOnLoad(Math.min(containerWidth, tableWidth));
500
- }
501
- }, [tableWidthRef, tableWidth, isFullPageAppearance]);
502
478
  const tableResizerProps = {
503
- width: tableResizerItemWidth,
479
+ // The `width` is used for .resizer-item in <TableResizer>, and it has to be a number
480
+ // So we can't use min(var(--ak-editor-table-width), ${tableWidth}px) here
481
+ // We still have to use JS to calculate width
482
+ width,
504
483
  maxWidth: tableResizerMaxWidth,
505
484
  containerWidth,
506
485
  lineLength,
@@ -587,7 +566,6 @@ export const TableContainer = ({
587
566
  isNested,
588
567
  tableWrapperHeight,
589
568
  isResizing,
590
- isWindowResized,
591
569
  pluginInjectionApi,
592
570
  isWholeTableInDanger,
593
571
  isTableResizingEnabled,
@@ -617,7 +595,6 @@ export const TableContainer = ({
617
595
  tableRef: tableRef,
618
596
  tableWrapperHeight: tableWrapperHeight,
619
597
  isResizing: isResizing,
620
- isWindowResized: isWindowResized,
621
598
  pluginInjectionApi: pluginInjectionApi,
622
599
  isTableScalingEnabled: isTableScalingEnabled,
623
600
  isTableWithFixedColumnWidthsOptionEnabled: isTableWithFixedColumnWidthsOptionEnabled,
@@ -1063,7 +1063,6 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
1063
1063
  tableWrapperHeight: this.state.tableWrapperHeight,
1064
1064
  isTableResizingEnabled: allowTableResizing,
1065
1065
  isResizing: isResizing,
1066
- isWindowResized: this.state.windowResized,
1067
1066
  isTableScalingEnabled: isTableScalingEnabled,
1068
1067
  isTableWithFixedColumnWidthsOptionEnabled: tableWithFixedColumnWidthsOption,
1069
1068
  isWholeTableInDanger: isWholeTableInDanger,
@@ -3,7 +3,6 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import React, { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import classNames from 'classnames';
5
5
  import { CHANGE_ALIGNMENT_REASON, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
6
- import { isSSR } from '@atlaskit/editor-common/core-utils';
7
6
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
8
7
  import { getTableContainerWidth } from '@atlaskit/editor-common/node-width';
9
8
  import { akEditorDefaultLayoutWidth, akEditorGutterPaddingDynamic, akEditorGutterPaddingReduced, akEditorFullPageNarrowBreakout, akEditorMobileBreakoutPoint } from '@atlaskit/editor-shared-styles';
@@ -327,7 +326,6 @@ var ResizableTableContainerNext = /*#__PURE__*/React.memo(function (_ref5) {
327
326
  getPos = _ref5.getPos,
328
327
  tableRef = _ref5.tableRef,
329
328
  isResizing = _ref5.isResizing,
330
- isWindowResized = _ref5.isWindowResized,
331
329
  pluginInjectionApi = _ref5.pluginInjectionApi,
332
330
  tableWrapperHeight = _ref5.tableWrapperHeight,
333
331
  isWholeTableInDanger = _ref5.isWholeTableInDanger,
@@ -344,10 +342,6 @@ var ResizableTableContainerNext = /*#__PURE__*/React.memo(function (_ref5) {
344
342
  _useState4 = _slicedToArray(_useState3, 2),
345
343
  resizing = _useState4[0],
346
344
  setIsResizing = _useState4[1];
347
- var _useState5 = useState(tableWidth),
348
- _useState6 = _slicedToArray(_useState5, 2),
349
- tableMaxWidthForFullPageOnLoad = _useState6[0],
350
- setTableMaxWidthForFullPageOnLoad = _useState6[1];
351
345
  var _useSharedPluginState3 = useSharedPluginStateWithSelector(pluginInjectionApi, ['table', 'editorViewMode'], selector),
352
346
  tableState = _useSharedPluginState3.tableState,
353
347
  editorViewModeState = _useSharedPluginState3.editorViewModeState;
@@ -406,74 +400,65 @@ var ResizableTableContainerNext = /*#__PURE__*/React.memo(function (_ref5) {
406
400
  return (_pluginInjectionApi$c3 = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c4 = pluginInjectionApi.core) === null || _pluginInjectionApi$c4 === void 0 ? void 0 : _pluginInjectionApi$c4.actions.execute(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$s2 = pluginInjectionApi.selection) === null || _pluginInjectionApi$s2 === void 0 ? void 0 : _pluginInjectionApi$s2.commands.displayGapCursor(toggle))) !== null && _pluginInjectionApi$c3 !== void 0 ? _pluginInjectionApi$c3 : false;
407
401
  }, [pluginInjectionApi]);
408
402
  var isFullPageAppearance = !isCommentEditor && !isChromelessEditor;
409
- var responsiveContainerWidth = 0;
410
- var resizeHandleSpacing = 12;
411
- var padding = getPadding(containerWidth);
412
- // When Full width editor enabled, a Mac OS user can change "ak-editor-content-area" width by
413
- // updating Settings -> Appearance -> Show scroll bars from "When scrolling" to "Always". It causes
414
- // issues when viwport width is less than full width Editor's width. To detect avoid them
415
- // we need to use lineLength to defined responsiveWidth instead of containerWidth
416
- // (which does not get updated when Mac setting changes) in Full-width editor.
417
- if (isFullWidthModeEnabled) {
418
- // When: Show scroll bars -> containerWidth = akEditorGutterPadding * 2 + lineLength;
419
- // When: Always -> containerWidth = akEditorGutterPadding * 2 + lineLength + scrollbarWidth;
420
- // scrollbarWidth can vary. Values can be 14, 15, 16 and up to 20px;
421
- responsiveContainerWidth = isTableScalingEnabled ? lineLength : containerWidth - padding * 2 - resizeHandleSpacing;
403
+ var _useMemo = useMemo(function () {
404
+ var responsiveContainerWidth = 0;
405
+ var resizeHandleSpacing = 12;
406
+ var padding = getPadding(containerWidth);
407
+ // When Full width editor enabled, a Mac OS user can change "ak-editor-content-area" width by
408
+ // updating Settings -> Appearance -> Show scroll bars from "When scrolling" to "Always". It causes
409
+ // issues when viwport width is less than full width Editor's width. To detect avoid them
410
+ // we need to use lineLength to defined responsiveWidth instead of containerWidth
411
+ // (which does not get updated when Mac setting changes) in Full-width editor.
412
+ if (isFullWidthModeEnabled) {
413
+ // When: Show scroll bars -> containerWidth = akEditorGutterPadding * 2 + lineLength;
414
+ // When: Always -> containerWidth = akEditorGutterPadding * 2 + lineLength + scrollbarWidth;
415
+ // scrollbarWidth can vary. Values can be 14, 15, 16 and up to 20px;
416
+ responsiveContainerWidth = isTableScalingEnabled ? lineLength : containerWidth - padding * 2 - resizeHandleSpacing;
422
417
 
423
- // platform_editor_table_fw_numcol_overflow_fix:
424
- // lineLength is undefined on first paint → width: NaN → wrapper expands to page
425
- // width. rAF col-sizing then runs before the number-column padding and
426
- // the final shrink, so column widths are locked in wrong.
427
- // With the flag ON, if the value isn’t finite we fall back to gutterWidth
428
- // for that first frame—no flash, no premature rAF.
429
- //
430
- // Type clean-up comes later:
431
- // 1) ship this runtime guard (quick fix, no breakage);
432
- // 2) TODO: widen lineLength to `number|undefined` and remove this block.
433
- if (fg('platform_editor_table_fw_numcol_overflow_fix')) {
434
- if (isTableScalingEnabled && !Number.isFinite(responsiveContainerWidth)) {
435
- responsiveContainerWidth = containerWidth - padding * 2 - resizeHandleSpacing;
418
+ // platform_editor_table_fw_numcol_overflow_fix:
419
+ // lineLength is undefined on first paint → width: NaN → wrapper expands to page
420
+ // width. rAF col-sizing then runs before the number-column padding and
421
+ // the final shrink, so column widths are locked in wrong.
422
+ // With the flag ON, if the value isn’t finite we fall back to gutterWidth
423
+ // for that first frame—no flash, no premature rAF.
424
+ //
425
+ // Type clean-up comes later:
426
+ // 1) ship this runtime guard (quick fix, no breakage);
427
+ // 2) TODO: widen lineLength to `number|undefined` and remove this block.
428
+ if (fg('platform_editor_table_fw_numcol_overflow_fix')) {
429
+ if (isTableScalingEnabled && !Number.isFinite(responsiveContainerWidth)) {
430
+ responsiveContainerWidth = containerWidth - padding * 2 - resizeHandleSpacing;
431
+ }
432
+ }
433
+ } else if (isCommentEditor) {
434
+ responsiveContainerWidth = containerWidth - TABLE_OFFSET_IN_COMMENT_EDITOR;
435
+ } else {
436
+ // 76 is currently an accepted padding value considering the spacing for resizer handle
437
+ // containerWidth = width of a DIV with test id="ak-editor-fp-content-area". It is a parent of
438
+ // a DIV with className="ak-editor-content-area". This DIV has padding left and padding right.
439
+ // padding left = padding right = akEditorGutterPadding = 32
440
+ responsiveContainerWidth = isTableScalingEnabled ? containerWidth - padding * 2 : containerWidth - padding * 2 - resizeHandleSpacing;
436
441
  }
437
- }
438
- } else if (isCommentEditor) {
439
- responsiveContainerWidth = containerWidth - TABLE_OFFSET_IN_COMMENT_EDITOR;
440
- } else {
441
- // 76 is currently an accepted padding value considering the spacing for resizer handle
442
- // containerWidth = width of a DIV with test id="ak-editor-fp-content-area". It is a parent of
443
- // a DIV with className="ak-editor-content-area". This DIV has padding left and padding right.
444
- // padding left = padding right = akEditorGutterPadding = 32
445
- responsiveContainerWidth = isTableScalingEnabled ? containerWidth - padding * 2 : containerWidth - padding * 2 - resizeHandleSpacing;
446
- }
447
442
 
448
- // Fix for HOT-119925: Ensure table width is properly constrained and responsive
449
- // For wide tables, ensure they don't exceed container width and can be scrolled
450
- var calculatedWidth = !node.attrs.width && isCommentEditor ? responsiveContainerWidth : Math.min(tableWidth, responsiveContainerWidth);
443
+ // Fix for HOT-119925: Ensure table width is properly constrained and responsive
444
+ // For wide tables, ensure they don't exceed container width and can be scrolled
445
+ var calculatedWidth = !node.attrs.width && isCommentEditor ? responsiveContainerWidth : Math.min(tableWidth, responsiveContainerWidth);
451
446
 
452
- // Ensure minimum width for usability while respecting container constraints
453
- var width = expValEquals('platform_editor_table_container_width_fix', 'isEnabled', true) ? Math.max(calculatedWidth, Math.min(responsiveContainerWidth * 0.5, 300)) : calculatedWidth;
454
- if (!isResizing) {
455
- tableWidthRef.current = width;
456
- }
457
- var maxResizerWidth = isCommentEditor ? responsiveContainerWidth : Math.min(responsiveContainerWidth, TABLE_MAX_WIDTH);
458
-
459
- // CSS solution for table resizer item width
460
- // The `width` is used for .resizer-item in <TableResizer>, and it has to be a number
461
- // So we can't use min(var(--ak-editor-table-width), ${tableWidth}px) here
462
- // We get the correct width from CSS value on page load
463
- // After window resize, we use the width from plugin state
464
- // After table resize, the table width attribute is used
465
- var tableResizerItemWidth = useMemo(function () {
466
- // if not on full page editor, we just rely on the width calculated from plugin state
467
- // if on full page editor and after window resize, we use the width from plugin state
468
- if (!isFullPageAppearance || isFullPageAppearance && isWindowResized) {
469
- return width;
470
- }
471
- if (isResizing) {
472
- return tableWidth;
447
+ // Ensure minimum width for usability while respecting container constraints
448
+ var width = expValEquals('platform_editor_table_container_width_fix', 'isEnabled', true) ? Math.max(calculatedWidth, Math.min(responsiveContainerWidth * 0.5, 300)) : calculatedWidth;
449
+ var maxResizerWidth = isCommentEditor ? responsiveContainerWidth : Math.min(responsiveContainerWidth, TABLE_MAX_WIDTH);
450
+ return {
451
+ width: width,
452
+ maxResizerWidth: maxResizerWidth
453
+ };
454
+ }, [containerWidth, isCommentEditor, isFullWidthModeEnabled, isTableScalingEnabled, lineLength, node.attrs.width, tableWidth]),
455
+ width = _useMemo.width,
456
+ maxResizerWidth = _useMemo.maxResizerWidth;
457
+ useEffect(function () {
458
+ if (!isResizing) {
459
+ tableWidthRef.current = width;
473
460
  }
474
- // if on full page editor and on page load, we use the computed value from CSS
475
- return Math.min(tableWidth, tableMaxWidthForFullPageOnLoad);
476
- }, [isWindowResized, isResizing, isFullPageAppearance, tableMaxWidthForFullPageOnLoad, tableWidth, width]);
461
+ }, [width, isResizing]);
477
462
 
478
463
  // CSS Solution for table resizer container width
479
464
  var tableResizerContainerWidth = useMemo(function () {
@@ -488,21 +473,11 @@ var ResizableTableContainerNext = /*#__PURE__*/React.memo(function (_ref5) {
488
473
  // when not resizing, maxWidth is calculated based on the container width via CSS
489
474
  return !isResizing ? nonResizingMaxWidth : maxResizerWidth;
490
475
  }, [isCommentEditor, isChromelessEditor, isTableScalingEnabled, isResizing, maxResizerWidth]);
491
-
492
- // on SSR, the width would be the default state, which is tableWidth
493
- // but because we have maxWidth set to the editor container width via CSS
494
- // So it would work just fine
495
- useEffect(function () {
496
- var _containerRef$current5;
497
- if (!isSSR() && isFullPageAppearance && (_containerRef$current5 = containerRef.current) !== null && _containerRef$current5 !== void 0 && _containerRef$current5.firstElementChild) {
498
- // get the computed value of max-width from '.resizer-item', because it uses `cqw` unit in CSS
499
- var computedStyle = window.getComputedStyle(containerRef.current.firstElementChild);
500
- var _containerWidth = computedStyle.maxWidth ? parseFloat(computedStyle.maxWidth) : tableWidth;
501
- setTableMaxWidthForFullPageOnLoad(Math.min(_containerWidth, tableWidth));
502
- }
503
- }, [tableWidthRef, tableWidth, isFullPageAppearance]);
504
476
  var tableResizerProps = {
505
- width: tableResizerItemWidth,
477
+ // The `width` is used for .resizer-item in <TableResizer>, and it has to be a number
478
+ // So we can't use min(var(--ak-editor-table-width), ${tableWidth}px) here
479
+ // We still have to use JS to calculate width
480
+ width: width,
506
481
  maxWidth: tableResizerMaxWidth,
507
482
  containerWidth: containerWidth,
508
483
  lineLength: lineLength,
@@ -590,7 +565,6 @@ export var TableContainer = function TableContainer(_ref6) {
590
565
  isNested = _ref6.isNested,
591
566
  tableWrapperHeight = _ref6.tableWrapperHeight,
592
567
  isResizing = _ref6.isResizing,
593
- isWindowResized = _ref6.isWindowResized,
594
568
  pluginInjectionApi = _ref6.pluginInjectionApi,
595
569
  isWholeTableInDanger = _ref6.isWholeTableInDanger,
596
570
  isTableResizingEnabled = _ref6.isTableResizingEnabled,
@@ -619,7 +593,6 @@ export var TableContainer = function TableContainer(_ref6) {
619
593
  tableRef: tableRef,
620
594
  tableWrapperHeight: tableWrapperHeight,
621
595
  isResizing: isResizing,
622
- isWindowResized: isWindowResized,
623
596
  pluginInjectionApi: pluginInjectionApi,
624
597
  isTableScalingEnabled: isTableScalingEnabled,
625
598
  isTableWithFixedColumnWidthsOptionEnabled: isTableWithFixedColumnWidthsOptionEnabled,
@@ -16,7 +16,6 @@ type ResizableTableContainerProps = {
16
16
  isTableScalingEnabled?: boolean;
17
17
  isTableWithFixedColumnWidthsOptionEnabled?: boolean;
18
18
  isWholeTableInDanger?: boolean;
19
- isWindowResized?: boolean;
20
19
  lineLength: number;
21
20
  node: PMNode;
22
21
  pluginInjectionApi?: PluginInjectionAPI;
@@ -41,12 +40,11 @@ type TableContainerProps = {
41
40
  isTableScalingEnabled?: boolean;
42
41
  isTableWithFixedColumnWidthsOptionEnabled?: boolean;
43
42
  isWholeTableInDanger?: boolean;
44
- isWindowResized?: boolean;
45
43
  node: PMNode;
46
44
  pluginInjectionApi?: PluginInjectionAPI;
47
45
  shouldUseIncreasedScalingPercent?: boolean;
48
46
  tableRef: HTMLTableElement;
49
47
  tableWrapperHeight?: number;
50
48
  };
51
- export declare const TableContainer: ({ children, node, className, containerWidth: { width: editorWidth, lineLength }, editorView, getPos, tableRef, isNested, tableWrapperHeight, isResizing, isWindowResized, pluginInjectionApi, isWholeTableInDanger, isTableResizingEnabled, isTableScalingEnabled, isTableWithFixedColumnWidthsOptionEnabled, isTableAlignmentEnabled, shouldUseIncreasedScalingPercent, isCommentEditor, isChromelessEditor, }: PropsWithChildren<TableContainerProps>) => React.JSX.Element;
49
+ export declare const TableContainer: ({ children, node, className, containerWidth: { width: editorWidth, lineLength }, editorView, getPos, tableRef, isNested, tableWrapperHeight, isResizing, pluginInjectionApi, isWholeTableInDanger, isTableResizingEnabled, isTableScalingEnabled, isTableWithFixedColumnWidthsOptionEnabled, isTableAlignmentEnabled, shouldUseIncreasedScalingPercent, isCommentEditor, isChromelessEditor, }: PropsWithChildren<TableContainerProps>) => React.JSX.Element;
52
50
  export {};
@@ -16,7 +16,6 @@ type ResizableTableContainerProps = {
16
16
  isTableScalingEnabled?: boolean;
17
17
  isTableWithFixedColumnWidthsOptionEnabled?: boolean;
18
18
  isWholeTableInDanger?: boolean;
19
- isWindowResized?: boolean;
20
19
  lineLength: number;
21
20
  node: PMNode;
22
21
  pluginInjectionApi?: PluginInjectionAPI;
@@ -41,12 +40,11 @@ type TableContainerProps = {
41
40
  isTableScalingEnabled?: boolean;
42
41
  isTableWithFixedColumnWidthsOptionEnabled?: boolean;
43
42
  isWholeTableInDanger?: boolean;
44
- isWindowResized?: boolean;
45
43
  node: PMNode;
46
44
  pluginInjectionApi?: PluginInjectionAPI;
47
45
  shouldUseIncreasedScalingPercent?: boolean;
48
46
  tableRef: HTMLTableElement;
49
47
  tableWrapperHeight?: number;
50
48
  };
51
- export declare const TableContainer: ({ children, node, className, containerWidth: { width: editorWidth, lineLength }, editorView, getPos, tableRef, isNested, tableWrapperHeight, isResizing, isWindowResized, pluginInjectionApi, isWholeTableInDanger, isTableResizingEnabled, isTableScalingEnabled, isTableWithFixedColumnWidthsOptionEnabled, isTableAlignmentEnabled, shouldUseIncreasedScalingPercent, isCommentEditor, isChromelessEditor, }: PropsWithChildren<TableContainerProps>) => React.JSX.Element;
49
+ export declare const TableContainer: ({ children, node, className, containerWidth: { width: editorWidth, lineLength }, editorView, getPos, tableRef, isNested, tableWrapperHeight, isResizing, pluginInjectionApi, isWholeTableInDanger, isTableResizingEnabled, isTableScalingEnabled, isTableWithFixedColumnWidthsOptionEnabled, isTableAlignmentEnabled, shouldUseIncreasedScalingPercent, isCommentEditor, isChromelessEditor, }: PropsWithChildren<TableContainerProps>) => React.JSX.Element;
52
50
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-table",
3
- "version": "14.2.3",
3
+ "version": "14.2.4",
4
4
  "description": "Table plugin for the @atlaskit/editor",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"