@kerebron/extension-tables 0.4.27 → 0.4.29

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 (102) hide show
  1. package/esm/ExtensionTables.d.ts +10 -0
  2. package/esm/ExtensionTables.d.ts.map +1 -0
  3. package/esm/ExtensionTables.js +15 -0
  4. package/esm/ExtensionTables.js.map +1 -0
  5. package/esm/NodeTable.d.ts +19 -0
  6. package/esm/NodeTable.d.ts.map +1 -0
  7. package/esm/NodeTable.js +84 -0
  8. package/esm/NodeTable.js.map +1 -0
  9. package/esm/NodeTableCell.d.ts +11 -0
  10. package/esm/NodeTableCell.d.ts.map +1 -0
  11. package/esm/NodeTableCell.js +54 -0
  12. package/esm/NodeTableCell.js.map +1 -0
  13. package/esm/NodeTableHeader.d.ts +8 -0
  14. package/esm/NodeTableHeader.d.ts.map +1 -0
  15. package/esm/NodeTableHeader.js +44 -0
  16. package/esm/NodeTableHeader.js.map +1 -0
  17. package/esm/NodeTableRow.d.ts +11 -0
  18. package/esm/NodeTableRow.d.ts.map +1 -0
  19. package/esm/NodeTableRow.js +24 -0
  20. package/esm/NodeTableRow.js.map +1 -0
  21. package/esm/_dnt.shims.d.ts +2 -0
  22. package/esm/_dnt.shims.d.ts.map +1 -0
  23. package/esm/_dnt.shims.js +58 -0
  24. package/esm/_dnt.shims.js.map +1 -0
  25. package/esm/package.json +3 -0
  26. package/esm/utilities/CellSelection.d.ts +53 -0
  27. package/esm/utilities/CellSelection.d.ts.map +1 -0
  28. package/esm/utilities/CellSelection.js +365 -0
  29. package/esm/utilities/CellSelection.js.map +1 -0
  30. package/esm/utilities/TableMap.d.ts +92 -0
  31. package/esm/utilities/TableMap.d.ts.map +1 -0
  32. package/esm/utilities/TableMap.js +320 -0
  33. package/esm/utilities/TableMap.js.map +1 -0
  34. package/esm/utilities/TableView.d.ts +21 -0
  35. package/esm/utilities/TableView.d.ts.map +1 -0
  36. package/esm/utilities/TableView.js +81 -0
  37. package/esm/utilities/TableView.js.map +1 -0
  38. package/esm/utilities/columnResizing.d.ts +50 -0
  39. package/esm/utilities/columnResizing.d.ts.map +1 -0
  40. package/esm/utilities/columnResizing.js +300 -0
  41. package/esm/utilities/columnResizing.js.map +1 -0
  42. package/esm/utilities/commands.d.ts +164 -0
  43. package/esm/utilities/commands.d.ts.map +1 -0
  44. package/esm/utilities/commands.js +703 -0
  45. package/esm/utilities/commands.js.map +1 -0
  46. package/esm/utilities/copypaste.d.ts +35 -0
  47. package/esm/utilities/copypaste.d.ts.map +1 -0
  48. package/esm/utilities/copypaste.js +284 -0
  49. package/esm/utilities/copypaste.js.map +1 -0
  50. package/esm/utilities/createCell.d.ts +3 -0
  51. package/esm/utilities/createCell.d.ts.map +1 -0
  52. package/esm/utilities/createCell.js +7 -0
  53. package/esm/utilities/createCell.js.map +1 -0
  54. package/esm/utilities/createTable.d.ts +3 -0
  55. package/esm/utilities/createTable.d.ts.map +1 -0
  56. package/esm/utilities/createTable.js +32 -0
  57. package/esm/utilities/createTable.js.map +1 -0
  58. package/esm/utilities/fixTables.d.ts +20 -0
  59. package/esm/utilities/fixTables.d.ts.map +1 -0
  60. package/esm/utilities/fixTables.js +147 -0
  61. package/esm/utilities/fixTables.js.map +1 -0
  62. package/esm/utilities/getTableNodeTypes.d.ts +5 -0
  63. package/esm/utilities/getTableNodeTypes.d.ts.map +1 -0
  64. package/esm/utilities/getTableNodeTypes.js +15 -0
  65. package/esm/utilities/getTableNodeTypes.js.map +1 -0
  66. package/esm/utilities/input.d.ts +21 -0
  67. package/esm/utilities/input.d.ts.map +1 -0
  68. package/esm/utilities/input.js +242 -0
  69. package/esm/utilities/input.js.map +1 -0
  70. package/esm/utilities/tableEditing.d.ts +23 -0
  71. package/esm/utilities/tableEditing.d.ts.map +1 -0
  72. package/esm/utilities/tableEditing.js +64 -0
  73. package/esm/utilities/tableEditing.js.map +1 -0
  74. package/esm/utilities/tableNodeTypes.d.ts +14 -0
  75. package/esm/utilities/tableNodeTypes.d.ts.map +1 -0
  76. package/esm/utilities/tableNodeTypes.js +17 -0
  77. package/esm/utilities/tableNodeTypes.js.map +1 -0
  78. package/esm/utilities/util.d.ts +73 -0
  79. package/esm/utilities/util.d.ts.map +1 -0
  80. package/esm/utilities/util.js +156 -0
  81. package/esm/utilities/util.js.map +1 -0
  82. package/package.json +6 -3
  83. package/src/ExtensionTables.ts +16 -0
  84. package/src/NodeTable.ts +139 -0
  85. package/src/NodeTableCell.ts +70 -0
  86. package/src/NodeTableHeader.ts +49 -0
  87. package/src/NodeTableRow.ts +41 -0
  88. package/src/_dnt.shims.ts +60 -0
  89. package/src/utilities/CellSelection.ts +477 -0
  90. package/src/utilities/TableMap.ts +392 -0
  91. package/src/utilities/TableView.ts +102 -0
  92. package/src/utilities/columnResizing.ts +437 -0
  93. package/src/utilities/commands.ts +896 -0
  94. package/src/utilities/copypaste.ts +394 -0
  95. package/src/utilities/createCell.ts +12 -0
  96. package/src/utilities/createTable.ts +53 -0
  97. package/src/utilities/fixTables.ts +156 -0
  98. package/src/utilities/getTableNodeTypes.ts +21 -0
  99. package/src/utilities/input.ts +299 -0
  100. package/src/utilities/tableEditing.ts +90 -0
  101. package/src/utilities/tableNodeTypes.ts +32 -0
  102. package/src/utilities/util.ts +204 -0
