@lexical/table 0.12.5 → 0.13.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.
- package/LexicalTable.dev.js +1809 -1301
- package/LexicalTable.js.flow +125 -40
- package/LexicalTable.prod.js +77 -65
- package/LexicalTableCellNode.d.ts +14 -4
- package/LexicalTableCommands.d.ts +18 -0
- package/LexicalTableNode.d.ts +9 -11
- package/LexicalTableObserver.d.ts +51 -0
- package/LexicalTableRowNode.d.ts +2 -2
- package/LexicalTableSelection.d.ts +42 -40
- package/LexicalTableSelectionHelpers.d.ts +14 -13
- package/LexicalTableUtils.d.ts +14 -4
- package/index.d.ts +9 -16
- package/package.json +3 -3
package/LexicalTable.js.flow
CHANGED
@@ -8,10 +8,12 @@
|
|
8
8
|
*/
|
9
9
|
|
10
10
|
import type {
|
11
|
+
BaseSelection,
|
11
12
|
EditorConfig,
|
12
13
|
LexicalNode,
|
13
14
|
NodeKey,
|
14
15
|
ParagraphNode,
|
16
|
+
PointType,
|
15
17
|
RangeSelection,
|
16
18
|
LexicalEditor,
|
17
19
|
TextFormatType,
|
@@ -20,9 +22,6 @@ import type {
|
|
20
22
|
|
21
23
|
import {
|
22
24
|
ElementNode,
|
23
|
-
deprecated_GridCellNode,
|
24
|
-
deprecated_GridRowNode,
|
25
|
-
deprecated_GridNode,
|
26
25
|
} from 'lexical';
|
27
26
|
|
28
27
|
/**
|
@@ -38,7 +37,9 @@ export const TableCellHeaderStates = {
|
|
38
37
|
|
39
38
|
export type TableCellHeaderState = $Values<typeof TableCellHeaderStates>;
|
40
39
|
|
41
|
-
declare export class TableCellNode extends
|
40
|
+
declare export class TableCellNode extends ElementNode {
|
41
|
+
__colSpan: number;
|
42
|
+
__rowSpan: number;
|
42
43
|
__headerState: TableCellHeaderState;
|
43
44
|
__width?: number;
|
44
45
|
__backgroundColor: null | string;
|
@@ -56,6 +57,10 @@ declare export class TableCellNode extends deprecated_GridCellNode {
|
|
56
57
|
selection: RangeSelection,
|
57
58
|
): null | ParagraphNode | TableCellNode;
|
58
59
|
collapseAtStart(): true;
|
60
|
+
getColSpan(): number;
|
61
|
+
setColSpan(colSpan: number): this;
|
62
|
+
getRowSpan(): number;
|
63
|
+
setRowSpan(rowSpan: number): this;
|
59
64
|
getTag(): string;
|
60
65
|
setHeaderStyles(headerState: TableCellHeaderState): TableCellHeaderState;
|
61
66
|
getHeaderStyles(): TableCellHeaderState;
|
@@ -76,42 +81,47 @@ declare export function $createTableCellNode(
|
|
76
81
|
): TableCellNode;
|
77
82
|
declare export function $isTableCellNode(
|
78
83
|
node: ?LexicalNode,
|
79
|
-
):
|
84
|
+
): node is TableCellNode;
|
80
85
|
|
81
86
|
/**
|
82
87
|
* LexicalTableNode
|
83
88
|
*/
|
84
89
|
|
85
|
-
|
90
|
+
export type TableMapValueType = {
|
91
|
+
cell: TableCellNode,
|
92
|
+
startRow: number,
|
93
|
+
startColumn: number,
|
94
|
+
};
|
95
|
+
export type TableMapType = Array<Array<TableMapValueType>>;
|
96
|
+
|
97
|
+
declare export class TableNode extends ElementNode {
|
86
98
|
static getType(): string;
|
87
99
|
static clone(node: TableNode): TableNode;
|
88
|
-
constructor(
|
100
|
+
constructor(key?: NodeKey): void;
|
89
101
|
createDOM(config: EditorConfig): HTMLElement;
|
90
102
|
updateDOM(prevNode: TableNode, dom: HTMLElement): boolean;
|
91
103
|
insertNewAfter(selection: RangeSelection): null | ParagraphNode | TableNode;
|
92
104
|
collapseAtStart(): true;
|
93
105
|
getCordsFromCellNode(
|
94
106
|
tableCellNode: TableCellNode,
|
95
|
-
|
107
|
+
table: TableDOMTable,
|
96
108
|
): {x: number, y: number};
|
97
|
-
|
98
|
-
|
99
|
-
getCellNodeFromCords(x: number, y: number,
|
100
|
-
getCellNodeFromCordsOrThrow(x: number, y: number,
|
101
|
-
setGrid(grid: ?Grid): TableNode;
|
102
|
-
getGrid(): ?Grid;
|
109
|
+
getDOMCellFromCords(x: number, y: number, table: TableDOMTable): ?TableDOMCell;
|
110
|
+
getDOMCellFromCordsOrThrow(x: number, y: number, table: TableDOMTable): TableDOMCell;
|
111
|
+
getCellNodeFromCords(x: number, y: number, table: TableDOMTable): ?TableCellNode;
|
112
|
+
getCellNodeFromCordsOrThrow(x: number, y: number, table: TableDOMTable): TableCellNode;
|
103
113
|
canSelectBefore(): true;
|
104
114
|
}
|
105
115
|
declare export function $createTableNode(): TableNode;
|
106
116
|
declare export function $isTableNode(
|
107
117
|
node: ?LexicalNode,
|
108
|
-
):
|
118
|
+
): node is TableNode;
|
109
119
|
|
110
120
|
/**
|
111
121
|
* LexicalTableRowNode
|
112
122
|
*/
|
113
123
|
|
114
|
-
declare export class TableRowNode extends
|
124
|
+
declare export class TableRowNode extends ElementNode {
|
115
125
|
static getType(): string;
|
116
126
|
static clone(node: TableRowNode): TableRowNode;
|
117
127
|
constructor(height?: ?number, key?: NodeKey): void;
|
@@ -127,23 +137,23 @@ declare export class TableRowNode extends deprecated_GridRowNode {
|
|
127
137
|
declare export function $createTableRowNode(): TableRowNode;
|
128
138
|
declare export function $isTableRowNode(
|
129
139
|
node: ?LexicalNode,
|
130
|
-
):
|
140
|
+
): node is TableRowNode;
|
131
141
|
|
132
142
|
/**
|
133
143
|
* LexicalTableSelectionHelpers
|
134
144
|
*/
|
135
145
|
|
136
|
-
export type
|
146
|
+
export type TableDOMCell = {
|
137
147
|
elem: HTMLElement,
|
138
148
|
highlighted: boolean,
|
139
149
|
x: number,
|
140
150
|
y: number,
|
141
151
|
};
|
142
152
|
|
143
|
-
export type
|
153
|
+
export type TableDOMRows = Array<Array<TableDOMCell>>;
|
144
154
|
|
145
|
-
export type
|
146
|
-
cells:
|
155
|
+
export type TableDOMTable = {
|
156
|
+
cells: TableDOMRows,
|
147
157
|
columns: number,
|
148
158
|
rows: number,
|
149
159
|
};
|
@@ -152,18 +162,18 @@ declare export function applyTableHandlers(
|
|
152
162
|
tableNode: TableNode,
|
153
163
|
tableElement: HTMLElement,
|
154
164
|
editor: LexicalEditor,
|
155
|
-
):
|
165
|
+
): TableObserver;
|
156
166
|
|
157
|
-
declare export function $
|
167
|
+
declare export function $getElementForTableNode(
|
158
168
|
editor: LexicalEditor,
|
159
169
|
tableNode: TableNode,
|
160
|
-
):
|
170
|
+
): TableDOMTable;
|
161
171
|
|
162
|
-
declare export function
|
172
|
+
declare export function getTableObserverFromTableElement(
|
163
173
|
tableElement: HTMLElement,
|
164
|
-
): null |
|
174
|
+
): null | TableObserver;
|
165
175
|
|
166
|
-
declare export function
|
176
|
+
declare export function getDOMCellFromTarget(node: Node): null | TableDOMCell;
|
167
177
|
|
168
178
|
/**
|
169
179
|
* LexicalTableUtils
|
@@ -205,7 +215,7 @@ declare export function $insertTableRow(
|
|
205
215
|
targetIndex: number,
|
206
216
|
shouldInsertAfter?: boolean,
|
207
217
|
rowCount: number,
|
208
|
-
|
218
|
+
table: TableDOMTable,
|
209
219
|
): TableNode;
|
210
220
|
|
211
221
|
declare export function $insertTableColumn(
|
@@ -213,7 +223,7 @@ declare export function $insertTableColumn(
|
|
213
223
|
targetIndex: number,
|
214
224
|
shouldInsertAfter?: boolean,
|
215
225
|
columnCount: number,
|
216
|
-
|
226
|
+
table: TableDOMTable,
|
217
227
|
): TableNode;
|
218
228
|
|
219
229
|
declare export function $deleteTableColumn(
|
@@ -224,21 +234,43 @@ declare export function $deleteTableColumn(
|
|
224
234
|
declare export function $insertTableRow__EXPERIMENTAL(
|
225
235
|
insertAfter: boolean,
|
226
236
|
): void;
|
237
|
+
|
227
238
|
declare export function $insertTableColumn__EXPERIMENTAL(
|
228
239
|
insertAfter: boolean,
|
229
240
|
): void;
|
241
|
+
|
230
242
|
declare export function $deleteTableRow__EXPERIMENTAL(): void;
|
243
|
+
|
231
244
|
declare export function $deleteTableColumn__EXPERIMENTAL(): void;
|
245
|
+
|
232
246
|
declare export function $unmergeCell(): void;
|
233
247
|
|
248
|
+
declare export function $computeGridMap(
|
249
|
+
table: TableNode,
|
250
|
+
cellA: TableCellNode,
|
251
|
+
cellB: TableCellNode,
|
252
|
+
): [TableMapType, TableMapValueType, TableMapValueType];
|
253
|
+
|
254
|
+
declare export function $getNodeTriplet(
|
255
|
+
source: PointType | LexicalNode | TableCellNode,
|
256
|
+
): [TableCellNode, TableRowNode, TableNode];
|
257
|
+
|
258
|
+
declare export function $getTableCellNodeRect(tableCellNode: TableCellNode): {
|
259
|
+
rowIndex: number;
|
260
|
+
columnIndex: number;
|
261
|
+
rowSpan: number;
|
262
|
+
colSpan: number;
|
263
|
+
} | null;
|
264
|
+
|
234
265
|
/**
|
235
|
-
*
|
266
|
+
* LexicalTableObserver.js
|
236
267
|
*/
|
237
|
-
|
268
|
+
|
269
|
+
declare export class TableObserver {
|
238
270
|
currentX: number;
|
239
271
|
currentY: number;
|
240
272
|
listenersToRemove: Set<() => void>;
|
241
|
-
|
273
|
+
table: TableDOMTable;
|
242
274
|
isHighlightingCells: boolean;
|
243
275
|
isMouseDown: boolean;
|
244
276
|
startX: number;
|
@@ -246,18 +278,71 @@ declare export class TableSelection {
|
|
246
278
|
nodeKey: string;
|
247
279
|
editor: LexicalEditor;
|
248
280
|
constructor(editor: LexicalEditor, nodeKey: string): void;
|
249
|
-
|
281
|
+
getTable(): TableDOMTable;
|
250
282
|
removeListeners(): void;
|
251
|
-
|
283
|
+
trackTable(): void;
|
252
284
|
clearHighlight(): void;
|
253
|
-
setFocusCellForSelection(cell:
|
254
|
-
setAnchorCellForSelection(cell:
|
285
|
+
setFocusCellForSelection(cell: TableDOMCell): void;
|
286
|
+
setAnchorCellForSelection(cell: TableDOMCell): void;
|
255
287
|
formatCells(type: TextFormatType): void;
|
256
288
|
clearText(): void;
|
257
289
|
}
|
258
290
|
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
291
|
+
/**
|
292
|
+
* LexicalTableSelection.ts
|
293
|
+
*/
|
294
|
+
|
295
|
+
export type TableSelectionShape = {
|
296
|
+
fromX: number,
|
297
|
+
fromY: number,
|
298
|
+
toX: number,
|
299
|
+
toY: number,
|
300
|
+
};
|
301
|
+
declare export class TableSelection implements BaseSelection {
|
302
|
+
tableKey: NodeKey;
|
303
|
+
anchor: PointType;
|
304
|
+
focus: PointType;
|
305
|
+
dirty: boolean;
|
306
|
+
constructor(tableKey: NodeKey, anchor: PointType, focus: PointType): void;
|
307
|
+
is(selection: null | BaseSelection): boolean;
|
308
|
+
set(tableKey: NodeKey, anchorCellKey: NodeKey, focusCellKey: NodeKey): void;
|
309
|
+
clone(): TableSelection;
|
310
|
+
getCharacterOffsets(): [number, number];
|
311
|
+
extract(): Array<LexicalNode>;
|
312
|
+
insertRawText(): void;
|
313
|
+
insertText(): void;
|
314
|
+
isCollapsed(): false;
|
315
|
+
isBackward(): boolean;
|
316
|
+
getShape(): TableSelectionShape;
|
317
|
+
getNodes(): Array<LexicalNode>;
|
318
|
+
getTextContent(): string;
|
319
|
+
insertNodes(nodes: Array<LexicalNode>): void;
|
320
|
+
getStartEndPoints(): [PointType, PointType];
|
321
|
+
getCachedNodes(): null | Array<LexicalNode>;
|
322
|
+
setCachedNodes(nodes: null | Array<LexicalNode>): void;
|
323
|
+
}
|
324
|
+
|
325
|
+
declare export function $isTableSelection(
|
326
|
+
x: ?mixed,
|
327
|
+
): x is TableSelection;
|
328
|
+
|
329
|
+
declare export function $createTableSelection(): TableSelection;
|
330
|
+
|
331
|
+
/**
|
332
|
+
* LexicalTableCommands
|
333
|
+
*/
|
334
|
+
|
335
|
+
export type InsertTableCommandPayloadHeaders =
|
336
|
+
| $ReadOnly<{
|
337
|
+
rows: boolean;
|
338
|
+
columns: boolean;
|
339
|
+
}>
|
340
|
+
| boolean;
|
341
|
+
|
342
|
+
export type InsertTableCommandPayload = $ReadOnly<{
|
343
|
+
columns: string;
|
344
|
+
rows: string;
|
345
|
+
includeHeaders?: InsertTableCommandPayloadHeaders;
|
263
346
|
}>;
|
347
|
+
|
348
|
+
declare export var INSERT_TABLE_COMMAND: LexicalCommand<InsertTableCommandPayload>;
|