@atlaskit/editor-plugin-table 22.4.11 → 22.4.12

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 (72) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/tablePlugin.js +4 -1
  3. package/dist/cjs/ui/TableMenu/row/getRowMenuComponents.js +23 -8
  4. package/dist/cjs/ui/TableMenu/row/items/AddRowAboveItem.js +24 -1
  5. package/dist/cjs/ui/TableMenu/row/items/AddRowBelowItem.js +24 -1
  6. package/dist/cjs/ui/TableMenu/row/items/DeleteRowItem.js +55 -3
  7. package/dist/cjs/ui/TableMenu/row/items/HeaderRowToggleItem.js +38 -5
  8. package/dist/cjs/ui/TableMenu/row/items/MoveRowDownItem.js +38 -13
  9. package/dist/cjs/ui/TableMenu/row/items/MoveRowUpItem.js +38 -13
  10. package/dist/cjs/ui/TableMenu/row/items/NumberedRowsToggleItem.js +29 -2
  11. package/dist/cjs/ui/TableMenu/shared/consts.js +4 -2
  12. package/dist/cjs/ui/TableMenu/shared/getSharedItems.js +5 -2
  13. package/dist/cjs/ui/TableMenu/shared/getTableMenuComponents.js +2 -2
  14. package/dist/cjs/ui/TableMenu/shared/items/ClearCellsItem.js +23 -3
  15. package/dist/cjs/ui/TableMenu/shared/types.js +5 -0
  16. package/dist/es2019/tablePlugin.js +4 -1
  17. package/dist/es2019/ui/TableMenu/row/getRowMenuComponents.js +24 -8
  18. package/dist/es2019/ui/TableMenu/row/items/AddRowAboveItem.js +27 -1
  19. package/dist/es2019/ui/TableMenu/row/items/AddRowBelowItem.js +27 -1
  20. package/dist/es2019/ui/TableMenu/row/items/DeleteRowItem.js +59 -3
  21. package/dist/es2019/ui/TableMenu/row/items/HeaderRowToggleItem.js +42 -5
  22. package/dist/es2019/ui/TableMenu/row/items/MoveRowDownItem.js +42 -11
  23. package/dist/es2019/ui/TableMenu/row/items/MoveRowUpItem.js +42 -11
  24. package/dist/es2019/ui/TableMenu/row/items/NumberedRowsToggleItem.js +33 -2
  25. package/dist/es2019/ui/TableMenu/shared/consts.js +3 -1
  26. package/dist/es2019/ui/TableMenu/shared/getSharedItems.js +6 -2
  27. package/dist/es2019/ui/TableMenu/shared/getTableMenuComponents.js +1 -1
  28. package/dist/es2019/ui/TableMenu/shared/items/ClearCellsItem.js +26 -3
  29. package/dist/es2019/ui/TableMenu/shared/types.js +1 -0
  30. package/dist/esm/tablePlugin.js +4 -1
  31. package/dist/esm/ui/TableMenu/row/getRowMenuComponents.js +23 -8
  32. package/dist/esm/ui/TableMenu/row/items/AddRowAboveItem.js +24 -1
  33. package/dist/esm/ui/TableMenu/row/items/AddRowBelowItem.js +24 -1
  34. package/dist/esm/ui/TableMenu/row/items/DeleteRowItem.js +55 -3
  35. package/dist/esm/ui/TableMenu/row/items/HeaderRowToggleItem.js +38 -6
  36. package/dist/esm/ui/TableMenu/row/items/MoveRowDownItem.js +39 -14
  37. package/dist/esm/ui/TableMenu/row/items/MoveRowUpItem.js +39 -14
  38. package/dist/esm/ui/TableMenu/row/items/NumberedRowsToggleItem.js +29 -2
  39. package/dist/esm/ui/TableMenu/shared/consts.js +3 -1
  40. package/dist/esm/ui/TableMenu/shared/getSharedItems.js +5 -2
  41. package/dist/esm/ui/TableMenu/shared/getTableMenuComponents.js +2 -2
  42. package/dist/esm/ui/TableMenu/shared/items/ClearCellsItem.js +23 -3
  43. package/dist/esm/ui/TableMenu/shared/types.js +1 -0
  44. package/dist/types/types/index.d.ts +1 -1
  45. package/dist/types/ui/TableMenu/row/getRowMenuComponents.d.ts +2 -1
  46. package/dist/types/ui/TableMenu/row/items/AddRowAboveItem.d.ts +2 -1
  47. package/dist/types/ui/TableMenu/row/items/AddRowBelowItem.d.ts +2 -1
  48. package/dist/types/ui/TableMenu/row/items/DeleteRowItem.d.ts +2 -1
  49. package/dist/types/ui/TableMenu/row/items/HeaderRowToggleItem.d.ts +2 -1
  50. package/dist/types/ui/TableMenu/row/items/MoveRowDownItem.d.ts +2 -1
  51. package/dist/types/ui/TableMenu/row/items/MoveRowUpItem.d.ts +2 -1
  52. package/dist/types/ui/TableMenu/row/items/NumberedRowsToggleItem.d.ts +2 -1
  53. package/dist/types/ui/TableMenu/shared/consts.d.ts +2 -0
  54. package/dist/types/ui/TableMenu/shared/getSharedItems.d.ts +2 -1
  55. package/dist/types/ui/TableMenu/shared/getTableMenuComponents.d.ts +2 -1
  56. package/dist/types/ui/TableMenu/shared/items/ClearCellsItem.d.ts +2 -1
  57. package/dist/types/ui/TableMenu/shared/types.d.ts +4 -0
  58. package/dist/types-ts4.5/types/index.d.ts +1 -1
  59. package/dist/types-ts4.5/ui/TableMenu/row/getRowMenuComponents.d.ts +2 -1
  60. package/dist/types-ts4.5/ui/TableMenu/row/items/AddRowAboveItem.d.ts +2 -1
  61. package/dist/types-ts4.5/ui/TableMenu/row/items/AddRowBelowItem.d.ts +2 -1
  62. package/dist/types-ts4.5/ui/TableMenu/row/items/DeleteRowItem.d.ts +2 -1
  63. package/dist/types-ts4.5/ui/TableMenu/row/items/HeaderRowToggleItem.d.ts +2 -1
  64. package/dist/types-ts4.5/ui/TableMenu/row/items/MoveRowDownItem.d.ts +2 -1
  65. package/dist/types-ts4.5/ui/TableMenu/row/items/MoveRowUpItem.d.ts +2 -1
  66. package/dist/types-ts4.5/ui/TableMenu/row/items/NumberedRowsToggleItem.d.ts +2 -1
  67. package/dist/types-ts4.5/ui/TableMenu/shared/consts.d.ts +2 -0
  68. package/dist/types-ts4.5/ui/TableMenu/shared/getSharedItems.d.ts +2 -1
  69. package/dist/types-ts4.5/ui/TableMenu/shared/getTableMenuComponents.d.ts +2 -1
  70. package/dist/types-ts4.5/ui/TableMenu/shared/items/ClearCellsItem.d.ts +2 -1
  71. package/dist/types-ts4.5/ui/TableMenu/shared/types.d.ts +4 -0
  72. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/editor-plugin-table
