json-joy
Version:
Collection of libraries for building collaborative editing apps.
44 lines (43 loc) • 2.03 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.RenderInline = void 0;
const tslib_1 = require("tslib");
// biome-ignore lint: React is used for JSX
const React = tslib_1.__importStar(require("react"));
const json_crdt_extensions_1 = require("../../../../json-crdt-extensions");
const Spoiler_1 = require("./Spoiler");
const Code_1 = require("./Code");
const Kbd_1 = require("./Kbd");
const Ins_1 = require("./Ins");
const Del_1 = require("./Del");
const RenderInline = (props) => {
const { inline, children } = props;
const attrs = inline.attr();
let element = children;
if (attrs[json_crdt_extensions_1.CommonSliceType.mark])
element = React.createElement("mark", null, element);
if (attrs[json_crdt_extensions_1.CommonSliceType.sup])
element = React.createElement("sup", null, element);
if (attrs[json_crdt_extensions_1.CommonSliceType.sub])
element = React.createElement("sub", null, element);
if (attrs[json_crdt_extensions_1.CommonSliceType.math])
element = React.createElement("code", null, element);
if (attrs[json_crdt_extensions_1.CommonSliceType.ins])
element = React.createElement(Ins_1.Ins, null, element);
if (attrs[json_crdt_extensions_1.CommonSliceType.del])
element = React.createElement(Del_1.Del, null, element);
if (attrs[json_crdt_extensions_1.CommonSliceType.code]) {
const attr = attrs[json_crdt_extensions_1.CommonSliceType.code][0];
if (attr)
element = React.createElement(Code_1.Code, { attr: attr }, element);
}
if (attrs[json_crdt_extensions_1.CommonSliceType.kbd]) {
const attr = attrs[json_crdt_extensions_1.CommonSliceType.kbd][0];
if (attr)
element = React.createElement(Kbd_1.Kbd, { attr: attr }, element);
}
if (attrs[json_crdt_extensions_1.CommonSliceType.spoiler])
element = React.createElement(Spoiler_1.Spoiler, null, element);
return element;
};
exports.RenderInline = RenderInline;
;