UNPKG

@mdxeditor/editor

Version:

React component for rich text markdown editing

20 lines (19 loc) 722 B
import { $createListNode, $isListItemNode, $createListItemNode } from "@lexical/list"; const MdastListVisitor = { testNode: "list", visitNode: function({ mdastNode, lexicalParent, actions }) { const listType = mdastNode.children.some((e) => typeof e.checked === "boolean") ? "check" : mdastNode.ordered ? "number" : "bullet"; const lexicalNode = $createListNode(listType); if ($isListItemNode(lexicalParent)) { const dedicatedParent = $createListItemNode(); dedicatedParent.append(lexicalNode); lexicalParent.insertAfter(dedicatedParent); } else { lexicalParent.append(lexicalNode); } actions.visitChildren(mdastNode, lexicalNode); } }; export { MdastListVisitor };