UNPKG

notion-renderer

Version:
50 lines 2.63 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = __importDefault(require("react")); var TextBlock_1 = __importDefault(require("./TextBlock")); var BlankBlock_1 = __importDefault(require("./BlankBlock")); var BulletedList_1 = __importDefault(require("./BulletedList")); var CodeBlock_1 = __importDefault(require("./CodeBlock")); var HeadingBlock_1 = require("./HeadingBlock"); var ImageBlock_1 = __importDefault(require("./ImageBlock")); var NotionContentRenderer = function (props) { var recordMap = props.recordMap, id = props.id; var content = recordMap.block["" + id].value.content; var items = content.map(function (item) { var data = recordMap.block["" + item]; if (data) { return data.value; } }); var renderedItems = items.map(function (item, index) { if (!item) { return undefined; } switch (item.type) { case 'bulleted_list': return (react_1.default.createElement(BulletedList_1.default, { properties: item.properties, key: index })); case 'code': return react_1.default.createElement(CodeBlock_1.default, { properties: item.properties, key: index }); case 'divider': return react_1.default.createElement("hr", { key: index }); case 'header': return react_1.default.createElement(HeadingBlock_1.HeaderBlock, { properties: item.properties, key: index }); case 'sub_header': return (react_1.default.createElement(HeadingBlock_1.SubHeaderBlock, { properties: item.properties, key: index })); case 'sub_sub_header': return (react_1.default.createElement(HeadingBlock_1.SubSubHeaderBlock, { properties: item.properties, key: index })); case 'text': return react_1.default.createElement(TextBlock_1.default, { properties: item.properties, key: index }); case 'image': return (react_1.default.createElement(ImageBlock_1.default, { id: item.id, properties: item.properties, format: item.format, imageSource: props.imageSource, key: index })); default: return react_1.default.createElement(BlankBlock_1.default, { key: index }); } }); return react_1.default.createElement("div", null, renderedItems); }; exports.default = NotionContentRenderer; //# sourceMappingURL=NotionContentRenderer.js.map