@atlaskit/editor-plugin-table 7.24.0 → 7.24.2

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 (81) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/nodeviews/TableComponent.js +76 -44
  3. package/dist/cjs/nodeviews/TableContainer.js +4 -2
  4. package/dist/cjs/nodeviews/TableResizer.js +6 -5
  5. package/dist/cjs/nodeviews/lazy-node-views.js +4 -3
  6. package/dist/cjs/nodeviews/table.js +3 -2
  7. package/dist/cjs/plugin.js +5 -3
  8. package/dist/cjs/pm-plugins/main.js +3 -2
  9. package/dist/cjs/types.js +2 -0
  10. package/dist/cjs/ui/FloatingInsertButton/InsertButton.js +6 -5
  11. package/dist/cjs/ui/FloatingInsertButton/index.js +5 -3
  12. package/dist/cjs/ui/TableFloatingColumnControls/index.js +4 -3
  13. package/dist/cjs/ui/TableFloatingControls/index.js +3 -2
  14. package/dist/cjs/ui/common-styles.js +1 -1
  15. package/dist/cjs/ui/ui-styles.js +1 -1
  16. package/dist/es2019/nodeviews/TableComponent.js +33 -4
  17. package/dist/es2019/nodeviews/TableContainer.js +4 -2
  18. package/dist/es2019/nodeviews/TableResizer.js +6 -5
  19. package/dist/es2019/nodeviews/lazy-node-views.js +4 -3
  20. package/dist/es2019/nodeviews/table.js +3 -2
  21. package/dist/es2019/plugin.js +5 -3
  22. package/dist/es2019/pm-plugins/main.js +3 -2
  23. package/dist/es2019/types.js +2 -0
  24. package/dist/es2019/ui/FloatingInsertButton/InsertButton.js +8 -6
  25. package/dist/es2019/ui/FloatingInsertButton/index.js +6 -4
  26. package/dist/es2019/ui/TableFloatingColumnControls/index.js +5 -4
  27. package/dist/es2019/ui/TableFloatingControls/index.js +3 -2
  28. package/dist/es2019/ui/common-styles.js +8 -0
  29. package/dist/es2019/ui/ui-styles.js +4 -0
  30. package/dist/esm/nodeviews/TableComponent.js +76 -44
  31. package/dist/esm/nodeviews/TableContainer.js +4 -2
  32. package/dist/esm/nodeviews/TableResizer.js +6 -5
  33. package/dist/esm/nodeviews/lazy-node-views.js +4 -3
  34. package/dist/esm/nodeviews/table.js +3 -2
  35. package/dist/esm/plugin.js +5 -3
  36. package/dist/esm/pm-plugins/main.js +3 -2
  37. package/dist/esm/types.js +2 -0
  38. package/dist/esm/ui/FloatingInsertButton/InsertButton.js +6 -5
  39. package/dist/esm/ui/FloatingInsertButton/index.js +6 -4
  40. package/dist/esm/ui/TableFloatingColumnControls/index.js +5 -4
  41. package/dist/esm/ui/TableFloatingControls/index.js +3 -2
  42. package/dist/esm/ui/common-styles.js +1 -1
  43. package/dist/esm/ui/ui-styles.js +1 -1
  44. package/dist/types/nodeviews/TableContainer.d.ts +2 -1
  45. package/dist/types/nodeviews/lazy-node-views.d.ts +1 -0
  46. package/dist/types/nodeviews/table.d.ts +1 -1
  47. package/dist/types/nodeviews/types.d.ts +1 -0
  48. package/dist/types/plugin.d.ts +1 -0
  49. package/dist/types/pm-plugins/main.d.ts +1 -1
  50. package/dist/types/types.d.ts +2 -0
  51. package/dist/types/ui/FloatingInsertButton/InsertButton.d.ts +2 -1
  52. package/dist/types/ui/FloatingInsertButton/index.d.ts +1 -0
  53. package/dist/types/ui/TableFloatingColumnControls/index.d.ts +2 -1
  54. package/dist/types/ui/TableFloatingControls/index.d.ts +2 -1
  55. package/dist/types-ts4.5/nodeviews/TableContainer.d.ts +2 -1
  56. package/dist/types-ts4.5/nodeviews/lazy-node-views.d.ts +1 -0
  57. package/dist/types-ts4.5/nodeviews/table.d.ts +1 -1
  58. package/dist/types-ts4.5/nodeviews/types.d.ts +1 -0
  59. package/dist/types-ts4.5/plugin.d.ts +1 -0
  60. package/dist/types-ts4.5/pm-plugins/main.d.ts +1 -1
  61. package/dist/types-ts4.5/types.d.ts +2 -0
  62. package/dist/types-ts4.5/ui/FloatingInsertButton/InsertButton.d.ts +2 -1
  63. package/dist/types-ts4.5/ui/FloatingInsertButton/index.d.ts +1 -0
  64. package/dist/types-ts4.5/ui/TableFloatingColumnControls/index.d.ts +2 -1
  65. package/dist/types-ts4.5/ui/TableFloatingControls/index.d.ts +2 -1
  66. package/package.json +2 -2
  67. package/src/nodeviews/TableComponent.tsx +31 -0
  68. package/src/nodeviews/TableContainer.tsx +3 -0
  69. package/src/nodeviews/TableResizer.tsx +5 -6
  70. package/src/nodeviews/lazy-node-views.ts +4 -0
  71. package/src/nodeviews/table.tsx +2 -0
  72. package/src/nodeviews/types.ts +1 -0
  73. package/src/plugin.tsx +4 -0
  74. package/src/pm-plugins/main.ts +2 -0
  75. package/src/types.ts +2 -0
  76. package/src/ui/FloatingInsertButton/InsertButton.tsx +12 -4
  77. package/src/ui/FloatingInsertButton/index.tsx +5 -2
  78. package/src/ui/TableFloatingColumnControls/index.tsx +8 -3
  79. package/src/ui/TableFloatingControls/index.tsx +5 -1
  80. package/src/ui/common-styles.ts +8 -0
  81. package/src/ui/ui-styles.ts +4 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @atlaskit/editor-plugin-table
