@mkljczk/lexical-remark
Version:
This package contains Markdown helpers and functionality for Lexical using remark-parse.
14 lines (11 loc) • 475 B
text/typescript
import { $createHeadingNode } from '@lexical/rich-text';
import { Heading } from 'mdast';
import { Handler } from '../parser.js';
export const heading: Handler<Heading> = (node, parser) => {
const rank = Math.max(Math.min(6, node.depth || 1), 1) as 1 | 2 | 3 | 4 | 5 | 6;
const lexicalNode = $createHeadingNode(`h${rank}`);
parser.push(lexicalNode);
node.children.forEach((child) => parser.parse(child));
parser.pop(lexicalNode);
parser.append(lexicalNode);
};