@atlaskit/editor-plugin-table 1.6.6 → 1.6.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/plugins/table/commands/misc.js +3 -0
  3. package/dist/cjs/plugins/table/nodeviews/TableComponent.js +1 -1
  4. package/dist/cjs/plugins/table/nodeviews/TableResizer.js +9 -2
  5. package/dist/cjs/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +1 -1
  6. package/dist/cjs/version.json +1 -1
  7. package/dist/es2019/plugins/table/commands/misc.js +3 -0
  8. package/dist/es2019/plugins/table/nodeviews/TableComponent.js +1 -1
  9. package/dist/es2019/plugins/table/nodeviews/TableResizer.js +9 -2
  10. package/dist/es2019/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +1 -1
  11. package/dist/es2019/version.json +1 -1
  12. package/dist/esm/plugins/table/commands/misc.js +3 -0
  13. package/dist/esm/plugins/table/nodeviews/TableComponent.js +1 -1
  14. package/dist/esm/plugins/table/nodeviews/TableResizer.js +9 -2
  15. package/dist/esm/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +1 -1
  16. package/dist/esm/version.json +1 -1
  17. package/dist/types/plugins/table/commands/misc.d.ts +1 -1
  18. package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +1 -1
  19. package/dist/types/plugins/table/nodeviews/TableContainer.d.ts +2 -2
  20. package/dist/types/plugins/table/nodeviews/TableResizer.d.ts +1 -1
  21. package/dist/types/plugins/table/nodeviews/types.d.ts +1 -1
  22. package/dist/types/plugins/table/ui/FloatingContextualMenu/ContextualMenu.d.ts +1 -1
  23. package/dist/types-ts4.5/plugins/table/commands/misc.d.ts +1 -1
  24. package/dist/types-ts4.5/plugins/table/nodeviews/TableComponent.d.ts +1 -1
  25. package/dist/types-ts4.5/plugins/table/nodeviews/TableContainer.d.ts +2 -2
  26. package/dist/types-ts4.5/plugins/table/nodeviews/TableResizer.d.ts +1 -1
  27. package/dist/types-ts4.5/plugins/table/nodeviews/types.d.ts +1 -1
  28. package/dist/types-ts4.5/plugins/table/ui/FloatingContextualMenu/ContextualMenu.d.ts +1 -1
  29. package/package.json +4 -4
  30. package/src/plugins/table/commands/misc.ts +5 -1
  31. package/src/plugins/table/nodeviews/TableComponent.tsx +2 -2
  32. package/src/plugins/table/nodeviews/TableContainer.tsx +2 -2
  33. package/src/plugins/table/nodeviews/TableResizer.tsx +11 -3
  34. package/src/plugins/table/nodeviews/types.ts +1 -1
  35. package/src/plugins/table/ui/FloatingContextualMenu/ContextualMenu.tsx +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/editor-plugin-table
2
2
 
