lexical 0.27.3-nightly.20250317.0 → 0.27.3-nightly.20250318.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Lexical.dev.js CHANGED
@@ -10247,7 +10247,7 @@ class LexicalEditor {
10247
10247
  };
10248
10248
  }
10249
10249
  }
10250
- LexicalEditor.version = "0.27.3-nightly.20250317.0+dev.cjs";
10250
+ LexicalEditor.version = "0.27.3-nightly.20250318.0+dev.cjs";
10251
10251
 
10252
10252
  let keyCounter = 1;
10253
10253
  function resetRandomKey() {
@@ -12221,6 +12221,13 @@ function $extendCaretToRange(anchor) {
12221
12221
  return $getCaretRange(anchor, $getSiblingCaret($getRoot(), anchor.direction));
12222
12222
  }
12223
12223
 
12224
+ /**
12225
+ * Construct a collapsed CaretRange that starts and ends at anchor.
12226
+ */
12227
+ function $getCollapsedCaretRange(anchor) {
12228
+ return $getCaretRange(anchor, anchor);
12229
+ }
12230
+
12224
12231
  /**
12225
12232
  * Construct a CaretRange from anchor and focus carets pointing in the
12226
12233
  * same direction. In order to get the expected behavior,
@@ -12683,7 +12690,7 @@ function $removeTextFromCaretRange(initialRange, sliceMode = 'removeEmptySlices'
12683
12690
  const bestCandidate = [anchorCandidate, focusCandidate, ...anchorCandidates, ...focusCandidates].find($isCaretAttached);
12684
12691
  if (bestCandidate) {
12685
12692
  const anchor = $getCaretInDirection($normalizeCaret(bestCandidate), initialRange.direction);
12686
- return $getCaretRange(anchor, anchor);
12693
+ return $getCollapsedCaretRange(anchor);
12687
12694
  }
12688
12695
  {
12689
12696
  formatDevErrorMessage(`$removeTextFromCaretRange: selection was lost, could not find a new anchor given candidates with keys: ${JSON.stringify(anchorCandidates.map(n => n.origin.__key))}`);
@@ -12871,6 +12878,81 @@ function $getAdjacentSiblingOrParentSiblingCaret(startCaret, rootMode = 'root')
12871
12878
  return nextCaret && [nextCaret, depthDiff];
12872
12879
  }
12873
12880
 
12881
+ /**
12882
+ * Get the adjacent nodes to initialCaret in the given direction.
12883
+ *
12884
+ * @example
12885
+ * ```ts
12886
+ * expect($getAdjacentNodes($getChildCaret(parent, 'next'))).toEqual(parent.getChildren());
12887
+ * expect($getAdjacentNodes($getChildCaret(parent, 'previous'))).toEqual(parent.getChildren().reverse());
12888
+ * expect($getAdjacentNodes($getSiblingCaret(node, 'next'))).toEqual(node.getNextSiblings());
12889
+ * expect($getAdjacentNodes($getSiblingCaret(node, 'previous'))).toEqual(node.getPreviousSiblings().reverse());
12890
+ * ```
12891
+ *
12892
+ * @param initialCaret The caret to start at (the origin will not be included)
12893
+ * @returns An array of siblings.
12894
+ */
12895
+ function $getAdjacentNodes(initialCaret) {
12896
+ const siblings = [];
12897
+ for (let caret = initialCaret.getAdjacentCaret(); caret; caret = caret.getAdjacentCaret()) {
12898
+ siblings.push(caret.origin);
12899
+ }
12900
+ return siblings;
12901
+ }
12902
+ function $splitTextPointCaret(textPointCaret) {
12903
+ const {
12904
+ origin,
12905
+ offset,
12906
+ direction
12907
+ } = textPointCaret;
12908
+ if (offset === $getTextNodeOffset(origin, direction)) {
12909
+ return textPointCaret.getSiblingCaret();
12910
+ } else if (offset === $getTextNodeOffset(origin, flipDirection(direction))) {
12911
+ return $rewindSiblingCaret(textPointCaret.getSiblingCaret());
12912
+ }
12913
+ const [textNode] = origin.splitText(offset);
12914
+ if (!$isTextNode(textNode)) {
12915
+ formatDevErrorMessage(`$splitTextPointCaret: splitText must return at least one TextNode`);
12916
+ }
12917
+ return $getCaretInDirection($getSiblingCaret(textNode, 'next'), direction);
12918
+ }
12919
+ function $alwaysSplit(_node, _edge) {
12920
+ return true;
12921
+ }
12922
+
12923
+ /**
12924
+ * Split a node at a PointCaret and return a NodeCaret at that point, or null if the
12925
+ * node can't be split. This is non-recursive and will only perform at most one split.
12926
+ *
12927
+ * @returns The NodeCaret pointing to the location of the split (or null if a split is not possible)
12928
+ */
12929
+ function $splitAtPointCaretNext(pointCaret, {
12930
+ $copyElementNode = $copyNode,
12931
+ $splitTextPointCaretNext = $splitTextPointCaret,
12932
+ rootMode = 'shadowRoot',
12933
+ $shouldSplit = $alwaysSplit
12934
+ } = {}) {
12935
+ if ($isTextPointCaret(pointCaret)) {
12936
+ return $splitTextPointCaretNext(pointCaret);
12937
+ }
12938
+ const parentCaret = pointCaret.getParentCaret(rootMode);
12939
+ if (parentCaret) {
12940
+ const {
12941
+ origin
12942
+ } = parentCaret;
12943
+ if ($isChildCaret(pointCaret) && !(origin.canBeEmpty() && $shouldSplit(origin, 'first'))) {
12944
+ // No split necessary, the left side would be empty
12945
+ return $rewindSiblingCaret(parentCaret);
12946
+ }
12947
+ const siblings = $getAdjacentNodes(pointCaret);
12948
+ if (siblings.length > 0 || origin.canBeEmpty() && $shouldSplit(origin, 'last')) {
12949
+ // Split and insert the siblings into the new tree
12950
+ parentCaret.insert($copyElementNode(origin).splice(0, 0, siblings));
12951
+ }
12952
+ }
12953
+ return parentCaret;
12954
+ }
12955
+
12874
12956
  exports.$addUpdateTag = $addUpdateTag;
12875
12957
  exports.$applyNodeReplacement = $applyNodeReplacement;
12876
12958
  exports.$caretFromPoint = $caretFromPoint;
@@ -12897,6 +12979,7 @@ exports.$getCharacterOffsets = $getCharacterOffsets;
12897
12979
  exports.$getChildCaret = $getChildCaret;
12898
12980
  exports.$getChildCaretAtIndex = $getChildCaretAtIndex;
12899
12981
  exports.$getChildCaretOrSelf = $getChildCaretOrSelf;
12982
+ exports.$getCollapsedCaretRange = $getCollapsedCaretRange;
12900
12983
  exports.$getCommonAncestor = $getCommonAncestor;
12901
12984
  exports.$getCommonAncestorResultBranchOrder = $getCommonAncestorResultBranchOrder;
12902
12985
  exports.$getEditor = $getEditor;
@@ -12951,6 +13034,7 @@ exports.$setPointFromCaret = $setPointFromCaret;
12951
13034
  exports.$setSelection = $setSelection;
12952
13035
  exports.$setSelectionFromCaretRange = $setSelectionFromCaretRange;
12953
13036
  exports.$setState = $setState;
13037
+ exports.$splitAtPointCaretNext = $splitAtPointCaretNext;
12954
13038
  exports.$splitNode = $splitNode;
12955
13039
  exports.$updateRangeSelectionFromCaretRange = $updateRangeSelectionFromCaretRange;
12956
13040
  exports.ArtificialNode__DO_NOT_USE = ArtificialNode__DO_NOT_USE;
package/Lexical.dev.mjs CHANGED
@@ -10245,7 +10245,7 @@ class LexicalEditor {
10245
10245
  };
10246
10246
  }
