notion-block-renderer
Version:
Notion Block to React Components.
18 lines (17 loc) • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const utils_1 = require("../utils");
const TextRenderer_1 = require("./TextRenderer");
const TableOfContentsRenderer = ({ blocks }) => {
const { prefix, blockPrefix } = (0, react_1.useContext)(utils_1.Context);
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: blocks.map((block) => {
if (block.type === "heading_1" ||
block.type === "heading_2" ||
block.type === "heading_3") {
return ((0, jsx_runtime_1.jsx)("div", { className: `${prefix}-${blockPrefix}-table_of_contents-item-${block.type}`, children: (0, jsx_runtime_1.jsx)("a", { href: `#${block.id}`, children: block[block.type].rich_text && ((0, jsx_runtime_1.jsx)(TextRenderer_1.default, { richTextArr: block[block.type].rich_text })) }) }, block.id));
}
}) }));
};
exports.default = TableOfContentsRenderer;