@atlaskit/editor-plugin-table 9.1.2 → 9.2.0

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 (61) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/afm-post-office/tsconfig.json +99 -0
  3. package/dist/cjs/nodeviews/TableComponent.js +5 -5
  4. package/dist/cjs/nodeviews/TableComponentWithSharedState.js +6 -4
  5. package/dist/cjs/nodeviews/table.js +1 -2
  6. package/dist/cjs/tablePlugin.js +1 -0
  7. package/dist/cjs/ui/DragHandle/index.js +55 -6
  8. package/dist/cjs/ui/TableFloatingColumnControls/ColumnControls/index.js +17 -2
  9. package/dist/cjs/ui/TableFloatingColumnControls/index.js +1 -2
  10. package/dist/cjs/ui/TableFloatingControls/RowControls/DragControls.js +60 -7
  11. package/dist/cjs/ui/TableFloatingControls/index.js +24 -4
  12. package/dist/cjs/ui/common-styles.js +1 -2
  13. package/dist/es2019/nodeviews/TableComponent.js +5 -5
  14. package/dist/es2019/nodeviews/TableComponentWithSharedState.js +6 -4
  15. package/dist/es2019/nodeviews/table.js +1 -2
  16. package/dist/es2019/tablePlugin.js +1 -0
  17. package/dist/es2019/ui/DragHandle/index.js +57 -6
  18. package/dist/es2019/ui/TableFloatingColumnControls/ColumnControls/index.js +18 -3
  19. package/dist/es2019/ui/TableFloatingColumnControls/index.js +1 -2
  20. package/dist/es2019/ui/TableFloatingControls/RowControls/DragControls.js +62 -7
  21. package/dist/es2019/ui/TableFloatingControls/index.js +25 -5
  22. package/dist/es2019/ui/common-styles.js +1 -2
  23. package/dist/esm/nodeviews/TableComponent.js +5 -5
  24. package/dist/esm/nodeviews/TableComponentWithSharedState.js +6 -4
  25. package/dist/esm/nodeviews/table.js +1 -2
  26. package/dist/esm/tablePlugin.js +1 -0
  27. package/dist/esm/ui/DragHandle/index.js +54 -5
  28. package/dist/esm/ui/TableFloatingColumnControls/ColumnControls/index.js +18 -3
  29. package/dist/esm/ui/TableFloatingColumnControls/index.js +1 -2
  30. package/dist/esm/ui/TableFloatingControls/RowControls/DragControls.js +60 -7
  31. package/dist/esm/ui/TableFloatingControls/index.js +25 -5
  32. package/dist/esm/ui/common-styles.js +1 -2
  33. package/dist/types/nodeviews/TableComponent.d.ts +3 -1
  34. package/dist/types/tablePluginType.d.ts +21 -18
  35. package/dist/types/types/index.d.ts +1 -1
  36. package/dist/types/ui/DragHandle/index.d.ts +21 -0
  37. package/dist/types/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +4 -81
  38. package/dist/types/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +6 -160
  39. package/dist/types/ui/TableFloatingControls/RowControls/DragControls.d.ts +8 -5
  40. package/dist/types/ui/TableFloatingControls/index.d.ts +3 -80
  41. package/dist/types-ts4.5/nodeviews/TableComponent.d.ts +3 -1
  42. package/dist/types-ts4.5/tablePluginType.d.ts +21 -18
  43. package/dist/types-ts4.5/types/index.d.ts +1 -1
  44. package/dist/types-ts4.5/ui/DragHandle/index.d.ts +21 -0
  45. package/dist/types-ts4.5/ui/TableFloatingColumnControls/ColumnControls/index.d.ts +4 -102
  46. package/dist/types-ts4.5/ui/TableFloatingControls/CornerControls/DragCornerControls.d.ts +6 -202
  47. package/dist/types-ts4.5/ui/TableFloatingControls/RowControls/DragControls.d.ts +8 -5
  48. package/dist/types-ts4.5/ui/TableFloatingControls/index.d.ts +3 -101
  49. package/package.json +8 -5
  50. package/src/nodeviews/TableComponent.tsx +9 -7
  51. package/src/nodeviews/TableComponentWithSharedState.tsx +4 -2
  52. package/src/nodeviews/table.tsx +1 -2
  53. package/src/tablePlugin.tsx +1 -0
  54. package/src/tablePluginType.ts +28 -22
  55. package/src/types/index.ts +1 -0
  56. package/src/ui/DragHandle/index.tsx +67 -2
  57. package/src/ui/TableFloatingColumnControls/ColumnControls/index.tsx +38 -19
  58. package/src/ui/TableFloatingColumnControls/index.tsx +2 -5
  59. package/src/ui/TableFloatingControls/RowControls/DragControls.tsx +86 -25
  60. package/src/ui/TableFloatingControls/index.tsx +54 -27
  61. package/src/ui/common-styles.ts +1 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @atlaskit/editor-plugin-table