10247
10247
  }
10248
- LexicalEditor.version = "0.27.3-nightly.20250317.0+dev.esm";
10248
+ LexicalEditor.version = "0.27.3-nightly.20250318.0+dev.esm";
10249
10249
 
10250
10250
  let keyCounter = 1;
10251
10251
  function resetRandomKey() {
@@ -12219,6 +12219,13 @@ function $extendCaretToRange(anchor) {
12219
12219
  return $getCaretRange(anchor, $getSiblingCaret($getRoot(), anchor.direction));
12220
12220
  }
12221
12221
 
12222
+ /**
12223
+ * Construct a collapsed CaretRange that starts and ends at anchor.
12224
+ */
12225
+ function $getCollapsedCaretRange(anchor) {
12226
+ return $getCaretRange(anchor, anchor);
12227
+ }
12228
+
12222
12229
  /**
12223
12230
  * Construct a CaretRange from anchor and focus carets pointing in the
12224
12231
  * same direction. In order to get the expected behavior,
@@ -12681,7 +12688,7 @@ function $removeTextFromCaretRange(initialRange, sliceMode = 'removeEmptySlices'
12681
12688
  const bestCandidate = [anchorCandidate, focusCandidate, ...anchorCandidates, ...focusCandidates].find($isCaretAttached);
12682
12689
  if (bestCandidate) {
12683
12690
  const anchor = $getCaretInDirection($normalizeCaret(bestCandidate), initialRange.direction);
12684
- return $getCaretRange(anchor, anchor);
12691
+ return $getCollapsedCaretRange(anchor);
12685
12692
  }
12686
12693
  {
12687
12694
  formatDevErrorMessage(`$removeTextFromCaretRange: selection was lost, could not find a new anchor given candidates with keys: ${JSON.stringify(anchorCandidates.map(n => n.origin.__key))}`);
@@ -12869,4 +12876,79 @@ function $getAdjacentSiblingOrParentSiblingCaret(startCaret, rootMode = 'root')
12869
12876
  return nextCaret && [nextCaret, depthDiff];
12870
12877
  }
12871
12878
 
12872
- export { $addUpdateTag, $applyNodeReplacement, $caretFromPoint, $caretRangeFromSelection, $cloneWithProperties, $comparePointCaretNext, $copyNode, $createLineBreakNode, $createNodeSelection, $createParagraphNode, $createPoint, $createRangeSelection, $createRangeSelectionFromDom, $createTabNode, $createTextNode, $extendCaretToRange, $getAdjacentChildCaret, $getAdjacentNode, $getAdjacentSiblingOrParentSiblingCaret, $getCaretInDirection, $getCaretRange, $getCaretRangeInDirection, $getCharacterOffsets, $getChildCaret, $getChildCaretAtIndex, $getChildCaretOrSelf, $getCommonAncestor, $getCommonAncestorResultBranchOrder, $getEditor, $getNearestNodeFromDOMNode, $getNearestRootOrShadowRoot, $getNodeByKey, $getNodeByKeyOrThrow, $getPreviousSelection, $getRoot, $getSelection, $getSiblingCaret, $getState, $getStateChange, $getTextContent, $getTextNodeOffset, $getTextPointCaret, $getTextPointCaretSlice, $getWritableNodeState, $hasAncestor, $hasUpdateTag, $insertNodes, $isBlockElementNode, $isChildCaret, $isDecoratorNode, $isElementNode, $isExtendableTextPointCaret, $isInlineElementOrDecoratorNode, $isLeafNode, $isLineBreakNode, $isNodeCaret, $isNodeSelection, $isParagraphNode, $isRangeSelection, $isRootNode, $isRootOrShadowRoot, $isSiblingCaret, $isTabNode, $isTextNode, $isTextPointCaret, $isTextPointCaretSlice, $isTokenOrSegmented, $nodesOfType, $normalizeCaret, $normalizeSelection as $normalizeSelection__EXPERIMENTAL, $onUpdate, $parseSerializedNode, $removeTextFromCaretRange, $rewindSiblingCaret, $selectAll, $setCompositionKey, $setPointFromCaret, $setSelection, $setSelectionFromCaretRange, $setState, $splitNode, $updateRangeSelectionFromCaretRange, ArtificialNode__DO_NOT_USE, BLUR_COMMAND, CAN_REDO_COMMAND, CAN_UNDO_COMMAND, CLEAR_EDITOR_COMMAND, CLEAR_HISTORY_COMMAND, CLICK_COMMAND, COMMAND_PRIORITY_CRITICAL, COMMAND_PRIORITY_EDITOR, COMMAND_PRIORITY_HIGH, COMMAND_PRIORITY_LOW, COMMAND_PRIORITY_NORMAL, CONTROLLED_TEXT_INSERTION_COMMAND, COPY_COMMAND, CUT_COMMAND, DELETE_CHARACTER_COMMAND, DELETE_LINE_COMMAND, DELETE_WORD_COMMAND, DRAGEND_COMMAND, DRAGOVER_COMMAND, DRAGSTART_COMMAND, DROP_COMMAND, DecoratorNode, ElementNode, FOCUS_COMMAND, FORMAT_ELEMENT_COMMAND, FORMAT_TEXT_COMMAND, INDENT_CONTENT_COMMAND, INSERT_LINE_BREAK_COMMAND, INSERT_PARAGRAPH_COMMAND, INSERT_TAB_COMMAND, INTERNAL_$isBlock, IS_ALL_FORMATTING, IS_BOLD, IS_CODE, IS_HIGHLIGHT, IS_ITALIC, IS_STRIKETHROUGH, IS_SUBSCRIPT, IS_SUPERSCRIPT, IS_UNDERLINE, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_LEFT_COMMAND, KEY_ARROW_RIGHT_COMMAND, KEY_ARROW_UP_COMMAND, KEY_BACKSPACE_COMMAND, KEY_DELETE_COMMAND, KEY_DOWN_COMMAND, KEY_ENTER_COMMAND, KEY_ESCAPE_COMMAND, KEY_MODIFIER_COMMAND, KEY_SPACE_COMMAND, KEY_TAB_COMMAND, LineBreakNode, MOVE_TO_END, MOVE_TO_START, NODE_STATE_KEY, OUTDENT_CONTENT_COMMAND, PASTE_COMMAND, ParagraphNode, REDO_COMMAND, REMOVE_TEXT_COMMAND, RootNode, SELECTION_CHANGE_COMMAND, SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, SELECT_ALL_COMMAND, TEXT_TYPE_TO_FORMAT, TabNode, TextNode, UNDO_COMMAND, createCommand, createEditor, createState, flipDirection, getDOMOwnerDocument, getDOMSelection, getDOMSelectionFromTarget, getDOMTextNode, getEditorPropertyFromDOMNode, getNearestEditorFromDOMNode, isBlockDomNode, isCurrentlyReadOnlyMode, isDOMDocumentNode, isDOMNode, isDOMTextNode, isDOMUnmanaged, isDocumentFragment, isHTMLAnchorElement, isHTMLElement, isInlineDomNode, isLexicalEditor, isSelectionCapturedInDecoratorInput, isSelectionWithinEditor, makeStepwiseIterator, resetRandomKey, setDOMUnmanaged, setNodeIndentFromDOM };
12879
+ /**
12880
+ * Get the adjacent nodes to initialCaret in the given direction.
12881
+ *
12882
+ * @example
12883
+ * ```ts
12884
+ * expect($getAdjacentNodes($getChildCaret(parent, 'next'))).toEqual(parent.getChildren());
12885
+ * expect($getAdjacentNodes($getChildCaret(parent, 'previous'))).toEqual(parent.getChildren().reverse());
12886
+ * expect($getAdjacentNodes($getSiblingCaret(node, 'next'))).toEqual(node.getNextSiblings());
12887
+ * expect($getAdjacentNodes($getSiblingCaret(node, 'previous'))).toEqual(node.getPreviousSiblings().reverse());
12888
+ * ```
12889
+ *
12890
+ * @param initialCaret The caret to start at (the origin will not be included)
12891
+ * @returns An array of siblings.
12892
+ */
12893
+ function $getAdjacentNodes(initialCaret) {
12894
+ const siblings = [];
12895
+ for (let caret = initialCaret.getAdjacentCaret(); caret; caret = caret.getAdjacentCaret()) {
12896
+ siblings.push(caret.origin);
12897
+ }
12898
+ return siblings;
12899
+ }
12900
+ function $splitTextPointCaret(textPointCaret) {
12901
+ const {
12902
+ origin,
12903
+ offset,
12904
+ direction
12905
+ } = textPointCaret;
12906
+ if (offset === $getTextNodeOffset(origin, direction)) {
12907
+ return textPointCaret.getSiblingCaret();
12908
+ } else if (offset === $getTextNodeOffset(origin, flipDirection(direction))) {
12909
+ return $rewindSiblingCaret(textPointCaret.getSiblingCaret());
12910
+ }
12911
+ const [textNode] = origin.splitText(offset);
12912
+ if (!$isTextNode(textNode)) {
12913
+ formatDevErrorMessage(`$splitTextPointCaret: splitText must return at least one TextNode`);
12914
+ }
12915
+ return $getCaretInDirection($getSiblingCaret(textNode, 'next'), direction);
12916
+ }
12917
+ function $alwaysSplit(_node, _edge) {
12918
+ return true;
12919
+ }
12920
+
12921
+ /**
12922
+ * Split a node at a PointCaret and return a NodeCaret at that point, or null if the
12923
+ * node can't be split. This is non-recursive and will only perform at most one split.
12924
+ *
12925
+ * @returns The NodeCaret pointing to the location of the split (or null if a split is not possible)
12926
+ */
12927
+ function $splitAtPointCaretNext(pointCaret, {
12928
+ $copyElementNode = $copyNode,
12929
+ $splitTextPointCaretNext = $splitTextPointCaret,
12930
+ rootMode = 'shadowRoot',
12931
+ $shouldSplit = $alwaysSplit
12932
+ } = {}) {
12933
+ if ($isTextPointCaret(pointCaret)) {
12934
+ return $splitTextPointCaretNext(pointCaret);
12935
+ }
12936
+ const parentCaret = pointCaret.getParentCaret(rootMode);
12937
+ if (parentCaret) {
12938
+ const {
12939
+ origin
12940
+ } = parentCaret;
12941
+ if ($isChildCaret(pointCaret) && !(origin.canBeEmpty() && $shouldSplit(origin, 'first'))) {
12942
+ // No split necessary, the left side would be empty
12943
+ return $rewindSiblingCaret(parentCaret);
12944
+ }
12945
+ const siblings = $getAdjacentNodes(pointCaret);
12946
+ if (siblings.length > 0 || origin.canBeEmpty() && $shouldSplit(origin, 'last')) {
12947
+ // Split and insert the siblings into the new tree
12948
+ parentCaret.insert($copyElementNode(origin).splice(0, 0, siblings));
12949
+ }
12950
+ }
12951
+ return parentCaret;
12952
+ }
12953
+
12954
+ export { $addUpdateTag, $applyNodeReplacement, $caretFromPoint, $caretRangeFromSelection, $cloneWithProperties, $comparePointCaretNext, $copyNode, $createLineBreakNode, $createNodeSelection, $createParagraphNode, $createPoint, $createRangeSelection, $createRangeSelectionFromDom, $createTabNode, $createTextNode, $extendCaretToRange, $getAdjacentChildCaret, $getAdjacentNode, $getAdjacentSiblingOrParentSiblingCaret, $getCaretInDirection, $getCaretRange, $getCaretRangeInDirection, $getCharacterOffsets, $getChildCaret, $getChildCaretAtIndex, $getChildCaretOrSelf, $getCollapsedCaretRange, $getCommonAncestor, $getCommonAncestorResultBranchOrder, $getEditor, $getNearestNodeFromDOMNode, $getNearestRootOrShadowRoot, $getNodeByKey, $getNodeByKeyOrThrow, $getPreviousSelection, $getRoot, $getSelection, $getSiblingCaret, $getState, $getStateChange, $getTextContent, $getTextNodeOffset, $getTextPointCaret, $getTextPointCaretSlice, $getWritableNodeState, $hasAncestor, $hasUpdateTag, $insertNodes, $isBlockElementNode, $isChildCaret, $isDecoratorNode, $isElementNode, $isExtendableTextPointCaret, $isInlineElementOrDecoratorNode, $isLeafNode, $isLineBreakNode, $isNodeCaret, $isNodeSelection, $isParagraphNode, $isRangeSelection, $isRootNode, $isRootOrShadowRoot, $isSiblingCaret, $isTabNode, $isTextNode, $isTextPointCaret, $isTextPointCaretSlice, $isTokenOrSegmented, $nodesOfType, $normalizeCaret, $normalizeSelection as $normalizeSelection__EXPERIMENTAL, $onUpdate, $parseSerializedNode, $removeTextFromCaretRange, $rewindSiblingCaret, $selectAll, $setCompositionKey, $setPointFromCaret, $setSelection, $setSelectionFromCaretRange, $setState, $splitAtPointCaretNext, $splitNode, $updateRangeSelectionFromCaretRange, ArtificialNode__DO_NOT_USE, BLUR_COMMAND, CAN_REDO_COMMAND, CAN_UNDO_COMMAND, CLEAR_EDITOR_COMMAND, CLEAR_HISTORY_COMMAND, CLICK_COMMAND, COMMAND_PRIORITY_CRITICAL, COMMAND_PRIORITY_EDITOR, COMMAND_PRIORITY_HIGH, COMMAND_PRIORITY_LOW, COMMAND_PRIORITY_NORMAL, CONTROLLED_TEXT_INSERTION_COMMAND, COPY_COMMAND, CUT_COMMAND, DELETE_CHARACTER_COMMAND, DELETE_LINE_COMMAND, DELETE_WORD_COMMAND, DRAGEND_COMMAND, DRAGOVER_COMMAND, DRAGSTART_COMMAND, DROP_COMMAND, DecoratorNode, ElementNode, FOCUS_COMMAND, FORMAT_ELEMENT_COMMAND, FORMAT_TEXT_COMMAND, INDENT_CONTENT_COMMAND, INSERT_LINE_BREAK_COMMAND, INSERT_PARAGRAPH_COMMAND, INSERT_TAB_COMMAND, INTERNAL_$isBlock, IS_ALL_FORMATTING, IS_BOLD, IS_CODE, IS_HIGHLIGHT, IS_ITALIC, IS_STRIKETHROUGH, IS_SUBSCRIPT, IS_SUPERSCRIPT, IS_UNDERLINE, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_LEFT_COMMAND, KEY_ARROW_RIGHT_COMMAND, KEY_ARROW_UP_COMMAND, KEY_BACKSPACE_COMMAND, KEY_DELETE_COMMAND, KEY_DOWN_COMMAND, KEY_ENTER_COMMAND, KEY_ESCAPE_COMMAND, KEY_MODIFIER_COMMAND, KEY_SPACE_COMMAND, KEY_TAB_COMMAND, LineBreakNode, MOVE_TO_END, MOVE_TO_START, NODE_STATE_KEY, OUTDENT_CONTENT_COMMAND, PASTE_COMMAND, ParagraphNode, REDO_COMMAND, REMOVE_TEXT_COMMAND, RootNode, SELECTION_CHANGE_COMMAND, SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, SELECT_ALL_COMMAND, TEXT_TYPE_TO_FORMAT, TabNode, TextNode, UNDO_COMMAND, createCommand, createEditor, createState, flipDirection, getDOMOwnerDocument, getDOMSelection, getDOMSelectionFromTarget, getDOMTextNode, getEditorPropertyFromDOMNode, getNearestEditorFromDOMNode, isBlockDomNode, isCurrentlyReadOnlyMode, isDOMDocumentNode, isDOMNode, isDOMTextNode, isDOMUnmanaged, isDocumentFragment, isHTMLAnchorElement, isHTMLElement, isInlineDomNode, isLexicalEditor, isSelectionCapturedInDecoratorInput, isSelectionWithinEditor, makeStepwiseIterator, resetRandomKey, setDOMUnmanaged, setNodeIndentFromDOM };
package/Lexical.js.flow CHANGED
@@ -1227,7 +1227,22 @@ declare export function $getCommonAncestor<
1227
1227
  declare export function $extendCaretToRange<D: CaretDirection>(
1228
1228
  anchor: PointCaret<D>,
1229
1229
  ): CaretRange<D>;
1230
-
1230
+ declare export function $getCollapsedCaretRange<D: CaretDirection>(
1231
+ anchor: PointCaret<D>,
1232
+ ): CaretRange<D>;
1231
1233
  declare export function $isExtendableTextPointCaret<D: CaretDirection>(
1232
1234
  caret: PointCaret<D>
1233
1235
  ): implies caret is TextPointCaret<TextNode, D>;
1236
+
1237
+ export interface SplitAtPointCaretNextOptions {
1238
+ $copyElementNode?: (node: ElementNode) => ElementNode;
1239
+ $splitTextPointCaretNext?: (
1240
+ caret: TextPointCaret<TextNode, 'next'>,
1241
+ ) => NodeCaret<'next'>;
1242
+ rootMode?: RootMode;
1243
+ $shouldSplit?: (node: ElementNode, edge: 'first' | 'last') => boolean;
1244
+ }
1245
+ declare export function $splitAtPointCaretNext(
1246
+ pointCaret: PointCaret<'next'>,
1247
+ options?: SplitAtPointCaretNextOptions,
1248
+ ): null | NodeCaret<'next'>;
package/Lexical.mjs CHANGED
@@ -35,6 +35,7 @@ export const $getCharacterOffsets = mod.$getCharacterOffsets;
35
35
  export const $getChildCaret = mod.$getChildCaret;
36
36
  export const $getChildCaretAtIndex = mod.$getChildCaretAtIndex;
37
37
  export const $getChildCaretOrSelf = mod.$getChildCaretOrSelf;
38
+ export const $getCollapsedCaretRange = mod.$getCollapsedCaretRange;
38
39
  export const $getCommonAncestor = mod.$getCommonAncestor;
39
40
  export const $getCommonAncestorResultBranchOrder = mod.$getCommonAncestorResultBranchOrder;
40
41
  export const $getEditor = mod.$getEditor;
@@ -89,6 +90,7 @@ export const $setPointFromCaret = mod.$setPointFromCaret;
89
90
  export const $setSelection = mod.$setSelection;
90
91
  export const $setSelectionFromCaretRange = mod.$setSelectionFromCaretRange;
91
92
  export const $setState = mod.$setState;
93
+ export const $splitAtPointCaretNext = mod.$splitAtPointCaretNext;
92
94
  export const $splitNode = mod.$splitNode;
93
95
  export const $updateRangeSelectionFromCaretRange = mod.$updateRangeSelectionFromCaretRange;
94
96
  export const ArtificialNode__DO_NOT_USE = mod.ArtificialNode__DO_NOT_USE;
package/Lexical.node.mjs CHANGED
@@ -33,6 +33,7 @@ export const $getCharacterOffsets = mod.$getCharacterOffsets;
33
33
  export const $getChildCaret = mod.$getChildCaret;
34
34
  export const $getChildCaretAtIndex = mod.$getChildCaretAtIndex;
35
35
  export const $getChildCaretOrSelf = mod.$getChildCaretOrSelf;
36
+ export const $getCollapsedCaretRange = mod.$getCollapsedCaretRange;
36
37
  export const $getCommonAncestor = mod.$getCommonAncestor;
37
38
  export const $getCommonAncestorResultBranchOrder = mod.$getCommonAncestorResultBranchOrder;
38
39
  export const $getEditor = mod.$getEditor;
@@ -87,6 +88,7 @@ export const $setPointFromCaret = mod.$setPointFromCaret;
87
88
  export const $setSelection = mod.$setSelection;
88
89
  export const $setSelectionFromCaretRange = mod.$setSelectionFromCaretRange;
89
90
  export const $setState = mod.$setState;
91
+ export const $splitAtPointCaretNext = mod.$splitAtPointCaretNext;
90
92
  export const $splitNode = mod.$splitNode;
91
93
  export const $updateRangeSelectionFromCaretRange = mod.$updateRangeSelectionFromCaretRange;
92
94
  export const ArtificialNode__DO_NOT_USE = mod.ArtificialNode__DO_NOT_USE;