@atlaskit/editor-plugin-table 22.4.12 → 22.4.14

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 (78) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/nodeviews/TableComponent.js +21 -19
  3. package/dist/cjs/tablePlugin.js +3 -0
  4. package/dist/cjs/ui/TableMenu/column/getColumnMenuComponents.js +46 -11
  5. package/dist/cjs/ui/TableMenu/column/items/AddColumnLeftItem.js +34 -1
  6. package/dist/cjs/ui/TableMenu/column/items/AddColumnRightItem.js +34 -1
  7. package/dist/cjs/ui/TableMenu/column/items/ColumnBackgroundSection.js +15 -2
  8. package/dist/cjs/ui/TableMenu/column/items/ColumnToggleSection.js +15 -2
  9. package/dist/cjs/ui/TableMenu/column/items/DeleteColumnItem.js +60 -3
  10. package/dist/cjs/ui/TableMenu/column/items/DistributeColumnsItem.js +43 -5
  11. package/dist/cjs/ui/TableMenu/column/items/HeaderColumnToggleItem.js +36 -5
  12. package/dist/cjs/ui/TableMenu/column/items/MoveColumnLeftItem.js +69 -0
  13. package/dist/cjs/ui/TableMenu/column/items/MoveColumnRightItem.js +42 -3
  14. package/dist/cjs/ui/TableMenu/column/items/SortDecreasingItem.js +22 -1
  15. package/dist/cjs/ui/TableMenu/column/items/SortIncreasingItem.js +22 -1
  16. package/dist/cjs/ui/TableMenu/column/keys.js +6 -2
  17. package/dist/cjs/ui/TableMenu/shared/getTableMenuComponents.js +1 -1
  18. package/dist/es2019/nodeviews/TableComponent.js +22 -20
  19. package/dist/es2019/tablePlugin.js +3 -0
  20. package/dist/es2019/ui/TableMenu/column/getColumnMenuComponents.js +46 -12
  21. package/dist/es2019/ui/TableMenu/column/items/AddColumnLeftItem.js +37 -1
  22. package/dist/es2019/ui/TableMenu/column/items/AddColumnRightItem.js +37 -1
  23. package/dist/es2019/ui/TableMenu/column/items/ColumnBackgroundSection.js +15 -1
  24. package/dist/es2019/ui/TableMenu/column/items/ColumnToggleSection.js +15 -1
  25. package/dist/es2019/ui/TableMenu/column/items/DeleteColumnItem.js +63 -3
  26. package/dist/es2019/ui/TableMenu/column/items/DistributeColumnsItem.js +43 -7
  27. package/dist/es2019/ui/TableMenu/column/items/HeaderColumnToggleItem.js +40 -5
  28. package/dist/es2019/ui/TableMenu/column/items/MoveColumnLeftItem.js +65 -0
  29. package/dist/es2019/ui/TableMenu/column/items/MoveColumnRightItem.js +44 -3
  30. package/dist/es2019/ui/TableMenu/column/items/SortDecreasingItem.js +24 -1
  31. package/dist/es2019/ui/TableMenu/column/items/SortIncreasingItem.js +24 -1
  32. package/dist/es2019/ui/TableMenu/column/keys.js +7 -2
  33. package/dist/es2019/ui/TableMenu/shared/getTableMenuComponents.js +1 -1
  34. package/dist/esm/nodeviews/TableComponent.js +22 -20
  35. package/dist/esm/tablePlugin.js +3 -0
  36. package/dist/esm/ui/TableMenu/column/getColumnMenuComponents.js +47 -12
  37. package/dist/esm/ui/TableMenu/column/items/AddColumnLeftItem.js +34 -1
  38. package/dist/esm/ui/TableMenu/column/items/AddColumnRightItem.js +34 -1
  39. package/dist/esm/ui/TableMenu/column/items/ColumnBackgroundSection.js +15 -2
  40. package/dist/esm/ui/TableMenu/column/items/ColumnToggleSection.js +15 -2
  41. package/dist/esm/ui/TableMenu/column/items/DeleteColumnItem.js +60 -3
  42. package/dist/esm/ui/TableMenu/column/items/DistributeColumnsItem.js +43 -6
  43. package/dist/esm/ui/TableMenu/column/items/HeaderColumnToggleItem.js +36 -6
  44. package/dist/esm/ui/TableMenu/column/items/MoveColumnLeftItem.js +62 -0
  45. package/dist/esm/ui/TableMenu/column/items/MoveColumnRightItem.js +42 -3
  46. package/dist/esm/ui/TableMenu/column/items/SortDecreasingItem.js +22 -1
  47. package/dist/esm/ui/TableMenu/column/items/SortIncreasingItem.js +22 -1
  48. package/dist/esm/ui/TableMenu/column/keys.js +5 -1
  49. package/dist/esm/ui/TableMenu/shared/getTableMenuComponents.js +1 -1
  50. package/dist/types/types/index.d.ts +2 -1
  51. package/dist/types/ui/TableMenu/column/getColumnMenuComponents.d.ts +2 -1
  52. package/dist/types/ui/TableMenu/column/items/AddColumnLeftItem.d.ts +2 -1
  53. package/dist/types/ui/TableMenu/column/items/AddColumnRightItem.d.ts +2 -1
  54. package/dist/types/ui/TableMenu/column/items/ColumnBackgroundSection.d.ts +2 -1
  55. package/dist/types/ui/TableMenu/column/items/ColumnToggleSection.d.ts +2 -1
  56. package/dist/types/ui/TableMenu/column/items/DeleteColumnItem.d.ts +2 -1
  57. package/dist/types/ui/TableMenu/column/items/DistributeColumnsItem.d.ts +2 -1
  58. package/dist/types/ui/TableMenu/column/items/HeaderColumnToggleItem.d.ts +7 -3
  59. package/dist/types/ui/TableMenu/column/items/MoveColumnLeftItem.d.ts +3 -0
  60. package/dist/types/ui/TableMenu/column/items/MoveColumnRightItem.d.ts +2 -1
  61. package/dist/types/ui/TableMenu/column/items/SortDecreasingItem.d.ts +2 -1
  62. package/dist/types/ui/TableMenu/column/items/SortIncreasingItem.d.ts +2 -1
  63. package/dist/types/ui/TableMenu/column/keys.d.ts +1 -0
  64. package/dist/types-ts4.5/types/index.d.ts +2 -1
  65. package/dist/types-ts4.5/ui/TableMenu/column/getColumnMenuComponents.d.ts +2 -1
  66. package/dist/types-ts4.5/ui/TableMenu/column/items/AddColumnLeftItem.d.ts +2 -1
  67. package/dist/types-ts4.5/ui/TableMenu/column/items/AddColumnRightItem.d.ts +2 -1
  68. package/dist/types-ts4.5/ui/TableMenu/column/items/ColumnBackgroundSection.d.ts +2 -1
  69. package/dist/types-ts4.5/ui/TableMenu/column/items/ColumnToggleSection.d.ts +2 -1
  70. package/dist/types-ts4.5/ui/TableMenu/column/items/DeleteColumnItem.d.ts +2 -1
  71. package/dist/types-ts4.5/ui/TableMenu/column/items/DistributeColumnsItem.d.ts +2 -1
  72. package/dist/types-ts4.5/ui/TableMenu/column/items/HeaderColumnToggleItem.d.ts +7 -3
  73. package/dist/types-ts4.5/ui/TableMenu/column/items/MoveColumnLeftItem.d.ts +3 -0
  74. package/dist/types-ts4.5/ui/TableMenu/column/items/MoveColumnRightItem.d.ts +2 -1
  75. package/dist/types-ts4.5/ui/TableMenu/column/items/SortDecreasingItem.d.ts +2 -1
  76. package/dist/types-ts4.5/ui/TableMenu/column/items/SortIncreasingItem.d.ts +2 -1
  77. package/dist/types-ts4.5/ui/TableMenu/column/keys.d.ts +1 -0
  78. package/package.json +5 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/editor-plugin-table
