@atlaskit/editor-tables 2.1.6 → 2.2.0

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 (75) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/cell-bookmark/package.json +8 -1
  3. package/cell-selection/package.json +8 -1
  4. package/dist/cjs/pm-plugins/table-editing.js +3 -2
  5. package/dist/cjs/utils/fix-tables.js +11 -3
  6. package/dist/cjs/version.json +1 -1
  7. package/dist/es2019/pm-plugins/table-editing.js +3 -2
  8. package/dist/es2019/utils/fix-tables.js +14 -5
  9. package/dist/es2019/version.json +1 -1
  10. package/dist/esm/pm-plugins/table-editing.js +3 -2
  11. package/dist/esm/utils/fix-tables.js +14 -5
  12. package/dist/esm/version.json +1 -1
  13. package/dist/types/pm-plugins/table-editing.d.ts +4 -2
  14. package/dist/types/utils/fix-tables.d.ts +7 -2
  15. package/dist/types-ts4.0/cell-bookmark.d.ts +10 -0
  16. package/dist/types-ts4.0/cell-selection.d.ts +25 -0
  17. package/dist/types-ts4.0/index.d.ts +27 -0
  18. package/dist/types-ts4.0/pm-plugins/input.d.ts +4 -0
  19. package/dist/types-ts4.0/pm-plugins/plugin-key.d.ts +3 -0
  20. package/dist/types-ts4.0/pm-plugins/table-editing.d.ts +8 -0
  21. package/dist/types-ts4.0/pm-plugins.d.ts +2 -0
  22. package/dist/types-ts4.0/table-map.d.ts +62 -0
  23. package/dist/types-ts4.0/types.d.ts +36 -0
  24. package/dist/types-ts4.0/utils/add-column-at.d.ts +2 -0
  25. package/dist/types-ts4.0/utils/add-column.d.ts +5 -0
  26. package/dist/types-ts4.0/utils/add-row-at.d.ts +3 -0
  27. package/dist/types-ts4.0/utils/add-row.d.ts +3 -0
  28. package/dist/types-ts4.0/utils/analytics-helpers.d.ts +15 -0
  29. package/dist/types-ts4.0/utils/cells.d.ts +6 -0
  30. package/dist/types-ts4.0/utils/clone-tr.d.ts +2 -0
  31. package/dist/types-ts4.0/utils/colspan.d.ts +4 -0
  32. package/dist/types-ts4.0/utils/copy-paste.d.ts +8 -0
  33. package/dist/types-ts4.0/utils/create-table.d.ts +10 -0
  34. package/dist/types-ts4.0/utils/draw-cell-selection.d.ts +3 -0
  35. package/dist/types-ts4.0/utils/empty-cells.d.ts +4 -0
  36. package/dist/types-ts4.0/utils/find.d.ts +8 -0
  37. package/dist/types-ts4.0/utils/fix-tables.d.ts +9 -0
  38. package/dist/types-ts4.0/utils/for-each-cell.d.ts +4 -0
  39. package/dist/types-ts4.0/utils/get-cell-selection-ranges.d.ts +3 -0
  40. package/dist/types-ts4.0/utils/get-cells-in-column.d.ts +3 -0
  41. package/dist/types-ts4.0/utils/get-cells-in-row.d.ts +3 -0
  42. package/dist/types-ts4.0/utils/get-cells-in-table.d.ts +3 -0
  43. package/dist/types-ts4.0/utils/get-selection-range-in-column.d.ts +3 -0
  44. package/dist/types-ts4.0/utils/get-selection-range-in-row.d.ts +3 -0
  45. package/dist/types-ts4.0/utils/get-selection-rect.d.ts +3 -0
  46. package/dist/types-ts4.0/utils/go-to-next-cell.d.ts +2 -0
  47. package/dist/types-ts4.0/utils/handle-paste.d.ts +3 -0
  48. package/dist/types-ts4.0/utils/is-selected.d.ts +6 -0
  49. package/dist/types-ts4.0/utils/is-selection-type.d.ts +11 -0
  50. package/dist/types-ts4.0/utils/move-column.d.ts +5 -0
  51. package/dist/types-ts4.0/utils/move-row.d.ts +5 -0
  52. package/dist/types-ts4.0/utils/normalize-selection.d.ts +2 -0
  53. package/dist/types-ts4.0/utils/remove-column.d.ts +5 -0
  54. package/dist/types-ts4.0/utils/remove-row.d.ts +5 -0
  55. package/dist/types-ts4.0/utils/remove-table.d.ts +2 -0
  56. package/dist/types-ts4.0/utils/reorder-utils.d.ts +10 -0
  57. package/dist/types-ts4.0/utils/replace-table.d.ts +3 -0
  58. package/dist/types-ts4.0/utils/select-nodes.d.ts +4 -0
  59. package/dist/types-ts4.0/utils/selection-cell.d.ts +3 -0
  60. package/dist/types-ts4.0/utils/selection-rect.d.ts +4 -0
  61. package/dist/types-ts4.0/utils/set-cell-attrs.d.ts +4 -0
  62. package/dist/types-ts4.0/utils/split-cell-with-type.d.ts +11 -0
  63. package/dist/types-ts4.0/utils/split-cell.d.ts +2 -0
  64. package/dist/types-ts4.0/utils/table-node-types.d.ts +5 -0
  65. package/dist/types-ts4.0/utils/tables.d.ts +4 -0
  66. package/dist/types-ts4.0/utils/test-utils.d.ts +5 -0
  67. package/dist/types-ts4.0/utils/toggle-header.d.ts +3 -0
  68. package/dist/types-ts4.0/utils/uuid.d.ts +9 -0
  69. package/dist/types-ts4.0/utils.d.ts +43 -0
  70. package/package.json +9 -2
  71. package/pm-plugins/package.json +8 -1
  72. package/report.api.md +4 -2
  73. package/table-map/package.json +8 -1
  74. package/types/package.json +8 -1
  75. package/utils/package.json +8 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/editor-tables
2
2
 
3
+ ## 2.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`d8acf7254db`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d8acf7254db) - ED-8567 added tracking for fixTables()
8
+
3
9
  ## 2.1.6
4
10
 
5
11
  ### Patch Changes
@@ -4,5 +4,12 @@
4
4
  "module": "../dist/esm/cell-bookmark.js",
5
5
  "module:es2019": "../dist/es2019/cell-bookmark.js",
