From 59b56f4d32810553d5c82be6521de3c69ceb2709 Mon Sep 17 00:00:00 2001 From: Simon Bct Date: Wed, 18 Dec 2024 17:05:20 +0100 Subject: [PATCH 1/2] Flow: add missing variables and functions - EditorThemeClasses - BaseSelection - NodeSelection - RangeSelection --- packages/lexical/flow/Lexical.js.flow | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/lexical/flow/Lexical.js.flow b/packages/lexical/flow/Lexical.js.flow index 1779c2f272a..9ac60384aa7 100644 --- a/packages/lexical/flow/Lexical.js.flow +++ b/packages/lexical/flow/Lexical.js.flow @@ -262,6 +262,7 @@ export type EditorThemeClasses = { ulDepth?: Array, ol?: EditorThemeClassName, olDepth?: Array, + checklist?: EditorThemeClassName, listitem?: EditorThemeClassName, listitemChecked?: EditorThemeClassName, listitemUnchecked?: EditorThemeClassName, @@ -451,13 +452,16 @@ declare export function $isBlockElementNode( ): node is ElementNode; export interface BaseSelection { - clone(): BaseSelection; dirty: boolean; + clone(): BaseSelection; extract(): Array; getNodes(): Array; + getStartEndPoints(): null | [PointType, PointType]; getTextContent(): string; insertRawText(text: string): void; is(selection: null | BaseSelection): boolean; + isBackward(): boolean; + isCollapsed(): boolean; insertText(text: string): void; insertNodes(nodes: Array): void; getCachedNodes(): null | Array; @@ -469,6 +473,8 @@ declare export class NodeSelection implements BaseSelection { dirty: boolean; constructor(objects: Set): void; is(selection: null | BaseSelection): boolean; + isBackward(): boolean; + isCollapsed(): boolean; add(key: NodeKey): void; delete(key: NodeKey): void; clear(): void; @@ -478,6 +484,7 @@ declare export class NodeSelection implements BaseSelection { insertRawText(): void; insertText(): void; getNodes(): Array; + getStartEndPoints(): null; getTextContent(): string; insertNodes(nodes: Array): void; getCachedNodes(): null | Array; @@ -493,6 +500,7 @@ declare export class RangeSelection implements BaseSelection { focus: PointType; dirty: boolean; format: number; + style: string; constructor(anchor: PointType, focus: PointType, format: number): void; is(selection: null | BaseSelection): boolean; isBackward(): boolean; @@ -530,6 +538,8 @@ declare export class RangeSelection implements BaseSelection { insertNodes(nodes: Array): void; getCachedNodes(): null | Array; setCachedNodes(nodes: null | Array): void; + forwardDeletion(anchor: PointType, anchorNode: ElementNode | TextNode, isBackward: boolean): boolean; + getStartEndPoints(): null | [PointType, PointType]; } export type TextPoint = TextPointType; type TextPointType = { From 436091253cebbd7e84d6df53da4e81de9dd32ea0 Mon Sep 17 00:00:00 2001 From: Simon Bct Date: Thu, 19 Dec 2024 15:50:24 +0100 Subject: [PATCH 2/2] Flow: Fix DOMConversionFn type --- packages/lexical/flow/Lexical.js.flow | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/lexical/flow/Lexical.js.flow b/packages/lexical/flow/Lexical.js.flow index 9ac60384aa7..f0c35d627cc 100644 --- a/packages/lexical/flow/Lexical.js.flow +++ b/packages/lexical/flow/Lexical.js.flow @@ -362,7 +362,7 @@ export type DOMConversion = { conversion: DOMConversionFn, priority: 0 | 1 | 2 | 3 | 4, }; -export type DOMConversionFn = (element: Node) => DOMConversionOutput; +export type DOMConversionFn = (element: Node) => DOMConversionOutput | null; export type DOMChildConversion = ( lexicalNode: LexicalNode, parentLexicalNode: ?LexicalNode | null,