2
2
 
3
+ ## 9.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#103042](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/103042)
8
+ [`a3bcf71666e0d`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a3bcf71666e0d) -
9
+ Replace platform_editor_table_use_shared_state_hook with FG and fix remaining selection bugs
10
+ caused by lack of re-renders
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies
15
+
16
+ ## 9.1.3
17
+
18
+ ### Patch Changes
19
+
20
+ - [#102547](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/102547)
21
+ [`b76cc60ba170b`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/b76cc60ba170b) -
22
+ Internal changes to remove deprecated typography imports.
23
+
3
24
  ## 9.1.2
4
25
 
5
26
  ### Patch Changes
@@ -0,0 +1,99 @@
1
+ {
2
+ "extends": "../../../../tsconfig.entry-points.post-office.json",
3
+ "compilerOptions": {
4
+ "declaration": true,
5
+ "target": "es5",
6
+ "outDir": "../../../../../post-office/tsDist/@atlaskit__editor-plugin-table/app",
7
+ "rootDir": "../",
8
+ "composite": true
9
+ },
10
+ "include": [
11
+ "../src/**/*.ts",
12
+ "../src/**/*.tsx"
13
+ ],
14
+ "exclude": [
15
+ "../src/**/__tests__/*",
16
+ "../src/**/*.test.*",
17
+ "../src/**/test.*"
18
+ ],
19
+ "references": [
20
+ {
21
+ "path": "../../../design-system/button/afm-post-office/tsconfig.json"
22
+ },
23
+ {
24
+ "path": "../../custom-steps/afm-post-office/tsconfig.json"
25
+ },
26
+ {
27
+ "path": "../../editor-common/afm-post-office/tsconfig.json"
28
+ },
29
+ {
30
+ "path": "../../editor-palette/afm-post-office/tsconfig.json"
31
+ },
32
+ {
33
+ "path": "../../editor-plugin-accessibility-utils/afm-post-office/tsconfig.json"
34
+ },
35
+ {
36
+ "path": "../../editor-plugin-analytics/afm-post-office/tsconfig.json"
37
+ },
38
+ {
39
+ "path": "../../editor-plugin-batch-attribute-updates/afm-post-office/tsconfig.json"
40
+ },
41
+ {
42
+ "path": "../../editor-plugin-content-insertion/afm-post-office/tsconfig.json"
43
+ },
44
+ {
45
+ "path": "../../editor-plugin-editor-viewmode/afm-post-office/tsconfig.json"
46
+ },
47
+ {
48
+ "path": "../../editor-plugin-guideline/afm-post-office/tsconfig.json"
49
+ },
50
+ {
51
+ "path": "../../editor-plugin-selection/afm-post-office/tsconfig.json"
52
+ },
53
+ {
54
+ "path": "../../editor-plugin-width/afm-post-office/tsconfig.json"
55
+ },
56
+ {
57
+ "path": "../../editor-shared-styles/afm-post-office/tsconfig.json"
58
+ },
59
+ {
60
+ "path": "../../editor-tables/afm-post-office/tsconfig.json"
61
+ },
62
+ {
63
+ "path": "../../../design-system/icon/afm-post-office/tsconfig.json"
64
+ },
65
+ {
66
+ "path": "../../../design-system/menu/afm-post-office/tsconfig.json"
67
+ },
68
+ {
69
+ "path": "../../../platform/feature-flags/afm-post-office/tsconfig.json"
70
+ },
71
+ {
72
+ "path": "../../../pragmatic-drag-and-drop/core/afm-post-office/tsconfig.json"
73
+ },
74
+ {
75
+ "path": "../../../pragmatic-drag-and-drop/auto-scroll/afm-post-office/tsconfig.json"
76
+ },
77
+ {
78
+ "path": "../../../pragmatic-drag-and-drop/hitbox/afm-post-office/tsconfig.json"
79
+ },
80
+ {
81
+ "path": "../../../design-system/primitives/afm-post-office/tsconfig.json"
82
+ },
83
+ {
84
+ "path": "../../../design-system/theme/afm-post-office/tsconfig.json"
85
+ },
86
+ {
87
+ "path": "../../tmp-editor-statsig/afm-post-office/tsconfig.json"
88
+ },
89
+ {
90
+ "path": "../../../design-system/toggle/afm-post-office/tsconfig.json"
91
+ },
92
+ {
93
+ "path": "../../../design-system/tokens/afm-post-office/tsconfig.json"
94
+ },
95
+ {
96
+ "path": "../../../design-system/tooltip/afm-post-office/tsconfig.json"
97
+ }
98
+ ]
99
+ }
@@ -26,7 +26,6 @@ var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
26
26
  var _utils2 = require("@atlaskit/editor-tables/utils");
27
27
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
28
28
  var _combine = require("@atlaskit/pragmatic-drag-and-drop/combine");
29
- var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
30
29
  var _commands = require("../pm-plugins/commands");
31
30
  var _autoscrollers = require("../pm-plugins/drag-and-drop/utils/autoscrollers");
32
31
  var _pluginFactory = require("../pm-plugins/plugin-factory");
@@ -699,7 +698,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
699
698
  getEditorFeatureFlags = _this$props11.getEditorFeatureFlags;
700
699
  var isInDanger = this.props.isInDanger;
701
700
  var table = (0, _utils2.findTable)(view.state.selection);
702
- if ((0, _experiments.editorExperiment)('platform_editor_table_use_shared_state_hook', false)) {
701
+ if (!(0, _platformFeatureFlags.fg)('platform_editor_table_use_shared_state_hook_fg')) {
703
702
  var pluginState = (0, _pluginFactory.getPluginState)(view.state);
704
703
  isInDanger = pluginState.isInDanger;
705
704
  }
@@ -835,7 +834,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
835
834
  getEditorFeatureFlags = _this$props12.getEditorFeatureFlags,
836
835
  isTableScalingEnabled = _this$props12.isTableScalingEnabled,
837
836
  allowTableResizing = _this$props12.allowTableResizing,
838
- allowTableAlignment = _this$props12.allowTableAlignment;
837
+ allowTableAlignment = _this$props12.allowTableAlignment,
838
+ selection = _this$props12.selection;
839
839
  var _this$props13 = this.props,
840
840
  isInDanger = _this$props13.isInDanger,
841
841
  hoveredRows = _this$props13.hoveredRows,
@@ -846,7 +846,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
846
846
  showBeforeShadow = _this$state3.showBeforeShadow,
847
847
  showAfterShadow = _this$state3.showAfterShadow;
848
848
  var node = getNode();
849
- if ((0, _experiments.editorExperiment)('platform_editor_table_use_shared_state_hook', false)) {
849
+ if (!(0, _platformFeatureFlags.fg)('platform_editor_table_use_shared_state_hook_fg')) {
850
850
  var pluginState = (0, _pluginFactory.getPluginState)(view.state);
851
851
  isInDanger = pluginState.isInDanger;
852
852
  hoveredRows = pluginState.hoveredRows;
@@ -940,7 +940,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
940
940
  return /*#__PURE__*/_react.default.createElement(_TableContainer.TableContainer
941
941
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
942
942
  , {
943
- className: (0, _classnames2.default)(_types.TableCssClassName.TABLE_CONTAINER, (0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)({}, _types.TableCssClassName.WITH_CONTROLS, allowControls && tableActive), _types.TableCssClassName.TABLE_STICKY, this.state.stickyHeader && hasHeaderRow), _types.TableCssClassName.HOVERED_DELETE_BUTTON, isInDanger), _types.TableCssClassName.TABLE_SELECTED, (0, _utils2.isTableSelected)(view.state.selection))),
943
+ className: (0, _classnames2.default)(_types.TableCssClassName.TABLE_CONTAINER, (0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)({}, _types.TableCssClassName.WITH_CONTROLS, allowControls && tableActive), _types.TableCssClassName.TABLE_STICKY, this.state.stickyHeader && hasHeaderRow), _types.TableCssClassName.HOVERED_DELETE_BUTTON, isInDanger), _types.TableCssClassName.TABLE_SELECTED, (0, _utils2.isTableSelected)(selection !== null && selection !== void 0 ? selection : view.state.selection))),
944
944
  editorView: view,