6
6
  "sideEffects": false,
7
- "types": "../dist/types/cell-bookmark.d.ts"
7
+ "types": "../dist/types/cell-bookmark.d.ts",
8
+ "typesVersions": {
9
+ ">=4.0 <4.5": {
10
+ "*": [
11
+ "../dist/types-ts4.0/cell-bookmark.d.ts"
12
+ ]
13
+ }
14
+ }
8
15
  }
@@ -4,5 +4,12 @@
4
4
  "module": "../dist/esm/cell-selection.js",
5
5
  "module:es2019": "../dist/es2019/cell-selection.js",
6
6
  "sideEffects": false,
7
- "types": "../dist/types/cell-selection.d.ts"
7
+ "types": "../dist/types/cell-selection.d.ts",
8
+ "typesVersions": {
9
+ ">=4.0 <4.5": {
10
+ "*": [
11
+ "../dist/types-ts4.0/cell-selection.d.ts"
12
+ ]
13
+ }
14
+ }
8
15
  }
@@ -22,7 +22,8 @@ var _pluginKey = require("./plugin-key");
22
22
  function tableEditing() {
23
23
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
24
24
  _ref$allowTableNodeSe = _ref.allowTableNodeSelection,
25
- allowTableNodeSelection = _ref$allowTableNodeSe === void 0 ? false : _ref$allowTableNodeSe;
25
+ allowTableNodeSelection = _ref$allowTableNodeSe === void 0 ? false : _ref$allowTableNodeSe,
26
+ reportFixedTable = _ref.reportFixedTable;
26
27
 
27
28
  return new _prosemirrorState.Plugin({
28
29
  key: _pluginKey.tableEditingKey,
@@ -69,7 +70,7 @@ function tableEditing() {
69
70
  handlePaste: _utils.handlePaste
70
71
  },
71
72
  appendTransaction: function appendTransaction(_, oldState, state) {
72
- return (0, _normalizeSelection.normalizeSelection)(state, (0, _fixTables.fixTables)(state, oldState), allowTableNodeSelection);
73
+ return (0, _normalizeSelection.normalizeSelection)(state, (0, _fixTables.fixTables)(state, oldState, reportFixedTable), allowTableNodeSelection);
73
74
  }
74
75
  });
75
76
  }
