@wordpress/block-editor
Version:
67 lines (61 loc) • 1.9 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Content = Content;
exports.valueToHTMLString = valueToHTMLString;
var _element = require("@wordpress/element");
var _blocks = require("@wordpress/blocks");
var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
var _ = _interopRequireDefault(require("./"));
var _utils = require("./utils");
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
/**
* Internal dependencies
*/
function valueToHTMLString(value, multiline) {
if (_.default.isEmpty(value)) {
const multilineTag = (0, _utils.getMultilineTag)(multiline);
return multilineTag ? `<${multilineTag}></${multilineTag}>` : '';
}
if (Array.isArray(value)) {
(0, _deprecated.default)('wp.blockEditor.RichText value prop as children type', {
since: '6.1',
version: '6.3',
alternative: 'value prop as string',
link: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/'
});
return _blocks.children.toHTML(value);
}
// To do: deprecate string type.
if (typeof value === 'string') {
return value;
}
// To do: create a toReactComponent method on RichTextData, which we
// might in the future also use for the editable tree. See
// https://github.com/WordPress/gutenberg/pull/41655.
return value.toHTMLString();
}
function Content({
value,
tagName: Tag,
multiline,
format,
...props
}) {
value = /*#__PURE__*/(0, _jsxRuntime.jsx)(_element.RawHTML, {
children: valueToHTMLString(value, multiline)
});
return Tag ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Tag, {
...props,
children: value
}) : value;
}
//# sourceMappingURL=content.js.map