945
945
  getPos: getPos,
946
946
  node: node
@@ -29,10 +29,11 @@ var TableComponentWithSharedState = exports.TableComponentWithSharedState = func
29
29
  forwardRef = _ref.forwardRef,
30
30
  allowTableAlignment = _ref.allowTableAlignment,
31
31
  allowTableResizing = _ref.allowTableResizing;
32
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['width', 'table', 'media']),
32
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['width', 'table', 'media', 'selection']),
33
33
  widthState = _useSharedPluginState.widthState,
34
34
  tableState = _useSharedPluginState.tableState,
35
- mediaState = _useSharedPluginState.mediaState;
35
+ mediaState = _useSharedPluginState.mediaState,
36
+ selectionState = _useSharedPluginState.selectionState;
36
37
  if (!tableState) {
37
38
  return null;
38
39
  }
@@ -69,7 +70,7 @@ var TableComponentWithSharedState = exports.TableComponentWithSharedState = func
69
70
  getPos: getPos,
70
71
  isMediaFullscreen: mediaState === null || mediaState === void 0 ? void 0 : mediaState.isFullscreen,
71
72
  options: options,
72
- allowControls: !!allowControls,
73
+ allowControls: allowControls,
73
74
  isHeaderRowEnabled: isHeaderRowEnabled,
