react-intlayer
Version:
Easily internationalize i18n your React applications with type-safe multilingual content management.
83 lines • 2.82 kB
JavaScript
"use client";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var MarkdownRenderer_exports = {};
__export(MarkdownRenderer_exports, {
MarkdownMetadataRenderer: () => MarkdownMetadataRenderer,
MarkdownRenderer: () => MarkdownRenderer
});
module.exports = __toCommonJS(MarkdownRenderer_exports);
var import_core = require("@intlayer/core");
var import_useEditedContentRenderer = require('../editor/useEditedContentRenderer.cjs');
var import_MarkdownProvider = require('./MarkdownProvider.cjs');
const MarkdownRenderer = ({
dictionaryKey,
keyPath,
children,
locale
}) => {
const { renderMarkdown } = (0, import_MarkdownProvider.useMarkdownContext)();
const editedContentContext = (0, import_useEditedContentRenderer.useEditedContentRenderer)({
dictionaryKey,
keyPath,
children
});
if (typeof editedContentContext !== "string") {
const transformedEditedContent = (0, import_core.getContent)(
editedContentContext,
{
dictionaryKey,
keyPath
},
locale
);
if (typeof transformedEditedContent !== "string") {
console.error(
`Incorrect Markdown content. Edited Markdown content type: ${typeof transformedEditedContent}. Expected string. Value ${JSON.stringify(transformedEditedContent)}`
);
return renderMarkdown(children);
}
return renderMarkdown(transformedEditedContent);
}
return renderMarkdown(editedContentContext);
};
const MarkdownMetadataRenderer = ({
dictionaryKey,
keyPath,
children,
metadataKeyPath
}) => {
const editedContentContext = (0, import_useEditedContentRenderer.useEditedContentRenderer)({
dictionaryKey,
keyPath,
children
});
const metadata = (0, import_core.getMarkdownMetadata)(editedContentContext);
const metadataEl = (0, import_core.getContentNodeByKeyPath)(
metadata,
metadataKeyPath
);
return metadataEl;
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
MarkdownMetadataRenderer,
MarkdownRenderer
});
//# sourceMappingURL=MarkdownRenderer.cjs.map
;