2
2
 
3
+ ## 22.4.14
4
+
5
+ ### Patch Changes
6
+
7
+ - [`1c77cce42b15b`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/1c77cce42b15b) -
8
+ Updated sync blocks to support ssr streaming
9
+ - Updated dependencies
10
+
11
+ ## 22.4.13
12
+
13
+ ### Patch Changes
14
+
15
+ - [`3e9a48e106cc7`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/3e9a48e106cc7) -
16
+ Wire up column menu actions in the updated table menu
17
+ - Updated dependencies
18
+
3
19
  ## 22.4.12
4
20
 
5
21
  ### Patch Changes
@@ -21,6 +21,7 @@ var _collab = require("@atlaskit/editor-common/collab");
21
21
  var _nesting = require("@atlaskit/editor-common/nesting");
22
22
  var _nodeVisibility = require("@atlaskit/editor-common/node-visibility");
23
23
  var _nodeWidth = require("@atlaskit/editor-common/node-width");
24
+ var _reactNodeView = require("@atlaskit/editor-common/react-node-view");
24
25
  var _table = require("@atlaskit/editor-common/table");
25
26
  var _utils = require("@atlaskit/editor-common/utils");
26
27
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
@@ -92,6 +93,21 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
92
93
  _this.props.view.dispatch(tr);
93
94
  });
94
95
  (0, _defineProperty2.default)(_this, "lastSetTableRef", null);