74
75
  isHeaderColumnEnabled: isHeaderColumnEnabled,
75
76
  isDragAndDropEnabled: options === null || options === void 0 ? void 0 : options.isDragAndDropEnabled,
@@ -92,6 +93,7 @@ var TableComponentWithSharedState = exports.TableComponentWithSharedState = func
92
93
  hoveredRows: hoveredRows,
93
94
  hoveredCell: hoveredCell,
94
95
  isTableHovered: isTableHovered,
95
- isWholeTableInDanger: isWholeTableInDanger
96
+ isWholeTableInDanger: isWholeTableInDanger,
97
+ selection: selectionState === null || selectionState === void 0 ? void 0 : selectionState.selection
96
98
  });
97
99
  };
@@ -22,7 +22,6 @@ var _model = require("@atlaskit/editor-prosemirror/model");
22
22
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
23
23
  var _tableMap = require("@atlaskit/editor-tables/table-map");
24
24
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
25
- var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
26
25
  var _createPluginConfig = require("../pm-plugins/create-plugin-config");
27
26
  var _pluginKey = require("../pm-plugins/drag-and-drop/plugin-key");
28
27
  var _pluginFactory = require("../pm-plugins/plugin-factory");
@@ -141,7 +140,7 @@ var TableView = exports.default = /*#__PURE__*/function (_ReactNodeView) {
141
140
  key: "render",
142
141
  value: function render(props, forwardRef) {
143
142
  var _this3 = this;
144
- if ((0, _experiments.editorExperiment)('platform_editor_table_use_shared_state_hook', true)) {
143
+ if ((0, _platformFeatureFlags.fg)('platform_editor_table_use_shared_state_hook_fg')) {
145
144
  return /*#__PURE__*/_react.default.createElement(_TableComponentWithSharedState.TableComponentWithSharedState, {
146
145
  forwardRef: forwardRef,
147
146
  getNode: this.getNode,
@@ -108,6 +108,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
108
108
  isTableResizing: tableWidthResizingPluginState === null || tableWidthResizingPluginState === void 0 ? void 0 : tableWidthResizingPluginState.resizing,
109
109
  isInDanger: tablePluginState.isInDanger,
110
110
  hoveredRows: tablePluginState.hoveredRows,
111
+ hoveredColumns: tablePluginState.hoveredColumns,
111
112
  hoveredCell: tablePluginState.hoveredCell,
112
113
  isTableHovered: tablePluginState.isTableHovered,
113
114
  isWholeTableInDanger: tablePluginState.isWholeTableInDanger,
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.DragHandle = void 0;
8
+ exports.DragHandleWithSharedState = exports.DragHandle = void 0;
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _react = _interopRequireWildcard(require("react"));
@@ -13,6 +13,7 @@ var _classnames2 = _interopRequireDefault(require("classnames"));
13
13
  var _reactDom = _interopRequireDefault(require("react-dom"));
14
14
  var _reactIntlNext = require("react-intl-next");
15
15
  var _browser = require("@atlaskit/editor-common/browser");
16
+ var _hooks = require("@atlaskit/editor-common/hooks");
16
17
  var _messages = require("@atlaskit/editor-common/messages");
17
18
  var _state = require("@atlaskit/editor-prosemirror/state");
18
19
  var _editorTables = require("@atlaskit/editor-tables");
@@ -27,6 +28,8 @@ var _DragPreview = require("../DragPreview");
27
28
  var _HandleIconComponent = require("./HandleIconComponent");
28
29
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
29
30
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
31
+ /* eslint-disable @atlaskit/design-system/no-html-button */
32
+
30
33
  var DragHandleComponent = function DragHandleComponent(_ref) {
31
34
  var isDragMenuTarget = _ref.isDragMenuTarget,
32
35
  tableLocalId = _ref.tableLocalId,
@@ -45,7 +48,9 @@ var DragHandleComponent = function DragHandleComponent(_ref) {
45
48
  hoveredCell = _ref.hoveredCell,
46
49
  onClick = _ref.onClick,
47
50
  editorView = _ref.editorView,
48
- formatMessage = _ref.intl.formatMessage;
51
+ formatMessage = _ref.intl.formatMessage,
52
+ hoveredColumns = _ref.hoveredColumns,
53
+ hoveredRows = _ref.hoveredRows;
49
54
  var dragHandleDivRef = (0, _react.useRef)(null);
50
55
  var _useState = (0, _react.useState)(null),
51
56
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -53,9 +58,13 @@ var DragHandleComponent = function DragHandleComponent(_ref) {
53
58
  setPreviewContainer = _useState2[1];
54
59
  var state = editorView.state,
55
60
  selection = editorView.state.selection;
56
- var _getPluginState = (0, _pluginFactory2.getPluginState)(state),
57
- hoveredColumns = _getPluginState.hoveredColumns,
58
- hoveredRows = _getPluginState.hoveredRows;
61
+ if (hoveredColumns === undefined || hoveredRows === undefined) {
62
+ var _getPluginState = (0, _pluginFactory2.getPluginState)(state),
63
+ hoveredColumnsState = _getPluginState.hoveredColumns,
64
+ hoveredRowsState = _getPluginState.hoveredRows;
65
+ hoveredColumns = hoveredColumnsState;
66
+ hoveredRows = hoveredRowsState;
67
+ }
59
68
  var _getDnDPluginState = (0, _pluginFactory.getPluginState)(state),
60
69
  _getDnDPluginState$is = _getDnDPluginState.isDragMenuOpen,
61
70
  isDragMenuOpen = _getDnDPluginState$is === void 0 ? false : _getDnDPluginState$is;
@@ -244,4 +253,44 @@ var DragHandleComponent = function DragHandleComponent(_ref) {
244
253
  height: previewHeight
245
254
  }), previewContainer));
246
255
  };
247
- var DragHandle = exports.DragHandle = (0, _reactIntlNext.injectIntl)(DragHandleComponent);
256
+ var DragHandleComponentWithSharedState = function DragHandleComponentWithSharedState(_ref5) {
257
+ var isDragMenuTarget = _ref5.isDragMenuTarget,
258
+ tableLocalId = _ref5.tableLocalId,
259
+ direction = _ref5.direction,
260
+ appearance = _ref5.appearance,
261
+ indexes = _ref5.indexes,
262
+ forceDefaultHandle = _ref5.forceDefaultHandle,
263
+ previewHeight = _ref5.previewHeight,
264
+ previewWidth = _ref5.previewWidth,
265
+ onMouseOver = _ref5.onMouseOver,
266
+ onMouseOut = _ref5.onMouseOut,
267
+ toggleDragMenu = _ref5.toggleDragMenu,
268
+ hoveredCell = _ref5.hoveredCell,
269
+ onClick = _ref5.onClick,
270
+ editorView = _ref5.editorView,
271
+ intl = _ref5.intl,
272
+ api = _ref5.api;
273
+ var _ref6 = (0, _hooks.useSharedPluginState)(api, ['table']),
274
+ tableState = _ref6.tableState;
275
+ return /*#__PURE__*/_react.default.createElement(DragHandleComponent, {
276
+ isDragMenuTarget: isDragMenuTarget,
277
+ tableLocalId: tableLocalId,
278
+ direction: direction,
279
+ appearance: appearance,
280
+ indexes: indexes,
281
+ forceDefaultHandle: forceDefaultHandle,
282
+ previewWidth: previewWidth,
283
+ previewHeight: previewHeight,
284
+ onMouseOver: onMouseOver,
285
+ onMouseOut: onMouseOut,
286
+ toggleDragMenu: toggleDragMenu,
287
+ hoveredCell: hoveredCell,
288
+ onClick: onClick,
289
+ editorView: editorView,
290
+ intl: intl,
291
+ hoveredColumns: tableState === null || tableState === void 0 ? void 0 : tableState.hoveredColumns,
292
+ hoveredRows: tableState === null || tableState === void 0 ? void 0 : tableState.hoveredRows
293
+ });
294
+ };
295
+ var DragHandle = exports.DragHandle = (0, _reactIntlNext.injectIntl)(DragHandleComponent);
296
+ var DragHandleWithSharedState = exports.DragHandleWithSharedState = (0, _reactIntlNext.injectIntl)(DragHandleComponentWithSharedState);
@@ -43,7 +43,6 @@ var ColumnControls = exports.ColumnControls = function ColumnControls(_ref) {
43
43
  isInDanger = _ref.isInDanger,
44
44
  rowHeights = _ref.rowHeights,
45
45
  colWidths = _ref.colWidths,
46
- hasHeaderColumn = _ref.hasHeaderColumn,
47
46
  isTableHovered = _ref.isTableHovered,
48
47
  tableContainerWidth = _ref.tableContainerWidth,
49
48
  isNumberColumnEnabled = _ref.isNumberColumnEnabled,
@@ -176,7 +175,23 @@ var ColumnControls = exports.ColumnControls = function ColumnControls(_ref) {
176
175
  position: 'relative'
177
176
  },
178
177
  "data-testid": "table-floating-column-".concat(isHover ? colIndex : isPlaceholder ? appearance : selectedColIndexes[0], "-drag-handle")
179
- }, /*#__PURE__*/_react.default.createElement(_DragHandle.DragHandle, {
178
+ }, (0, _platformFeatureFlags.fg)('platform_editor_table_use_shared_state_hook_fg') ? /*#__PURE__*/_react.default.createElement(_DragHandle.DragHandleWithSharedState, {
179
+ isDragMenuTarget: !isHover,
180
+ direction: "column",
181
+ tableLocalId: localId || '',
182
+ indexes: indexes,
183
+ hoveredCell: hoveredCell,
184
+ previewWidth: previewWidth,
185
+ forceDefaultHandle: !isHover,
186
+ previewHeight: previewHeight,
187
+ appearance: appearance,
188
+ onClick: handleClick,
189
+ onMouseOver: handleMouseOver,
190
+ onMouseOut: handleMouseOut,
191
+ toggleDragMenu: toggleDragMenuHandler,
192
+ editorView: editorView,
193
+ api: api
194
+ }) : /*#__PURE__*/_react.default.createElement(_DragHandle.DragHandle, {
180
195
  isDragMenuTarget: !isHover,
181
196
  direction: "column",
182
197
  tableLocalId: localId || '',
@@ -10,7 +10,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
12
  var _adapter = require("@atlaskit/pragmatic-drag-and-drop/element/adapter");
13
- var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
14
13
  var _columnControls = require("../../pm-plugins/utils/column-controls");
15
14
  var _nodes = require("../../pm-plugins/utils/nodes");
16
15
  var _rowControls = require("../../pm-plugins/utils/row-controls");
@@ -109,7 +108,7 @@ var TableFloatingColumnControls = function TableFloatingColumnControls(_ref) {
109
108
  isNumberColumnEnabled: isNumberColumnEnabled,
110
109
  isDragging: isDragging,
111
110
  getScrollOffset: getScrollOffset,
112
- api: (0, _experiments.editorExperiment)('platform_editor_table_use_shared_state_hook', true) ? api : undefined
111
+ api: (0, _platformFeatureFlags.fg)('platform_editor_table_use_shared_state_hook_fg') ? api : undefined
113
112
  }), isDragging && /*#__PURE__*/_react.default.createElement(_ColumnDropTargets.ColumnDropTargets, {
114
113
  tableRef: tableRef,
115
114
  isHeaderSticky: (stickyHeader === null || stickyHeader === void 0 ? void 0 : stickyHeader.sticky) && hasHeaderRow,
@@ -5,12 +5,13 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.DragControls = void 0;
8
+ exports.DragControlsWithSelection = exports.DragControls = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _reactIntlNext = require("react-intl-next");
11
+ var _hooks = require("@atlaskit/editor-common/hooks");
12
12
  var _editorTables = require("@atlaskit/editor-tables");
13
13
  var _utils = require("@atlaskit/editor-tables/utils");
14
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
15
  var _adapter = require("@atlaskit/pragmatic-drag-and-drop/element/adapter");
15
16
  var _commands = require("../../../pm-plugins/commands");
16
17
  var _commands2 = require("../../../pm-plugins/drag-and-drop/commands");
@@ -35,7 +36,7 @@ var getSelectedRows = function getSelectedRows(selection) {
35
36
  }
36
37
  return [];
37
38
  };
38
- var DragControlsComponent = function DragControlsComponent(_ref) {
39
+ var DragControls = exports.DragControls = function DragControls(_ref) {
39
40
  var _tableNode$attrs$loca, _tableNode$attrs;
40
41
  var tableRef = _ref.tableRef,
41
42
  tableNode = _ref.tableNode,
@@ -49,7 +50,9 @@ var DragControlsComponent = function DragControlsComponent(_ref) {
49
50
  hoverRows = _ref.hoverRows,
50
51
  selectRow = _ref.selectRow,
51
52
  selectRows = _ref.selectRows,
52
- updateCellHoverLocation = _ref.updateCellHoverLocation;
53
+ updateCellHoverLocation = _ref.updateCellHoverLocation,
54
+ api = _ref.api,
55
+ selection = _ref.selection;
53
56
  var _useState = (0, _react.useState)(false),
54
57
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
55
58
  isDragging = _useState2[0],
@@ -59,7 +62,7 @@ var DragControlsComponent = function DragControlsComponent(_ref) {
59
62
  var heights = rowHeights.map(function (height) {
60
63
  return "".concat(height - 1, "px");
61
64
  }).join(' ');
62
- var selectedRowIndexes = getSelectedRows(editorView.state.selection);
65
+ var selectedRowIndexes = getSelectedRows(selection !== null && selection !== void 0 ? selection : editorView.state.selection);
63
66
  var currentNodeLocalId = (_tableNode$attrs$loca = tableNode === null || tableNode === void 0 || (_tableNode$attrs = tableNode.attrs) === null || _tableNode$attrs === void 0 ? void 0 : _tableNode$attrs.localId) !== null && _tableNode$attrs$loca !== void 0 ? _tableNode$attrs$loca : '';
64
67
  (0, _react.useEffect)(function () {
65
68
  return (0, _adapter.monitorForElements)({
@@ -167,7 +170,23 @@ var DragControlsComponent = function DragControlsComponent(_ref) {
167
170
  pointerEvents: 'none'
168
171
  },
169
172
  "data-testid": "table-floating-row-".concat(isHover ? rowIndex : selectedRowIndexes[0], "-drag-handle")
170
- }, /*#__PURE__*/_react.default.createElement(_DragHandle.DragHandle, {
173
+ }, (0, _platformFeatureFlags.fg)('platform_editor_table_use_shared_state_hook_fg') ? /*#__PURE__*/_react.default.createElement(_DragHandle.DragHandleWithSharedState, {
174
+ isDragMenuTarget: !isHover,
175
+ direction: "row",
176
+ tableLocalId: currentNodeLocalId,
177
+ indexes: indexes,
178
+ forceDefaultHandle: !isHover,
179
+ previewWidth: tableWidth,
180
+ previewHeight: previewHeight,
181
+ appearance: appearance,
182
+ hoveredCell: hoveredCell,
183
+ onClick: handleClick,
184
+ onMouseOver: handleMouseOver,
185
+ onMouseOut: handleMouseOut,
186
+ toggleDragMenu: toggleDragMenuHandler,
187
+ editorView: editorView,
188
+ api: api
189
+ }) : /*#__PURE__*/_react.default.createElement(_DragHandle.DragHandle, {
171
190
  isDragMenuTarget: !isHover,
172
191
  direction: "row",
173
192
  tableLocalId: currentNodeLocalId,
@@ -271,4 +290,38 @@ var DragControlsComponent = function DragControlsComponent(_ref) {
271
290
  }), rowHandles())
272
291
  );
273
292
  };
274
- var DragControls = exports.DragControls = (0, _reactIntlNext.injectIntl)(DragControlsComponent);
293
+ var DragControlsWithSelection = exports.DragControlsWithSelection = function DragControlsWithSelection(_ref5) {
294
+ var editorView = _ref5.editorView,
295
+ tableRef = _ref5.tableRef,
296
+ tableNode = _ref5.tableNode,
297
+ tableWidth = _ref5.tableWidth,
298
+ tableActive = _ref5.tableActive,
299
+ hoveredCell = _ref5.hoveredCell,
300
+ isInDanger = _ref5.isInDanger,
301
+ isTableHovered = _ref5.isTableHovered,
302
+ isResizing = _ref5.isResizing,
303
+ hoverRows = _ref5.hoverRows,
304
+ selectRow = _ref5.selectRow,
305
+ selectRows = _ref5.selectRows,
306
+ updateCellHoverLocation = _ref5.updateCellHoverLocation,
307
+ api = _ref5.api;
308
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['selection']),
309
+ selectionState = _useSharedPluginState.selectionState;
310
+ return /*#__PURE__*/_react.default.createElement(DragControls, {
311
+ editorView: editorView,
312
+ tableRef: tableRef,
313
+ tableNode: tableNode,
314
+ tableWidth: tableWidth,
315
+ tableActive: tableActive,
316
+ hoveredCell: hoveredCell,
317
+ isInDanger: isInDanger,
318
+ isTableHovered: isTableHovered,
319
+ isResizing: isResizing,
320
+ hoverRows: hoverRows,
321
+ selectRow: selectRow,
322
+ selectRows: selectRows,
323
+ updateCellHoverLocation: updateCellHoverLocation,
324
+ api: api,
325
+ selection: selectionState === null || selectionState === void 0 ? void 0 : selectionState.selection
326
+ });
327
+ };
@@ -10,6 +10,7 @@ var _react = _interopRequireWildcard(require("react"));
10
10
  var _browser = require("@atlaskit/editor-common/browser");
11
11
  var _hooks = require("@atlaskit/editor-common/hooks");
12
12
  var _utils = require("@atlaskit/editor-tables/utils");
13
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
13
14
  var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
14
15
  var _commands = require("../../pm-plugins/commands");
15
16
  var _nodes = require("../../pm-plugins/utils/nodes");
@@ -22,6 +23,7 @@ var _ClassicControls = require("./RowControls/ClassicControls");
22
23
  var _DragControls = require("./RowControls/DragControls");
23
24
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
25
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
26
+ // Row controls
25
27
  var TableFloatingControls = exports.TableFloatingControls = function TableFloatingControls(_ref) {
26
28
  var _findTable;
27
29
  var editorView = _ref.editorView,
@@ -116,18 +118,36 @@ var TableFloatingControls = exports.TableFloatingControls = function TableFloati
116
118
  updateCellHoverLocation: updateCellHoverLocation,
117
119
  stickyTop: stickyTop,
118
120
  isDragAndDropEnabled: isDragAndDropEnabled
119
- }) : null, tableActive && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isDragAndDropEnabled ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, shouldShowCornerControls && ((0, _experiments.editorExperiment)('platform_editor_table_use_shared_state_hook', true) ? /*#__PURE__*/_react.default.createElement(_DragCornerControls.DragCornerControlsWithSelection, {
121
+ }) : null, tableActive && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isDragAndDropEnabled ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _platformFeatureFlags.fg)('platform_editor_table_use_shared_state_hook_fg') ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, shouldShowCornerControls && /*#__PURE__*/_react.default.createElement(_DragCornerControls.DragCornerControlsWithSelection, {
120
122
  editorView: editorView,
121
123
  tableRef: tableRef,
122
124
  isInDanger: isInDanger,
123
125
  isResizing: isResizing,
124
126
  api: api
125
- }) : /*#__PURE__*/_react.default.createElement(_DragCornerControls.DragCornerControls, {
127
+ }), /*#__PURE__*/_react.default.createElement(_DragControls.DragControlsWithSelection, {
128
+ tableRef: tableRef,
129
+ tableNode: tableNode,
130
+ hoveredCell: hoveredCell,
131
+ isTableHovered: isTableHovered,
132
+ editorView: editorView,
133
+ tableActive: tableActive,
134
+ isInDanger: isInDanger,
135
+ isResizing: isResizing
136
+ // Ignored via go/ees005
137
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
138
+ ,
139
+ tableWidth: tableWrapperWidth,
140
+ hoverRows: _hoverRows,
141
+ selectRow: _selectRow,
142
+ selectRows: _selectRows,
143
+ updateCellHoverLocation: updateCellHoverLocation,
144
+ api: api
145
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, shouldShowCornerControls && /*#__PURE__*/_react.default.createElement(_DragCornerControls.DragCornerControls, {
126
146
  editorView: editorView,
127
147
  tableRef: tableRef,
128
148
  isInDanger: isInDanger,
129
149
  isResizing: isResizing
130
- })), /*#__PURE__*/_react.default.createElement(_DragControls.DragControls, {
150
+ }), /*#__PURE__*/_react.default.createElement(_DragControls.DragControls, {
131
151
  tableRef: tableRef,
132
152
  tableNode: tableNode,
133
153
  hoveredCell: hoveredCell,
@@ -144,7 +164,7 @@ var TableFloatingControls = exports.TableFloatingControls = function TableFloati
144
164
  selectRow: _selectRow,
145
165
  selectRows: _selectRows,
146
166
  updateCellHoverLocation: updateCellHoverLocation
147
- })) : (0, _experiments.editorExperiment)('platform_editor_table_use_shared_state_hook', true) ? /*#__PURE__*/_react.default.createElement(_FloatingControlsWithSelection.FloatingControlsWithSelection, {
167
+ }))) : (0, _platformFeatureFlags.fg)('platform_editor_table_use_shared_state_hook_fg') ? /*#__PURE__*/_react.default.createElement(_FloatingControlsWithSelection.FloatingControlsWithSelection, {
148
168
  editorView: editorView,
149
169
  tableRef: tableRef,
150
170
  isInDanger: isInDanger,