UNPKG

nice-ui

Version:

React design system, components, and utilities

29 lines (28 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = require("react"); const Img_1 = require("../block/Img"); const MarkdownBlock_1 = require("../util/MarkdownBlock"); const isFirstLevelBlockElement_1 = require("../util/isFirstLevelBlockElement"); const MarkdownFullWidthBlock_1 = require("../util/MarkdownFullWidthBlock"); const renderImage = (renderers, flat, idx, props) => { const node = flat.nodes[idx]; const parent = flat.nodes[node.parent]; let { url, title } = node; if (node.type === 'imageReference') { const definition = flat.nodes[flat.definitions[node.identifier]]; if (definition) { url = definition.url; title = definition.title; } } const isOnlyParagraphNode = parent.type === 'paragraph' && parent.children.length === 1; if (isOnlyParagraphNode) { const element = (React.createElement(MarkdownBlock_1.default, { idx: idx }, React.createElement(Img_1.default, { src: url, title: title, alt: node.alt || title }))); const doCenterAsTopLevelBlock = props.isFullWidth && (0, isFirstLevelBlockElement_1.default)(flat.nodes[idx], flat); return doCenterAsTopLevelBlock ? React.createElement(MarkdownFullWidthBlock_1.default, null, element) : element; } return React.createElement("img", { src: url, title: title, alt: node.alt || title, style: { maxWidth: '100%' } }); }; exports.default = renderImage;