diff --git a/src/examples/basics.tsx b/src/examples/basics.tsx index e2f15ec5..faba8ed8 100644 --- a/src/examples/basics.tsx +++ b/src/examples/basics.tsx @@ -128,10 +128,31 @@ const listsMarkdown = ` * [x] Walk the dog * [ ] Watch movie * [ ] Have dinner with family + +... an all empty list + +* [ ] Walk the dog +* [ ] Watch movie +* [ ] Have dinner with family ` export function Lists() { - return + return ( + ( + + + + ) + }) + ]} + /> + ) } export function Table() { diff --git a/src/plugins/lists/MdastListItemVisitor.ts b/src/plugins/lists/MdastListItemVisitor.ts index 437ea67a..83f03c32 100644 --- a/src/plugins/lists/MdastListItemVisitor.ts +++ b/src/plugins/lists/MdastListItemVisitor.ts @@ -1,10 +1,11 @@ -import { $createListItemNode } from '@lexical/list' +import { $createListItemNode, ListNode } from '@lexical/list' import * as Mdast from 'mdast' import { MdastImportVisitor } from '../../importMarkdownToLexical' export const MdastListItemVisitor: MdastImportVisitor = { testNode: 'listItem', - visitNode({ mdastNode, actions }) { - actions.addAndStepInto($createListItemNode(mdastNode.checked ?? undefined)) + visitNode({ mdastNode, actions, lexicalParent }) { + const isChecked = (lexicalParent as ListNode).getListType() === 'check' ? mdastNode.checked ?? false : undefined + actions.addAndStepInto($createListItemNode(isChecked)) } }