Module: @lexical/table
Classes
Type Aliases
HTMLTableElementWithWithTableSelectionState
Ƭ HTMLTableElementWithWithTableSelectionState: HTMLTableElement & { __lexicalTableSelection?: TableObserver }
Defined in
packages/lexical-table/src/LexicalTableSelectionHelpers.ts:1237
InsertTableCommandPayload
Ƭ InsertTableCommandPayload: Readonly<{ columns: string ; includeHeaders?: InsertTableCommandPayloadHeaders ; rows: string }>
Defined in
packages/lexical-table/src/LexicalTableCommands.ts:20
InsertTableCommandPayloadHeaders
Ƭ InsertTableCommandPayloadHeaders: Readonly<{ columns: boolean ; rows: boolean }> | boolean
Defined in
packages/lexical-table/src/LexicalTableCommands.ts:13
SerializedTableCellNode
Ƭ SerializedTableCellNode: Spread<{ backgroundColor?: null | string ; colSpan?: number ; headerState: TableCellHeaderState ; rowSpan?: number ; verticalAlign?: string ; width?: number }, SerializedElementNode>
Defined in
packages/lexical-table/src/LexicalTableCellNode.ts:46
SerializedTableNode
Ƭ SerializedTableNode: Spread<{ colWidths?: readonly number[] ; frozenColumnCount?: number ; frozenRowCount?: number ; rowStriping?: boolean }, SerializedElementNode>
Defined in
packages/lexical-table/src/LexicalTableNode.ts:52
SerializedTableRowNode
Ƭ SerializedTableRowNode: Spread<{ height?: number }, SerializedElementNode>
Defined in
packages/lexical-table/src/LexicalTableRowNode.ts:26
TableDOMCell
Ƭ TableDOMCell: Object
Type declaration
| Name | Type |
|---|---|
elem | HTMLElement |
hasBackgroundColor | boolean |
highlighted | boolean |
x | number |
y | number |
Defined in
packages/lexical-table/src/LexicalTableObserver.ts:49
TableMapType
Ƭ TableMapType: TableMapValueType[][]
Defined in
packages/lexical-table/src/LexicalTableSelection.ts:50
TableMapValueType
Ƭ TableMapValueType: Object
Type declaration
| Name | Type |
|---|---|
cell | TableCellNode |
startColumn | number |
startRow | number |
Defined in
packages/lexical-table/src/LexicalTableSelection.ts:45
TableSelectionShape
Ƭ TableSelectionShape: Object
Type declaration
| Name | Type |
|---|---|
fromX | number |
fromY | number |
toX | number |
toY | number |
Defined in
packages/lexical-table/src/LexicalTableSelection.ts:38
Variables
INSERT_TABLE_COMMAND
• Const INSERT_TABLE_COMMAND: LexicalCommand<InsertTableCommandPayload>
Defined in
packages/lexical-table/src/LexicalTableCommands.ts:26
TableCellHeaderStates
• Const TableCellHeaderStates: Object
Type declaration
| Name | Type |
|---|---|
BOTH | number |
COLUMN | number |
NO_STATUS | number |
ROW | number |
Defined in
packages/lexical-table/src/LexicalTableCellNode.ts:36
Functions
$computeTableMap
▸ $computeTableMap(tableNode, cellA, cellB): [TableMapType, TableMapValueType, TableMapValueType]
Parameters
| Name | Type |
|---|---|
tableNode | TableNode |
cellA | TableCellNode |
cellB | TableCellNode |
Returns
[TableMapType, TableMapValueType, TableMapValueType]
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:1027
$computeTableMapSkipCellCheck
▸ $computeTableMapSkipCellCheck(tableNode, cellA, cellB): [tableMap: TableMapType, cellAValue: TableMapValueType | null, cellBValue: TableMapValueType | null]
Parameters
| Name | Type |
|---|---|
tableNode | TableNode |
cellA | null | TableCellNode |
cellB | null | TableCellNode |
Returns
[tableMap: TableMapType, cellAValue: TableMapValueType | null, cellBValue: TableMapValueType | null]
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:1042
$createTableCellNode
▸ $createTableCellNode(headerState?, colSpan?, width?): TableCellNode
Parameters
| Name | Type | Default value |
|---|---|---|
headerState | number | TableCellHeaderStates.NO_STATUS |
colSpan | number | 1 |
width? | number | undefined |
Returns
Defined in
packages/lexical-table/src/LexicalTableCellNode.ts:428
$createTableNode
▸ $createTableNode(): TableNode
Returns
Defined in
packages/lexical-table/src/LexicalTableNode.ts:648
$createTableNodeWithDimensions
▸ $createTableNodeWithDimensions(rowCount, columnCount, includeHeaders?): TableNode
Parameters
| Name | Type | Default value |
|---|---|---|
rowCount | number | undefined |
columnCount | number | undefined |
includeHeaders | InsertTableCommandPayloadHeaders | true |
Returns
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:40
$createTableRowNode
▸ $createTableRowNode(height?): TableRowNode
Parameters
| Name | Type |
|---|---|
height? | number |
Returns
Defined in
packages/lexical-table/src/LexicalTableRowNode.ts:141
$createTableSelection
▸ $createTableSelection(): TableSelection
Returns
Defined in
packages/lexical-table/src/LexicalTableSelection.ts:375
$createTableSelectionFrom
▸ $createTableSelectionFrom(tableNode, anchorCell, focusCell): TableSelection
Parameters
| Name | Type |
|---|---|
tableNode | TableNode |
anchorCell | TableCellNode |
focusCell | TableCellNode |
Returns
Defined in
packages/lexical-table/src/LexicalTableSelection.ts:386
$deleteTableColumn
▸ $deleteTableColumn(tableNode, targetIndex): TableNode
Parameters
| Name | Type |
|---|---|
tableNode | TableNode |
targetIndex | number |
Returns
Deprecated
This function does not support merged cells. Use $deleteTableColumnAtSelection instead.
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:587
$deleteTableColumnAtSelection
▸ $deleteTableColumnAtSelection(): void
Returns
void
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:717
$deleteTableColumn__EXPERIMENTAL
▸ $deleteTableColumn__EXPERIMENTAL(): void
Returns
void
Deprecated
renamed to $deleteTableColumnAtSelection
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:799
$deleteTableRowAtSelection
▸ $deleteTableRowAtSelection(): void
Returns
void
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:610
$deleteTableRow__EXPERIMENTAL
▸ $deleteTableRow__EXPERIMENTAL(): void
Returns
void
Deprecated
renamed to $deleteTableRowAtSelection
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:715
$findCellNode
▸ $findCellNode(node): null | TableCellNode
Parameters
| Name | Type |
|---|---|
node | LexicalNode |
Returns
null | TableCellNode
Defined in
packages/lexical-table/src/LexicalTableSelectionHelpers.ts:1822
$findTableNode
▸ $findTableNode(node): null | TableNode
Parameters
| Name | Type |
|---|---|
node | LexicalNode |
Returns
null | TableNode
Defined in
packages/lexical-table/src/LexicalTableSelectionHelpers.ts:1827
$getElementForTableNode
▸ $getElementForTableNode(editor, tableNode): TableDOMTable
Parameters
| Name | Type |
|---|---|
editor | LexicalEditor |
tableNode | TableNode |
Returns
TableDOMTable
Defined in
packages/lexical-table/src/LexicalTableNode.ts:598
$getNodeTriplet
▸ $getNodeTriplet(source): [TableCellNode, TableRowNode, TableNode]
Parameters
| Name | Type |
|---|---|
source | LexicalNode | PointType | TableCellNode |
Returns
[TableCellNode, TableRowNode, TableNode]
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:1115
$getTableAndElementByKey
▸ $getTableAndElementByKey(tableNodeKey, editor?): Object
Parameters
| Name | Type |
|---|---|
tableNodeKey | string |
editor | LexicalEditor |
Returns
Object
| Name | Type |
|---|---|
tableElement | HTMLTableElementWithWithTableSelectionState |
tableNode | TableNode |
Defined in
packages/lexical-table/src/LexicalTableObserver.ts:65
$getTableCellNodeFromLexicalNode
▸ $getTableCellNodeFromLexicalNode(startingNode): TableCellNode | null
Parameters
| Name | Type |
|---|---|
startingNode | LexicalNode |
Returns
TableCellNode | null
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:82
$getTableCellNodeRect
▸ $getTableCellNodeRect(tableCellNode): { colSpan: number ; columnIndex: number ; rowIndex: number ; rowSpan: number } | null
Parameters
| Name | Type |
|---|---|
tableCellNode | TableCellNode |
Returns
{ colSpan: number ; columnIndex: number ; rowIndex: number ; rowSpan: number } | null
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:1258
$getTableColumnIndexFromTableCellNode
▸ $getTableColumnIndexFromTableCellNode(tableCellNode): number
Parameters
| Name | Type |
|---|---|
tableCellNode | TableCellNode |
Returns
number
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:126
$getTableNodeFromLexicalNodeOrThrow
▸ $getTableNodeFromLexicalNodeOrThrow(startingNode): TableNode
Parameters
| Name | Type |
|---|---|
startingNode | LexicalNode |
Returns
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:106
$getTableRowIndexFromTableCellNode
▸ $getTableRowIndexFromTableCellNode(tableCellNode): number
Parameters
| Name | Type |
|---|---|
tableCellNode | TableCellNode |
Returns
number
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:118
$getTableRowNodeFromTableCellNodeOrThrow
▸ $getTableRowNodeFromTableCellNodeOrThrow(startingNode): TableRowNode
Parameters
| Name | Type |
|---|---|
startingNode | LexicalNode |
Returns
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:94
$insertTableColumn
▸ $insertTableColumn(tableNode, targetIndex, shouldInsertAfter?, columnCount, table): TableNode
Parameters
| Name | Type | Default value |
|---|---|---|
tableNode | TableNode | undefined |
targetIndex | number | undefined |
shouldInsertAfter | boolean | true |
columnCount | number | undefined |
table | TableDOMTable | undefined |
Returns
Deprecated
This function does not support merged cells. Use $insertTableColumnAtSelection or $insertTableColumnAtNode instead.
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:376
$insertTableColumnAtSelection
▸ $insertTableColumnAtSelection(insertAfter?): TableCellNode | null
Inserts a column before or after the current focus cell node, taking into account any spans. If successful, returns the first inserted cell node.
Parameters
| Name | Type | Default value |
|---|---|---|
insertAfter | boolean | true |
Returns
TableCellNode | null
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:440
$insertTableColumn__EXPERIMENTAL
▸ $insertTableColumn__EXPERIMENTAL(insertAfter?): TableCellNode | null
Parameters
| Name | Type | Default value |
|---|---|---|
insertAfter | boolean | true |
Returns
TableCellNode | null
Deprecated
renamed to $insertTableColumnAtSelection
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:478
$insertTableRow
▸ $insertTableRow(tableNode, targetIndex, shouldInsertAfter?, rowCount, table): TableNode
Parameters
| Name | Type | Default value |
|---|---|---|
tableNode | TableNode | undefined |
targetIndex | number | undefined |
shouldInsertAfter | boolean | true |
rowCount | number | undefined |
table | TableDOMTable | undefined |
Returns
Deprecated
This function does not support merged cells. Use $insertTableRowAtSelection or $insertTableRowAtNode instead.
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:172
$insertTableRowAtSelection
▸ $insertTableRowAtSelection(insertAfter?): TableRowNode | null
Inserts a table row before or after the current focus cell node, taking into account any spans. If successful, returns the inserted table row node.
Parameters
| Name | Type | Default value |
|---|---|---|
insertAfter | boolean | true |
Returns
TableRowNode | null
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:257
$insertTableRow__EXPERIMENTAL
▸ $insertTableRow__EXPERIMENTAL(insertAfter?): TableRowNode | null
Parameters
| Name | Type | Default value |
|---|---|---|
insertAfter | boolean | true |
Returns
TableRowNode | null
Deprecated
renamed to $insertTableRowAtSelection
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:295
$isScrollableTablesActive
▸ $isScrollableTablesActive(editor?): boolean
Parameters
| Name | Type |
|---|---|
editor | LexicalEditor |
Returns
boolean
Defined in
packages/lexical-table/src/LexicalTableNode.ts:151
$isTableCellNode
▸ $isTableCellNode(node): node is TableCellNode
Parameters
| Name | Type |
|---|---|
node | undefined | null | LexicalNode |
Returns
node is TableCellNode
Defined in
packages/lexical-table/src/LexicalTableCellNode.ts:436
$isTableNode
▸ $isTableNode(node): node is TableNode
Parameters
| Name | Type |
|---|---|
node | undefined | null | LexicalNode |
Returns
node is TableNode
Defined in
packages/lexical-table/src/LexicalTableNode.ts:652
$isTableRowNode
▸ $isTableRowNode(node): node is TableRowNode
Parameters
| Name | Type |
|---|---|
node | undefined | null | LexicalNode |
Returns
node is TableRowNode
Defined in
packages/lexical-table/src/LexicalTableRowNode.ts:145
$isTableSelection
▸ $isTableSelection(x): x is TableSelection
Parameters
| Name | Type |
|---|---|
x | unknown |
Returns
x is TableSelection
Defined in
packages/lexical-table/src/LexicalTableSelection.ts:371
$mergeCells
▸ $mergeCells(cellNodes): TableCellNode | null
Parameters
| Name | Type |
|---|---|
cellNodes | TableCellNode[] |
Returns
TableCellNode | null
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:819
$removeTableRowAtIndex
▸ $removeTableRowAtIndex(tableNode, indexToDelete): TableNode
Parameters
| Name | Type |
|---|---|
tableNode | TableNode |
indexToDelete | number |
Returns
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:154
$unmergeCell
▸ $unmergeCell(): void
Returns
void
Defined in
packages/lexical-table/src/LexicalTableUtils.ts:928
applyTableHandlers
▸ applyTableHandlers(tableNode, element, editor, hasTabHandler): TableObserver
Parameters
| Name | Type |
|---|---|
tableNode | TableNode |
element | HTMLElement |
editor | LexicalEditor |
hasTabHandler | boolean |
Returns
Defined in
packages/lexical-table/src/LexicalTableSelectionHelpers.ts:180
getDOMCellFromTarget
▸ getDOMCellFromTarget(node): TableDOMCell | null
Parameters
| Name | Type |
|---|---|
node | null | Node |
Returns
TableDOMCell | null
Defined in
packages/lexical-table/src/LexicalTableSelectionHelpers.ts:1267
getTableElement
▸ getTableElement<T>(tableNode, dom): HTMLTableElementWithWithTableSelectionState | T & null
Type parameters
| Name | Type |
|---|---|
T | extends null | HTMLElement |
Parameters
| Name | Type |
|---|---|
tableNode | TableNode |
dom | T |
Returns
HTMLTableElementWithWithTableSelectionState | T & null
Defined in
packages/lexical-table/src/LexicalTableSelectionHelpers.ts:124
getTableObserverFromTableElement
▸ getTableObserverFromTableElement(tableElement): TableObserver | null
Parameters
| Name | Type |
|---|---|
tableElement | HTMLTableElementWithWithTableSelectionState |
Returns
TableObserver | null
Defined in
packages/lexical-table/src/LexicalTableSelectionHelpers.ts:1261
registerTableCellUnmergeTransform
▸ registerTableCellUnmergeTransform(editor): () => void
Register a transform to ensure that all TableCellNode have a colSpan and rowSpan of 1. This should only be registered when you do not want to support merged cells.
Parameters
| Name | Type | Description |
|---|---|---|
editor | LexicalEditor | The editor |
Returns
fn
An unregister callback
▸ (): void
Returns
void
Defined in
packages/lexical-table/src/LexicalTablePluginHelpers.ts:176
registerTablePlugin
▸ registerTablePlugin(editor): () => void
Register the INSERT_TABLE_COMMAND listener and the table integrity transforms. The table selection observer should be registered separately after this with registerTableSelectionObserver.
Parameters
| Name | Type | Description |
|---|---|---|
editor | LexicalEditor | The editor |
Returns
fn
An unregister callback
▸ (): void
Returns
void
Defined in
packages/lexical-table/src/LexicalTablePluginHelpers.ts:305
registerTableSelectionObserver
▸ registerTableSelectionObserver(editor, hasTabHandler?): () => void
Parameters
| Name | Type | Default value |
|---|---|---|
editor | LexicalEditor | undefined |
hasTabHandler | boolean | true |
Returns
fn
▸ (): void
Returns
void
Defined in
packages/lexical-table/src/LexicalTablePluginHelpers.ts:231
setScrollableTablesActive
▸ setScrollableTablesActive(editor, active): void
Parameters
| Name | Type |
|---|---|
editor | LexicalEditor |
active | boolean |
Returns
void