96
+ (0, _defineProperty2.default)(_this, "setWrapperRef", function (elem) {
97
+ _this.wrapper = elem;
98
+ if (!elem) {
99
+ return;
100
+ }
101
+ _this.props.contentDOM(elem);
102
+ var tableElement = elem.querySelector('table');
103
+ if (tableElement !== _this.table) {
104
+ _this.table = tableElement;
105
+ _this.observeTable(_this.table);
106
+ if (_this.table && (!(0, _expValEquals.expValEquals)('platform_editor_table_ref_optimisation', 'isEnabled', true) || _this.props.tableActive) && _this.props.view && !(0, _expValEquals.expValEquals)('platform_editor_fix_editor_unhandled_type_errors', 'isEnabled', true) && ((0, _expValEquals.expValEquals)('platform_editor_table_update_table_ref', 'isEnabled', true) || (0, _platformFeatureFlags.fg)('platform_editor_enable_table_update_ref_atlas'))) {
107
+ (0, _commands.setTableRef)(_this.table)(_this.props.view.state, _this.props.view.dispatch);
108
+ }
109
+ }
110
+ });
95
111
  (0, _defineProperty2.default)(_this, "onStickyState", function (state) {
96
112
  var pos = _this.props.getPos();
97
113
  if (!(0, _utils.isValidPosition)(pos, _this.props.view.state)) {
@@ -956,26 +972,12 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
956
972
  var _this5$wrapper3;
957
973
  return ((_this5$wrapper3 = _this5.wrapper) === null || _this5$wrapper3 === void 0 ? void 0 : _this5$wrapper3.clientWidth) || 760;
958
974
  }
959
- }), /*#__PURE__*/_react.default.createElement("div", {
960
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
975
+ }), /*#__PURE__*/_react.default.createElement(_reactNodeView.NodeViewContentHole
976
+ // eslint-disable-next-line @atlaskit/design-system/no-unsafe-style-overrides -- existing table wrapper class required for legacy styling hooks
977
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
978
+ , {
961
979
  className: (0, _classnames2.default)(_types.TableCssClassName.TABLE_NODE_WRAPPER),
962
- ref: function ref(elem) {
963
- _this5.wrapper = elem;
964
- if (elem) {
965
- _this5.props.contentDOM(elem);
966
- var tableElement = elem.querySelector('table');
967
- if (tableElement !== _this5.table) {
968
- _this5.table = tableElement;
969
- _this5.observeTable(_this5.table);
970
-
971
- // // Update tableRef in plugin state when table is properly mounted
972
- // // At this point, both table and wrapper are in DOM with correct parent-child relationship
973
- if (_this5.table && (!(0, _expValEquals.expValEquals)('platform_editor_table_ref_optimisation', 'isEnabled', true) || _this5.props.tableActive) && _this5.props.view && !(0, _expValEquals.expValEquals)('platform_editor_fix_editor_unhandled_type_errors', 'isEnabled', true) && ((0, _expValEquals.expValEquals)('platform_editor_table_update_table_ref', 'isEnabled', true) || (0, _platformFeatureFlags.fg)('platform_editor_enable_table_update_ref_atlas'))) {
974
- (0, _commands.setTableRef)(_this5.table)(_this5.props.view.state, _this5.props.view.dispatch);
975
- }
976
- }
977
- }
978
- }
980
+ ref: this.setWrapperRef
979
981
  }, allowControls && colControls), !this.isNestedInTable ? /*#__PURE__*/_react.default.createElement("div", {
980
982
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
981
983
  className: _types.TableCssClassName.TABLE_STICKY_SCROLLBAR_CONTAINER,
@@ -125,6 +125,9 @@ var tablePlugin = function tablePlugin(_ref) {
125
125
  isHeaderRowEnabled: tablePluginState.isHeaderRowEnabled,
126
126
  isHeaderColumnEnabled: tablePluginState.isHeaderColumnEnabled,
127
127
  isNumberColumnEnabled: tablePluginState.isNumberColumnEnabled,
128
+ isCommentEditor: tablePluginState.isCommentEditor,
129
+ isTableScalingEnabled: tablePluginState.isTableScalingEnabled,
130
+ isTableFixedColumnWidthsOptionEnabled: isTableFixedColumnWidthsOptionEnabled,
128
131
  ordering: tablePluginState.ordering,
129
132
  isResizing: !!(tableResizingPluginState !== null && tableResizingPluginState !== void 0 && tableResizingPluginState.dragging || tableWidthResizingPluginState !== null && tableWidthResizingPluginState !== void 0 && tableWidthResizingPluginState.resizing),
130
133
  isTableResizing: tableWidthResizingPluginState === null || tableWidthResizingPluginState === void 0 ? void 0 : tableWidthResizingPluginState.resizing,
@@ -14,11 +14,13 @@ var _ColumnToggleSection = require("./items/ColumnToggleSection");
14
14
  var _DeleteColumnItem = require("./items/DeleteColumnItem");
15
15
  var _DistributeColumnsItem = require("./items/DistributeColumnsItem");
16
16
  var _HeaderColumnToggleItem = require("./items/HeaderColumnToggleItem");
17
+ var _MoveColumnLeftItem = require("./items/MoveColumnLeftItem");
17
18
  var _MoveColumnRightItem = require("./items/MoveColumnRightItem");
18
19
  var _SortDecreasingItem = require("./items/SortDecreasingItem");
19
20
  var _SortIncreasingItem = require("./items/SortIncreasingItem");
20
21
  var _keys = require("./keys");
21
- var getColumnMenuComponents = exports.getColumnMenuComponents = function getColumnMenuComponents() {
22
+ var getColumnMenuComponents = exports.getColumnMenuComponents = function getColumnMenuComponents(_ref) {
23
+ var api = _ref.api;
22
24
  return [
23
25
  // --- Menu surface ---
24
26
  {
@@ -35,7 +37,9 @@ var getColumnMenuComponents = exports.getColumnMenuComponents = function getColu
35
37
  rank: _keys.COLUMN_SECTION_RANK[_keys.COLUMN_TOGGLE_SECTION.key]
36
38
  }],
37
39
  component: function component(props) {
38
- return /*#__PURE__*/_react.default.createElement(_ColumnToggleSection.ColumnToggleSection, null, props.children);
40
+ return /*#__PURE__*/_react.default.createElement(_ColumnToggleSection.ColumnToggleSection, {
41
+ api: api
42
+ }, props.children);
39
43
  }
40
44
  }, {
41
45
  type: _keys.HEADER_COLUMN_TOGGLE_ITEM.type,
@@ -46,7 +50,9 @@ var getColumnMenuComponents = exports.getColumnMenuComponents = function getColu
46
50
  rank: _keys.COLUMN_TOGGLE_SECTION_RANK[_keys.HEADER_COLUMN_TOGGLE_ITEM.key]
47
51
  }],
48
52
  component: function component() {
49
- return /*#__PURE__*/_react.default.createElement(_HeaderColumnToggleItem.HeaderColumnToggleItem, null);
53
+ return /*#__PURE__*/_react.default.createElement(_HeaderColumnToggleItem.HeaderColumnToggleItem, {
54
+ api: api
55
+ });
50
56
  }
51
57
  },
52
58
  // --- Background color section ---
@@ -59,7 +65,9 @@ var getColumnMenuComponents = exports.getColumnMenuComponents = function getColu
59
65
  rank: _keys.COLUMN_SECTION_RANK[_keys.COLUMN_BACKGROUND_SECTION.key]
60
66
  }],
