@atlaskit/editor-plugin-table 7.5.4 → 7.5.6

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 (236) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/commands/column-resize.js +3 -3
  3. package/dist/cjs/commands/delete.js +2 -2
  4. package/dist/cjs/commands/insert.js +15 -15
  5. package/dist/cjs/commands-with-analytics.js +7 -7
  6. package/dist/cjs/event-handlers.js +27 -11
  7. package/dist/cjs/nodeviews/OverflowShadowsObserver.js +24 -15
  8. package/dist/cjs/nodeviews/TableCell.js +5 -30
  9. package/dist/cjs/nodeviews/TableComponent.js +120 -83
  10. package/dist/cjs/nodeviews/TableContainer.js +23 -21
  11. package/dist/cjs/nodeviews/TableResizer.js +13 -13
  12. package/dist/cjs/nodeviews/table.js +9 -9
  13. package/dist/cjs/plugin.js +60 -59
  14. package/dist/cjs/pm-plugins/drag-and-drop/plugin.js +13 -13
  15. package/dist/cjs/pm-plugins/keymap.js +6 -8
  16. package/dist/cjs/pm-plugins/main.js +7 -24
  17. package/dist/cjs/pm-plugins/sticky-headers/plugin.js +2 -3
  18. package/dist/cjs/pm-plugins/table-resizing/event-handlers.js +12 -12
  19. package/dist/cjs/pm-plugins/table-resizing/utils/colgroup.js +2 -2
  20. package/dist/cjs/pm-plugins/table-resizing/utils/consts.js +4 -2
  21. package/dist/cjs/pm-plugins/table-resizing/utils/index.js +2 -2
  22. package/dist/cjs/pm-plugins/table-resizing/utils/misc.js +3 -3
  23. package/dist/cjs/pm-plugins/table-resizing/utils/resize-column.js +3 -3
  24. package/dist/cjs/pm-plugins/table-resizing/utils/resize-state.js +11 -12
  25. package/dist/cjs/pm-plugins/table-resizing/utils/scale-table.js +13 -13
  26. package/dist/cjs/pm-plugins/table-width.js +6 -2
  27. package/dist/cjs/toolbar.js +21 -21
  28. package/dist/cjs/transforms/column-width.js +4 -4
  29. package/dist/cjs/transforms/delete-columns.js +2 -2
  30. package/dist/cjs/ui/FloatingContextualMenu/ContextualMenu.js +53 -55
  31. package/dist/cjs/ui/FloatingContextualMenu/index.js +2 -4
  32. package/dist/cjs/ui/FloatingDragMenu/DragMenu.js +2 -2
  33. package/dist/cjs/ui/FloatingDragMenu/index.js +6 -6
  34. package/dist/cjs/ui/FloatingInsertButton/index.js +6 -7
  35. package/dist/cjs/ui/TableFloatingColumnControls/index.js +8 -48
  36. package/dist/cjs/ui/TableFloatingControls/index.js +113 -223
  37. package/dist/cjs/utils/column-controls.js +5 -5
  38. package/dist/cjs/utils/create.js +2 -5
  39. package/dist/cjs/utils/dom.js +13 -15
  40. package/dist/cjs/utils/drag-menu.js +4 -4
  41. package/dist/es2019/commands/column-resize.js +3 -3
  42. package/dist/es2019/commands/delete.js +2 -2
  43. package/dist/es2019/commands/insert.js +12 -12
  44. package/dist/es2019/commands-with-analytics.js +6 -6
  45. package/dist/es2019/event-handlers.js +27 -11
  46. package/dist/es2019/nodeviews/OverflowShadowsObserver.js +24 -15
  47. package/dist/es2019/nodeviews/TableCell.js +1 -24
  48. package/dist/es2019/nodeviews/TableComponent.js +88 -63
  49. package/dist/es2019/nodeviews/TableContainer.js +20 -22
  50. package/dist/es2019/nodeviews/TableResizer.js +13 -13
  51. package/dist/es2019/nodeviews/table.js +9 -9
  52. package/dist/es2019/plugin.js +19 -20
  53. package/dist/es2019/pm-plugins/drag-and-drop/plugin.js +6 -6
  54. package/dist/es2019/pm-plugins/keymap.js +5 -8
  55. package/dist/es2019/pm-plugins/main.js +6 -23
  56. package/dist/es2019/pm-plugins/sticky-headers/plugin.js +1 -1
  57. package/dist/es2019/pm-plugins/table-resizing/event-handlers.js +5 -5
  58. package/dist/es2019/pm-plugins/table-resizing/utils/colgroup.js +2 -2
  59. package/dist/es2019/pm-plugins/table-resizing/utils/consts.js +3 -1
  60. package/dist/es2019/pm-plugins/table-resizing/utils/index.js +1 -1
  61. package/dist/es2019/pm-plugins/table-resizing/utils/misc.js +2 -2
  62. package/dist/es2019/pm-plugins/table-resizing/utils/resize-column.js +3 -2
  63. package/dist/es2019/pm-plugins/table-resizing/utils/resize-state.js +12 -13
  64. package/dist/es2019/pm-plugins/table-resizing/utils/scale-table.js +13 -13
  65. package/dist/es2019/pm-plugins/table-width.js +6 -2
  66. package/dist/es2019/toolbar.js +15 -15
  67. package/dist/es2019/transforms/column-width.js +5 -5
  68. package/dist/es2019/transforms/delete-columns.js +2 -2
  69. package/dist/es2019/ui/FloatingContextualMenu/ContextualMenu.js +9 -12
  70. package/dist/es2019/ui/FloatingContextualMenu/index.js +2 -4
  71. package/dist/es2019/ui/FloatingDragMenu/DragMenu.js +2 -2
  72. package/dist/es2019/ui/FloatingDragMenu/index.js +5 -5
  73. package/dist/es2019/ui/FloatingInsertButton/index.js +5 -6
  74. package/dist/es2019/ui/TableFloatingColumnControls/index.js +5 -27
  75. package/dist/es2019/ui/TableFloatingControls/index.js +119 -193
  76. package/dist/es2019/utils/column-controls.js +6 -6
  77. package/dist/es2019/utils/create.js +2 -5
  78. package/dist/es2019/utils/dom.js +13 -15
  79. package/dist/es2019/utils/drag-menu.js +4 -4
  80. package/dist/esm/commands/column-resize.js +3 -3
  81. package/dist/esm/commands/delete.js +2 -2
  82. package/dist/esm/commands/insert.js +15 -15
  83. package/dist/esm/commands-with-analytics.js +7 -7
  84. package/dist/esm/event-handlers.js +27 -11
  85. package/dist/esm/nodeviews/OverflowShadowsObserver.js +24 -15
  86. package/dist/esm/nodeviews/TableCell.js +5 -30
  87. package/dist/esm/nodeviews/TableComponent.js +119 -82
  88. package/dist/esm/nodeviews/TableContainer.js +24 -22
  89. package/dist/esm/nodeviews/TableResizer.js +13 -13
  90. package/dist/esm/nodeviews/table.js +9 -9
  91. package/dist/esm/plugin.js +60 -59
  92. package/dist/esm/pm-plugins/drag-and-drop/plugin.js +13 -13
  93. package/dist/esm/pm-plugins/keymap.js +6 -8
  94. package/dist/esm/pm-plugins/main.js +7 -24
  95. package/dist/esm/pm-plugins/sticky-headers/plugin.js +2 -3
  96. package/dist/esm/pm-plugins/table-resizing/event-handlers.js +12 -12
  97. package/dist/esm/pm-plugins/table-resizing/utils/colgroup.js +2 -2
  98. package/dist/esm/pm-plugins/table-resizing/utils/consts.js +3 -1
  99. package/dist/esm/pm-plugins/table-resizing/utils/index.js +1 -1
  100. package/dist/esm/pm-plugins/table-resizing/utils/misc.js +2 -2
  101. package/dist/esm/pm-plugins/table-resizing/utils/resize-column.js +4 -3
  102. package/dist/esm/pm-plugins/table-resizing/utils/resize-state.js +13 -14
  103. package/dist/esm/pm-plugins/table-resizing/utils/scale-table.js +13 -13
  104. package/dist/esm/pm-plugins/table-width.js +6 -2
  105. package/dist/esm/toolbar.js +21 -21
  106. package/dist/esm/transforms/column-width.js +5 -5
  107. package/dist/esm/transforms/delete-columns.js +2 -2
  108. package/dist/esm/ui/FloatingContextualMenu/ContextualMenu.js +53 -55
  109. package/dist/esm/ui/FloatingContextualMenu/index.js +2 -4
  110. package/dist/esm/ui/FloatingDragMenu/DragMenu.js +2 -2
  111. package/dist/esm/ui/FloatingDragMenu/index.js +6 -6
  112. package/dist/esm/ui/FloatingInsertButton/index.js +6 -7
  113. package/dist/esm/ui/TableFloatingColumnControls/index.js +8 -48
  114. package/dist/esm/ui/TableFloatingControls/index.js +113 -224
  115. package/dist/esm/utils/column-controls.js +6 -6
  116. package/dist/esm/utils/create.js +2 -5
  117. package/dist/esm/utils/dom.js +13 -15
  118. package/dist/esm/utils/drag-menu.js +4 -4
  119. package/dist/types/commands/column-resize.d.ts +1 -1
  120. package/dist/types/commands/delete.d.ts +1 -1
  121. package/dist/types/commands/insert.d.ts +7 -7
  122. package/dist/types/commands-with-analytics.d.ts +3 -3
  123. package/dist/types/event-handlers.d.ts +4 -5
  124. package/dist/types/nodeviews/OverflowShadowsObserver.d.ts +3 -1
  125. package/dist/types/nodeviews/TableCell.d.ts +1 -5
  126. package/dist/types/nodeviews/TableComponent.d.ts +6 -3
  127. package/dist/types/nodeviews/TableContainer.d.ts +6 -4
  128. package/dist/types/nodeviews/TableResizer.d.ts +2 -2
  129. package/dist/types/nodeviews/table.d.ts +1 -1
  130. package/dist/types/nodeviews/types.d.ts +1 -0
  131. package/dist/types/plugin.d.ts +1 -0
  132. package/dist/types/pm-plugins/drag-and-drop/plugin.d.ts +1 -2
  133. package/dist/types/pm-plugins/keymap.d.ts +2 -2
  134. package/dist/types/pm-plugins/main.d.ts +1 -1
  135. package/dist/types/pm-plugins/sticky-headers/plugin.d.ts +2 -3
  136. package/dist/types/pm-plugins/table-resizing/utils/colgroup.d.ts +1 -1
  137. package/dist/types/pm-plugins/table-resizing/utils/consts.d.ts +1 -0
  138. package/dist/types/pm-plugins/table-resizing/utils/index.d.ts +1 -1
  139. package/dist/types/pm-plugins/table-resizing/utils/misc.d.ts +1 -1
  140. package/dist/types/pm-plugins/table-resizing/utils/resize-column.d.ts +2 -1
  141. package/dist/types/pm-plugins/table-resizing/utils/resize-state.d.ts +4 -4
  142. package/dist/types/pm-plugins/table-resizing/utils/scale-table.d.ts +4 -4
  143. package/dist/types/pm-plugins/table-width.d.ts +1 -2
  144. package/dist/types/toolbar.d.ts +2 -2
  145. package/dist/types/transforms/column-width.d.ts +1 -1
  146. package/dist/types/transforms/delete-columns.d.ts +1 -1
  147. package/dist/types/types.d.ts +1 -3
  148. package/dist/types/ui/FloatingContextualMenu/index.d.ts +1 -1
  149. package/dist/types/ui/FloatingDragMenu/DragMenu.d.ts +2 -2
  150. package/dist/types/ui/FloatingDragMenu/index.d.ts +2 -3
  151. package/dist/types/ui/FloatingInsertButton/index.d.ts +1 -2
  152. package/dist/types/ui/TableFloatingColumnControls/index.d.ts +2 -1
  153. package/dist/types/ui/TableFloatingControls/index.d.ts +5 -22
  154. package/dist/types/utils/create.d.ts +1 -2
  155. package/dist/types/utils/dom.d.ts +10 -2
  156. package/dist/types/utils/drag-menu.d.ts +1 -1
  157. package/dist/types-ts4.5/commands/column-resize.d.ts +1 -1
  158. package/dist/types-ts4.5/commands/delete.d.ts +1 -1
  159. package/dist/types-ts4.5/commands/insert.d.ts +7 -7
  160. package/dist/types-ts4.5/commands-with-analytics.d.ts +3 -3
  161. package/dist/types-ts4.5/event-handlers.d.ts +4 -5
  162. package/dist/types-ts4.5/nodeviews/OverflowShadowsObserver.d.ts +3 -1
  163. package/dist/types-ts4.5/nodeviews/TableCell.d.ts +1 -5
  164. package/dist/types-ts4.5/nodeviews/TableComponent.d.ts +6 -3
  165. package/dist/types-ts4.5/nodeviews/TableContainer.d.ts +6 -4
  166. package/dist/types-ts4.5/nodeviews/TableResizer.d.ts +2 -2
  167. package/dist/types-ts4.5/nodeviews/table.d.ts +1 -1
  168. package/dist/types-ts4.5/nodeviews/types.d.ts +1 -0
  169. package/dist/types-ts4.5/plugin.d.ts +1 -0
  170. package/dist/types-ts4.5/pm-plugins/drag-and-drop/plugin.d.ts +1 -2
  171. package/dist/types-ts4.5/pm-plugins/keymap.d.ts +2 -2
  172. package/dist/types-ts4.5/pm-plugins/main.d.ts +1 -1
  173. package/dist/types-ts4.5/pm-plugins/sticky-headers/plugin.d.ts +2 -3
  174. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/colgroup.d.ts +1 -1
  175. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/consts.d.ts +1 -0
  176. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/index.d.ts +1 -1
  177. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/misc.d.ts +1 -1
  178. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-column.d.ts +2 -1
  179. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/resize-state.d.ts +4 -4
  180. package/dist/types-ts4.5/pm-plugins/table-resizing/utils/scale-table.d.ts +4 -4
  181. package/dist/types-ts4.5/pm-plugins/table-width.d.ts +1 -2
  182. package/dist/types-ts4.5/toolbar.d.ts +2 -2
  183. package/dist/types-ts4.5/transforms/column-width.d.ts +1 -1
  184. package/dist/types-ts4.5/transforms/delete-columns.d.ts +1 -1
  185. package/dist/types-ts4.5/types.d.ts +1 -3
  186. package/dist/types-ts4.5/ui/FloatingContextualMenu/index.d.ts +1 -1
  187. package/dist/types-ts4.5/ui/FloatingDragMenu/DragMenu.d.ts +2 -2
  188. package/dist/types-ts4.5/ui/FloatingDragMenu/index.d.ts +2 -3
  189. package/dist/types-ts4.5/ui/FloatingInsertButton/index.d.ts +1 -2
  190. package/dist/types-ts4.5/ui/TableFloatingColumnControls/index.d.ts +2 -1
  191. package/dist/types-ts4.5/ui/TableFloatingControls/index.d.ts +5 -22
  192. package/dist/types-ts4.5/utils/create.d.ts +1 -2
  193. package/dist/types-ts4.5/utils/dom.d.ts +10 -2
  194. package/dist/types-ts4.5/utils/drag-menu.d.ts +1 -1
  195. package/package.json +3 -4
  196. package/src/commands/column-resize.ts +4 -3
  197. package/src/commands/delete.ts +2 -2
  198. package/src/commands/insert.ts +15 -27
  199. package/src/commands-with-analytics.ts +6 -9
  200. package/src/event-handlers.ts +107 -105
  201. package/src/nodeviews/OverflowShadowsObserver.ts +32 -21
  202. package/src/nodeviews/TableCell.ts +0 -26
  203. package/src/nodeviews/TableComponent.tsx +107 -78
  204. package/src/nodeviews/TableContainer.tsx +26 -32
  205. package/src/nodeviews/TableResizer.tsx +15 -18
  206. package/src/nodeviews/table.tsx +6 -5
  207. package/src/nodeviews/types.ts +1 -0
  208. package/src/plugin.tsx +17 -32
  209. package/src/pm-plugins/drag-and-drop/plugin.ts +10 -15
  210. package/src/pm-plugins/keymap.ts +6 -13
  211. package/src/pm-plugins/main.ts +6 -25
  212. package/src/pm-plugins/sticky-headers/plugin.ts +2 -11
  213. package/src/pm-plugins/table-resizing/event-handlers.ts +6 -4
  214. package/src/pm-plugins/table-resizing/utils/colgroup.ts +2 -2
  215. package/src/pm-plugins/table-resizing/utils/consts.ts +2 -0
  216. package/src/pm-plugins/table-resizing/utils/index.ts +1 -1
  217. package/src/pm-plugins/table-resizing/utils/misc.ts +2 -2
  218. package/src/pm-plugins/table-resizing/utils/resize-column.ts +5 -2
  219. package/src/pm-plugins/table-resizing/utils/resize-state.ts +18 -13
  220. package/src/pm-plugins/table-resizing/utils/scale-table.ts +14 -14
  221. package/src/pm-plugins/table-width.ts +4 -6
  222. package/src/toolbar.tsx +16 -19
  223. package/src/transforms/column-width.ts +7 -6
  224. package/src/transforms/delete-columns.ts +2 -2
  225. package/src/types.ts +1 -4
  226. package/src/ui/FloatingContextualMenu/ContextualMenu.tsx +11 -16
  227. package/src/ui/FloatingContextualMenu/index.tsx +0 -2
  228. package/src/ui/FloatingDragMenu/DragMenu.tsx +3 -3
  229. package/src/ui/FloatingDragMenu/index.tsx +4 -8
  230. package/src/ui/FloatingInsertButton/index.tsx +11 -22
  231. package/src/ui/TableFloatingColumnControls/index.tsx +5 -29
  232. package/src/ui/TableFloatingControls/index.tsx +155 -241
  233. package/src/utils/column-controls.ts +5 -6
  234. package/src/utils/create.ts +2 -5
  235. package/src/utils/dom.ts +12 -19
  236. package/src/utils/drag-menu.ts +7 -12
