@lexical/table 0.9.2 → 0.10.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.
@@ -27,15 +27,18 @@ const TableCellHeaderStates = {
27
27
  class TableCellNode extends lexical.DEPRECATED_GridCellNode {
28
28
  /** @internal */
29
29
 
30
+ /** @internal */
31
+
30
32
  /** @internal */
31
33
  static getType() {
32
34
  return 'tablecell';
33
35
  }
34
36
 
35
37
  static clone(node) {
36
- const tableNode = new TableCellNode(node.__headerState, node.__colSpan, node.__width, node.__key);
37
- tableNode.__rowSpan = node.__rowSpan;
38
- return tableNode;
38
+ const cellNode = new TableCellNode(node.__headerState, node.__colSpan, node.__width, node.__key);
39
+ cellNode.__rowSpan = node.__rowSpan;
40
+ cellNode.__backgroundColor = node.__backgroundColor;
41
+ return cellNode;
39
42
  }
40
43
 
41
44
  static importDOM() {
@@ -54,6 +57,7 @@ class TableCellNode extends lexical.DEPRECATED_GridCellNode {
54
57
  static importJSON(serializedNode) {
55
58
  const cellNode = $createTableCellNode(serializedNode.headerState, serializedNode.colSpan, serializedNode.width || undefined);
56
59
  cellNode.__rowSpan = serializedNode.rowSpan;
60
+ cellNode.__backgroundColor = serializedNode.backgroundColor || null;
57
61
  return cellNode;
58
62
  }
59
63
 
@@ -61,6 +65,7 @@ class TableCellNode extends lexical.DEPRECATED_GridCellNode {
61
65
  super(colSpan, key);
62
66
  this.__headerState = headerState;
63
67
  this.__width = width;
68
+ this.__backgroundColor = null;
64
69
  }
65
70
 
66
71
  createDOM(config) {
@@ -78,6 +83,10 @@ class TableCellNode extends lexical.DEPRECATED_GridCellNode {
78
83
  element.rowSpan = this.__rowSpan;
79
84
  }
80
85
 
86
+ if (this.__backgroundColor !== null) {
87
+ element.style.backgroundColor = this.__backgroundColor;
88
+ }
89
+
81
90
  utils.addClassNamesToElement(element, config.theme.tableCell, this.hasHeader() && config.theme.tableCellHeader);
82
91
  return element;
83
92
  }
@@ -104,8 +113,11 @@ class TableCellNode extends lexical.DEPRECATED_GridCellNode {
104
113
  element_.style.width = `${this.getWidth() || Math.max(90, maxWidth / colCount)}px`;
105
114
  element_.style.verticalAlign = 'top';
106
115
  element_.style.textAlign = 'start';
116
+ const backgroundColor = this.getBackgroundColor();
107
117
 
108
- if (this.hasHeader()) {
118
+ if (backgroundColor !== null) {
119
+ element_.style.backgroundColor = backgroundColor;
120
+ } else if (this.hasHeader()) {
109
121
  element_.style.backgroundColor = '#f2f3f5';
110
122
  }
111
123
  }
@@ -117,6 +129,7 @@ class TableCellNode extends lexical.DEPRECATED_GridCellNode {
117
129
 
118
130
  exportJSON() {
119
131
  return { ...super.exportJSON(),
132
+ backgroundColor: this.getBackgroundColor(),
120
133
  headerState: this.__headerState,
121
134
  type: 'tablecell',
122
135
  width: this.getWidth()
@@ -147,6 +160,14 @@ class TableCellNode extends lexical.DEPRECATED_GridCellNode {
147
160
  return this.getLatest().__width;
148
161
  }
149
162
 
163
+ getBackgroundColor() {
164
+ return this.getLatest().__backgroundColor;
165
+ }
166
+
167
+ setBackgroundColor(newBackgroundColor) {
168
+ this.getWritable().__backgroundColor = newBackgroundColor;
169
+ }
170
+
150
171
  toggleHeaderStyle(headerStateToToggle) {
151
172
  const self = this.getWritable();
152
173
 
@@ -168,7 +189,7 @@ class TableCellNode extends lexical.DEPRECATED_GridCellNode {
168
189
  }
169
190
 
170
191
  updateDOM(prevNode) {
171
- return prevNode.__headerState !== this.__headerState || prevNode.__width !== this.__width || prevNode.__colSpan !== this.__colSpan || prevNode.__rowSpan !== this.__rowSpan;
192
+ return prevNode.__headerState !== this.__headerState || prevNode.__width !== this.__width || prevNode.__colSpan !== this.__colSpan || prevNode.__rowSpan !== this.__rowSpan || prevNode.__backgroundColor !== this.__backgroundColor;
172
193
  }
173
194
 
174
195
  isShadowRoot() {
@@ -194,6 +215,12 @@ function convertTableCellNodeElement(domNode) {
194
215
  const tableCellNode = $createTableCellNode(nodeName === 'th' ? TableCellHeaderStates.ROW : TableCellHeaderStates.NO_STATUS);
195
216
  tableCellNode.__colSpan = domNode_.colSpan;
196
217
  tableCellNode.__rowSpan = domNode_.rowSpan;
218
+ const backgroundColor = domNode_.style.backgroundColor;
219
+
220
+ if (backgroundColor !== '') {
221
+ tableCellNode.__backgroundColor = backgroundColor;
222
+ }
223
+
197
224
  return {
198
225
  forChild: (lexicalNode, parentLexicalNode) => {
199
226
  if ($isTableCellNode(parentLexicalNode) && !lexical.$isElementNode(lexicalNode)) {
@@ -409,6 +436,7 @@ class TableSelection {
409
436
  }
410
437
 
411
438
  clearHighlight() {
439
+ const editor = this.editor;
412
440
  this.isHighlightingCells = false;
413
441
  this.anchorX = -1;
414
442
  this.anchorY = -1;
@@ -421,29 +449,30 @@ class TableSelection {
421
449
  this.focusCell = null;
422
450
  this.hasHijackedSelectionStyles = false;
423
451
  this.enableHighlightStyle();
424
- this.editor.update(() => {
452
+ editor.update(() => {
425
453
  const tableNode = lexical.$getNodeByKey(this.tableNodeKey);
426
454
 
427
455
  if (!$isTableNode(tableNode)) {
428
456
  throw new Error('Expected TableNode.');
429
457
  }
430
458
 
431
- const tableElement = this.editor.getElementByKey(this.tableNodeKey);
459
+ const tableElement = editor.getElementByKey(this.tableNodeKey);
432
460
 
433
461
  if (!tableElement) {
434
462
  throw new Error('Expected to find TableElement in DOM');
435
463
  }
436
464
 
437
465
  const grid = getTableGrid(tableElement);
438
- $updateDOMForSelection(grid, null);
466
+ $updateDOMForSelection(editor, grid, null);
439
467
  lexical.$setSelection(null);
440
- this.editor.dispatchCommand(lexical.SELECTION_CHANGE_COMMAND, undefined);
468
+ editor.dispatchCommand(lexical.SELECTION_CHANGE_COMMAND, undefined);
441
469
  });
442
470
  }
443
471
 
444
472
  enableHighlightStyle() {
445
- this.editor.update(() => {
446
- const tableElement = this.editor.getElementByKey(this.tableNodeKey);
473
+ const editor = this.editor;
474
+ editor.update(() => {
475
+ const tableElement = editor.getElementByKey(this.tableNodeKey);
447
476
 
448
477
  if (!tableElement) {
449
478
  throw new Error('Expected to find TableElement in DOM');
@@ -455,8 +484,9 @@ class TableSelection {
455
484
  }
456
485
 
457
486
  disableHighlightStyle() {
458
- this.editor.update(() => {
459
- const tableElement = this.editor.getElementByKey(this.tableNodeKey);
487
+ const editor = this.editor;
488
+ editor.update(() => {
489
+ const tableElement = editor.getElementByKey(this.tableNodeKey);
460
490
 
461
491
  if (!tableElement) {
462
492
  throw new Error('Expected to find TableElement in DOM');
@@ -469,24 +499,26 @@ class TableSelection {
469
499
 
470
500
  updateTableGridSelection(selection) {
471
501
  if (selection != null && selection.gridKey === this.tableNodeKey) {
502
+ const editor = this.editor;
472
503
  this.gridSelection = selection;
473
504
  this.isHighlightingCells = true;
474
505
  this.disableHighlightStyle();
475
- $updateDOMForSelection(this.grid, this.gridSelection);
506
+ $updateDOMForSelection(editor, this.grid, this.gridSelection);
476
507
  } else if (selection == null) {
477
508
  this.clearHighlight();
478
509
  }
479
510
  }
480
511
 
481
512
  setFocusCellForSelection(cell, ignoreStart = false) {
482
- this.editor.update(() => {
513
+ const editor = this.editor;
514
+ editor.update(() => {
483
515
  const tableNode = lexical.$getNodeByKey(this.tableNodeKey);
484
516
 
485
517
  if (!$isTableNode(tableNode)) {
486
518
  throw new Error('Expected TableNode.');
487
519
  }
488
520
 
489
- const tableElement = this.editor.getElementByKey(this.tableNodeKey);
521
+ const tableElement = editor.getElementByKey(this.tableNodeKey);
490
522
 
491
523
  if (!tableElement) {
492
524
  throw new Error('Expected to find TableElement in DOM');
@@ -497,7 +529,7 @@ class TableSelection {
497
529
  this.focusCell = cell;
498
530
 
499
531
  if (this.anchorCell !== null) {
500
- const domSelection = getDOMSelection(this.editor._window); // Collapse the selection
532
+ const domSelection = getDOMSelection(editor._window); // Collapse the selection
501
533
 
502
534
  if (domSelection) {
503
535
  domSelection.setBaseAndExtent(this.anchorCell.elem, 0, this.focusCell.elem, 0);
@@ -523,8 +555,8 @@ class TableSelection {
523
555
  this.focusCellNodeKey = focusNodeKey;
524
556
  this.gridSelection.set(this.tableNodeKey, this.anchorCellNodeKey, this.focusCellNodeKey);
525
557
  lexical.$setSelection(this.gridSelection);
526
- this.editor.dispatchCommand(lexical.SELECTION_CHANGE_COMMAND, undefined);
527
- $updateDOMForSelection(this.grid, this.gridSelection);
558
+ editor.dispatchCommand(lexical.SELECTION_CHANGE_COMMAND, undefined);
559
+ $updateDOMForSelection(editor, this.grid, this.gridSelection);
528
560
  }
529
561
  }
530
562
  });
@@ -572,7 +604,8 @@ class TableSelection {
572
604
  }
573
605
 
574
606
  clearText() {
575
- this.editor.update(() => {
607
+ const editor = this.editor;
608
+ editor.update(() => {
576
609
  const tableNode = lexical.$getNodeByKey(this.tableNodeKey);
577
610
 
578
611
  if (!$isTableNode(tableNode)) {
@@ -611,9 +644,9 @@ class TableSelection {
611
644
  });
612
645
  }
613
646
  });
614
- $updateDOMForSelection(this.grid, null);
647
+ $updateDOMForSelection(editor, this.grid, null);
615
648
  lexical.$setSelection(null);
616
- this.editor.dispatchCommand(lexical.SELECTION_CHANGE_COMMAND, undefined);
649
+ editor.dispatchCommand(lexical.SELECTION_CHANGE_COMMAND, undefined);
617
650
  });
618
651
  }
619
652
 
@@ -1128,7 +1161,7 @@ function applyTableHandlers(tableNode, tableElement, editor) {
1128
1161
  modifiedSelection.focus.set(tableKey, isBackward ? 0 : tableNode.getChildrenSize(), 'element');
1129
1162
  isRangeSelectionHijacked = true;
1130
1163
  lexical.$setSelection(modifiedSelection);
1131
- $addHighlightStyleToTable(tableSelection);
1164
+ $addHighlightStyleToTable(editor, tableSelection);
1132
1165
  return true;
1133
1166
  } else if (selectionIsInsideTable) {
1134
1167
  const {
@@ -1162,10 +1195,10 @@ function applyTableHandlers(tableNode, tableElement, editor) {
1162
1195
  }
1163
1196
 
1164
1197
  if (tableSelection.hasHijackedSelectionStyles && !tableNode.isSelected()) {
1165
- $removeHighlightStyleToTable(tableSelection);
1198
+ $removeHighlightStyleToTable(editor, tableSelection);
1166
1199
  isRangeSelectionHijacked = false;
1167
1200
  } else if (!tableSelection.hasHijackedSelectionStyles && tableNode.isSelected()) {
1168
- $addHighlightStyleToTable(tableSelection);
1201
+ $addHighlightStyleToTable(editor, tableSelection);
1169
1202
  }
1170
1203
 
1171
1204
  return false;
@@ -1232,6 +1265,7 @@ function getTableGrid(tableElement) {
1232
1265
  const elem = currentNode;
1233
1266
  const cell = {
1234
1267
  elem,
1268
+ hasBackgroundColor: elem.style.backgroundColor !== '',
1235
1269
  highlighted: false,
1236
1270
  x,
1237
1271
  y
@@ -1280,7 +1314,7 @@ function getTableGrid(tableElement) {
1280
1314
  grid.rows = y + 1;
1281
1315
  return grid;
1282
1316
  }
1283
- function $updateDOMForSelection(grid, selection) {
1317
+ function $updateDOMForSelection(editor, grid, selection) {
1284
1318
  const highlightedCells = [];
1285
1319
  const selectedCellNodes = new Set(selection ? selection.getNodes() : []);
1286
1320
  $forEachGridCell(grid, (cell, lexicalNode) => {
@@ -1288,13 +1322,11 @@ function $updateDOMForSelection(grid, selection) {
1288
1322
 
1289
1323
  if (selectedCellNodes.has(lexicalNode)) {
1290
1324
  cell.highlighted = true;
1291
- elem.style.setProperty('background-color', 'rgb(172, 206, 247)');
1292
- elem.style.setProperty('caret-color', 'transparent');
1325
+ $addHighlightToDOM(editor, cell);
1293
1326
  highlightedCells.push(cell);
1294
1327
  } else {
1295
1328
  cell.highlighted = false;
1296
- elem.style.removeProperty('background-color');
1297
- elem.style.removeProperty('caret-color');
1329
+ $removeHighlightFromDOM(editor, cell);
1298
1330
 
1299
1331
  if (!elem.getAttribute('style')) {
1300
1332
  elem.removeAttribute('style');
@@ -1324,22 +1356,19 @@ function $forEachGridCell(grid, cb) {
1324
1356
  }
1325
1357
  }
1326
1358
  }
1327
- function $addHighlightStyleToTable(tableSelection) {
1359
+ function $addHighlightStyleToTable(editor, tableSelection) {
1328
1360
  tableSelection.disableHighlightStyle();
1329
1361
  $forEachGridCell(tableSelection.grid, cell => {
1330
- const elem = cell.elem;
1331
1362
  cell.highlighted = true;
1332
- elem.style.setProperty('background-color', 'rgb(172, 206, 247)');
1333
- elem.style.setProperty('caret-color', 'transparent');
1363
+ $addHighlightToDOM(editor, cell);
1334
1364
  });
1335
1365
  }
1336
- function $removeHighlightStyleToTable(tableSelection) {
1366
+ function $removeHighlightStyleToTable(editor, tableSelection) {
1337
1367
  tableSelection.enableHighlightStyle();
1338
1368
  $forEachGridCell(tableSelection.grid, cell => {
1339
1369
  const elem = cell.elem;
1340
1370
  cell.highlighted = false;
1341
- elem.style.removeProperty('background-color');
1342
- elem.style.removeProperty('caret-color');
1371
+ $removeHighlightFromDOM(editor, cell);
1343
1372
 
1344
1373
  if (!elem.getAttribute('style')) {
1345
1374
  elem.removeAttribute('style');
@@ -1443,6 +1472,45 @@ function selectTableCellNode(tableCell) {
1443
1472
  }
1444
1473
  }
1445
1474
 
1475
+ const BROWSER_BLUE_RGB = '172,206,247';
1476
+
1477
+ function $addHighlightToDOM(editor, cell) {
1478
+ const element = cell.elem;
1479
+ const node = lexical.$getNearestNodeFromDOMNode(element);
1480
+
1481
+ if (!$isTableCellNode(node)) {
1482
+ throw Error(`Expected to find LexicalNode from Table Cell DOMNode`);
1483
+ }
1484
+
1485
+ const backgroundColor = node.getBackgroundColor();
1486
+
1487
+ if (backgroundColor === null) {
1488
+ element.style.setProperty('background-color', `rgb(${BROWSER_BLUE_RGB})`);
1489
+ } else {
1490
+ element.style.setProperty('background-image', `linear-gradient(to right, rgba(${BROWSER_BLUE_RGB},0.85), rgba(${BROWSER_BLUE_RGB},0.85))`);
1491
+ }
1492
+
1493
+ element.style.setProperty('caret-color', 'transparent');
1494
+ }
1495
+
1496
+ function $removeHighlightFromDOM(editor, cell) {
1497
+ const element = cell.elem;
1498
+ const node = lexical.$getNearestNodeFromDOMNode(element);
1499
+
1500
+ if (!$isTableCellNode(node)) {
1501
+ throw Error(`Expected to find LexicalNode from Table Cell DOMNode`);
1502
+ }
1503
+
1504
+ const backgroundColor = node.getBackgroundColor();
1505
+
1506
+ if (backgroundColor === null) {
1507
+ element.style.removeProperty('background-color');
1508
+ }
1509
+
1510
+ element.style.removeProperty('background-image');
1511
+ element.style.removeProperty('caret-color');
1512
+ }
1513
+
1446
1514
  /**
1447
1515
  * Copyright (c) Meta Platforms, Inc. and affiliates.
1448
1516
  *
@@ -5,67 +5,69 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  'use strict';var c=require("lexical"),q=require("@lexical/utils");let w={BOTH:3,COLUMN:2,NO_STATUS:0,ROW:1};
8
- class x extends c.DEPRECATED_GridCellNode{static getType(){return"tablecell"}static clone(a){let b=new x(a.__headerState,a.__colSpan,a.__width,a.__key);b.__rowSpan=a.__rowSpan;return b}static importDOM(){return{td:()=>({conversion:z,priority:0}),th:()=>({conversion:z,priority:0})}}static importJSON(a){let b=A(a.headerState,a.colSpan,a.width||void 0);b.__rowSpan=a.rowSpan;return b}constructor(a=w.NO_STATUS,b=1,f,h){super(b,h);this.__headerState=a;this.__width=f}createDOM(a){let b=document.createElement(this.getTag());
9
- this.__width&&(b.style.width=`${this.__width}px`);1<this.__colSpan&&(b.colSpan=this.__colSpan);1<this.__rowSpan&&(b.rowSpan=this.__rowSpan);q.addClassNamesToElement(b,a.theme.tableCell,this.hasHeader()&&a.theme.tableCellHeader);return b}exportDOM(a){({element:a}=super.exportDOM(a));if(a){let b=this.getParentOrThrow().getChildrenSize();a.style.border="1px solid black";1<this.__colSpan&&(a.colSpan=this.__colSpan);1<this.__rowSpan&&(a.rowSpan=this.__rowSpan);a.style.width=`${this.getWidth()||Math.max(90,
10
- 700/b)}px`;a.style.verticalAlign="top";a.style.textAlign="start";this.hasHeader()&&(a.style.backgroundColor="#f2f3f5")}return{element:a}}exportJSON(){return{...super.exportJSON(),headerState:this.__headerState,type:"tablecell",width:this.getWidth()}}getTag(){return this.hasHeader()?"th":"td"}setHeaderStyles(a){this.getWritable().__headerState=a;return this.__headerState}getHeaderStyles(){return this.getLatest().__headerState}setWidth(a){this.getWritable().__width=a;return this.__width}getWidth(){return this.getLatest().__width}toggleHeaderStyle(a){let b=
11
- this.getWritable();b.__headerState=(b.__headerState&a)===a?b.__headerState-a:b.__headerState+a;return b}hasHeaderState(a){return(this.getHeaderStyles()&a)===a}hasHeader(){return this.getLatest().__headerState!==w.NO_STATUS}updateDOM(a){return a.__headerState!==this.__headerState||a.__width!==this.__width||a.__colSpan!==this.__colSpan||a.__rowSpan!==this.__rowSpan}isShadowRoot(){return!0}collapseAtStart(){return!0}canBeEmpty(){return!1}canIndent(){return!1}}
12
- function z(a){var b=a.nodeName.toLowerCase();b=A("th"===b?w.ROW:w.NO_STATUS);b.__colSpan=a.colSpan;b.__rowSpan=a.rowSpan;return{forChild:(f,h)=>{if(B(h)&&!c.$isElementNode(f)){h=c.$createParagraphNode();if(c.$isLineBreakNode(f)&&"\n"===f.getTextContent())return null;h.append(f);return h}return f},node:b}}function A(a,b=1,f){return c.$applyNodeReplacement(new x(a,b,f))}function B(a){return a instanceof x}
13
- class C extends c.DEPRECATED_GridRowNode{static getType(){return"tablerow"}static clone(a){return new C(a.__height,a.__key)}static importDOM(){return{tr:()=>({conversion:D,priority:0})}}static importJSON(a){return E(a.height)}constructor(a,b){super(b);this.__height=a}exportJSON(){return{...super.exportJSON(),type:"tablerow",version:1}}createDOM(a){let b=document.createElement("tr");this.__height&&(b.style.height=`${this.__height}px`);q.addClassNamesToElement(b,a.theme.tableRow);return b}isShadowRoot(){return!0}setHeight(a){this.getWritable().__height=
14
- a;return this.__height}getHeight(){return this.getLatest().__height}updateDOM(a){return a.__height!==this.__height}canBeEmpty(){return!1}canIndent(){return!1}}function D(){return{node:E()}}function E(a){return c.$applyNodeReplacement(new C(a))}function F(a){return a instanceof C}function G(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}
15
- let aa="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement;
16
- class H{constructor(a,b){this.isHighlightingCells=!1;this.focusY=this.focusX=this.anchorY=this.anchorX=-1;this.listenersToRemove=new Set;this.tableNodeKey=b;this.editor=a;this.grid={cells:[],columns:0,rows:0};this.focusCell=this.anchorCell=this.focusCellNodeKey=this.anchorCellNodeKey=this.gridSelection=null;this.hasHijackedSelectionStyles=!1;this.trackTableGrid()}getGrid(){return this.grid}removeListeners(){Array.from(this.listenersToRemove).forEach(a=>a())}trackTableGrid(){let a=new MutationObserver(b=>
17
- {this.editor.update(()=>{var f=!1;for(let h=0;h<b.length;h++){const d=b[h].target.nodeName;if("TABLE"===d||"TR"===d){f=!0;break}}if(f){f=this.editor.getElementByKey(this.tableNodeKey);if(!f)throw Error("Expected to find TableElement in DOM");this.grid=I(f)}})});this.editor.update(()=>{let b=this.editor.getElementByKey(this.tableNodeKey);if(!b)throw Error("Expected to find TableElement in DOM");this.grid=I(b);a.observe(b,{childList:!0,subtree:!0})})}clearHighlight(){this.isHighlightingCells=!1;this.focusY=
18
- this.focusX=this.anchorY=this.anchorX=-1;this.focusCell=this.anchorCell=this.focusCellNodeKey=this.anchorCellNodeKey=this.gridSelection=null;this.hasHijackedSelectionStyles=!1;this.enableHighlightStyle();this.editor.update(()=>{var a=c.$getNodeByKey(this.tableNodeKey);if(!J(a))throw Error("Expected TableNode.");a=this.editor.getElementByKey(this.tableNodeKey);if(!a)throw Error("Expected to find TableElement in DOM");a=I(a);K(a,null);c.$setSelection(null);this.editor.dispatchCommand(c.SELECTION_CHANGE_COMMAND,
19
- void 0)})}enableHighlightStyle(){this.editor.update(()=>{let a=this.editor.getElementByKey(this.tableNodeKey);if(!a)throw Error("Expected to find TableElement in DOM");a.classList.remove("disable-selection");this.hasHijackedSelectionStyles=!1})}disableHighlightStyle(){this.editor.update(()=>{let a=this.editor.getElementByKey(this.tableNodeKey);if(!a)throw Error("Expected to find TableElement in DOM");a.classList.add("disable-selection");this.hasHijackedSelectionStyles=!0})}updateTableGridSelection(a){null!=
20
- a&&a.gridKey===this.tableNodeKey?(this.gridSelection=a,this.isHighlightingCells=!0,this.disableHighlightStyle(),K(this.grid,this.gridSelection)):null==a&&this.clearHighlight()}setFocusCellForSelection(a,b=!1){this.editor.update(()=>{var f=c.$getNodeByKey(this.tableNodeKey);if(!J(f))throw Error("Expected TableNode.");if(!this.editor.getElementByKey(this.tableNodeKey))throw Error("Expected to find TableElement in DOM");f=a.x;let h=a.y;this.focusCell=a;if(null!==this.anchorCell){let d=aa?(this.editor._window||
21
- window).getSelection():null;d&&d.setBaseAndExtent(this.anchorCell.elem,0,this.focusCell.elem,0)}if(!this.isHighlightingCells&&(this.anchorX!==f||this.anchorY!==h||b))this.isHighlightingCells=!0,this.disableHighlightStyle();else if(f===this.focusX&&h===this.focusY)return;this.focusX=f;this.focusY=h;this.isHighlightingCells&&(f=c.$getNearestNodeFromDOMNode(a.elem),null!=this.gridSelection&&null!=this.anchorCellNodeKey&&B(f)&&(f=f.getKey(),this.gridSelection=this.gridSelection.clone()||c.DEPRECATED_$createGridSelection(),
22
- this.focusCellNodeKey=f,this.gridSelection.set(this.tableNodeKey,this.anchorCellNodeKey,this.focusCellNodeKey),c.$setSelection(this.gridSelection),this.editor.dispatchCommand(c.SELECTION_CHANGE_COMMAND,void 0),K(this.grid,this.gridSelection)))})}setAnchorCellForSelection(a){this.isHighlightingCells=!1;this.anchorCell=a;this.anchorX=a.x;this.anchorY=a.y;this.editor.update(()=>{var b=c.$getNearestNodeFromDOMNode(a.elem);B(b)&&(b=b.getKey(),this.gridSelection=c.DEPRECATED_$createGridSelection(),this.anchorCellNodeKey=
23
- b)})}formatCells(a){this.editor.update(()=>{let b=c.$getSelection();c.DEPRECATED_$isGridSelection(b)||G(11);let f=c.$createRangeSelection(),h=f.anchor,d=f.focus;b.getNodes().forEach(l=>{B(l)&&0!==l.getTextContentSize()&&(h.set(l.getKey(),0,"element"),d.set(l.getKey(),l.getChildrenSize(),"element"),f.formatText(a))});c.$setSelection(b);this.editor.dispatchCommand(c.SELECTION_CHANGE_COMMAND,void 0)})}clearText(){this.editor.update(()=>{let a=c.$getNodeByKey(this.tableNodeKey);if(!J(a))throw Error("Expected TableNode.");
24
- var b=c.$getSelection();c.DEPRECATED_$isGridSelection(b)||G(11);b=b.getNodes().filter(B);b.length===this.grid.columns*this.grid.rows?(a.selectPrevious(),a.remove(),c.$getRoot().selectStart()):(b.forEach(f=>{if(c.$isElementNode(f)){let h=c.$createParagraphNode(),d=c.$createTextNode();h.append(d);f.append(h);f.getChildren().forEach(l=>{l!==h&&l.remove()})}}),K(this.grid,null),c.$setSelection(null),this.editor.dispatchCommand(c.SELECTION_CHANGE_COMMAND,void 0))})}}
25
- function L(a){for(;null!=a;){let b=a.nodeName;if("TD"===b||"TH"===b){a=a._cell;if(void 0===a)break;return a}a=a.parentNode}return null}
26
- function I(a){let b=[],f={cells:b,columns:0,rows:0};var h=a.firstChild;let d=a=0;for(b.length=0;null!=h;){var l=h.nodeName;if("TD"===l||"TH"===l)l={elem:h,highlighted:!1,x:a,y:d},h._cell=l,void 0===b[d]&&(b[d]=[]),b[d][a]=l;else if(l=h.firstChild,null!=l){h=l;continue}l=h.nextSibling;if(null!=l)a++,h=l;else if(l=h.parentNode,null!=l){h=l.nextSibling;if(null==h)break;d++;a=0}}f.columns=a+1;f.rows=d+1;return f}
27
- function K(a,b){let f=[],h=new Set(b?b.getNodes():[]);M(a,(d,l)=>{let n=d.elem;h.has(l)?(d.highlighted=!0,n.style.setProperty("background-color","rgb(172, 206, 247)"),n.style.setProperty("caret-color","transparent"),f.push(d)):(d.highlighted=!1,n.style.removeProperty("background-color"),n.style.removeProperty("caret-color"),n.getAttribute("style")||n.removeAttribute("style"))});return f}
28
- function M(a,b){({cells:a}=a);for(let f=0;f<a.length;f++){let h=a[f];for(let d=0;d<h.length;d++){let l=h[d],n=c.$getNearestNodeFromDOMNode(l.elem);null!==n&&b(l,n,{x:d,y:f})}}}function N(a){a.disableHighlightStyle();M(a.grid,b=>{let f=b.elem;b.highlighted=!0;f.style.setProperty("background-color","rgb(172, 206, 247)");f.style.setProperty("caret-color","transparent")})}
29
- function ba(a){a.enableHighlightStyle();M(a.grid,b=>{let f=b.elem;b.highlighted=!1;f.style.removeProperty("background-color");f.style.removeProperty("caret-color");f.getAttribute("style")||f.removeAttribute("style")})}
30
- let P=(a,b,f,h,d)=>{const l="forward"===d;switch(d){case "backward":case "forward":return f!==(l?a.grid.columns-1:0)?O(b.getCellNodeFromCordsOrThrow(f+(l?1:-1),h,a.grid)):h!==(l?a.grid.rows-1:0)?O(b.getCellNodeFromCordsOrThrow(l?0:a.grid.columns-1,h+(l?1:-1),a.grid)):l?b.selectNext():b.selectPrevious(),!0;case "up":return 0!==h?O(b.getCellNodeFromCordsOrThrow(f,h-1,a.grid)):b.selectPrevious(),!0;case "down":return h!==a.grid.rows-1?O(b.getCellNodeFromCordsOrThrow(f,h+1,a.grid)):b.selectNext(),!0;
31
- default:return!1}},Q=(a,b,f,h,d)=>{const l="forward"===d;switch(d){case "backward":case "forward":return f!==(l?a.grid.columns-1:0)&&a.setFocusCellForSelection(b.getCellFromCordsOrThrow(f+(l?1:-1),h,a.grid)),!0;case "up":return 0!==h?(a.setFocusCellForSelection(b.getCellFromCordsOrThrow(f,h-1,a.grid)),!0):!1;case "down":return h!==a.grid.rows-1?(a.setFocusCellForSelection(b.getCellFromCordsOrThrow(f,h+1,a.grid)),!0):!1;default:return!1}};
32
- function R(a,b){if(c.$isRangeSelection(a)||c.DEPRECATED_$isGridSelection(a)){let f=b.isParentOf(a.anchor.getNode());a=b.isParentOf(a.focus.getNode());return f&&a}return!1}function O(a){let b=a.getChildren().find(f=>c.$isParagraphNode(f));c.$isParagraphNode(b)?b.selectEnd():a.selectEnd()}
33
- class S extends c.DEPRECATED_GridNode{static getType(){return"table"}static clone(a){return new S(a.__key)}static importDOM(){return{table:()=>({conversion:ca,priority:1})}}static importJSON(){return T()}constructor(a){super(a)}exportJSON(){return{...super.exportJSON(),type:"table",version:1}}createDOM(a){let b=document.createElement("table");q.addClassNamesToElement(b,a.theme.table);return b}updateDOM(){return!1}exportDOM(a){return{...super.exportDOM(a),after:b=>{if(b){let f=b.cloneNode(),h=document.createElement("colgroup"),
34
- d=document.createElement("tbody");d.append(...b.children);b=this.getFirstChildOrThrow();if(!F(b))throw Error("Expected to find row node.");b=b.getChildrenSize();for(let l=0;l<b;l++){let n=document.createElement("col");h.append(n)}f.replaceChildren(h,d);return f}}}}canExtractContents(){return!1}canBeEmpty(){return!1}isShadowRoot(){return!0}getCordsFromCellNode(a,b){let {rows:f,cells:h}=b;for(b=0;b<f;b++){var d=h[b];if(null==d)throw Error(`Row not found at y:${b}`);d=d.findIndex(({elem:l})=>c.$getNearestNodeFromDOMNode(l)===
8
+ class x extends c.DEPRECATED_GridCellNode{static getType(){return"tablecell"}static clone(a){let b=new x(a.__headerState,a.__colSpan,a.__width,a.__key);b.__rowSpan=a.__rowSpan;b.__backgroundColor=a.__backgroundColor;return b}static importDOM(){return{td:()=>({conversion:z,priority:0}),th:()=>({conversion:z,priority:0})}}static importJSON(a){let b=A(a.headerState,a.colSpan,a.width||void 0);b.__rowSpan=a.rowSpan;b.__backgroundColor=a.backgroundColor||null;return b}constructor(a=w.NO_STATUS,b=1,f,h){super(b,
9
+ h);this.__headerState=a;this.__width=f;this.__backgroundColor=null}createDOM(a){let b=document.createElement(this.getTag());this.__width&&(b.style.width=`${this.__width}px`);1<this.__colSpan&&(b.colSpan=this.__colSpan);1<this.__rowSpan&&(b.rowSpan=this.__rowSpan);null!==this.__backgroundColor&&(b.style.backgroundColor=this.__backgroundColor);q.addClassNamesToElement(b,a.theme.tableCell,this.hasHeader()&&a.theme.tableCellHeader);return b}exportDOM(a){({element:a}=super.exportDOM(a));if(a){var b=this.getParentOrThrow().getChildrenSize();
10
+ a.style.border="1px solid black";1<this.__colSpan&&(a.colSpan=this.__colSpan);1<this.__rowSpan&&(a.rowSpan=this.__rowSpan);a.style.width=`${this.getWidth()||Math.max(90,700/b)}px`;a.style.verticalAlign="top";a.style.textAlign="start";b=this.getBackgroundColor();null!==b?a.style.backgroundColor=b:this.hasHeader()&&(a.style.backgroundColor="#f2f3f5")}return{element:a}}exportJSON(){return{...super.exportJSON(),backgroundColor:this.getBackgroundColor(),headerState:this.__headerState,type:"tablecell",
11
+ width:this.getWidth()}}getTag(){return this.hasHeader()?"th":"td"}setHeaderStyles(a){this.getWritable().__headerState=a;return this.__headerState}getHeaderStyles(){return this.getLatest().__headerState}setWidth(a){this.getWritable().__width=a;return this.__width}getWidth(){return this.getLatest().__width}getBackgroundColor(){return this.getLatest().__backgroundColor}setBackgroundColor(a){this.getWritable().__backgroundColor=a}toggleHeaderStyle(a){let b=this.getWritable();b.__headerState=(b.__headerState&
12
+ a)===a?b.__headerState-a:b.__headerState+a;return b}hasHeaderState(a){return(this.getHeaderStyles()&a)===a}hasHeader(){return this.getLatest().__headerState!==w.NO_STATUS}updateDOM(a){return a.__headerState!==this.__headerState||a.__width!==this.__width||a.__colSpan!==this.__colSpan||a.__rowSpan!==this.__rowSpan||a.__backgroundColor!==this.__backgroundColor}isShadowRoot(){return!0}collapseAtStart(){return!0}canBeEmpty(){return!1}canIndent(){return!1}}
13
+ function z(a){var b=a.nodeName.toLowerCase();b=A("th"===b?w.ROW:w.NO_STATUS);b.__colSpan=a.colSpan;b.__rowSpan=a.rowSpan;a=a.style.backgroundColor;""!==a&&(b.__backgroundColor=a);return{forChild:(f,h)=>{if(B(h)&&!c.$isElementNode(f)){h=c.$createParagraphNode();if(c.$isLineBreakNode(f)&&"\n"===f.getTextContent())return null;h.append(f);return h}return f},node:b}}function A(a,b=1,f){return c.$applyNodeReplacement(new x(a,b,f))}function B(a){return a instanceof x}
14
+ class C extends c.DEPRECATED_GridRowNode{static getType(){return"tablerow"}static clone(a){return new C(a.__height,a.__key)}static importDOM(){return{tr:()=>({conversion:aa,priority:0})}}static importJSON(a){return D(a.height)}constructor(a,b){super(b);this.__height=a}exportJSON(){return{...super.exportJSON(),type:"tablerow",version:1}}createDOM(a){let b=document.createElement("tr");this.__height&&(b.style.height=`${this.__height}px`);q.addClassNamesToElement(b,a.theme.tableRow);return b}isShadowRoot(){return!0}setHeight(a){this.getWritable().__height=
15
+ a;return this.__height}getHeight(){return this.getLatest().__height}updateDOM(a){return a.__height!==this.__height}canBeEmpty(){return!1}canIndent(){return!1}}function aa(){return{node:D()}}function D(a){return c.$applyNodeReplacement(new C(a))}function E(a){return a instanceof C}
16
+ function F(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}let ba="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement;
17
+ class G{constructor(a,b){this.isHighlightingCells=!1;this.focusY=this.focusX=this.anchorY=this.anchorX=-1;this.listenersToRemove=new Set;this.tableNodeKey=b;this.editor=a;this.grid={cells:[],columns:0,rows:0};this.focusCell=this.anchorCell=this.focusCellNodeKey=this.anchorCellNodeKey=this.gridSelection=null;this.hasHijackedSelectionStyles=!1;this.trackTableGrid()}getGrid(){return this.grid}removeListeners(){Array.from(this.listenersToRemove).forEach(a=>a())}trackTableGrid(){let a=new MutationObserver(b=>
18
+ {this.editor.update(()=>{var f=!1;for(let h=0;h<b.length;h++){const d=b[h].target.nodeName;if("TABLE"===d||"TR"===d){f=!0;break}}if(f){f=this.editor.getElementByKey(this.tableNodeKey);if(!f)throw Error("Expected to find TableElement in DOM");this.grid=H(f)}})});this.editor.update(()=>{let b=this.editor.getElementByKey(this.tableNodeKey);if(!b)throw Error("Expected to find TableElement in DOM");this.grid=H(b);a.observe(b,{childList:!0,subtree:!0})})}clearHighlight(){let a=this.editor;this.isHighlightingCells=
19
+ !1;this.focusY=this.focusX=this.anchorY=this.anchorX=-1;this.focusCell=this.anchorCell=this.focusCellNodeKey=this.anchorCellNodeKey=this.gridSelection=null;this.hasHijackedSelectionStyles=!1;this.enableHighlightStyle();a.update(()=>{var b=c.$getNodeByKey(this.tableNodeKey);if(!I(b))throw Error("Expected TableNode.");b=a.getElementByKey(this.tableNodeKey);if(!b)throw Error("Expected to find TableElement in DOM");b=H(b);J(a,b,null);c.$setSelection(null);a.dispatchCommand(c.SELECTION_CHANGE_COMMAND,
20
+ void 0)})}enableHighlightStyle(){let a=this.editor;a.update(()=>{let b=a.getElementByKey(this.tableNodeKey);if(!b)throw Error("Expected to find TableElement in DOM");b.classList.remove("disable-selection");this.hasHijackedSelectionStyles=!1})}disableHighlightStyle(){let a=this.editor;a.update(()=>{let b=a.getElementByKey(this.tableNodeKey);if(!b)throw Error("Expected to find TableElement in DOM");b.classList.add("disable-selection");this.hasHijackedSelectionStyles=!0})}updateTableGridSelection(a){if(null!=
21
+ a&&a.gridKey===this.tableNodeKey){let b=this.editor;this.gridSelection=a;this.isHighlightingCells=!0;this.disableHighlightStyle();J(b,this.grid,this.gridSelection)}else null==a&&this.clearHighlight()}setFocusCellForSelection(a,b=!1){let f=this.editor;f.update(()=>{var h=c.$getNodeByKey(this.tableNodeKey);if(!I(h))throw Error("Expected TableNode.");if(!f.getElementByKey(this.tableNodeKey))throw Error("Expected to find TableElement in DOM");h=a.x;let d=a.y;this.focusCell=a;if(null!==this.anchorCell){let l=
22
+ ba?(f._window||window).getSelection():null;l&&l.setBaseAndExtent(this.anchorCell.elem,0,this.focusCell.elem,0)}if(!this.isHighlightingCells&&(this.anchorX!==h||this.anchorY!==d||b))this.isHighlightingCells=!0,this.disableHighlightStyle();else if(h===this.focusX&&d===this.focusY)return;this.focusX=h;this.focusY=d;this.isHighlightingCells&&(h=c.$getNearestNodeFromDOMNode(a.elem),null!=this.gridSelection&&null!=this.anchorCellNodeKey&&B(h)&&(h=h.getKey(),this.gridSelection=this.gridSelection.clone()||
23
+ c.DEPRECATED_$createGridSelection(),this.focusCellNodeKey=h,this.gridSelection.set(this.tableNodeKey,this.anchorCellNodeKey,this.focusCellNodeKey),c.$setSelection(this.gridSelection),f.dispatchCommand(c.SELECTION_CHANGE_COMMAND,void 0),J(f,this.grid,this.gridSelection)))})}setAnchorCellForSelection(a){this.isHighlightingCells=!1;this.anchorCell=a;this.anchorX=a.x;this.anchorY=a.y;this.editor.update(()=>{var b=c.$getNearestNodeFromDOMNode(a.elem);B(b)&&(b=b.getKey(),this.gridSelection=c.DEPRECATED_$createGridSelection(),
24
+ this.anchorCellNodeKey=b)})}formatCells(a){this.editor.update(()=>{let b=c.$getSelection();c.DEPRECATED_$isGridSelection(b)||F(11);let f=c.$createRangeSelection(),h=f.anchor,d=f.focus;b.getNodes().forEach(l=>{B(l)&&0!==l.getTextContentSize()&&(h.set(l.getKey(),0,"element"),d.set(l.getKey(),l.getChildrenSize(),"element"),f.formatText(a))});c.$setSelection(b);this.editor.dispatchCommand(c.SELECTION_CHANGE_COMMAND,void 0)})}clearText(){let a=this.editor;a.update(()=>{let b=c.$getNodeByKey(this.tableNodeKey);
25
+ if(!I(b))throw Error("Expected TableNode.");var f=c.$getSelection();c.DEPRECATED_$isGridSelection(f)||F(11);f=f.getNodes().filter(B);f.length===this.grid.columns*this.grid.rows?(b.selectPrevious(),b.remove(),c.$getRoot().selectStart()):(f.forEach(h=>{if(c.$isElementNode(h)){let d=c.$createParagraphNode(),l=c.$createTextNode();d.append(l);h.append(d);h.getChildren().forEach(p=>{p!==d&&p.remove()})}}),J(a,this.grid,null),c.$setSelection(null),a.dispatchCommand(c.SELECTION_CHANGE_COMMAND,void 0))})}}
26
+ function K(a){for(;null!=a;){let b=a.nodeName;if("TD"===b||"TH"===b){a=a._cell;if(void 0===a)break;return a}a=a.parentNode}return null}
27
+ function H(a){let b=[],f={cells:b,columns:0,rows:0};var h=a.firstChild;let d=a=0;for(b.length=0;null!=h;){var l=h.nodeName;if("TD"===l||"TH"===l)l=h,l={elem:l,hasBackgroundColor:""!==l.style.backgroundColor,highlighted:!1,x:a,y:d},h._cell=l,void 0===b[d]&&(b[d]=[]),b[d][a]=l;else if(l=h.firstChild,null!=l){h=l;continue}l=h.nextSibling;if(null!=l)a++,h=l;else if(l=h.parentNode,null!=l){h=l.nextSibling;if(null==h)break;d++;a=0}}f.columns=a+1;f.rows=d+1;return f}
28
+ function J(a,b,f){let h=[],d=new Set(f?f.getNodes():[]);L(b,(l,p)=>{let n=l.elem;d.has(p)?(l.highlighted=!0,M(a,l),h.push(l)):(l.highlighted=!1,N(a,l),n.getAttribute("style")||n.removeAttribute("style"))});return h}function L(a,b){({cells:a}=a);for(let f=0;f<a.length;f++){let h=a[f];for(let d=0;d<h.length;d++){let l=h[d],p=c.$getNearestNodeFromDOMNode(l.elem);null!==p&&b(l,p,{x:d,y:f})}}}function O(a,b){b.disableHighlightStyle();L(b.grid,f=>{f.highlighted=!0;M(a,f)})}
29
+ function ca(a,b){b.enableHighlightStyle();L(b.grid,f=>{let h=f.elem;f.highlighted=!1;N(a,f);h.getAttribute("style")||h.removeAttribute("style")})}
30
+ let Q=(a,b,f,h,d)=>{const l="forward"===d;switch(d){case "backward":case "forward":return f!==(l?a.grid.columns-1:0)?P(b.getCellNodeFromCordsOrThrow(f+(l?1:-1),h,a.grid)):h!==(l?a.grid.rows-1:0)?P(b.getCellNodeFromCordsOrThrow(l?0:a.grid.columns-1,h+(l?1:-1),a.grid)):l?b.selectNext():b.selectPrevious(),!0;case "up":return 0!==h?P(b.getCellNodeFromCordsOrThrow(f,h-1,a.grid)):b.selectPrevious(),!0;case "down":return h!==a.grid.rows-1?P(b.getCellNodeFromCordsOrThrow(f,h+1,a.grid)):b.selectNext(),!0;
31
+ default:return!1}},R=(a,b,f,h,d)=>{const l="forward"===d;switch(d){case "backward":case "forward":return f!==(l?a.grid.columns-1:0)&&a.setFocusCellForSelection(b.getCellFromCordsOrThrow(f+(l?1:-1),h,a.grid)),!0;case "up":return 0!==h?(a.setFocusCellForSelection(b.getCellFromCordsOrThrow(f,h-1,a.grid)),!0):!1;case "down":return h!==a.grid.rows-1?(a.setFocusCellForSelection(b.getCellFromCordsOrThrow(f,h+1,a.grid)),!0):!1;default:return!1}};
32
+ function S(a,b){if(c.$isRangeSelection(a)||c.DEPRECATED_$isGridSelection(a)){let f=b.isParentOf(a.anchor.getNode());a=b.isParentOf(a.focus.getNode());return f&&a}return!1}function P(a){let b=a.getChildren().find(f=>c.$isParagraphNode(f));c.$isParagraphNode(b)?b.selectEnd():a.selectEnd()}
33
+ function M(a,b){a=b.elem;b=c.$getNearestNodeFromDOMNode(a);if(!B(b))throw Error("Expected to find LexicalNode from Table Cell DOMNode");null===b.getBackgroundColor()?a.style.setProperty("background-color","rgb(172,206,247)"):a.style.setProperty("background-image","linear-gradient(to right, rgba(172,206,247,0.85), rgba(172,206,247,0.85))");a.style.setProperty("caret-color","transparent")}
34
+ function N(a,b){a=b.elem;b=c.$getNearestNodeFromDOMNode(a);if(!B(b))throw Error("Expected to find LexicalNode from Table Cell DOMNode");null===b.getBackgroundColor()&&a.style.removeProperty("background-color");a.style.removeProperty("background-image");a.style.removeProperty("caret-color")}
35
+ class T extends c.DEPRECATED_GridNode{static getType(){return"table"}static clone(a){return new T(a.__key)}static importDOM(){return{table:()=>({conversion:da,priority:1})}}static importJSON(){return V()}constructor(a){super(a)}exportJSON(){return{...super.exportJSON(),type:"table",version:1}}createDOM(a){let b=document.createElement("table");q.addClassNamesToElement(b,a.theme.table);return b}updateDOM(){return!1}exportDOM(a){return{...super.exportDOM(a),after:b=>{if(b){let f=b.cloneNode(),h=document.createElement("colgroup"),
36
+ d=document.createElement("tbody");d.append(...b.children);b=this.getFirstChildOrThrow();if(!E(b))throw Error("Expected to find row node.");b=b.getChildrenSize();for(let l=0;l<b;l++){let p=document.createElement("col");h.append(p)}f.replaceChildren(h,d);return f}}}}canExtractContents(){return!1}canBeEmpty(){return!1}isShadowRoot(){return!0}getCordsFromCellNode(a,b){let {rows:f,cells:h}=b;for(b=0;b<f;b++){var d=h[b];if(null==d)throw Error(`Row not found at y:${b}`);d=d.findIndex(({elem:l})=>c.$getNearestNodeFromDOMNode(l)===
35
37
  a);if(-1!==d)return{x:d,y:b}}throw Error("Cell not found in table.");}getCellFromCords(a,b,f){({cells:f}=f);b=f[b];if(null==b)return null;a=b[a];return null==a?null:a}getCellFromCordsOrThrow(a,b,f){a=this.getCellFromCords(a,b,f);if(!a)throw Error("Cell not found at cords.");return a}getCellNodeFromCords(a,b,f){a=this.getCellFromCords(a,b,f);if(null==a)return null;a=c.$getNearestNodeFromDOMNode(a.elem);return B(a)?a:null}getCellNodeFromCordsOrThrow(a,b,f){a=this.getCellNodeFromCords(a,b,f);if(!a)throw Error("Node at cords not TableCellNode.");
36
- return a}canSelectBefore(){return!0}canIndent(){return!1}}function ca(){return{node:T()}}function T(){return c.$applyNodeReplacement(new S)}function J(a){return a instanceof S}function V(a){a=q.$findMatchingParent(a,b=>F(b));if(F(a))return a;throw Error("Expected table cell to be inside of table row.");}function W(a){a=q.$findMatchingParent(a,b=>J(b));if(J(a))return a;throw Error("Expected table cell to be inside of table.");}
37
- function X(a,b){let f=W(a),{x:h,y:d}=f.getCordsFromCellNode(a,b);return{above:f.getCellNodeFromCords(h,d-1,b),below:f.getCellNodeFromCords(h,d+1,b),left:f.getCellNodeFromCords(h-1,d,b),right:f.getCellNodeFromCords(h+1,d,b)}}function Y(a){a=a.getFirstDescendant();null===a&&G(124);a.getParentOrThrow().selectStart()}function Z(a,b){let f=a.getFirstChild();null!==f?f.insertBefore(b):a.append(b)}let da=c.createCommand("INSERT_TABLE_COMMAND");exports.$createTableCellNode=A;exports.$createTableNode=T;
38
- exports.$createTableNodeWithDimensions=function(a,b,f=!0){let h=T();for(let l=0;l<a;l++){let n=E();for(let p=0;p<b;p++){var d=w.NO_STATUS;"object"===typeof f?(0===l&&f.rows&&(d|=w.ROW),0===p&&f.columns&&(d|=w.COLUMN)):f&&(0===l&&(d|=w.ROW),0===p&&(d|=w.COLUMN));d=A(d);let r=c.$createParagraphNode();r.append(c.$createTextNode());d.append(r);n.append(d)}h.append(n)}return h};exports.$createTableRowNode=E;
39
- exports.$deleteTableColumn=function(a,b){let f=a.getChildren();for(let d=0;d<f.length;d++){var h=f[d];if(F(h)){h=h.getChildren();if(b>=h.length||0>b)throw Error("Table column target index out of range");h[b].remove()}}return a};
40
- exports.$deleteTableColumn__EXPERIMENTAL=function(){var a=c.$getSelection();c.$isRangeSelection(a)||c.DEPRECATED_$isGridSelection(a)||G(118);var b=a.anchor.getNode();a=a.focus.getNode();let [f,,h]=c.DEPRECATED_$getNodeTriplet(b);[b]=c.DEPRECATED_$getNodeTriplet(a);let [d,l,n]=c.DEPRECATED_$computeGridMap(h,f,b);var {startColumn:p}=l;let {startRow:r,startColumn:u}=n;a=Math.min(p,u);p=Math.max(p+f.__colSpan-1,u+b.__colSpan-1);let t=p-a+1;if(d[0].length===p-a+1)h.selectPrevious(),h.remove();else{var g=
41
- d.length;for(let e=0;e<g;e++)for(let k=a;k<=p;k++){let {cell:m,startColumn:v}=d[e][k];v<a?k===a&&m.setColSpan(m.__colSpan-Math.min(t,m.__colSpan-(a-v))):v+m.__colSpan-1>p?k===p&&m.setColSpan(m.__colSpan-(p-v+1)):m.remove()}a=d[r];b=a[u+b.__colSpan];void 0!==b?({cell:b}=b,Y(b)):({cell:b}=a[u-1],Y(b))}};
42
- exports.$deleteTableRow__EXPERIMENTAL=function(){var a=c.$getSelection();c.$isRangeSelection(a)||c.DEPRECATED_$isGridSelection(a)||G(118);var b=a.anchor.getNode();a=a.focus.getNode();let [f,,h]=c.DEPRECATED_$getNodeTriplet(b);[a]=c.DEPRECATED_$getNodeTriplet(a);let [d,l,n]=c.DEPRECATED_$computeGridMap(h,f,a);({startRow:b}=l);var {startRow:p}=n;a=p+a.__rowSpan-1;if(d.length===a-b+1)h.remove();else{p=d[0].length;var r=d[a+1],u=h.getChildAtIndex(a+1);for(let g=a;g>=b;g--){for(var t=p-1;0<=t;t--){let {cell:e,
43
- startRow:k,startColumn:m}=d[g][t];if(m===t&&(g===b&&k<b&&e.setRowSpan(e.__rowSpan-(k-b)),k>=b&&k+e.__rowSpan-1>a))if(e.setRowSpan(e.__rowSpan-(a-k+1)),null===u&&G(122),0===t)Z(u,e);else{let {cell:v}=r[t-1];v.insertAfter(e)}}t=h.getChildAtIndex(g);c.DEPRECATED_$isGridRowNode(t)||G(123);t.remove()}void 0!==r?({cell:b}=r[0],Y(b)):({cell:b}=d[b-1][0],Y(b))}};exports.$getElementGridForTableNode=function(a,b){a=a.getElementByKey(b.getKey());if(null==a)throw Error("Table Element Not Found");return I(a)};
44
- exports.$getTableCellNodeFromLexicalNode=function(a){a=q.$findMatchingParent(a,b=>B(b));return B(a)?a:null};exports.$getTableColumnIndexFromTableCellNode=function(a){return V(a).getChildren().findIndex(b=>b.is(a))};exports.$getTableNodeFromLexicalNodeOrThrow=W;exports.$getTableRowIndexFromTableCellNode=function(a){let b=V(a);return W(b).getChildren().findIndex(f=>f.is(b))};exports.$getTableRowNodeFromTableCellNodeOrThrow=V;
45
- exports.$insertTableColumn=function(a,b,f=!0,h,d){let l=a.getChildren();for(let r=0;r<l.length;r++){let u=l[r];if(F(u))for(let t=0;t<h;t++){var n=u.getChildren();if(b>=n.length||0>b)throw Error("Table column target index out of range");n=n[b];B(n)||G(12);let {left:g,right:e}=X(n,d);var p=w.NO_STATUS;if(g&&g.hasHeaderState(w.ROW)||e&&e.hasHeaderState(w.ROW))p|=w.ROW;p=A(p);p.append(c.$createParagraphNode());f?n.insertAfter(p):n.insertBefore(p)}}return a};
46
- exports.$insertTableColumn__EXPERIMENTAL=function(a=!0){function b(){let t=A(w.NO_STATUS).append(c.$createParagraphNode());null===r&&(r=t);return t}var f=c.$getSelection();c.$isRangeSelection(f)||c.DEPRECATED_$isGridSelection(f)||G(118);f=f.focus.getNode();let [h,,d]=c.DEPRECATED_$getNodeTriplet(f),[l,n]=c.DEPRECATED_$computeGridMap(d,h,h);f=l.length;var {startColumn:p}=n;a=a?p+h.__colSpan-1:p-1;p=d.getFirstChild();c.DEPRECATED_$isGridRowNode(p)||G(120);let r=null;var u=p;a:for(p=0;p<f;p++){0!==p&&
47
- (u=u.getNextSibling(),c.DEPRECATED_$isGridRowNode(u)||G(121));let t=l[p];if(0>a){Z(u,b());continue}let {cell:g,startColumn:e,startRow:k}=t[a];if(e+g.__colSpan-1<=a){let m=g,v=k,y=a;for(;v!==p&&1<m.__rowSpan;)if(y-=g.__colSpan,0<=y){let {cell:U,startRow:ea}=t[y];m=U;v=ea}else{u.append(b());continue a}m.insertAfter(b())}else g.setColSpan(g.__colSpan+1)}null!==r&&Y(r)};
48
- exports.$insertTableRow=function(a,b,f=!0,h,d){var l=a.getChildren();if(b>=l.length||0>b)throw Error("Table row target index out of range");b=l[b];if(F(b))for(l=0;l<h;l++){let p=b.getChildren(),r=p.length,u=E();for(let t=0;t<r;t++){var n=p[t];B(n)||G(12);let {above:g,below:e}=X(n,d);n=w.NO_STATUS;let k=g&&g.getWidth()||e&&e.getWidth()||void 0;if(g&&g.hasHeaderState(w.COLUMN)||e&&e.hasHeaderState(w.COLUMN))n|=w.COLUMN;n=A(n,1,k);n.append(c.$createParagraphNode());u.append(n)}f?b.insertAfter(u):b.insertBefore(u)}else throw Error("Row before insertion index does not exist.");
38
+ return a}canSelectBefore(){return!0}canIndent(){return!1}}function da(){return{node:V()}}function V(){return c.$applyNodeReplacement(new T)}function I(a){return a instanceof T}function W(a){a=q.$findMatchingParent(a,b=>E(b));if(E(a))return a;throw Error("Expected table cell to be inside of table row.");}function X(a){a=q.$findMatchingParent(a,b=>I(b));if(I(a))return a;throw Error("Expected table cell to be inside of table.");}
39
+ function ea(a,b){let f=X(a),{x:h,y:d}=f.getCordsFromCellNode(a,b);return{above:f.getCellNodeFromCords(h,d-1,b),below:f.getCellNodeFromCords(h,d+1,b),left:f.getCellNodeFromCords(h-1,d,b),right:f.getCellNodeFromCords(h+1,d,b)}}function Y(a){a=a.getFirstDescendant();null===a&&F(124);a.getParentOrThrow().selectStart()}function Z(a,b){let f=a.getFirstChild();null!==f?f.insertBefore(b):a.append(b)}let fa=c.createCommand("INSERT_TABLE_COMMAND");exports.$createTableCellNode=A;exports.$createTableNode=V;
40
+ exports.$createTableNodeWithDimensions=function(a,b,f=!0){let h=V();for(let l=0;l<a;l++){let p=D();for(let n=0;n<b;n++){var d=w.NO_STATUS;"object"===typeof f?(0===l&&f.rows&&(d|=w.ROW),0===n&&f.columns&&(d|=w.COLUMN)):f&&(0===l&&(d|=w.ROW),0===n&&(d|=w.COLUMN));d=A(d);let r=c.$createParagraphNode();r.append(c.$createTextNode());d.append(r);p.append(d)}h.append(p)}return h};exports.$createTableRowNode=D;
41
+ exports.$deleteTableColumn=function(a,b){let f=a.getChildren();for(let d=0;d<f.length;d++){var h=f[d];if(E(h)){h=h.getChildren();if(b>=h.length||0>b)throw Error("Table column target index out of range");h[b].remove()}}return a};
42
+ exports.$deleteTableColumn__EXPERIMENTAL=function(){var a=c.$getSelection();c.$isRangeSelection(a)||c.DEPRECATED_$isGridSelection(a)||F(118);var b=a.anchor.getNode();a=a.focus.getNode();let [f,,h]=c.DEPRECATED_$getNodeTriplet(b);[b]=c.DEPRECATED_$getNodeTriplet(a);let [d,l,p]=c.DEPRECATED_$computeGridMap(h,f,b);var {startColumn:n}=l;let {startRow:r,startColumn:u}=p;a=Math.min(n,u);n=Math.max(n+f.__colSpan-1,u+b.__colSpan-1);let t=n-a+1;if(d[0].length===n-a+1)h.selectPrevious(),h.remove();else{var g=
43
+ d.length;for(let e=0;e<g;e++)for(let k=a;k<=n;k++){let {cell:m,startColumn:v}=d[e][k];v<a?k===a&&m.setColSpan(m.__colSpan-Math.min(t,m.__colSpan-(a-v))):v+m.__colSpan-1>n?k===n&&m.setColSpan(m.__colSpan-(n-v+1)):m.remove()}a=d[r];b=a[u+b.__colSpan];void 0!==b?({cell:b}=b,Y(b)):({cell:b}=a[u-1],Y(b))}};
44
+ exports.$deleteTableRow__EXPERIMENTAL=function(){var a=c.$getSelection();c.$isRangeSelection(a)||c.DEPRECATED_$isGridSelection(a)||F(118);var b=a.anchor.getNode();a=a.focus.getNode();let [f,,h]=c.DEPRECATED_$getNodeTriplet(b);[a]=c.DEPRECATED_$getNodeTriplet(a);let [d,l,p]=c.DEPRECATED_$computeGridMap(h,f,a);({startRow:b}=l);var {startRow:n}=p;a=n+a.__rowSpan-1;if(d.length===a-b+1)h.remove();else{n=d[0].length;var r=d[a+1],u=h.getChildAtIndex(a+1);for(let g=a;g>=b;g--){for(var t=n-1;0<=t;t--){let {cell:e,
45
+ startRow:k,startColumn:m}=d[g][t];if(m===t&&(g===b&&k<b&&e.setRowSpan(e.__rowSpan-(k-b)),k>=b&&k+e.__rowSpan-1>a))if(e.setRowSpan(e.__rowSpan-(a-k+1)),null===u&&F(122),0===t)Z(u,e);else{let {cell:v}=r[t-1];v.insertAfter(e)}}t=h.getChildAtIndex(g);c.DEPRECATED_$isGridRowNode(t)||F(123);t.remove()}void 0!==r?({cell:b}=r[0],Y(b)):({cell:b}=d[b-1][0],Y(b))}};exports.$getElementGridForTableNode=function(a,b){a=a.getElementByKey(b.getKey());if(null==a)throw Error("Table Element Not Found");return H(a)};
46
+ exports.$getTableCellNodeFromLexicalNode=function(a){a=q.$findMatchingParent(a,b=>B(b));return B(a)?a:null};exports.$getTableColumnIndexFromTableCellNode=function(a){return W(a).getChildren().findIndex(b=>b.is(a))};exports.$getTableNodeFromLexicalNodeOrThrow=X;exports.$getTableRowIndexFromTableCellNode=function(a){let b=W(a);return X(b).getChildren().findIndex(f=>f.is(b))};exports.$getTableRowNodeFromTableCellNodeOrThrow=W;
47
+ exports.$insertTableColumn=function(a,b,f=!0,h,d){let l=a.getChildren();for(let r=0;r<l.length;r++){let u=l[r];if(E(u))for(let t=0;t<h;t++){var p=u.getChildren();if(b>=p.length||0>b)throw Error("Table column target index out of range");p=p[b];B(p)||F(12);let {left:g,right:e}=ea(p,d);var n=w.NO_STATUS;if(g&&g.hasHeaderState(w.ROW)||e&&e.hasHeaderState(w.ROW))n|=w.ROW;n=A(n);n.append(c.$createParagraphNode());f?p.insertAfter(n):p.insertBefore(n)}}return a};
48
+ exports.$insertTableColumn__EXPERIMENTAL=function(a=!0){function b(){let t=A(w.NO_STATUS).append(c.$createParagraphNode());null===r&&(r=t);return t}var f=c.$getSelection();c.$isRangeSelection(f)||c.DEPRECATED_$isGridSelection(f)||F(118);f=f.focus.getNode();let [h,,d]=c.DEPRECATED_$getNodeTriplet(f),[l,p]=c.DEPRECATED_$computeGridMap(d,h,h);f=l.length;var {startColumn:n}=p;a=a?n+h.__colSpan-1:n-1;n=d.getFirstChild();c.DEPRECATED_$isGridRowNode(n)||F(120);let r=null;var u=n;a:for(n=0;n<f;n++){0!==n&&
49
+ (u=u.getNextSibling(),c.DEPRECATED_$isGridRowNode(u)||F(121));let t=l[n];if(0>a){Z(u,b());continue}let {cell:g,startColumn:e,startRow:k}=t[a];if(e+g.__colSpan-1<=a){let m=g,v=k,y=a;for(;v!==n&&1<m.__rowSpan;)if(y-=g.__colSpan,0<=y){let {cell:U,startRow:ha}=t[y];m=U;v=ha}else{u.append(b());continue a}m.insertAfter(b())}else g.setColSpan(g.__colSpan+1)}null!==r&&Y(r)};
50
+ exports.$insertTableRow=function(a,b,f=!0,h,d){var l=a.getChildren();if(b>=l.length||0>b)throw Error("Table row target index out of range");b=l[b];if(E(b))for(l=0;l<h;l++){let n=b.getChildren(),r=n.length,u=D();for(let t=0;t<r;t++){var p=n[t];B(p)||F(12);let {above:g,below:e}=ea(p,d);p=w.NO_STATUS;let k=g&&g.getWidth()||e&&e.getWidth()||void 0;if(g&&g.hasHeaderState(w.COLUMN)||e&&e.hasHeaderState(w.COLUMN))p|=w.COLUMN;p=A(p,1,k);p.append(c.$createParagraphNode());u.append(p)}f?b.insertAfter(u):b.insertBefore(u)}else throw Error("Row before insertion index does not exist.");
49
51
  return a};
50
- exports.$insertTableRow__EXPERIMENTAL=function(a=!0){var b=c.$getSelection();c.$isRangeSelection(b)||c.DEPRECATED_$isGridSelection(b)||G(118);b=b.focus.getNode();let [f,,h]=c.DEPRECATED_$getNodeTriplet(b),[d,l]=c.DEPRECATED_$computeGridMap(h,f,f);b=d[0].length;var {startRow:n}=l;if(a){a=n+f.__rowSpan-1;var p=d[a];n=E();for(var r=0;r<b;r++){let {cell:u,startRow:t}=p[r];t+u.__rowSpan-1<=a?n.append(A(w.NO_STATUS)):u.setRowSpan(u.__rowSpan+1)}b=h.getChildAtIndex(a);c.DEPRECATED_$isGridRowNode(b)||G(119);
51
- b.insertAfter(n)}else{p=d[n];a=E();for(r=0;r<b;r++){let {cell:u,startRow:t}=p[r];t===n?a.append(A(w.NO_STATUS)):u.setRowSpan(u.__rowSpan+1)}b=h.getChildAtIndex(n);c.DEPRECATED_$isGridRowNode(b)||G(119);b.insertBefore(a)}};exports.$isTableCellNode=B;exports.$isTableNode=J;exports.$isTableRowNode=F;exports.$removeTableRowAtIndex=function(a,b){let f=a.getChildren();if(b>=f.length||0>b)throw Error("Expected table cell to be inside of table row.");f[b].remove();return a};
52
- exports.$unmergeCell=function(){var a=c.$getSelection();c.$isRangeSelection(a)||c.DEPRECATED_$isGridSelection(a)||G(118);a=a.anchor.getNode();let [b,f,h]=c.DEPRECATED_$getNodeTriplet(a);a=b.__colSpan;let d=b.__rowSpan;if(1<a){for(var l=1;l<a;l++)b.insertAfter(A(w.NO_STATUS));b.setColSpan(1)}if(1<d){let [r,u]=c.DEPRECATED_$computeGridMap(h,b,b),{startColumn:t,startRow:g}=u;for(l=1;l<d;l++){let e=g+l,k=r[e];var n=f.getNextSibling();c.DEPRECATED_$isGridRowNode(n)||G(125);var p=null;for(let m=0;m<t;m++){let v=
53
- k[m],y=v.cell;v.startRow===e&&(p=y);1<y.__colSpan&&(m+=y.__colSpan-1)}if(null===p)for(p=0;p<a;p++)Z(n,A(w.NO_STATUS));else for(n=0;n<a;n++)p.insertAfter(A(w.NO_STATUS))}b.setRowSpan(1)}};exports.INSERT_TABLE_COMMAND=da;exports.TableCellHeaderStates=w;exports.TableCellNode=x;exports.TableNode=S;exports.TableRowNode=C;exports.TableSelection=H;
54
- exports.applyTableHandlers=function(a,b,f){let h=f.getRootElement();if(null===h)throw Error("No root element.");let d=new H(f,a.getKey());b.__lexicalTableSelection=d;let l=!1,n=!1;b.addEventListener("dblclick",g=>{let e=L(g.target);null!==e&&(g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),d.setAnchorCellForSelection(e),d.setFocusCellForSelection(e,!0),l=!1)});b.addEventListener("mousedown",g=>{setTimeout(()=>{if(0===g.button){var e=L(g.target);null!==e&&(g.preventDefault(),g.stopPropagation(),
55
- g.stopImmediatePropagation(),d.setAnchorCellForSelection(e))}},0)});b.addEventListener("mousemove",g=>{n&&(g.preventDefault(),g.stopPropagation(),g.stopImmediatePropagation());if(l){let e=L(g.target);if(null!==e){let k=e.x,m=e.y;l&&(d.anchorX!==k||d.anchorY!==m||d.isHighlightingCells)&&(g.preventDefault(),d.setFocusCellForSelection(e))}}});b.addEventListener("mouseleave",()=>{});let p=g=>{0===g.button&&f.update(()=>{var e=c.$getSelection();const k=g.target;if(k instanceof Node){if(c.DEPRECATED_$isGridSelection(e)&&
56
- e.gridKey===d.tableNodeKey&&h.contains(k))return d.clearHighlight();e=c.$getNearestNodeFromDOMNode(k);null!==e&&q.$findMatchingParent(e,c.DEPRECATED_$isGridNode)&&(l=!0)}})};window.addEventListener("mousedown",p);d.listenersToRemove.add(()=>window.removeEventListener("mousedown",p));let r=g=>{var e;if(e=l)e=g.target,e=null!==e&&"SPAN"===e.nodeName?!0:!1,e=!e;e&&(g.preventDefault(),g.stopPropagation());l=!1};window.addEventListener("mouseup",r);d.listenersToRemove.add(()=>window.removeEventListener("mouseup",
57
- r));b.addEventListener("mouseup",r);d.listenersToRemove.add(()=>b.removeEventListener("mouseup",r));d.listenersToRemove.add(f.registerCommand(c.KEY_ARROW_DOWN_COMMAND,g=>{var e=c.$getSelection();if(!R(e,a))return!1;if(c.$isRangeSelection(e)){if(e.isCollapsed()){var k=q.$findMatchingParent(e.anchor.getNode(),v=>B(v));if(!B(k))return!1;var m=a.getCordsFromCellNode(k,d.grid);e=q.$findMatchingParent(e.anchor.getNode(),v=>c.$isElementNode(v));if(null==e)throw Error("Expected BlockNode Parent");if((k=k.getLastChild())&&
58
- e.isParentOf(k)||e===k||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(d.setAnchorCellForSelection(a.getCellFromCordsOrThrow(m.x,m.y,d.grid)),Q(d,a,m.x,m.y,"down")):P(d,a,m.x,m.y,"down")}}else if(c.DEPRECATED_$isGridSelection(e)&&g.shiftKey){m=e.focus.getNode();if(!B(m))return!1;m=a.getCordsFromCellNode(m,d.grid);g.preventDefault();g.stopImmediatePropagation();g.stopPropagation();return Q(d,a,m.x,m.y,"down")}return!1},c.COMMAND_PRIORITY_HIGH));d.listenersToRemove.add(f.registerCommand(c.KEY_ARROW_UP_COMMAND,
59
- g=>{var e=c.$getSelection();if(!R(e,a))return!1;if(c.$isRangeSelection(e)){if(e.isCollapsed()){var k=q.$findMatchingParent(e.anchor.getNode(),v=>B(v));if(!B(k))return!1;var m=a.getCordsFromCellNode(k,d.grid);e=q.$findMatchingParent(e.anchor.getNode(),v=>c.$isElementNode(v));if(null==e)throw Error("Expected BlockNode Parent");if((k=k.getLastChild())&&e.isParentOf(k)||e===k||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(d.setAnchorCellForSelection(a.getCellFromCordsOrThrow(m.x,
60
- m.y,d.grid)),Q(d,a,m.x,m.y,"up")):P(d,a,m.x,m.y,"up")}}else if(c.DEPRECATED_$isGridSelection(e)&&g.shiftKey){m=e.focus.getNode();if(!B(m))return!1;m=a.getCordsFromCellNode(m,d.grid);g.preventDefault();g.stopImmediatePropagation();g.stopPropagation();return Q(d,a,m.x,m.y,"up")}return!1},c.COMMAND_PRIORITY_HIGH));d.listenersToRemove.add(f.registerCommand(c.KEY_ARROW_LEFT_COMMAND,g=>{var e=c.$getSelection();if(!R(e,a))return!1;if(c.$isRangeSelection(e)){if(e.isCollapsed()){var k=q.$findMatchingParent(e.anchor.getNode(),
61
- m=>B(m));if(!B(k))return!1;k=a.getCordsFromCellNode(k,d.grid);if(null==q.$findMatchingParent(e.anchor.getNode(),m=>c.$isElementNode(m)))throw Error("Expected BlockNode Parent");if(0===e.anchor.offset||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(d.setAnchorCellForSelection(a.getCellFromCordsOrThrow(k.x,k.y,d.grid)),Q(d,a,k.x,k.y,"backward")):P(d,a,k.x,k.y,"backward")}}else if(c.DEPRECATED_$isGridSelection(e)&&g.shiftKey){e=e.focus.getNode();if(!B(e))return!1;
62
- e=a.getCordsFromCellNode(e,d.grid);g.preventDefault();g.stopImmediatePropagation();g.stopPropagation();return Q(d,a,e.x,e.y,"backward")}return!1},c.COMMAND_PRIORITY_HIGH));d.listenersToRemove.add(f.registerCommand(c.KEY_ARROW_RIGHT_COMMAND,g=>{var e=c.$getSelection();if(!R(e,a))return!1;if(c.$isRangeSelection(e)){if(e.isCollapsed()){var k=q.$findMatchingParent(e.anchor.getNode(),m=>B(m));if(!B(k))return!1;k=a.getCordsFromCellNode(k,d.grid);if(null==q.$findMatchingParent(e.anchor.getNode(),m=>c.$isElementNode(m)))throw Error("Expected BlockNode Parent");
63
- if(e.anchor.offset===e.anchor.getNode().getTextContentSize()||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(d.setAnchorCellForSelection(a.getCellFromCordsOrThrow(k.x,k.y,d.grid)),Q(d,a,k.x,k.y,"forward")):P(d,a,k.x,k.y,"forward")}}else if(c.DEPRECATED_$isGridSelection(e)&&g.shiftKey){e=e.focus.getNode();if(!B(e))return!1;e=a.getCordsFromCellNode(e,d.grid);g.preventDefault();g.stopImmediatePropagation();g.stopPropagation();return Q(d,a,e.x,e.y,"forward")}return!1},
64
- c.COMMAND_PRIORITY_HIGH));let u=g=>()=>{var e=c.$getSelection();if(!R(e,a))return!1;if(c.DEPRECATED_$isGridSelection(e))return d.clearText(),!0;if(c.$isRangeSelection(e)){const v=q.$findMatchingParent(e.anchor.getNode(),y=>B(y));if(!B(v))return!1;var k=e.anchor.getNode(),m=e.focus.getNode();k=a.isParentOf(k);m=a.isParentOf(m);if(k&&!m||m&&!k)return d.clearText(),!0;k=(m=q.$findMatchingParent(e.anchor.getNode(),y=>c.$isElementNode(y)))&&q.$findMatchingParent(m,y=>c.$isElementNode(y)&&B(y.getParent()));
52
+ exports.$insertTableRow__EXPERIMENTAL=function(a=!0){var b=c.$getSelection();c.$isRangeSelection(b)||c.DEPRECATED_$isGridSelection(b)||F(118);b=b.focus.getNode();let [f,,h]=c.DEPRECATED_$getNodeTriplet(b),[d,l]=c.DEPRECATED_$computeGridMap(h,f,f);b=d[0].length;var {startRow:p}=l;if(a){a=p+f.__rowSpan-1;var n=d[a];p=D();for(var r=0;r<b;r++){let {cell:u,startRow:t}=n[r];t+u.__rowSpan-1<=a?p.append(A(w.NO_STATUS)):u.setRowSpan(u.__rowSpan+1)}b=h.getChildAtIndex(a);c.DEPRECATED_$isGridRowNode(b)||F(119);
53
+ b.insertAfter(p)}else{n=d[p];a=D();for(r=0;r<b;r++){let {cell:u,startRow:t}=n[r];t===p?a.append(A(w.NO_STATUS)):u.setRowSpan(u.__rowSpan+1)}b=h.getChildAtIndex(p);c.DEPRECATED_$isGridRowNode(b)||F(119);b.insertBefore(a)}};exports.$isTableCellNode=B;exports.$isTableNode=I;exports.$isTableRowNode=E;exports.$removeTableRowAtIndex=function(a,b){let f=a.getChildren();if(b>=f.length||0>b)throw Error("Expected table cell to be inside of table row.");f[b].remove();return a};
54
+ exports.$unmergeCell=function(){var a=c.$getSelection();c.$isRangeSelection(a)||c.DEPRECATED_$isGridSelection(a)||F(118);a=a.anchor.getNode();let [b,f,h]=c.DEPRECATED_$getNodeTriplet(a);a=b.__colSpan;let d=b.__rowSpan;if(1<a){for(var l=1;l<a;l++)b.insertAfter(A(w.NO_STATUS));b.setColSpan(1)}if(1<d){let [r,u]=c.DEPRECATED_$computeGridMap(h,b,b),{startColumn:t,startRow:g}=u;for(l=1;l<d;l++){let e=g+l,k=r[e];var p=f.getNextSibling();c.DEPRECATED_$isGridRowNode(p)||F(125);var n=null;for(let m=0;m<t;m++){let v=
55
+ k[m],y=v.cell;v.startRow===e&&(n=y);1<y.__colSpan&&(m+=y.__colSpan-1)}if(null===n)for(n=0;n<a;n++)Z(p,A(w.NO_STATUS));else for(p=0;p<a;p++)n.insertAfter(A(w.NO_STATUS))}b.setRowSpan(1)}};exports.INSERT_TABLE_COMMAND=fa;exports.TableCellHeaderStates=w;exports.TableCellNode=x;exports.TableNode=T;exports.TableRowNode=C;exports.TableSelection=G;
56
+ exports.applyTableHandlers=function(a,b,f){let h=f.getRootElement();if(null===h)throw Error("No root element.");let d=new G(f,a.getKey());b.__lexicalTableSelection=d;let l=!1,p=!1;b.addEventListener("dblclick",g=>{let e=K(g.target);null!==e&&(g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),d.setAnchorCellForSelection(e),d.setFocusCellForSelection(e,!0),l=!1)});b.addEventListener("mousedown",g=>{setTimeout(()=>{if(0===g.button){var e=K(g.target);null!==e&&(g.preventDefault(),g.stopPropagation(),
57
+ g.stopImmediatePropagation(),d.setAnchorCellForSelection(e))}},0)});b.addEventListener("mousemove",g=>{p&&(g.preventDefault(),g.stopPropagation(),g.stopImmediatePropagation());if(l){let e=K(g.target);if(null!==e){let k=e.x,m=e.y;l&&(d.anchorX!==k||d.anchorY!==m||d.isHighlightingCells)&&(g.preventDefault(),d.setFocusCellForSelection(e))}}});b.addEventListener("mouseleave",()=>{});let n=g=>{0===g.button&&f.update(()=>{var e=c.$getSelection();const k=g.target;if(k instanceof Node){if(c.DEPRECATED_$isGridSelection(e)&&
58
+ e.gridKey===d.tableNodeKey&&h.contains(k))return d.clearHighlight();e=c.$getNearestNodeFromDOMNode(k);null!==e&&q.$findMatchingParent(e,c.DEPRECATED_$isGridNode)&&(l=!0)}})};window.addEventListener("mousedown",n);d.listenersToRemove.add(()=>window.removeEventListener("mousedown",n));let r=g=>{var e;if(e=l)e=g.target,e=null!==e&&"SPAN"===e.nodeName?!0:!1,e=!e;e&&(g.preventDefault(),g.stopPropagation());l=!1};window.addEventListener("mouseup",r);d.listenersToRemove.add(()=>window.removeEventListener("mouseup",
59
+ r));b.addEventListener("mouseup",r);d.listenersToRemove.add(()=>b.removeEventListener("mouseup",r));d.listenersToRemove.add(f.registerCommand(c.KEY_ARROW_DOWN_COMMAND,g=>{var e=c.$getSelection();if(!S(e,a))return!1;if(c.$isRangeSelection(e)){if(e.isCollapsed()){var k=q.$findMatchingParent(e.anchor.getNode(),v=>B(v));if(!B(k))return!1;var m=a.getCordsFromCellNode(k,d.grid);e=q.$findMatchingParent(e.anchor.getNode(),v=>c.$isElementNode(v));if(null==e)throw Error("Expected BlockNode Parent");if((k=k.getLastChild())&&
60
+ e.isParentOf(k)||e===k||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(d.setAnchorCellForSelection(a.getCellFromCordsOrThrow(m.x,m.y,d.grid)),R(d,a,m.x,m.y,"down")):Q(d,a,m.x,m.y,"down")}}else if(c.DEPRECATED_$isGridSelection(e)&&g.shiftKey){m=e.focus.getNode();if(!B(m))return!1;m=a.getCordsFromCellNode(m,d.grid);g.preventDefault();g.stopImmediatePropagation();g.stopPropagation();return R(d,a,m.x,m.y,"down")}return!1},c.COMMAND_PRIORITY_HIGH));d.listenersToRemove.add(f.registerCommand(c.KEY_ARROW_UP_COMMAND,
61
+ g=>{var e=c.$getSelection();if(!S(e,a))return!1;if(c.$isRangeSelection(e)){if(e.isCollapsed()){var k=q.$findMatchingParent(e.anchor.getNode(),v=>B(v));if(!B(k))return!1;var m=a.getCordsFromCellNode(k,d.grid);e=q.$findMatchingParent(e.anchor.getNode(),v=>c.$isElementNode(v));if(null==e)throw Error("Expected BlockNode Parent");if((k=k.getLastChild())&&e.isParentOf(k)||e===k||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(d.setAnchorCellForSelection(a.getCellFromCordsOrThrow(m.x,
62
+ m.y,d.grid)),R(d,a,m.x,m.y,"up")):Q(d,a,m.x,m.y,"up")}}else if(c.DEPRECATED_$isGridSelection(e)&&g.shiftKey){m=e.focus.getNode();if(!B(m))return!1;m=a.getCordsFromCellNode(m,d.grid);g.preventDefault();g.stopImmediatePropagation();g.stopPropagation();return R(d,a,m.x,m.y,"up")}return!1},c.COMMAND_PRIORITY_HIGH));d.listenersToRemove.add(f.registerCommand(c.KEY_ARROW_LEFT_COMMAND,g=>{var e=c.$getSelection();if(!S(e,a))return!1;if(c.$isRangeSelection(e)){if(e.isCollapsed()){var k=q.$findMatchingParent(e.anchor.getNode(),
63
+ m=>B(m));if(!B(k))return!1;k=a.getCordsFromCellNode(k,d.grid);if(null==q.$findMatchingParent(e.anchor.getNode(),m=>c.$isElementNode(m)))throw Error("Expected BlockNode Parent");if(0===e.anchor.offset||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(d.setAnchorCellForSelection(a.getCellFromCordsOrThrow(k.x,k.y,d.grid)),R(d,a,k.x,k.y,"backward")):Q(d,a,k.x,k.y,"backward")}}else if(c.DEPRECATED_$isGridSelection(e)&&g.shiftKey){e=e.focus.getNode();if(!B(e))return!1;
64
+ e=a.getCordsFromCellNode(e,d.grid);g.preventDefault();g.stopImmediatePropagation();g.stopPropagation();return R(d,a,e.x,e.y,"backward")}return!1},c.COMMAND_PRIORITY_HIGH));d.listenersToRemove.add(f.registerCommand(c.KEY_ARROW_RIGHT_COMMAND,g=>{var e=c.$getSelection();if(!S(e,a))return!1;if(c.$isRangeSelection(e)){if(e.isCollapsed()){var k=q.$findMatchingParent(e.anchor.getNode(),m=>B(m));if(!B(k))return!1;k=a.getCordsFromCellNode(k,d.grid);if(null==q.$findMatchingParent(e.anchor.getNode(),m=>c.$isElementNode(m)))throw Error("Expected BlockNode Parent");
65
+ if(e.anchor.offset===e.anchor.getNode().getTextContentSize()||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(d.setAnchorCellForSelection(a.getCellFromCordsOrThrow(k.x,k.y,d.grid)),R(d,a,k.x,k.y,"forward")):Q(d,a,k.x,k.y,"forward")}}else if(c.DEPRECATED_$isGridSelection(e)&&g.shiftKey){e=e.focus.getNode();if(!B(e))return!1;e=a.getCordsFromCellNode(e,d.grid);g.preventDefault();g.stopImmediatePropagation();g.stopPropagation();return R(d,a,e.x,e.y,"forward")}return!1},
66
+ c.COMMAND_PRIORITY_HIGH));let u=g=>()=>{var e=c.$getSelection();if(!S(e,a))return!1;if(c.DEPRECATED_$isGridSelection(e))return d.clearText(),!0;if(c.$isRangeSelection(e)){const v=q.$findMatchingParent(e.anchor.getNode(),y=>B(y));if(!B(v))return!1;var k=e.anchor.getNode(),m=e.focus.getNode();k=a.isParentOf(k);m=a.isParentOf(m);if(k&&!m||m&&!k)return d.clearText(),!0;k=(m=q.$findMatchingParent(e.anchor.getNode(),y=>c.$isElementNode(y)))&&q.$findMatchingParent(m,y=>c.$isElementNode(y)&&B(y.getParent()));
65
67
  if(!c.$isElementNode(k)||!c.$isElementNode(m))return!1;if(g===c.DELETE_LINE_COMMAND&&null===k.getPreviousSibling())return!0;if((g===c.DELETE_CHARACTER_COMMAND||g===c.DELETE_WORD_COMMAND)&&e.isCollapsed()&&0===e.anchor.offset&&m!==k){e=m.getChildren();const y=c.$createParagraphNode();e.forEach(U=>y.append(U));m.replace(y);m.getWritable().__parent=v.getKey();return!0}}return!1};[c.DELETE_WORD_COMMAND,c.DELETE_LINE_COMMAND,c.DELETE_CHARACTER_COMMAND].forEach(g=>{d.listenersToRemove.add(f.registerCommand(g,
66
- u(g),c.COMMAND_PRIORITY_CRITICAL))});let t=g=>{const e=c.$getSelection();if(!R(e,a))return!1;if(c.DEPRECATED_$isGridSelection(e))return g.preventDefault(),g.stopPropagation(),d.clearText(),!0;c.$isRangeSelection(e)&&(g=q.$findMatchingParent(e.anchor.getNode(),k=>B(k)),B(g));return!1};d.listenersToRemove.add(f.registerCommand(c.KEY_BACKSPACE_COMMAND,t,c.COMMAND_PRIORITY_CRITICAL));d.listenersToRemove.add(f.registerCommand(c.KEY_DELETE_COMMAND,t,c.COMMAND_PRIORITY_CRITICAL));d.listenersToRemove.add(f.registerCommand(c.FORMAT_TEXT_COMMAND,
67
- g=>{let e=c.$getSelection();if(!R(e,a))return!1;if(c.DEPRECATED_$isGridSelection(e))return d.formatCells(g),!0;c.$isRangeSelection(e)&&(g=q.$findMatchingParent(e.anchor.getNode(),k=>B(k)),B(g));return!1},c.COMMAND_PRIORITY_CRITICAL));d.listenersToRemove.add(f.registerCommand(c.CONTROLLED_TEXT_INSERTION_COMMAND,()=>{var g=c.$getSelection();if(!R(g,a))return!1;c.DEPRECATED_$isGridSelection(g)?d.clearHighlight():c.$isRangeSelection(g)&&(g=q.$findMatchingParent(g.anchor.getNode(),e=>B(e)),B(g));return!1},
68
- c.COMMAND_PRIORITY_CRITICAL));d.listenersToRemove.add(f.registerCommand(c.KEY_TAB_COMMAND,g=>{var e=c.$getSelection();if(!R(e,a))return!1;if(c.$isRangeSelection(e)){let k=q.$findMatchingParent(e.anchor.getNode(),m=>B(m));if(!B(k))return!1;if(e.isCollapsed())return e=a.getCordsFromCellNode(k,d.grid),g.preventDefault(),P(d,a,e.x,e.y,g.shiftKey?"backward":"forward"),!0}return!1},c.COMMAND_PRIORITY_HIGH));d.listenersToRemove.add(f.registerCommand(c.FOCUS_COMMAND,()=>a.isSelected(),c.COMMAND_PRIORITY_HIGH));
69
- d.listenersToRemove.add(f.registerCommand(c.SELECTION_CHANGE_COMMAND,()=>{let g=c.$getSelection();var e=c.$getPreviousSelection();if(g&&c.$isRangeSelection(g)&&!g.isCollapsed()){var k=g.anchor.getNode(),m=g.focus.getNode();k=a.isParentOf(k);var v=a.isParentOf(m);m=k&&!v||v&&!k;k=k&&v&&!a.isSelected();if(m)return e=g.isBackward(),k=c.$createRangeSelection(),m=a.getKey(),k.anchor.set(g.anchor.key,g.anchor.offset,g.anchor.type),k.focus.set(m,e?0:a.getChildrenSize(),"element"),n=!0,c.$setSelection(k),
70
- N(d),!0;if(k&&({grid:k}=d,g.getNodes().filter(B).length===k.rows*k.columns)){k=c.DEPRECATED_$createGridSelection();m=a.getKey();v=a.getFirstChildOrThrow().getFirstChild();let y=a.getLastChildOrThrow().getLastChild();if(null!=v&&null!=y)return k.set(m,v.getKey(),y.getKey()),c.$setSelection(k),d.updateTableGridSelection(k),!0}}if(g&&!g.is(e)&&(c.DEPRECATED_$isGridSelection(g)||c.DEPRECATED_$isGridSelection(e))&&d.gridSelection&&!d.gridSelection.is(e))return c.DEPRECATED_$isGridSelection(g)&&g.gridKey===
71
- d.tableNodeKey?d.updateTableGridSelection(g):!c.DEPRECATED_$isGridSelection(g)&&c.DEPRECATED_$isGridSelection(e)&&e.gridKey===d.tableNodeKey&&d.updateTableGridSelection(null),!1;d.hasHijackedSelectionStyles&&!a.isSelected()?(ba(d),n=!1):!d.hasHijackedSelectionStyles&&a.isSelected()&&N(d);return!1},c.COMMAND_PRIORITY_CRITICAL));return d};exports.getCellFromTarget=L;exports.getTableSelectionFromTableElement=function(a){return a.__lexicalTableSelection}
68
+ u(g),c.COMMAND_PRIORITY_CRITICAL))});let t=g=>{const e=c.$getSelection();if(!S(e,a))return!1;if(c.DEPRECATED_$isGridSelection(e))return g.preventDefault(),g.stopPropagation(),d.clearText(),!0;c.$isRangeSelection(e)&&(g=q.$findMatchingParent(e.anchor.getNode(),k=>B(k)),B(g));return!1};d.listenersToRemove.add(f.registerCommand(c.KEY_BACKSPACE_COMMAND,t,c.COMMAND_PRIORITY_CRITICAL));d.listenersToRemove.add(f.registerCommand(c.KEY_DELETE_COMMAND,t,c.COMMAND_PRIORITY_CRITICAL));d.listenersToRemove.add(f.registerCommand(c.FORMAT_TEXT_COMMAND,
69
+ g=>{let e=c.$getSelection();if(!S(e,a))return!1;if(c.DEPRECATED_$isGridSelection(e))return d.formatCells(g),!0;c.$isRangeSelection(e)&&(g=q.$findMatchingParent(e.anchor.getNode(),k=>B(k)),B(g));return!1},c.COMMAND_PRIORITY_CRITICAL));d.listenersToRemove.add(f.registerCommand(c.CONTROLLED_TEXT_INSERTION_COMMAND,()=>{var g=c.$getSelection();if(!S(g,a))return!1;c.DEPRECATED_$isGridSelection(g)?d.clearHighlight():c.$isRangeSelection(g)&&(g=q.$findMatchingParent(g.anchor.getNode(),e=>B(e)),B(g));return!1},
70
+ c.COMMAND_PRIORITY_CRITICAL));d.listenersToRemove.add(f.registerCommand(c.KEY_TAB_COMMAND,g=>{var e=c.$getSelection();if(!S(e,a))return!1;if(c.$isRangeSelection(e)){let k=q.$findMatchingParent(e.anchor.getNode(),m=>B(m));if(!B(k))return!1;if(e.isCollapsed())return e=a.getCordsFromCellNode(k,d.grid),g.preventDefault(),Q(d,a,e.x,e.y,g.shiftKey?"backward":"forward"),!0}return!1},c.COMMAND_PRIORITY_HIGH));d.listenersToRemove.add(f.registerCommand(c.FOCUS_COMMAND,()=>a.isSelected(),c.COMMAND_PRIORITY_HIGH));
71
+ d.listenersToRemove.add(f.registerCommand(c.SELECTION_CHANGE_COMMAND,()=>{let g=c.$getSelection();var e=c.$getPreviousSelection();if(g&&c.$isRangeSelection(g)&&!g.isCollapsed()){var k=g.anchor.getNode(),m=g.focus.getNode();k=a.isParentOf(k);var v=a.isParentOf(m);m=k&&!v||v&&!k;k=k&&v&&!a.isSelected();if(m)return e=g.isBackward(),k=c.$createRangeSelection(),m=a.getKey(),k.anchor.set(g.anchor.key,g.anchor.offset,g.anchor.type),k.focus.set(m,e?0:a.getChildrenSize(),"element"),p=!0,c.$setSelection(k),
72
+ O(f,d),!0;if(k&&({grid:k}=d,g.getNodes().filter(B).length===k.rows*k.columns)){k=c.DEPRECATED_$createGridSelection();m=a.getKey();v=a.getFirstChildOrThrow().getFirstChild();let y=a.getLastChildOrThrow().getLastChild();if(null!=v&&null!=y)return k.set(m,v.getKey(),y.getKey()),c.$setSelection(k),d.updateTableGridSelection(k),!0}}if(g&&!g.is(e)&&(c.DEPRECATED_$isGridSelection(g)||c.DEPRECATED_$isGridSelection(e))&&d.gridSelection&&!d.gridSelection.is(e))return c.DEPRECATED_$isGridSelection(g)&&g.gridKey===
73
+ d.tableNodeKey?d.updateTableGridSelection(g):!c.DEPRECATED_$isGridSelection(g)&&c.DEPRECATED_$isGridSelection(e)&&e.gridKey===d.tableNodeKey&&d.updateTableGridSelection(null),!1;d.hasHijackedSelectionStyles&&!a.isSelected()?(ca(f,d),p=!1):!d.hasHijackedSelectionStyles&&a.isSelected()&&O(f,d);return!1},c.COMMAND_PRIORITY_CRITICAL));return d};exports.getCellFromTarget=K;exports.getTableSelectionFromTableElement=function(a){return a.__lexicalTableSelection}
@@ -17,6 +17,7 @@ export declare type TableCellHeaderState = typeof TableCellHeaderStates[keyof ty
17
17
  export declare type SerializedTableCellNode = Spread<{
18
18
  headerState: TableCellHeaderState;
19
19
  width?: number;
20
+ backgroundColor?: null | string;
20
21
  }, SerializedGridCellNode>;
21
22
  /** @noInheritDoc */
22
23
  export declare class TableCellNode extends DEPRECATED_GridCellNode {
@@ -24,6 +25,8 @@ export declare class TableCellNode extends DEPRECATED_GridCellNode {
24
25
  __headerState: TableCellHeaderState;
25
26
  /** @internal */
26
27
  __width?: number;
28
+ /** @internal */
29
+ __backgroundColor: null | string;
27
30
  static getType(): string;
28
31
  static clone(node: TableCellNode): TableCellNode;
29
32
  static importDOM(): DOMConversionMap | null;
@@ -37,6 +40,8 @@ export declare class TableCellNode extends DEPRECATED_GridCellNode {
37
40
  getHeaderStyles(): TableCellHeaderState;
38
41
  setWidth(width: number): number | null | undefined;
39
42
  getWidth(): number | undefined;
43
+ getBackgroundColor(): null | string;
44
+ setBackgroundColor(newBackgroundColor: null | string): void;
40
45
  toggleHeaderStyle(headerStateToToggle: TableCellHeaderState): TableCellNode;
41
46
  hasHeaderState(headerState: TableCellHeaderState): boolean;
42
47
  hasHeader(): boolean;
@@ -6,9 +6,12 @@
6
6
  *
7
7
  */
8
8
  import type { GridSelection, LexicalEditor, NodeKey, TextFormatType } from 'lexical';
9
+ export declare const BACKGROUND_COLOR = "background-color";
10
+ export declare const BACKGROUND_IMAGE = "background-image";
9
11
  export declare type Cell = {
10
12
  elem: HTMLElement;
11
13
  highlighted: boolean;
14
+ hasBackgroundColor: boolean;
12
15
  x: number;
13
16
  y: number;
14
17
  };
@@ -17,11 +17,11 @@ export declare function getTableSelectionFromTableElement(tableElement: HTMLTabl
17
17
  export declare function getCellFromTarget(node: Node): Cell | null;
18
18
  export declare function doesTargetContainText(node: Node): boolean;
19
19
  export declare function getTableGrid(tableElement: HTMLElement): Grid;
20
- export declare function $updateDOMForSelection(grid: Grid, selection: GridSelection | RangeSelection | null): Array<Cell>;
20
+ export declare function $updateDOMForSelection(editor: LexicalEditor, grid: Grid, selection: GridSelection | RangeSelection | null): Array<Cell>;
21
21
  export declare function $forEachGridCell(grid: Grid, cb: (cell: Cell, lexicalNode: LexicalNode, cords: {
22
22
  x: number;
23
23
  y: number;
24
24
  }) => void): void;
25
- export declare function $addHighlightStyleToTable(tableSelection: TableSelection): void;
26
- export declare function $removeHighlightStyleToTable(tableSelection: TableSelection): void;
25
+ export declare function $addHighlightStyleToTable(editor: LexicalEditor, tableSelection: TableSelection): void;
26
+ export declare function $removeHighlightStyleToTable(editor: LexicalEditor, tableSelection: TableSelection): void;
27
27
  export {};
package/package.json CHANGED
@@ -8,13 +8,13 @@
8
8
  "table"
9
9
  ],
10
10
  "license": "MIT",
11
- "version": "0.9.2",
11
+ "version": "0.10.0",
12
12
  "main": "LexicalTable.js",
13
13
  "peerDependencies": {
14
- "lexical": "0.9.2"
14
+ "lexical": "0.10.0"
15
15
  },
16
16
  "dependencies": {
17
- "@lexical/utils": "0.9.2"
17
+ "@lexical/utils": "0.10.0"
18
18
  },
19
19
  "repository": {
20
20
  "type": "git",