3
+ ## 1.6.8
4
+
5
+ ### Patch Changes
6
+
7
+ - [`a9350cf3831`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a9350cf3831) - Check existence of window and document variable for confluence SSR to work
8
+
9
+ ## 1.6.7
10
+
11
+ ### Patch Changes
12
+
13
+ - [`18344c31ea3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/18344c31ea3) - [ED-13910] Fix EditorView getPos type
14
+
3
15
  ## 1.6.6
4
16
 
5
17
  ### Patch Changes
@@ -382,6 +382,9 @@ var addResizeHandleDecorations = function addResizeHandleDecorations(rowIndex, c
382
382
  };
383
383
  exports.addResizeHandleDecorations = addResizeHandleDecorations;
384
384
  var autoSizeTable = function autoSizeTable(view, node, table, basePos, opts) {
385
+ if (typeof basePos !== 'number') {
386
+ return false;
387
+ }
385
388
  view.dispatch((0, _transforms.fixAutoSizedTable)(view, node, table, basePos, opts));
386
389
  return true;
387
390
  };
@@ -158,7 +158,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
158
158
  var state = view.state,
159
159
  dispatch = view.dispatch;
160
160
  var pos = getPos();
161
- if (!(0, _utils2.isValidPosition)(pos, state)) {
161
+ if (typeof pos !== 'number' || !(0, _utils2.isValidPosition)(pos, state)) {
162
162
  return;
163
163
  }
164
164
  var domAtPos = view.domAtPos.bind(view);
@@ -33,10 +33,14 @@ var TableResizer = function TableResizer(_ref) {
33
33
  },
34
34
  handleResize: (0, _rafSchd.default)(function (originalState, delta) {
35
35
  var newWidth = originalState.width + delta.width;
36
+ var pos = getPos();
37
+ if (typeof pos !== 'number') {
38
+ return;
39
+ }
36
40
  (0, _utils.previewScaleTable)(tableRef, {
37
41
  node: node,
38
42
  prevNode: node,
39
- start: getPos() + 1,
43
+ start: pos + 1,
40
44
  parentWidth: newWidth
41
45
  }, editorView.domAtPos.bind(editorView));
42
46
  updateWidth(newWidth);
@@ -47,6 +51,9 @@ var TableResizer = function TableResizer(_ref) {
47
51
  var state = editorView.state,
48
52
  dispatch = editorView.dispatch;
49
53
  var pos = getPos();
54
+ if (typeof pos !== 'number') {
55
+ return;
56
+ }
50
57
  var tr = state.tr.setNodeMarkup(pos, undefined, _objectSpread(_objectSpread({}, node.attrs), {}, {
51
58
  width: newWidth
52
59
  }));
@@ -54,7 +61,7 @@ var TableResizer = function TableResizer(_ref) {
54
61
  tr = (0, _utils.scaleTable)(tableRef, {
55
62
  node: newNode,
56
63
  prevNode: node,
57
- start: getPos() + 1,
64
+ start: pos + 1,
58
65
  parentWidth: newWidth
59
66
  }, editorView.domAtPos.bind(editorView))(tr);
60
67
  dispatch(tr);
@@ -446,7 +446,7 @@ var ContextualMenu = /*#__PURE__*/function (_Component) {
446
446
  }(_react.Component);
447
447
  exports.ContextualMenu = ContextualMenu;
448
448
  (0, _defineProperty2.default)(ContextualMenu, "defaultProps", {
449
- boundariesElement: document.body
449
+ boundariesElement: typeof document !== 'undefined' ? document.body : undefined
450
450
  });
451
451
  var _default = (0, _reactIntlNext.injectIntl)(ContextualMenu);
452
452
  exports.default = _default;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-table",
3
- "version": "1.6.6",
3
+ "version": "1.6.8",
4
4
  "sideEffects": false
5
5
  }
@@ -344,6 +344,9 @@ export const addResizeHandleDecorations = (rowIndex, columnIndex) => createComma
344
344
  };
345
345
  }, tr => tr.setMeta('addToHistory', false));
346
346
  export const autoSizeTable = (view, node, table, basePos, opts) => {
347
+ if (typeof basePos !== 'number') {
348
+ return false;
349
+ }
347
350
  view.dispatch(fixAutoSizedTable(view, node, table, basePos, opts));
348
351
  return true;
349
352
  };
@@ -147,7 +147,7 @@ class TableComponent extends React.Component {
147
147
  dispatch
148
148
  } = view;
149
149
  const pos = getPos();
150
- if (!isValidPosition(pos, state)) {
150
+ if (typeof pos !== 'number' || !isValidPosition(pos, state)) {
151
151
  return;
152
152
  }
153
153
  const domAtPos = view.domAtPos.bind(view);
@@ -22,10 +22,14 @@ export const TableResizer = ({
22
22
  handleResizeStart: () => width,
23
23
  handleResize: rafSchd((originalState, delta) => {
24
24
  const newWidth = originalState.width + delta.width;
25
+ const pos = getPos();
26
+ if (typeof pos !== 'number') {
27
+ return;
28
+ }
25
29
  previewScaleTable(tableRef, {
26
30
  node,
27
31
  prevNode: node,
28
- start: getPos() + 1,
32
+ start: pos + 1,
29
33
  parentWidth: newWidth
30
34
  }, editorView.domAtPos.bind(editorView));
31
35
  updateWidth(newWidth);
@@ -38,6 +42,9 @@ export const TableResizer = ({
38
42
  dispatch
39
43
  } = editorView;
40
44
  const pos = getPos();
45
+ if (typeof pos !== 'number') {
46
+ return;
47
+ }
41
48
  let tr = state.tr.setNodeMarkup(pos, undefined, {
42
49
  ...node.attrs,
43
50
  width: newWidth
@@ -46,7 +53,7 @@ export const TableResizer = ({
46
53
  tr = scaleTable(tableRef, {
47
54
  node: newNode,
48
55
  prevNode: node,
49
- start: getPos() + 1,
56
+ start: pos + 1,
50
57
  parentWidth: newWidth
51
58
  }, editorView.domAtPos.bind(editorView))(tr);
52
59
  dispatch(tr);
@@ -454,6 +454,6 @@ export class ContextualMenu extends Component {
454
454
  }
455
455
  }
456
456
  _defineProperty(ContextualMenu, "defaultProps", {
457
- boundariesElement: document.body
457
+ boundariesElement: typeof document !== 'undefined' ? document.body : undefined
458
458
  });
459
459
  export default injectIntl(ContextualMenu);
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-table",
3
- "version": "1.6.6",
3
+ "version": "1.6.8",
4
4
  "sideEffects": false
5
5
  }
@@ -359,6 +359,9 @@ export var addResizeHandleDecorations = function addResizeHandleDecorations(rowI
359
359
  });
360
360
  };
361
361
  export var autoSizeTable = function autoSizeTable(view, node, table, basePos, opts) {
362
+ if (typeof basePos !== 'number') {
363
+ return false;
364
+ }
362
365
  view.dispatch(fixAutoSizedTable(view, node, table, basePos, opts));
363
366
  return true;
364
367
  };
@@ -152,7 +152,7 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
152
152
  var state = view.state,
153
153
  dispatch = view.dispatch;
154
154
  var pos = getPos();
155
- if (!isValidPosition(pos, state)) {
155
+ if (typeof pos !== 'number' || !isValidPosition(pos, state)) {
156
156
  return;
157
157
  }
158
158
  var domAtPos = view.domAtPos.bind(view);
@@ -26,10 +26,14 @@ export var TableResizer = function TableResizer(_ref) {
26
26
  },
27
27
  handleResize: rafSchd(function (originalState, delta) {
28
28
  var newWidth = originalState.width + delta.width;
29
+ var pos = getPos();
30
+ if (typeof pos !== 'number') {
31
+ return;
32
+ }
29
33
  previewScaleTable(tableRef, {
30
34
  node: node,
31
35
  prevNode: node,
32
- start: getPos() + 1,
36
+ start: pos + 1,
33
37
  parentWidth: newWidth
34
38
  }, editorView.domAtPos.bind(editorView));
35
39
  updateWidth(newWidth);
@@ -40,6 +44,9 @@ export var TableResizer = function TableResizer(_ref) {
40
44
  var state = editorView.state,
41
45
  dispatch = editorView.dispatch;
42
46
  var pos = getPos();
47
+ if (typeof pos !== 'number') {
48
+ return;
49
+ }
43
50
  var tr = state.tr.setNodeMarkup(pos, undefined, _objectSpread(_objectSpread({}, node.attrs), {}, {
44
51
  width: newWidth
45
52
  }));
@@ -47,7 +54,7 @@ export var TableResizer = function TableResizer(_ref) {
47
54
  tr = scaleTable(tableRef, {
48
55
  node: newNode,
49
56
  prevNode: node,
50
- start: getPos() + 1,
57
+ start: pos + 1,
51
58
  parentWidth: newWidth
52
59
  }, editorView.domAtPos.bind(editorView))(tr);
53
60
  dispatch(tr);
@@ -438,6 +438,6 @@ export var ContextualMenu = /*#__PURE__*/function (_Component) {
438
438
  return ContextualMenu;
439
439
  }(Component);
440
440
  _defineProperty(ContextualMenu, "defaultProps", {
441
- boundariesElement: document.body
441
+ boundariesElement: typeof document !== 'undefined' ? document.body : undefined
442
442
  });
443
443
  export default injectIntl(ContextualMenu);
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-table",
3
- "version": "1.6.6",
3
+ "version": "1.6.8",
4
4
  "sideEffects": false
5
5
  }
@@ -21,7 +21,7 @@ export declare const showInsertColumnButton: (columnIndex: number) => Command;
21
21
  export declare const showInsertRowButton: (rowIndex: number) => Command;
22
22
  export declare const hideInsertColumnOrRowButton: () => Command;
23
23
  export declare const addResizeHandleDecorations: (rowIndex: number, columnIndex: number) => Command;
24
- export declare const autoSizeTable: (view: EditorView, node: PMNode, table: HTMLTableElement, basePos: number, opts: {
24
+ export declare const autoSizeTable: (view: EditorView, node: PMNode, table: HTMLTableElement, basePos: number | undefined, opts: {
25
25
  containerWidth: number;
26
26
  }) => boolean;
27
27
  export declare const addBoldInEmptyHeaderCells: (tableCellHeader: ContentNodeWithPos) => Command;
@@ -13,7 +13,7 @@ export interface ComponentProps {
13
13
  getNode: () => PmNode;
14
14
  allowColumnResizing?: boolean;
15
15
  eventDispatcher: EventDispatcher;
16
- getPos: () => number;
16
+ getPos: () => number | undefined;
17
17
  options?: TableOptions;
18
18
  contentDOM: (node: HTMLElement | null) => void;
19
19
  containerWidth: EditorContainerWidth;
@@ -17,7 +17,7 @@ type ResizableTableContainerProps = {
17
17
  node: PMNode;
18
18
  className: string;
19
19
  editorView: EditorView;
20
- getPos: () => number;
20
+ getPos: () => number | undefined;
21
21
  tableRef: HTMLTableElement;
22
22
  };
23
23
  export declare const ResizableTableContainer: ({ children, className, node, lineLength, editorView, getPos, tableRef, }: PropsWithChildren<ResizableTableContainerProps>) => JSX.Element;
@@ -28,7 +28,7 @@ type TableContainerProps = {
28
28
  isFullWidthModeEnabled: boolean | undefined;
29
29
  isBreakoutEnabled: boolean | undefined;
30
30
  editorView: EditorView;
31
- getPos: () => number;
31
+ getPos: () => number | undefined;
32
32
  tableRef: HTMLTableElement;
33
33
  };
34
34
  export declare const TableContainer: ({ children, node, className, containerWidth: { lineLength, width: editorWidth }, isFullWidthModeEnabled, isBreakoutEnabled, editorView, getPos, tableRef, }: PropsWithChildren<TableContainerProps>) => JSX.Element;
@@ -5,7 +5,7 @@ interface TableResizerProps {
5
5
  width: number;
6
6
  updateWidth: (width: number) => void;
7
7
  editorView: EditorView;
8
- getPos: () => number;
8
+ getPos: () => number | undefined;
9
9
  node: PMNode;
10
10
  tableRef: HTMLTableElement;
11
11
  }
@@ -15,7 +15,7 @@ export interface Props {
15
15
  cellMinWidth?: number;
16
16
  portalProviderAPI: PortalProviderAPI;
17
17
  eventDispatcher: EventDispatcher;
18
- getPos: () => number;
18
+ getPos: () => number | undefined;
19
19
  options?: TableOptions;
20
20
  tableRenderOptimization?: boolean;
21
21
  getEditorContainerWidth: GetEditorContainerWidth;
@@ -69,7 +69,7 @@ export interface State {
69
69
  export declare class ContextualMenu extends Component<Props & WrappedComponentProps, State> {
70
70
  state: State;
71
71
  static defaultProps: {
72
- boundariesElement: HTMLElement;
72
+ boundariesElement: HTMLElement | undefined;
73
73
  };
74
74
  render(): jsx.JSX.Element | null;
75
75
  private handleSubMenuRef;
@@ -21,7 +21,7 @@ export declare const showInsertColumnButton: (columnIndex: number) => Command;
21
21
  export declare const showInsertRowButton: (rowIndex: number) => Command;
22
22
  export declare const hideInsertColumnOrRowButton: () => Command;
23
23
  export declare const addResizeHandleDecorations: (rowIndex: number, columnIndex: number) => Command;
24
- export declare const autoSizeTable: (view: EditorView, node: PMNode, table: HTMLTableElement, basePos: number, opts: {
24
+ export declare const autoSizeTable: (view: EditorView, node: PMNode, table: HTMLTableElement, basePos: number | undefined, opts: {
25
25
  containerWidth: number;
26
26
  }) => boolean;
27
27
  export declare const addBoldInEmptyHeaderCells: (tableCellHeader: ContentNodeWithPos) => Command;
@@ -13,7 +13,7 @@ export interface ComponentProps {
13
13
  getNode: () => PmNode;
14
14
  allowColumnResizing?: boolean;
15
15
  eventDispatcher: EventDispatcher;
16
- getPos: () => number;
16
+ getPos: () => number | undefined;
17
17
  options?: TableOptions;
18
18
  contentDOM: (node: HTMLElement | null) => void;
19
19
  containerWidth: EditorContainerWidth;
@@ -17,7 +17,7 @@ type ResizableTableContainerProps = {
17
17
  node: PMNode;
18
18
  className: string;
19
19
  editorView: EditorView;
20
- getPos: () => number;
20
+ getPos: () => number | undefined;
21
21
  tableRef: HTMLTableElement;
22
22
  };
23
23
  export declare const ResizableTableContainer: ({ children, className, node, lineLength, editorView, getPos, tableRef, }: PropsWithChildren<ResizableTableContainerProps>) => JSX.Element;
@@ -28,7 +28,7 @@ type TableContainerProps = {
28
28
  isFullWidthModeEnabled: boolean | undefined;
29
29
  isBreakoutEnabled: boolean | undefined;
30
30
  editorView: EditorView;
31
- getPos: () => number;
31
+ getPos: () => number | undefined;
32
32
  tableRef: HTMLTableElement;
33
33
  };
34
34
  export declare const TableContainer: ({ children, node, className, containerWidth: { lineLength, width: editorWidth }, isFullWidthModeEnabled, isBreakoutEnabled, editorView, getPos, tableRef, }: PropsWithChildren<TableContainerProps>) => JSX.Element;
@@ -5,7 +5,7 @@ interface TableResizerProps {
5
5
  width: number;
6
6
  updateWidth: (width: number) => void;
7
7
  editorView: EditorView;
8
- getPos: () => number;
8
+ getPos: () => number | undefined;
9
9
  node: PMNode;
10
10
  tableRef: HTMLTableElement;
11
11
  }
@@ -15,7 +15,7 @@ export interface Props {
15
15
  cellMinWidth?: number;
16
16
  portalProviderAPI: PortalProviderAPI;
17
17
  eventDispatcher: EventDispatcher;
18
- getPos: () => number;
18
+ getPos: () => number | undefined;
19
19
  options?: TableOptions;
20
20
  tableRenderOptimization?: boolean;
21
21
  getEditorContainerWidth: GetEditorContainerWidth;
@@ -69,7 +69,7 @@ export interface State {
69
69
  export declare class ContextualMenu extends Component<Props & WrappedComponentProps, State> {
70
70
  state: State;
71
71
  static defaultProps: {
72
- boundariesElement: HTMLElement;
72
+ boundariesElement: HTMLElement | undefined;
73
73
  };
74
74
  render(): jsx.JSX.Element | null;
75
75
  private handleSubMenuRef;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-table",
3
- "version": "1.6.6",
3
+ "version": "1.6.8",
4
4
  "description": "Table plugin for the @atlaskit/editor",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -27,8 +27,8 @@
27
27
  "releaseModel": "continuous"
28
28
  },
29
29
  "dependencies": {
30
- "@atlaskit/adf-schema": "^25.9.0",
31
- "@atlaskit/editor-common": "^74.9.0",
30
+ "@atlaskit/adf-schema": "^25.10.0",
31
+ "@atlaskit/editor-common": "^74.10.0",
32
32
  "@atlaskit/editor-palette": "1.5.1",
33
33
  "@atlaskit/editor-plugin-analytics": "^0.0.3",
34
34
  "@atlaskit/editor-plugin-content-insertion": "^0.0.3",
@@ -65,7 +65,7 @@
65
65
  "@af/editor-libra": "*",
66
66
  "@atlaskit/analytics-next": "^9.1.0",
67
67
  "@atlaskit/button": "^16.8.0",
68
- "@atlaskit/editor-core": "^185.3.0",
68
+ "@atlaskit/editor-core": "^185.4.0",
69
69
  "@atlaskit/editor-plugin-decorations": "^0.1.0",
70
70
  "@atlaskit/editor-plugin-feature-flags": "^0.1.0",
71
71
  "@atlaskit/editor-plugin-grid": "^0.1.0",
@@ -470,9 +470,13 @@ export const autoSizeTable = (
470
470
  view: EditorView,
471
471
  node: PMNode,
472
472
  table: HTMLTableElement,
473
- basePos: number,
473
+ basePos: number | undefined,
474
474
  opts: { containerWidth: number },
475
475
  ) => {
476
+ if (typeof basePos !== 'number') {
477
+ return false;
478
+ }
479
+
476
480
  view.dispatch(fixAutoSizedTable(view, node, table, basePos, opts));
477
481
  return true;
478
482
  };
@@ -60,7 +60,7 @@ export interface ComponentProps {
60
60
  getNode: () => PmNode;
61
61
  allowColumnResizing?: boolean;
62
62
  eventDispatcher: EventDispatcher;
63
- getPos: () => number;
63
+ getPos: () => number | undefined;
64
64
  options?: TableOptions;
65
65
 
66
66
  contentDOM: (node: HTMLElement | null) => void;
@@ -570,7 +570,7 @@ class TableComponent extends React.Component<ComponentProps, TableState> {
570
570
  const { state, dispatch } = view;
571
571
  const pos = getPos();
572
572
 
573
- if (!isValidPosition(pos, state)) {
573
+ if (typeof pos !== 'number' || !isValidPosition(pos, state)) {
574
574
  return;
575
575
  }
576
576
  const domAtPos = view.domAtPos.bind(view);
@@ -67,7 +67,7 @@ type ResizableTableContainerProps = {
67
67
  node: PMNode;
68
68
  className: string;
69
69
  editorView: EditorView;
70
- getPos: () => number;
70
+ getPos: () => number | undefined;
71
71
  tableRef: HTMLTableElement;
72
72
  };
73
73
 
@@ -146,7 +146,7 @@ type TableContainerProps = {
146
146
  isFullWidthModeEnabled: boolean | undefined;
147
147
  isBreakoutEnabled: boolean | undefined;
148
148
  editorView: EditorView;
149
- getPos: () => number;
149
+ getPos: () => number | undefined;
150
150
  tableRef: HTMLTableElement;
151
151
  };
152
152
 
@@ -17,7 +17,7 @@ interface TableResizerProps {
17
17
  width: number;
18
18
  updateWidth: (width: number) => void;
19
19
  editorView: EditorView;
20
- getPos: () => number;
20
+ getPos: () => number | undefined;
21
21
  node: PMNode;
22
22
  tableRef: HTMLTableElement;
23
23
  }
@@ -46,13 +46,17 @@ export const TableResizer = ({
46
46
  handleResizeStart={() => width}
47
47
  handleResize={rafSchd((originalState, delta) => {
48
48
  const newWidth = originalState.width + delta.width;
49
+ const pos = getPos();
50
+ if (typeof pos !== 'number') {
51
+ return;
52
+ }
49
53
 
50
54
  previewScaleTable(
51
55
  tableRef,
52
56
  {
53
57
  node,
54
58
  prevNode: node,
55
- start: getPos() + 1,
59
+ start: pos + 1,
56
60
  parentWidth: newWidth,
57
61
  },
58
62
  editorView.domAtPos.bind(editorView),
@@ -67,6 +71,10 @@ export const TableResizer = ({
67
71
  const { state, dispatch } = editorView;
68
72
  const pos = getPos();
69
73
 
74
+ if (typeof pos !== 'number') {
75
+ return;
76
+ }
77
+
70
78
  let tr = state.tr.setNodeMarkup(pos, undefined, {
71
79
  ...node.attrs,
72
80
  width: newWidth,
@@ -78,7 +86,7 @@ export const TableResizer = ({
78
86
  {
79
87
  node: newNode,
80
88
  prevNode: node,
81
- start: getPos() + 1,
89
+ start: pos + 1,
82
90
  parentWidth: newWidth,
83
91
  },
84
92
  editorView.domAtPos.bind(editorView),
@@ -21,7 +21,7 @@ export interface Props {
21
21
  cellMinWidth?: number;
22
22
  portalProviderAPI: PortalProviderAPI;
23
23
  eventDispatcher: EventDispatcher;
24
- getPos: () => number;
24
+ getPos: () => number | undefined;
25
25
  options?: TableOptions;
26
26
  tableRenderOptimization?: boolean;
27
27
  getEditorContainerWidth: GetEditorContainerWidth;
@@ -152,7 +152,8 @@ export class ContextualMenu extends Component<
152
152
  };
153
153
 
154
154
  static defaultProps = {
155
- boundariesElement: document.body,
155
+ boundariesElement:
156
+ typeof document !== 'undefined' ? document.body : undefined,
156
157
  };
157
158
 
158
159
  render() {