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