61
67
  component: function component(props) {
62
- return /*#__PURE__*/_react.default.createElement(_ColumnBackgroundSection.ColumnBackgroundSection, null, props.children);
68
+ return /*#__PURE__*/_react.default.createElement(_ColumnBackgroundSection.ColumnBackgroundSection, {
69
+ api: api
70
+ }, props.children);
63
71
  }
64
72
  },
65
73
  // --- Sort section ---
@@ -85,7 +93,9 @@ var getColumnMenuComponents = exports.getColumnMenuComponents = function getColu
85
93
  rank: _keys.COLUMN_SORT_SECTION_RANK[_keys.SORT_INCREASING_ITEM.key]
86
94
  }],
87
95
  component: function component() {
88
- return /*#__PURE__*/_react.default.createElement(_SortIncreasingItem.SortIncreasingItem, null);
96
+ return /*#__PURE__*/_react.default.createElement(_SortIncreasingItem.SortIncreasingItem, {
97
+ api: api
98
+ });
89
99
  }
90
100
  }, {
91
101
  type: _keys.SORT_DECREASING_ITEM.type,
@@ -96,7 +106,9 @@ var getColumnMenuComponents = exports.getColumnMenuComponents = function getColu
96
106
  rank: _keys.COLUMN_SORT_SECTION_RANK[_keys.SORT_DECREASING_ITEM.key]
97
107
  }],
98
108
  component: function component() {
99
- return /*#__PURE__*/_react.default.createElement(_SortDecreasingItem.SortDecreasingItem, null);
109
+ return /*#__PURE__*/_react.default.createElement(_SortDecreasingItem.SortDecreasingItem, {
110
+ api: api
111
+ });
100
112
  }
101
113
  },
102
114
  // --- Add / Move section ---
@@ -122,7 +134,9 @@ var getColumnMenuComponents = exports.getColumnMenuComponents = function getColu
122
134
  rank: _keys.COLUMN_ADD_SECTION_RANK[_keys.ADD_COLUMN_LEFT_ITEM.key]
123
135
  }],
124
136
  component: function component() {
125
- return /*#__PURE__*/_react.default.createElement(_AddColumnLeftItem.AddColumnLeftItem, null);
137
+ return /*#__PURE__*/_react.default.createElement(_AddColumnLeftItem.AddColumnLeftItem, {
138
+ api: api
139
+ });
126
140
  }
127
141
  }, {
128
142
  type: _keys.ADD_COLUMN_RIGHT_ITEM.type,
@@ -133,7 +147,22 @@ var getColumnMenuComponents = exports.getColumnMenuComponents = function getColu
133
147
  rank: _keys.COLUMN_ADD_SECTION_RANK[_keys.ADD_COLUMN_RIGHT_ITEM.key]
134
148
  }],
135
149
  component: function component() {
136
- return /*#__PURE__*/_react.default.createElement(_AddColumnRightItem.AddColumnRightItem, null);
150
+ return /*#__PURE__*/_react.default.createElement(_AddColumnRightItem.AddColumnRightItem, {
151
+ api: api
152
+ });
153
+ }
154
+ }, {
155
+ type: _keys.MOVE_COLUMN_LEFT_ITEM.type,
156
+ key: _keys.MOVE_COLUMN_LEFT_ITEM.key,
157
+ parents: [{
158
+ type: _keys.COLUMN_ADD_SECTION.type,
159
+ key: _keys.COLUMN_ADD_SECTION.key,
160
+ rank: _keys.COLUMN_ADD_SECTION_RANK[_keys.MOVE_COLUMN_LEFT_ITEM.key]
161
+ }],
162
+ component: function component() {
163
+ return /*#__PURE__*/_react.default.createElement(_MoveColumnLeftItem.MoveColumnLeftItem, {
164
+ api: api
165
+ });
137
166
  }
138
167
  }, {
139
168
  type: _keys.MOVE_COLUMN_RIGHT_ITEM.type,
@@ -144,7 +173,9 @@ var getColumnMenuComponents = exports.getColumnMenuComponents = function getColu
144
173
  rank: _keys.COLUMN_ADD_SECTION_RANK[_keys.MOVE_COLUMN_RIGHT_ITEM.key]
145
174
  }],
146
175
  component: function component() {
147
- return /*#__PURE__*/_react.default.createElement(_MoveColumnRightItem.MoveColumnRightItem, null);
176
+ return /*#__PURE__*/_react.default.createElement(_MoveColumnRightItem.MoveColumnRightItem, {
177
+ api: api
178
+ });
148
179
  }
149
180
  }, {
150
181
  type: _keys.DISTRIBUTE_COLUMNS_ITEM.type,
@@ -155,7 +186,9 @@ var getColumnMenuComponents = exports.getColumnMenuComponents = function getColu
155
186
  rank: _keys.COLUMN_ADD_SECTION_RANK[_keys.DISTRIBUTE_COLUMNS_ITEM.key]
156
187
  }],
