@atlaskit/editor-plugin-table 2.10.7 → 2.10.8

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # @atlaskit/editor-plugin-table
2
2
 
3
+ ## 2.10.8
4
+
5
+ ### Patch Changes
6
+
7
+ - [`8467bdcdf4f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8467bdcdf4f) - Removing `dependencies` prop from PluginInjectionAPI and changing
8
+ signature of `NextEditorPlugin`.
9
+
10
+ Previously a `NextEditorPlugin` would be consumed as so:
11
+
12
+ ```ts
13
+ const plugin: NextEditorPlugin< ... > = (config, api) => {
14
+ // Can use api like so:
15
+ api.dependencies.core.actions.execute( ... )
16
+ return { ... }
17
+ }
18
+ ```
19
+
20
+ Now these have become named parameters like so and the `pluginInjectionAPI` is used
21
+ without the `dependencies` prop:
22
+
23
+ ```ts
24
+ const plugin: NextEditorPlugin< ... > = ({ config, api }) => {
25
+ // Can use api like so:
26
+ api.core.actions.execute( ... )
27
+ return { ... }
28
+ }
29
+ ```
30
+
31
+ - Updated dependencies
32
+
3
33
  ## 2.10.7
4
34
 
5
35
  ### Patch Changes
@@ -38,29 +38,31 @@ var _utils3 = require("./utils");
38
38
  var defaultGetEditorFeatureFlags = function defaultGetEditorFeatureFlags() {
39
39
  return {};
40
40
  };
41
- var tablesPlugin = function tablesPlugin(options, api) {
42
- var _api$dependencies$ana;
41
+ var tablesPlugin = function tablesPlugin(_ref) {
42
+ var _api$analytics;
43
+ var options = _ref.config,
44
+ api = _ref.api;
43
45
  var editorViewRef = {
44
46
  current: null
45
47
  };
46
48
  var defaultGetEditorContainerWidth = function defaultGetEditorContainerWidth() {
47
- var _document$body$offset, _document, _document$body, _api$dependencies$wid;
49
+ var _document$body$offset, _document, _document$body, _api$width$sharedStat;
48
50
  var defaultState = {
49
51
  width: (_document$body$offset = (_document = document) === null || _document === void 0 ? void 0 : (_document$body = _document.body) === null || _document$body === void 0 ? void 0 : _document$body.offsetWidth) !== null && _document$body$offset !== void 0 ? _document$body$offset : 500
50
52
  };
51
- return (_api$dependencies$wid = api === null || api === void 0 ? void 0 : api.dependencies.width.sharedState.currentState()) !== null && _api$dependencies$wid !== void 0 ? _api$dependencies$wid : defaultState;
53
+ return (_api$width$sharedStat = api === null || api === void 0 ? void 0 : api.width.sharedState.currentState()) !== null && _api$width$sharedStat !== void 0 ? _api$width$sharedStat : defaultState;
52
54
  };
53
- var editorAnalyticsAPI = api === null || api === void 0 ? void 0 : (_api$dependencies$ana = api.dependencies.analytics) === null || _api$dependencies$ana === void 0 ? void 0 : _api$dependencies$ana.actions;
55
+ var editorAnalyticsAPI = api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
54
56
  return {
55
57
  name: 'table',
56
58
  actions: {
57
59
  insertTable: function insertTable(analyticsPayload) {
58
60
  return function (state, dispatch) {
59
- var _api$dependencies$con, _api$dependencies, _api$dependencies$con2, _api$dependencies$con3;
61
+ var _api$contentInsertion, _api$contentInsertion2, _api$contentInsertion3;
60
62
  var node = (0, _utils2.createTable)({
61
63
  schema: state.schema
62
64
  });
63
- return (_api$dependencies$con = api === null || api === void 0 ? void 0 : (_api$dependencies = api.dependencies) === null || _api$dependencies === void 0 ? void 0 : (_api$dependencies$con2 = _api$dependencies.contentInsertion) === null || _api$dependencies$con2 === void 0 ? void 0 : (_api$dependencies$con3 = _api$dependencies$con2.actions) === null || _api$dependencies$con3 === void 0 ? void 0 : _api$dependencies$con3.insert({
65
+ return (_api$contentInsertion = api === null || api === void 0 ? void 0 : (_api$contentInsertion2 = api.contentInsertion) === null || _api$contentInsertion2 === void 0 ? void 0 : (_api$contentInsertion3 = _api$contentInsertion2.actions) === null || _api$contentInsertion3 === void 0 ? void 0 : _api$contentInsertion3.insert({
64
66
  state: state,
65
67
  dispatch: dispatch,
66
68
  node: node,
@@ -68,7 +70,7 @@ var tablesPlugin = function tablesPlugin(options, api) {
68
70
  selectNodeInserted: false,
69
71
  analyticsPayload: analyticsPayload
70
72
  }
71
- })) !== null && _api$dependencies$con !== void 0 ? _api$dependencies$con : false;
73
+ })) !== null && _api$contentInsertion !== void 0 ? _api$contentInsertion : false;
72
74
  };
73
75
  }
74
76
  },
@@ -91,28 +93,28 @@ var tablesPlugin = function tablesPlugin(options, api) {
91
93
  pmPlugins: function pmPlugins() {
92
94
  var plugins = [{
93
95
  name: 'table',
94
- plugin: function plugin(_ref) {
95
- var dispatchAnalyticsEvent = _ref.dispatchAnalyticsEvent,
96
- dispatch = _ref.dispatch,
97
- portalProviderAPI = _ref.portalProviderAPI,
98
- eventDispatcher = _ref.eventDispatcher;
99
- var _ref2 = options || {},
100
- fullWidthEnabled = _ref2.fullWidthEnabled,
101
- wasFullWidthEnabled = _ref2.wasFullWidthEnabled,
102
- tableResizingEnabled = _ref2.tableResizingEnabled,
103
- breakoutEnabled = _ref2.breakoutEnabled,
104
- tableOptions = _ref2.tableOptions,
105
- getEditorFeatureFlags = _ref2.getEditorFeatureFlags;
96
+ plugin: function plugin(_ref2) {
97
+ var dispatchAnalyticsEvent = _ref2.dispatchAnalyticsEvent,
98
+ dispatch = _ref2.dispatch,
99
+ portalProviderAPI = _ref2.portalProviderAPI,
100
+ eventDispatcher = _ref2.eventDispatcher;
101
+ var _ref3 = options || {},
102
+ fullWidthEnabled = _ref3.fullWidthEnabled,
103
+ wasFullWidthEnabled = _ref3.wasFullWidthEnabled,
104
+ tableResizingEnabled = _ref3.tableResizingEnabled,
105
+ breakoutEnabled = _ref3.breakoutEnabled,
106
+ tableOptions = _ref3.tableOptions,
107
+ getEditorFeatureFlags = _ref3.getEditorFeatureFlags;
106
108
  return (0, _main.createPlugin)(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, (0, _createPluginConfig.pluginConfig)(tableOptions), defaultGetEditorContainerWidth, getEditorFeatureFlags || defaultGetEditorFeatureFlags, breakoutEnabled, fullWidthEnabled, tableResizingEnabled, wasFullWidthEnabled, editorAnalyticsAPI, api);
107
109
  }
108
110
  }, {
109
111
  name: 'tablePMColResizing',
110
- plugin: function plugin(_ref3) {
111
- var dispatch = _ref3.dispatch;
112
- var _ref4 = options || {},
113
- fullWidthEnabled = _ref4.fullWidthEnabled,
114
- tableOptions = _ref4.tableOptions,
115
- getEditorFeatureFlags = _ref4.getEditorFeatureFlags;
112
+ plugin: function plugin(_ref4) {
113
+ var dispatch = _ref4.dispatch;
114
+ var _ref5 = options || {},
115
+ fullWidthEnabled = _ref5.fullWidthEnabled,
116
+ tableOptions = _ref5.tableOptions,
117
+ getEditorFeatureFlags = _ref5.getEditorFeatureFlags;
116
118
  var _pluginConfig = (0, _createPluginConfig.pluginConfig)(tableOptions),
117
119
  allowColumnResizing = _pluginConfig.allowColumnResizing;
118
120
  return allowColumnResizing ? (0, _tableResizing.createPlugin)(dispatch, {
@@ -141,9 +143,9 @@ var tablesPlugin = function tablesPlugin(options, api) {
141
143
  name: 'tableEditing',
142
144
  plugin: function plugin() {
143
145
  return (0, _pmPlugins.tableEditing)({
144
- reportFixedTable: function reportFixedTable(_ref5) {
145
- var tr = _ref5.tr,
146
- reason = _ref5.reason;
146
+ reportFixedTable: function reportFixedTable(_ref6) {
147
+ var tr = _ref6.tr,
148
+ reason = _ref6.reason;
147
149
  editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
148
150
  action: _analytics.TABLE_ACTION.FIXED,
149
151
  actionSubject: _analytics.ACTION_SUBJECT.TABLE,
@@ -158,24 +160,24 @@ var tablesPlugin = function tablesPlugin(options, api) {
158
160
  }
159
161
  }, {
160
162
  name: 'tableStickyHeaders',
161
- plugin: function plugin(_ref6) {
162
- var dispatch = _ref6.dispatch,
163
- eventDispatcher = _ref6.eventDispatcher;
163
+ plugin: function plugin(_ref7) {
164
+ var dispatch = _ref7.dispatch,
165
+ eventDispatcher = _ref7.eventDispatcher;
164
166
  return options && options.tableOptions.stickyHeaders ? (0, _stickyHeaders.createPlugin)(dispatch, eventDispatcher, function () {
165
167
  return [];
166
168
  }, (options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) || defaultGetEditorFeatureFlags) : undefined;
167
169
  }
168
170
  }, {
169
171
  name: 'tableLocalId',
170
- plugin: function plugin(_ref7) {
171
- var dispatch = _ref7.dispatch;
172
+ plugin: function plugin(_ref8) {
173
+ var dispatch = _ref8.dispatch;
172
174
  return (0, _tableLocalId.createPlugin)(dispatch);
173
175
  }
174
176
  }, {
175
177
  name: 'tableWidth',
176
- plugin: function plugin(_ref8) {
178
+ plugin: function plugin(_ref9) {
177
179
  var _options$fullWidthEna;
178
- var dispatch = _ref8.dispatch;
180
+ var dispatch = _ref9.dispatch;
179
181
  return options !== null && options !== void 0 && options.tableResizingEnabled ? (0, _tableWidth.createPlugin)(dispatch, (_options$fullWidthEna = options === null || options === void 0 ? void 0 : options.fullWidthEnabled) !== null && _options$fullWidthEna !== void 0 ? _options$fullWidthEna : false) : undefined;
180
182
  }
181
183
  }, {
@@ -206,12 +208,12 @@ var tablesPlugin = function tablesPlugin(options, api) {
206
208
  }
207
209
  return plugins;
208
210
  },
209
- contentComponent: function contentComponent(_ref9) {
210
- var editorView = _ref9.editorView,
211
- popupsMountPoint = _ref9.popupsMountPoint,
212
- popupsBoundariesElement = _ref9.popupsBoundariesElement,
213
- popupsScrollableElement = _ref9.popupsScrollableElement,
214
- dispatchAnalyticsEvent = _ref9.dispatchAnalyticsEvent;
211
+ contentComponent: function contentComponent(_ref10) {
212
+ var editorView = _ref10.editorView,
213
+ popupsMountPoint = _ref10.popupsMountPoint,
214
+ popupsBoundariesElement = _ref10.popupsBoundariesElement,
215
+ popupsScrollableElement = _ref10.popupsScrollableElement,
216
+ dispatchAnalyticsEvent = _ref10.dispatchAnalyticsEvent;
215
217
  return /*#__PURE__*/_react.default.createElement(_errorBoundary.ErrorBoundary, {
216
218
  component: _analytics.ACTION_SUBJECT.TABLES_PLUGIN,
217
219
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
@@ -223,28 +225,28 @@ var tablesPlugin = function tablesPlugin(options, api) {
223
225
  tableResizingPluginState: _tableResizing.pluginKey,
224
226
  stickyHeadersState: _stickyHeaders.pluginKey
225
227
  },
226
- render: function render(_ref10) {
227
- var resizingPluginState = _ref10.tableResizingPluginState,
228
- stickyHeadersState = _ref10.stickyHeadersState,
229
- tablePluginState = _ref10.tablePluginState,
230
- tableWidthPluginState = _ref10.tableWidthPluginState;
228
+ render: function render(_ref11) {
229
+ var resizingPluginState = _ref11.tableResizingPluginState,
230
+ stickyHeadersState = _ref11.stickyHeadersState,
231
+ tablePluginState = _ref11.tablePluginState,
232
+ tableWidthPluginState = _ref11.tableWidthPluginState;
231
233
  var state = editorView.state;
232
234
  var isColumnResizing = resizingPluginState === null || resizingPluginState === void 0 ? void 0 : resizingPluginState.dragging;
233
235
  var isTableResizing = tableWidthPluginState === null || tableWidthPluginState === void 0 ? void 0 : tableWidthPluginState.resizing;
234
236
  var isResizing = isColumnResizing || isTableResizing;
235
- var _ref11 = tablePluginState,
236
- tableNode = _ref11.tableNode,
237
- tablePos = _ref11.tablePos,
238
- targetCellPosition = _ref11.targetCellPosition,
239
- isContextualMenuOpen = _ref11.isContextualMenuOpen,
240
- layout = _ref11.layout,
241
- tableRef = _ref11.tableRef,
242
- pluginConfig = _ref11.pluginConfig,
243
- insertColumnButtonIndex = _ref11.insertColumnButtonIndex,
244
- insertRowButtonIndex = _ref11.insertRowButtonIndex,
245
- isHeaderColumnEnabled = _ref11.isHeaderColumnEnabled,
246
- isHeaderRowEnabled = _ref11.isHeaderRowEnabled,
247
- tableWrapperTarget = _ref11.tableWrapperTarget;
237
+ var _ref12 = tablePluginState,
238
+ tableNode = _ref12.tableNode,
239
+ tablePos = _ref12.tablePos,
240
+ targetCellPosition = _ref12.targetCellPosition,
241
+ isContextualMenuOpen = _ref12.isContextualMenuOpen,
242
+ layout = _ref12.layout,
243
+ tableRef = _ref12.tableRef,
244
+ pluginConfig = _ref12.pluginConfig,
245
+ insertColumnButtonIndex = _ref12.insertColumnButtonIndex,
246
+ insertRowButtonIndex = _ref12.insertRowButtonIndex,
247
+ isHeaderColumnEnabled = _ref12.isHeaderColumnEnabled,
248
+ isHeaderRowEnabled = _ref12.isHeaderRowEnabled,
249
+ tableWrapperTarget = _ref12.tableWrapperTarget;
248
250
  var allowControls = pluginConfig.allowControls;
249
251
  var stickyHeader = stickyHeadersState ? (0, _stickyHeaders.findStickyHeaderForTable)(stickyHeadersState, tablePos) : undefined;
250
252
  var LayoutContent = options && !options.tableResizingEnabled && (0, _utils3.isLayoutSupported)(state) && options.breakoutEnabled ? /*#__PURE__*/_react.default.createElement(_LayoutButton.default, {
@@ -310,8 +312,8 @@ var tablesPlugin = function tablesPlugin(options, api) {
310
312
  }));
311
313
  },
312
314
  pluginsOptions: {
313
- quickInsert: function quickInsert(_ref12) {
314
- var formatMessage = _ref12.formatMessage;
315
+ quickInsert: function quickInsert(_ref13) {
316
+ var formatMessage = _ref13.formatMessage;
315
317
  return [{
316
318
  id: 'table',
317
319
  title: formatMessage(_messages.toolbarInsertBlockMessages.table),
@@ -76,14 +76,14 @@ var ResizableTableContainer = function ResizableTableContainer(_ref2) {
76
76
  }
77
77
  }, [lineLength]);
78
78
  var displayGuideline = (0, _react.useCallback)(function (guidelines) {
79
- var _pluginInjectionApi$d, _pluginInjectionApi$d2, _pluginInjectionApi$d3, _pluginInjectionApi$d4;
80
- return (_pluginInjectionApi$d = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d2 = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d2 === void 0 ? void 0 : (_pluginInjectionApi$d3 = _pluginInjectionApi$d2.guideline) === null || _pluginInjectionApi$d3 === void 0 ? void 0 : (_pluginInjectionApi$d4 = _pluginInjectionApi$d3.actions) === null || _pluginInjectionApi$d4 === void 0 ? void 0 : _pluginInjectionApi$d4.displayGuideline(editorView)({
79
+ var _pluginInjectionApi$g, _pluginInjectionApi$g2, _pluginInjectionApi$g3;
80
+ return (_pluginInjectionApi$g = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$g2 = pluginInjectionApi.guideline) === null || _pluginInjectionApi$g2 === void 0 ? void 0 : (_pluginInjectionApi$g3 = _pluginInjectionApi$g2.actions) === null || _pluginInjectionApi$g3 === void 0 ? void 0 : _pluginInjectionApi$g3.displayGuideline(editorView)({
81
81
  guidelines: guidelines
82
- })) !== null && _pluginInjectionApi$d !== void 0 ? _pluginInjectionApi$d : false;
82
+ })) !== null && _pluginInjectionApi$g !== void 0 ? _pluginInjectionApi$g : false;
83
83
  }, [pluginInjectionApi, editorView]);
84
84
  var attachAnalyticsEvent = (0, _react.useCallback)(function (payload) {
85
- var _pluginInjectionApi$d5, _pluginInjectionApi$d6;
86
- return pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d5 = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d5 === void 0 ? void 0 : (_pluginInjectionApi$d6 = _pluginInjectionApi$d5.analytics) === null || _pluginInjectionApi$d6 === void 0 ? void 0 : _pluginInjectionApi$d6.actions.attachAnalyticsEvent(payload);
85
+ var _pluginInjectionApi$a;
86
+ return pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions.attachAnalyticsEvent(payload);
87
87
  }, [pluginInjectionApi]);
88
88
  var tableWidth = (0, _nodeWidth.getTableContainerWidth)(node);
89
89
  // 76 is currently an accepted padding value considering the spacing for resizer handle
@@ -29,28 +29,31 @@ import FloatingInsertButton from './ui/FloatingInsertButton';
29
29
  import LayoutButton from './ui/LayoutButton';
30
30
  import { isLayoutSupported } from './utils';
31
31
  const defaultGetEditorFeatureFlags = () => ({});
32
- const tablesPlugin = (options, api) => {
33
- var _api$dependencies$ana;
32
+ const tablesPlugin = ({
33
+ config: options,
34
+ api
35
+ }) => {
36
+ var _api$analytics;
34
37
  const editorViewRef = {
35
38
  current: null
36
39
  };
37
40
  const defaultGetEditorContainerWidth = () => {
38
- var _document$body$offset, _document, _document$body, _api$dependencies$wid;
41
+ var _document$body$offset, _document, _document$body, _api$width$sharedStat;
39
42
  const defaultState = {
40
43
  width: (_document$body$offset = (_document = document) === null || _document === void 0 ? void 0 : (_document$body = _document.body) === null || _document$body === void 0 ? void 0 : _document$body.offsetWidth) !== null && _document$body$offset !== void 0 ? _document$body$offset : 500
41
44
  };
42
- return (_api$dependencies$wid = api === null || api === void 0 ? void 0 : api.dependencies.width.sharedState.currentState()) !== null && _api$dependencies$wid !== void 0 ? _api$dependencies$wid : defaultState;
45
+ return (_api$width$sharedStat = api === null || api === void 0 ? void 0 : api.width.sharedState.currentState()) !== null && _api$width$sharedStat !== void 0 ? _api$width$sharedStat : defaultState;
43
46
  };
44
- const editorAnalyticsAPI = api === null || api === void 0 ? void 0 : (_api$dependencies$ana = api.dependencies.analytics) === null || _api$dependencies$ana === void 0 ? void 0 : _api$dependencies$ana.actions;
47
+ const editorAnalyticsAPI = api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
45
48
  return {
46
49
  name: 'table',
47
50
  actions: {
48
51
  insertTable: analyticsPayload => (state, dispatch) => {
49
- var _api$dependencies$con, _api$dependencies, _api$dependencies$con2, _api$dependencies$con3;
52
+ var _api$contentInsertion, _api$contentInsertion2, _api$contentInsertion3;
50
53
  const node = createTable({
51
54
  schema: state.schema
52
55
  });
53
- return (_api$dependencies$con = api === null || api === void 0 ? void 0 : (_api$dependencies = api.dependencies) === null || _api$dependencies === void 0 ? void 0 : (_api$dependencies$con2 = _api$dependencies.contentInsertion) === null || _api$dependencies$con2 === void 0 ? void 0 : (_api$dependencies$con3 = _api$dependencies$con2.actions) === null || _api$dependencies$con3 === void 0 ? void 0 : _api$dependencies$con3.insert({
56
+ return (_api$contentInsertion = api === null || api === void 0 ? void 0 : (_api$contentInsertion2 = api.contentInsertion) === null || _api$contentInsertion2 === void 0 ? void 0 : (_api$contentInsertion3 = _api$contentInsertion2.actions) === null || _api$contentInsertion3 === void 0 ? void 0 : _api$contentInsertion3.insert({
54
57
  state,
55
58
  dispatch,
56
59
  node,
@@ -58,7 +61,7 @@ const tablesPlugin = (options, api) => {
58
61
  selectNodeInserted: false,
59
62
  analyticsPayload
60
63
  }
61
- })) !== null && _api$dependencies$con !== void 0 ? _api$dependencies$con : false;
64
+ })) !== null && _api$contentInsertion !== void 0 ? _api$contentInsertion : false;
62
65
  }
63
66
  },
64
67
  nodes() {
@@ -67,14 +67,14 @@ export const ResizableTableContainer = ({
67
67
  }
68
68
  }, [lineLength]);
69
69
  const displayGuideline = useCallback(guidelines => {
70
- var _pluginInjectionApi$d, _pluginInjectionApi$d2, _pluginInjectionApi$d3, _pluginInjectionApi$d4;
71
- return (_pluginInjectionApi$d = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d2 = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d2 === void 0 ? void 0 : (_pluginInjectionApi$d3 = _pluginInjectionApi$d2.guideline) === null || _pluginInjectionApi$d3 === void 0 ? void 0 : (_pluginInjectionApi$d4 = _pluginInjectionApi$d3.actions) === null || _pluginInjectionApi$d4 === void 0 ? void 0 : _pluginInjectionApi$d4.displayGuideline(editorView)({
70
+ var _pluginInjectionApi$g, _pluginInjectionApi$g2, _pluginInjectionApi$g3;
71
+ return (_pluginInjectionApi$g = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$g2 = pluginInjectionApi.guideline) === null || _pluginInjectionApi$g2 === void 0 ? void 0 : (_pluginInjectionApi$g3 = _pluginInjectionApi$g2.actions) === null || _pluginInjectionApi$g3 === void 0 ? void 0 : _pluginInjectionApi$g3.displayGuideline(editorView)({
72
72
  guidelines
73
- })) !== null && _pluginInjectionApi$d !== void 0 ? _pluginInjectionApi$d : false;
73
+ })) !== null && _pluginInjectionApi$g !== void 0 ? _pluginInjectionApi$g : false;
74
74
  }, [pluginInjectionApi, editorView]);
75
75
  const attachAnalyticsEvent = useCallback(payload => {
76
- var _pluginInjectionApi$d5, _pluginInjectionApi$d6;
77
- return pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d5 = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d5 === void 0 ? void 0 : (_pluginInjectionApi$d6 = _pluginInjectionApi$d5.analytics) === null || _pluginInjectionApi$d6 === void 0 ? void 0 : _pluginInjectionApi$d6.actions.attachAnalyticsEvent(payload);
76
+ var _pluginInjectionApi$a;
77
+ return pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions.attachAnalyticsEvent(payload);
78
78
  }, [pluginInjectionApi]);
79
79
  const tableWidth = getTableContainerWidth(node);
80
80
  // 76 is currently an accepted padding value considering the spacing for resizer handle
@@ -31,29 +31,31 @@ import { isLayoutSupported } from './utils';
31
31
  var defaultGetEditorFeatureFlags = function defaultGetEditorFeatureFlags() {
32
32
  return {};
33
33
  };
34
- var tablesPlugin = function tablesPlugin(options, api) {
35
- var _api$dependencies$ana;
34
+ var tablesPlugin = function tablesPlugin(_ref) {
35
+ var _api$analytics;
36
+ var options = _ref.config,
37
+ api = _ref.api;
36
38
  var editorViewRef = {
37
39
  current: null
38
40
  };
39
41
  var defaultGetEditorContainerWidth = function defaultGetEditorContainerWidth() {
40
- var _document$body$offset, _document, _document$body, _api$dependencies$wid;
42
+ var _document$body$offset, _document, _document$body, _api$width$sharedStat;
41
43
  var defaultState = {
42
44
  width: (_document$body$offset = (_document = document) === null || _document === void 0 ? void 0 : (_document$body = _document.body) === null || _document$body === void 0 ? void 0 : _document$body.offsetWidth) !== null && _document$body$offset !== void 0 ? _document$body$offset : 500
43
45
  };
44
- return (_api$dependencies$wid = api === null || api === void 0 ? void 0 : api.dependencies.width.sharedState.currentState()) !== null && _api$dependencies$wid !== void 0 ? _api$dependencies$wid : defaultState;
46
+ return (_api$width$sharedStat = api === null || api === void 0 ? void 0 : api.width.sharedState.currentState()) !== null && _api$width$sharedStat !== void 0 ? _api$width$sharedStat : defaultState;
45
47
  };
46
- var editorAnalyticsAPI = api === null || api === void 0 ? void 0 : (_api$dependencies$ana = api.dependencies.analytics) === null || _api$dependencies$ana === void 0 ? void 0 : _api$dependencies$ana.actions;
48
+ var editorAnalyticsAPI = api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
47
49
  return {
48
50
  name: 'table',
49
51
  actions: {
50
52
  insertTable: function insertTable(analyticsPayload) {
51
53
  return function (state, dispatch) {
52
- var _api$dependencies$con, _api$dependencies, _api$dependencies$con2, _api$dependencies$con3;
54
+ var _api$contentInsertion, _api$contentInsertion2, _api$contentInsertion3;
53
55
  var node = createTable({
54
56
  schema: state.schema
55
57
  });
56
- return (_api$dependencies$con = api === null || api === void 0 ? void 0 : (_api$dependencies = api.dependencies) === null || _api$dependencies === void 0 ? void 0 : (_api$dependencies$con2 = _api$dependencies.contentInsertion) === null || _api$dependencies$con2 === void 0 ? void 0 : (_api$dependencies$con3 = _api$dependencies$con2.actions) === null || _api$dependencies$con3 === void 0 ? void 0 : _api$dependencies$con3.insert({
58
+ return (_api$contentInsertion = api === null || api === void 0 ? void 0 : (_api$contentInsertion2 = api.contentInsertion) === null || _api$contentInsertion2 === void 0 ? void 0 : (_api$contentInsertion3 = _api$contentInsertion2.actions) === null || _api$contentInsertion3 === void 0 ? void 0 : _api$contentInsertion3.insert({
57
59
  state: state,
58
60
  dispatch: dispatch,
59
61
  node: node,
@@ -61,7 +63,7 @@ var tablesPlugin = function tablesPlugin(options, api) {
61
63
  selectNodeInserted: false,
62
64
  analyticsPayload: analyticsPayload
63
65
  }
64
- })) !== null && _api$dependencies$con !== void 0 ? _api$dependencies$con : false;
66
+ })) !== null && _api$contentInsertion !== void 0 ? _api$contentInsertion : false;
65
67
  };
66
68
  }
67
69
  },
@@ -84,28 +86,28 @@ var tablesPlugin = function tablesPlugin(options, api) {
84
86
  pmPlugins: function pmPlugins() {
85
87
  var plugins = [{
86
88
  name: 'table',
87
- plugin: function plugin(_ref) {
88
- var dispatchAnalyticsEvent = _ref.dispatchAnalyticsEvent,
89
- dispatch = _ref.dispatch,
90
- portalProviderAPI = _ref.portalProviderAPI,
91
- eventDispatcher = _ref.eventDispatcher;
92
- var _ref2 = options || {},
93
- fullWidthEnabled = _ref2.fullWidthEnabled,
94
- wasFullWidthEnabled = _ref2.wasFullWidthEnabled,
95
- tableResizingEnabled = _ref2.tableResizingEnabled,
96
- breakoutEnabled = _ref2.breakoutEnabled,
97
- tableOptions = _ref2.tableOptions,
98
- getEditorFeatureFlags = _ref2.getEditorFeatureFlags;
89
+ plugin: function plugin(_ref2) {
90
+ var dispatchAnalyticsEvent = _ref2.dispatchAnalyticsEvent,
91
+ dispatch = _ref2.dispatch,
92
+ portalProviderAPI = _ref2.portalProviderAPI,
93
+ eventDispatcher = _ref2.eventDispatcher;
94
+ var _ref3 = options || {},
95
+ fullWidthEnabled = _ref3.fullWidthEnabled,
96
+ wasFullWidthEnabled = _ref3.wasFullWidthEnabled,
97
+ tableResizingEnabled = _ref3.tableResizingEnabled,
98
+ breakoutEnabled = _ref3.breakoutEnabled,
99
+ tableOptions = _ref3.tableOptions,
100
+ getEditorFeatureFlags = _ref3.getEditorFeatureFlags;
99
101
  return createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig(tableOptions), defaultGetEditorContainerWidth, getEditorFeatureFlags || defaultGetEditorFeatureFlags, breakoutEnabled, fullWidthEnabled, tableResizingEnabled, wasFullWidthEnabled, editorAnalyticsAPI, api);
100
102
  }
101
103
  }, {
102
104
  name: 'tablePMColResizing',
103
- plugin: function plugin(_ref3) {
104
- var dispatch = _ref3.dispatch;
105
- var _ref4 = options || {},
106
- fullWidthEnabled = _ref4.fullWidthEnabled,
107
- tableOptions = _ref4.tableOptions,
108
- getEditorFeatureFlags = _ref4.getEditorFeatureFlags;
105
+ plugin: function plugin(_ref4) {
106
+ var dispatch = _ref4.dispatch;
107
+ var _ref5 = options || {},
108
+ fullWidthEnabled = _ref5.fullWidthEnabled,
109
+ tableOptions = _ref5.tableOptions,
110
+ getEditorFeatureFlags = _ref5.getEditorFeatureFlags;
109
111
  var _pluginConfig = pluginConfig(tableOptions),
110
112
  allowColumnResizing = _pluginConfig.allowColumnResizing;
111
113
  return allowColumnResizing ? createFlexiResizingPlugin(dispatch, {
@@ -134,9 +136,9 @@ var tablesPlugin = function tablesPlugin(options, api) {
134
136
  name: 'tableEditing',
135
137
  plugin: function plugin() {
136
138
  return tableEditing({
137
- reportFixedTable: function reportFixedTable(_ref5) {
138
- var tr = _ref5.tr,
139
- reason = _ref5.reason;
139
+ reportFixedTable: function reportFixedTable(_ref6) {
140
+ var tr = _ref6.tr,
141
+ reason = _ref6.reason;
140
142
  editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
141
143
  action: TABLE_ACTION.FIXED,
142
144
  actionSubject: ACTION_SUBJECT.TABLE,
@@ -151,24 +153,24 @@ var tablesPlugin = function tablesPlugin(options, api) {
151
153
  }
152
154
  }, {
153
155
  name: 'tableStickyHeaders',
154
- plugin: function plugin(_ref6) {
155
- var dispatch = _ref6.dispatch,
156
- eventDispatcher = _ref6.eventDispatcher;
156
+ plugin: function plugin(_ref7) {
157
+ var dispatch = _ref7.dispatch,
158
+ eventDispatcher = _ref7.eventDispatcher;
157
159
  return options && options.tableOptions.stickyHeaders ? createStickyHeadersPlugin(dispatch, eventDispatcher, function () {
158
160
  return [];
159
161
  }, (options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) || defaultGetEditorFeatureFlags) : undefined;
160
162
  }
161
163
  }, {
162
164
  name: 'tableLocalId',
163
- plugin: function plugin(_ref7) {
164
- var dispatch = _ref7.dispatch;
165
+ plugin: function plugin(_ref8) {
166
+ var dispatch = _ref8.dispatch;
165
167
  return createTableLocalIdPlugin(dispatch);
166
168
  }
167
169
  }, {
168
170
  name: 'tableWidth',
169
- plugin: function plugin(_ref8) {
171
+ plugin: function plugin(_ref9) {
170
172
  var _options$fullWidthEna;
171
- var dispatch = _ref8.dispatch;
173
+ var dispatch = _ref9.dispatch;
172
174
  return options !== null && options !== void 0 && options.tableResizingEnabled ? createTableWidthPlugin(dispatch, (_options$fullWidthEna = options === null || options === void 0 ? void 0 : options.fullWidthEnabled) !== null && _options$fullWidthEna !== void 0 ? _options$fullWidthEna : false) : undefined;
173
175
  }
174
176
  }, {
@@ -199,12 +201,12 @@ var tablesPlugin = function tablesPlugin(options, api) {
199
201
  }
200
202
  return plugins;
201
203
  },
202
- contentComponent: function contentComponent(_ref9) {
203
- var editorView = _ref9.editorView,
204
- popupsMountPoint = _ref9.popupsMountPoint,
205
- popupsBoundariesElement = _ref9.popupsBoundariesElement,
206
- popupsScrollableElement = _ref9.popupsScrollableElement,
207
- dispatchAnalyticsEvent = _ref9.dispatchAnalyticsEvent;
204
+ contentComponent: function contentComponent(_ref10) {
205
+ var editorView = _ref10.editorView,
206
+ popupsMountPoint = _ref10.popupsMountPoint,
207
+ popupsBoundariesElement = _ref10.popupsBoundariesElement,
208
+ popupsScrollableElement = _ref10.popupsScrollableElement,
209
+ dispatchAnalyticsEvent = _ref10.dispatchAnalyticsEvent;
208
210
  return /*#__PURE__*/React.createElement(ErrorBoundary, {
209
211
  component: ACTION_SUBJECT.TABLES_PLUGIN,
210
212
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
@@ -216,28 +218,28 @@ var tablesPlugin = function tablesPlugin(options, api) {
216
218
  tableResizingPluginState: tableResizingPluginKey,
217
219
  stickyHeadersState: stickyHeadersPluginKey
218
220
  },
219
- render: function render(_ref10) {
220
- var resizingPluginState = _ref10.tableResizingPluginState,
221
- stickyHeadersState = _ref10.stickyHeadersState,
222
- tablePluginState = _ref10.tablePluginState,
223
- tableWidthPluginState = _ref10.tableWidthPluginState;
221
+ render: function render(_ref11) {
222
+ var resizingPluginState = _ref11.tableResizingPluginState,
223
+ stickyHeadersState = _ref11.stickyHeadersState,
224
+ tablePluginState = _ref11.tablePluginState,
225
+ tableWidthPluginState = _ref11.tableWidthPluginState;
224
226
  var state = editorView.state;
225
227
  var isColumnResizing = resizingPluginState === null || resizingPluginState === void 0 ? void 0 : resizingPluginState.dragging;
226
228
  var isTableResizing = tableWidthPluginState === null || tableWidthPluginState === void 0 ? void 0 : tableWidthPluginState.resizing;
227
229
  var isResizing = isColumnResizing || isTableResizing;
228
- var _ref11 = tablePluginState,
229
- tableNode = _ref11.tableNode,
230
- tablePos = _ref11.tablePos,
231
- targetCellPosition = _ref11.targetCellPosition,
232
- isContextualMenuOpen = _ref11.isContextualMenuOpen,
233
- layout = _ref11.layout,
234
- tableRef = _ref11.tableRef,
235
- pluginConfig = _ref11.pluginConfig,
236
- insertColumnButtonIndex = _ref11.insertColumnButtonIndex,
237
- insertRowButtonIndex = _ref11.insertRowButtonIndex,
238
- isHeaderColumnEnabled = _ref11.isHeaderColumnEnabled,
239
- isHeaderRowEnabled = _ref11.isHeaderRowEnabled,
240
- tableWrapperTarget = _ref11.tableWrapperTarget;
230
+ var _ref12 = tablePluginState,
231
+ tableNode = _ref12.tableNode,
232
+ tablePos = _ref12.tablePos,
233
+ targetCellPosition = _ref12.targetCellPosition,
234
+ isContextualMenuOpen = _ref12.isContextualMenuOpen,
235
+ layout = _ref12.layout,
236
+ tableRef = _ref12.tableRef,
237
+ pluginConfig = _ref12.pluginConfig,
238
+ insertColumnButtonIndex = _ref12.insertColumnButtonIndex,
239
+ insertRowButtonIndex = _ref12.insertRowButtonIndex,
240
+ isHeaderColumnEnabled = _ref12.isHeaderColumnEnabled,
241
+ isHeaderRowEnabled = _ref12.isHeaderRowEnabled,
242
+ tableWrapperTarget = _ref12.tableWrapperTarget;
241
243
  var allowControls = pluginConfig.allowControls;
242
244
  var stickyHeader = stickyHeadersState ? findStickyHeaderForTable(stickyHeadersState, tablePos) : undefined;
243
245
  var LayoutContent = options && !options.tableResizingEnabled && isLayoutSupported(state) && options.breakoutEnabled ? /*#__PURE__*/React.createElement(LayoutButton, {
@@ -303,8 +305,8 @@ var tablesPlugin = function tablesPlugin(options, api) {
303
305
  }));
304
306
  },
305
307
  pluginsOptions: {
306
- quickInsert: function quickInsert(_ref12) {
307
- var formatMessage = _ref12.formatMessage;
308
+ quickInsert: function quickInsert(_ref13) {
309
+ var formatMessage = _ref13.formatMessage;
308
310
  return [{
309
311
  id: 'table',
310
312
  title: formatMessage(messages.table),
@@ -65,14 +65,14 @@ export var ResizableTableContainer = function ResizableTableContainer(_ref2) {
65
65
  }
66
66
  }, [lineLength]);
67
67
  var displayGuideline = useCallback(function (guidelines) {
68
- var _pluginInjectionApi$d, _pluginInjectionApi$d2, _pluginInjectionApi$d3, _pluginInjectionApi$d4;
69
- return (_pluginInjectionApi$d = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d2 = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d2 === void 0 ? void 0 : (_pluginInjectionApi$d3 = _pluginInjectionApi$d2.guideline) === null || _pluginInjectionApi$d3 === void 0 ? void 0 : (_pluginInjectionApi$d4 = _pluginInjectionApi$d3.actions) === null || _pluginInjectionApi$d4 === void 0 ? void 0 : _pluginInjectionApi$d4.displayGuideline(editorView)({
68
+ var _pluginInjectionApi$g, _pluginInjectionApi$g2, _pluginInjectionApi$g3;
69
+ return (_pluginInjectionApi$g = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$g2 = pluginInjectionApi.guideline) === null || _pluginInjectionApi$g2 === void 0 ? void 0 : (_pluginInjectionApi$g3 = _pluginInjectionApi$g2.actions) === null || _pluginInjectionApi$g3 === void 0 ? void 0 : _pluginInjectionApi$g3.displayGuideline(editorView)({
70
70
  guidelines: guidelines
71
- })) !== null && _pluginInjectionApi$d !== void 0 ? _pluginInjectionApi$d : false;
71
+ })) !== null && _pluginInjectionApi$g !== void 0 ? _pluginInjectionApi$g : false;
72
72
  }, [pluginInjectionApi, editorView]);
73
73
  var attachAnalyticsEvent = useCallback(function (payload) {
74
- var _pluginInjectionApi$d5, _pluginInjectionApi$d6;
75
- return pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d5 = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d5 === void 0 ? void 0 : (_pluginInjectionApi$d6 = _pluginInjectionApi$d5.analytics) === null || _pluginInjectionApi$d6 === void 0 ? void 0 : _pluginInjectionApi$d6.actions.attachAnalyticsEvent(payload);
74
+ var _pluginInjectionApi$a;
75
+ return pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions.attachAnalyticsEvent(payload);
76
76
  }, [pluginInjectionApi]);
77
77
  var tableWidth = getTableContainerWidth(node);
78
78
  // 76 is currently an accepted padding value considering the spacing for resizer handle
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-table",
3
- "version": "2.10.7",
3
+ "version": "2.10.8",
4
4
  "description": "Table plugin for the @atlaskit/editor",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -28,17 +28,17 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@atlaskit/adf-schema": "28.1.2",
31
- "@atlaskit/editor-common": "^74.52.0",
31
+ "@atlaskit/editor-common": "^74.53.0",
32
32
  "@atlaskit/editor-palette": "1.5.1",
33
33
  "@atlaskit/editor-plugin-analytics": "^0.1.0",
34
- "@atlaskit/editor-plugin-content-insertion": "^0.0.10",
34
+ "@atlaskit/editor-plugin-content-insertion": "^0.0.11",
35
35
  "@atlaskit/editor-prosemirror": "1.1.0",
36
36
  "@atlaskit/editor-shared-styles": "^2.6.0",
37
37
  "@atlaskit/editor-tables": "^2.3.0",
38
38
  "@atlaskit/icon": "^21.12.0",
39
39
  "@atlaskit/platform-feature-flags": "^0.2.1",
40
40
  "@atlaskit/theme": "^12.5.0",
41
- "@atlaskit/tokens": "^1.16.0",
41
+ "@atlaskit/tokens": "^1.17.0",
42
42
  "@atlaskit/tooltip": "^17.8.0",
43
43
  "@babel/runtime": "^7.0.0",
44
44
  "@emotion/react": "^11.7.1",
@@ -4,9 +4,9 @@ import { render } from '@testing-library/react';
4
4
  import { replaceRaf } from 'raf-stub';
5
5
 
6
6
  import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher';
7
- import { Command } from '@atlaskit/editor-common/types';
7
+ import type { Command } from '@atlaskit/editor-common/types';
8
8
  import { TextSelection } from '@atlaskit/editor-prosemirror/state';
9
- import { EditorView } from '@atlaskit/editor-prosemirror/view';
9
+ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
10
10
  import { selectTableClosestToPos } from '@atlaskit/editor-tables/src/utils/select-nodes';
11
11
  import {
12
12
  findTable,
@@ -14,9 +14,9 @@ import {
14
14
  selectTable,
15
15
  } from '@atlaskit/editor-tables/utils';
16
16
  import { createEditorFactory } from '@atlaskit/editor-test-helpers/create-editor';
17
+ import type { DocBuilder } from '@atlaskit/editor-test-helpers/doc-builder';
17
18
  import {
18
19
  doc,
19
- DocBuilder,
20
20
  p,
21
21
  table,
22
22
  td,
@@ -34,10 +34,8 @@ import {
34
34
  } from '../../../plugins/table/commands';
35
35
  import TableComponent from '../../../plugins/table/nodeviews/TableComponent';
36
36
  import { pluginKey } from '../../../plugins/table/pm-plugins/plugin-key';
37
- import {
38
- TableCssClassName as ClassName,
39
- TablePluginState,
40
- } from '../../../plugins/table/types';
37
+ import type { TablePluginState } from '../../../plugins/table/types';
38
+ import { TableCssClassName as ClassName } from '../../../plugins/table/types';
41
39
 
42
40
  jest.mock('../../../plugins/table/utils/nodes', () =>
43
41
  Object.assign({}, jest.requireActual('../../../plugins/table/utils/nodes'), {
@@ -67,7 +65,7 @@ describe('table -> nodeviews -> TableComponent.tsx', () => {
67
65
  editorProps: {
68
66
  allowTables: false,
69
67
  dangerouslyAppendPlugins: {
70
- __plugins: [tablePlugin()],
68
+ __plugins: [tablePlugin({ config: undefined })],
71
69
  },
72
70
  featureFlags,
73
71
  },
@@ -2,7 +2,7 @@ import React from 'react';
2
2
 
3
3
  import { fireEvent, render } from '@testing-library/react';
4
4
 
5
- import { TableAttributes } from '@atlaskit/adf-schema';
5
+ import type { TableAttributes } from '@atlaskit/adf-schema';
6
6
  import {
7
7
  ACTION_SUBJECT,
8
8
  EVENT_TYPE,
@@ -11,9 +11,9 @@ import {
11
11
  import { akEditorWideLayoutWidth } from '@atlaskit/editor-shared-styles';
12
12
  import { findTable } from '@atlaskit/editor-tables/utils';
13
13
  import { createEditorFactory } from '@atlaskit/editor-test-helpers/create-editor';
14
+ import type { DocBuilder } from '@atlaskit/editor-test-helpers/doc-builder';
14
15
  import {
15
16
  doc,
16
- DocBuilder,
17
17
  p,
18
18
  table,
19
19
  td,
@@ -27,7 +27,7 @@ import {
27
27
  TableContainer,
28
28
  } from '../../../plugins/table/nodeviews/TableContainer';
29
29
  import { pluginKey } from '../../../plugins/table/pm-plugins/plugin-key';
30
- import { TablePluginState } from '../../../plugins/table/types';
30
+ import type { TablePluginState } from '../../../plugins/table/types';
31
31
 
32
32
  const mockStartMeasure = jest.fn();
33
33
  const mockEndMeasure = jest.fn(() => {
@@ -57,7 +57,7 @@ describe('table -> nodeviews -> TableContainer.tsx', () => {
57
57
  editorProps: {
58
58
  allowTables: false,
59
59
  dangerouslyAppendPlugins: {
60
- __plugins: [tablePlugin()],
60
+ __plugins: [tablePlugin({ config: undefined })],
61
61
  },
62
62
  featureFlags,
63
63
  },
@@ -199,9 +199,7 @@ describe('table -> nodeviews -> TableContainer.tsx', () => {
199
199
  }
200
200
  pluginInjectionApi={
201
201
  {
202
- dependencies: {
203
- analytics: { actions: { attachAnalyticsEvent: analyticsMock } },
204
- },
202
+ analytics: { actions: { attachAnalyticsEvent: analyticsMock } },
205
203
  } as any
206
204
  }
207
205
  />,
@@ -3,12 +3,12 @@ import React from 'react';
3
3
  import { fireEvent, render, screen } from '@testing-library/react';
4
4
  import { IntlProvider } from 'react-intl-next';
5
5
 
6
- import { EditorView } from '@atlaskit/editor-prosemirror/view';
6
+ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
7
7
  import { getCellsInColumn, selectTable } from '@atlaskit/editor-tables/utils';
8
8
  import { createEditorFactory } from '@atlaskit/editor-test-helpers/create-editor';
9
+ import type { DocBuilder } from '@atlaskit/editor-test-helpers/doc-builder';
9
10
  import {
10
11
  doc,
11
- DocBuilder,
12
12
  table,
13
13
  tdCursor,
14
14
  tdEmpty,
@@ -19,13 +19,10 @@ import { selectColumns, selectRows } from '@atlaskit/editor-test-helpers/table';
19
19
 
20
20
  import tablePlugin from '../../../plugins/table-plugin';
21
21
  import { pluginKey } from '../../../plugins/table/pm-plugins/plugin-key';
22
- import {
23
- TableCssClassName,
24
- TablePluginState,
25
- } from '../../../plugins/table/types';
26
- import FloatingDeleteButton, {
27
- Props as FloatingDeleteButtonProps,
28
- } from '../../../plugins/table/ui/FloatingDeleteButton';
22
+ import type { TablePluginState } from '../../../plugins/table/types';
23
+ import { TableCssClassName } from '../../../plugins/table/types';
24
+ import type { Props as FloatingDeleteButtonProps } from '../../../plugins/table/ui/FloatingDeleteButton';
25
+ import FloatingDeleteButton from '../../../plugins/table/ui/FloatingDeleteButton';
29
26
  import * as tableColumnControlsUtils from '../../../plugins/table/utils/column-controls';
30
27
 
31
28
  describe('Floating Delete Button', () => {
@@ -36,7 +33,9 @@ describe('Floating Delete Button', () => {
36
33
  doc,
37
34
  editorProps: {
38
35
  allowTables: false,
39
- dangerouslyAppendPlugins: { __plugins: [tablePlugin()] },
36
+ dangerouslyAppendPlugins: {
37
+ __plugins: [tablePlugin({ config: undefined })],
38
+ },
40
39
  },
41
40
  pluginKey,
42
41
  });
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import { render, screen } from '@testing-library/react';
4
4
  import { createIntl, IntlProvider } from 'react-intl-next';
5
5
 
6
- import { UIAnalyticsEvent } from '@atlaskit/analytics-next';
6
+ import type { UIAnalyticsEvent } from '@atlaskit/analytics-next';
7
7
  import {
8
8
  ACTION,
9
9
  ACTION_SUBJECT,
@@ -12,11 +12,11 @@ import {
12
12
  } from '@atlaskit/editor-common/analytics';
13
13
  import { findParentNodeOfTypeClosestToPos } from '@atlaskit/editor-prosemirror/utils';
14
14
  import * as prosemirrorUtils from '@atlaskit/editor-prosemirror/utils';
15
- import { EditorView } from '@atlaskit/editor-prosemirror/view';
15
+ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
16
16
  import { createEditorFactory } from '@atlaskit/editor-test-helpers/create-editor';
17
+ import type { DocBuilder } from '@atlaskit/editor-test-helpers/doc-builder';
17
18
  import {
18
19
  doc,
19
- DocBuilder,
20
20
  table,
21
21
  tdCursor,
22
22
  tdEmpty,
@@ -33,11 +33,9 @@ import tablePlugin from '../../../plugins/table-plugin';
33
33
  import { setEditorFocus, setTableRef } from '../../../plugins/table/commands';
34
34
  import { getPluginState } from '../../../plugins/table/pm-plugins/plugin-factory';
35
35
  import { pluginKey } from '../../../plugins/table/pm-plugins/plugin-key';
36
- import { TablePluginState } from '../../../plugins/table/types';
37
- import {
38
- FloatingInsertButton,
39
- Props as FloatingInsertButtonProps,
40
- } from '../../../plugins/table/ui/FloatingInsertButton';
36
+ import type { TablePluginState } from '../../../plugins/table/types';
37
+ import type { Props as FloatingInsertButtonProps } from '../../../plugins/table/ui/FloatingInsertButton';
38
+ import { FloatingInsertButton } from '../../../plugins/table/ui/FloatingInsertButton';
41
39
 
42
40
  jest.mock('@atlaskit/editor-prosemirror/utils', () => {
43
41
  // Unblock prosemirror bump:
@@ -61,7 +59,9 @@ const editor = (doc: DocBuilder) =>
61
59
  doc,
62
60
  editorProps: {
63
61
  allowTables: false,
64
- dangerouslyAppendPlugins: { __plugins: [tablePlugin()] },
62
+ dangerouslyAppendPlugins: {
63
+ __plugins: [tablePlugin({ config: undefined })],
64
+ },
65
65
  },
66
66
  pluginKey,
67
67
  });
@@ -104,15 +104,15 @@ export type TablePlugin = NextEditorPlugin<
104
104
  }
105
105
  >;
106
106
 
107
- const tablesPlugin: TablePlugin = (options?: TablePluginOptions, api?) => {
107
+ const tablesPlugin: TablePlugin = ({ config: options, api }) => {
108
108
  const editorViewRef: Record<'current', EditorView | null> = { current: null };
109
109
  const defaultGetEditorContainerWidth: GetEditorContainerWidth = () => {
110
110
  const defaultState = {
111
111
  width: document?.body?.offsetWidth ?? 500,
112
112
  };
113
- return api?.dependencies.width.sharedState.currentState() ?? defaultState;
113
+ return api?.width.sharedState.currentState() ?? defaultState;
114
114
  };
115
- const editorAnalyticsAPI = api?.dependencies.analytics?.actions;
115
+ const editorAnalyticsAPI = api?.analytics?.actions;
116
116
 
117
117
  return {
118
118
  name: 'table',
@@ -126,7 +126,7 @@ const tablesPlugin: TablePlugin = (options?: TablePluginOptions, api?) => {
126
126
  });
127
127
 
128
128
  return (
129
- api?.dependencies?.contentInsertion?.actions?.insert({
129
+ api?.contentInsertion?.actions?.insert({
130
130
  state,
131
131
  dispatch,
132
132
  node,
@@ -119,9 +119,9 @@ export const ResizableTableContainer = ({
119
119
  const displayGuideline = useCallback(
120
120
  (guidelines: GuidelineConfig[]) => {
121
121
  return (
122
- pluginInjectionApi?.dependencies?.guideline?.actions?.displayGuideline(
123
- editorView,
124
- )({ guidelines }) ?? false
122
+ pluginInjectionApi?.guideline?.actions?.displayGuideline(editorView)({
123
+ guidelines,
124
+ }) ?? false
125
125
  );
126
126
  },
127
127
  [pluginInjectionApi, editorView],
@@ -129,7 +129,7 @@ export const ResizableTableContainer = ({
129
129
 
130
130
  const attachAnalyticsEvent = useCallback(
131
131
  (payload: TableEventPayload) => {
132
- return pluginInjectionApi?.dependencies?.analytics?.actions.attachAnalyticsEvent(
132
+ return pluginInjectionApi?.analytics?.actions.attachAnalyticsEvent(
133
133
  payload,
134
134
  );
135
135
  },
@@ -0,0 +1,111 @@
1
+ ## API Report File for "@atlaskit/editor-plugin-table"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ import type { AnalyticsEventPayload } from '@atlaskit/editor-common/analytics';
8
+ import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics';
9
+ import type { Command } from '@atlaskit/editor-common/types';
10
+ import type { ContentInsertionPlugin } from '@atlaskit/editor-plugin-content-insertion';
11
+ import type { EditorSelectionAPI } from '@atlaskit/editor-common/selection';
12
+ import type { GetEditorFeatureFlags } from '@atlaskit/editor-common/types';
13
+ import type { GuidelinePlugin } from '@atlaskit/editor-plugin-guideline';
14
+ import type { NextEditorPlugin } from '@atlaskit/editor-common/types';
15
+ import type { TableLayout } from '@atlaskit/adf-schema';
16
+ import type { WidthPlugin } from '@atlaskit/editor-plugin-width';
17
+
18
+ // @public (undocumented)
19
+ type InsertTableAction = (analyticsPayload: AnalyticsEventPayload) => Command;
20
+
21
+ // @public (undocumented)
22
+ type PermittedLayoutsDescriptor = 'all' | TableLayout[];
23
+
24
+ // @public (undocumented)
25
+ interface PluginConfig {
26
+ // (undocumented)
27
+ advanced?: boolean;
28
+ // (undocumented)
29
+ allowAddColumnWithCustomStep?: boolean;
30
+ // (undocumented)
31
+ allowBackgroundColor?: boolean;
32
+ // (undocumented)
33
+ allowCellOptionsInFloatingToolbar?: boolean;
34
+ // (undocumented)
35
+ allowCollapse?: boolean;
36
+ // (undocumented)
37
+ allowColumnResizing?: boolean;
38
+ // (undocumented)
39
+ allowColumnSorting?: boolean;
40
+ // (undocumented)
41
+ allowControls?: boolean;
42
+ // (undocumented)
43
+ allowDistributeColumns?: boolean;
44
+ // (undocumented)
45
+ allowHeaderColumn?: boolean;
46
+ // (undocumented)
47
+ allowHeaderRow?: boolean;
48
+ // (undocumented)
49
+ allowMergeCells?: boolean;
50
+ // (undocumented)
51
+ allowNumberColumn?: boolean;
52
+ // (undocumented)
53
+ initialRenderOptimization?: boolean;
54
+ // (undocumented)
55
+ isHeaderRowRequired?: boolean;
56
+ // (undocumented)
57
+ mouseMoveOptimization?: boolean;
58
+ // (undocumented)
59
+ permittedLayouts?: PermittedLayoutsDescriptor;
60
+ // (undocumented)
61
+ stickyHeaders?: boolean;
62
+ // (undocumented)
63
+ stickyHeadersOptimization?: boolean;
64
+ // (undocumented)
65
+ tableCellOptimization?: boolean;
66
+ // (undocumented)
67
+ tableOverflowShadowsOptimization?: boolean;
68
+ // (undocumented)
69
+ tableRenderOptimization?: boolean;
70
+ }
71
+
72
+ // @public (undocumented)
73
+ export type TablePlugin = NextEditorPlugin<'table', {
74
+ pluginConfiguration: TablePluginOptions | undefined;
75
+ actions: {
76
+ insertTable: InsertTableAction;
77
+ };
78
+ dependencies: [
79
+ AnalyticsPlugin,
80
+ ContentInsertionPlugin,
81
+ WidthPlugin,
82
+ GuidelinePlugin
83
+ ];
84
+ }>;
85
+
86
+ // @public (undocumented)
87
+ interface TablePluginOptions {
88
+ // (undocumented)
89
+ allowContextualMenu?: boolean;
90
+ // (undocumented)
91
+ breakoutEnabled?: boolean;
92
+ // (undocumented)
93
+ editorSelectionAPI?: EditorSelectionAPI;
94
+ // (undocumented)
95
+ fullWidthEnabled?: boolean;
96
+ // (undocumented)
97
+ getEditorFeatureFlags?: GetEditorFeatureFlags;
98
+ // (undocumented)
99
+ tableOptions: PluginConfig;
100
+ // (undocumented)
101
+ tableResizingEnabled?: boolean;
102
+ // (undocumented)
103
+ wasFullWidthEnabled?: boolean;
104
+ }
105
+
106
+ // @public (undocumented)
107
+ export const tablesPlugin: TablePlugin;
108
+
109
+ // (No @packageDocumentation comment for this package)
110
+
111
+ ```