@@ -0,0 +1,10 @@
1
+ import { Extension } from '@kerebron/editor';
2
+ import { NodeTable } from './NodeTable.js';
3
+ import { NodeTableRow } from './NodeTableRow.js';
4
+ import { NodeTableHeader } from './NodeTableHeader.js';
5
+ import { NodeTableCell } from './NodeTableCell.js';
6
+ export declare class ExtensionTables extends Extension {
7
+ name: string;
8
+ requires: (NodeTable | NodeTableRow | NodeTableHeader | NodeTableCell)[];
9
+ }
10
+ //# sourceMappingURL=ExtensionTables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionTables.d.ts","sourceRoot":"","sources":["../src/ExtensionTables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,IAAI,SAAsB;IAC1B,QAAQ,iEAKN;CACH"}
@@ -0,0 +1,15 @@
1
+ import { Extension } from '@kerebron/editor';
2
+ import { NodeTable } from './NodeTable.js';
3
+ import { NodeTableRow } from './NodeTableRow.js';
4
+ import { NodeTableHeader } from './NodeTableHeader.js';
5
+ import { NodeTableCell } from './NodeTableCell.js';
6
+ export class ExtensionTables extends Extension {
7
+ name = 'extension-tables';
8
+ requires = [
9
+ new NodeTable(),
10
+ new NodeTableHeader(),
11
+ new NodeTableRow(),
12
+ new NodeTableCell(),
13
+ ];
14
+ }
15
+ //# sourceMappingURL=ExtensionTables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionTables.js","sourceRoot":"","sources":["../src/ExtensionTables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,IAAI,GAAG,kBAAkB,CAAC;IAC1B,QAAQ,GAAG;QACT,IAAI,SAAS,EAAE;QACf,IAAI,eAAe,EAAE;QACrB,IAAI,YAAY,EAAE;QAClB,IAAI,aAAa,EAAE;KACpB,CAAC;CACH"}
@@ -0,0 +1,19 @@
1
+ import { NodeSpec, NodeType } from 'prosemirror-model';
2
+ import { type CoreEditor, Node } from '@kerebron/editor';
3
+ import { type CommandFactories, type CommandShortcuts } from '@kerebron/editor/commands';
4
+ import { Plugin } from 'prosemirror-state';
5
+ export declare class NodeTable extends Node {
6
+ name: string;
7
+ requires: string[];
8
+ attributes: {
9
+ class: {
10
+ default: string;
11
+ fromDom(element: HTMLElement): any;
12
+ };
13
+ };
14
+ getNodeSpec(): NodeSpec;
15
+ getCommandFactories(editor: CoreEditor, type: NodeType): Partial<CommandFactories>;
16
+ getKeyboardShortcuts(): Partial<CommandShortcuts>;
17
+ getProseMirrorPlugins(): Plugin[];
18
+ }
19
+ //# sourceMappingURL=NodeTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeTable.d.ts","sourceRoot":"","sources":["../src/NodeTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AA4BnC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,qBAAa,SAAU,SAAQ,IAAI;IACxB,IAAI,SAAW;IACxB,QAAQ,WAAW;IAEV,UAAU;;;6BAGE,WAAW;;MAM9B;IAEO,WAAW,IAAI,QAAQ;IAgBvB,mBAAmB,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAsDnB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAKjD,qBAAqB,IAAI,MAAM,EAAE;CAM3C"}
@@ -0,0 +1,84 @@
1
+ import { TextSelection } from 'prosemirror-state';
2
+ import { Node } from '@kerebron/editor';
3
+ import { getHtmlAttributes, setHtmlAttributes, } from '@kerebron/editor/utilities';
4
+ import { createTable } from './utilities/createTable.js';
5
+ import { CellSelection } from './utilities/CellSelection.js';
6
+ import { columnResizing } from './utilities/columnResizing.js';
7
+ import { tableEditing } from './utilities/tableEditing.js';
8
+ import { addColumnAfter, addColumnBefore, addRowAfter, addRowBefore, deleteColumn, deleteRow, deleteTable, goToNextCell, mergeCells, setCellAttr, splitCell, toggleHeader, toggleHeaderCell, toggleHeaderColumn, toggleHeaderRow, } from './utilities/commands.js';
9
+ export class NodeTable extends Node {
10
+ name = 'table';
11
+ requires = ['doc'];
12
+ attributes = {
13
+ class: {
14
+ default: 'table',
15
+ fromDom(element) {
16
+ return element.hasAttribute('class')
17
+ ? element.getAttribute('class')
18
+ : undefined;
19
+ },
20
+ },
21
+ };
22
+ getNodeSpec() {
23
+ return {
24
+ content: 'table_row+',
25
+ tableRole: 'table',
26
+ isolating: true,
27
+ group: 'block',
28
+ parseDOM: [{
29
+ tag: 'table',
30
+ getAttrs: (element) => setHtmlAttributes(this, element),
31
+ }],
32
+ toDOM: (node) => ['table', getHtmlAttributes(this, node), ['tbody', 0]],
33
+ };
34
+ }
35
+ getCommandFactories(editor, type) {
36
+ const commands = {
37
+ addColumnAfter: () => (state, dispatch) => addColumnAfter(state, dispatch),
38
+ addColumnBefore: () => (state, dispatch) => addColumnBefore(state, dispatch),
39
+ addRowAfter: () => (state, dispatch) => addRowAfter(state, dispatch),
40
+ addRowBefore: () => (state, dispatch) => addRowBefore(state, dispatch),
41
+ deleteColumn: () => (state, dispatch) => deleteColumn(state, dispatch),
42
+ deleteRow: () => (state, dispatch) => deleteRow(state, dispatch),
43
+ deleteTable: () => (state, dispatch) => deleteTable(state, dispatch),
44
+ goToNextCell: (direction) => goToNextCell(direction),
45
+ mergeCells: () => (state, dispatch) => mergeCells(state, dispatch),
46
+ setCellAttr: (...args) => setCellAttr(...args),
47
+ splitCell: () => (state, dispatch) => splitCell(state, dispatch),
48
+ toggleHeader: (...args) => toggleHeader(...args),
49
+ toggleHeaderCell: () => (state, dispatch) => toggleHeaderCell(state, dispatch),
50
+ toggleHeaderRow: () => (state, dispatch) => toggleHeaderRow(state, dispatch),
51
+ toggleHeaderColumn: () => (state, dispatch) => toggleHeaderColumn(state, dispatch),
52
+ insertTable: ({ rows = 3, cols = 3, withHeaderRow = true } = {}) => (state, dispatch) => {
53
+ const tr = state.tr;
54
+ const node = createTable(editor.schema, rows, cols, withHeaderRow);
55
+ if (dispatch) {
56
+ const offset = tr.selection.from + 1;
57
+ tr.replaceSelectionWith(node)
58
+ .scrollIntoView()
59
+ .setSelection(TextSelection.near(tr.doc.resolve(offset)));
60
+ }
61
+ return true;
62
+ },
63
+ setCellSelection: (position) => (state, dispatch) => {
64
+ if (dispatch) {
65
+ const selection = CellSelection.create(state.doc, position.anchorCell, position.headCell);
66
+ state.tr.setSelection(selection);
67
+ }
68
+ return true;
69
+ },
70
+ };
71
+ return commands;
72
+ }
73
+ getKeyboardShortcuts() {
74
+ const keys = {};
75
+ return keys;
76
+ }
77
+ getProseMirrorPlugins() {
78
+ return [
79
+ columnResizing(),
80
+ tableEditing(),
81
+ ];
82
+ }
83
+ }
84
+ //# sourceMappingURL=NodeTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeTable.js","sourceRoot":"","sources":["../src/NodeTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,OAAO,EAAmB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAMzD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAIjC,MAAM,OAAO,SAAU,SAAQ,IAAI;IACxB,IAAI,GAAG,OAAO,CAAC;IACxB,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC;IAEV,UAAU,GAAG;QACpB,KAAK,EAAE;YACL,OAAO,EAAE,OAAO;YAChB,OAAO,CAAC,OAAoB;gBAC1B,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;oBAClC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAE;oBAChC,CAAC,CAAC,SAAS,CAAC;YAChB,CAAC;SACF;KACF,CAAC;IAEO,WAAW;QAClB,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,CAAC;oBACT,GAAG,EAAE,OAAO;oBACZ,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC;iBACxD,CAAC;YACF,KAAK,EAAE,CACL,IAAqB,EACrB,EAAE,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC;IAEQ,mBAAmB,CAC1B,MAAkB,EAClB,IAAc;QAEd,MAAM,QAAQ,GAA8B;YAC1C,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CACxC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;YACjC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CACzC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC;YAClC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;YACpE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;YACtE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;YACtE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;YAChE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;YACpE,YAAY,EAAE,CAAC,SAAoB,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;YAC/D,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC;YAClE,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAC9C,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;YAChE,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;YAChD,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAC1C,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC;YACnC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CACzC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC;YAClC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAC5C,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC;YACrC,WAAW,EACT,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CACtD,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAClB,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAEnE,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;oBAErC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC;yBAC1B,cAAc,EAAE;yBAChB,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC9D,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YACH,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAClD,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CACpC,KAAK,CAAC,GAAG,EACT,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,QAAQ,CAClB,CAAC;oBAEF,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEQ,oBAAoB;QAC3B,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,qBAAqB;QAC5B,OAAO;YACL,cAAc,EAAE;YAChB,YAAY,EAAE;SACf,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { NodeSpec, NodeType } from 'prosemirror-model';
2
+ import { type CoreEditor, Node } from '@kerebron/editor';
3
+ import { type CommandFactories, type CommandShortcuts } from '@kerebron/editor/commands';
4
+ export declare class NodeTableCell extends Node {
5
+ name: string;
6
+ requires: string[];
7
+ getNodeSpec(): NodeSpec;
8
+ getCommandFactories(editor: CoreEditor, type: NodeType): Partial<CommandFactories>;
9
+ getKeyboardShortcuts(): Partial<CommandShortcuts>;
10
+ }
11
+ //# sourceMappingURL=NodeTableCell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeTableCell.d.ts","sourceRoot":"","sources":["../src/NodeTableCell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AA4BnC,qBAAa,aAAc,SAAQ,IAAI;IAC5B,IAAI,SAAgB;IAC7B,QAAQ,WAAiB;IAEhB,WAAW,IAAI,QAAQ;IAmBvB,mBAAmB,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAKnB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAI3D"}
@@ -0,0 +1,54 @@
1
+ import { Node } from '@kerebron/editor';
2
+ function getCellAttrs(dom) {
3
+ if (typeof dom === 'string') {
4
+ return {};
5
+ }
6
+ const widthAttr = dom.getAttribute('data-colwidth');
7
+ const widths = widthAttr && /^\d+(,\d+)*$/.test(widthAttr)
8
+ ? widthAttr.split(',').map((s) => Number(s))
9
+ : null;
10
+ const colspan = Number(dom.getAttribute('colspan') || 1);
11
+ return {
12
+ colspan,
13
+ rowspan: Number(dom.getAttribute('rowspan') || 1),
14
+ colwidth: widths && widths.length == colspan ? widths : null,
15
+ };
16
+ }
17
+ function setCellAttrs(node) {
18
+ return {
19
+ colspan: (node.attrs.colspan != 1) ? node.attrs.colspan : undefined,
20
+ rowspan: (node.attrs.rowspan != 1) ? node.attrs.rowspan : undefined,
21
+ 'data-colwidth': node.attrs.colwidth?.join(','),
22
+ };
23
+ }
24
+ export class NodeTableCell extends Node {
25
+ name = 'table_cell';
26
+ requires = ['table_row'];
27
+ getNodeSpec() {
28
+ return {
29
+ content: 'block+',
30
+ attrs: {
31
+ colspan: { default: 1 },
32
+ rowspan: { default: 1 },
33
+ colwidth: { default: null },
34
+ },
35
+ tableRole: 'cell',
36
+ isolating: true,
37
+ parseDOM: [
38
+ { tag: 'td', getAttrs: (dom) => getCellAttrs(dom) },
39
+ ],
40
+ toDOM(node) {
41
+ return ['td', setCellAttrs(node), 0];
42
+ },
43
+ };
44
+ }
45
+ getCommandFactories(editor, type) {
46
+ const commands = {};
47
+ return commands;
48
+ }
49
+ getKeyboardShortcuts() {
50
+ const keys = {};
51
+ return keys;
52
+ }
53
+ }
54
+ //# sourceMappingURL=NodeTableCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeTableCell.js","sourceRoot":"","sources":["../src/NodeTableCell.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAOzD,SAAS,YAAY,CAAC,GAAyB;IAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;QACxD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,OAAO;QACL,OAAO;QACP,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjD,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;KAC7D,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACnE,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACnE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,aAAc,SAAQ,IAAI;IAC5B,IAAI,GAAG,YAAY,CAAC;IAC7B,QAAQ,GAAG,CAAC,WAAW,CAAC,CAAC;IAEhB,WAAW;QAClB,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE;gBACL,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;gBACvB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;gBACvB,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAC5B;YACD,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE;gBACR,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;aACpD;YACD,KAAK,CAAC,IAAI;gBACR,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;SACF,CAAC;IACJ,CAAC;IAEQ,mBAAmB,CAC1B,MAAkB,EAClB,IAAc;QAEd,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEQ,oBAAoB;QAC3B,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import type { NodeSpec } from 'prosemirror-model';
2
+ import { Node } from '@kerebron/editor';
3
+ export declare class NodeTableHeader extends Node {
4
+ name: string;
5
+ requires: string[];
6
+ getNodeSpec(): NodeSpec;
7
+ }
8
+ //# sourceMappingURL=NodeTableHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeTableHeader.d.ts","sourceRoot":"","sources":["../src/NodeTableHeader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AA2BxC,qBAAa,eAAgB,SAAQ,IAAI;IAC9B,IAAI,SAAkB;IAC/B,QAAQ,WAAa;IAEZ,WAAW,IAAI,QAAQ;CAgBjC"}
@@ -0,0 +1,44 @@
1
+ import { Node } from '@kerebron/editor';
2
+ function getCellAttrs(dom) {
3
+ if (typeof dom === 'string') {
4
+ return {};
5
+ }
6
+ const widthAttr = dom.getAttribute('data-colwidth');
7
+ const widths = widthAttr && /^\d+(,\d+)*$/.test(widthAttr)
8
+ ? widthAttr.split(',').map((s) => Number(s))
9
+ : null;
10
+ const colspan = Number(dom.getAttribute('colspan') || 1);
11
+ return {
12
+ colspan,
13
+ rowspan: Number(dom.getAttribute('rowspan') || 1),
14
+ colwidth: widths && widths.length == colspan ? widths : null,
15
+ };
16
+ }
17
+ function setCellAttrs(node) {
18
+ return {
19
+ colspan: (node.attrs.colspan != 1) ? node.attrs.colspan : undefined,
20
+ rowspan: (node.attrs.rowspan != 1) ? node.attrs.rowspan : undefined,
21
+ 'data-colwidth': node.attrs.colwidth?.join(','),
22
+ };
23
+ }
24
+ export class NodeTableHeader extends Node {
25
+ name = 'table_header';
26
+ requires = ['table'];
27
+ getNodeSpec() {
28
+ return {
29
+ content: 'block+',
30
+ attrs: {
31
+ colspan: { default: 1 },
32
+ rowspan: { default: 1 },
33
+ colwidth: { default: null },
34
+ },
35
+ tableRole: 'header_cell',
36
+ isolating: true,
37
+ parseDOM: [
38
+ { tag: 'th', getAttrs: (dom) => getCellAttrs(dom) },
39
+ ],
40
+ toDOM: (node) => ['th', setCellAttrs(node), 0],
41
+ };
42
+ }
43
+ }
44
+ //# sourceMappingURL=NodeTableHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeTableHeader.js","sourceRoot":"","sources":["../src/NodeTableHeader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,SAAS,YAAY,CAAC,GAAyB;IAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;QACxD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,OAAO;QACL,OAAO;QACP,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjD,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;KAC7D,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACnE,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACnE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,eAAgB,SAAQ,IAAI;IAC9B,IAAI,GAAG,cAAc,CAAC;IAC/B,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC;IAEZ,WAAW;QAClB,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE;gBACL,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;gBACvB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;gBACvB,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAC5B;YACD,SAAS,EAAE,aAAa;YACxB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE;gBACR,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;aACpD;YACD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC/C,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { NodeSpec, NodeType } from 'prosemirror-model';
2
+ import { type CoreEditor, Node } from '@kerebron/editor';
3
+ import { type CommandFactories, type CommandShortcuts } from '@kerebron/editor/commands';
4
+ export declare class NodeTableRow extends Node {
5
+ name: string;
6
+ requires: string[];
7
+ getNodeSpec(): NodeSpec;
8
+ getCommandFactories(editor: CoreEditor, type: NodeType): Partial<CommandFactories>;
9
+ getKeyboardShortcuts(): Partial<CommandShortcuts>;
10
+ }
11
+ //# sourceMappingURL=NodeTableRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeTableRow.d.ts","sourceRoot":"","sources":["../src/NodeTableRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AAMnC,qBAAa,YAAa,SAAQ,IAAI;IAC3B,IAAI,SAAe;IAC5B,QAAQ,WAAa;IAEZ,WAAW,IAAI,QAAQ;IAWvB,mBAAmB,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAMnB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAI3D"}
@@ -0,0 +1,24 @@
1
+ import { Node } from '@kerebron/editor';
2
+ export class NodeTableRow extends Node {
3
+ name = 'table_row';
4
+ requires = ['table'];
5
+ getNodeSpec() {
6
+ return {
7
+ content: '(table_cell | table_header)*',
8
+ tableRole: 'row',
9
+ parseDOM: [{ tag: 'tr' }],
10
+ toDOM() {
11
+ return ['tr', 0];
12
+ },
13
+ };
14
+ }
15
+ getCommandFactories(editor, type) {
16
+ const commands = {};
17
+ return commands;
18
+ }
19
+ getKeyboardShortcuts() {
20
+ const keys = {};
21
+ return keys;
22
+ }
23
+ }
24
+ //# sourceMappingURL=NodeTableRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeTableRow.js","sourceRoot":"","sources":["../src/NodeTableRow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAUzD,MAAM,OAAO,YAAa,SAAQ,IAAI;IAC3B,IAAI,GAAG,WAAW,CAAC;IAC5B,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC;IAEZ,WAAW;QAClB,OAAO;YACL,OAAO,EAAE,8BAA8B;YACvC,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;YACzB,KAAK;gBACH,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnB,CAAC;SACF,CAAC;IACJ,CAAC;IAEQ,mBAAmB,CAC1B,MAAkB,EAClB,IAAc;QAEd,MAAM,QAAQ,GAAG,EAAE,CAAC;QAEpB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEQ,oBAAoB;QAC3B,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export declare const dntGlobalThis: Omit<typeof globalThis, never>;
2
+ //# sourceMappingURL=_dnt.shims.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_dnt.shims.d.ts","sourceRoot":"","sources":["../src/_dnt.shims.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,gCAA2C,CAAC"}
@@ -0,0 +1,58 @@
1
+ const dntGlobals = {};
2
+ export const dntGlobalThis = createMergeProxy(globalThis, dntGlobals);
3
+ function createMergeProxy(baseObj, extObj) {
4
+ return new Proxy(baseObj, {
5
+ get(_target, prop, _receiver) {
6
+ if (prop in extObj) {
7
+ return extObj[prop];
8
+ }
9
+ else {
10
+ return baseObj[prop];
11
+ }
12
+ },
13
+ set(_target, prop, value) {
14
+ if (prop in extObj) {
15
+ delete extObj[prop];
16
+ }
17
+ baseObj[prop] = value;
18
+ return true;
19
+ },
20
+ deleteProperty(_target, prop) {
21
+ let success = false;
22
+ if (prop in extObj) {
23
+ delete extObj[prop];
24
+ success = true;
25
+ }
26
+ if (prop in baseObj) {
27
+ delete baseObj[prop];
28
+ success = true;
29
+ }
30
+ return success;
31
+ },
32
+ ownKeys(_target) {
33
+ const baseKeys = Reflect.ownKeys(baseObj);
34
+ const extKeys = Reflect.ownKeys(extObj);
35
+ const extKeysSet = new Set(extKeys);
36
+ return [...baseKeys.filter((k) => !extKeysSet.has(k)), ...extKeys];
37
+ },
38
+ defineProperty(_target, prop, desc) {
39
+ if (prop in extObj) {
40
+ delete extObj[prop];
41
+ }
42
+ Reflect.defineProperty(baseObj, prop, desc);
43
+ return true;
44
+ },
45
+ getOwnPropertyDescriptor(_target, prop) {
46
+ if (prop in extObj) {
47
+ return Reflect.getOwnPropertyDescriptor(extObj, prop);
48
+ }
49
+ else {
50
+ return Reflect.getOwnPropertyDescriptor(baseObj, prop);
51
+ }
52
+ },
53
+ has(_target, prop) {
54
+ return prop in extObj || prop in baseObj;
55
+ },
56
+ });
57
+ }
58
+ //# sourceMappingURL=_dnt.shims.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_dnt.shims.js","sourceRoot":"","sources":["../src/_dnt.shims.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,EAClB,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAEtE,SAAS,gBAAgB,CACvB,OAAU,EACV,MAAS;IAET,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;QACxB,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS;YAC1B,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAQ,OAAe,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK;YACtB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACA,OAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,cAAc,CAAC,OAAO,EAAE,IAAI;YAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;gBACpB,OAAQ,OAAe,CAAC,IAAI,CAAC,CAAC;gBAC9B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,OAAO;YACb,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;QACrE,CAAC;QACD,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI;YAChC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,wBAAwB,CAAC,OAAO,EAAE,IAAI;YACpC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,GAAG,CAAC,OAAO,EAAE,IAAI;YACf,OAAO,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC;QAC3C,CAAC;KACF,CAAQ,CAAC;AACZ,CAAC"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,53 @@
1
+ import { Node, ResolvedPos, Slice } from 'prosemirror-model';
2
+ import { EditorState, Selection, Transaction } from 'prosemirror-state';
3
+ import { DecorationSource } from 'prosemirror-view';
4
+ import { Mappable } from 'prosemirror-transform';
5
+ /**
6
+ * @public
7
+ */
8
+ export interface CellSelectionJSON {
9
+ type: string;
10
+ anchor: number;
11
+ head: number;
12
+ }
13
+ /**
14
+ * A [`Selection`](http://prosemirror.net/docs/ref/#state.Selection)
15
+ * subclass that represents a cell selection spanning part of a table.
16
+ * With the plugin enabled, these will be created when the user
17
+ * selects across cells, and will be drawn by giving selected cells a
18
+ * `selectedCell` CSS class.
19
+ *
20
+ * @public
21
+ */
22
+ export declare class CellSelection extends Selection {
23
+ $anchorCell: ResolvedPos;
24
+ $headCell: ResolvedPos;
25
+ constructor($anchorCell: ResolvedPos, $headCell?: ResolvedPos);
26
+ map(doc: Node, mapping: Mappable): CellSelection | Selection;
27
+ content(): Slice;
28
+ replace(tr: Transaction, content?: Slice): void;
29
+ replaceWith(tr: Transaction, node: Node): void;
30
+ forEachCell(f: (node: Node, pos: number) => void): void;
31
+ isColSelection(): boolean;
32
+ static colSelection($anchorCell: ResolvedPos, $headCell?: ResolvedPos): CellSelection;
33
+ isRowSelection(): boolean;
34
+ eq(other: unknown): boolean;
35
+ static rowSelection($anchorCell: ResolvedPos, $headCell?: ResolvedPos): CellSelection;
36
+ toJSON(): CellSelectionJSON;
37
+ static fromJSON(doc: Node, json: CellSelectionJSON): CellSelection;
38
+ static create(doc: Node, anchorCell: number, headCell?: number): CellSelection;
39
+ getBookmark(): CellBookmark;
40
+ }
41
+ /**
42
+ * @public
43
+ */
44
+ export declare class CellBookmark {
45
+ anchor: number;
46
+ head: number;
47
+ constructor(anchor: number, head: number);
48
+ map(mapping: Mappable): CellBookmark;
49
+ resolve(doc: Node): CellSelection | Selection;
50
+ }
51
+ export declare function drawCellSelection(state: EditorState): DecorationSource | null;
52
+ export declare function normalizeSelection(state: EditorState, tr: Transaction | undefined, allowTableNodeSelection: boolean): Transaction | undefined;
53
+ //# sourceMappingURL=CellSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellSelection.d.ts","sourceRoot":"","sources":["../../src/utilities/CellSelection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAY,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACL,WAAW,EAEX,SAAS,EAGT,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA6B,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAGnC,WAAW,EAAE,WAAW,CAAC;IAIzB,SAAS,EAAE,WAAW,CAAC;gBAMlB,WAAW,EAAE,WAAW,EAAE,SAAS,GAAE,WAAyB;IAgCnE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS;IAoBnD,OAAO,IAAI,KAAK;IA6EhB,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,GAAE,KAAmB,GAAG,IAAI;IAmB5D,WAAW,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAIvD,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAkBvD,cAAc,IAAI,OAAO;WAelB,YAAY,CACxB,WAAW,EAAE,WAAW,EACxB,SAAS,GAAE,WAAyB,GACnC,aAAa;IAmCT,cAAc,IAAI,OAAO;IAczB,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;WAUpB,YAAY,CACxB,WAAW,EAAE,WAAW,EACxB,SAAS,GAAE,WAAyB,GACnC,aAAa;IAiCT,MAAM,IAAI,iBAAiB;WAQlB,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,GAAG,aAAa;IAI3E,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,IAAI,EACT,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAAmB,GAC5B,aAAa;IAIP,WAAW,IAAI,YAAY;CAGrC;AAMD;;GAEG;AACH,qBAAa,YAAY;IAEd,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,MAAM;gBADZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM;IAGrB,GAAG,CAAC,OAAO,EAAE,QAAQ,GAAG,YAAY;IAIpC,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,aAAa,GAAG,SAAS;CAa9C;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAS7E;AAgDD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,WAAW,GAAG,SAAS,EAC3B,uBAAuB,EAAE,OAAO,GAC/B,WAAW,GAAG,SAAS,CAwBzB"}