157
188
  component: function component() {
158
- return /*#__PURE__*/_react.default.createElement(_DistributeColumnsItem.DistributeColumnsItem, null);
189
+ return /*#__PURE__*/_react.default.createElement(_DistributeColumnsItem.DistributeColumnsItem, {
190
+ api: api
191
+ });
159
192
  }
160
193
  },
161
194
  // --- Danger section (Clear cells, Delete column) ---
@@ -181,7 +214,9 @@ var getColumnMenuComponents = exports.getColumnMenuComponents = function getColu
181
214
  rank: _keys.COLUMN_DANGER_SECTION_RANK[_keys.DELETE_COLUMN_ITEM.key]
182
215
  }],
183
216
  component: function component() {
184
- return /*#__PURE__*/_react.default.createElement(_DeleteColumnItem.DeleteColumnItem, null);
217
+ return /*#__PURE__*/_react.default.createElement(_DeleteColumnItem.DeleteColumnItem, {
218
+ api: api
219
+ });
185
220
  }
186
221
  }];
187
222
  };
@@ -7,14 +7,47 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.AddColumnLeftItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
11
+ var _hooks = require("@atlaskit/editor-common/hooks");
10
12
  var _keymaps = require("@atlaskit/editor-common/keymaps");
11
13
  var _messages = require("@atlaskit/editor-common/messages");
14
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
15
+ var _utils = require("@atlaskit/editor-tables/utils");
12
16
  var _editorToolbar = require("@atlaskit/editor-toolbar");
13
- var AddColumnLeftItem = exports.AddColumnLeftItem = function AddColumnLeftItem() {
17
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
18
+ var AddColumnLeftItem = exports.AddColumnLeftItem = function AddColumnLeftItem(_ref) {
14
19
  var _tooltip;
20
+ var api = _ref.api;
21
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
22
+ editorView = _useEditorToolbar.editorView;
15
23
  var _useIntl = (0, _reactIntl.useIntl)(),
16
24
  formatMessage = _useIntl.formatMessage;
25
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
26
+ var tableState = states.tableState;
27
+ return {
28
+ isCommentEditor: tableState === null || tableState === void 0 ? void 0 : tableState.isCommentEditor,
29
+ isTableFixedColumnWidthsOptionEnabled: tableState === null || tableState === void 0 ? void 0 : tableState.isTableFixedColumnWidthsOptionEnabled,
30
+ isTableScalingEnabled: tableState === null || tableState === void 0 ? void 0 : tableState.isTableScalingEnabled
31
+ };
32
+ }),
33
+ isCommentEditor = _useSharedPluginState.isCommentEditor,
34
+ isTableFixedColumnWidthsOptionEnabled = _useSharedPluginState.isTableFixedColumnWidthsOptionEnabled,
35
+ isTableScalingEnabled = _useSharedPluginState.isTableScalingEnabled;
36
+ var handleClick = function handleClick() {
37
+ var _api$analytics;
38
+ if (!editorView) {
39
+ return;
40
+ }
41
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
42
+ var index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.left;
43
+ if (index === undefined) {
44
+ return;
45
+ }
46
+ var shouldUseIncreasedScalingPercent = isTableScalingEnabled && (isTableFixedColumnWidthsOptionEnabled || isCommentEditor);
47
+ (0, _commandsWithAnalytics.insertColumnWithAnalytics)(api, api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent, isCommentEditor)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, index)(editorView.state, editorView.dispatch, editorView);
48
+ };
17
49
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
50
+ onClick: handleClick,
18
51
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.TableColumnAddLeftIcon, {
19
52
  color: "currentColor",
20
53
  label: "",
@@ -7,14 +7,47 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.AddColumnRightItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
11
+ var _hooks = require("@atlaskit/editor-common/hooks");
10
12
  var _keymaps = require("@atlaskit/editor-common/keymaps");
11
13
  var _messages = require("@atlaskit/editor-common/messages");
14
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
15
+ var _utils = require("@atlaskit/editor-tables/utils");
12
16
  var _editorToolbar = require("@atlaskit/editor-toolbar");
13
- var AddColumnRightItem = exports.AddColumnRightItem = function AddColumnRightItem() {
17
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
18
+ var AddColumnRightItem = exports.AddColumnRightItem = function AddColumnRightItem(_ref) {
14
19
  var _tooltip;
20
+ var api = _ref.api;
21
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
22
+ editorView = _useEditorToolbar.editorView;
15
23
  var _useIntl = (0, _reactIntl.useIntl)(),
16
24
  formatMessage = _useIntl.formatMessage;
25
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
26
+ var tableState = states.tableState;
27
+ return {
28
+ isCommentEditor: tableState === null || tableState === void 0 ? void 0 : tableState.isCommentEditor,
29
+ isTableFixedColumnWidthsOptionEnabled: tableState === null || tableState === void 0 ? void 0 : tableState.isTableFixedColumnWidthsOptionEnabled,
30
+ isTableScalingEnabled: tableState === null || tableState === void 0 ? void 0 : tableState.isTableScalingEnabled
31
+ };
32
+ }),
33
+ isCommentEditor = _useSharedPluginState.isCommentEditor,
34
+ isTableFixedColumnWidthsOptionEnabled = _useSharedPluginState.isTableFixedColumnWidthsOptionEnabled,
35
+ isTableScalingEnabled = _useSharedPluginState.isTableScalingEnabled;
36
+ var handleClick = function handleClick() {
37
+ var _api$analytics;
38
+ if (!editorView) {
39
+ return;
40
+ }
41
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
42
+ var index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.right;
43
+ if (index === undefined) {
44
+ return;
45
+ }
46
+ var shouldUseIncreasedScalingPercent = isTableScalingEnabled && (isTableFixedColumnWidthsOptionEnabled || isCommentEditor);
47
+ (0, _commandsWithAnalytics.insertColumnWithAnalytics)(api, api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent, isCommentEditor)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, index)(editorView.state, editorView.dispatch, editorView);
48
+ };
17
49
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
50
+ onClick: handleClick,
18
51
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.TableColumnAddRightIcon, {
19
52
  color: "currentColor",
20
53
  label: "",
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.ColumnBackgroundSection = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _hooks = require("@atlaskit/editor-common/hooks");
9
10
  var _editorToolbar = require("@atlaskit/editor-toolbar");
10
11
  var _TableMenuContext = require("../../shared/TableMenuContext");
11
12
  var _HeaderColumnToggleItem = require("./HeaderColumnToggleItem");
@@ -16,9 +17,21 @@ var _HeaderColumnToggleItem = require("./HeaderColumnToggleItem");
16
17
  * the very top of the menu.
17
18
  */
18
19
  var ColumnBackgroundSection = exports.ColumnBackgroundSection = function ColumnBackgroundSection(_ref) {
19
- var children = _ref.children;
20
+ var api = _ref.api,
21
+ children = _ref.children;
20
22
  var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
21
- var hasSeparator = (0, _HeaderColumnToggleItem.shouldShowHeaderColumnToggle)(tableMenuContext);
23
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
24
+ var _states$tableState;
25
+ return {
26
+ isHeaderColumnAllowed: (_states$tableState = states.tableState) === null || _states$tableState === void 0 || (_states$tableState = _states$tableState.pluginConfig) === null || _states$tableState === void 0 ? void 0 : _states$tableState.allowHeaderColumn
27
+ };
28
+ }),
29
+ isHeaderColumnAllowed = _useSharedPluginState.isHeaderColumnAllowed;
30
+ var hasSeparator = (0, _HeaderColumnToggleItem.shouldShowHeaderColumnToggle)({
31
+ isFirstColumn: tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstColumn,
32
+ isHeaderColumnAllowed: isHeaderColumnAllowed,
33
+ selectedColumnCount: tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedColumnCount
34
+ });
22
35
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItemSection, {
23
36
  hasSeparator: hasSeparator
24
37
  }, children);
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.ColumnToggleSection = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _hooks = require("@atlaskit/editor-common/hooks");
9
10
  var _editorToolbar = require("@atlaskit/editor-toolbar");
