@atlaskit/editor-plugin-table 22.4.11 → 22.4.13

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 (137) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/tablePlugin.js +7 -1
  3. package/dist/cjs/ui/TableMenu/column/getColumnMenuComponents.js +46 -11
  4. package/dist/cjs/ui/TableMenu/column/items/AddColumnLeftItem.js +34 -1
  5. package/dist/cjs/ui/TableMenu/column/items/AddColumnRightItem.js +34 -1
  6. package/dist/cjs/ui/TableMenu/column/items/ColumnBackgroundSection.js +15 -2
  7. package/dist/cjs/ui/TableMenu/column/items/ColumnToggleSection.js +15 -2
  8. package/dist/cjs/ui/TableMenu/column/items/DeleteColumnItem.js +60 -3
  9. package/dist/cjs/ui/TableMenu/column/items/DistributeColumnsItem.js +43 -5
  10. package/dist/cjs/ui/TableMenu/column/items/HeaderColumnToggleItem.js +36 -5
  11. package/dist/cjs/ui/TableMenu/column/items/MoveColumnLeftItem.js +69 -0
  12. package/dist/cjs/ui/TableMenu/column/items/MoveColumnRightItem.js +42 -3
  13. package/dist/cjs/ui/TableMenu/column/items/SortDecreasingItem.js +22 -1
  14. package/dist/cjs/ui/TableMenu/column/items/SortIncreasingItem.js +22 -1
  15. package/dist/cjs/ui/TableMenu/column/keys.js +6 -2
  16. package/dist/cjs/ui/TableMenu/row/getRowMenuComponents.js +23 -8
  17. package/dist/cjs/ui/TableMenu/row/items/AddRowAboveItem.js +24 -1
  18. package/dist/cjs/ui/TableMenu/row/items/AddRowBelowItem.js +24 -1
  19. package/dist/cjs/ui/TableMenu/row/items/DeleteRowItem.js +55 -3
  20. package/dist/cjs/ui/TableMenu/row/items/HeaderRowToggleItem.js +38 -5
  21. package/dist/cjs/ui/TableMenu/row/items/MoveRowDownItem.js +38 -13
  22. package/dist/cjs/ui/TableMenu/row/items/MoveRowUpItem.js +38 -13
  23. package/dist/cjs/ui/TableMenu/row/items/NumberedRowsToggleItem.js +29 -2
  24. package/dist/cjs/ui/TableMenu/shared/consts.js +4 -2
  25. package/dist/cjs/ui/TableMenu/shared/getSharedItems.js +5 -2
  26. package/dist/cjs/ui/TableMenu/shared/getTableMenuComponents.js +2 -2
  27. package/dist/cjs/ui/TableMenu/shared/items/ClearCellsItem.js +23 -3
  28. package/dist/cjs/ui/TableMenu/shared/types.js +5 -0
  29. package/dist/es2019/tablePlugin.js +7 -1
  30. package/dist/es2019/ui/TableMenu/column/getColumnMenuComponents.js +46 -12
  31. package/dist/es2019/ui/TableMenu/column/items/AddColumnLeftItem.js +37 -1
  32. package/dist/es2019/ui/TableMenu/column/items/AddColumnRightItem.js +37 -1
  33. package/dist/es2019/ui/TableMenu/column/items/ColumnBackgroundSection.js +15 -1
  34. package/dist/es2019/ui/TableMenu/column/items/ColumnToggleSection.js +15 -1
  35. package/dist/es2019/ui/TableMenu/column/items/DeleteColumnItem.js +63 -3
  36. package/dist/es2019/ui/TableMenu/column/items/DistributeColumnsItem.js +43 -7
  37. package/dist/es2019/ui/TableMenu/column/items/HeaderColumnToggleItem.js +40 -5
  38. package/dist/es2019/ui/TableMenu/column/items/MoveColumnLeftItem.js +65 -0
  39. package/dist/es2019/ui/TableMenu/column/items/MoveColumnRightItem.js +44 -3
  40. package/dist/es2019/ui/TableMenu/column/items/SortDecreasingItem.js +24 -1
  41. package/dist/es2019/ui/TableMenu/column/items/SortIncreasingItem.js +24 -1
  42. package/dist/es2019/ui/TableMenu/column/keys.js +7 -2
  43. package/dist/es2019/ui/TableMenu/row/getRowMenuComponents.js +24 -8
  44. package/dist/es2019/ui/TableMenu/row/items/AddRowAboveItem.js +27 -1
  45. package/dist/es2019/ui/TableMenu/row/items/AddRowBelowItem.js +27 -1
  46. package/dist/es2019/ui/TableMenu/row/items/DeleteRowItem.js +59 -3
  47. package/dist/es2019/ui/TableMenu/row/items/HeaderRowToggleItem.js +42 -5
  48. package/dist/es2019/ui/TableMenu/row/items/MoveRowDownItem.js +42 -11
  49. package/dist/es2019/ui/TableMenu/row/items/MoveRowUpItem.js +42 -11
  50. package/dist/es2019/ui/TableMenu/row/items/NumberedRowsToggleItem.js +33 -2
  51. package/dist/es2019/ui/TableMenu/shared/consts.js +3 -1
  52. package/dist/es2019/ui/TableMenu/shared/getSharedItems.js +6 -2
  53. package/dist/es2019/ui/TableMenu/shared/getTableMenuComponents.js +1 -1
  54. package/dist/es2019/ui/TableMenu/shared/items/ClearCellsItem.js +26 -3
  55. package/dist/es2019/ui/TableMenu/shared/types.js +1 -0
  56. package/dist/esm/tablePlugin.js +7 -1
  57. package/dist/esm/ui/TableMenu/column/getColumnMenuComponents.js +47 -12
  58. package/dist/esm/ui/TableMenu/column/items/AddColumnLeftItem.js +34 -1
  59. package/dist/esm/ui/TableMenu/column/items/AddColumnRightItem.js +34 -1
  60. package/dist/esm/ui/TableMenu/column/items/ColumnBackgroundSection.js +15 -2
  61. package/dist/esm/ui/TableMenu/column/items/ColumnToggleSection.js +15 -2
  62. package/dist/esm/ui/TableMenu/column/items/DeleteColumnItem.js +60 -3
  63. package/dist/esm/ui/TableMenu/column/items/DistributeColumnsItem.js +43 -6
  64. package/dist/esm/ui/TableMenu/column/items/HeaderColumnToggleItem.js +36 -6
  65. package/dist/esm/ui/TableMenu/column/items/MoveColumnLeftItem.js +62 -0
  66. package/dist/esm/ui/TableMenu/column/items/MoveColumnRightItem.js +42 -3
  67. package/dist/esm/ui/TableMenu/column/items/SortDecreasingItem.js +22 -1
  68. package/dist/esm/ui/TableMenu/column/items/SortIncreasingItem.js +22 -1
  69. package/dist/esm/ui/TableMenu/column/keys.js +5 -1
  70. package/dist/esm/ui/TableMenu/row/getRowMenuComponents.js +23 -8
  71. package/dist/esm/ui/TableMenu/row/items/AddRowAboveItem.js +24 -1
  72. package/dist/esm/ui/TableMenu/row/items/AddRowBelowItem.js +24 -1
  73. package/dist/esm/ui/TableMenu/row/items/DeleteRowItem.js +55 -3
  74. package/dist/esm/ui/TableMenu/row/items/HeaderRowToggleItem.js +38 -6
  75. package/dist/esm/ui/TableMenu/row/items/MoveRowDownItem.js +39 -14
  76. package/dist/esm/ui/TableMenu/row/items/MoveRowUpItem.js +39 -14
  77. package/dist/esm/ui/TableMenu/row/items/NumberedRowsToggleItem.js +29 -2
  78. package/dist/esm/ui/TableMenu/shared/consts.js +3 -1
  79. package/dist/esm/ui/TableMenu/shared/getSharedItems.js +5 -2
  80. package/dist/esm/ui/TableMenu/shared/getTableMenuComponents.js +2 -2
  81. package/dist/esm/ui/TableMenu/shared/items/ClearCellsItem.js +23 -3
  82. package/dist/esm/ui/TableMenu/shared/types.js +1 -0
  83. package/dist/types/types/index.d.ts +2 -1
  84. package/dist/types/ui/TableMenu/column/getColumnMenuComponents.d.ts +2 -1
  85. package/dist/types/ui/TableMenu/column/items/AddColumnLeftItem.d.ts +2 -1
  86. package/dist/types/ui/TableMenu/column/items/AddColumnRightItem.d.ts +2 -1
  87. package/dist/types/ui/TableMenu/column/items/ColumnBackgroundSection.d.ts +2 -1
  88. package/dist/types/ui/TableMenu/column/items/ColumnToggleSection.d.ts +2 -1
  89. package/dist/types/ui/TableMenu/column/items/DeleteColumnItem.d.ts +2 -1
  90. package/dist/types/ui/TableMenu/column/items/DistributeColumnsItem.d.ts +2 -1
  91. package/dist/types/ui/TableMenu/column/items/HeaderColumnToggleItem.d.ts +7 -3
  92. package/dist/types/ui/TableMenu/column/items/MoveColumnLeftItem.d.ts +3 -0
  93. package/dist/types/ui/TableMenu/column/items/MoveColumnRightItem.d.ts +2 -1
  94. package/dist/types/ui/TableMenu/column/items/SortDecreasingItem.d.ts +2 -1
  95. package/dist/types/ui/TableMenu/column/items/SortIncreasingItem.d.ts +2 -1
  96. package/dist/types/ui/TableMenu/column/keys.d.ts +1 -0
  97. package/dist/types/ui/TableMenu/row/getRowMenuComponents.d.ts +2 -1
  98. package/dist/types/ui/TableMenu/row/items/AddRowAboveItem.d.ts +2 -1
  99. package/dist/types/ui/TableMenu/row/items/AddRowBelowItem.d.ts +2 -1
  100. package/dist/types/ui/TableMenu/row/items/DeleteRowItem.d.ts +2 -1
  101. package/dist/types/ui/TableMenu/row/items/HeaderRowToggleItem.d.ts +2 -1
  102. package/dist/types/ui/TableMenu/row/items/MoveRowDownItem.d.ts +2 -1
  103. package/dist/types/ui/TableMenu/row/items/MoveRowUpItem.d.ts +2 -1
  104. package/dist/types/ui/TableMenu/row/items/NumberedRowsToggleItem.d.ts +2 -1
  105. package/dist/types/ui/TableMenu/shared/consts.d.ts +2 -0
  106. package/dist/types/ui/TableMenu/shared/getSharedItems.d.ts +2 -1
  107. package/dist/types/ui/TableMenu/shared/getTableMenuComponents.d.ts +2 -1
  108. package/dist/types/ui/TableMenu/shared/items/ClearCellsItem.d.ts +2 -1
  109. package/dist/types/ui/TableMenu/shared/types.d.ts +4 -0
  110. package/dist/types-ts4.5/types/index.d.ts +2 -1
  111. package/dist/types-ts4.5/ui/TableMenu/column/getColumnMenuComponents.d.ts +2 -1
  112. package/dist/types-ts4.5/ui/TableMenu/column/items/AddColumnLeftItem.d.ts +2 -1
  113. package/dist/types-ts4.5/ui/TableMenu/column/items/AddColumnRightItem.d.ts +2 -1
  114. package/dist/types-ts4.5/ui/TableMenu/column/items/ColumnBackgroundSection.d.ts +2 -1
  115. package/dist/types-ts4.5/ui/TableMenu/column/items/ColumnToggleSection.d.ts +2 -1
  116. package/dist/types-ts4.5/ui/TableMenu/column/items/DeleteColumnItem.d.ts +2 -1
  117. package/dist/types-ts4.5/ui/TableMenu/column/items/DistributeColumnsItem.d.ts +2 -1
  118. package/dist/types-ts4.5/ui/TableMenu/column/items/HeaderColumnToggleItem.d.ts +7 -3
  119. package/dist/types-ts4.5/ui/TableMenu/column/items/MoveColumnLeftItem.d.ts +3 -0
  120. package/dist/types-ts4.5/ui/TableMenu/column/items/MoveColumnRightItem.d.ts +2 -1
  121. package/dist/types-ts4.5/ui/TableMenu/column/items/SortDecreasingItem.d.ts +2 -1
  122. package/dist/types-ts4.5/ui/TableMenu/column/items/SortIncreasingItem.d.ts +2 -1
  123. package/dist/types-ts4.5/ui/TableMenu/column/keys.d.ts +1 -0
  124. package/dist/types-ts4.5/ui/TableMenu/row/getRowMenuComponents.d.ts +2 -1
  125. package/dist/types-ts4.5/ui/TableMenu/row/items/AddRowAboveItem.d.ts +2 -1
  126. package/dist/types-ts4.5/ui/TableMenu/row/items/AddRowBelowItem.d.ts +2 -1
  127. package/dist/types-ts4.5/ui/TableMenu/row/items/DeleteRowItem.d.ts +2 -1
  128. package/dist/types-ts4.5/ui/TableMenu/row/items/HeaderRowToggleItem.d.ts +2 -1
  129. package/dist/types-ts4.5/ui/TableMenu/row/items/MoveRowDownItem.d.ts +2 -1
  130. package/dist/types-ts4.5/ui/TableMenu/row/items/MoveRowUpItem.d.ts +2 -1
  131. package/dist/types-ts4.5/ui/TableMenu/row/items/NumberedRowsToggleItem.d.ts +2 -1
  132. package/dist/types-ts4.5/ui/TableMenu/shared/consts.d.ts +2 -0
  133. package/dist/types-ts4.5/ui/TableMenu/shared/getSharedItems.d.ts +2 -1
  134. package/dist/types-ts4.5/ui/TableMenu/shared/getTableMenuComponents.d.ts +2 -1
  135. package/dist/types-ts4.5/ui/TableMenu/shared/items/ClearCellsItem.d.ts +2 -1
  136. package/dist/types-ts4.5/ui/TableMenu/shared/types.d.ts +4 -0
  137. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @atlaskit/editor-plugin-table