@@ -72,7 +72,7 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
72
72
  _defineProperty(_assertThisInitialized(_this), "hasHoveredRows", false);
73
73
  _this.getPos = props.getPos;
74
74
  _this.eventDispatcher = props.eventDispatcher;
75
- _this.getEditorFeatureFlags = props.getEditorFeatureFlags;
75
+ _this.options = props.options;
76
76
  return _this;
77
77
  }
78
78
  _createClass(TableView, [{
@@ -80,12 +80,10 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
80
80
  value: function getContentDOM() {
81
81
  var rendered = DOMSerializer.renderSpec(document, toDOM(this.node, this.reactComponentProps));
82
82
  if (rendered.dom) {
83
+ var _this$options;
83
84
  this.table = rendered.dom;
84
- var _this$getEditorFeatur = this.getEditorFeatureFlags(),
85
- _this$getEditorFeatur2 = _this$getEditorFeatur.tablePreserveWidth,
86
- tablePreserveWidth = _this$getEditorFeatur2 === void 0 ? false : _this$getEditorFeatur2;
87
85
  // Preserve Table Width cannot have inline width set on the table
88
- if (!tablePreserveWidth) {
86
+ if (!((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.isTableScalingEnabled)) {
89
87
  var tableInlineWidth = getInlineWidth(this.node, this.reactComponentProps.options, this.reactComponentProps.view.state, this.reactComponentProps.getPos());
90
88
  if (tableInlineWidth) {
91
89
  handleInlineTableWidth(this.table, tableInlineWidth);
@@ -179,6 +177,7 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
179
177
  isHeaderRowEnabled: pluginState.isHeaderRowEnabled,
180
178
  isHeaderColumnEnabled: pluginState.isHeaderColumnEnabled,
181
179
  isDragAndDropEnabled: pluginState.isDragAndDropEnabled,
180
+ isTableScalingEnabled: pluginState.isTableScalingEnabled,
182
181
  tableActive: tableActive,
183
182
  ordering: pluginState.ordering,
184
183
  isResizing: isResizing,
@@ -187,8 +186,7 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
187
186
  contentDOM: forwardRef,
188
187
  getEditorFeatureFlags: props.getEditorFeatureFlags,
189
188
  dispatchAnalyticsEvent: props.dispatchAnalyticsEvent,
190
- pluginInjectionApi: props.pluginInjectionApi,
191
- tableRef: _this3.table
189
+ pluginInjectionApi: props.pluginInjectionApi
192
190
  });
193
191
  }
194
192
  });
@@ -261,7 +259,8 @@ export var createTableView = function createTableView(node, view, getPos, portal
261
259
  isFullWidthModeEnabled = _getPluginState2.isFullWidthModeEnabled,
262
260
  wasFullWidthModeEnabled = _getPluginState2.wasFullWidthModeEnabled,
263
261
  isTableResizingEnabled = _getPluginState2.isTableResizingEnabled,
264
- isDragAndDropEnabled = _getPluginState2.isDragAndDropEnabled;
262
+ isDragAndDropEnabled = _getPluginState2.isDragAndDropEnabled,
263
+ isTableScalingEnabled = _getPluginState2.isTableScalingEnabled;
265
264
  var _getPluginConfig = getPluginConfig(pluginConfig),
266
265
  allowColumnResizing = _getPluginConfig.allowColumnResizing;
267
266
  var hasIntlContext = true;
@@ -277,7 +276,8 @@ export var createTableView = function createTableView(node, view, getPos, portal
277
276
  isFullWidthModeEnabled: isFullWidthModeEnabled,
278
277
  wasFullWidthModeEnabled: wasFullWidthModeEnabled,
279
278
  isTableResizingEnabled: isTableResizingEnabled,
280
- isDragAndDropEnabled: isDragAndDropEnabled
279
+ isDragAndDropEnabled: isDragAndDropEnabled,
280
+ isTableScalingEnabled: isTableScalingEnabled
281
281
  },
282
282
  getEditorContainerWidth: getEditorContainerWidth,
283
283
  getEditorFeatureFlags: getEditorFeatureFlags,
@@ -18,6 +18,7 @@ import { createPlugin as createDecorationsPlugin } from './pm-plugins/decoration
18
18
  import { createPlugin as createDragAndDropPlugin, pluginKey as dragAndDropPluginKey } from './pm-plugins/drag-and-drop';
19
19
  import { keymapPlugin } from './pm-plugins/keymap';
20
20
  import { createPlugin } from './pm-plugins/main';
21
+ import { getPluginState } from './pm-plugins/plugin-factory';
21
22
  import { pluginKey } from './pm-plugins/plugin-key';
22
23
  import { createPlugin as createTableSafariDeleteCompositionTextIssueWorkaroundPlugin } from './pm-plugins/safari-delete-composition-text-issue-workaround';
23
24
  import { createPlugin as createStickyHeadersPlugin, findStickyHeaderForTable, pluginKey as stickyHeadersPluginKey } from './pm-plugins/sticky-headers';
@@ -49,11 +50,10 @@ var tablesPlugin = function tablesPlugin(_ref) {
49
50
  current: null
50
51
  };
51
52
  var defaultGetEditorContainerWidth = function defaultGetEditorContainerWidth() {
52
- var _document$body$offset, _document, _api$width$sharedStat, _api$width;
53
- var defaultState = {
53
+ var _api$width$sharedStat, _api$width, _document$body$offset, _document;
54
+ return (_api$width$sharedStat = api === null || api === void 0 || (_api$width = api.width) === null || _api$width === void 0 ? void 0 : _api$width.sharedState.currentState()) !== null && _api$width$sharedStat !== void 0 ? _api$width$sharedStat : {
54
55
  width: (_document$body$offset = (_document = document) === null || _document === void 0 || (_document = _document.body) === null || _document === void 0 ? void 0 : _document.offsetWidth) !== null && _document$body$offset !== void 0 ? _document$body$offset : 500
55
56
  };
56
- return (_api$width$sharedStat = api === null || api === void 0 || (_api$width = api.width) === null || _api$width === void 0 ? void 0 : _api$width.sharedState.currentState()) !== null && _api$width$sharedStat !== void 0 ? _api$width$sharedStat : defaultState;
57
57
  };
58
58
  var editorAnalyticsAPI = api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
59
59
  return {
@@ -70,7 +70,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
70
70
  insertTable: function insertTable(analyticsPayload) {
71
71
  return function (state, dispatch) {
72
72
  var _api$contentInsertion, _api$contentInsertion2;
73
- var node = createTableWithWidth(options === null || options === void 0 ? void 0 : options.fullWidthEnabled, options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags)(state.schema);
73
+ var node = createTableWithWidth(options === null || options === void 0 ? void 0 : options.isTableScalingEnabled, options === null || options === void 0 ? void 0 : options.fullWidthEnabled)(state.schema);
74
74
  return (_api$contentInsertion = api === null || api === void 0 || (_api$contentInsertion2 = api.contentInsertion) === null || _api$contentInsertion2 === void 0 || (_api$contentInsertion2 = _api$contentInsertion2.actions) === null || _api$contentInsertion2 === void 0 ? void 0 : _api$contentInsertion2.insert({
75
75
  state: state,
76
76
  dispatch: dispatch,
@@ -84,7 +84,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
84
84
  }
85
85
  },
86
86
  commands: {
87
- insertTableWithSize: insertTableWithSize(options === null || options === void 0 ? void 0 : options.fullWidthEnabled, options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags, api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions)
87
+ insertTableWithSize: insertTableWithSize(options === null || options === void 0 ? void 0 : options.fullWidthEnabled, options === null || options === void 0 ? void 0 : options.isTableScalingEnabled, api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions)
88
88
  },
89
89
  nodes: function nodes() {
90
90
  var tableNode = options !== null && options !== void 0 && options.tableResizingEnabled ? tableWithCustomWidth : table;
@@ -118,8 +118,9 @@ var tablesPlugin = function tablesPlugin(_ref) {
118
118
  breakoutEnabled = _ref3.breakoutEnabled,
119
119
  tableOptions = _ref3.tableOptions,
120
120
  getEditorFeatureFlags = _ref3.getEditorFeatureFlags,
121
- dragAndDropEnabled = _ref3.dragAndDropEnabled;
122
- return createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig(tableOptions), defaultGetEditorContainerWidth, getEditorFeatureFlags || defaultGetEditorFeatureFlags, getIntl, breakoutEnabled, tableResizingEnabled, fullWidthEnabled, wasFullWidthEnabled, dragAndDropEnabled, editorAnalyticsAPI, api);
121
+ dragAndDropEnabled = _ref3.dragAndDropEnabled,
122
+ isTableScalingEnabled = _ref3.isTableScalingEnabled;
123
+ return createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig(tableOptions), defaultGetEditorContainerWidth, getEditorFeatureFlags || defaultGetEditorFeatureFlags, getIntl, breakoutEnabled, tableResizingEnabled, fullWidthEnabled, wasFullWidthEnabled, dragAndDropEnabled, editorAnalyticsAPI, api, isTableScalingEnabled);
123
124
  }
124
125
  }, {
125
126
  name: 'tablePMColResizing',
@@ -148,8 +149,9 @@ var tablesPlugin = function tablesPlugin(_ref) {
148
149
  plugin: function plugin() {
149
150
  var _ref6 = options || {},
150
151
  dragAndDropEnabled = _ref6.dragAndDropEnabled,
151
- getEditorFeatureFlags = _ref6.getEditorFeatureFlags;
152
- return keymapPlugin(defaultGetEditorContainerWidth, editorAnalyticsAPI, getEditorFeatureFlags, dragAndDropEnabled);
152
+ _ref6$isTableScalingE = _ref6.isTableScalingEnabled,
153
+ isTableScalingEnabled = _ref6$isTableScalingE === void 0 ? false : _ref6$isTableScalingE;
154
+ return keymapPlugin(defaultGetEditorContainerWidth, editorAnalyticsAPI, dragAndDropEnabled, isTableScalingEnabled);
153
155
  }
154
156
  }, {
155
157
  name: 'tableSelectionKeymap',
@@ -183,47 +185,45 @@ var tablesPlugin = function tablesPlugin(_ref) {
183
185
  plugin: function plugin(_ref9) {
184
186
  var dispatch = _ref9.dispatch,
185
187
  eventDispatcher = _ref9.eventDispatcher;
186
- return options && options.tableOptions.stickyHeaders ? createStickyHeadersPlugin(dispatch, eventDispatcher, function () {
188
+ return options && options.tableOptions.stickyHeaders ? createStickyHeadersPlugin(dispatch, function () {
187
189
  return [];
188
- }, (options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) || defaultGetEditorFeatureFlags) : undefined;
190
+ }) : undefined;
189
191
  }
190
192
  }, {
191
193
  name: 'tableDragAndDrop',
192
194
  plugin: function plugin(_ref10) {
193
195
  var dispatch = _ref10.dispatch;
194
- var _ref11 = options || {},
195
- getEditorFeatureFlags = _ref11.getEditorFeatureFlags;
196
- return options !== null && options !== void 0 && options.dragAndDropEnabled ? createDragAndDropPlugin(dispatch, getEditorFeatureFlags, editorAnalyticsAPI) : undefined;
196
+ return options !== null && options !== void 0 && options.dragAndDropEnabled ? createDragAndDropPlugin(dispatch, editorAnalyticsAPI) : undefined;
197
197
  }
198
198
  }, {
199
199
  name: 'tableLocalId',
200
- plugin: function plugin(_ref12) {
201
- var dispatch = _ref12.dispatch;
200
+ plugin: function plugin(_ref11) {
201
+ var dispatch = _ref11.dispatch;
202
202
  return createTableLocalIdPlugin(dispatch);
203
203
  }
204
204
  }, {
205
205
  name: 'tableWidth',
206
- plugin: function plugin(_ref13) {
206
+ plugin: function plugin(_ref12) {
207
207
  var _options$fullWidthEna;
208
- var dispatchAnalyticsEvent = _ref13.dispatchAnalyticsEvent,
209
- dispatch = _ref13.dispatch;
210
- return options !== null && options !== void 0 && options.tableResizingEnabled ? createTableWidthPlugin(dispatch, dispatchAnalyticsEvent, (_options$fullWidthEna = options === null || options === void 0 ? void 0 : options.fullWidthEnabled) !== null && _options$fullWidthEna !== void 0 ? _options$fullWidthEna : false, options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) : undefined;
208
+ var dispatchAnalyticsEvent = _ref12.dispatchAnalyticsEvent,
209
+ dispatch = _ref12.dispatch;
210
+ return options !== null && options !== void 0 && options.tableResizingEnabled ? createTableWidthPlugin(dispatch, dispatchAnalyticsEvent, (_options$fullWidthEna = options === null || options === void 0 ? void 0 : options.fullWidthEnabled) !== null && _options$fullWidthEna !== void 0 ? _options$fullWidthEna : false) : undefined;
211
211
  }
212
212
  },
213
213
  // TODO: should be deprecated and eventually replaced with 'tableAnalyticsPlugin'
214
214
  {
215
215
  name: 'tableOverflowAnalyticsPlugin',
216
- plugin: function plugin(_ref14) {
216
+ plugin: function plugin(_ref13) {
217
217
  var _options$tableResizin;
218
- var dispatch = _ref14.dispatch,
219
- dispatchAnalyticsEvent = _ref14.dispatchAnalyticsEvent;
218
+ var dispatch = _ref13.dispatch,
219
+ dispatchAnalyticsEvent = _ref13.dispatchAnalyticsEvent;
220
220
  return createTableOverflowAnalyticsPlugin(dispatch, dispatchAnalyticsEvent, (_options$tableResizin = options === null || options === void 0 ? void 0 : options.tableResizingEnabled) !== null && _options$tableResizin !== void 0 ? _options$tableResizin : false);
221
221
  }
222
222
  }, {
223
223
  name: 'tableAnalyticsPlugin',
224
- plugin: function plugin(_ref15) {
225
- var dispatch = _ref15.dispatch,
226
- dispatchAnalyticsEvent = _ref15.dispatchAnalyticsEvent;
224
+ plugin: function plugin(_ref14) {
225
+ var dispatch = _ref14.dispatch,
226
+ dispatchAnalyticsEvent = _ref14.dispatchAnalyticsEvent;
227
227
  return getBooleanFF('platform.editor.table.analytics-plugin-moved-event') ? createTableAnalyticsPlugin(dispatch, dispatchAnalyticsEvent) : undefined;
228
228
  }
229
229
  }, {
@@ -254,12 +254,12 @@ var tablesPlugin = function tablesPlugin(_ref) {
254
254
  }
255
255
  return plugins;
256
256
  },
257
- contentComponent: function contentComponent(_ref16) {
258
- var editorView = _ref16.editorView,
259
- popupsMountPoint = _ref16.popupsMountPoint,
260
- popupsBoundariesElement = _ref16.popupsBoundariesElement,
261
- popupsScrollableElement = _ref16.popupsScrollableElement,
262
- dispatchAnalyticsEvent = _ref16.dispatchAnalyticsEvent;
257
+ contentComponent: function contentComponent(_ref15) {
258
+ var editorView = _ref15.editorView,
259
+ popupsMountPoint = _ref15.popupsMountPoint,
260
+ popupsBoundariesElement = _ref15.popupsBoundariesElement,
261
+ popupsScrollableElement = _ref15.popupsScrollableElement,
262
+ dispatchAnalyticsEvent = _ref15.dispatchAnalyticsEvent;
263
263
  return /*#__PURE__*/React.createElement(ErrorBoundary, {
264
264
  component: ACTION_SUBJECT.TABLES_PLUGIN,
265
265
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
@@ -273,30 +273,30 @@ var tablesPlugin = function tablesPlugin(_ref) {
273
273
  stickyHeadersState: stickyHeadersPluginKey,
274
274
  dragAndDropState: dragAndDropPluginKey
275
275
  },
276
- render: function render(_ref17) {
277
- var resizingPluginState = _ref17.tableResizingPluginState,
278
- stickyHeadersState = _ref17.stickyHeadersState,
279
- tablePluginState = _ref17.tablePluginState,
280
- tableWidthPluginState = _ref17.tableWidthPluginState,
281
- dragAndDropState = _ref17.dragAndDropState;
276
+ render: function render(_ref16) {
277
+ var resizingPluginState = _ref16.tableResizingPluginState,
278
+ stickyHeadersState = _ref16.stickyHeadersState,
279
+ tablePluginState = _ref16.tablePluginState,
280
+ tableWidthPluginState = _ref16.tableWidthPluginState,
281
+ dragAndDropState = _ref16.dragAndDropState;
282
282
  var state = editorView.state;
283
283
  var isColumnResizing = resizingPluginState === null || resizingPluginState === void 0 ? void 0 : resizingPluginState.dragging;
284
284
  var isTableResizing = tableWidthPluginState === null || tableWidthPluginState === void 0 ? void 0 : tableWidthPluginState.resizing;
285
285
  var isResizing = isColumnResizing || isTableResizing;
286
- var _ref18 = tablePluginState,
287
- tableNode = _ref18.tableNode,
288
- tablePos = _ref18.tablePos,
289
- targetCellPosition = _ref18.targetCellPosition,
290
- isContextualMenuOpen = _ref18.isContextualMenuOpen,
291
- layout = _ref18.layout,
292
- tableRef = _ref18.tableRef,
293
- pluginConfig = _ref18.pluginConfig,
294
- insertColumnButtonIndex = _ref18.insertColumnButtonIndex,
295
- insertRowButtonIndex = _ref18.insertRowButtonIndex,
296
- isHeaderColumnEnabled = _ref18.isHeaderColumnEnabled,
297
- isHeaderRowEnabled = _ref18.isHeaderRowEnabled,
298
- isDragAndDropEnabled = _ref18.isDragAndDropEnabled,
299
- tableWrapperTarget = _ref18.tableWrapperTarget;
286
+ var _ref17 = tablePluginState,
287
+ tableNode = _ref17.tableNode,
288
+ tablePos = _ref17.tablePos,
289
+ targetCellPosition = _ref17.targetCellPosition,
290
+ isContextualMenuOpen = _ref17.isContextualMenuOpen,
291
+ layout = _ref17.layout,
292
+ tableRef = _ref17.tableRef,
293
+ pluginConfig = _ref17.pluginConfig,
294
+ insertColumnButtonIndex = _ref17.insertColumnButtonIndex,
295
+ insertRowButtonIndex = _ref17.insertRowButtonIndex,
296
+ isHeaderColumnEnabled = _ref17.isHeaderColumnEnabled,
297
+ isHeaderRowEnabled = _ref17.isHeaderRowEnabled,
298
+ isDragAndDropEnabled = _ref17.isDragAndDropEnabled,
299
+ tableWrapperTarget = _ref17.tableWrapperTarget;
300
300
  var allowControls = pluginConfig.allowControls;
301
301
  var stickyHeader = stickyHeadersState ? findStickyHeaderForTable(stickyHeadersState, tablePos) : undefined;
302
302
  var LayoutContent = options && !options.tableResizingEnabled && isLayoutSupported(state) && options.breakoutEnabled ? /*#__PURE__*/React.createElement(LayoutButton, {
@@ -337,8 +337,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
337
337
  hasStickyHeaders: stickyHeader && stickyHeader.sticky,
338
338
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
339
339
  editorAnalyticsAPI: editorAnalyticsAPI,
340
- getEditorContainerWidth: defaultGetEditorContainerWidth,
341
- getEditorFeatureFlags: (options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) || defaultGetEditorFeatureFlags
340
+ getEditorContainerWidth: defaultGetEditorContainerWidth
342
341
  }), (options === null || options === void 0 ? void 0 : options.allowContextualMenu) && /*#__PURE__*/React.createElement(FloatingContextualMenu, {
343
342
  editorView: editorView,
344
343
  mountPoint: popupsMountPoint,
@@ -362,8 +361,7 @@ var tablesPlugin = function tablesPlugin(_ref) {
362
361
  getEditorContainerWidth: defaultGetEditorContainerWidth,
363
362
  editorAnalyticsAPI: editorAnalyticsAPI,
364
363
  stickyHeaders: stickyHeader,
365
- pluginConfig: pluginConfig,
366
- getEditorFeatureFlags: (options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags) || defaultGetEditorFeatureFlags
364
+ pluginConfig: pluginConfig
367
365
  }), allowControls && !isDragAndDropEnabled && !isResizing && /*#__PURE__*/React.createElement(FloatingDeleteButton, {
368
366
  editorView: editorView,
369
367
  selection: editorView.state.selection,
@@ -379,8 +377,8 @@ var tablesPlugin = function tablesPlugin(_ref) {
379
377
  }));
380
378
  },
381
379
  pluginsOptions: {
382
- quickInsert: function quickInsert(_ref19) {
383
- var formatMessage = _ref19.formatMessage;
380
+ quickInsert: function quickInsert(_ref18) {
381
+ var formatMessage = _ref18.formatMessage;
384
382
  return [{
385
383
  id: 'table',
386
384
  title: formatMessage(messages.table),
@@ -395,7 +393,10 @@ var tablesPlugin = function tablesPlugin(_ref) {
395
393
  var _api$table;
396
394
  // see comment on tablesPlugin.getSharedState on usage
397
395
  var tableState = api === null || api === void 0 || (_api$table = api.table) === null || _api$table === void 0 ? void 0 : _api$table.sharedState.currentState();
398
- var tr = insert(createTableWithWidth(tableState === null || tableState === void 0 ? void 0 : tableState.isFullWidthModeEnabled, options === null || options === void 0 ? void 0 : options.getEditorFeatureFlags)(state.schema));
396
+ var _getPluginState = getPluginState(state),
397
+ _getPluginState$isTab = _getPluginState.isTableScalingEnabled,
398
+ isTableScalingEnabled = _getPluginState$isTab === void 0 ? false : _getPluginState$isTab;
399
+ var tr = insert(createTableWithWidth(isTableScalingEnabled, tableState === null || tableState === void 0 ? void 0 : tableState.isFullWidthModeEnabled)(state.schema));
399
400
  editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
400
401
  action: ACTION.INSERTED,
401
402
  actionSubject: ACTION_SUBJECT.DOCUMENT,
@@ -17,7 +17,7 @@ import { DropTargetType } from './consts';
17
17
  import { createPluginState, getPluginState } from './plugin-factory';
18
18
  import { pluginKey } from './plugin-key';
19
19
  import { getDraggableDataFromEvent } from './utils/monitor';
20
- var destroyFn = function destroyFn(editorView, editorAnalyticsAPI, getEditorFeatureFlags) {
20
+ var destroyFn = function destroyFn(editorView, editorAnalyticsAPI) {
21
21
  var editorPageScrollContainer = document.querySelector('.fabric-editor-popup-scroll-parent');
22
22
  var rowAutoScrollers = editorPageScrollContainer ? [monitorForElements({
23
23
  canMonitor: function canMonitor(_ref) {
@@ -147,10 +147,10 @@ var destroyFn = function destroyFn(editorView, editorAnalyticsAPI, getEditorFeat
147
147
  tableRef = _getTablePluginState3.tableRef,
148
148
  tableNode = _getTablePluginState3.tableNode;
149
149
  if (tableRef && tableNode) {
150
- var _ref8 = (getEditorFeatureFlags === null || getEditorFeatureFlags === void 0 ? void 0 : getEditorFeatureFlags()) || {},
151
- _ref8$tablePreserveWi = _ref8.tablePreserveWidth,
152
- tablePreserveWidth = _ref8$tablePreserveWi === void 0 ? false : _ref8$tablePreserveWi;
153
- insertColgroupFromNode(tableRef, tableNode, tablePreserveWidth);
150
+ var _getTablePluginState4 = getTablePluginState(editorView.state),
151
+ _getTablePluginState5 = _getTablePluginState4.isTableScalingEnabled,
152
+ isTableScalingEnabled = _getTablePluginState5 === void 0 ? false : _getTablePluginState5;
153
+ insertColgroupFromNode(tableRef, tableNode, isTableScalingEnabled);
154
154
  }
155
155
  }
156
156
  editorView.focus();
@@ -158,7 +158,7 @@ var destroyFn = function destroyFn(editorView, editorAnalyticsAPI, getEditorFeat
158
158
  }
159
159
  })]));
160
160
  };
161
- export var createPlugin = function createPlugin(dispatch, getEditorFeatureFlags, editorAnalyticsAPI) {
161
+ export var createPlugin = function createPlugin(dispatch, editorAnalyticsAPI) {
162
162
  return new SafePlugin({
163
163
  state: createPluginState(dispatch, function (state) {
164
164
  return {
@@ -173,10 +173,10 @@ export var createPlugin = function createPlugin(dispatch, getEditorFeatureFlags,
173
173
  }),
174
174
  key: pluginKey,
175
175
  appendTransaction: function appendTransaction(transactions, oldState, newState) {
176
- var _getTablePluginState4 = getTablePluginState(oldState),
177
- oldTargetCellPosition = _getTablePluginState4.targetCellPosition;
178
- var _getTablePluginState5 = getTablePluginState(newState),
179
- newTargetCellPosition = _getTablePluginState5.targetCellPosition;
176
+ var _getTablePluginState6 = getTablePluginState(oldState),
177
+ oldTargetCellPosition = _getTablePluginState6.targetCellPosition;
178
+ var _getTablePluginState7 = getTablePluginState(newState),
179
+ newTargetCellPosition = _getTablePluginState7.targetCellPosition;
180
180
  var _getPluginState = getPluginState(newState),
181
181
  isDragMenuOpen = _getPluginState.isDragMenuOpen,
182
182
  dragMenuIndex = _getPluginState.dragMenuIndex;
@@ -226,7 +226,7 @@ export var createPlugin = function createPlugin(dispatch, getEditorFeatureFlags,
226
226
  },
227
227
  view: function view(editorView) {
228
228
  return {
229
- destroy: destroyFn(editorView, editorAnalyticsAPI, getEditorFeatureFlags)
229
+ destroy: destroyFn(editorView, editorAnalyticsAPI)
230
230
  };
231
231
  },
232
232
  props: {
@@ -236,7 +236,7 @@ export var createPlugin = function createPlugin(dispatch, getEditorFeatureFlags,
236
236
  return decorationSet;
237
237
  },
238
238
  handleKeyDown: function handleKeyDown(view, event) {
239
- var _ref9;
239
+ var _ref8;
240
240
  var tr = view.state.tr;
241
241
  var keysToTrapWhen = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
242
242
 
@@ -257,7 +257,7 @@ export var createPlugin = function createPlugin(dispatch, getEditorFeatureFlags,
257
257
  return true;
258
258
  }
259
259
  }
260
- var isDragHandleFocused = ['drag-handle-button-row', 'drag-handle-button-column'].includes((_ref9 = event.target || null) === null || _ref9 === void 0 ? void 0 : _ref9.id);
260
+ var isDragHandleFocused = ['drag-handle-button-row', 'drag-handle-button-column'].includes((_ref8 = event.target || null) === null || _ref8 === void 0 ? void 0 : _ref8.id);
261
261
  var keysToTrap = ['Enter', ' '];
262
262
  var _getPluginState3 = getPluginState(view.state),
263
263
  isDragMenuOpen = _getPluginState3.isDragMenuOpen;
@@ -20,7 +20,8 @@ var createTableWithAnalytics = function createTableWithAnalytics(editorAnalytics
20
20
  eventType: EVENT_TYPE.TRACK
21
21
  })(editorAnalyticsAPI)(createTable());
22
22
  };
23
- export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, getEditorFeatureFlags, dragAndDropEnabled) {
23
+ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, dragAndDropEnabled) {
24
+ var isTableScalingEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
24
25
  var list = {};
25
26
  bindKeymapWithCommand(nextCell.common, goToNextCell(editorAnalyticsAPI)(1), list);
26
27
  bindKeymapWithCommand(previousCell.common, goToNextCell(editorAnalyticsAPI)(-1), list);
@@ -31,8 +32,8 @@ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, getEdi
31
32
  // Add row/column shortcuts
32
33
  bindKeymapWithCommand(addRowBefore.common, addRowAroundSelection(editorAnalyticsAPI)('TOP'), list);
33
34
  bindKeymapWithCommand(addRowAfter.common, addRowAroundSelection(editorAnalyticsAPI)('BOTTOM'), list);
34
- bindKeymapWithCommand(addColumnBefore.common, addColumnBeforeCommand(getEditorContainerWidth), list);
35
- bindKeymapWithCommand(addColumnAfter.common, addColumnAfterCommand(getEditorContainerWidth), list);
35
+ bindKeymapWithCommand(addColumnBefore.common, addColumnBeforeCommand(isTableScalingEnabled), list);
36
+ bindKeymapWithCommand(addColumnAfter.common, addColumnAfterCommand(isTableScalingEnabled), list);
36
37
  if (dragAndDropEnabled) {
37
38
  // Move row/column shortcuts
38
39
  /**
@@ -52,14 +53,11 @@ export function keymapPlugin(getEditorContainerWidth, editorAnalyticsAPI, getEdi
52
53
  bindKeymapWithCommand(deleteRow.common, deleteSelectedRowsOrColumnsWithAnalyticsViaShortcut(editorAnalyticsAPI), list);
53
54
  }
54
55
  if (getBooleanFF('platform.editor.a11y-column-resizing_emcvz')) {
55
- var _ref = getEditorFeatureFlags ? getEditorFeatureFlags() : {},
56
- _ref$tablePreserveWid = _ref.tablePreserveWidth,
57
- tablePreserveWidth = _ref$tablePreserveWid === void 0 ? false : _ref$tablePreserveWid;
58
56
  bindKeymapWithCommand(startColumnResizing.common, initiateKeyboardColumnResizing, list);
59
57
  bindKeymapWithCommand(moveRight.common, activateNextResizeArea(1), list);
60
58
  bindKeymapWithCommand(moveLeft.common, activateNextResizeArea(-1), list);
61
- bindKeymapWithCommand(decreaseMediaSize.common, changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI)(-10, getEditorContainerWidth, tablePreserveWidth, INPUT_METHOD.SHORTCUT), list);
62
- bindKeymapWithCommand(increaseMediaSize.common, changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI)(10, getEditorContainerWidth, tablePreserveWidth, INPUT_METHOD.SHORTCUT), list);
59
+ bindKeymapWithCommand(decreaseMediaSize.common, changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI)(-10, getEditorContainerWidth, isTableScalingEnabled, INPUT_METHOD.SHORTCUT), list);
60
+ bindKeymapWithCommand(increaseMediaSize.common, changeColumnWidthByStepWithAnalytics(editorAnalyticsAPI)(10, getEditorContainerWidth, isTableScalingEnabled, INPUT_METHOD.SHORTCUT), list);
63
61
  bindKeymapWithCommand(escape.common, stopKeyboardColumnResizing(), list);
64
62
  }
65
63
  return keymap(list);
@@ -25,8 +25,7 @@ import { isHeaderRowRequired } from '../utils/paste';
25
25
  import { defaultHoveredCell, defaultTableSelection } from './default-table-selection';
26
26
  import { createPluginState, getPluginState } from './plugin-factory';
27
27
  import { pluginKey } from './plugin-key';
28
- export var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig, getEditorContainerWidth, getEditorFeatureFlags, getIntl, breakoutEnabled, tableResizingEnabled, fullWidthModeEnabled, previousFullWidthModeEnabled, dragAndDropEnabled, editorAnalyticsAPI, pluginInjectionApi) {
29
- var _window;
28
+ export var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig, getEditorContainerWidth, getEditorFeatureFlags, getIntl, breakoutEnabled, tableResizingEnabled, fullWidthModeEnabled, previousFullWidthModeEnabled, dragAndDropEnabled, editorAnalyticsAPI, pluginInjectionApi, isTableScalingEnabled) {
30
29
  var state = createPluginState(dispatch, _objectSpread(_objectSpread(_objectSpread({
31
30
  pluginConfig: pluginConfig,
32
31
  isTableHovered: false,
@@ -38,19 +37,11 @@ export var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch
38
37
  isTableResizingEnabled: tableResizingEnabled,
39
38
  isHeaderRowEnabled: !!pluginConfig.allowHeaderRow,
40
39
  isHeaderColumnEnabled: false,
41
- isDragAndDropEnabled: dragAndDropEnabled
40
+ isDragAndDropEnabled: dragAndDropEnabled,
41
+ isTableScalingEnabled: isTableScalingEnabled
42
42
  }, defaultHoveredCell), defaultTableSelection), {}, {
43
43
  getIntl: getIntl
44
44
  }));
45
- var elementContentRects = {};
46
- var observer = (_window = window) !== null && _window !== void 0 && _window.ResizeObserver ? new ResizeObserver(function (entries) {
47
- entries.forEach(function (entry) {
48
- if (!entry.target.id) {
49
- return;
50
- }
51
- elementContentRects[entry.target.id] = entry.contentRect;
52
- });
53
- }) : undefined;
54
45
 
55
46
  // Used to prevent invalid table cell spans being reported more than once per editor/document
56
47
  var invalidTableIds = [];
@@ -88,12 +79,9 @@ export var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch
88
79
  }
89
80
  });
90
81
  }
91
- var _getEditorFeatureFlag = getEditorFeatureFlags(),
92
- _getEditorFeatureFlag2 = _getEditorFeatureFlag.tablePreserveWidth,
93
- tablePreserveWidth = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2;
94
82
  if (tr) {
95
83
  // "fixTables" removes empty rows as we don't allow that in schema
96
- var updatedTr = handleCut(tr, oldState, newState, editorAnalyticsAPI, editorViewRef || undefined, tablePreserveWidth);
84
+ var updatedTr = handleCut(tr, oldState, newState, editorAnalyticsAPI, editorViewRef || undefined, isTableScalingEnabled);
97
85
  return fixTables(updatedTr) || updatedTr;
98
86
  }
99
87
  if (transactions.find(function (tr) {
@@ -156,11 +144,6 @@ export var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch
156
144
  } else if (pluginState.isResizeHandleWidgetAdded) {
157
145
  removeResizeHandleDecorations()(state, dispatch);
158
146
  }
159
- },
160
- destroy: function destroy() {
161
- if (observer) {
162
- observer.disconnect();
163
- }
164
147
  }
165
148
  };
166
149
  },
@@ -266,10 +249,10 @@ export var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch
266
249
  return new TableRow(node, view, getPos, eventDispatcher);
267
250
  },
268
251
  tableCell: function tableCell(node, view, getPos) {
269
- return new TableCell(node, view, getPos, eventDispatcher, observer);
252
+ return new TableCell(node, view, getPos, eventDispatcher);
270
253
  },
271
254
  tableHeader: function tableHeader(node, view, getPos) {
272
- return new TableCell(node, view, getPos, eventDispatcher, observer);
255
+ return new TableCell(node, view, getPos, eventDispatcher);
273
256
  }
274
257
  },
275
258
  handleDOMEvents: {
@@ -279,7 +262,7 @@ export var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch
279
262
  mouseover: withCellTracking(whenTableInFocus(handleMouseOver)),
280
263
  mouseleave: handleMouseLeave,
281
264
  mouseout: whenTableInFocus(handleMouseOut),
282
- mousemove: whenTableInFocus(handleMouseMove, elementContentRects),
265
+ mousemove: whenTableInFocus(handleMouseMove),
283
266
  mouseenter: handleMouseEnter,
284
267
  mouseup: whenTableInFocus(handleMouseUp),
285
268
  click: withCellTracking(whenTableInFocus(handleClick))
@@ -1,11 +1,10 @@
1
1
  import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
2
  import { pluginKey } from './plugin-key';
3
3
  import { createPluginState } from './plugin-state';
4
- export var createPlugin = function createPlugin(dispatch, eventDispatcher) {
5
- var initialState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {
4
+ export var createPlugin = function createPlugin(dispatch) {
5
+ var initialState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {
6
6
  return [];
7
7
  };
8
- var getEditorFeatureFlags = arguments.length > 3 ? arguments[3] : undefined;
9
8
  return new SafePlugin({
10
9
  state: createPluginState(dispatch, initialState),
11
10
  key: pluginKey
@@ -19,14 +19,14 @@ export var handleMouseDown = function handleMouseDown(view, event, localResizeHa
19
19
  dispatch = view.dispatch;
20
20
  var editorDisabled = !view.editable;
21
21
  var domAtPos = view.domAtPos.bind(view);
22
- var _getEditorFeatureFlag = getEditorFeatureFlags(),
23
- _getEditorFeatureFlag2 = _getEditorFeatureFlag.tablePreserveWidth,
24
- tablePreserveWidth = _getEditorFeatureFlag2 === void 0 ? false : _getEditorFeatureFlag2;
22
+ var _getTablePluginState = getTablePluginState(state),
23
+ _getTablePluginState$ = _getTablePluginState.isTableScalingEnabled,
24
+ isTableScalingEnabled = _getTablePluginState$ === void 0 ? false : _getTablePluginState$;
25
25
  if (editorDisabled || localResizeHandlePos === null || !pointsAtCell(state.doc.resolve(localResizeHandlePos))) {
26
26
  return false;
27
27
  }
28
- var _getTablePluginState = getTablePluginState(state),
29
- isKeyboardResize = _getTablePluginState.isKeyboardResize;
28
+ var _getTablePluginState2 = getTablePluginState(state),
29
+ isKeyboardResize = _getTablePluginState2.isKeyboardResize;
30
30
  event.preventDefault();
31
31
  var tr = view.state.tr;
32
32
  tr.setMeta(META_KEYS.OVERFLOW_TRIGGER, {
@@ -68,7 +68,7 @@ export var handleMouseDown = function handleMouseDown(view, event, localResizeHa
68
68
  tableRef: dom,
69
69
  start: start,
70
70
  domAtPos: domAtPos,
71
- tablePreserveWidth: tablePreserveWidth
71
+ isTableScalingEnabled: isTableScalingEnabled
72
72
  });
73
73
  if (evenColumns({
74
74
  resizeState: resizeState,
@@ -97,8 +97,8 @@ export var handleMouseDown = function handleMouseDown(view, event, localResizeHa
97
97
  var _getPluginState = getPluginState(state),
98
98
  dragging = _getPluginState.dragging,
99
99
  resizeHandlePos = _getPluginState.resizeHandlePos;
100
- var _getTablePluginState2 = getTablePluginState(state),
101
- isTableHovered = _getTablePluginState2.isTableHovered;
100
+ var _getTablePluginState3 = getTablePluginState(state),
101
+ isTableHovered = _getTablePluginState3.isTableHovered;
102
102
  if (resizeHandlePos === null) {
103
103
  return stopResizing()(state, dispatch);
104
104
  }
@@ -140,7 +140,7 @@ export var handleMouseDown = function handleMouseDown(view, event, localResizeHa
140
140
  var selectedColumns = selectionRect ? getSelectedColumnIndexes(selectionRect) : [];
141
141
  // only selected (or selected - 1) columns should be distributed
142
142
  var resizingSelectedColumns = selectedColumns.indexOf(colIndex) > -1 || selectedColumns.indexOf(colIndex + 1) > -1;
143
- var newResizeState = resizeColumn(resizeState, colIndex, clientX - startX, dom, resizingSelectedColumns ? selectedColumns : undefined, tablePreserveWidth);
143
+ var newResizeState = resizeColumn(resizeState, colIndex, clientX - startX, dom, originalTable, resizingSelectedColumns ? selectedColumns : undefined, isTableScalingEnabled);
144
144
  var resizedDelta = clientX - startX;
145
145
  tr = updateColumnWidths(newResizeState, table, start)(tr);
146
146
  if (colIndex === map.width - 1) {
@@ -194,8 +194,8 @@ export var handleMouseDown = function handleMouseDown(view, event, localResizeHa
194
194
  var _getPluginState2 = getPluginState(state),
195
195
  dragging = _getPluginState2.dragging,
196
196
  resizeHandlePos = _getPluginState2.resizeHandlePos;
197
- var _getTablePluginState3 = getTablePluginState(state),
198
- isTableHovered = _getTablePluginState3.isTableHovered;
197
+ var _getTablePluginState4 = getTablePluginState(state),
198
+ isTableHovered = _getTablePluginState4.isTableHovered;
199
199
  if (!which || !dragging || resizeHandlePos === null || !pointsAtCell(state.doc.resolve(resizeHandlePos)) || !isTableHovered && getBooleanFF('platform.editor.a11y-column-resizing_emcvz')) {
200
200
  return finish(event);
201
201
  }
@@ -203,7 +203,7 @@ export var handleMouseDown = function handleMouseDown(view, event, localResizeHa
203
203
  var table = $cell.node(-1);
204
204
  var map = TableMap.get(table);
205
205
  var colIndex = map.colCount($cell.pos - $cell.start(-1)) + $cell.nodeAfter.attrs.colspan - 1;
206
- resizeColumn(resizeState, colIndex, clientX - dragging.startX, dom, undefined, tablePreserveWidth);
206
+ resizeColumn(resizeState, colIndex, clientX - dragging.startX, dom, table, undefined, isTableScalingEnabled);
207
207
  updateControls()(state);
208
208
  }
209
209
  window.addEventListener('mouseup', finish);
@@ -83,13 +83,13 @@ export var generateColgroup = function generateColgroup(table, tableRef) {
83
83
  return cols;
84
84
  };
85
85
  export var insertColgroupFromNode = function insertColgroupFromNode(tableRef, table) {
86
- var tablePreserveWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
86
+ var isTableScalingEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
87
87
  var shouldRemove = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
88
88
  var colgroup = tableRef.querySelector('colgroup');
89
89
  if (colgroup && shouldRemove) {
90
90
  tableRef.removeChild(colgroup);
91
91
  }
92
- colgroup = renderColgroupFromNode(table, tablePreserveWidth ? tableRef : undefined);
92
+ colgroup = renderColgroupFromNode(table, isTableScalingEnabled ? tableRef : undefined);
93
93
  if (shouldRemove) {
94
94
  tableRef.insertBefore(colgroup, tableRef.firstChild);
95
95
  }
@@ -1,4 +1,6 @@
1
1
  export var COLUMN_MIN_WIDTH = 48;
2
2
  export var TABLE_DEFAULT_WIDTH = 760;
3
3
  export var TABLE_MAX_WIDTH = 1800;
4
- export var MAX_SCALING_PERCENT = 0.3;
4
+ export var MAX_SCALING_PERCENT = 0.3;
5
+ // Used to calculate the width of a table using the Editor width
6
+ export var TABLE_EDITOR_MARGIN = 76;
@@ -3,7 +3,7 @@ export { contentWidth } from './content-width';
3
3
  export { getColumnStateFromDOM, getFreeSpace, getCellsRefsInColumn, calculateColumnWidth, addContainerLeftRightPadding } from './column-state';
4
4
  export { growColumn, shrinkColumn, reduceSpace } from './resize-logic';
5
5
  export { getResizeState, updateColgroup, getTotalWidth, evenAllColumnsWidths, bulkColumnsResize, areColumnsEven, adjustColumnsWidths } from './resize-state';
6
- export { getLayoutSize, getDefaultLayoutMaxWidth, pointsAtCell, currentColWidth, domCellAround, getTableMaxWidth, getTableElementWidth, getTableContainerElement } from './misc';
6
+ export { getLayoutSize, getDefaultLayoutMaxWidth, pointsAtCell, currentColWidth, domCellAround, getTableMaxWidth, getTableElementWidth, getTableContainerElementWidth } from './misc';
7
7
  export { updateControls, isClickNear, getResizeCellPos } from './dom';
8
8
  export { scale, scaleWithParent, scaleTable, previewScaleTable } from './scale-table';
9
9
  export { resizeColumn } from './resize-column';
@@ -85,8 +85,8 @@ export var getTableElementWidth = function getTableElementWidth(table) {
85
85
  return sum + width;
86
86
  }, 0);
87
87
  }
88
- return getTableContainerElement(table);
88
+ return getTableContainerElementWidth(table);
89
89
  };
90
- export var getTableContainerElement = function getTableContainerElement(table) {
90
+ export var getTableContainerElementWidth = function getTableContainerElementWidth(table) {
91
91
  return getTableContainerWidth(table);
92
92
  };