@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.
- package/LexicalTable.dev.js +28 -5
- package/LexicalTable.js.flow +5 -1
- package/LexicalTable.prod.js +66 -65
- package/constants.d.ts +8 -0
- package/package.json +3 -3
package/LexicalTable.dev.js
CHANGED
@@ -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
|
59
|
-
|
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
|
-
|
216
|
-
|
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) {
|
package/LexicalTable.js.flow
CHANGED
@@ -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;
|
package/LexicalTable.prod.js
CHANGED
@@ -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
|
8
|
-
class
|
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));
|
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(),
|
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=
|
12
|
-
a)===a?b.__headerState-a:b.__headerState+a;return b}hasHeaderState(a){return(this.getHeaderStyles()&a)===a}hasHeader(){return this.getLatest().__headerState!==
|
13
|
-
function
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
{
|
19
|
-
|
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();
|
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!==
|
23
|
-
|
24
|
-
this.anchorCellNodeKey=b)})}formatCells(a){this.editor.update(()=>{let b=
|
25
|
-
if(!
|
26
|
-
function
|
27
|
-
function
|
28
|
-
function
|
29
|
-
function
|
30
|
-
let Q=(a,b,f,h,
|
31
|
-
default:return!1}},R=(a,b,f,h,
|
32
|
-
function S(a,b){if(
|
33
|
-
function
|
34
|
-
function
|
35
|
-
class T extends
|
36
|
-
|
37
|
-
a);if(-1!==
|
38
|
-
return a}canSelectBefore(){return!0}canIndent(){return!1}}function
|
39
|
-
function
|
40
|
-
exports.$createTableNodeWithDimensions=function(a,b,f=!0){let h=V();for(let l=0;l<a;l++){let p=
|
41
|
-
exports.$deleteTableColumn=function(a,b){let f=a.getChildren();for(let
|
42
|
-
exports.$deleteTableColumn__EXPERIMENTAL=function(){var a=
|
43
|
-
|
44
|
-
exports.$deleteTableRow__EXPERIMENTAL=function(){var a=
|
45
|
-
startRow:k,startColumn:m}=
|
46
|
-
exports.$getTableCellNodeFromLexicalNode=function(a){a=q.$findMatchingParent(a,b=>
|
47
|
-
exports.$insertTableColumn=function(a,b,f=!0,h,
|
48
|
-
exports.$insertTableColumn__EXPERIMENTAL=function(a=!0){function b(){let t=
|
49
|
-
(u=u.getNextSibling(),
|
50
|
-
exports.$insertTableRow=function(a,b,f=!0,h,
|
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=
|
53
|
-
b.insertAfter(p)}else{n=
|
54
|
-
exports.$unmergeCell=function(){var a=
|
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,
|
56
|
-
exports.applyTableHandlers=function(a,b,f){let h=f.getRootElement();if(null===h)throw Error("No root element.");let
|
57
|
-
g.stopImmediatePropagation(),
|
58
|
-
e.gridKey===
|
59
|
-
r));b.addEventListener("mouseup",r);
|
60
|
-
e.isParentOf(k)||e===k||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(
|
61
|
-
g=>{var e=
|
62
|
-
m.y,
|
63
|
-
m=>
|
64
|
-
e=a.getCordsFromCellNode(e,
|
65
|
-
if(e.anchor.offset===e.anchor.getNode().getTextContentSize()||g.shiftKey)return g.preventDefault(),g.stopImmediatePropagation(),g.stopPropagation(),g.shiftKey?(
|
66
|
-
|
67
|
-
if(!
|
68
|
-
u(g),
|
69
|
-
g=>{let e=
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
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
package/package.json
CHANGED
@@ -8,13 +8,13 @@
|
|
8
8
|
"table"
|
9
9
|
],
|
10
10
|
"license": "MIT",
|
11
|
-
"version": "0.
|
11
|
+
"version": "0.11.1",
|
12
12
|
"main": "LexicalTable.js",
|
13
13
|
"peerDependencies": {
|
14
|
-
"lexical": "0.
|
14
|
+
"lexical": "0.11.1"
|
15
15
|
},
|
16
16
|
"dependencies": {
|
17
|
-
"@lexical/utils": "0.
|
17
|
+
"@lexical/utils": "0.11.1"
|
18
18
|
},
|
19
19
|
"repository": {
|
20
20
|
"type": "git",
|