@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 +8 -0
- package/dist/cjs/nodeviews/TableComponent.js +0 -1
- package/dist/cjs/nodeviews/TableContainer.js +58 -85
- package/dist/es2019/nodeviews/TableComponent.js +0 -1
- package/dist/es2019/nodeviews/TableContainer.js +58 -81
- package/dist/esm/nodeviews/TableComponent.js +0 -1
- package/dist/esm/nodeviews/TableContainer.js +58 -85
- package/dist/types/nodeviews/TableContainer.d.ts +1 -3
- package/dist/types-ts4.5/nodeviews/TableContainer.d.ts +1 -3
- package/package.json +1 -1
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
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
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
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
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
|
-
|
|
458
|
-
|
|
459
|
-
|
|
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
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
//
|
|
417
|
-
//
|
|
418
|
-
//
|
|
419
|
-
|
|
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
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
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
|
-
|
|
451
|
-
|
|
452
|
-
|
|
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
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
if (!
|
|
467
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
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
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
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
|
-
|
|
449
|
-
|
|
450
|
-
|
|
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
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
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
|
-
|
|
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
|
|
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,
|
|
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,
|
|
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 {};
|