2
2
 
3
+ ## 22.4.13
4
+
5
+ ### Patch Changes
6
+
7
+ - [`3e9a48e106cc7`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/3e9a48e106cc7) -
8
+ Wire up column menu actions in the updated table menu
9
+ - Updated dependencies
10
+
11
+ ## 22.4.12
12
+
13
+ ### Patch Changes
14
+
15
+ - [`cae3f93f31a3f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cae3f93f31a3f) -
16
+ Wire up actions with row menu refactor, add focus, blue, mouseenter and mouseleave events to
17
+ ToolbarDropdownItem
18
+ - Updated dependencies
19
+
3
20
  ## 22.4.11
4
21
 
5
22
  ### 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,10 @@ 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,
128
+ isCommentEditor: tablePluginState.isCommentEditor,
129
+ isTableScalingEnabled: tablePluginState.isTableScalingEnabled,
130
+ isTableFixedColumnWidthsOptionEnabled: isTableFixedColumnWidthsOptionEnabled,
125
131
  ordering: tablePluginState.ordering,
126
132
  isResizing: !!(tableResizingPluginState !== null && tableResizingPluginState !== void 0 && tableResizingPluginState.dragging || tableWidthResizingPluginState !== null && tableWidthResizingPluginState !== void 0 && tableWidthResizingPluginState.resizing),
127
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
  };
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.MoveColumnLeftItem = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactIntl = require("react-intl");
10
+ var _analytics = require("@atlaskit/editor-common/analytics");
11
+ var _hooks = require("@atlaskit/editor-common/hooks");
12
+ var _keymaps = require("@atlaskit/editor-common/keymaps");
13
+ var _messages = require("@atlaskit/editor-common/messages");
14
+ var _toolbar = require("@atlaskit/editor-common/toolbar");
15
+ var _utils = require("@atlaskit/editor-tables/utils");
16
+ var _editorToolbar = require("@atlaskit/editor-toolbar");
17
+ var _tableColumnMoveLeft = _interopRequireDefault(require("@atlaskit/icon/core/table-column-move-left"));
18
+ var _commandsWithAnalytics = require("../../../../pm-plugins/drag-and-drop/commands-with-analytics");
19
+ var _pluginFactory = require("../../../../pm-plugins/plugin-factory");
20
+ var _selection = require("../../../../pm-plugins/utils/selection");
21
+ var _consts = require("../../shared/consts");
22
+ var _TableMenuContext = require("../../shared/TableMenuContext");
23
+ var shouldShowMoveColumnLeft = function shouldShowMoveColumnLeft(isFirstColumn) {
24
+ return !isFirstColumn;
25
+ };
26
+ var MoveColumnLeftItem = exports.MoveColumnLeftItem = function MoveColumnLeftItem(props) {
27
+ var _tableMenuContext$sel, _tooltip;
28
+ var api = props.api;
29
+ var _useEditorToolbar = (0, _toolbar.useEditorToolbar)(),
30
+ editorView = _useEditorToolbar.editorView;
31
+ var tableMenuContext = (0, _TableMenuContext.useTableMenuContext)();
32
+ var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api !== null && api !== void 0 ? api : undefined, ['table'], function (states) {
33
+ var _states$tableState;
34
+ return {
35
+ tableNode: (_states$tableState = states.tableState) === null || _states$tableState === void 0 ? void 0 : _states$tableState.tableNode
36
+ };
37
+ }),
38
+ tableNode = _useSharedPluginState.tableNode;
39
+ var selectedColumnCount = (_tableMenuContext$sel = tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.selectedColumnCount) !== null && _tableMenuContext$sel !== void 0 ? _tableMenuContext$sel : 1;
40
+ var _useIntl = (0, _reactIntl.useIntl)(),
41
+ formatMessage = _useIntl.formatMessage;
42
+ var handleClick = function handleClick() {
43
+ var _api$analytics, _api$accessibilityUti;
44
+ if (!editorView) {
45
+ return;
46
+ }
47
+ var selectionRect = (0, _utils.getSelectionRect)(editorView.state.selection);
48
+ if (!selectionRect) {
49
+ return;
50
+ }
51
+ (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_COLUMN, (0, _selection.getSelectedColumnIndexes)(selectionRect), selectionRect.left - 1)(editorView.state, editorView.dispatch);
52
+ };
53
+ if (!tableNode || !shouldShowMoveColumnLeft(tableMenuContext === null || tableMenuContext === void 0 ? void 0 : tableMenuContext.isFirstColumn)) {
54
+ return null;
55
+ }
56
+ return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
57
+ onClick: handleClick,
58
+ elemBefore: /*#__PURE__*/_react.default.createElement(_tableColumnMoveLeft.default, {
59
+ color: "currentColor",
60
+ label: "",
61
+ size: "small"
62
+ }),
63
+ elemAfter: /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarKeyboardShortcutHint, {
64
+ shortcut: (_tooltip = (0, _keymaps.tooltip)(_keymaps.moveColumnLeft)) !== null && _tooltip !== void 0 ? _tooltip : ''
65
+ })
66
+ }, formatMessage(_messages.tableMessages.moveColumnLeft, {
67
+ 0: selectedColumnCount
68
+ }));
69
+ };