@lexical/table 0.10.0 → 0.11.1

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.
@@ -9,6 +9,15 @@
9
9
  var lexical = require('lexical');
10
10
  var utils = require('@lexical/utils');
11
11
 
12
+ /**
13
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ *
18
+ */
19
+ const PIXEL_VALUE_REG_EXP = /^(\d+(?:\.\d+)?)px$/;
20
+
12
21
  /**
13
22
  * Copyright (c) Meta Platforms, Inc. and affiliates.
14
23
  *
@@ -55,8 +64,10 @@ class TableCellNode extends lexical.DEPRECATED_GridCellNode {
55
64
  }
56
65
 
57
66
  static importJSON(serializedNode) {
58
- const cellNode = $createTableCellNode(serializedNode.headerState, serializedNode.colSpan, serializedNode.width || undefined);
59
- cellNode.__rowSpan = serializedNode.rowSpan;
67
+ const colSpan = serializedNode.colSpan || 1;
68
+ const rowSpan = serializedNode.rowSpan || 1;
69
+ const cellNode = $createTableCellNode(serializedNode.headerState, colSpan, serializedNode.width || undefined);
70
+ cellNode.__rowSpan = rowSpan;
60
71
  cellNode.__backgroundColor = serializedNode.backgroundColor || null;
61
72
  return cellNode;
62
73
  }
@@ -212,8 +223,13 @@ class TableCellNode extends lexical.DEPRECATED_GridCellNode {
212
223
  function convertTableCellNodeElement(domNode) {
213
224
  const domNode_ = domNode;
214
225
  const nodeName = domNode.nodeName.toLowerCase();
215
- const tableCellNode = $createTableCellNode(nodeName === 'th' ? TableCellHeaderStates.ROW : TableCellHeaderStates.NO_STATUS);
216
- tableCellNode.__colSpan = domNode_.colSpan;
226
+ let width = undefined;
227
+
228
+ if (PIXEL_VALUE_REG_EXP.test(domNode_.style.width)) {
229
+ width = parseFloat(domNode_.style.width);
230
+ }
231
+
232
+ const tableCellNode = $createTableCellNode(nodeName === 'th' ? TableCellHeaderStates.ROW : TableCellHeaderStates.NO_STATUS, domNode_.colSpan, width);
217
233
  tableCellNode.__rowSpan = domNode_.rowSpan;
218
234
  const backgroundColor = domNode_.style.backgroundColor;
219
235
 
@@ -329,8 +345,15 @@ class TableRowNode extends lexical.DEPRECATED_GridRowNode {
329
345
 
330
346
  }
331
347
  function convertTableRowElement(domNode) {
348
+ const domNode_ = domNode;
349
+ let height = undefined;
350
+
351
+ if (PIXEL_VALUE_REG_EXP.test(domNode_.style.height)) {
352
+ height = parseFloat(domNode_.style.height);
353
+ }
354
+
332
355
  return {
333
- node: $createTableRowNode()
356
+ node: $createTableRowNode(height)
334
357
  };
335
358
  }
336
359
  function $createTableRowNode(height) {
@@ -39,6 +39,9 @@ export const TableCellHeaderStates = {
39
39
  export type TableCellHeaderState = $Values<typeof TableCellHeaderStates>;
40
40
 
41
41
  declare export class TableCellNode extends deprecated_GridCellNode {
42
+ __headerState: TableCellHeaderState;
43
+ __width?: number;
44
+ __backgroundColor: null | string;
42
45
  static getType(): string;
43
46
  static clone(node: TableCellNode): TableCellNode;
44
47
  constructor(
@@ -47,7 +50,6 @@ declare export class TableCellNode extends deprecated_GridCellNode {
47
50
  width?: ?number,
48
51
  key?: NodeKey,
49
52
  ): void;
50
- __headerState: TableCellHeaderState;
51
53
  createDOM(config: EditorConfig): HTMLElement;
52
54
  updateDOM(prevNode: TableCellNode, dom: HTMLElement): boolean;
53
55
  insertNewAfter(
@@ -59,6 +61,8 @@ declare export class TableCellNode extends deprecated_GridCellNode {
59
61
  getHeaderStyles(): TableCellHeaderState;
60
62
  setWidth(width: number): ?number;
61
63
  getWidth(): ?number;
64
+ getBackgroundColor(): null | string;
65
+ setBackgroundColor(newBackgroundColor: null | string): void;
62
66
  toggleHeaderStyle(headerState: TableCellHeaderState): TableCellNode;
63
67
  hasHeader(): boolean;
64
68
  updateDOM(prevNode: TableCellNode): boolean;
@@ -4,70 +4,71 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
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;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,
7
+ 'use strict';var d=require("lexical"),q=require("@lexical/utils");let w=/^(\d+(?:\.\d+)?)px$/,x={BOTH:3,COLUMN:2,NO_STATUS:0,ROW:1};
8
+ class z extends d.DEPRECATED_GridCellNode{static getType(){return"tablecell"}static clone(a){let b=new z(a.__headerState,a.__colSpan,a.__width,a.__key);b.__rowSpan=a.__rowSpan;b.__backgroundColor=a.__backgroundColor;return b}static importDOM(){return{td:()=>({conversion:A,priority:0}),th:()=>({conversion:A,priority:0})}}static importJSON(a){let b=a.rowSpan||1,f=B(a.headerState,a.colSpan||1,a.width||void 0);f.__rowSpan=b;f.__backgroundColor=a.backgroundColor||null;return f}constructor(a=x.NO_STATUS,
9
+ b=1,f,h){super(b,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));
10
+ if(a){var 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,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(),
11
+ 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}getBackgroundColor(){return this.getLatest().__backgroundColor}setBackgroundColor(a){this.getWritable().__backgroundColor=a}toggleHeaderStyle(a){let b=
12
+ 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!==x.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 A(a){var b=a.nodeName.toLowerCase();let f=void 0;w.test(a.style.width)&&(f=parseFloat(a.style.width));b=B("th"===b?x.ROW:x.NO_STATUS,a.colSpan,f);b.__rowSpan=a.rowSpan;a=a.style.backgroundColor;""!==a&&(b.__backgroundColor=a);return{forChild:(h,c)=>{if(C(c)&&!d.$isElementNode(h)){c=d.$createParagraphNode();if(d.$isLineBreakNode(h)&&"\n"===h.getTextContent())return null;c.append(h);return c}return h},node:b}}function B(a,b=1,f){return d.$applyNodeReplacement(new z(a,b,f))}
14
+ function C(a){return a instanceof z}
15
+ class D extends d.DEPRECATED_GridRowNode{static getType(){return"tablerow"}static clone(a){return new D(a.__height,a.__key)}static importDOM(){return{tr:()=>({conversion:aa,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=
16
+ a;return this.__height}getHeight(){return this.getLatest().__height}updateDOM(a){return a.__height!==this.__height}canBeEmpty(){return!1}canIndent(){return!1}}function aa(a){let b=void 0;w.test(a.style.height)&&(b=parseFloat(a.style.height));return{node:E(b)}}function E(a){return d.$applyNodeReplacement(new D(a))}function F(a){return a instanceof D}
17
+ 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.");}let ba="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement;
18
+ 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=>
19
+ {this.editor.update(()=>{var f=!1;for(let h=0;h<b.length;h++){const c=b[h].target.nodeName;if("TABLE"===c||"TR"===c){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(){let a=this.editor;this.isHighlightingCells=
20
+ !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=d.$getNodeByKey(this.tableNodeKey);if(!J(b))throw Error("Expected TableNode.");b=a.getElementByKey(this.tableNodeKey);if(!b)throw Error("Expected to find TableElement in DOM");b=I(b);K(a,b,null);d.$setSelection(null);a.dispatchCommand(d.SELECTION_CHANGE_COMMAND,
20
21
  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)===
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.");
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.");
22
+ a&&a.gridKey===this.tableNodeKey){let b=this.editor;this.gridSelection=a;this.isHighlightingCells=!0;this.disableHighlightStyle();K(b,this.grid,this.gridSelection)}else null==a&&this.clearHighlight()}setFocusCellForSelection(a,b=!1){let f=this.editor;f.update(()=>{var h=d.$getNodeByKey(this.tableNodeKey);if(!J(h))throw Error("Expected TableNode.");if(!f.getElementByKey(this.tableNodeKey))throw Error("Expected to find TableElement in DOM");h=a.x;let c=a.y;this.focusCell=a;if(null!==this.anchorCell){let l=
23
+ 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!==c||b))this.isHighlightingCells=!0,this.disableHighlightStyle();else if(h===this.focusX&&c===this.focusY)return;this.focusX=h;this.focusY=c;this.isHighlightingCells&&(h=d.$getNearestNodeFromDOMNode(a.elem),null!=this.gridSelection&&null!=this.anchorCellNodeKey&&C(h)&&(h=h.getKey(),this.gridSelection=this.gridSelection.clone()||
24
+ d.DEPRECATED_$createGridSelection(),this.focusCellNodeKey=h,this.gridSelection.set(this.tableNodeKey,this.anchorCellNodeKey,this.focusCellNodeKey),d.$setSelection(this.gridSelection),f.dispatchCommand(d.SELECTION_CHANGE_COMMAND,void 0),K(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=d.$getNearestNodeFromDOMNode(a.elem);C(b)&&(b=b.getKey(),this.gridSelection=d.DEPRECATED_$createGridSelection(),
25
+ this.anchorCellNodeKey=b)})}formatCells(a){this.editor.update(()=>{let b=d.$getSelection();d.DEPRECATED_$isGridSelection(b)||G(11);let f=d.$createRangeSelection(),h=f.anchor,c=f.focus;b.getNodes().forEach(l=>{C(l)&&0!==l.getTextContentSize()&&(h.set(l.getKey(),0,"element"),c.set(l.getKey(),l.getChildrenSize(),"element"),f.formatText(a))});d.$setSelection(b);this.editor.dispatchCommand(d.SELECTION_CHANGE_COMMAND,void 0)})}clearText(){let a=this.editor;a.update(()=>{let b=d.$getNodeByKey(this.tableNodeKey);
26
+ if(!J(b))throw Error("Expected TableNode.");var f=d.$getSelection();d.DEPRECATED_$isGridSelection(f)||G(11);f=f.getNodes().filter(C);f.length===this.grid.columns*this.grid.rows?(b.selectPrevious(),b.remove(),d.$getRoot().selectStart()):(f.forEach(h=>{if(d.$isElementNode(h)){let c=d.$createParagraphNode(),l=d.$createTextNode();c.append(l);h.append(c);h.getChildren().forEach(p=>{p!==c&&p.remove()})}}),K(a,this.grid,null),d.$setSelection(null),a.dispatchCommand(d.SELECTION_CHANGE_COMMAND,void 0))})}}
27
+ 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}
28
+ function I(a){let b=[],f={cells:b,columns:0,rows:0};var h=a.firstChild;let c=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:c},h._cell=l,void 0===b[c]&&(b[c]=[]),b[c][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;c++;a=0}}f.columns=a+1;f.rows=c+1;return f}
29
+ function K(a,b,f){let h=[],c=new Set(f?f.getNodes():[]);M(b,(l,p)=>{let n=l.elem;c.has(p)?(l.highlighted=!0,N(a,l),h.push(l)):(l.highlighted=!1,O(a,l),n.getAttribute("style")||n.removeAttribute("style"))});return h}function M(a,b){({cells:a}=a);for(let f=0;f<a.length;f++){let h=a[f];for(let c=0;c<h.length;c++){let l=h[c],p=d.$getNearestNodeFromDOMNode(l.elem);null!==p&&b(l,p,{x:c,y:f})}}}function ca(a,b){b.disableHighlightStyle();M(b.grid,f=>{f.highlighted=!0;N(a,f)})}
30
+ function da(a,b){b.enableHighlightStyle();M(b.grid,f=>{let h=f.elem;f.highlighted=!1;O(a,f);h.getAttribute("style")||h.removeAttribute("style")})}
31
+ let Q=(a,b,f,h,c)=>{const l="forward"===c;switch(c){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;
32
+ default:return!1}},R=(a,b,f,h,c)=>{const l="forward"===c;switch(c){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}};
33
+ function S(a,b){if(d.$isRangeSelection(a)||d.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=>d.$isParagraphNode(f));d.$isParagraphNode(b)?b.selectEnd():a.selectEnd()}
34
+ function N(a,b){a=b.elem;b=d.$getNearestNodeFromDOMNode(a);if(!C(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")}
35
+ function O(a,b){a=b.elem;b=d.$getNearestNodeFromDOMNode(a);if(!C(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")}
36
+ class T extends d.DEPRECATED_GridNode{static getType(){return"table"}static clone(a){return new T(a.__key)}static importDOM(){return{table:()=>({conversion:ea,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"),
37
+ c=document.createElement("tbody");c.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 p=document.createElement("col");h.append(p)}f.replaceChildren(h,c);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 c=h[b];if(null==c)throw Error(`Row not found at y:${b}`);c=c.findIndex(({elem:l})=>d.$getNearestNodeFromDOMNode(l)===
38
+ a);if(-1!==c)return{x:c,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=d.$getNearestNodeFromDOMNode(a.elem);return C(a)?a:null}getCellNodeFromCordsOrThrow(a,b,f){a=this.getCellNodeFromCords(a,b,f);if(!a)throw Error("Node at cords not TableCellNode.");
39
+ return a}canSelectBefore(){return!0}canIndent(){return!1}}function ea(){return{node:V()}}function V(){return d.$applyNodeReplacement(new T)}function J(a){return a instanceof T}function W(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 X(a){a=q.$findMatchingParent(a,b=>J(b));if(J(a))return a;throw Error("Expected table cell to be inside of table.");}
40
+ function fa(a,b){let f=X(a),{x:h,y:c}=f.getCordsFromCellNode(a,b);return{above:f.getCellNodeFromCords(h,c-1,b),below:f.getCellNodeFromCords(h,c+1,b),left:f.getCellNodeFromCords(h-1,c,b),right:f.getCellNodeFromCords(h+1,c,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 ha=d.createCommand("INSERT_TABLE_COMMAND");exports.$createTableCellNode=B;exports.$createTableNode=V;
41
+ exports.$createTableNodeWithDimensions=function(a,b,f=!0){let h=V();for(let l=0;l<a;l++){let p=E();for(let n=0;n<b;n++){var c=x.NO_STATUS;"object"===typeof f?(0===l&&f.rows&&(c|=x.ROW),0===n&&f.columns&&(c|=x.COLUMN)):f&&(0===l&&(c|=x.ROW),0===n&&(c|=x.COLUMN));c=B(c);let r=d.$createParagraphNode();r.append(d.$createTextNode());c.append(r);p.append(c)}h.append(p)}return h};exports.$createTableRowNode=E;
42
+ exports.$deleteTableColumn=function(a,b){let f=a.getChildren();for(let c=0;c<f.length;c++){var h=f[c];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};
43
+ exports.$deleteTableColumn__EXPERIMENTAL=function(){var a=d.$getSelection();d.$isRangeSelection(a)||d.DEPRECATED_$isGridSelection(a)||G(118);var b=a.anchor.getNode();a=a.focus.getNode();let [f,,h]=d.DEPRECATED_$getNodeTriplet(b);[b]=d.DEPRECATED_$getNodeTriplet(a);let [c,l,p]=d.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(c[0].length===n-a+1)h.selectPrevious(),h.remove();else{var g=
44
+ c.length;for(let e=0;e<g;e++)for(let k=a;k<=n;k++){let {cell:m,startColumn:v}=c[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=c[r];b=a[u+b.__colSpan];void 0!==b?({cell:b}=b,Y(b)):({cell:b}=a[u-1],Y(b))}};
45
+ exports.$deleteTableRow__EXPERIMENTAL=function(){var a=d.$getSelection();d.$isRangeSelection(a)||d.DEPRECATED_$isGridSelection(a)||G(118);var b=a.anchor.getNode();a=a.focus.getNode();let [f,,h]=d.DEPRECATED_$getNodeTriplet(b);[a]=d.DEPRECATED_$getNodeTriplet(a);let [c,l,p]=d.DEPRECATED_$computeGridMap(h,f,a);({startRow:b}=l);var {startRow:n}=p;a=n+a.__rowSpan-1;if(c.length===a-b+1)h.remove();else{n=c[0].length;var r=c[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,
46
+ startRow:k,startColumn:m}=c[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);d.DEPRECATED_$isGridRowNode(t)||G(123);t.remove()}void 0!==r?({cell:b}=r[0],Y(b)):({cell:b}=c[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)};
47
+ exports.$getTableCellNodeFromLexicalNode=function(a){a=q.$findMatchingParent(a,b=>C(b));return C(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;
48
+ exports.$insertTableColumn=function(a,b,f=!0,h,c){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 p=u.getChildren();if(b>=p.length||0>b)throw Error("Table column target index out of range");p=p[b];C(p)||G(12);let {left:g,right:e}=fa(p,c);var n=x.NO_STATUS;if(g&&g.hasHeaderState(x.ROW)||e&&e.hasHeaderState(x.ROW))n|=x.ROW;n=B(n);n.append(d.$createParagraphNode());f?p.insertAfter(n):p.insertBefore(n)}}return a};
49
+ exports.$insertTableColumn__EXPERIMENTAL=function(a=!0){function b(){let t=B(x.NO_STATUS).append(d.$createParagraphNode());null===r&&(r=t);return t}var f=d.$getSelection();d.$isRangeSelection(f)||d.DEPRECATED_$isGridSelection(f)||G(118);f=f.focus.getNode();let [h,,c]=d.DEPRECATED_$getNodeTriplet(f),[l,p]=d.DEPRECATED_$computeGridMap(c,h,h);f=l.length;var {startColumn:n}=p;a=a?n+h.__colSpan-1:n-1;n=c.getFirstChild();d.DEPRECATED_$isGridRowNode(n)||G(120);let r=null;var u=n;a:for(n=0;n<f;n++){0!==n&&
50
+ (u=u.getNextSibling(),d.DEPRECATED_$isGridRowNode(u)||G(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:ia}=t[y];m=U;v=ia}else{u.append(b());continue a}m.insertAfter(b())}else g.setColSpan(g.__colSpan+1)}null!==r&&Y(r)};
51
+ exports.$insertTableRow=function(a,b,f=!0,h,c){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 n=b.getChildren(),r=n.length,u=E();for(let t=0;t<r;t++){var p=n[t];C(p)||G(12);let {above:g,below:e}=fa(p,c);p=x.NO_STATUS;let k=g&&g.getWidth()||e&&e.getWidth()||void 0;if(g&&g.hasHeaderState(x.COLUMN)||e&&e.hasHeaderState(x.COLUMN))p|=x.COLUMN;p=B(p,1,k);p.append(d.$createParagraphNode());u.append(p)}f?b.insertAfter(u):b.insertBefore(u)}else throw Error("Row before insertion index does not exist.");
51
52
  return a};
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()));
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,
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}
53
+ exports.$insertTableRow__EXPERIMENTAL=function(a=!0){var b=d.$getSelection();d.$isRangeSelection(b)||d.DEPRECATED_$isGridSelection(b)||G(118);b=b.focus.getNode();let [f,,h]=d.DEPRECATED_$getNodeTriplet(b),[c,l]=d.DEPRECATED_$computeGridMap(h,f,f);b=c[0].length;var {startRow:p}=l;if(a){a=p+f.__rowSpan-1;var n=c[a];p=E();for(var r=0;r<b;r++){let {cell:u,startRow:t}=n[r];t+u.__rowSpan-1<=a?p.append(B(x.NO_STATUS)):u.setRowSpan(u.__rowSpan+1)}b=h.getChildAtIndex(a);d.DEPRECATED_$isGridRowNode(b)||G(119);
54
+ b.insertAfter(p)}else{n=c[p];a=E();for(r=0;r<b;r++){let {cell:u,startRow:t}=n[r];t===p?a.append(B(x.NO_STATUS)):u.setRowSpan(u.__rowSpan+1)}b=h.getChildAtIndex(p);d.DEPRECATED_$isGridRowNode(b)||G(119);b.insertBefore(a)}};exports.$isTableCellNode=C;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};
55
+ exports.$unmergeCell=function(){var a=d.$getSelection();d.$isRangeSelection(a)||d.DEPRECATED_$isGridSelection(a)||G(118);a=a.anchor.getNode();let [b,f,h]=d.DEPRECATED_$getNodeTriplet(a);a=b.__colSpan;let c=b.__rowSpan;if(1<a){for(var l=1;l<a;l++)b.insertAfter(B(x.NO_STATUS));b.setColSpan(1)}if(1<c){let [r,u]=d.DEPRECATED_$computeGridMap(h,b,b),{startColumn:t,startRow:g}=u;for(l=1;l<c;l++){let e=g+l,k=r[e];var p=f.getNextSibling();d.DEPRECATED_$isGridRowNode(p)||G(125);var n=null;for(let m=0;m<t;m++){let v=
56
+ 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,B(x.NO_STATUS));else for(p=0;p<a;p++)n.insertAfter(B(x.NO_STATUS))}b.setRowSpan(1)}};exports.INSERT_TABLE_COMMAND=ha;exports.TableCellHeaderStates=x;exports.TableCellNode=z;exports.TableNode=T;exports.TableRowNode=D;exports.TableSelection=H;
57
+ exports.applyTableHandlers=function(a,b,f){let h=f.getRootElement();if(null===h)throw Error("No root element.");let c=new H(f,a.getKey());b.__lexicalTableSelection=c;let l=!1,p=!1;b.addEventListener("dblclick",g=>{let e=L(g.target);null!==e&&(g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),c.setAnchorCellForSelection(e),c.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(),
58
+ g.stopImmediatePropagation(),c.setAnchorCellForSelection(e))}},0)});b.addEventListener("mousemove",g=>{p&&(g.preventDefault(),g.stopPropagation(),g.stopImmediatePropagation());if(l){let e=L(g.target);if(null!==e){let k=e.x,m=e.y;l&&(c.anchorX!==k||c.anchorY!==m||c.isHighlightingCells)&&(g.preventDefault(),c.setFocusCellForSelection(e))}}});b.addEventListener("mouseleave",()=>{});let n=g=>{0===g.button&&f.update(()=>{var e=d.$getSelection();const k=g.target;if(k instanceof Node){if(d.DEPRECATED_$isGridSelection(e)&&
59
+ e.gridKey===c.tableNodeKey&&h.contains(k))return c.clearHighlight();e=d.$getNearestNodeFromDOMNode(k);null!==e&&q.$findMatchingParent(e,d.DEPRECATED_$isGridNode)&&(l=!0)}})};window.addEventListener("mousedown",n);c.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);c.listenersToRemove.add(()=>window.removeEventListener("mouseup",
60
+ r));b.addEventListener("mouseup",r);c.listenersToRemove.add(()=>b.removeEventListener("mouseup",r));c.listenersToRemove.add(f.registerCommand(d.KEY_ARROW_DOWN_COMMAND,g=>{var e=d.$getSelection();if(!S(e,a))return!1;if(d.$isRangeSelection(e)){if(e.isCollapsed()){var k=q.$findMatchingParent(e.anchor.getNode(),v=>C(v));if(!C(k))return!1;var m=a.getCordsFromCellNode(k,c.grid);e=q.$findMatchingParent(e.anchor.getNode(),v=>d.$isElementNode(v));if(null==e)throw Error("Expected BlockNode Parent");if((k=k.getLastChild())&&
61
+ e.isParentOf(k)||e===k||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(c.setAnchorCellForSelection(a.getCellFromCordsOrThrow(m.x,m.y,c.grid)),R(c,a,m.x,m.y,"down")):Q(c,a,m.x,m.y,"down")}}else if(d.DEPRECATED_$isGridSelection(e)&&g.shiftKey){m=e.focus.getNode();if(!C(m))return!1;m=a.getCordsFromCellNode(m,c.grid);g.preventDefault();g.stopImmediatePropagation();g.stopPropagation();return R(c,a,m.x,m.y,"down")}return!1},d.COMMAND_PRIORITY_HIGH));c.listenersToRemove.add(f.registerCommand(d.KEY_ARROW_UP_COMMAND,
62
+ g=>{var e=d.$getSelection();if(!S(e,a))return!1;if(d.$isRangeSelection(e)){if(e.isCollapsed()){var k=q.$findMatchingParent(e.anchor.getNode(),v=>C(v));if(!C(k))return!1;var m=a.getCordsFromCellNode(k,c.grid);e=q.$findMatchingParent(e.anchor.getNode(),v=>d.$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?(c.setAnchorCellForSelection(a.getCellFromCordsOrThrow(m.x,
63
+ m.y,c.grid)),R(c,a,m.x,m.y,"up")):Q(c,a,m.x,m.y,"up")}}else if(d.DEPRECATED_$isGridSelection(e)&&g.shiftKey){m=e.focus.getNode();if(!C(m))return!1;m=a.getCordsFromCellNode(m,c.grid);g.preventDefault();g.stopImmediatePropagation();g.stopPropagation();return R(c,a,m.x,m.y,"up")}return!1},d.COMMAND_PRIORITY_HIGH));c.listenersToRemove.add(f.registerCommand(d.KEY_ARROW_LEFT_COMMAND,g=>{var e=d.$getSelection();if(!S(e,a))return!1;if(d.$isRangeSelection(e)){if(e.isCollapsed()){var k=q.$findMatchingParent(e.anchor.getNode(),
64
+ m=>C(m));if(!C(k))return!1;k=a.getCordsFromCellNode(k,c.grid);if(null==q.$findMatchingParent(e.anchor.getNode(),m=>d.$isElementNode(m)))throw Error("Expected BlockNode Parent");if(0===e.anchor.offset||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(c.setAnchorCellForSelection(a.getCellFromCordsOrThrow(k.x,k.y,c.grid)),R(c,a,k.x,k.y,"backward")):Q(c,a,k.x,k.y,"backward")}}else if(d.DEPRECATED_$isGridSelection(e)&&g.shiftKey){e=e.focus.getNode();if(!C(e))return!1;
65
+ e=a.getCordsFromCellNode(e,c.grid);g.preventDefault();g.stopImmediatePropagation();g.stopPropagation();return R(c,a,e.x,e.y,"backward")}return!1},d.COMMAND_PRIORITY_HIGH));c.listenersToRemove.add(f.registerCommand(d.KEY_ARROW_RIGHT_COMMAND,g=>{var e=d.$getSelection();if(!S(e,a))return!1;if(d.$isRangeSelection(e)){if(e.isCollapsed()){var k=q.$findMatchingParent(e.anchor.getNode(),m=>C(m));if(!C(k))return!1;k=a.getCordsFromCellNode(k,c.grid);if(null==q.$findMatchingParent(e.anchor.getNode(),m=>d.$isElementNode(m)))throw Error("Expected BlockNode Parent");
66
+ if(e.anchor.offset===e.anchor.getNode().getTextContentSize()||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(c.setAnchorCellForSelection(a.getCellFromCordsOrThrow(k.x,k.y,c.grid)),R(c,a,k.x,k.y,"forward")):Q(c,a,k.x,k.y,"forward")}}else if(d.DEPRECATED_$isGridSelection(e)&&g.shiftKey){e=e.focus.getNode();if(!C(e))return!1;e=a.getCordsFromCellNode(e,c.grid);g.preventDefault();g.stopImmediatePropagation();g.stopPropagation();return R(c,a,e.x,e.y,"forward")}return!1},
67
+ d.COMMAND_PRIORITY_HIGH));let u=g=>()=>{var e=d.$getSelection();if(!S(e,a))return!1;if(d.DEPRECATED_$isGridSelection(e))return c.clearText(),!0;if(d.$isRangeSelection(e)){const v=q.$findMatchingParent(e.anchor.getNode(),y=>C(y));if(!C(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 c.clearText(),!0;k=(m=q.$findMatchingParent(e.anchor.getNode(),y=>d.$isElementNode(y)))&&q.$findMatchingParent(m,y=>d.$isElementNode(y)&&C(y.getParent()));
68
+ if(!d.$isElementNode(k)||!d.$isElementNode(m))return!1;if(g===d.DELETE_LINE_COMMAND&&null===k.getPreviousSibling())return!0;if((g===d.DELETE_CHARACTER_COMMAND||g===d.DELETE_WORD_COMMAND)&&e.isCollapsed()&&0===e.anchor.offset&&m!==k){e=m.getChildren();const y=d.$createParagraphNode();e.forEach(U=>y.append(U));m.replace(y);m.getWritable().__parent=v.getKey();return!0}}return!1};[d.DELETE_WORD_COMMAND,d.DELETE_LINE_COMMAND,d.DELETE_CHARACTER_COMMAND].forEach(g=>{c.listenersToRemove.add(f.registerCommand(g,
69
+ u(g),d.COMMAND_PRIORITY_CRITICAL))});let t=g=>{const e=d.$getSelection();if(!S(e,a))return!1;if(d.DEPRECATED_$isGridSelection(e))return g.preventDefault(),g.stopPropagation(),c.clearText(),!0;d.$isRangeSelection(e)&&(g=q.$findMatchingParent(e.anchor.getNode(),k=>C(k)),C(g));return!1};c.listenersToRemove.add(f.registerCommand(d.KEY_BACKSPACE_COMMAND,t,d.COMMAND_PRIORITY_CRITICAL));c.listenersToRemove.add(f.registerCommand(d.KEY_DELETE_COMMAND,t,d.COMMAND_PRIORITY_CRITICAL));c.listenersToRemove.add(f.registerCommand(d.FORMAT_TEXT_COMMAND,
70
+ g=>{let e=d.$getSelection();if(!S(e,a))return!1;if(d.DEPRECATED_$isGridSelection(e))return c.formatCells(g),!0;d.$isRangeSelection(e)&&(g=q.$findMatchingParent(e.anchor.getNode(),k=>C(k)),C(g));return!1},d.COMMAND_PRIORITY_CRITICAL));c.listenersToRemove.add(f.registerCommand(d.CONTROLLED_TEXT_INSERTION_COMMAND,()=>{var g=d.$getSelection();if(!S(g,a))return!1;d.DEPRECATED_$isGridSelection(g)?c.clearHighlight():d.$isRangeSelection(g)&&(g=q.$findMatchingParent(g.anchor.getNode(),e=>C(e)),C(g));return!1},
71
+ d.COMMAND_PRIORITY_CRITICAL));c.listenersToRemove.add(f.registerCommand(d.KEY_TAB_COMMAND,g=>{var e=d.$getSelection();if(!S(e,a))return!1;if(d.$isRangeSelection(e)){let k=q.$findMatchingParent(e.anchor.getNode(),m=>C(m));if(!C(k))return!1;if(e.isCollapsed())return e=a.getCordsFromCellNode(k,c.grid),g.preventDefault(),Q(c,a,e.x,e.y,g.shiftKey?"backward":"forward"),!0}return!1},d.COMMAND_PRIORITY_HIGH));c.listenersToRemove.add(f.registerCommand(d.FOCUS_COMMAND,()=>a.isSelected(),d.COMMAND_PRIORITY_HIGH));
72
+ c.listenersToRemove.add(f.registerCommand(d.SELECTION_CHANGE_COMMAND,()=>{let g=d.$getSelection();var e=d.$getPreviousSelection();if(g&&d.$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=d.$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,d.$setSelection(k),
73
+ ca(f,c),!0;if(k&&({grid:k}=c,g.getNodes().filter(C).length===k.rows*k.columns)){k=d.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()),d.$setSelection(k),c.updateTableGridSelection(k),!0}}if(g&&!g.is(e)&&(d.DEPRECATED_$isGridSelection(g)||d.DEPRECATED_$isGridSelection(e))&&c.gridSelection&&!c.gridSelection.is(e))return d.DEPRECATED_$isGridSelection(g)&&g.gridKey===
74
+ c.tableNodeKey?c.updateTableGridSelection(g):!d.DEPRECATED_$isGridSelection(g)&&d.DEPRECATED_$isGridSelection(e)&&e.gridKey===c.tableNodeKey&&c.updateTableGridSelection(null),!1;c.hasHijackedSelectionStyles&&!a.isSelected()?(da(f,c),p=!1):!c.hasHijackedSelectionStyles&&a.isSelected()&&ca(f,c);return!1},d.COMMAND_PRIORITY_CRITICAL));return c};exports.getCellFromTarget=L;exports.getTableSelectionFromTableElement=function(a){return a.__lexicalTableSelection}
package/constants.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ export declare const PIXEL_VALUE_REG_EXP: RegExp;
package/package.json CHANGED
@@ -8,13 +8,13 @@
8
8
  "table"
9
9
  ],
10
10
  "license": "MIT",
11
- "version": "0.10.0",
11
+ "version": "0.11.1",
12
12
  "main": "LexicalTable.js",
13
13
  "peerDependencies": {
14
- "lexical": "0.10.0"
14
+ "lexical": "0.11.1"
15
15
  },
16
16
  "dependencies": {
17
- "@lexical/utils": "0.10.0"
17
+ "@lexical/utils": "0.11.1"
18
18
  },
19
19
  "repository": {
20
20
  "type": "git",