10
11
  var _TableMenuContext = require("../../shared/TableMenuContext");
11
12
  var _HeaderColumnToggleItem = require("./HeaderColumnToggleItem");
@@ -15,9 +16,21 @@ var _HeaderColumnToggleItem = require("./HeaderColumnToggleItem");
15
16
  * empty wrapper (and so the section below can drop its leading separator).
16
17
  */
17
18
  var ColumnToggleSection = exports.ColumnToggleSection = function ColumnToggleSection(_ref) {
18
- var children = _ref.children;
19
+ var api = _ref.api,
20
+ children = _ref.children;
19
21
  var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
20
- if (!(0, _HeaderColumnToggleItem.shouldShowHeaderColumnToggle)(tableMenuContext)) {
22
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
23
+ var _states$tableState;
24
+ return {
25
+ isHeaderColumnAllowed: (_states$tableState = states.tableState) === null || _states$tableState === void 0 || (_states$tableState = _states$tableState.pluginConfig) === null || _states$tableState === void 0 ? void 0 : _states$tableState.allowHeaderColumn
26
+ };
27
+ }),
28
+ isHeaderColumnAllowed = _useSharedPluginState.isHeaderColumnAllowed;
29
+ if (!(0, _HeaderColumnToggleItem.shouldShowHeaderColumnToggle)({
30
+ isFirstColumn: tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstColumn,
31
+ isHeaderColumnAllowed: isHeaderColumnAllowed,
32
+ selectedColumnCount: tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedColumnCount
33
+ })) {
21
34
  return null;
22
35
  }
23
36
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItemSection, null, children);
@@ -7,14 +7,71 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.DeleteColumnItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
11
+ var _hooks = require("@atlaskit/editor-common/hooks");
10
12
  var _keymaps = require("@atlaskit/editor-common/keymaps");
11
13
  var _messages = require("@atlaskit/editor-common/messages");
14
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
15
+ var _utils = require("@atlaskit/editor-tables/utils");
12
16
  var _editorToolbar = require("@atlaskit/editor-toolbar");
