editor-react-parser
Version:
A renderer for editorjs block data for react
43 lines (42 loc) • 1.65 kB
JavaScript
import React from "react";
export var ListStyle;
(function (ListStyle) {
ListStyle["ordered"] = "ordered";
ListStyle["unordered"] = "unordered";
})(ListStyle || (ListStyle = {}));
var defaultListConfig = {
classNames: {
unordered: "list-disc ml-7",
ordered: "list-decimal ml-7",
},
};
var ListBlock = function (_a) {
var item = _a.item, config = _a.config;
var currentClasses = Object.assign({}, defaultListConfig, config).classNames;
var listElements = item.data.items.map(function (text, index) {
if (typeof text === "string") {
return (React.createElement("li", { className: item.data.style == ListStyle.unordered
? currentClasses.unordered
: currentClasses.ordered, key: index + text }, text));
}
return (React.createElement("li", { className: item.data.style == ListStyle.unordered
? currentClasses.unordered
: currentClasses.ordered, key: index + text.content },
text.content,
text.items.length > 0 && (React.createElement(ListBlock, { item: {
data: {
style: item.data.style,
meta: item.data.meta,
items: text.items,
},
type: "list",
}, config: config }))));
});
if (item.data.style === ListStyle.ordered) {
return React.createElement("ol", { key: item.id }, listElements);
}
else {
return React.createElement("ul", { key: item.id }, listElements);
}
};
export default ListBlock;