2
2
 
3
+ ## 7.24.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#124709](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/124709)
8
+ [`a52d9a09ddd5c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a52d9a09ddd5c) -
9
+ [ux] When table resized to full-width in comment editor, it inherits the width of the editor.
10
+
11
+ ## 7.24.1
12
+
13
+ ### Patch Changes
14
+
15
+ - [#124890](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/124890)
16
+ [`04951dd1969d5`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/04951dd1969d5) -
17
+ [ux] ED-24278: Turned on table dnd in chromeless editor
18
+ - Updated dependencies
19
+
3
20
  ## 7.24.0
4
21
 
5
22
  ### Minor Changes
@@ -471,18 +471,43 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
471
471
  clearTimeout(this.initialOverflowCaptureTimerId);
472
472
  }
473
473
  }
474
+ }, {
475
+ key: "removeInlineTableWidth",
476
+ value:
477
+ // Should be called only when table node width is reset to undefined in Comment Editor
478
+ // Maybe replaced by handleColgroupUpdates as we implement new table's support in Comment Editor.
479
+ function removeInlineTableWidth() {
480
+ var _this$props9 = this.props,
481
+ isResizing = _this$props9.isResizing,
482
+ getNode = _this$props9.getNode,
483
+ view = _this$props9.view,
484
+ getPos = _this$props9.getPos;
485
+ if (!this.table) {
486
+ return;
487
+ }
488
+ var tableNode = getNode();
489
+ var newTableWidth = tableNode.attrs.width;
490
+ var start = getPos() || 0;
491
+ var depth = view.state.doc.resolve(start).depth;
492
+ if (depth !== 0) {
493
+ return;
494
+ }
495
+ if (!isResizing && newTableWidth === null) {
496
+ this.table.style.width = '';
497
+ }
498
+ }
474
499
  }, {
475
500
  key: "handleColgroupUpdates",
476
501
  value: function handleColgroupUpdates() {
477
502
  var _this2 = this;
478
503
  var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
479
- var _this$props9 = this.props,
480
- getNode = _this$props9.getNode,
481
- containerWidth = _this$props9.containerWidth,
482
- isResizing = _this$props9.isResizing,
483
- view = _this$props9.view,
484
- getPos = _this$props9.getPos,
485
- getEditorFeatureFlags = _this$props9.getEditorFeatureFlags;
504
+ var _this$props10 = this.props,
505
+ getNode = _this$props10.getNode,
506
+ containerWidth = _this$props10.containerWidth,
507
+ isResizing = _this$props10.isResizing,
508
+ view = _this$props10.view,
509
+ getPos = _this$props10.getPos,
510
+ getEditorFeatureFlags = _this$props10.getEditorFeatureFlags;
486
511
  if (!this.table) {
487
512
  return;
488
513
  }
@@ -551,18 +576,19 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
551
576
  }, {
552
577
  key: "componentDidUpdate",
553
578
  value: function componentDidUpdate(_, prevState) {
554
- var _this$wrapper,
579
+ var _this$props$options3,
580
+ _this$wrapper,
555
581
  _this3 = this;
556
- var _this$props10 = this.props,
557
- view = _this$props10.view,
558
- getNode = _this$props10.getNode,
559
- isMediaFullscreen = _this$props10.isMediaFullscreen,
560
- allowColumnResizing = _this$props10.allowColumnResizing,
561
- isResizing = _this$props10.isResizing,
562
- options = _this$props10.options,
563
- isTableScalingEnabled = _this$props10.isTableScalingEnabled,
564
- getPos = _this$props10.getPos,
565
- getEditorFeatureFlags = _this$props10.getEditorFeatureFlags;
582
+ var _this$props11 = this.props,
583
+ view = _this$props11.view,
584
+ getNode = _this$props11.getNode,
585
+ isMediaFullscreen = _this$props11.isMediaFullscreen,
586
+ allowColumnResizing = _this$props11.allowColumnResizing,
587
+ isResizing = _this$props11.isResizing,
588
+ options = _this$props11.options,
589
+ isTableScalingEnabled = _this$props11.isTableScalingEnabled,
590
+ getPos = _this$props11.getPos,
591
+ getEditorFeatureFlags = _this$props11.getEditorFeatureFlags;
566
592
  var isInDanger = this.props.isInDanger;
567
593
  var table = (0, _utils2.findTable)(view.state.selection);
568
594
  if (!(0, _platformFeatureFlags.fg)('platform.editor.table.use-shared-state-hook')) {
@@ -590,6 +616,9 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
590
616
  if (isInDanger && !table) {
591
617
  (0, _commands.clearHoverSelection)()(view.state, view.dispatch);
592
618
  }
619
+ if ((_this$props$options3 = this.props.options) !== null && _this$props$options3 !== void 0 && _this$props$options3.isCommentEditor && options !== null && options !== void 0 && options.isTableResizingEnabled) {
620
+ this.removeInlineTableWidth();
621
+ }
593
622
  if ((_this$wrapper = this.wrapper) !== null && _this$wrapper !== void 0 && _this$wrapper.parentElement && this.table && !this.overflowShadowsObserver) {
594
623
  if (this.props.isDragAndDropEnabled) {
595
624
  // requestAnimationFrame is used here to fix a race condition issue
@@ -675,30 +704,30 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
675
704
  value: function render() {
676
705
  var _this4 = this,
677
706
  _classnames;
678
- var _this$props11 = this.props,
679
- view = _this$props11.view,
680
- getNode = _this$props11.getNode,
681
- isResizing = _this$props11.isResizing,
682
- _this$props11$allowCo = _this$props11.allowControls,
683
- allowControls = _this$props11$allowCo === void 0 ? true : _this$props11$allowCo,
684
- isHeaderRowEnabled = _this$props11.isHeaderRowEnabled,
685
- ordering = _this$props11.ordering,
686
- isHeaderColumnEnabled = _this$props11.isHeaderColumnEnabled,
687
- tableActive = _this$props11.tableActive,
688
- containerWidth = _this$props11.containerWidth,
689
- options = _this$props11.options,
690
- getPos = _this$props11.getPos,
691
- pluginInjectionApi = _this$props11.pluginInjectionApi,
692
- isDragAndDropEnabled = _this$props11.isDragAndDropEnabled,
693
- getEditorFeatureFlags = _this$props11.getEditorFeatureFlags,
694
- isTableScalingEnabled = _this$props11.isTableScalingEnabled,
695
- isTableAlignmentEnabled = _this$props11.isTableAlignmentEnabled;
696
707
  var _this$props12 = this.props,
697
- isInDanger = _this$props12.isInDanger,
698
- hoveredRows = _this$props12.hoveredRows,
699
- hoveredCell = _this$props12.hoveredCell,
700
- isTableHovered = _this$props12.isTableHovered,
701
- isWholeTableInDanger = _this$props12.isWholeTableInDanger;
708
+ view = _this$props12.view,
709
+ getNode = _this$props12.getNode,
710
+ isResizing = _this$props12.isResizing,
711
+ _this$props12$allowCo = _this$props12.allowControls,
712
+ allowControls = _this$props12$allowCo === void 0 ? true : _this$props12$allowCo,
713
+ isHeaderRowEnabled = _this$props12.isHeaderRowEnabled,
714
+ ordering = _this$props12.ordering,
715
+ isHeaderColumnEnabled = _this$props12.isHeaderColumnEnabled,
716
+ tableActive = _this$props12.tableActive,
717
+ containerWidth = _this$props12.containerWidth,
718
+ options = _this$props12.options,
719
+ getPos = _this$props12.getPos,
720
+ pluginInjectionApi = _this$props12.pluginInjectionApi,
721
+ isDragAndDropEnabled = _this$props12.isDragAndDropEnabled,
722
+ getEditorFeatureFlags = _this$props12.getEditorFeatureFlags,
723
+ isTableScalingEnabled = _this$props12.isTableScalingEnabled,
724
+ isTableAlignmentEnabled = _this$props12.isTableAlignmentEnabled;
725
+ var _this$props13 = this.props,
726
+ isInDanger = _this$props13.isInDanger,
727
+ hoveredRows = _this$props13.hoveredRows,
728
+ hoveredCell = _this$props13.hoveredCell,
729
+ isTableHovered = _this$props13.isTableHovered,
730
+ isWholeTableInDanger = _this$props13.isWholeTableInDanger;
702
731
  var _this$state3 = this.state,
703
732
  showBeforeShadow = _this$state3.showBeforeShadow,
704
733
  showAfterShadow = _this$state3.showAfterShadow;
@@ -736,7 +765,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
736
765
  headerRowHeight: headerRow ? headerRow.offsetHeight : undefined,
737
766
  stickyHeader: this.state.stickyHeader,
738
767
  tableWrapperWidth: this.state.tableWrapperWidth,
739
- api: pluginInjectionApi
768
+ api: pluginInjectionApi,
769
+ isChromelessEditor: options === null || options === void 0 ? void 0 : options.isChromelessEditor
740
770
  });
741
771
  var tableContainerWidth = (0, _nodeWidth.getTableContainerWidth)(node);
742
772
  var colControls = isDragAndDropEnabled ? /*#__PURE__*/_react.default.createElement(_TableFloatingColumnControls.default, {
@@ -764,7 +794,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
764
794
  return ((_this4$wrapper = _this4.wrapper) === null || _this4$wrapper === void 0 ? void 0 : _this4$wrapper.scrollLeft) || 0;
765
795
  },
766
796
  tableWrapperHeight: this.state.tableWrapperHeight,
767
- api: pluginInjectionApi
797
+ api: pluginInjectionApi,
798
+ isChromelessEditor: options === null || options === void 0 ? void 0 : options.isChromelessEditor
768
799
  }) : null;
769
800
  var shadowPadding = allowControls && tableActive ? -_editorSharedStyles.akEditorTableToolbarSize : _styles.tableMarginSides;
770
801
  var shadowStyle = (0, _memoizeOne.default)(function (visible) {
@@ -810,7 +841,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
810
841
  isWholeTableInDanger: isWholeTableInDanger,
811
842
  isTableAlignmentEnabled: isTableAlignmentEnabled,
812
843
  shouldUseIncreasedScalingPercent: shouldUseIncreasedScalingPercent,
813
- isCommentEditor: options === null || options === void 0 ? void 0 : options.isCommentEditor
844
+ isCommentEditor: options === null || options === void 0 ? void 0 : options.isCommentEditor,
845
+ isChromelessEditor: options === null || options === void 0 ? void 0 : options.isChromelessEditor
814
846
  }, /*#__PURE__*/_react.default.createElement("div", {
815
847
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
816
848
  className: _types.TableCssClassName.TABLE_STICKY_SENTINEL_TOP,
@@ -297,7 +297,8 @@ var TableContainer = exports.TableContainer = function TableContainer(_ref6) {
297
297
  isTableWithFixedColumnWidthsOptionEnabled = _ref6.isTableWithFixedColumnWidthsOptionEnabled,
298
298
  isTableAlignmentEnabled = _ref6.isTableAlignmentEnabled,
299
299
  shouldUseIncreasedScalingPercent = _ref6.shouldUseIncreasedScalingPercent,
300
- isCommentEditor = _ref6.isCommentEditor;
300
+ isCommentEditor = _ref6.isCommentEditor,
301
+ isChromelessEditor = _ref6.isChromelessEditor;
301
302
  if (isTableResizingEnabled && !isNested) {
302
303
  return /*#__PURE__*/_react.default.createElement(ResizableTableContainer
303
304
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
@@ -329,7 +330,8 @@ var TableContainer = exports.TableContainer = function TableContainer(_ref6) {
329
330
  }),
330
331
  style: {
331
332
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
332
- width: 'inherit'
333
+ width: 'inherit',
334
+ marginLeft: isChromelessEditor ? 18 : undefined
333
335
  }
334
336
  }, children);
335
337
  };
@@ -297,7 +297,8 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
297
297
  dispatch = editorView.dispatch;
298
298
  var pos = getPos();
299
299
  var currentTableNodeLocalId = (_node$attrs$localId2 = node === null || node === void 0 || (_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.localId) !== null && _node$attrs$localId2 !== void 0 ? _node$attrs$localId2 : '';
300
- var tableMaxWidth = isCommentEditor ? containerWidth - _utils3.TABLE_OFFSET_IN_COMMENT_EDITOR : _utils3.TABLE_MAX_WIDTH;
300
+ var tableMaxWidth = isCommentEditor ? undefined // Table's full-width in comment appearance inherit the width of the Editor/Renderer
301
+ : _utils3.TABLE_MAX_WIDTH;
301
302
  newWidth = widthToWidest && currentTableNodeLocalId && widthToWidest[currentTableNodeLocalId] ? tableMaxWidth : newWidth;
302
303
  var tr = state.tr.setMeta(_tableWidth.pluginKey, {
303
304
  resizing: false,
@@ -337,12 +338,12 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
337
338
  }
338
339
  displayGapCursor(true);
339
340
  dispatch(tr);
340
- if (delta.width < 0) {
341
+ if (delta.width < 0 && newWidth !== undefined) {
341
342
  var _pluginInjectionApi$a3;
342
343
  pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a3 = pluginInjectionApi.accessibilityUtils) === null || _pluginInjectionApi$a3 === void 0 || _pluginInjectionApi$a3.actions.ariaNotify(formatMessage(_messages.tableMessages.tableSizeDecreaseScreenReaderInformation, {
343
344
  newWidth: newWidth
344
345
  }));
345
- } else if (delta.width > 0) {
346
+ } else if (delta.width > 0 && newWidth !== undefined) {
346
347
  var _pluginInjectionApi$a4;
347
348
  pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a4 = pluginInjectionApi.accessibilityUtils) === null || _pluginInjectionApi$a4 === void 0 || _pluginInjectionApi$a4.actions.ariaNotify(formatMessage(_messages.tableMessages.tableSizeIncreaseScreenReaderInformation, {
348
349
  newWidth: newWidth
@@ -351,13 +352,13 @@ var TableResizer = exports.TableResizer = function TableResizer(_ref) {
351
352
 
352
353
  // Hide guidelines when resizing stops
353
354
  displayGuideline([]);
354
- updateWidth(newWidth);
355
+ newWidth !== undefined && updateWidth(newWidth);
355
356
  scheduleResize.cancel();
356
357
  if (onResizeStop) {
357
358
  onResizeStop();
358
359
  }
359
360
  return newWidth;
360
- }, [displayGapCursor, updateWidth, editorView, getPos, node, tableRef, scheduleResize, displayGuideline, containerWidth, attachAnalyticsEvent, endMeasure, onResizeStop, isTableScalingEnabled, shouldUseIncreasedScalingPercent, widthToWidest, formatMessage, pluginInjectionApi, isCommentEditor]);
361
+ }, [displayGapCursor, updateWidth, editorView, getPos, node, tableRef, scheduleResize, displayGuideline, attachAnalyticsEvent, endMeasure, onResizeStop, isTableScalingEnabled, shouldUseIncreasedScalingPercent, widthToWidest, formatMessage, pluginInjectionApi, isCommentEditor]);
361
362
  var handleTableSizeChangeOnKeypress = (0, _react.useCallback)(function (step) {
362
363
  var newWidth = width + step;
363
364
  if (newWidth > maxWidth || newWidth < resizerMinWidth) {
@@ -16,7 +16,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
16
16
  var lazyTableView = exports.lazyTableView = function lazyTableView(options) {
17
17
  if (!(0, _platformFeatureFlags.fg)('platform_editor_lazy-node-views')) {
18
18
  return function (node, view, getPos) {
19
- return (0, _table.createTableView)(node, view, getPos, options.portalProviderAPI, options.eventDispatcher, options.getEditorContainerWidth, options.getEditorFeatureFlags, options.dispatchAnalyticsEvent, options.pluginInjectionApi, options.isTableAlignmentEnabled, options.isCommentEditor);
19
+ return (0, _table.createTableView)(node, view, getPos, options.portalProviderAPI, options.eventDispatcher, options.getEditorContainerWidth, options.getEditorFeatureFlags, options.dispatchAnalyticsEvent, options.pluginInjectionApi, options.isTableAlignmentEnabled, options.isCommentEditor, options.isChromelessEditor);
20
20
  };
21
21
  }
22
22
  var loader = function loader() {
@@ -34,8 +34,9 @@ var lazyTableView = exports.lazyTableView = function lazyTableView(options) {
34
34
  dispatchAnalyticsEvent = _getNodeViewOptions.dispatchAnalyticsEvent,
35
35
  pluginInjectionApi = _getNodeViewOptions.pluginInjectionApi,
36
36
  isTableAlignmentEnabled = _getNodeViewOptions.isTableAlignmentEnabled,
37
- isCommentEditor = _getNodeViewOptions.isCommentEditor;
38
- return createTableView(node, view, getPos, portalProviderAPI, eventDispatcher, getEditorContainerWidth, getEditorFeatureFlags, dispatchAnalyticsEvent, pluginInjectionApi, isTableAlignmentEnabled, isCommentEditor);
37
+ isCommentEditor = _getNodeViewOptions.isCommentEditor,
38
+ isChromelessEditor = _getNodeViewOptions.isChromelessEditor;
39
+ return createTableView(node, view, getPos, portalProviderAPI, eventDispatcher, getEditorContainerWidth, getEditorFeatureFlags, dispatchAnalyticsEvent, pluginInjectionApi, isTableAlignmentEnabled, isCommentEditor, isChromelessEditor);
39
40
  };
40
41
  });
41
42
  return result;
@@ -290,7 +290,7 @@ var TableView = exports.default = /*#__PURE__*/function (_ReactNodeView) {
290
290
  }]);
291
291
  return TableView;
292
292
  }(_reactNodeView.default);
293
- var createTableView = exports.createTableView = function createTableView(node, view, getPos, portalProviderAPI, eventDispatcher, getEditorContainerWidth, getEditorFeatureFlags, dispatchAnalyticsEvent, pluginInjectionApi, isTableAlignmentEnabled, isCommentEditor) {
293
+ var createTableView = exports.createTableView = function createTableView(node, view, getPos, portalProviderAPI, eventDispatcher, getEditorContainerWidth, getEditorFeatureFlags, dispatchAnalyticsEvent, pluginInjectionApi, isTableAlignmentEnabled, isCommentEditor, isChromelessEditor) {
294
294
  var _getPluginState2 = (0, _pluginFactory.getPluginState)(view.state),
295
295
  pluginConfig = _getPluginState2.pluginConfig,
296
296
  isFullWidthModeEnabled = _getPluginState2.isFullWidthModeEnabled,
@@ -317,7 +317,8 @@ var createTableView = exports.createTableView = function createTableView(node, v
317
317
  isTableScalingEnabled: isTableScalingEnabled,
318
318
  // same as options.isTableScalingEnabled
319
319
  isTableAlignmentEnabled: isTableAlignmentEnabled,
320
- isCommentEditor: isCommentEditor
320
+ isCommentEditor: isCommentEditor,
321
+ isChromelessEditor: isChromelessEditor
321
322
  },
322
323
  getEditorContainerWidth: getEditorContainerWidth,
323
324
  getEditorFeatureFlags: getEditorFeatureFlags,
@@ -204,8 +204,9 @@ var tablesPlugin = function tablesPlugin(_ref) {
204
204
  dragAndDropEnabled = _ref3.dragAndDropEnabled,
205
205
  isTableScalingEnabled = _ref3.isTableScalingEnabled,
206
206
  isTableAlignmentEnabled = _ref3.isTableAlignmentEnabled,
207
- isCommentEditor = _ref3.isCommentEditor;
208
- return (0, _main.createPlugin)(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, (0, _createPluginConfig.pluginConfig)(tableOptions), defaultGetEditorContainerWidth, getEditorFeatureFlags || defaultGetEditorFeatureFlags, getIntl, tableResizingEnabled, fullWidthEnabled, wasFullWidthEnabled, dragAndDropEnabled, editorAnalyticsAPI, api, isTableScalingEnabled, isTableAlignmentEnabled, shouldUseIncreasedScalingPercent, isCommentEditor);
207
+ isCommentEditor = _ref3.isCommentEditor,
208
+ isChromelessEditor = _ref3.isChromelessEditor;
209
+ return (0, _main.createPlugin)(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, (0, _createPluginConfig.pluginConfig)(tableOptions), defaultGetEditorContainerWidth, getEditorFeatureFlags || defaultGetEditorFeatureFlags, getIntl, tableResizingEnabled, fullWidthEnabled, wasFullWidthEnabled, dragAndDropEnabled, editorAnalyticsAPI, api, isTableScalingEnabled, isTableAlignmentEnabled, shouldUseIncreasedScalingPercent, isCommentEditor, isChromelessEditor);
209
210
  }
210
211
  }, {
211
212
  name: 'tablePMColResizing',
@@ -433,7 +434,8 @@ var tablesPlugin = function tablesPlugin(_ref) {
433
434
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
434
435
  editorAnalyticsAPI: editorAnalyticsAPI,
435
436
  getEditorContainerWidth: defaultGetEditorContainerWidth,
436
- getEditorFeatureFlags: (options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) || defaultGetEditorFeatureFlags
437
+ getEditorFeatureFlags: (options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) || defaultGetEditorFeatureFlags,
438
+ isChromelessEditor: options === null || options === void 0 ? void 0 : options.isChromelessEditor
437
439
  }), (options === null || options === void 0 ? void 0 : options.allowContextualMenu) && /*#__PURE__*/_react.default.createElement(_FloatingContextualMenu.default, {
438
440
  editorView: editorView,
439
441
  mountPoint: popupsMountPoint,
@@ -30,7 +30,7 @@ var _pluginFactory = require("./plugin-factory");
30
30
  var _pluginKey = require("./plugin-key");
31
31
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32
32
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
33
- var createPlugin = exports.createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig, getEditorContainerWidth, getEditorFeatureFlags, getIntl, tableResizingEnabled, fullWidthModeEnabled, previousFullWidthModeEnabled, dragAndDropEnabled, editorAnalyticsAPI, pluginInjectionApi, isTableScalingEnabled, isTableAlignmentEnabled, shouldUseIncreasedScalingPercent, isCommentEditor) {
33
+ var createPlugin = exports.createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig, getEditorContainerWidth, getEditorFeatureFlags, getIntl, tableResizingEnabled, fullWidthModeEnabled, previousFullWidthModeEnabled, dragAndDropEnabled, editorAnalyticsAPI, pluginInjectionApi, isTableScalingEnabled, isTableAlignmentEnabled, shouldUseIncreasedScalingPercent, isCommentEditor, isChromelessEditor) {
34
34
  var _accessibilityUtils;
35
35
  var state = (0, _pluginFactory.createPluginState)(dispatch, _objectSpread(_objectSpread(_objectSpread({
36
36
  pluginConfig: pluginConfig,
@@ -260,7 +260,8 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatchAnalytic
260
260
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
261
261
  pluginInjectionApi: pluginInjectionApi,
262
262
  isTableAlignmentEnabled: isTableAlignmentEnabled,
263
- isCommentEditor: isCommentEditor
263
+ isCommentEditor: isCommentEditor,
264
+ isChromelessEditor: isChromelessEditor
264
265
  }),
265
266
  tableRow: (0, _lazyNodeViews.lazyTableRowView)({
266
267
  eventDispatcher: eventDispatcher
package/dist/cjs/types.js CHANGED
@@ -81,6 +81,7 @@ var TableCssClassName = exports.TableCssClassName = _objectSpread(_objectSpread(
81
81
  DRAG_CONTROLS_INSERT_BUTTON_INNER: "".concat(_adfSchema.tablePrefixSelector, "-controls__drag-insert-button-inner"),
82
82
  DRAG_CONTROLS_INSERT_BUTTON_INNER_COLUMN: "".concat(_adfSchema.tablePrefixSelector, "-controls__drag-insert-button-inner-column"),
83
83
  DRAG_CONTROLS_INSERT_BUTTON_INNER_ROW: "".concat(_adfSchema.tablePrefixSelector, "-controls__drag-insert-button-inner-row"),
84
+ DRAG_CONTROLS_INSERT_BUTTON_INNER_ROW_CHROMELESS: "".concat(_adfSchema.tablePrefixSelector, "-controls__drag-insert-button-inner-row-chromeless"),
84
85
  DRAG_CONTROLS_INSERT_BUTTON_WRAP: "".concat(_adfSchema.tablePrefixSelector, "-controls__drag-insert-button-wrap"),
85
86
  CONTROLS_INSERT_MARKER: "".concat(_adfSchema.tablePrefixSelector, "-controls__insert-marker"),
86
87
  CONTROLS_INSERT_COLUMN: "".concat(_adfSchema.tablePrefixSelector, "-controls__insert-column"),
@@ -96,6 +97,7 @@ var TableCssClassName = exports.TableCssClassName = _objectSpread(_objectSpread(
96
97
  /** drag and drop controls */
97
98
  DRAG_ROW_CONTROLS_WRAPPER: "".concat(_adfSchema.tablePrefixSelector, "-drag-row-controls-wrapper"),
98
99
  DRAG_ROW_CONTROLS: "".concat(_adfSchema.tablePrefixSelector, "-drag-row-controls"),
100
+ DRAG_CONTROLS_CHROMELESS: "drag-controls-chromeless",
99
101
  DRAG_ROW_FLOATING_INSERT_DOT_WRAPPER: "".concat(_adfSchema.tablePrefixSelector, "-drag-row-floating-insert-dot-wrapper"),
100
102
  DRAG_ROW_FLOATING_INSERT_DOT: "".concat(_adfSchema.tablePrefixSelector, "-drag-row-floating-insert-dot"),
101
103
  DRAG_COLUMN_CONTROLS: "".concat(_adfSchema.tablePrefixSelector, "-drag-column-controls"),
@@ -41,12 +41,12 @@ var getNumberColumnWidth = function getNumberColumnWidth(tableRef, isDragAndDrop
41
41
  }
42
42
  return 0;
43
43
  };
44
- var getInsertLineWidth = function getInsertLineWidth(tableRef, isDragAndDropEnabled) {
44
+ var getInsertLineWidth = function getInsertLineWidth(tableRef, isDragAndDropEnabled, isChromelessEditor) {
45
45
  // The line gets width 100% from the table,
46
46
  // but since we have an overflow on the left,
47
47
  // we should add an offset to make up for it.
48
48
  var LINE_OFFSET = 4;
49
- var DRAG_LINE_OFFSET = 6;
49
+ var DRAG_LINE_OFFSET = isChromelessEditor ? 14 : 6;
50
50
  var parentElement = tableRef.parentElement,
51
51
  offsetWidth = tableRef.offsetWidth;
52
52
  var parentOffsetWidth = parentElement.offsetWidth;
@@ -66,7 +66,8 @@ var InsertButtonForDragAndDrop = exports.InsertButtonForDragAndDrop = function I
66
66
  tableRef = _ref2.tableRef,
67
67
  type = _ref2.type,
68
68
  formatMessage = _ref2.intl.formatMessage,
69
- hasStickyHeaders = _ref2.hasStickyHeaders;
69
+ hasStickyHeaders = _ref2.hasStickyHeaders,
70
+ isChromelessEditor = _ref2.isChromelessEditor;
70
71
  var isRow = type === 'row';
71
72
  var content = /*#__PURE__*/_react.default.createElement(_tooltip.default, {
72
73
  content: /*#__PURE__*/_react.default.createElement(_keymaps.ToolTipContent, {
@@ -76,7 +77,7 @@ var InsertButtonForDragAndDrop = exports.InsertButtonForDragAndDrop = function I
76
77
  position: "top"
77
78
  }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
78
79
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
79
- className: (0, _classnames2.default)(_types.TableCssClassName.DRAG_CONTROLS_INSERT_BUTTON_INNER, (_classnames = {}, (0, _defineProperty2.default)(_classnames, _types.TableCssClassName.DRAG_CONTROLS_INSERT_BUTTON_INNER_ROW, isRow), (0, _defineProperty2.default)(_classnames, _types.TableCssClassName.DRAG_CONTROLS_INSERT_BUTTON_INNER_COLUMN, !isRow), _classnames))
80
+ className: (0, _classnames2.default)(_types.TableCssClassName.DRAG_CONTROLS_INSERT_BUTTON_INNER, (_classnames = {}, (0, _defineProperty2.default)(_classnames, _types.TableCssClassName.DRAG_CONTROLS_INSERT_BUTTON_INNER_ROW, isRow && !isChromelessEditor), (0, _defineProperty2.default)(_classnames, _types.TableCssClassName.DRAG_CONTROLS_INSERT_BUTTON_INNER_COLUMN, !isRow), (0, _defineProperty2.default)(_classnames, _types.TableCssClassName.DRAG_CONTROLS_INSERT_BUTTON_INNER_ROW_CHROMELESS, isRow && isChromelessEditor), _classnames))
80
81
  }, /*#__PURE__*/_react.default.createElement("button", {
81
82
  type: "button"
82
83
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
@@ -100,7 +101,7 @@ var InsertButtonForDragAndDrop = exports.InsertButtonForDragAndDrop = function I
100
101
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
101
102
  ,
102
103
  style: type === 'row' ? {
103
- width: getInsertLineWidth(tableRef, true),
104
+ width: getInsertLineWidth(tableRef, true, isChromelessEditor),
104
105
  left: "var(--ds-space-150, 12px)"
105
106
  } : {
106
107
  height: getInsertLineHeight(tableRef, hasStickyHeaders, true) - 8,
@@ -59,7 +59,8 @@ var FloatingInsertButton = exports.FloatingInsertButton = /*#__PURE__*/function
59
59
  isHeaderColumnEnabled = _this$props.isHeaderColumnEnabled,
60
60
  isHeaderRowEnabled = _this$props.isHeaderRowEnabled,
61
61
  isDragAndDropEnabled = _this$props.isDragAndDropEnabled,
62
- dispatchAnalyticsEvent = _this$props.dispatchAnalyticsEvent;
62
+ dispatchAnalyticsEvent = _this$props.dispatchAnalyticsEvent,
63
+ isChromelessEditor = _this$props.isChromelessEditor;
63
64
 
64
65
  // TODO: temporarily disable insert button for first column and row https://atlassian.slack.com/archives/C05U8HRQM50/p1698363744682219?thread_ts=1698209039.104909&cid=C05U8HRQM50
65
66
  if (isDragAndDropEnabled && (insertColumnButtonIndex === 0 || insertRowButtonIndex === 0)) {
@@ -144,7 +145,8 @@ var FloatingInsertButton = exports.FloatingInsertButton = /*#__PURE__*/function
144
145
  type: type,
145
146
  tableRef: tableRef,
146
147
  onMouseDown: type === 'column' ? this.insertColumn : this.insertRow,
147
- hasStickyHeaders: this.props.hasStickyHeaders || false
148
+ hasStickyHeaders: this.props.hasStickyHeaders || false,
149
+ isChromelessEditor: isChromelessEditor
148
150
  }) : /*#__PURE__*/_react.default.createElement(_InsertButton.default, {
149
151
  type: type,
150
152
  tableRef: tableRef,
@@ -208,7 +210,7 @@ var FloatingInsertButton = exports.FloatingInsertButton = /*#__PURE__*/function
208
210
  tableDuplicateCellColouring = _ref$tableDuplicateCe === void 0 ? false : _ref$tableDuplicateCe,
209
211
  _ref$tableWithFixedCo = _ref.tableWithFixedColumnWidthsOption,
210
212
  tableWithFixedColumnWidthsOption = _ref$tableWithFixedCo === void 0 ? false : _ref$tableWithFixedCo;
211
- var shouldUseIncreasedScalingPercent = isTableScalingEnabled && tableWithFixedColumnWidthsOption && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-increased-scaling-percent');
213
+ var shouldUseIncreasedScalingPercent = isTableScalingEnabled && tableWithFixedColumnWidthsOption && (0, _platformFeatureFlags.fg)('platform.editor.table.use-increased-scaling-percent');
212
214
  var state = editorView.state,
213
215
  dispatch = editorView.dispatch;
214
216
  (0, _commandsWithAnalytics.insertColumnWithAnalytics)(editorAnalyticsAPI, isTableScalingEnabled, tableDuplicateCellColouring, tableWithFixedColumnWidthsOption, shouldUseIncreasedScalingPercent)(_analytics.INPUT_METHOD.BUTTON, insertColumnButtonIndex)(state, dispatch, editorView);
@@ -32,7 +32,8 @@ var TableFloatingColumnControls = exports.TableFloatingColumnControls = function
32
32
  isNumberColumnEnabled = _ref.isNumberColumnEnabled,
33
33
  getScrollOffset = _ref.getScrollOffset,
34
34
  tableWrapperHeight = _ref.tableWrapperHeight,
35
- api = _ref.api;
35
+ api = _ref.api,
36
+ isChromelessEditor = _ref.isChromelessEditor;
36
37
  var _useState = (0, _react.useState)(false),
37
38
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
38
39
  isDragging = _useState2[0],
@@ -84,7 +85,7 @@ var TableFloatingColumnControls = exports.TableFloatingColumnControls = function
84
85
  ref: containerRef
85
86
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
86
87
  ,
87
- className: _types.TableCssClassName.DRAG_COLUMN_CONTROLS_WRAPPER,
88
+ className: _types.TableCssClassName.DRAG_COLUMN_CONTROLS_WRAPPER + (isChromelessEditor ? ' ' + _types.TableCssClassName.DRAG_CONTROLS_CHROMELESS : ''),
88
89
  "data-testid": "table-floating-column-controls-wrapper"
89
90
  }, /*#__PURE__*/_react.default.createElement(_ColumnControls.ColumnControls, {
90
91
  editorView: editorView,
@@ -102,7 +103,7 @@ var TableFloatingColumnControls = exports.TableFloatingColumnControls = function
102
103
  isNumberColumnEnabled: isNumberColumnEnabled,
103
104
  isDragging: isDragging,
104
105
  getScrollOffset: getScrollOffset,
105
- api: (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.use-shared-state-hook') ? api : undefined
106
+ api: (0, _platformFeatureFlags.fg)('platform.editor.table.use-shared-state-hook') ? api : undefined
106
107
  }), isDragging && /*#__PURE__*/_react.default.createElement(_ColumnDropTargets.ColumnDropTargets, {
107
108
  tableRef: tableRef,
108
109
  isHeaderSticky: (stickyHeader === null || stickyHeader === void 0 ? void 0 : stickyHeader.sticky) && hasHeaderRow,
@@ -38,7 +38,8 @@ var TableFloatingControls = exports.TableFloatingControls = function TableFloati
38
38
  hoveredCell = _ref.hoveredCell,
39
39
  isTableHovered = _ref.isTableHovered,
40
40
  tableWrapperWidth = _ref.tableWrapperWidth,
41
- api = _ref.api;
41
+ api = _ref.api,
42
+ isChromelessEditor = _ref.isChromelessEditor;
42
43
  var _selectRow = (0, _react.useCallback)(function (row, expand) {
43
44
  var state = editorView.state,
44
45
  dispatch = editorView.dispatch;
@@ -81,7 +82,7 @@ var TableFloatingControls = exports.TableFloatingControls = function TableFloati
81
82
  return null;
82
83
  }
83
84
  var stickyTop = stickyHeader && stickyHeader.sticky && hasHeaderRow ? stickyHeader.top : undefined;
84
- var wrapperClassName = isDragAndDropEnabled ? _types.TableCssClassName.DRAG_ROW_CONTROLS_WRAPPER : _types.TableCssClassName.ROW_CONTROLS_WRAPPER;
85
+ var wrapperClassName = isDragAndDropEnabled ? isChromelessEditor ? _types.TableCssClassName.DRAG_ROW_CONTROLS_WRAPPER + ' ' + _types.TableCssClassName.DRAG_CONTROLS_CHROMELESS : _types.TableCssClassName.DRAG_ROW_CONTROLS_WRAPPER : _types.TableCssClassName.ROW_CONTROLS_WRAPPER;
85
86
  var tablePos = (_findTable = (0, _utils2.findTable)(editorView.state.selection)) === null || _findTable === void 0 ? void 0 : _findTable.pos;
86
87
  var isNested = tablePos !== undefined && (0, _nodes.isTableNested)(editorView.state, tablePos);
87
88
  var shouldShowCornerControls = (0, _platformFeatureFlags.fg)('platform_editor_element_drag_and_drop_ed_24041') ? !(featureFlagsState !== null && featureFlagsState !== void 0 && featureFlagsState.elementDragAndDrop) || isNested : !(featureFlagsState !== null && featureFlagsState !== void 0 && featureFlagsState.elementDragAndDrop);