13
- var DeleteColumnItem = exports.DeleteColumnItem = function DeleteColumnItem() {
14
- var _tooltip;
17
+ var _commands = require("../../../../pm-plugins/commands");
18
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
19
+ var _selection = require("../../../../pm-plugins/utils/selection");
20
+ var _TableMenuContext = require("../../shared/TableMenuContext");
21
+ var DeleteColumnItem = exports.DeleteColumnItem = function DeleteColumnItem(_ref) {
22
+ var _tableMenuContext$sel, _tooltip;
23
+ var api = _ref.api;
24
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
25
+ editorView = _useEditorToolbar.editorView;
26
+ var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
27
+ var selectedColumnCount = (_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedColumnCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 1;
15
28
  var _useIntl = (0, _reactIntl.useIntl)(),
16
29
  formatMessage = _useIntl.formatMessage;
30
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
31
+ var tableState = states.tableState;
32
+ return {
33
+ isCommentEditor: tableState === null || tableState === void 0 ? void 0 : tableState.isCommentEditor,
34
+ isTableFixedColumnWidthsOptionEnabled: tableState === null || tableState === void 0 ? void 0 : tableState.isTableFixedColumnWidthsOptionEnabled,
35
+ isTableScalingEnabled: tableState === null || tableState === void 0 ? void 0 : tableState.isTableScalingEnabled
36
+ };
37
+ }),
38
+ isCommentEditor = _useSharedPluginState.isCommentEditor,
39
+ isTableFixedColumnWidthsOptionEnabled = _useSharedPluginState.isTableFixedColumnWidthsOptionEnabled,
40
+ isTableScalingEnabled = _useSharedPluginState.isTableScalingEnabled;
41
+ var handleMouseEnter = function handleMouseEnter() {
42
+ if (!editorView) {
43
+ return;
44
+ }
45
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
46
+ if (!selectionRect) {
47
+ return;
48
+ }
49
+ (0, _commands.hoverColumns)((0, _selection.getSelectedColumnIndexes)(selectionRect), true)(editorView.state, editorView.dispatch);
50
+ };
51
+ var handleMouseLeave = function handleMouseLeave() {
52
+ if (!editorView) {
53
+ return;
54
+ }
55
+ (0, _commands.clearHoverSelection)()(editorView.state, editorView.dispatch);
56
+ };
57
+ var handleClick = function handleClick() {
58
+ var _api$analytics;
59
+ if (!editorView) {
60
+ return;
61
+ }
62
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
63
+ if (!selectionRect) {
64
+ return;
65
+ }
66
+ var shouldUseIncreasedScalingPercent = isTableScalingEnabled && (isTableFixedColumnWidthsOptionEnabled || isCommentEditor);
67
+ (0, _commandsWithAnalytics.deleteColumnsWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, shouldUseIncreasedScalingPercent, isCommentEditor)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect)(editorView.state, editorView.dispatch, editorView);
68
+ };
17
69
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
70
+ onClick: handleClick,
71
+ onFocus: handleMouseEnter,
72
+ onMouseEnter: handleMouseEnter,
73
+ onBlur: handleMouseLeave,
74
+ onMouseLeave: handleMouseLeave,
18
75
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.DeleteIcon, {
19
76
  color: "currentColor",
20
77
  label: "",
@@ -24,6 +81,6 @@ var DeleteColumnItem = exports.DeleteColumnItem = function DeleteColumnItem() {
24
81
  shortcut: (_tooltip = (0, _keymaps.tooltip)(_keymaps.deleteColumn)) !== null && _tooltip !== void 0 ? _tooltip : ''
25
82
  })
26
83
  }, formatMessage(_messages.tableMessages.removeColumns, {
27
- 0: 1
84
+ 0: selectedColumnCount
28
85
  }));
29
86
  };
@@ -7,22 +7,60 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.DistributeColumnsItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
11
+ var _hooks = require("@atlaskit/editor-common/hooks");
10
12
  var _messages = require("@atlaskit/editor-common/messages");
13
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
14
+ var _utils = require("@atlaskit/editor-tables/utils");
11
15
  var _editorToolbar = require("@atlaskit/editor-toolbar");
16
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
17
+ var _resizeState = require("../../../../pm-plugins/table-resizing/utils/resize-state");
12
18
  var _TableMenuContext = require("../../shared/TableMenuContext");
13
19
  /** Distribute columns is only visible when more than one column is selected. */