2
2
 
3
+ ## 22.4.12
4
+
5
+ ### Patch Changes
6
+
7
+ - [`cae3f93f31a3f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cae3f93f31a3f) -
8
+ Wire up actions with row menu refactor, add focus, blue, mouseenter and mouseleave events to
9
+ ToolbarDropdownItem
10
+ - Updated dependencies
11
+
3
12
  ## 22.4.11
4
13
 
5
14
  ### Patch Changes
@@ -94,7 +94,9 @@ var tablePlugin = function tablePlugin(_ref) {
94
94
  !(options !== null && options !== void 0 && options.isChromelessEditor) && !(options !== null && options !== void 0 && options.isCommentEditor) && (options === null || options === void 0 || (_options$getEditorFea2 = options.getEditorFeatureFlags) === null || _options$getEditorFea2 === void 0 ? void 0 : _options$getEditorFea2.call(options).tableSelector) && (0, _experiments.editorExperiment)('platform_editor_controls', 'variant1');
95
95
  if ((0, _expValEquals.expValEquals)('platform_editor_table_menu_updates', 'isEnabled', true)) {
96
96
  var _api$uiControlRegistr;
97
- api === null || api === void 0 || (_api$uiControlRegistr = api.uiControlRegistry) === null || _api$uiControlRegistr === void 0 || _api$uiControlRegistr.actions.register((0, _getTableMenuComponents.getTableMenuComponents)());
97
+ api === null || api === void 0 || (_api$uiControlRegistr = api.uiControlRegistry) === null || _api$uiControlRegistr === void 0 || _api$uiControlRegistr.actions.register((0, _getTableMenuComponents.getTableMenuComponents)({
98
+ api: api
99
+ }));
98
100
  }
99
101
  return {
100
102
  name: 'table',
@@ -122,6 +124,7 @@ var tablePlugin = function tablePlugin(_ref) {
122
124
  wasMaxWidthModeEnabled: !!(options !== null && options !== void 0 && options.wasMaxWidthEnabled),
123
125
  isHeaderRowEnabled: tablePluginState.isHeaderRowEnabled,
124
126
  isHeaderColumnEnabled: tablePluginState.isHeaderColumnEnabled,
127
+ isNumberColumnEnabled: tablePluginState.isNumberColumnEnabled,
125
128
  ordering: tablePluginState.ordering,
126
129
  isResizing: !!(tableResizingPluginState !== null && tableResizingPluginState !== void 0 && tableResizingPluginState.dragging || tableWidthResizingPluginState !== null && tableWidthResizingPluginState !== void 0 && tableWidthResizingPluginState.resizing),
127
130
  isTableResizing: tableWidthResizingPluginState === null || tableWidthResizingPluginState === void 0 ? void 0 : tableWidthResizingPluginState.resizing,
@@ -15,7 +15,8 @@ var _MoveRowDownItem = require("./items/MoveRowDownItem");
15
15
  var _MoveRowUpItem = require("./items/MoveRowUpItem");
16
16
  var _NumberedRowsToggleItem = require("./items/NumberedRowsToggleItem");
17
17
  var _keys = require("./keys");
18
- var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuComponents() {
18
+ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuComponents(_ref) {
19
+ var api = _ref.api;
19
20
  return [
20
21
  // --- Menu surface ---
21
22
  {
@@ -43,7 +44,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
43
44
  rank: _keys.ROW_TOGGLE_SECTION_RANK[_keys.HEADER_ROW_TOGGLE_ITEM.key]
44
45
  }],
45
46
  component: function component() {
46
- return /*#__PURE__*/_react.default.createElement(_HeaderRowToggleItem.HeaderRowToggleItem, null);
47
+ return /*#__PURE__*/_react.default.createElement(_HeaderRowToggleItem.HeaderRowToggleItem, {
48
+ api: api
49
+ });
47
50
  }
48
51
  }, {
49
52
  type: _keys.NUMBERED_ROWS_TOGGLE_ITEM.type,
@@ -54,7 +57,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
54
57
  rank: _keys.ROW_TOGGLE_SECTION_RANK[_keys.NUMBERED_ROWS_TOGGLE_ITEM.key]
55
58
  }],
56
59
  component: function component() {
57
- return /*#__PURE__*/_react.default.createElement(_NumberedRowsToggleItem.NumberedRowsToggleItem, null);
60
+ return /*#__PURE__*/_react.default.createElement(_NumberedRowsToggleItem.NumberedRowsToggleItem, {
61
+ api: api
62
+ });
58
63
  }
59
64
  },
60
65
  // --- Background color section ---
@@ -95,7 +100,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
95
100
  rank: _keys.ROW_ADD_SECTION_RANK[_keys.ADD_ROW_ABOVE_ITEM.key]
96
101
  }],
97
102
  component: function component() {
98
- return /*#__PURE__*/_react.default.createElement(_AddRowAboveItem.AddRowAboveItem, null);
103
+ return /*#__PURE__*/_react.default.createElement(_AddRowAboveItem.AddRowAboveItem, {
104
+ api: api
105
+ });
99
106
  }
100
107
  }, {
101
108
  type: _keys.ADD_ROW_BELOW_ITEM.type,
@@ -106,7 +113,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
106
113
  rank: _keys.ROW_ADD_SECTION_RANK[_keys.ADD_ROW_BELOW_ITEM.key]
107
114
  }],
108
115
  component: function component() {
109
- return /*#__PURE__*/_react.default.createElement(_AddRowBelowItem.AddRowBelowItem, null);
116
+ return /*#__PURE__*/_react.default.createElement(_AddRowBelowItem.AddRowBelowItem, {
117
+ api: api
118
+ });
110
119
  }
111
120
  }, {
112
121
  type: _keys.MOVE_ROW_UP_ITEM.type,
@@ -117,7 +126,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
117
126
  rank: _keys.ROW_ADD_SECTION_RANK[_keys.MOVE_ROW_UP_ITEM.key]
118
127
  }],
119
128
  component: function component() {
120
- return /*#__PURE__*/_react.default.createElement(_MoveRowUpItem.MoveRowUpItem, null);
129
+ return /*#__PURE__*/_react.default.createElement(_MoveRowUpItem.MoveRowUpItem, {
130
+ api: api
131
+ });
121
132
  }
122
133
  }, {
123
134
  type: _keys.MOVE_ROW_DOWN_ITEM.type,
@@ -128,7 +139,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
128
139
  rank: _keys.ROW_ADD_SECTION_RANK[_keys.MOVE_ROW_DOWN_ITEM.key]
129
140
  }],
130
141
  component: function component() {
131
- return /*#__PURE__*/_react.default.createElement(_MoveRowDownItem.MoveRowDownItem, null);
142
+ return /*#__PURE__*/_react.default.createElement(_MoveRowDownItem.MoveRowDownItem, {
143
+ api: api
144
+ });
132
145
  }
133
146
  },
134
147
  // --- Danger section (Clear cells, Delete row) ---
@@ -154,7 +167,9 @@ var getRowMenuComponents = exports.getRowMenuComponents = function getRowMenuCom
154
167
  rank: _keys.ROW_DANGER_SECTION_RANK[_keys.DELETE_ROW_ITEM.key]
155
168
  }],
156
169
  component: function component() {
157
- return /*#__PURE__*/_react.default.createElement(_DeleteRowItem.DeleteRowItem, null);
170
+ return /*#__PURE__*/_react.default.createElement(_DeleteRowItem.DeleteRowItem, {
171
+ api: api
172
+ });
158
173
  }
159
174
  }];
160
175
  };
@@ -7,14 +7,37 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.AddRowAboveItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
10
11
  var _keymaps = require("@atlaskit/editor-common/keymaps");
11
12
  var _messages = require("@atlaskit/editor-common/messages");
13
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
14
+ var _utils = require("@atlaskit/editor-tables/utils");
12
15
  var _editorToolbar = require("@atlaskit/editor-toolbar");
13
- var AddRowAboveItem = exports.AddRowAboveItem = function AddRowAboveItem() {
16
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
17
+ var AddRowAboveItem = exports.AddRowAboveItem = function AddRowAboveItem(props) {
14
18
  var _tooltip;
19
+ var api = props.api;
20
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
21
+ editorView = _useEditorToolbar.editorView;
15
22
  var _useIntl = (0, _reactIntl.useIntl)(),
16
23
  formatMessage = _useIntl.formatMessage;
24
+ var handleClick = function handleClick() {
25
+ var _api$analytics;
26
+ if (!editorView) {
27
+ return;
28
+ }
29
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
30
+ var index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.top;
31
+ if (index === undefined) {
32
+ return;
33
+ }
34
+ (0, _commandsWithAnalytics.insertRowWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, {
35
+ index: index,
36
+ moveCursorToInsertedRow: true
37
+ })(editorView.state, editorView.dispatch);
38
+ };
17
39
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
40
+ onClick: handleClick,
18
41
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.TableRowAddAboveIcon, {
19
42
  color: "currentColor",
20
43
  label: "",
@@ -7,14 +7,37 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.AddRowBelowItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
10
11
  var _keymaps = require("@atlaskit/editor-common/keymaps");
11
12
  var _messages = require("@atlaskit/editor-common/messages");
13
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
14
+ var _utils = require("@atlaskit/editor-tables/utils");
12
15
  var _editorToolbar = require("@atlaskit/editor-toolbar");
13
- var AddRowBelowItem = exports.AddRowBelowItem = function AddRowBelowItem() {
16
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
17
+ var AddRowBelowItem = exports.AddRowBelowItem = function AddRowBelowItem(props) {
14
18
  var _tooltip;
19
+ var api = props.api;
20
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
21
+ editorView = _useEditorToolbar.editorView;
15
22
  var _useIntl = (0, _reactIntl.useIntl)(),
16
23
  formatMessage = _useIntl.formatMessage;
24
+ var handleClick = function handleClick() {
25
+ var _api$analytics;
26
+ if (!editorView) {
27
+ return;
28
+ }
29
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
30
+ var index = selectionRect === null || selectionRect === void 0 ? void 0 : selectionRect.bottom;
31
+ if (index === undefined) {
32
+ return;
33
+ }
34
+ (0, _commandsWithAnalytics.insertRowWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, {
35
+ index: index,
36
+ moveCursorToInsertedRow: true
37
+ })(editorView.state, editorView.dispatch);
38
+ };
17
39
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
40
+ onClick: handleClick,
18
41
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.TableRowAddBelowIcon, {
19
42
  color: "currentColor",
20
43
  label: "",
@@ -7,14 +7,66 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.DeleteRowItem = 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 DeleteRowItem = exports.DeleteRowItem = function DeleteRowItem() {
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 DeleteRowItem = exports.DeleteRowItem = function DeleteRowItem(props) {
22
+ var _tableMenuContext$sel, _tooltip;
23
+ var api = props.api;
24
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
25
+ editorView = _useEditorToolbar.editorView;
26
+ var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
27
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
28
+ var _states$tableState;
29
+ return {
30
+ isHeaderRowRequired: (_states$tableState = states.tableState) === null || _states$tableState === void 0 || (_states$tableState = _states$tableState.pluginConfig) === null || _states$tableState === void 0 ? void 0 : _states$tableState.isHeaderRowRequired
31
+ };
32
+ }),
33
+ isHeaderRowRequired = _useSharedPluginState.isHeaderRowRequired;
34
+ var selectedRowCount = (_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedRowCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 1;
15
35
  var _useIntl = (0, _reactIntl.useIntl)(),
16
36
  formatMessage = _useIntl.formatMessage;
37
+ var handleMouseEnter = function handleMouseEnter() {
38
+ if (!editorView) {
39
+ return;
40
+ }
41
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
42
+ if (!selectionRect) {
43
+ return;
44
+ }
45
+ (0, _commands.hoverRows)((0, _selection.getSelectedRowIndexes)(selectionRect), true)(editorView.state, editorView.dispatch);
46
+ };
47
+ var handleMouseLeave = function handleMouseLeave() {
48
+ if (!editorView) {
49
+ return;
50
+ }
51
+ (0, _commands.clearHoverSelection)()(editorView.state, editorView.dispatch);
52
+ };
53
+ var handleClick = function handleClick() {
54
+ var _api$analytics;
55
+ if (!editorView) {
56
+ return;
57
+ }
58
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
59
+ if (!selectionRect) {
60
+ return;
61
+ }
62
+ (0, _commandsWithAnalytics.deleteRowsWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, selectionRect, !!isHeaderRowRequired)(editorView.state, editorView.dispatch);
63
+ };
17
64
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
65
+ onClick: handleClick,
66
+ onFocus: handleMouseEnter,
67
+ onMouseEnter: handleMouseEnter,
68
+ onBlur: handleMouseLeave,
69
+ onMouseLeave: handleMouseLeave,
18
70
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.DeleteIcon, {
19
71
  color: "currentColor",
20
72
  label: "",
@@ -24,6 +76,6 @@ var DeleteRowItem = exports.DeleteRowItem = function DeleteRowItem() {
24
76
  shortcut: (_tooltip = (0, _keymaps.tooltip)(_keymaps.deleteRow)) !== null && _tooltip !== void 0 ? _tooltip : ''
25
77
  })
26
78
  }, formatMessage(_messages.tableMessages.removeRows, {
27
- 0: 1
79
+ 0: selectedRowCount
28
80
  }));
29
81
  };
@@ -7,26 +7,59 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.HeaderRowToggleItem = 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
  /** Header row toggle is only visible when the first row is the entire selection. */
15
- var shouldShowHeaderRowToggle = function shouldShowHeaderRowToggle(tableMenuContext) {
16
- return (tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstRow) === true && tableMenuContext.selectedRowCount === 1;
18
+ var shouldShowHeaderRowToggle = function shouldShowHeaderRowToggle(_ref) {
19
+ var isFirstRow = _ref.isFirstRow,
20
+ isHeaderRowAllowed = _ref.isHeaderRowAllowed,
21
+ selectedRowCount = _ref.selectedRowCount;
22
+ return isHeaderRowAllowed === true && isFirstRow && selectedRowCount === 1;
17
23
  };
18
- var HeaderRowToggleItem = exports.HeaderRowToggleItem = function HeaderRowToggleItem() {
24
+ var HeaderRowToggleItem = exports.HeaderRowToggleItem = function HeaderRowToggleItem(props) {
25
+ var _tableMenuContext$sel;
26
+ var api = props.api;
27
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
28
+ editorView = _useEditorToolbar.editorView;
19
29
  var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
30
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
31
+ var _states$tableState, _states$tableState2;
32
+ return {
33
+ isHeaderRowAllowed: (_states$tableState = states.tableState) === null || _states$tableState === void 0 || (_states$tableState = _states$tableState.pluginConfig) === null || _states$tableState === void 0 ? void 0 : _states$tableState.allowHeaderRow,
34
+ isHeaderRowEnabled: (_states$tableState2 = states.tableState) === null || _states$tableState2 === void 0 ? void 0 : _states$tableState2.isHeaderRowEnabled
35
+ };
36
+ }),
37
+ isHeaderRowAllowed = _useSharedPluginState.isHeaderRowAllowed,
38
+ isHeaderRowEnabled = _useSharedPluginState.isHeaderRowEnabled;
39
+ var selectedRowCount = (_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedRowCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 0;
20
40
  var _useIntl = (0, _reactIntl.useIntl)(),
21
41
  formatMessage = _useIntl.formatMessage;
22
42
  var label = formatMessage(_messages.tableMessages.headerRow);
23
- if (!shouldShowHeaderRowToggle(tableMenuContext)) {
43
+ var handleClick = function handleClick() {
44
+ var _api$analytics;
45
+ if (!editorView) {
46
+ return;
47
+ }
48
+ (0, _commandsWithAnalytics.toggleHeaderRowWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(editorView.state, editorView.dispatch);
49
+ };
50
+ if (!shouldShowHeaderRowToggle({
51
+ isFirstRow: (tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstRow) === true,
52
+ isHeaderRowAllowed: isHeaderRowAllowed,
53
+ selectedRowCount: selectedRowCount
54
+ })) {
24
55
  return null;
25
56
  }
26
57
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
58
+ onClick: handleClick,
27
59
  elemAfter: /*#__PURE__*/_react.default.createElement(_toggle.default, {
28
60
  label: label,
29
- isChecked: false
61
+ isChecked: !!isHeaderRowEnabled,
62
+ onChange: handleClick
30
63
  })
31
64
  }, label);
32
65
  };
@@ -7,37 +7,62 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.MoveRowDownItem = 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 _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
17
+ var _commandsWithAnalytics = require("../../../../pm-plugins/drag-and-drop/commands-with-analytics");
18
+ var _pluginFactory = require("../../../../pm-plugins/plugin-factory");
19
+ var _selection = require("../../../../pm-plugins/utils/selection");
20
+ var _consts = require("../../shared/consts");
14
21
  var _TableMenuContext = require("../../shared/TableMenuContext");
15
- var getMoveRowDownShortcut = function getMoveRowDownShortcut() {
16
- return (0, _keymaps.tooltip)((0, _expValEquals.expValEquals)('editor-a11y-fy26-keyboard-move-row-column', 'isEnabled', true) ? _keymaps.moveRowDown : _keymaps.moveRowDownOld);
22
+ var shouldShowMoveRowDown = function shouldShowMoveRowDown(isLastRow) {
23
+ return !isLastRow;
17
24
  };
18
-
19
- /** Move row down is hidden when the selection includes the last row (cannot move further down). */
20
- var shouldShowMoveRowDown = function shouldShowMoveRowDown(tableMenuContext) {
21
- return !(tableMenuContext !== null && tableMenuContext !== void 0 && tableMenuContext.isLastRow);
22
- };
23
- var MoveRowDownItem = exports.MoveRowDownItem = function MoveRowDownItem() {
24
- var _getMoveRowDownShortc;
25
+ var MoveRowDownItem = exports.MoveRowDownItem = function MoveRowDownItem(props) {
26
+ var _tableMenuContext$sel, _tooltip;
27
+ var api = props.api;
28
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
29
+ editorView = _useEditorToolbar.editorView;
25
30
  var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
31
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
32
+ var _states$tableState;
33
+ return {
34
+ tableNode: (_states$tableState = states.tableState) === null || _states$tableState === void 0 ? void 0 : _states$tableState.tableNode
35
+ };
36
+ }),
37
+ tableNode = _useSharedPluginState.tableNode;
38
+ var selectedRowCount = (_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedRowCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 1;
26
39
  var _useIntl = (0, _reactIntl.useIntl)(),
27
40
  formatMessage = _useIntl.formatMessage;
28
- if (!shouldShowMoveRowDown(tableMenuContext)) {
41
+ var handleClick = function handleClick() {
42
+ var _api$analytics, _api$accessibilityUti;
43
+ if (!editorView) {
44
+ return;
45
+ }
46
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
47
+ if (!selectionRect) {
48
+ return;
49
+ }
50
+ (0, _commandsWithAnalytics.moveSourceWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api === null || api === void 0 || (_api$accessibilityUti = api.accessibilityUtils) === null || _api$accessibilityUti === void 0 ? void 0 : _api$accessibilityUti.actions.ariaNotify, (0, _pluginFactory.getPluginState)(editorView.state).getIntl)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, _consts.TABLE_ROW, (0, _selection.getSelectedRowIndexes)(selectionRect), selectionRect.bottom)(editorView.state, editorView.dispatch);
51
+ };
52
+ if (!tableNode || !shouldShowMoveRowDown(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isLastRow)) {
29
53
  return null;
30
54
  }
31
55
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
56
+ onClick: handleClick,
32
57
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.TableRowMoveDownIcon, {
33
58
  color: "currentColor",
34
59
  label: "",
35
60
  size: "small"
36
61
  }),
37
62
  elemAfter: /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarKeyboardShortcutHint, {
38
- shortcut: (_getMoveRowDownShortc = getMoveRowDownShortcut()) !== null && _getMoveRowDownShortc !== void 0 ? _getMoveRowDownShortc : ''
63
+ shortcut: (_tooltip = (0, _keymaps.tooltip)(_keymaps.moveRowDown)) !== null && _tooltip !== void 0 ? _tooltip : ''
39
64
  })
40
65
  }, formatMessage(_messages.tableMessages.moveRowDown, {
41
- 0: 1
66
+ 0: selectedRowCount
42
67
  }));
43
68
  };
@@ -7,37 +7,62 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.MoveRowUpItem = 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 _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
17
+ var _commandsWithAnalytics = require("../../../../pm-plugins/drag-and-drop/commands-with-analytics");
18
+ var _pluginFactory = require("../../../../pm-plugins/plugin-factory");
19
+ var _selection = require("../../../../pm-plugins/utils/selection");
20
+ var _consts = require("../../shared/consts");
14
21
  var _TableMenuContext = require("../../shared/TableMenuContext");
15
- var getMoveRowUpShortcut = function getMoveRowUpShortcut() {
16
- return (0, _keymaps.tooltip)((0, _expValEquals.expValEquals)('editor-a11y-fy26-keyboard-move-row-column', 'isEnabled', true) ? _keymaps.moveRowUp : _keymaps.moveRowUpOld);
22
+ var shouldShowMoveRowUp = function shouldShowMoveRowUp(isFirstRow) {
23
+ return !isFirstRow;
17
24
  };
18
-
19
- /** Move row up is hidden when the selection includes row 0 (cannot move further up). */
20
- var shouldShowMoveRowUp = function shouldShowMoveRowUp(tableMenuContext) {
21
- return !(tableMenuContext !== null && tableMenuContext !== void 0 && tableMenuContext.isFirstRow);
22
- };
23
- var MoveRowUpItem = exports.MoveRowUpItem = function MoveRowUpItem() {
24
- var _getMoveRowUpShortcut;
25
+ var MoveRowUpItem = exports.MoveRowUpItem = function MoveRowUpItem(props) {
26
+ var _tableMenuContext$sel, _tooltip;
27
+ var api = props.api;
28
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
29
+ editorView = _useEditorToolbar.editorView;
25
30
  var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
31
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
32
+ var _states$tableState;
33
+ return {
34
+ tableNode: (_states$tableState = states.tableState) === null || _states$tableState === void 0 ? void 0 : _states$tableState.tableNode
35
+ };
36
+ }),
37
+ tableNode = _useSharedPluginState.tableNode;
38
+ var selectedRowCount = (_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedRowCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 1;
26
39
  var _useIntl = (0, _reactIntl.useIntl)(),
27
40
  formatMessage = _useIntl.formatMessage;
28
- if (!shouldShowMoveRowUp(tableMenuContext)) {
41
+ var handleClick = function handleClick() {
42
+ var _api$analytics, _api$accessibilityUti;
43
+ if (!editorView) {
44
+ return;
45
+ }
46
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
47
+ if (!selectionRect) {
48
+ return;
49
+ }
50
+ (0, _commandsWithAnalytics.moveSourceWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api === null || api === void 0 || (_api$accessibilityUti = api.accessibilityUtils) === null || _api$accessibilityUti === void 0 ? void 0 : _api$accessibilityUti.actions.ariaNotify, (0, _pluginFactory.getPluginState)(editorView.state).getIntl)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, _consts.TABLE_ROW, (0, _selection.getSelectedRowIndexes)(selectionRect), selectionRect.top - 1)(editorView.state, editorView.dispatch);
51
+ };
52
+ if (!tableNode || !shouldShowMoveRowUp(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstRow)) {
29
53
  return null;
30
54
  }
31
55
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
56
+ onClick: handleClick,
32
57
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.TableRowMoveUpIcon, {
33
58
  color: "currentColor",
34
59
  label: "",
35
60
  size: "small"
36
61
  }),
37
62
  elemAfter: /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarKeyboardShortcutHint, {
38
- shortcut: (_getMoveRowUpShortcut = getMoveRowUpShortcut()) !== null && _getMoveRowUpShortcut !== void 0 ? _getMoveRowUpShortcut : ''
63
+ shortcut: (_tooltip = (0, _keymaps.tooltip)(_keymaps.moveRowUp)) !== null && _tooltip !== void 0 ? _tooltip : ''
39
64
  })
40
65
  }, formatMessage(_messages.tableMessages.moveRowUp, {
41
- 0: 1
66
+ 0: selectedRowCount
42
67
  }));
43
68
  };
@@ -7,17 +7,44 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.NumberedRowsToggleItem = 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"));
13
- var NumberedRowsToggleItem = exports.NumberedRowsToggleItem = function NumberedRowsToggleItem() {
15
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
16
+ var NumberedRowsToggleItem = exports.NumberedRowsToggleItem = function NumberedRowsToggleItem(props) {
17
+ var api = props.api;
18
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
19
+ editorView = _useEditorToolbar.editorView;
20
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
21
+ var _states$tableState, _states$tableState2;
22
+ return {
23
+ isNumberColumnAllowed: (_states$tableState = states.tableState) === null || _states$tableState === void 0 || (_states$tableState = _states$tableState.pluginConfig) === null || _states$tableState === void 0 ? void 0 : _states$tableState.allowNumberColumn,
24
+ isNumberColumnEnabled: (_states$tableState2 = states.tableState) === null || _states$tableState2 === void 0 ? void 0 : _states$tableState2.isNumberColumnEnabled
25
+ };
26
+ }),
27
+ isNumberColumnAllowed = _useSharedPluginState.isNumberColumnAllowed,
28
+ isNumberColumnEnabled = _useSharedPluginState.isNumberColumnEnabled;
14
29
  var _useIntl = (0, _reactIntl.useIntl)(),
15
30
  formatMessage = _useIntl.formatMessage;
16
31
  var label = formatMessage(_messages.tableMessages.numberedRows);
32
+ var handleClick = function handleClick() {
33
+ var _api$analytics;
34
+ if (!editorView) {
35
+ return;
36
+ }
37
+ (0, _commandsWithAnalytics.toggleNumberColumnWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(editorView.state, editorView.dispatch);
38
+ };
39
+ if (!isNumberColumnAllowed) {
40
+ return null;
41
+ }
17
42
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
43
+ onClick: handleClick,
18
44
  elemAfter: /*#__PURE__*/_react.default.createElement(_toggle.default, {
19
45
  label: label,
20
- isChecked: false
46
+ isChecked: !!isNumberColumnEnabled,
47
+ onChange: handleClick
21
48
  })
22
49
  }, label);
23
50
  };
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TABLE_MENU_WIDTH = exports.TABLE_MENU_SELECTOR = void 0;
6
+ exports.TABLE_ROW = exports.TABLE_MENU_WIDTH = exports.TABLE_MENU_SELECTOR = exports.TABLE_COLUMN = void 0;
7
7
  var TABLE_MENU_WIDTH = exports.TABLE_MENU_WIDTH = 280;
8
- var TABLE_MENU_SELECTOR = exports.TABLE_MENU_SELECTOR = '[data-testid="column-handle-menu"], [data-testid="row-handle-menu"], [data-toolbar-nested-dropdown-menu]';
8
+ var TABLE_MENU_SELECTOR = exports.TABLE_MENU_SELECTOR = '[data-testid="column-handle-menu"], [data-testid="row-handle-menu"], [data-toolbar-nested-dropdown-menu]';
9
+ var TABLE_ROW = exports.TABLE_ROW = 'table-row';
10
+ var TABLE_COLUMN = exports.TABLE_COLUMN = 'table-column';
@@ -12,7 +12,8 @@ var _keys3 = require("../row/keys");
12
12
  var _BackgroundColorItem = require("./items/BackgroundColorItem");
13
13
  var _ClearCellsItem = require("./items/ClearCellsItem");
14
14
  var _keys4 = require("./keys");
15
- var getSharedItems = exports.getSharedItems = function getSharedItems() {
15
+ var getSharedItems = exports.getSharedItems = function getSharedItems(_ref) {
16
+ var api = _ref.api;
16
17
  return [{
17
18
  type: _keys4.BACKGROUND_COLOR_ITEM.type,
18
19
  key: _keys4.BACKGROUND_COLOR_ITEM.key,
@@ -49,7 +50,9 @@ var getSharedItems = exports.getSharedItems = function getSharedItems() {
49
50
  rank: _keys.CELL_DANGER_SECTION_RANK[_keys4.CLEAR_CELLS_ITEM.key]
50
51
  }],
51
52
  component: function component() {
52
- return /*#__PURE__*/_react.default.createElement(_ClearCellsItem.ClearCellsItem, null);
53
+ return /*#__PURE__*/_react.default.createElement(_ClearCellsItem.ClearCellsItem, {
54
+ api: api
55
+ });
53
56
  }
54
57
  }];
55
58
  };
@@ -10,6 +10,6 @@ var _getCellMenuComponents = require("../cell/getCellMenuComponents");
10
10
  var _getColumnMenuComponents = require("../column/getColumnMenuComponents");
11
11
  var _getRowMenuComponents = require("../row/getRowMenuComponents");
12
12
  var _getSharedItems = require("./getSharedItems");
13
- var getTableMenuComponents = exports.getTableMenuComponents = function getTableMenuComponents() {
14
- return [].concat((0, _toConsumableArray2.default)((0, _getRowMenuComponents.getRowMenuComponents)()), (0, _toConsumableArray2.default)((0, _getColumnMenuComponents.getColumnMenuComponents)()), (0, _toConsumableArray2.default)((0, _getCellMenuComponents.getCellMenuComponents)()), (0, _toConsumableArray2.default)((0, _getSharedItems.getSharedItems)()));
13
+ var getTableMenuComponents = exports.getTableMenuComponents = function getTableMenuComponents(params) {
14
+ return [].concat((0, _toConsumableArray2.default)((0, _getRowMenuComponents.getRowMenuComponents)(params)), (0, _toConsumableArray2.default)((0, _getColumnMenuComponents.getColumnMenuComponents)()), (0, _toConsumableArray2.default)((0, _getCellMenuComponents.getCellMenuComponents)()), (0, _toConsumableArray2.default)((0, _getSharedItems.getSharedItems)(params)));
15
15
  };
@@ -7,14 +7,34 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.ClearCellsItem = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
10
11
  var _keymaps = require("@atlaskit/editor-common/keymaps");
11
12
  var _messages = require("@atlaskit/editor-common/messages");
13
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
12
14
  var _editorToolbar = require("@atlaskit/editor-toolbar");
13
- var ClearCellsItem = exports.ClearCellsItem = function ClearCellsItem() {
14
- var _tooltip;
15
+ var _commandsWithAnalytics = require("../../../../pm-plugins/commands/commands-with-analytics");
16
+ var _pluginFactory = require("../../../../pm-plugins/plugin-factory");
17
+ var _TableMenuContext = require("../TableMenuContext");
18
+ var ClearCellsItem = exports.ClearCellsItem = function ClearCellsItem(_ref) {
19
+ var _tableMenuContext$sel, _tableMenuContext$sel2, _tooltip;
20
+ var api = _ref.api;
21
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
22
+ editorView = _useEditorToolbar.editorView;
23
+ var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
15
24
  var _useIntl = (0, _reactIntl.useIntl)(),
16
25
  formatMessage = _useIntl.formatMessage;
26
+ var selectedCellCount = Math.max((_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedColumnCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 1, (_tableMenuContext$sel2 = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedRowCount) !== null && _tableMenuContext$sel2 !== void 0 ? _tableMenuContext$sel2 : 1);
27
+ var handleClick = function handleClick() {
28
+ var _api$analytics;
29
+ if (!editorView) {
30
+ return;
31
+ }
32
+ var _getPluginState = (0, _pluginFactory.getPluginState)(editorView.state),
33
+ targetCellPosition = _getPluginState.targetCellPosition;
34
+ (0, _commandsWithAnalytics.emptyMultipleCellsWithAnalytics)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)(_analytics.INPUT_METHOD.TABLE_CONTEXT_MENU, targetCellPosition)(editorView.state, editorView.dispatch);
35
+ };
17
36
  return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
37
+ onClick: handleClick,
18
38
  elemBefore: /*#__PURE__*/_react.default.createElement(_editorToolbar.CrossIcon, {
19
39
  color: "currentColor",
20
40
  label: "",
@@ -24,6 +44,6 @@ var ClearCellsItem = exports.ClearCellsItem = function ClearCellsItem() {
24
44
  shortcut: (_tooltip = (0, _keymaps.tooltip)(_keymaps.backspace)) !== null && _tooltip !== void 0 ? _tooltip : ''
25
45
  })
26
46
  }, formatMessage(_messages.tableMessages.clearCells, {
27
- 0: 1
47
+ 0: selectedCellCount
28
48
  }));
29
49
  };