UNPKG

nice-ui

Version:

React design system, components, and utilities

32 lines (31 loc) 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = require("react"); const isFirstLevelBlockElement_1 = require("../util/isFirstLevelBlockElement"); const Url_1 = require("../block/Url"); const Paragraph_1 = require("../block/Paragraph"); const renderImage_1 = require("./renderImage"); const renderParagraph = (renderers, ast, idx, props, state) => { const node = ast.nodes[idx]; if (!node.children) return null; const isSingleChild = node.children.length === 1; if (isSingleChild) { const child = ast.nodes[node.children[0]]; const isImage = child.type === 'image' || child.type === 'imageReference'; if (isImage) { return (0, renderImage_1.default)(renderers, ast, child.idx, props, state); } } const isFirstLevelBlock = (0, isFirstLevelBlockElement_1.default)(node, ast); const renderParagraph = () => { return React.createElement(Paragraph_1.default, { idx: idx }, renderers.children(renderers, ast, idx, props, state)); }; const isSingleInlineLinkParagraph = isSingleChild && ast.nodes[node.children[0]].type === 'inlineLink'; if (isFirstLevelBlock && isSingleInlineLinkParagraph) { const url = ast.nodes[node.children[0]].value; return React.createElement(Url_1.default, { idx: idx, url: url, renderVoid: renderParagraph }); } return renderParagraph(); }; exports.default = renderParagraph;