1 import {HeadingNode, QuoteNode} from '@lexical/rich-text';
2 import {CalloutNode} from './callout';
3 import {ElementNode, KlassConstructor, LexicalNode, LexicalNodeReplacement, ParagraphNode} from "lexical";
4 import {CustomParagraphNode} from "./custom-paragraph";
5 import {LinkNode} from "@lexical/link";
6 import {ImageNode} from "./image";
7 import {DetailsNode, SummaryNode} from "./details";
8 import {ListItemNode, ListNode} from "@lexical/list";
11 * Load the nodes for lexical.
13 export function getNodesForPageEditor(): (KlassConstructor<typeof LexicalNode> | LexicalNodeReplacement)[] {
15 CalloutNode, // Todo - Create custom
16 HeadingNode, // Todo - Create custom
17 QuoteNode, // Todo - Create custom
18 ListNode, // Todo - Create custom
21 DetailsNode, SummaryNode,
24 replace: ParagraphNode,
25 with: (node: ParagraphNode) => {
26 return new CustomParagraphNode();
33 export type LexicalNodeMatcher = (node: LexicalNode|null|undefined) => boolean;
34 export type LexicalElementNodeCreator = () => ElementNode;