@@ -60,12 +60,12 @@ function changedDescendants(old, cur, offsetStart, f) {
60
60
  // document.
61
61
 
62
62
 
63
- function fixTables(state, oldState) {
63
+ function fixTables(state, oldState, reportFixedTable) {
64
64
  var tr;
65
65
 
66
66
  var check = function check(node, pos) {
67
67
  if (node.type.spec.tableRole === 'table') {
68
- tr = fixTable(state, node, pos, tr);
68
+ tr = fixTable(state, node, pos, tr, reportFixedTable);
69
69
  }
70
70
  };
71
71
 
@@ -81,7 +81,7 @@ function fixTables(state, oldState) {
81
81
  // it was given, if non-null, or create a new one if necessary.
82
82
 
83
83
 
84
- function fixTable(state, table, tablePos, transaction) {
84
+ function fixTable(state, table, tablePos, transaction, reportFixedTable) {
85
85
  var tr = transaction;
86
86
 
87
87
  var map = _tableMap.TableMap.get(table);
@@ -105,6 +105,14 @@ function fixTable(state, table, tablePos, transaction) {
105
105
  for (var _i = 0; _i < map.problems.length; _i++) {
106
106
  var prob = map.problems[_i];
107
107
 
108
+ if (reportFixedTable) {
109
+ reportFixedTable({
110
+ state: state,
111
+ tr: tr,
112
+ reason: prob.type || 'unknown'
113
+ });
114
+ }
115
+
108
116
  if (prob.type === _tableMap.TableProblemTypes.COLLISION) {
109
117
  var collision = prob;
110
118
  var cell = table.nodeAt(prob.pos);
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-tables",
3
- "version": "2.1.6",
3
+ "version": "2.2.0",
4
4
  "sideEffects": false
5
5
  }
@@ -18,7 +18,8 @@ import { tableEditingKey } from './plugin-key'; // :: () → Plugin
18
18
  // perform more specific behavior.
19
19
 
20
20
  export function tableEditing({
21
- allowTableNodeSelection = false
21
+ allowTableNodeSelection = false,
22
+ reportFixedTable
22
23
  } = {}) {
23
24
  return new Plugin({
24
25
  key: tableEditingKey,
@@ -70,7 +71,7 @@ export function tableEditing({
70
71
  },
71
72
 
72
73
  appendTransaction(_, oldState, state) {
73
- return normalizeSelection(state, fixTables(state, oldState), allowTableNodeSelection);
74
+ return normalizeSelection(state, fixTables(state, oldState, reportFixedTable), allowTableNodeSelection);
74
75
  }
75
76
 
76
77
  });
@@ -1,10 +1,11 @@
1
1
  import { fixTablesKey } from '../pm-plugins/plugin-key';
2
2
  import { TableMap, TableProblemTypes } from '../table-map';
3
3
  import { removeColSpan } from './colspan';
4
- import { tableNodeTypes } from './table-node-types'; // Helper for iterating through the nodes in a document that changed
4
+ import { tableNodeTypes } from './table-node-types';
5
+
6
+ // Helper for iterating through the nodes in a document that changed
5
7
  // compared to the given previous document. Useful for avoiding
6
8
  // duplicate work on each transaction.
7
-
8
9
  function changedDescendants(old, cur, offsetStart, f) {
9
10
  let offset = offsetStart;
10
11
  const oldSize = old.childCount;
@@ -40,12 +41,12 @@ function changedDescendants(old, cur, offsetStart, f) {
40
41
  // document.
41
42
 
42
43
 
43
- export function fixTables(state, oldState) {
44
+ export function fixTables(state, oldState, reportFixedTable) {
44
45
  let tr;
45
46
 
46
47
  const check = (node, pos) => {
47
48
  if (node.type.spec.tableRole === 'table') {
48
- tr = fixTable(state, node, pos, tr);
49
+ tr = fixTable(state, node, pos, tr, reportFixedTable);
49
50
  }
50
51
  };
51
52
 
@@ -60,7 +61,7 @@ export function fixTables(state, oldState) {
60
61
  // Fix the given table, if necessary. Will append to the transaction
61
62
  // it was given, if non-null, or create a new one if necessary.
62
63
 
63
- export function fixTable(state, table, tablePos, transaction) {
64
+ export function fixTable(state, table, tablePos, transaction, reportFixedTable) {
64
65
  let tr = transaction;
65
66
  const map = TableMap.get(table);
66
67
 
@@ -83,6 +84,14 @@ export function fixTable(state, table, tablePos, transaction) {
83
84
  for (let i = 0; i < map.problems.length; i++) {
84
85
  const prob = map.problems[i];
85
86
 
87
+ if (reportFixedTable) {
88
+ reportFixedTable({
89
+ state,
90
+ tr,
91
+ reason: prob.type || 'unknown'
92
+ });
93
+ }
94
+
86
95
  if (prob.type === TableProblemTypes.COLLISION) {
87
96
  const collision = prob;
88
97
  const cell = table.nodeAt(prob.pos);
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-tables",
3
- "version": "2.1.6",
3
+ "version": "2.2.0",
4
4
  "sideEffects": false
5
5
  }
@@ -20,7 +20,8 @@ import { tableEditingKey } from './plugin-key'; // :: () → Plugin
20
20
  export function tableEditing() {
21
21
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
22
22
  _ref$allowTableNodeSe = _ref.allowTableNodeSelection,
23
- allowTableNodeSelection = _ref$allowTableNodeSe === void 0 ? false : _ref$allowTableNodeSe;
23
+ allowTableNodeSelection = _ref$allowTableNodeSe === void 0 ? false : _ref$allowTableNodeSe,
24
+ reportFixedTable = _ref.reportFixedTable;
24
25
 
25
26
  return new Plugin({
26
27
  key: tableEditingKey,
@@ -67,7 +68,7 @@ export function tableEditing() {
67
68
  handlePaste: handlePaste
68
69
  },
69
70
  appendTransaction: function appendTransaction(_, oldState, state) {
70
- return normalizeSelection(state, fixTables(state, oldState), allowTableNodeSelection);
71
+ return normalizeSelection(state, fixTables(state, oldState, reportFixedTable), allowTableNodeSelection);
71
72
  }
72
73
  });
73
74
  }
@@ -7,10 +7,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
7
7
  import { fixTablesKey } from '../pm-plugins/plugin-key';
8
8
  import { TableMap, TableProblemTypes } from '../table-map';
9
9
  import { removeColSpan } from './colspan';
10
- import { tableNodeTypes } from './table-node-types'; // Helper for iterating through the nodes in a document that changed
10
+ import { tableNodeTypes } from './table-node-types';
11
+
12
+ // Helper for iterating through the nodes in a document that changed
11
13
  // compared to the given previous document. Useful for avoiding
12
14
  // duplicate work on each transaction.
13
-
14
15
  function changedDescendants(old, cur, offsetStart, f) {
15
16
  var offset = offsetStart;
16
17
  var oldSize = old.childCount;
@@ -46,12 +47,12 @@ function changedDescendants(old, cur, offsetStart, f) {
46
47
  // document.
47
48
 
48
49
 
49
- export function fixTables(state, oldState) {
50
+ export function fixTables(state, oldState, reportFixedTable) {
50
51
  var tr;
51
52
 
52
53
  var check = function check(node, pos) {
53
54
  if (node.type.spec.tableRole === 'table') {
54
- tr = fixTable(state, node, pos, tr);
55
+ tr = fixTable(state, node, pos, tr, reportFixedTable);
55
56
  }
56
57
  };
57
58
 
@@ -66,7 +67,7 @@ export function fixTables(state, oldState) {
66
67
  // Fix the given table, if necessary. Will append to the transaction
67
68
  // it was given, if non-null, or create a new one if necessary.
68
69
 
69
- export function fixTable(state, table, tablePos, transaction) {
70
+ export function fixTable(state, table, tablePos, transaction, reportFixedTable) {
70
71
  var tr = transaction;
71
72
  var map = TableMap.get(table);
72
73
 
@@ -89,6 +90,14 @@ export function fixTable(state, table, tablePos, transaction) {
89
90
  for (var _i = 0; _i < map.problems.length; _i++) {
90
91
  var prob = map.problems[_i];
91
92
 
93
+ if (reportFixedTable) {
94
+ reportFixedTable({
95
+ state: state,
96
+ tr: tr,
97
+ reason: prob.type || 'unknown'
98
+ });
99
+ }
100
+
92
101
  if (prob.type === TableProblemTypes.COLLISION) {
93
102
  var collision = prob;
94
103
  var cell = table.nodeAt(prob.pos);
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-tables",
3
- "version": "2.1.6",
3
+ "version": "2.2.0",
4
4
  "sideEffects": false
5
5
  }
@@ -1,6 +1,8 @@
1
1
  import { Plugin } from 'prosemirror-state';
2
+ import { ReportFixedTable } from '../utils/fix-tables';
2
3
  declare type PluginState = number | null;
3
- export declare function tableEditing({ allowTableNodeSelection }?: {
4
- allowTableNodeSelection?: boolean | undefined;
4
+ export declare function tableEditing({ allowTableNodeSelection, reportFixedTable, }?: {
5
+ allowTableNodeSelection?: boolean;
6
+ reportFixedTable?: ReportFixedTable;
5
7
  }): Plugin<PluginState>;
6
8
  export {};
@@ -1,4 +1,9 @@
1
1
  import { Node } from 'prosemirror-model';
2
2
  import { EditorState, Transaction } from 'prosemirror-state';
3
- export declare function fixTables(state: EditorState, oldState?: EditorState): Transaction | undefined;
4
- export declare function fixTable(state: EditorState, table: Node, tablePos: number, transaction?: Transaction): Transaction | undefined;
3
+ export declare type ReportFixedTable = ({ state, tr, reason, }: {
4
+ state: EditorState;
5
+ tr: Transaction;
6
+ reason: string;
7
+ }) => void;
8
+ export declare function fixTables(state: EditorState, oldState?: EditorState, reportFixedTable?: ReportFixedTable): Transaction | undefined;
9
+ export declare function fixTable(state: EditorState, table: Node, tablePos: number, transaction?: Transaction, reportFixedTable?: ReportFixedTable): Transaction | undefined;
@@ -0,0 +1,10 @@
1
+ import { Node as PMNode } from 'prosemirror-model';
2
+ import { Selection } from 'prosemirror-state';
3
+ import { Mapping } from 'prosemirror-transform';
4
+ export declare class CellBookmark {
5
+ readonly anchor: number;
6
+ readonly head: number;
7
+ constructor(anchor: number, head: number);
8
+ map(mapping: Mapping): CellBookmark;
9
+ resolve(doc: PMNode): Selection;
10
+ }
@@ -0,0 +1,25 @@
1
+ import { Node as PMNode, ResolvedPos, Slice } from 'prosemirror-model';
2
+ import { Selection, Transaction } from 'prosemirror-state';
3
+ import { Mapping } from 'prosemirror-transform';
4
+ import { CellBookmark } from './cell-bookmark';
5
+ import { SerializedCellSelection } from './types';
6
+ export declare class CellSelection extends Selection {
7
+ readonly $anchorCell: ResolvedPos;
8
+ readonly $headCell: ResolvedPos;
9
+ readonly visible: boolean;
10
+ constructor($anchorCell: ResolvedPos, $headCell?: ResolvedPos);
11
+ map(doc: PMNode, mapping: Mapping): Selection;
12
+ content(): Slice;
13
+ replace(tr: Transaction, content?: Slice<any>): void;
14
+ replaceWith(tr: Transaction, node: PMNode): void;
15
+ forEachCell(f: (node: PMNode, pos: number) => void): void;
16
+ isColSelection(): boolean;
17
+ static colSelection($anchorCell: ResolvedPos, $headCell?: ResolvedPos): CellSelection;
18
+ isRowSelection(): boolean;
19
+ eq(other: CellSelection): boolean;
20
+ static rowSelection($anchorCell: ResolvedPos, $headCell?: ResolvedPos): CellSelection;
21
+ toJSON(): SerializedCellSelection;
22
+ static fromJSON(doc: PMNode, json: SerializedCellSelection): CellSelection;
23
+ static create(doc: PMNode, anchorCell: number, headCell?: number): CellSelection;
24
+ getBookmark(): CellBookmark;
25
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ This package is based on prosemirror-tables, https://github.com/ProseMirror/prosemirror-tables
3
+
4
+ Copyright (C) 2015-2016 by Marijn Haverbeke <marijnh@gmail.com> and others
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in
14
+ all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ THE SOFTWARE.
23
+ */
24
+ export { TableMap, Rect } from './table-map';
25
+ export { CellSelection } from './cell-selection';
26
+ export { findTable } from './utils/find';
27
+ export { uuid } from './utils/uuid';
@@ -0,0 +1,4 @@
1
+ import { EditorView } from 'prosemirror-view';
2
+ export declare const handleKeyDown: (view: EditorView<any>, event: Event) => boolean;
3
+ export declare function handleTripleClick(view: EditorView, pos: number): boolean;
4
+ export declare function handleMouseDown(view: EditorView, event: Event): boolean;
@@ -0,0 +1,3 @@
1
+ import { PluginKey } from 'prosemirror-state';
2
+ export declare const tableEditingKey: PluginKey<any, any>;
3
+ export declare const fixTablesKey: PluginKey<any, any>;
@@ -0,0 +1,8 @@
1
+ import { Plugin } from 'prosemirror-state';
2
+ import { ReportFixedTable } from '../utils/fix-tables';
3
+ declare type PluginState = number | null;
4
+ export declare function tableEditing({ allowTableNodeSelection, reportFixedTable, }?: {
5
+ allowTableNodeSelection?: boolean;
6
+ reportFixedTable?: ReportFixedTable;
7
+ }): Plugin<PluginState>;
8
+ export {};
@@ -0,0 +1,2 @@
1
+ export { tableEditing } from './pm-plugins/table-editing';
2
+ export { tableEditingKey } from './pm-plugins/plugin-key';
@@ -0,0 +1,62 @@
1
+ import { Node as PMNode } from 'prosemirror-model';
2
+ import { Axis } from './types';
3
+ export declare class Rect {
4
+ left: number;
5
+ top: number;
6
+ right: number;
7
+ bottom: number;
8
+ constructor(left: number, top: number, right: number, bottom: number);
9
+ }
10
+ export interface TableRect extends Rect {
11
+ map: TableMap;
12
+ tableStart: number;
13
+ table: PMNode;
14
+ }
15
+ export declare type TableContext = {
16
+ map: TableMap;
17
+ tableStart: number;
18
+ table: PMNode;
19
+ };
20
+ export declare enum TableProblemTypes {
21
+ COLLISION = "collision",
22
+ OVERLONG_ROWSPAN = "overlong_rowspan",
23
+ MISSING = "missing",
24
+ COLWIDTH_MISMATCH = "colwidth mismatch"
25
+ }
26
+ export declare type TableProblemCollision = {
27
+ type: TableProblemTypes.COLLISION;
28
+ row: number;
29
+ pos: number;
30
+ n: number;
31
+ };
32
+ export declare type TableProblemLongRowspan = {
33
+ type: TableProblemTypes.OVERLONG_ROWSPAN;
34
+ pos: number;
35
+ n: number;
36
+ };
37
+ export declare type TableProblemMissing = {
38
+ type: TableProblemTypes.MISSING;
39
+ row: number;
40
+ n: number;
41
+ };
42
+ export declare type TableProblemColWidthMismatch = {
43
+ type: TableProblemTypes;
44
+ pos: number;
45
+ colwidth: number;
46
+ };
47
+ export declare type TableProblem = TableProblemCollision | TableProblemLongRowspan | TableProblemMissing | TableProblemColWidthMismatch;
48
+ export declare const tableNewColumnMinWidth = 140;
49
+ export declare class TableMap {
50
+ width: number;
51
+ height: number;
52
+ map: number[];
53
+ problems?: TableProblem[] | null;
54
+ constructor(width: number, height: number, map: number[], problems?: TableProblem[] | null);
55
+ findCell(pos: number): Rect;
56
+ colCount(pos: number): number;
57
+ nextCell(pos: number, axis: Axis, dir: number): number | null;
58
+ rectBetween(a: number, b: number): Rect;
59
+ cellsInRect(rect: Rect): number[];
60
+ positionAt(row: number, col: number, table: PMNode): number;
61
+ static get(table: PMNode): TableMap;
62
+ }
@@ -0,0 +1,36 @@
1
+ import { Fragment, ResolvedPos } from 'prosemirror-model';
2
+ import { EditorState, Transaction } from 'prosemirror-state';
3
+ import { EditorView } from 'prosemirror-view';
4
+ export interface CellAttributes {
5
+ colspan?: number;
6
+ rowspan?: number;
7
+ colwidth?: number[];
8
+ background?: string;
9
+ }
10
+ export interface SelectionBounds {
11
+ $from: ResolvedPos;
12
+ $to: ResolvedPos;
13
+ }
14
+ export interface SerializedCellSelection {
15
+ type: 'cell';
16
+ anchor: number;
17
+ head: number;
18
+ }
19
+ export interface CellSelectionRect {
20
+ height: number;
21
+ width: number;
22
+ rows: Fragment[];
23
+ }
24
+ export declare type Axis = 'horiz' | 'vert';
25
+ export declare type Direction = -1 | 1;
26
+ export declare type Dispatch = (tr: Transaction) => void;
27
+ export declare type Command = (state: EditorState, dispatch?: Dispatch) => boolean;
28
+ export declare type CommandWithView = (state: EditorState, dispatch?: Dispatch, view?: EditorView) => boolean;
29
+ export declare type SelectionRange = {
30
+ $anchor: ResolvedPos;
31
+ $head: ResolvedPos;
32
+ indexes: number[];
33
+ };
34
+ export declare type CellAttributesWithColSpan = CellAttributes & {
35
+ colspan: number;
36
+ };
@@ -0,0 +1,2 @@
1
+ import { Transaction } from 'prosemirror-state';
2
+ export declare const addColumnAt: (columnIndex: number) => (tr: Transaction) => Transaction;
@@ -0,0 +1,5 @@
1
+ import { Node as PMNode } from 'prosemirror-model';
2
+ import { Transaction } from 'prosemirror-state';
3
+ import { TableContext, TableMap } from '../table-map';
4
+ export declare function columnIsHeader(map: TableMap, table: PMNode, col: number): boolean;
5
+ export declare function addColumn(tr: Transaction, { map, tableStart, table }: TableContext, col: number): Transaction;
@@ -0,0 +1,3 @@
1
+ import { Transaction } from 'prosemirror-state';
2
+ export declare const cloneRowAt: (rowIndex: number) => (tr: Transaction) => Transaction;
3
+ export declare const addRowAt: (rowIndex: number, clonePreviousRow?: boolean | undefined) => (tr: Transaction) => Transaction;
@@ -0,0 +1,3 @@
1
+ import { Transaction } from 'prosemirror-state';
2
+ import { TableContext } from '../table-map';
3
+ export declare function addRow(tr: Transaction, { map, tableStart, table }: TableContext, row: number): Transaction;
@@ -0,0 +1,15 @@
1
+ import { Selection } from 'prosemirror-state';
2
+ import { TableMap } from '../table-map';
3
+ export declare function getSelectedTableInfo(selection: Selection): {
4
+ table: import("prosemirror-utils").ContentNodeWithPos | undefined;
5
+ map: TableMap | undefined;
6
+ totalRowCount: number;
7
+ totalColumnCount: number;
8
+ };
9
+ export declare function getSelectedCellInfo(selection: Selection): {
10
+ totalRowCount: number;
11
+ totalColumnCount: number;
12
+ horizontalCells: number;
13
+ verticalCells: number;
14
+ totalCells: number;
15
+ };
@@ -0,0 +1,6 @@
1
+ import { ResolvedPos } from 'prosemirror-model';
2
+ import { Axis } from '../types';
3
+ export declare function pointsAtCell($pos: ResolvedPos): false | import("prosemirror-model").Node<any> | null | undefined;
4
+ export declare function cellNear($pos: ResolvedPos): ResolvedPos | null;
5
+ export declare function cellAround($pos: ResolvedPos): ResolvedPos | null;
6
+ export declare function nextCell($pos: ResolvedPos, axis: Axis, dir: number): ResolvedPos | null;
@@ -0,0 +1,2 @@
1
+ import { Transaction } from 'prosemirror-state';
2
+ export declare const cloneTr: (tr: Transaction) => Transaction;
@@ -0,0 +1,4 @@
1
+ import { CellAttributes, CellAttributesWithColSpan } from '../types';
2
+ export declare function removeColSpan(attrs: CellAttributes, pos: number, n?: number): CellAttributes;
3
+ export declare function assertColspan(attrs: CellAttributes): void;
4
+ export declare function addColSpan<T extends CellAttributesWithColSpan>(attrs: T, pos: number, n?: number): T;
@@ -0,0 +1,8 @@
1
+ import { NodeType, Node as PMNode, Slice } from 'prosemirror-model';
2
+ import { EditorState } from 'prosemirror-state';
3
+ import { Rect } from '../table-map';
4
+ import { CellSelectionRect, Dispatch } from '../types';
5
+ export declare function pastedCells(slice: Slice): CellSelectionRect | null;
6
+ export declare function fitSlice(nodeType: NodeType, slice: Slice): PMNode;
7
+ export declare function clipCells({ width: currentWidth, height: currentHeight, rows: currentRows, }: CellSelectionRect, newWidth: number, newHeight: number): CellSelectionRect;
8
+ export declare function insertCells(state: EditorState, dispatch: Dispatch, tableStart: number, rect: Rect, cells: CellSelectionRect): void;
@@ -0,0 +1,10 @@
1
+ import { Node as PMNode, Schema } from 'prosemirror-model';
2
+ declare type CreateTableProps = {
3
+ schema: Schema;
4
+ rowsCount?: number;
5
+ colsCount?: number;
6
+ withHeaderRow?: boolean;
7
+ cellContent?: PMNode;
8
+ };
9
+ export declare const createTable: ({ schema, rowsCount, colsCount, withHeaderRow, cellContent, }: CreateTableProps) => PMNode;
10
+ export {};
@@ -0,0 +1,3 @@
1
+ import { EditorState } from 'prosemirror-state';
2
+ import { DecorationSet } from 'prosemirror-view';
3
+ export declare function drawCellSelection(state: EditorState): DecorationSet | null;
@@ -0,0 +1,4 @@
1
+ import { Schema } from 'prosemirror-model';
2
+ import { Transaction } from 'prosemirror-state';
3
+ import { NodeWithPos } from 'prosemirror-utils';
4
+ export declare const emptyCell: (cell: NodeWithPos, schema: Schema) => (tr: Transaction) => Transaction;
@@ -0,0 +1,8 @@
1
+ import { ResolvedPos } from 'prosemirror-model';
2
+ import { Selection } from 'prosemirror-state';
3
+ import { ContentNodeWithPos } from 'prosemirror-utils';
4
+ import { Rect } from '../table-map';
5
+ export declare const findTable: (selection: Selection) => ContentNodeWithPos | undefined;
6
+ export declare const findTableClosestToPos: ($pos: ResolvedPos) => ContentNodeWithPos | undefined;
7
+ export declare const findCellClosestToPos: ($pos: ResolvedPos) => ContentNodeWithPos | undefined;
8
+ export declare const findCellRectClosestToPos: ($pos: ResolvedPos) => Rect | undefined;
@@ -0,0 +1,9 @@
1
+ import { Node } from 'prosemirror-model';
2
+ import { EditorState, Transaction } from 'prosemirror-state';
3
+ export declare type ReportFixedTable = ({ state, tr, reason, }: {
4
+ state: EditorState;
5
+ tr: Transaction;
6
+ reason: string;
7
+ }) => void;
8
+ export declare function fixTables(state: EditorState, oldState?: EditorState, reportFixedTable?: ReportFixedTable): Transaction | undefined;
9
+ export declare function fixTable(state: EditorState, table: Node, tablePos: number, transaction?: Transaction, reportFixedTable?: ReportFixedTable): Transaction | undefined;
@@ -0,0 +1,4 @@
1
+ import { Transaction } from 'prosemirror-state';
2
+ import { ContentNodeWithPos } from 'prosemirror-utils';
3
+ export declare const forEachCellInColumn: (columnIndex: number, cellTransform: (cell: ContentNodeWithPos, tr: Transaction) => Transaction, setCursorToLastCell?: boolean | undefined) => (tr: Transaction) => Transaction;
4
+ export declare const forEachCellInRow: (rowIndex: number, cellTransform: (cell: ContentNodeWithPos, tr: Transaction) => Transaction, setCursorToLastCell: boolean) => (tr: Transaction) => Transaction;
@@ -0,0 +1,3 @@
1
+ import { ResolvedPos } from 'prosemirror-model';
2
+ import { SelectionRange } from 'prosemirror-state';
3
+ export declare function getCellSelectionRanges($anchorCell: ResolvedPos, $headCell: ResolvedPos): SelectionRange[];
@@ -0,0 +1,3 @@
1
+ import { Selection } from 'prosemirror-state';
2
+ import { ContentNodeWithPos } from 'prosemirror-utils';
3
+ export declare const getCellsInColumn: (columnIndexes: number | number[]) => (selection: Selection) => ContentNodeWithPos[] | undefined;
@@ -0,0 +1,3 @@
1
+ import { Selection } from 'prosemirror-state';
2
+ import { ContentNodeWithPos } from 'prosemirror-utils';
3
+ export declare const getCellsInRow: (rowIndex: number | number[]) => (selection: Selection) => ContentNodeWithPos[] | undefined;
@@ -0,0 +1,3 @@
1
+ import { Selection } from 'prosemirror-state';
2
+ import { ContentNodeWithPos } from 'prosemirror-utils';
3
+ export declare const getCellsInTable: (selection: Selection) => ContentNodeWithPos[] | undefined;
@@ -0,0 +1,3 @@
1
+ import { Transaction } from 'prosemirror-state';
2
+ import { SelectionRange } from '../types';
3
+ export declare const getSelectionRangeInColumn: (columnIndex: number) => (tr: Transaction) => SelectionRange | undefined;
@@ -0,0 +1,3 @@
1
+ import { Transaction } from 'prosemirror-state';
2
+ import { SelectionRange } from '../types';
3
+ export declare const getSelectionRangeInRow: (rowIndex: number) => (tr: Transaction) => SelectionRange | undefined;
@@ -0,0 +1,3 @@
1
+ import { Selection } from 'prosemirror-state';
2
+ import { Rect } from '../table-map';
3
+ export declare const getSelectionRect: (selection: Selection) => Rect | undefined;
@@ -0,0 +1,2 @@
1
+ import { Command, Direction } from '../types';
2
+ export declare function goToNextCell(direction: Direction): Command;
@@ -0,0 +1,3 @@
1
+ import { Slice } from 'prosemirror-model';
2
+ import { EditorView } from 'prosemirror-view';
3
+ export declare function handlePaste(view: EditorView, event: Event | null, slice: Slice): boolean;
@@ -0,0 +1,6 @@
1
+ import { Selection } from 'prosemirror-state';
2
+ import { Rect } from '../table-map';
3
+ export declare const isRectSelected: (rect: Rect) => (selection: Selection) => boolean;
4
+ export declare const isColumnSelected: (columnIndex: number) => (selection: Selection) => boolean;
5
+ export declare const isRowSelected: (rowIndex: number) => (selection: Selection) => boolean;
6
+ export declare const isTableSelected: (selection: Selection) => boolean;
@@ -0,0 +1,11 @@
1
+ import { ResolvedPos } from 'prosemirror-model';
2
+ import { NodeSelection, Selection, TextSelection } from 'prosemirror-state';
3
+ interface CellSelectionShape extends Selection {
4
+ $anchorCell: ResolvedPos;
5
+ $headCell: ResolvedPos;
6
+ visible: boolean;
7
+ }
8
+ export declare function isSelectionType(selection: Selection, type: 'cell'): selection is CellSelectionShape;
9
+ export declare function isSelectionType(selection: Selection, type: 'node'): selection is NodeSelection;
10
+ export declare function isSelectionType(selection: Selection, type: 'text'): selection is TextSelection;
11
+ export {};
@@ -0,0 +1,5 @@
1
+ import { Transaction } from 'prosemirror-state';
2
+ export declare const moveColumn: (originColumnIndex: number, targetColumnIndex: number, options?: {
3
+ tryToFit: boolean;
4
+ direction: number;
5
+ }) => (tr: Transaction) => Transaction;
@@ -0,0 +1,5 @@
1
+ import { Transaction } from 'prosemirror-state';
2
+ export declare const moveRow: (originRowIndex: number, targetRowIndex: number, options?: {
3
+ tryToFit: boolean;
4
+ direction: number;
5
+ }) => (tr: Transaction) => Transaction;
@@ -0,0 +1,2 @@
1
+ import { EditorState, Transaction } from 'prosemirror-state';
2
+ export declare function normalizeSelection(state: EditorState, transaction?: Transaction, allowTableNodeSelection?: boolean): Transaction | undefined;
@@ -0,0 +1,5 @@
1
+ import { ResolvedPos } from 'prosemirror-model';
2
+ import { Transaction } from 'prosemirror-state';
3
+ export declare const removeColumnAt: (columnIndex: number) => (tr: Transaction) => Transaction;
4
+ export declare const removeSelectedColumns: (tr: Transaction) => Transaction;
5
+ export declare const removeColumnClosestToPos: ($pos: ResolvedPos) => (tr: Transaction) => Transaction;
@@ -0,0 +1,5 @@
1
+ import { ResolvedPos } from 'prosemirror-model';
2
+ import { Transaction } from 'prosemirror-state';
3
+ export declare const removeRowAt: (rowIndex: number) => (tr: Transaction) => Transaction;
4
+ export declare const removeSelectedRows: (tr: Transaction) => Transaction;
5
+ export declare const removeRowClosestToPos: ($pos: ResolvedPos) => (tr: Transaction) => Transaction;
@@ -0,0 +1,2 @@
1
+ import { Transaction } from 'prosemirror-state';
2
+ export declare const removeTable: (tr: Transaction) => Transaction;
@@ -0,0 +1,10 @@
1
+ import { Node as PMNode } from 'prosemirror-model';
2
+ import { NodeWithPos } from 'prosemirror-utils';
3
+ declare type ArrayOfRows = Array<PMNode | null>[];
4
+ export declare const transpose: (array: Array<any>) => Array<any>;
5
+ export declare const convertArrayOfRowsToTableNode: (tableNode: PMNode, arrayOfNodes: ArrayOfRows) => PMNode;
6
+ export declare const convertTableNodeToArrayOfRows: (tableNode: PMNode) => ArrayOfRows;
7
+ export declare const moveTableRow: (table: NodeWithPos, indexesOrigin: number[], indexesTarget: number[], direction: number) => PMNode;
8
+ export declare const moveTableColumn: (table: NodeWithPos, indexesOrigin: number[], indexesTarget: number[], direction: number) => PMNode;
9
+ export declare const isValidReorder: (originIndex: number, targetIndex: number, targets: number[], type: 'row' | 'column') => boolean;
10
+ export {};
@@ -0,0 +1,3 @@
1
+ import { Slice } from 'prosemirror-model';
2
+ import { EditorState, Transaction } from 'prosemirror-state';
3
+ export declare const replaceSelectedTable: (state: EditorState, content: string | Slice) => Transaction;
@@ -0,0 +1,4 @@
1
+ import { Transaction } from 'prosemirror-state';
2
+ export declare const selectColumn: (index: number, expand?: boolean | undefined) => (tr: Transaction) => Transaction;
3
+ export declare const selectRow: (index: number, expand?: boolean | undefined) => (tr: Transaction) => Transaction;
4
+ export declare const selectTable: (tr: Transaction) => Transaction;
@@ -0,0 +1,3 @@
1
+ import { ResolvedPos } from 'prosemirror-model';
2
+ import { Selection } from 'prosemirror-state';
3
+ export declare function selectionCell(selection: Selection): ResolvedPos | null;
@@ -0,0 +1,4 @@
1
+ import { EditorState } from 'prosemirror-state';
2
+ import { Rect, TableContext } from '../table-map';
3
+ export declare type SelectionRect = Rect & TableContext;
4
+ export declare function selectedRect(state: EditorState): SelectionRect;
@@ -0,0 +1,4 @@
1
+ import { Transaction } from 'prosemirror-state';
2
+ import { NodeWithPos } from 'prosemirror-utils';
3
+ import { CellAttributes } from '../types';
4
+ export declare const setCellAttrs: (cell: NodeWithPos, attrs: CellAttributes) => (tr: Transaction) => Transaction;
@@ -0,0 +1,11 @@
1
+ import { NodeType, Node as PMNode, ResolvedPos } from 'prosemirror-model';
2
+ import { Command } from '../types';
3
+ export declare function cellWrapping($pos: ResolvedPos): PMNode | null;
4
+ export declare type GetCellTypeArgs = {
5
+ row: number;
6
+ col: number;
7
+ node: PMNode;
8
+ };
9
+ declare type GetCellTypeCallback = (option: GetCellTypeArgs) => NodeType;
10
+ export declare function splitCellWithType(getCellType: GetCellTypeCallback): Command;
11
+ export {};
@@ -0,0 +1,2 @@
1
+ import { Command } from '../types';
2
+ export declare const splitCell: Command;
@@ -0,0 +1,5 @@
1
+ import { NodeType, Schema } from 'prosemirror-model';
2
+ export declare type TableNodeCache = {
3
+ [key: string]: NodeType;
4
+ };
5
+ export declare function tableNodeTypes(schema: Schema): TableNodeCache;
@@ -0,0 +1,4 @@
1
+ import { ResolvedPos } from 'prosemirror-model';
2
+ import { EditorState } from 'prosemirror-state';
3
+ export declare function isInTable(state: EditorState): boolean;
4
+ export declare function inSameTable($a: ResolvedPos, $b: ResolvedPos): boolean;
@@ -0,0 +1,5 @@
1
+ import { Command } from '../types';
2
+ export declare const addRowBefore: Command;
3
+ export declare const addRowAfter: Command;
4
+ export declare const addColumnBefore: Command;
5
+ export declare const addColumnAfter: Command;
@@ -0,0 +1,3 @@
1
+ import { Command } from '../types';
2
+ export declare type ToggleType = 'column' | 'row';
3
+ export declare function toggleHeader(type: ToggleType): Command;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Direct copy from adf-schema to kill circular dependency without pulling into
3
+ * a new package
4
+ */
5
+ export declare const generateUuid: () => string;
6
+ export declare const uuid: {
7
+ setStatic(value: string | false): void;
8
+ generate(): string;
9
+ };
@@ -0,0 +1,43 @@
1
+ export { addColumnAt } from './utils/add-column-at';
2
+ export { addColumn, columnIsHeader } from './utils/add-column';
3
+ export { addRowAt } from './utils/add-row-at';
4
+ export { addRow } from './utils/add-row';
5
+ export { pointsAtCell, cellNear, cellAround, nextCell } from './utils/cells';
6
+ export { cloneTr } from './utils/clone-tr';
7
+ export { removeColSpan, addColSpan } from './utils/colspan';
8
+ export { createTable } from './utils/create-table';
9
+ export { drawCellSelection } from './utils/draw-cell-selection';
10
+ export { emptyCell } from './utils/empty-cells';
11
+ export { findTable, findTableClosestToPos, findCellClosestToPos, findCellRectClosestToPos, } from './utils/find';
12
+ export { fixTables } from './utils/fix-tables';
13
+ export { forEachCellInColumn, forEachCellInRow } from './utils/for-each-cell';
14
+ export { getCellSelectionRanges } from './utils/get-cell-selection-ranges';
15
+ export { getCellsInColumn } from './utils/get-cells-in-column';
16
+ export { getCellsInRow } from './utils/get-cells-in-row';
17
+ export { getCellsInTable } from './utils/get-cells-in-table';
18
+ export { getSelectionRangeInColumn } from './utils/get-selection-range-in-column';
19
+ export { getSelectionRangeInRow } from './utils/get-selection-range-in-row';
20
+ export { getSelectionRect } from './utils/get-selection-rect';
21
+ export { goToNextCell } from './utils/go-to-next-cell';
22
+ export { isRectSelected, isColumnSelected, isRowSelected, isTableSelected, } from './utils/is-selected';
23
+ export { isSelectionType } from './utils/is-selection-type';
24
+ export { moveColumn } from './utils/move-column';
25
+ export { moveRow } from './utils/move-row';
26
+ export { normalizeSelection } from './utils/normalize-selection';
27
+ export { removeColumnAt, removeSelectedColumns, removeColumnClosestToPos, } from './utils/remove-column';
28
+ export { removeRowAt, removeSelectedRows, removeRowClosestToPos, } from './utils/remove-row';
29
+ export { removeTable } from './utils/remove-table';
30
+ export { selectColumn, selectRow, selectTable } from './utils/select-nodes';
31
+ export { selectionCell } from './utils/selection-cell';
32
+ export { selectedRect } from './utils/selection-rect';
33
+ export type { SelectionRect } from './utils/selection-rect';
34
+ export { setCellAttrs } from './utils/set-cell-attrs';
35
+ export { cellWrapping, splitCellWithType } from './utils/split-cell-with-type';
36
+ export { splitCell } from './utils/split-cell';
37
+ export { tableNodeTypes } from './utils/table-node-types';
38
+ export { isInTable, inSameTable } from './utils/tables';
39
+ export { toggleHeader } from './utils/toggle-header';
40
+ export { convertArrayOfRowsToTableNode, convertTableNodeToArrayOfRows, } from './utils/reorder-utils';
41
+ export { handlePaste } from './utils/handle-paste';
42
+ export { replaceSelectedTable } from './utils/replace-table';
43
+ export { getSelectedTableInfo, getSelectedCellInfo, } from './utils/analytics-helpers';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-tables",
3
- "version": "2.1.6",
3
+ "version": "2.2.0",
4
4
  "description": "A package that contains common classes and utility functions for editor tables",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -12,6 +12,13 @@
12
12
  "module": "dist/esm/index.js",
13
13
  "module:es2019": "dist/es2019/index.js",
14
14
  "types": "dist/types/index.d.ts",
15
+ "typesVersions": {
16
+ ">=4.0 <4.5": {
17
+ "*": [
18
+ "dist/types-ts4.0/*"
19
+ ]
20
+ }
21
+ },
15
22
  "sideEffects": false,
16
23
  "atlaskit:src": "src/index.ts",
17
24
  "atlassian": {
@@ -30,7 +37,7 @@
30
37
  },
31
38
  "devDependencies": {
32
39
  "@atlaskit/adf-schema": "^24.0.0",
33
- "@atlaskit/editor-test-helpers": "^17.1.0",
40
+ "@atlaskit/editor-test-helpers": "^17.2.0",
34
41
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1"
35
42
  },
36
43
  "techstack": {
@@ -4,5 +4,12 @@
4
4
  "module": "../dist/esm/pm-plugins.js",
5
5
  "module:es2019": "../dist/es2019/pm-plugins.js",
6
6
  "sideEffects": false,
7
- "types": "../dist/types/pm-plugins.d.ts"
7
+ "types": "../dist/types/pm-plugins.d.ts",
8
+ "typesVersions": {
9
+ ">=4.0 <4.5": {
10
+ "*": [
11
+ "../dist/types-ts4.0/pm-plugins.d.ts"
12
+ ]
13
+ }
14
+ }
8
15
  }
package/report.api.md CHANGED
@@ -1,6 +1,8 @@
1
- ## API Report File for "@atlaskit/editor-tables"
1
+ ## API Report File for "@atlaskit/editor-tables".
2
2
 
3
- > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
3
+ > Do not edit this file. This report is auto-generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)
4
6
 
5
7
  ```ts
6
8
  import { ContentNodeWithPos } from 'prosemirror-utils';
@@ -4,5 +4,12 @@
4
4
  "module": "../dist/esm/table-map.js",
5
5
  "module:es2019": "../dist/es2019/table-map.js",
6
6
  "sideEffects": false,
7
- "types": "../dist/types/table-map.d.ts"
7
+ "types": "../dist/types/table-map.d.ts",
8
+ "typesVersions": {
9
+ ">=4.0 <4.5": {
10
+ "*": [
11
+ "../dist/types-ts4.0/table-map.d.ts"
12
+ ]
13
+ }
14
+ }
8
15
  }
@@ -4,5 +4,12 @@
4
4
  "module": "../dist/esm/types.js",
5
5
  "module:es2019": "../dist/es2019/types.js",
6
6
  "sideEffects": false,
7
- "types": "../dist/types/types.d.ts"
7
+ "types": "../dist/types/types.d.ts",
8
+ "typesVersions": {
9
+ ">=4.0 <4.5": {
10
+ "*": [
11
+ "../dist/types-ts4.0/types.d.ts"
12
+ ]
13
+ }
14
+ }
8
15
  }
@@ -4,5 +4,12 @@
4
4
  "module": "../dist/esm/utils.js",
5
5
  "module:es2019": "../dist/es2019/utils.js",
6
6
  "sideEffects": false,
7
- "types": "../dist/types/utils.d.ts"
7
+ "types": "../dist/types/utils.d.ts",
8
+ "typesVersions": {
9
+ ">=4.0 <4.5": {
10
+ "*": [
11
+ "../dist/types-ts4.0/utils.d.ts"
12
+ ]
13
+ }
14
+ }
8
15
  }