@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.
- package/esm/ExtensionTables.d.ts +10 -0
- package/esm/ExtensionTables.d.ts.map +1 -0
- package/esm/ExtensionTables.js +15 -0
- package/esm/ExtensionTables.js.map +1 -0
- package/esm/NodeTable.d.ts +19 -0
- package/esm/NodeTable.d.ts.map +1 -0
- package/esm/NodeTable.js +84 -0
- package/esm/NodeTable.js.map +1 -0
- package/esm/NodeTableCell.d.ts +11 -0
- package/esm/NodeTableCell.d.ts.map +1 -0
- package/esm/NodeTableCell.js +54 -0
- package/esm/NodeTableCell.js.map +1 -0
- package/esm/NodeTableHeader.d.ts +8 -0
- package/esm/NodeTableHeader.d.ts.map +1 -0
- package/esm/NodeTableHeader.js +44 -0
- package/esm/NodeTableHeader.js.map +1 -0
- package/esm/NodeTableRow.d.ts +11 -0
- package/esm/NodeTableRow.d.ts.map +1 -0
- package/esm/NodeTableRow.js +24 -0
- package/esm/NodeTableRow.js.map +1 -0
- package/esm/_dnt.shims.d.ts +2 -0
- package/esm/_dnt.shims.d.ts.map +1 -0
- package/esm/_dnt.shims.js +58 -0
- package/esm/_dnt.shims.js.map +1 -0
- package/esm/package.json +3 -0
- package/esm/utilities/CellSelection.d.ts +53 -0
- package/esm/utilities/CellSelection.d.ts.map +1 -0
- package/esm/utilities/CellSelection.js +365 -0
- package/esm/utilities/CellSelection.js.map +1 -0
- package/esm/utilities/TableMap.d.ts +92 -0
- package/esm/utilities/TableMap.d.ts.map +1 -0
- package/esm/utilities/TableMap.js +320 -0
- package/esm/utilities/TableMap.js.map +1 -0
- package/esm/utilities/TableView.d.ts +21 -0
- package/esm/utilities/TableView.d.ts.map +1 -0
- package/esm/utilities/TableView.js +81 -0
- package/esm/utilities/TableView.js.map +1 -0
- package/esm/utilities/columnResizing.d.ts +50 -0
- package/esm/utilities/columnResizing.d.ts.map +1 -0
- package/esm/utilities/columnResizing.js +300 -0
- package/esm/utilities/columnResizing.js.map +1 -0
- package/esm/utilities/commands.d.ts +164 -0
- package/esm/utilities/commands.d.ts.map +1 -0
- package/esm/utilities/commands.js +703 -0
- package/esm/utilities/commands.js.map +1 -0
- package/esm/utilities/copypaste.d.ts +35 -0
- package/esm/utilities/copypaste.d.ts.map +1 -0
- package/esm/utilities/copypaste.js +284 -0
- package/esm/utilities/copypaste.js.map +1 -0
- package/esm/utilities/createCell.d.ts +3 -0
- package/esm/utilities/createCell.d.ts.map +1 -0
- package/esm/utilities/createCell.js +7 -0
- package/esm/utilities/createCell.js.map +1 -0
- package/esm/utilities/createTable.d.ts +3 -0
- package/esm/utilities/createTable.d.ts.map +1 -0
- package/esm/utilities/createTable.js +32 -0
- package/esm/utilities/createTable.js.map +1 -0
- package/esm/utilities/fixTables.d.ts +20 -0
- package/esm/utilities/fixTables.d.ts.map +1 -0
- package/esm/utilities/fixTables.js +147 -0
- package/esm/utilities/fixTables.js.map +1 -0
- package/esm/utilities/getTableNodeTypes.d.ts +5 -0
- package/esm/utilities/getTableNodeTypes.d.ts.map +1 -0
- package/esm/utilities/getTableNodeTypes.js +15 -0
- package/esm/utilities/getTableNodeTypes.js.map +1 -0
- package/esm/utilities/input.d.ts +21 -0
- package/esm/utilities/input.d.ts.map +1 -0
- package/esm/utilities/input.js +242 -0
- package/esm/utilities/input.js.map +1 -0
- package/esm/utilities/tableEditing.d.ts +23 -0
- package/esm/utilities/tableEditing.d.ts.map +1 -0
- package/esm/utilities/tableEditing.js +64 -0
- package/esm/utilities/tableEditing.js.map +1 -0
- package/esm/utilities/tableNodeTypes.d.ts +14 -0
- package/esm/utilities/tableNodeTypes.d.ts.map +1 -0
- package/esm/utilities/tableNodeTypes.js +17 -0
- package/esm/utilities/tableNodeTypes.js.map +1 -0
- package/esm/utilities/util.d.ts +73 -0
- package/esm/utilities/util.d.ts.map +1 -0
- package/esm/utilities/util.js +156 -0
- package/esm/utilities/util.js.map +1 -0
- package/package.json +6 -3
- package/src/ExtensionTables.ts +16 -0
- package/src/NodeTable.ts +139 -0
- package/src/NodeTableCell.ts +70 -0
- package/src/NodeTableHeader.ts +49 -0
- package/src/NodeTableRow.ts +41 -0
- package/src/_dnt.shims.ts +60 -0
- package/src/utilities/CellSelection.ts +477 -0
- package/src/utilities/TableMap.ts +392 -0
- package/src/utilities/TableView.ts +102 -0
- package/src/utilities/columnResizing.ts +437 -0
- package/src/utilities/commands.ts +896 -0
- package/src/utilities/copypaste.ts +394 -0
- package/src/utilities/createCell.ts +12 -0
- package/src/utilities/createTable.ts +53 -0
- package/src/utilities/fixTables.ts +156 -0
- package/src/utilities/getTableNodeTypes.ts +21 -0
- package/src/utilities/input.ts +299 -0
- package/src/utilities/tableEditing.ts +90 -0
- package/src/utilities/tableNodeTypes.ts +32 -0
- 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"}
|
package/esm/NodeTable.js
ADDED
|
@@ -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":"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"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/esm/package.json
ADDED
|
@@ -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"}
|