14
- var shouldShowDistributeColumns = function shouldShowDistributeColumns(tableMenuContext) {
15
- var _tableMenuContext$sel;
16
- return ((_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedColumnCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 0) > 1;
20
+ var shouldShowDistributeColumns = function shouldShowDistributeColumns(selectedColumnCount) {
21
+ return (selectedColumnCount !== null && selectedColumnCount !== void 0 ? selectedColumnCount : 0) > 1;
17
22
  };
18
- var DistributeColumnsItem = exports.DistributeColumnsItem = function DistributeColumnsItem() {
23
+ var DistributeColumnsItem = exports.DistributeColumnsItem = function DistributeColumnsItem(_ref) {
24
+ var api = _ref.api;
25
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
26
+ editorView = _useEditorToolbar.editorView;
19
27
  var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
20
28
  var _useIntl = (0, _reactIntl.useIntl)(),
21
29
  formatMessage = _useIntl.formatMessage;
22
- if (!shouldShowDistributeColumns(tableMenuContext)) {
30
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
31
+ var tableState = states.tableState;
32
+ return {
33
+ isCommentEditor: tableState === null || tableState === void 0 ? void 0 : tableState.isCommentEditor,
34
+ isTableFixedColumnWidthsOptionEnabled: tableState === null || tableState === void 0 ? void 0 : tableState.isTableFixedColumnWidthsOptionEnabled,
35
+ isTableScalingEnabled: tableState === null || tableState === void 0 ? void 0 : tableState.isTableScalingEnabled
36
+ };
37
+ }),
38
+ isCommentEditor = _useSharedPluginState.isCommentEditor,
39
+ isTableFixedColumnWidthsOptionEnabled = _useSharedPluginState.isTableFixedColumnWidthsOptionEnabled,
40
+ isTableScalingEnabled = _useSharedPluginState.isTableScalingEnabled;
41
+ var handleClick = function handleClick() {
42
+ var _api$width, _api$analytics;
43
+ if (!editorView) {
44
+ return;
45
+ }
46
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
47
+ var editorContainerWidth = api === null || api === void 0 || (_api$width = api.width) === null || _api$width === void 0 ? void 0 : _api$width.sharedState.currentState();
48
+ if (!selectionRect || !editorContainerWidth) {
49
+ return;
50
+ }
51
+ var newResizeState = (0, _resizeState.getNewResizeStateFromSelectedColumns)(selectionRect, editorView.state, editorView.domAtPos.bind(editorView), function () {
52
+ return editorContainerWidth;
53
+ }, isTableScalingEnabled, isTableFixedColumnWidthsOptionEnabled, isCommentEditor);
54
+ if (!newResizeState) {
55
+ return;
56
+ }
57
+ (0, _commandsWithAnalytics.distributeColumnsWidthsWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, newResizeState)(editorView.state, editorView.dispatch);
58
+ };
59
+ if (!shouldShowDistributeColumns(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedColumnCount)) {
23
60
  return null;
24
61
  }
25
62
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
63
+ onClick: handleClick,
26
64
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.TableColumnsDistributeIcon, {
27
65
  color: "currentColor",
28
66
  label: "",
@@ -7,9 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.shouldShowHeaderColumnToggle = exports.HeaderColumnToggleItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _hooks = require("@atlaskit/editor-common/hooks");
10
11
  var _messages = require("@atlaskit/editor-common/messages");
12
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
11
13
  var _editorToolbar = require("@atlaskit/editor-toolbar");
12
14
  var _toggle = _interopRequireDefault(require("@atlaskit/toggle"));
15
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
13
16
  var _TableMenuContext = require("../../shared/TableMenuContext");
14
17
  /**
15
18
  * Header column toggle is only visible when the first column is the entire
@@ -19,21 +22,49 @@ var _TableMenuContext = require("../../shared/TableMenuContext");
19
22
  * `ColumnBackgroundSection` (which drops its leading separator alongside)
20
23
  * can stay in lockstep with this rule without redefining it.
21
24
  */
22
- var shouldShowHeaderColumnToggle = exports.shouldShowHeaderColumnToggle = function shouldShowHeaderColumnToggle(tableMenuContext) {
23
- return (tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstColumn) === true && tableMenuContext.selectedColumnCount === 1;
25
+ var shouldShowHeaderColumnToggle = exports.shouldShowHeaderColumnToggle = function shouldShowHeaderColumnToggle(_ref) {
26
+ var isFirstColumn = _ref.isFirstColumn,
27
+ isHeaderColumnAllowed = _ref.isHeaderColumnAllowed,
28
+ selectedColumnCount = _ref.selectedColumnCount;
29
+ return isHeaderColumnAllowed === true && isFirstColumn === true && selectedColumnCount === 1;
24
30
  };
25
- var HeaderColumnToggleItem = exports.HeaderColumnToggleItem = function HeaderColumnToggleItem() {
31
+ var HeaderColumnToggleItem = exports.HeaderColumnToggleItem = function HeaderColumnToggleItem(props) {
32
+ var api = props.api;
33
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
34
+ editorView = _useEditorToolbar.editorView;
26
35
  var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
36
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
37
+ var _states$tableState, _states$tableState2;
38
+ return {
39
+ isHeaderColumnAllowed: (_states$tableState = states.tableState) === null || _states$tableState === void 0 || (_states$tableState = _states$tableState.pluginConfig) === null || _states$tableState === void 0 ? void 0 : _states$tableState.allowHeaderColumn,
40
+ isHeaderColumnEnabled: (_states$tableState2 = states.tableState) === null || _states$tableState2 === void 0 ? void 0 : _states$tableState2.isHeaderColumnEnabled
41
+ };
42
+ }),
43
+ isHeaderColumnAllowed = _useSharedPluginState.isHeaderColumnAllowed,
44
+ isHeaderColumnEnabled = _useSharedPluginState.isHeaderColumnEnabled;
27
45
  var _useIntl = (0, _reactIntl.useIntl)(),
28
46
  formatMessage = _useIntl.formatMessage;
29
47
  var label = formatMessage(_messages.tableMessages.headerColumn);
30
- if (!shouldShowHeaderColumnToggle(tableMenuContext)) {
48
+ var handleClick = function handleClick() {
49
+ var _api$analytics;
50
+ if (!editorView) {
51
+ return;
52
+ }
53
+ (0, _commandsWithAnalytics.toggleHeaderColumnWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(editorView.state, editorView.dispatch);
54
+ };
55
+ if (!shouldShowHeaderColumnToggle({
56
+ isFirstColumn: tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstColumn,
57
+ isHeaderColumnAllowed: isHeaderColumnAllowed,
58
+ selectedColumnCount: tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedColumnCount
59
+ })) {
31
60
  return null;
32
61
  }
33
62
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
63
+ onClick: handleClick,
34
64
  elemAfter: /*#__PURE__*/_react.default.createElement(_toggle.default, {
35
65
  label: label,
36
- isChecked: false
66
+ isChecked: !!isHeaderColumnEnabled,
67
+ onChange: handleClick
37
68
  })
38
69
  }, label);
39
70
  };