@contember/react-richtext-renderer 2.1.0-alpha.36 → 2.1.0-alpha.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/index.cjs +17 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +17 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/src/RichTextRendererError.cjs +6 -0
- package/dist/development/src/RichTextRendererError.cjs.map +1 -0
- package/dist/development/src/RichTextRendererError.js +6 -0
- package/dist/development/src/RichTextRendererError.js.map +1 -0
- package/dist/development/src/components/RichText.cjs +40 -0
- package/dist/development/src/components/RichText.cjs.map +1 -0
- package/dist/development/src/components/RichText.js +40 -0
- package/dist/development/src/components/RichText.js.map +1 -0
- package/dist/development/src/components/RichTextBlocksRenderer.cjs +42 -0
- package/dist/development/src/components/RichTextBlocksRenderer.cjs.map +1 -0
- package/dist/development/src/components/RichTextBlocksRenderer.js +42 -0
- package/dist/development/src/components/RichTextBlocksRenderer.js.map +1 -0
- package/dist/development/src/components/RichTextFieldRenderer.cjs +36 -0
- package/dist/development/src/components/RichTextFieldRenderer.cjs.map +1 -0
- package/dist/development/src/components/RichTextFieldRenderer.js +36 -0
- package/dist/development/src/components/RichTextFieldRenderer.js.map +1 -0
- package/dist/development/src/components/RichTextRenderer.cjs +22 -0
- package/dist/development/src/components/RichTextRenderer.cjs.map +1 -0
- package/dist/development/src/components/RichTextRenderer.js +22 -0
- package/dist/development/src/components/RichTextRenderer.js.map +1 -0
- package/dist/development/src/hooks/useRichTextBlocksSource.cjs +64 -0
- package/dist/development/src/hooks/useRichTextBlocksSource.cjs.map +1 -0
- package/dist/development/src/hooks/useRichTextBlocksSource.js +64 -0
- package/dist/development/src/hooks/useRichTextBlocksSource.js.map +1 -0
- package/dist/development/src/hooks/useRichTextFieldSource.cjs +26 -0
- package/dist/development/src/hooks/useRichTextFieldSource.cjs.map +1 -0
- package/dist/development/src/hooks/useRichTextFieldSource.js +26 -0
- package/dist/development/src/hooks/useRichTextFieldSource.js.map +1 -0
- package/dist/development/src/internal/components/ElementRenderer.cjs +40 -0
- package/dist/development/src/internal/components/ElementRenderer.cjs.map +1 -0
- package/dist/development/src/internal/components/ElementRenderer.js +40 -0
- package/dist/development/src/internal/components/ElementRenderer.js.map +1 -0
- package/dist/development/src/internal/components/LeafRenderer.cjs +27 -0
- package/dist/development/src/internal/components/LeafRenderer.cjs.map +1 -0
- package/dist/development/src/internal/components/LeafRenderer.js +27 -0
- package/dist/development/src/internal/components/LeafRenderer.js.map +1 -0
- package/dist/development/src/internal/components/RenderElementFallback.cjs +164 -0
- package/dist/development/src/internal/components/RenderElementFallback.cjs.map +1 -0
- package/dist/development/src/internal/components/RenderElementFallback.js +164 -0
- package/dist/development/src/internal/components/RenderElementFallback.js.map +1 -0
- package/dist/development/src/internal/components/RenderLeafFallback.cjs +74 -0
- package/dist/development/src/internal/components/RenderLeafFallback.cjs.map +1 -0
- package/dist/development/src/internal/components/RenderLeafFallback.js +74 -0
- package/dist/development/src/internal/components/RenderLeafFallback.js.map +1 -0
- package/dist/development/src/internal/defaultDeserialize.cjs +14 -0
- package/dist/development/src/internal/defaultDeserialize.cjs.map +1 -0
- package/dist/development/src/internal/defaultDeserialize.js +14 -0
- package/dist/development/src/internal/defaultDeserialize.js.map +1 -0
- package/dist/development/src/internal/renderChildren.cjs +30 -0
- package/dist/development/src/internal/renderChildren.cjs.map +1 -0
- package/dist/development/src/internal/renderChildren.js +30 -0
- package/dist/development/src/internal/renderChildren.js.map +1 -0
- package/dist/development/src/internal/useReferenceMetadata.cjs +42 -0
- package/dist/development/src/internal/useReferenceMetadata.cjs.map +1 -0
- package/dist/development/src/internal/useReferenceMetadata.js +42 -0
- package/dist/development/src/internal/useReferenceMetadata.js.map +1 -0
- package/dist/production/index.cjs +17 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +17 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/src/RichTextRendererError.cjs +6 -0
- package/dist/production/src/RichTextRendererError.cjs.map +1 -0
- package/dist/production/src/RichTextRendererError.js +6 -0
- package/dist/production/src/RichTextRendererError.js.map +1 -0
- package/dist/production/src/components/RichText.cjs +32 -0
- package/dist/production/src/components/RichText.cjs.map +1 -0
- package/dist/production/src/components/RichText.js +32 -0
- package/dist/production/src/components/RichText.js.map +1 -0
- package/dist/production/src/components/RichTextBlocksRenderer.cjs +30 -0
- package/dist/production/src/components/RichTextBlocksRenderer.cjs.map +1 -0
- package/dist/production/src/components/RichTextBlocksRenderer.js +30 -0
- package/dist/production/src/components/RichTextBlocksRenderer.js.map +1 -0
- package/dist/production/src/components/RichTextFieldRenderer.cjs +28 -0
- package/dist/production/src/components/RichTextFieldRenderer.cjs.map +1 -0
- package/dist/production/src/components/RichTextFieldRenderer.js +28 -0
- package/dist/production/src/components/RichTextFieldRenderer.js.map +1 -0
- package/dist/production/src/components/RichTextRenderer.cjs +14 -0
- package/dist/production/src/components/RichTextRenderer.cjs.map +1 -0
- package/dist/production/src/components/RichTextRenderer.js +14 -0
- package/dist/production/src/components/RichTextRenderer.js.map +1 -0
- package/dist/production/src/hooks/useRichTextBlocksSource.cjs +64 -0
- package/dist/production/src/hooks/useRichTextBlocksSource.cjs.map +1 -0
- package/dist/production/src/hooks/useRichTextBlocksSource.js +64 -0
- package/dist/production/src/hooks/useRichTextBlocksSource.js.map +1 -0
- package/dist/production/src/hooks/useRichTextFieldSource.cjs +26 -0
- package/dist/production/src/hooks/useRichTextFieldSource.cjs.map +1 -0
- package/dist/production/src/hooks/useRichTextFieldSource.js +26 -0
- package/dist/production/src/hooks/useRichTextFieldSource.js.map +1 -0
- package/dist/production/src/internal/components/ElementRenderer.cjs +32 -0
- package/dist/production/src/internal/components/ElementRenderer.cjs.map +1 -0
- package/dist/production/src/internal/components/ElementRenderer.js +32 -0
- package/dist/production/src/internal/components/ElementRenderer.js.map +1 -0
- package/dist/production/src/internal/components/LeafRenderer.cjs +23 -0
- package/dist/production/src/internal/components/LeafRenderer.cjs.map +1 -0
- package/dist/production/src/internal/components/LeafRenderer.js +23 -0
- package/dist/production/src/internal/components/LeafRenderer.js.map +1 -0
- package/dist/production/src/internal/components/RenderElementFallback.cjs +85 -0
- package/dist/production/src/internal/components/RenderElementFallback.cjs.map +1 -0
- package/dist/production/src/internal/components/RenderElementFallback.js +85 -0
- package/dist/production/src/internal/components/RenderElementFallback.js.map +1 -0
- package/dist/production/src/internal/components/RenderLeafFallback.cjs +38 -0
- package/dist/production/src/internal/components/RenderLeafFallback.cjs.map +1 -0
- package/dist/production/src/internal/components/RenderLeafFallback.js +38 -0
- package/dist/production/src/internal/components/RenderLeafFallback.js.map +1 -0
- package/dist/production/src/internal/defaultDeserialize.cjs +14 -0
- package/dist/production/src/internal/defaultDeserialize.cjs.map +1 -0
- package/dist/production/src/internal/defaultDeserialize.js +14 -0
- package/dist/production/src/internal/defaultDeserialize.js.map +1 -0
- package/dist/production/src/internal/renderChildren.cjs +18 -0
- package/dist/production/src/internal/renderChildren.cjs.map +1 -0
- package/dist/production/src/internal/renderChildren.js +18 -0
- package/dist/production/src/internal/renderChildren.js.map +1 -0
- package/dist/production/src/internal/useReferenceMetadata.cjs +37 -0
- package/dist/production/src/internal/useReferenceMetadata.cjs.map +1 -0
- package/dist/production/src/internal/useReferenceMetadata.js +37 -0
- package/dist/production/src/internal/useReferenceMetadata.js.map +1 -0
- package/dist/types/RichTextRendererError.d.ts +3 -0
- package/dist/types/RichTextRendererError.d.ts.map +1 -0
- package/dist/types/components/RichText.d.ts +13 -0
- package/dist/types/components/RichText.d.ts.map +1 -0
- package/dist/types/components/RichTextBlocksRenderer.d.ts +10 -0
- package/dist/types/components/RichTextBlocksRenderer.d.ts.map +1 -0
- package/dist/types/components/RichTextFieldRenderer.d.ts +10 -0
- package/dist/types/components/RichTextFieldRenderer.d.ts.map +1 -0
- package/dist/types/components/RichTextRenderer.d.ts +12 -0
- package/dist/types/components/RichTextRenderer.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +5 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +3 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useRichTextBlocksSource.d.ts +3 -0
- package/dist/types/hooks/useRichTextBlocksSource.d.ts.map +1 -0
- package/dist/types/hooks/useRichTextFieldSource.d.ts +3 -0
- package/dist/types/hooks/useRichTextFieldSource.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/internal/components/ElementRenderer.d.ts +14 -0
- package/dist/types/internal/components/ElementRenderer.d.ts.map +1 -0
- package/dist/types/internal/components/LeafRenderer.d.ts +12 -0
- package/dist/types/internal/components/LeafRenderer.d.ts.map +1 -0
- package/dist/types/internal/components/RenderElementFallback.d.ts +14 -0
- package/dist/types/internal/components/RenderElementFallback.d.ts.map +1 -0
- package/dist/types/internal/components/RenderLeafFallback.d.ts +6 -0
- package/dist/types/internal/components/RenderLeafFallback.d.ts.map +1 -0
- package/dist/types/internal/defaultDeserialize.d.ts +5 -0
- package/dist/types/internal/defaultDeserialize.d.ts.map +1 -0
- package/dist/types/internal/renderChildren.d.ts +8 -0
- package/dist/types/internal/renderChildren.d.ts.map +1 -0
- package/dist/types/internal/useReferenceMetadata.d.ts +9 -0
- package/dist/types/internal/useReferenceMetadata.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/types/types/RenderChildren.d.ts +9 -0
- package/dist/types/types/RenderChildren.d.ts.map +1 -0
- package/dist/types/types/RichTextBlock.d.ts +8 -0
- package/dist/types/types/RichTextBlock.d.ts.map +1 -0
- package/dist/types/types/RichTextBlockSource.d.ts +9 -0
- package/dist/types/types/RichTextBlockSource.d.ts.map +1 -0
- package/dist/types/types/RichTextFieldSource.d.ts +6 -0
- package/dist/types/types/RichTextFieldSource.d.ts.map +1 -0
- package/dist/types/types/RichTextReference.d.ts +5 -0
- package/dist/types/types/RichTextReference.d.ts.map +1 -0
- package/dist/types/types/RichTextReferenceMetadata.d.ts +15 -0
- package/dist/types/types/RichTextReferenceMetadata.d.ts.map +1 -0
- package/dist/types/types/RichTextRenderingOptions.d.ts +14 -0
- package/dist/types/types/RichTextRenderingOptions.d.ts.map +1 -0
- package/dist/types/types/builtin/BuiltinElements.d.ts +48 -0
- package/dist/types/types/builtin/BuiltinElements.d.ts.map +1 -0
- package/dist/types/types/builtin/BuiltinLeaves.d.ts +21 -0
- package/dist/types/types/builtin/BuiltinLeaves.d.ts.map +1 -0
- package/dist/types/types/builtin/index.d.ts +3 -0
- package/dist/types/types/builtin/index.d.ts.map +1 -0
- package/dist/types/types/custom/ReferenceRenderer.d.ts +17 -0
- package/dist/types/types/custom/ReferenceRenderer.d.ts.map +1 -0
- package/dist/types/types/custom/RenderBlock.d.ts +7 -0
- package/dist/types/types/custom/RenderBlock.d.ts.map +1 -0
- package/dist/types/types/custom/RenderElement.d.ts +24 -0
- package/dist/types/types/custom/RenderElement.d.ts.map +1 -0
- package/dist/types/types/custom/RenderLeaf.d.ts +11 -0
- package/dist/types/types/custom/RenderLeaf.d.ts.map +1 -0
- package/dist/types/types/custom/index.d.ts +5 -0
- package/dist/types/types/custom/index.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +11 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/structure/RichTextChild.d.ts +5 -0
- package/dist/types/types/structure/RichTextChild.d.ts.map +1 -0
- package/dist/types/types/structure/RichTextElement.d.ts +8 -0
- package/dist/types/types/structure/RichTextElement.d.ts.map +1 -0
- package/dist/types/types/structure/RichTextLeaf.d.ts +4 -0
- package/dist/types/types/structure/RichTextLeaf.d.ts.map +1 -0
- package/dist/types/types/structure/RootEditorNode.d.ts +8 -0
- package/dist/types/types/structure/RootEditorNode.d.ts.map +1 -0
- package/dist/types/types/structure/index.d.ts +5 -0
- package/dist/types/types/structure/index.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const RichTextRendererError = require("./src/RichTextRendererError.cjs");
|
|
4
|
+
const RichText = require("./src/components/RichText.cjs");
|
|
5
|
+
const RichTextBlocksRenderer = require("./src/components/RichTextBlocksRenderer.cjs");
|
|
6
|
+
const RichTextFieldRenderer = require("./src/components/RichTextFieldRenderer.cjs");
|
|
7
|
+
const RichTextRenderer = require("./src/components/RichTextRenderer.cjs");
|
|
8
|
+
const useRichTextBlocksSource = require("./src/hooks/useRichTextBlocksSource.cjs");
|
|
9
|
+
const useRichTextFieldSource = require("./src/hooks/useRichTextFieldSource.cjs");
|
|
10
|
+
exports.RichTextRendererError = RichTextRendererError.RichTextRendererError;
|
|
11
|
+
exports.RichText = RichText.RichText;
|
|
12
|
+
exports.RichTextBlocksRenderer = RichTextBlocksRenderer.RichTextBlocksRenderer;
|
|
13
|
+
exports.RichTextFieldRenderer = RichTextFieldRenderer.RichTextFieldRenderer;
|
|
14
|
+
exports.RichTextRenderer = RichTextRenderer.RichTextRenderer;
|
|
15
|
+
exports.useRichTextBlocksSource = useRichTextBlocksSource.useRichTextBlocksSource;
|
|
16
|
+
exports.useRichTextFieldSource = useRichTextFieldSource.useRichTextFieldSource;
|
|
17
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { RichTextRendererError } from "./src/RichTextRendererError.js";
|
|
2
|
+
import { RichText } from "./src/components/RichText.js";
|
|
3
|
+
import { RichTextBlocksRenderer } from "./src/components/RichTextBlocksRenderer.js";
|
|
4
|
+
import { RichTextFieldRenderer } from "./src/components/RichTextFieldRenderer.js";
|
|
5
|
+
import { RichTextRenderer } from "./src/components/RichTextRenderer.js";
|
|
6
|
+
import { useRichTextBlocksSource } from "./src/hooks/useRichTextBlocksSource.js";
|
|
7
|
+
import { useRichTextFieldSource } from "./src/hooks/useRichTextFieldSource.js";
|
|
8
|
+
export {
|
|
9
|
+
RichText,
|
|
10
|
+
RichTextBlocksRenderer,
|
|
11
|
+
RichTextFieldRenderer,
|
|
12
|
+
RichTextRenderer,
|
|
13
|
+
RichTextRendererError,
|
|
14
|
+
useRichTextBlocksSource,
|
|
15
|
+
useRichTextFieldSource
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextRendererError.cjs","sources":["../../../../packages/react-richtext-renderer/src/RichTextRendererError.ts"],"sourcesContent":["export class RichTextRendererError extends Error {}\n"],"names":[],"mappings":";;AAAO,MAAM,8BAA8B,MAAM;AAAC;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextRendererError.js","sources":["../../../../packages/react-richtext-renderer/src/RichTextRendererError.ts"],"sourcesContent":["export class RichTextRendererError extends Error {}\n"],"names":[],"mappings":"AAAO,MAAM,8BAA8B,MAAM;AAAC;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const renderChildren = require("../internal/renderChildren.cjs");
|
|
6
|
+
const RichText = ({
|
|
7
|
+
blocks,
|
|
8
|
+
renderElement,
|
|
9
|
+
renderLeaf,
|
|
10
|
+
renderBlock = ({ children }) => /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children }, void 0, false, {
|
|
11
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichText.tsx",
|
|
12
|
+
lineNumber: 28,
|
|
13
|
+
columnNumber: 34
|
|
14
|
+
}, void 0),
|
|
15
|
+
attributeNamePrefix,
|
|
16
|
+
referenceRenderers,
|
|
17
|
+
undefinedReferenceHandler
|
|
18
|
+
}) => {
|
|
19
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children: blocks.map((block, i) => React.createElement(
|
|
20
|
+
renderBlock,
|
|
21
|
+
{
|
|
22
|
+
block,
|
|
23
|
+
key: block.id ?? i
|
|
24
|
+
},
|
|
25
|
+
renderChildren.renderChildren(block.content.children, {
|
|
26
|
+
referenceRenderers,
|
|
27
|
+
renderBlock,
|
|
28
|
+
renderLeaf,
|
|
29
|
+
renderElement,
|
|
30
|
+
attributeNamePrefix,
|
|
31
|
+
undefinedReferenceHandler
|
|
32
|
+
}, block)
|
|
33
|
+
)) }, void 0, false, {
|
|
34
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichText.tsx",
|
|
35
|
+
lineNumber: 34,
|
|
36
|
+
columnNumber: 3
|
|
37
|
+
}, void 0);
|
|
38
|
+
};
|
|
39
|
+
exports.RichText = RichText;
|
|
40
|
+
//# sourceMappingURL=RichText.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichText.cjs","sources":["../../../../../packages/react-richtext-renderer/src/components/RichText.tsx"],"sourcesContent":["import { createElement } from 'react'\nimport { renderChildren } from '../internal/renderChildren'\nimport type { RichTextBlock } from '../types'\nimport { RichTextElement, RichTextLeaf, RichTextRenderingOptions } from '../types'\n\nexport type RichTextProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> =\n\t& {\n\t\tblocks: RichTextBlock<CustomElements, CustomLeaves>[]\n\t}\n\t& RichTextRenderingOptions<CustomElements, CustomLeaves>\n\n/**\n * Accepts normalized decoded RichText blocks and renders them using the provided renderers.\n * To use decoders, use `RichTextBlocksRenderer` or `RichTextFieldRenderer` instead.\n *\n * @group Content rendering\n */\nexport const RichText = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\tblocks,\n\trenderElement,\n\trenderLeaf,\n\trenderBlock = ({ children }) => <>{children}</>,\n\tattributeNamePrefix,\n\treferenceRenderers,\n\tundefinedReferenceHandler,\n}: RichTextProps<CustomElements, CustomLeaves>) => {\n\treturn (\n\t\t<>\n\t\t\t{blocks.map((block, i) => (\n\t\t\t\tcreateElement(\n\t\t\t\t\trenderBlock,\n\t\t\t\t\t{\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\tkey: block.id ?? i,\n\t\t\t\t\t},\n\t\t\t\t\trenderChildren(block.content.children, {\n\t\t\t\t\t\treferenceRenderers,\n\t\t\t\t\t\trenderBlock,\n\t\t\t\t\t\trenderLeaf,\n\t\t\t\t\t\trenderElement,\n\t\t\t\t\t\tattributeNamePrefix,\n\t\t\t\t\t\tundefinedReferenceHandler,\n\t\t\t\t\t}, block),\n\t\t\t\t)\n\t\t\t))}\n\t\t</>\n\t)\n}\n"],"names":["this","jsxDEV","Fragment","createElement","renderChildren"],"mappings":";;;;;AAoBO,MAAM,WAAW,CAGtB;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc,CAAC,EAAE,SAAA,qEAAkB,SAAA,GAAH,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAAY;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AACD,MAAmD;AAClD,SACCC,8BAAAA,OAAAC,cAAAA,UAAA,EACE,UAAA,OAAO,IAAI,CAAC,OAAO,MACnBC,MAAAA;AAAAA,IACC;AAAA,IACA;AAAA,MACC;AAAA,MACA,KAAK,MAAM,MAAM;AAAA,IAAA;AAAA,IAElBC,8BAAe,MAAM,QAAQ,UAAU;AAAA,MACtC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GACE,KAAK;AAAA,EAAA,CAET,EAAA,GAjBF,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAJ,MAkBA;AAEF;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
|
|
2
|
+
import { createElement } from "react";
|
|
3
|
+
import { renderChildren } from "../internal/renderChildren.js";
|
|
4
|
+
const RichText = ({
|
|
5
|
+
blocks,
|
|
6
|
+
renderElement,
|
|
7
|
+
renderLeaf,
|
|
8
|
+
renderBlock = ({ children }) => /* @__PURE__ */ jsxDEV(Fragment, { children }, void 0, false, {
|
|
9
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichText.tsx",
|
|
10
|
+
lineNumber: 28,
|
|
11
|
+
columnNumber: 34
|
|
12
|
+
}, void 0),
|
|
13
|
+
attributeNamePrefix,
|
|
14
|
+
referenceRenderers,
|
|
15
|
+
undefinedReferenceHandler
|
|
16
|
+
}) => {
|
|
17
|
+
return /* @__PURE__ */ jsxDEV(Fragment, { children: blocks.map((block, i) => createElement(
|
|
18
|
+
renderBlock,
|
|
19
|
+
{
|
|
20
|
+
block,
|
|
21
|
+
key: block.id ?? i
|
|
22
|
+
},
|
|
23
|
+
renderChildren(block.content.children, {
|
|
24
|
+
referenceRenderers,
|
|
25
|
+
renderBlock,
|
|
26
|
+
renderLeaf,
|
|
27
|
+
renderElement,
|
|
28
|
+
attributeNamePrefix,
|
|
29
|
+
undefinedReferenceHandler
|
|
30
|
+
}, block)
|
|
31
|
+
)) }, void 0, false, {
|
|
32
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichText.tsx",
|
|
33
|
+
lineNumber: 34,
|
|
34
|
+
columnNumber: 3
|
|
35
|
+
}, void 0);
|
|
36
|
+
};
|
|
37
|
+
export {
|
|
38
|
+
RichText
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=RichText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichText.js","sources":["../../../../../packages/react-richtext-renderer/src/components/RichText.tsx"],"sourcesContent":["import { createElement } from 'react'\nimport { renderChildren } from '../internal/renderChildren'\nimport type { RichTextBlock } from '../types'\nimport { RichTextElement, RichTextLeaf, RichTextRenderingOptions } from '../types'\n\nexport type RichTextProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> =\n\t& {\n\t\tblocks: RichTextBlock<CustomElements, CustomLeaves>[]\n\t}\n\t& RichTextRenderingOptions<CustomElements, CustomLeaves>\n\n/**\n * Accepts normalized decoded RichText blocks and renders them using the provided renderers.\n * To use decoders, use `RichTextBlocksRenderer` or `RichTextFieldRenderer` instead.\n *\n * @group Content rendering\n */\nexport const RichText = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\tblocks,\n\trenderElement,\n\trenderLeaf,\n\trenderBlock = ({ children }) => <>{children}</>,\n\tattributeNamePrefix,\n\treferenceRenderers,\n\tundefinedReferenceHandler,\n}: RichTextProps<CustomElements, CustomLeaves>) => {\n\treturn (\n\t\t<>\n\t\t\t{blocks.map((block, i) => (\n\t\t\t\tcreateElement(\n\t\t\t\t\trenderBlock,\n\t\t\t\t\t{\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\tkey: block.id ?? i,\n\t\t\t\t\t},\n\t\t\t\t\trenderChildren(block.content.children, {\n\t\t\t\t\t\treferenceRenderers,\n\t\t\t\t\t\trenderBlock,\n\t\t\t\t\t\trenderLeaf,\n\t\t\t\t\t\trenderElement,\n\t\t\t\t\t\tattributeNamePrefix,\n\t\t\t\t\t\tundefinedReferenceHandler,\n\t\t\t\t\t}, block),\n\t\t\t\t)\n\t\t\t))}\n\t\t</>\n\t)\n}\n"],"names":["this"],"mappings":";;;AAoBO,MAAM,WAAW,CAGtB;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc,CAAC,EAAE,SAAA,yCAAkB,SAAA,GAAH,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAAY;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AACD,MAAmD;AAClD,SACC,uBAAA,UAAA,EACE,UAAA,OAAO,IAAI,CAAC,OAAO,MACnB;AAAA,IACC;AAAA,IACA;AAAA,MACC;AAAA,MACA,KAAK,MAAM,MAAM;AAAA,IAAA;AAAA,IAElB,eAAe,MAAM,QAAQ,UAAU;AAAA,MACtC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GACE,KAAK;AAAA,EAAA,CAET,EAAA,GAjBF,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAkBA;AAEF;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
+
const RichText = require("./RichText.cjs");
|
|
5
|
+
const useRichTextBlocksSource = require("../hooks/useRichTextBlocksSource.cjs");
|
|
6
|
+
const RichTextBlocksRenderer = ({
|
|
7
|
+
renderElement,
|
|
8
|
+
renderLeaf,
|
|
9
|
+
renderBlock = ({ children }) => /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children }, void 0, false, {
|
|
10
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichTextBlocksRenderer.tsx",
|
|
11
|
+
lineNumber: 22,
|
|
12
|
+
columnNumber: 34
|
|
13
|
+
}, void 0),
|
|
14
|
+
attributeNamePrefix,
|
|
15
|
+
referenceRenderers,
|
|
16
|
+
undefinedReferenceHandler,
|
|
17
|
+
...props
|
|
18
|
+
}) => {
|
|
19
|
+
const blocks = useRichTextBlocksSource.useRichTextBlocksSource(props);
|
|
20
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(
|
|
21
|
+
RichText.RichText,
|
|
22
|
+
{
|
|
23
|
+
blocks,
|
|
24
|
+
renderElement,
|
|
25
|
+
renderLeaf,
|
|
26
|
+
renderBlock,
|
|
27
|
+
referenceRenderers,
|
|
28
|
+
undefinedReferenceHandler,
|
|
29
|
+
attributeNamePrefix
|
|
30
|
+
},
|
|
31
|
+
void 0,
|
|
32
|
+
false,
|
|
33
|
+
{
|
|
34
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichTextBlocksRenderer.tsx",
|
|
35
|
+
lineNumber: 30,
|
|
36
|
+
columnNumber: 3
|
|
37
|
+
},
|
|
38
|
+
void 0
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
exports.RichTextBlocksRenderer = RichTextBlocksRenderer;
|
|
42
|
+
//# sourceMappingURL=RichTextBlocksRenderer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextBlocksRenderer.cjs","sources":["../../../../../packages/react-richtext-renderer/src/components/RichTextBlocksRenderer.tsx"],"sourcesContent":["import { RichTextBlockSource, RichTextElement, RichTextLeaf, RichTextRenderingOptions } from '../types'\nimport { RichText } from './RichText'\nimport { useRichTextBlocksSource } from '../hooks'\n\nexport type { RichTextBlockSource }\n\nexport type RichTextBlocksRendererProps<CustomElements extends RichTextElement = never, CustomLeaves extends RichTextLeaf = RichTextLeaf> =\n\t& RichTextBlockSource<CustomElements, CustomLeaves>\n\t& RichTextRenderingOptions<CustomElements, CustomLeaves>\n\n/**\n * Accepts raw RichText blocks and renders them using the provided renderers.\n *\n * @group Content rendering\n */\nexport const RichTextBlocksRenderer = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\trenderElement,\n\trenderLeaf,\n\trenderBlock = ({ children }) => <>{children}</>,\n\tattributeNamePrefix,\n\treferenceRenderers,\n\tundefinedReferenceHandler,\n\t...props\n}: RichTextBlocksRendererProps<CustomElements, CustomLeaves>) => {\n\tconst blocks = useRichTextBlocksSource<CustomElements, CustomLeaves>(props)\n\treturn (\n\t\t<RichText<CustomElements, CustomLeaves>\n\t\t\tblocks={blocks}\n\t\t\trenderElement={renderElement}\n\t\t\trenderLeaf={renderLeaf}\n\t\t\trenderBlock={renderBlock}\n\t\t\treferenceRenderers={referenceRenderers}\n\t\t\tundefinedReferenceHandler={undefinedReferenceHandler}\n\t\t\tattributeNamePrefix={attributeNamePrefix}\n\t\t/>\n\t)\n}\n"],"names":["this","useRichTextBlocksSource","jsxDEV","RichText"],"mappings":";;;;;AAeO,MAAM,yBAAyB,CAGpC;AAAA,EACD;AAAA,EACA;AAAA,EACA,cAAc,CAAC,EAAE,SAAA,qEAAkB,SAAA,GAAH,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAAY;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,MAAiE;AAChE,QAAM,SAASC,wBAAAA,wBAAsD,KAAK;AAC1E,SACCC,8BAAAA;AAAAA,IAACC,SAAAA;AAAAA,IAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAPD;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAH;AAAAA,EAAA;AAUF;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
|
|
2
|
+
import { RichText } from "./RichText.js";
|
|
3
|
+
import { useRichTextBlocksSource } from "../hooks/useRichTextBlocksSource.js";
|
|
4
|
+
const RichTextBlocksRenderer = ({
|
|
5
|
+
renderElement,
|
|
6
|
+
renderLeaf,
|
|
7
|
+
renderBlock = ({ children }) => /* @__PURE__ */ jsxDEV(Fragment, { children }, void 0, false, {
|
|
8
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichTextBlocksRenderer.tsx",
|
|
9
|
+
lineNumber: 22,
|
|
10
|
+
columnNumber: 34
|
|
11
|
+
}, void 0),
|
|
12
|
+
attributeNamePrefix,
|
|
13
|
+
referenceRenderers,
|
|
14
|
+
undefinedReferenceHandler,
|
|
15
|
+
...props
|
|
16
|
+
}) => {
|
|
17
|
+
const blocks = useRichTextBlocksSource(props);
|
|
18
|
+
return /* @__PURE__ */ jsxDEV(
|
|
19
|
+
RichText,
|
|
20
|
+
{
|
|
21
|
+
blocks,
|
|
22
|
+
renderElement,
|
|
23
|
+
renderLeaf,
|
|
24
|
+
renderBlock,
|
|
25
|
+
referenceRenderers,
|
|
26
|
+
undefinedReferenceHandler,
|
|
27
|
+
attributeNamePrefix
|
|
28
|
+
},
|
|
29
|
+
void 0,
|
|
30
|
+
false,
|
|
31
|
+
{
|
|
32
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichTextBlocksRenderer.tsx",
|
|
33
|
+
lineNumber: 30,
|
|
34
|
+
columnNumber: 3
|
|
35
|
+
},
|
|
36
|
+
void 0
|
|
37
|
+
);
|
|
38
|
+
};
|
|
39
|
+
export {
|
|
40
|
+
RichTextBlocksRenderer
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=RichTextBlocksRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextBlocksRenderer.js","sources":["../../../../../packages/react-richtext-renderer/src/components/RichTextBlocksRenderer.tsx"],"sourcesContent":["import { RichTextBlockSource, RichTextElement, RichTextLeaf, RichTextRenderingOptions } from '../types'\nimport { RichText } from './RichText'\nimport { useRichTextBlocksSource } from '../hooks'\n\nexport type { RichTextBlockSource }\n\nexport type RichTextBlocksRendererProps<CustomElements extends RichTextElement = never, CustomLeaves extends RichTextLeaf = RichTextLeaf> =\n\t& RichTextBlockSource<CustomElements, CustomLeaves>\n\t& RichTextRenderingOptions<CustomElements, CustomLeaves>\n\n/**\n * Accepts raw RichText blocks and renders them using the provided renderers.\n *\n * @group Content rendering\n */\nexport const RichTextBlocksRenderer = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\trenderElement,\n\trenderLeaf,\n\trenderBlock = ({ children }) => <>{children}</>,\n\tattributeNamePrefix,\n\treferenceRenderers,\n\tundefinedReferenceHandler,\n\t...props\n}: RichTextBlocksRendererProps<CustomElements, CustomLeaves>) => {\n\tconst blocks = useRichTextBlocksSource<CustomElements, CustomLeaves>(props)\n\treturn (\n\t\t<RichText<CustomElements, CustomLeaves>\n\t\t\tblocks={blocks}\n\t\t\trenderElement={renderElement}\n\t\t\trenderLeaf={renderLeaf}\n\t\t\trenderBlock={renderBlock}\n\t\t\treferenceRenderers={referenceRenderers}\n\t\t\tundefinedReferenceHandler={undefinedReferenceHandler}\n\t\t\tattributeNamePrefix={attributeNamePrefix}\n\t\t/>\n\t)\n}\n"],"names":["this"],"mappings":";;;AAeO,MAAM,yBAAyB,CAGpC;AAAA,EACD;AAAA,EACA;AAAA,EACA,cAAc,CAAC,EAAE,SAAA,yCAAkB,SAAA,GAAH,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAAY;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,MAAiE;AAChE,QAAM,SAAS,wBAAsD,KAAK;AAC1E,SACC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAPD;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAA;AAAAA,EAAA;AAUF;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
+
const RichText = require("./RichText.cjs");
|
|
5
|
+
const useRichTextFieldSource = require("../hooks/useRichTextFieldSource.cjs");
|
|
6
|
+
const RichTextFieldRenderer = ({
|
|
7
|
+
renderLeaf,
|
|
8
|
+
renderBlock,
|
|
9
|
+
renderElement,
|
|
10
|
+
attributeNamePrefix,
|
|
11
|
+
undefinedReferenceHandler,
|
|
12
|
+
...source
|
|
13
|
+
}) => {
|
|
14
|
+
const blocks = useRichTextFieldSource.useRichTextFieldSource(source);
|
|
15
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(
|
|
16
|
+
RichText.RichText,
|
|
17
|
+
{
|
|
18
|
+
blocks,
|
|
19
|
+
renderElement,
|
|
20
|
+
renderLeaf,
|
|
21
|
+
renderBlock,
|
|
22
|
+
attributeNamePrefix,
|
|
23
|
+
undefinedReferenceHandler
|
|
24
|
+
},
|
|
25
|
+
void 0,
|
|
26
|
+
false,
|
|
27
|
+
{
|
|
28
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichTextFieldRenderer.tsx",
|
|
29
|
+
lineNumber: 33,
|
|
30
|
+
columnNumber: 3
|
|
31
|
+
},
|
|
32
|
+
void 0
|
|
33
|
+
);
|
|
34
|
+
};
|
|
35
|
+
exports.RichTextFieldRenderer = RichTextFieldRenderer;
|
|
36
|
+
//# sourceMappingURL=RichTextFieldRenderer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextFieldRenderer.cjs","sources":["../../../../../packages/react-richtext-renderer/src/components/RichTextFieldRenderer.tsx"],"sourcesContent":["import { RichText } from './RichText'\nimport { RichTextElement, RichTextFieldSource, RichTextLeaf, RichTextRenderingOptions } from '../types'\nimport { useRichTextFieldSource } from '../hooks'\n\nexport type { RichTextFieldSource }\n\nexport type RichTextFieldRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> =\n\t& RichTextFieldSource<CustomElements, CustomLeaves>\n\t& RichTextRenderingOptions<CustomElements, CustomLeaves>\n\n/**\n * Accepts raw RichText field source and renders them using the provided renderers.\n *\n * @group Content rendering\n */\nexport const RichTextFieldRenderer = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\trenderLeaf,\n\trenderBlock,\n\trenderElement,\n\tattributeNamePrefix,\n\tundefinedReferenceHandler,\n\t...source\n}: RichTextFieldRendererProps<CustomElements, CustomLeaves>) => {\n\tconst blocks = useRichTextFieldSource(source)\n\n\treturn (\n\t\t<RichText<CustomElements, CustomLeaves>\n\t\t\tblocks={blocks}\n\t\t\trenderElement={renderElement}\n\t\t\trenderLeaf={renderLeaf}\n\t\t\trenderBlock={renderBlock}\n\t\t\tattributeNamePrefix={attributeNamePrefix}\n\t\t\tundefinedReferenceHandler={undefinedReferenceHandler}\n\t\t/>\n\t)\n}\n"],"names":["useRichTextFieldSource","jsxDEV","RichText","this"],"mappings":";;;;;AAkBO,MAAM,wBAAwB,CAGnC;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,MAAgE;AAC/D,QAAM,SAASA,uBAAAA,uBAAuB,MAAM;AAE5C,SACCC,8BAAAA;AAAAA,IAACC,SAAAA;AAAAA,IAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAND;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAC;AAAAA,EAAA;AASF;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
2
|
+
import { RichText } from "./RichText.js";
|
|
3
|
+
import { useRichTextFieldSource } from "../hooks/useRichTextFieldSource.js";
|
|
4
|
+
const RichTextFieldRenderer = ({
|
|
5
|
+
renderLeaf,
|
|
6
|
+
renderBlock,
|
|
7
|
+
renderElement,
|
|
8
|
+
attributeNamePrefix,
|
|
9
|
+
undefinedReferenceHandler,
|
|
10
|
+
...source
|
|
11
|
+
}) => {
|
|
12
|
+
const blocks = useRichTextFieldSource(source);
|
|
13
|
+
return /* @__PURE__ */ jsxDEV(
|
|
14
|
+
RichText,
|
|
15
|
+
{
|
|
16
|
+
blocks,
|
|
17
|
+
renderElement,
|
|
18
|
+
renderLeaf,
|
|
19
|
+
renderBlock,
|
|
20
|
+
attributeNamePrefix,
|
|
21
|
+
undefinedReferenceHandler
|
|
22
|
+
},
|
|
23
|
+
void 0,
|
|
24
|
+
false,
|
|
25
|
+
{
|
|
26
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichTextFieldRenderer.tsx",
|
|
27
|
+
lineNumber: 33,
|
|
28
|
+
columnNumber: 3
|
|
29
|
+
},
|
|
30
|
+
void 0
|
|
31
|
+
);
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
RichTextFieldRenderer
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=RichTextFieldRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextFieldRenderer.js","sources":["../../../../../packages/react-richtext-renderer/src/components/RichTextFieldRenderer.tsx"],"sourcesContent":["import { RichText } from './RichText'\nimport { RichTextElement, RichTextFieldSource, RichTextLeaf, RichTextRenderingOptions } from '../types'\nimport { useRichTextFieldSource } from '../hooks'\n\nexport type { RichTextFieldSource }\n\nexport type RichTextFieldRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> =\n\t& RichTextFieldSource<CustomElements, CustomLeaves>\n\t& RichTextRenderingOptions<CustomElements, CustomLeaves>\n\n/**\n * Accepts raw RichText field source and renders them using the provided renderers.\n *\n * @group Content rendering\n */\nexport const RichTextFieldRenderer = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\trenderLeaf,\n\trenderBlock,\n\trenderElement,\n\tattributeNamePrefix,\n\tundefinedReferenceHandler,\n\t...source\n}: RichTextFieldRendererProps<CustomElements, CustomLeaves>) => {\n\tconst blocks = useRichTextFieldSource(source)\n\n\treturn (\n\t\t<RichText<CustomElements, CustomLeaves>\n\t\t\tblocks={blocks}\n\t\t\trenderElement={renderElement}\n\t\t\trenderLeaf={renderLeaf}\n\t\t\trenderBlock={renderBlock}\n\t\t\tattributeNamePrefix={attributeNamePrefix}\n\t\t\tundefinedReferenceHandler={undefinedReferenceHandler}\n\t\t/>\n\t)\n}\n"],"names":["this"],"mappings":";;;AAkBO,MAAM,wBAAwB,CAGnC;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,MAAgE;AAC/D,QAAM,SAAS,uBAAuB,MAAM;AAE5C,SACC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAND;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAA;AAAAA,EAAA;AASF;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const RichTextFieldRenderer = require("./RichTextFieldRenderer.cjs");
|
|
6
|
+
const RichTextBlocksRenderer = require("./RichTextBlocksRenderer.cjs");
|
|
7
|
+
const RichTextRenderer = React.memo(function RichTextRenderer2(props) {
|
|
8
|
+
if ("source" in props) {
|
|
9
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(RichTextFieldRenderer.RichTextFieldRenderer, { ...props }, void 0, false, {
|
|
10
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichTextRenderer.tsx",
|
|
11
|
+
lineNumber: 23,
|
|
12
|
+
columnNumber: 10
|
|
13
|
+
}, this);
|
|
14
|
+
}
|
|
15
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(RichTextBlocksRenderer.RichTextBlocksRenderer, { ...props }, void 0, false, {
|
|
16
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichTextRenderer.tsx",
|
|
17
|
+
lineNumber: 26,
|
|
18
|
+
columnNumber: 9
|
|
19
|
+
}, this);
|
|
20
|
+
});
|
|
21
|
+
exports.RichTextRenderer = RichTextRenderer;
|
|
22
|
+
//# sourceMappingURL=RichTextRenderer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextRenderer.cjs","sources":["../../../../../packages/react-richtext-renderer/src/components/RichTextRenderer.tsx"],"sourcesContent":["import { memo, ReactElement } from 'react'\nimport type { RichTextElement } from '../types/structure/RichTextElement'\nimport type { RichTextLeaf } from '../types/structure/RichTextLeaf'\nimport { RichTextFieldRenderer, RichTextFieldRendererProps } from './RichTextFieldRenderer'\nimport { RichTextBlocksRenderer, RichTextBlocksRendererProps } from './RichTextBlocksRenderer'\n\nexport type RichTextRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> =\n\t| RichTextFieldRendererProps<CustomElements, CustomLeaves>\n\t| RichTextBlocksRendererProps<CustomElements, CustomLeaves>\n\n/**\n * @deprecated Use `RichTextBlocksRenderer` or `RichTextFieldRenderer` instead, or directly use `RichText`.\n * @group Content rendering\n */\nexport const RichTextRenderer = memo(function RichTextRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>(props: RichTextRendererProps<CustomElements, CustomLeaves>) {\n\tif ('source' in props) {\n\t\treturn <RichTextFieldRenderer<CustomElements, CustomLeaves> {...props} />\n\t}\n\n\treturn <RichTextBlocksRenderer<CustomElements, CustomLeaves> {...props} />\n}) as <CustomElements extends RichTextElement = never, CustomLeaves extends RichTextLeaf = RichTextLeaf>(\n\tprops: RichTextRendererProps<CustomElements, CustomLeaves>,\n) => ReactElement\n"],"names":["memo","RichTextRenderer","jsxDEV","RichTextFieldRenderer","RichTextBlocksRenderer"],"mappings":";;;;;;AAiBO,MAAM,mBAAmBA,MAAAA,KAAK,SAASC,kBAG5C,OAA4D;AAC7D,MAAI,YAAY,OAAO;AACtB,WAAOC,8BAAAA,OAACC,sBAAAA,uBAAA,EAAqD,GAAG,MAAA,GAAzD,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAA,IAAgE;AAAA,EACxE;AAEA,SAAOD,8BAAAA,OAACE,uBAAAA,wBAAA,EAAsD,GAAG,MAAA,GAA1D,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAAiE;AACzE,CAAC;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
2
|
+
import { memo } from "react";
|
|
3
|
+
import { RichTextFieldRenderer } from "./RichTextFieldRenderer.js";
|
|
4
|
+
import { RichTextBlocksRenderer } from "./RichTextBlocksRenderer.js";
|
|
5
|
+
const RichTextRenderer = memo(function RichTextRenderer2(props) {
|
|
6
|
+
if ("source" in props) {
|
|
7
|
+
return /* @__PURE__ */ jsxDEV(RichTextFieldRenderer, { ...props }, void 0, false, {
|
|
8
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichTextRenderer.tsx",
|
|
9
|
+
lineNumber: 23,
|
|
10
|
+
columnNumber: 10
|
|
11
|
+
}, this);
|
|
12
|
+
}
|
|
13
|
+
return /* @__PURE__ */ jsxDEV(RichTextBlocksRenderer, { ...props }, void 0, false, {
|
|
14
|
+
fileName: "/home/runner/work/contember/contember/packages/react-richtext-renderer/src/components/RichTextRenderer.tsx",
|
|
15
|
+
lineNumber: 26,
|
|
16
|
+
columnNumber: 9
|
|
17
|
+
}, this);
|
|
18
|
+
});
|
|
19
|
+
export {
|
|
20
|
+
RichTextRenderer
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=RichTextRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextRenderer.js","sources":["../../../../../packages/react-richtext-renderer/src/components/RichTextRenderer.tsx"],"sourcesContent":["import { memo, ReactElement } from 'react'\nimport type { RichTextElement } from '../types/structure/RichTextElement'\nimport type { RichTextLeaf } from '../types/structure/RichTextLeaf'\nimport { RichTextFieldRenderer, RichTextFieldRendererProps } from './RichTextFieldRenderer'\nimport { RichTextBlocksRenderer, RichTextBlocksRendererProps } from './RichTextBlocksRenderer'\n\nexport type RichTextRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> =\n\t| RichTextFieldRendererProps<CustomElements, CustomLeaves>\n\t| RichTextBlocksRendererProps<CustomElements, CustomLeaves>\n\n/**\n * @deprecated Use `RichTextBlocksRenderer` or `RichTextFieldRenderer` instead, or directly use `RichText`.\n * @group Content rendering\n */\nexport const RichTextRenderer = memo(function RichTextRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>(props: RichTextRendererProps<CustomElements, CustomLeaves>) {\n\tif ('source' in props) {\n\t\treturn <RichTextFieldRenderer<CustomElements, CustomLeaves> {...props} />\n\t}\n\n\treturn <RichTextBlocksRenderer<CustomElements, CustomLeaves> {...props} />\n}) as <CustomElements extends RichTextElement = never, CustomLeaves extends RichTextLeaf = RichTextLeaf>(\n\tprops: RichTextRendererProps<CustomElements, CustomLeaves>,\n) => ReactElement\n"],"names":["RichTextRenderer"],"mappings":";;;;AAiBO,MAAM,mBAAmB,KAAK,SAASA,kBAG5C,OAA4D;AAC7D,MAAI,YAAY,OAAO;AACtB,WAAO,uBAAC,uBAAA,EAAqD,GAAG,MAAA,GAAzD,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAA,IAAgE;AAAA,EACxE;AAEA,SAAO,uBAAC,wBAAA,EAAsD,GAAG,MAAA,GAA1D,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAAiE;AACzE,CAAC;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const defaultDeserialize = require("../internal/defaultDeserialize.cjs");
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const RichTextRendererError = require("../RichTextRendererError.cjs");
|
|
6
|
+
const useRichTextBlocksSource = ({
|
|
7
|
+
deserialize = defaultDeserialize.defaultDeserialize,
|
|
8
|
+
blocks,
|
|
9
|
+
referencesField,
|
|
10
|
+
sourceField,
|
|
11
|
+
referenceDiscriminationField
|
|
12
|
+
}) => {
|
|
13
|
+
return React.useMemo(() => {
|
|
14
|
+
const sourceFieldResolved = sourceField ?? "source";
|
|
15
|
+
const referencesFieldResolved = referencesField ?? "references";
|
|
16
|
+
const referenceDiscriminationFieldResolved = referenceDiscriminationField ?? "type";
|
|
17
|
+
return blocks.map((block) => {
|
|
18
|
+
if (!(sourceFieldResolved in block)) {
|
|
19
|
+
throw new RichTextRendererError.RichTextRendererError(
|
|
20
|
+
`Found a block without a '${sourceFieldResolved}' field. ` + (sourceField === void 0 ? `The 'sourceField' prop has not been supplied, and so '${sourceFieldResolved}' was used as a default.` : `That is what the 'sourceField' prop has been set to, and so either this is a typo, or the data supplied is invalid.`)
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
const source = block[sourceFieldResolved];
|
|
24
|
+
if (typeof source !== "string" && (typeof source !== "object" || source === null)) {
|
|
25
|
+
throw new RichTextRendererError.RichTextRendererError(`Found a block whose source is not a string or an object.`);
|
|
26
|
+
}
|
|
27
|
+
if (referencesField !== void 0 && !(referencesFieldResolved in block)) {
|
|
28
|
+
throw new RichTextRendererError.RichTextRendererError(
|
|
29
|
+
`The 'referencesField' prop is set to '${referencesFieldResolved}' but a block without such field has been encountered. Unless this is just a typo, if you do not wish to use references, avoid supplying the 'referencesField' prop.`
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
const references = block[referencesFieldResolved];
|
|
33
|
+
let normalizedReferences;
|
|
34
|
+
if (references) {
|
|
35
|
+
if (typeof Object(references)[Symbol.iterator] !== "function") {
|
|
36
|
+
throw new RichTextRendererError.RichTextRendererError(`The set of references must be an iterable!`);
|
|
37
|
+
}
|
|
38
|
+
normalizedReferences = Object.fromEntries(
|
|
39
|
+
Array.from(references).map((reference) => {
|
|
40
|
+
if (!("id" in reference)) {
|
|
41
|
+
throw new RichTextRendererError.RichTextRendererError(`Found a reference without an id field.`);
|
|
42
|
+
}
|
|
43
|
+
if (!(referenceDiscriminationFieldResolved in reference) || typeof reference[referenceDiscriminationFieldResolved] !== "string") {
|
|
44
|
+
throw new RichTextRendererError.RichTextRendererError(
|
|
45
|
+
`Found a reference without a '${referenceDiscriminationFieldResolved}' field. ` + (referenceDiscriminationField === void 0 ? `The 'referenceDiscriminationField' prop has not been supplied, and so '${referenceDiscriminationFieldResolved}' was used as a default.` : `That is what the 'referenceDiscriminationField' prop has been set to, and so either this is a typo, or the data supplied is invalid.`)
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
return [reference.id, {
|
|
49
|
+
...reference,
|
|
50
|
+
type: reference[referenceDiscriminationFieldResolved]
|
|
51
|
+
}];
|
|
52
|
+
})
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
id: typeof block.id === "string" ? block.id : void 0,
|
|
57
|
+
content: typeof source === "string" ? deserialize(source) : source,
|
|
58
|
+
references: normalizedReferences
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
}, [blocks, deserialize, referenceDiscriminationField, referencesField, sourceField]);
|
|
62
|
+
};
|
|
63
|
+
exports.useRichTextBlocksSource = useRichTextBlocksSource;
|
|
64
|
+
//# sourceMappingURL=useRichTextBlocksSource.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRichTextBlocksSource.cjs","sources":["../../../../../packages/react-richtext-renderer/src/hooks/useRichTextBlocksSource.ts"],"sourcesContent":["import { RichTextBlock, RichTextBlockSource, RichTextElement, RichTextLeaf, RichTextReference, RootEditorNode } from '../types'\nimport { defaultDeserialize } from '../internal/defaultDeserialize'\nimport { useMemo } from 'react'\nimport { RichTextRendererError } from '../RichTextRendererError'\n\nexport const useRichTextBlocksSource = <CustomElements extends RichTextElement, CustomLeaves extends RichTextLeaf>({\n\tdeserialize = defaultDeserialize,\n\tblocks,\n\treferencesField,\n\tsourceField,\n\treferenceDiscriminationField,\n}: RichTextBlockSource<CustomElements, CustomLeaves>) => {\n\treturn useMemo((): RichTextBlock<CustomElements, CustomLeaves>[] => {\n\t\tconst sourceFieldResolved = sourceField ?? 'source'\n\t\tconst referencesFieldResolved = referencesField ?? 'references'\n\t\tconst referenceDiscriminationFieldResolved = referenceDiscriminationField ?? 'type'\n\n\t\treturn blocks.map(block => {\n\t\t\tif (!(sourceFieldResolved in block)) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`Found a block without a '${sourceFieldResolved}' field. `\n\t\t\t\t\t\t+ (sourceField === undefined\n\t\t\t\t\t\t\t? `The 'sourceField' prop has not been supplied, and so '${sourceFieldResolved}' was used as a default.`\n\t\t\t\t\t\t\t: `That is what the 'sourceField' prop has been set to, and so either this is a typo, `\n\t\t\t\t\t\t\t\t+ `or the data supplied is invalid.`),\n\t\t\t\t)\n\t\t\t}\n\t\t\tconst source = block[sourceFieldResolved]\n\t\t\tif (typeof source !== 'string' && (typeof source !== 'object' || source === null)) {\n\t\t\t\tthrow new RichTextRendererError(`Found a block whose source is not a string or an object.`)\n\t\t\t}\n\n\t\t\tif (referencesField !== undefined && !(referencesFieldResolved in block)) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`The 'referencesField' prop is set to '${referencesFieldResolved}' but a block without such field `\n\t\t\t\t\t\t+ `has been encountered. Unless this is just a typo, `\n\t\t\t\t\t\t+ `if you do not wish to use references, avoid supplying the 'referencesField' prop.`,\n\t\t\t\t)\n\t\t\t}\n\t\t\tconst references = block[referencesFieldResolved]\n\n\t\t\tlet normalizedReferences: Record<string, RichTextReference> | undefined\n\t\t\tif (references) {\n\t\t\t\tif (typeof Object(references)[Symbol.iterator] !== 'function') {\n\t\t\t\t\tthrow new RichTextRendererError(`The set of references must be an iterable!`)\n\t\t\t\t}\n\n\t\t\t\tnormalizedReferences = Object.fromEntries(\n\t\t\t\t\tArray.from(references as Iterable<RichTextReference>).map(reference => {\n\t\t\t\t\t\tif (!('id' in reference)) {\n\t\t\t\t\t\t\tthrow new RichTextRendererError(`Found a reference without an id field.`)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!(referenceDiscriminationFieldResolved in reference) || typeof reference[referenceDiscriminationFieldResolved] !== 'string') {\n\t\t\t\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t\t\t\t`Found a reference without a '${referenceDiscriminationFieldResolved}' field. `\n\t\t\t\t\t\t\t\t\t+ (referenceDiscriminationField === undefined\n\t\t\t\t\t\t\t\t\t\t? `The 'referenceDiscriminationField' prop has not been supplied, `\n\t\t\t\t\t\t\t\t\t\t\t+ `and so '${referenceDiscriminationFieldResolved}' was used as a default.`\n\t\t\t\t\t\t\t\t\t\t: `That is what the 'referenceDiscriminationField' prop has been set to, `\n\t\t\t\t\t\t\t\t\t\t\t+ `and so either this is a typo, or the data supplied is invalid.`),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [reference.id, {\n\t\t\t\t\t\t\t...reference,\n\t\t\t\t\t\t\ttype: reference[referenceDiscriminationFieldResolved] as string,\n\t\t\t\t\t\t}]\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tid: typeof block.id === 'string' ? block.id : undefined,\n\t\t\t\tcontent: typeof source === 'string' ? deserialize(source) : source as RootEditorNode<CustomElements, CustomLeaves>,\n\t\t\t\treferences: normalizedReferences,\n\t\t\t}\n\t\t})\n\t}, [blocks, deserialize, referenceDiscriminationField, referencesField, sourceField])\n}\n"],"names":["defaultDeserialize","useMemo","RichTextRendererError"],"mappings":";;;;;AAKO,MAAM,0BAA0B,CAA4E;AAAA,EAClH,cAAcA,mBAAAA;AAAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAyD;AACxD,SAAOC,MAAAA,QAAQ,MAAqD;AACnE,UAAM,sBAAsB,eAAe;AAC3C,UAAM,0BAA0B,mBAAmB;AACnD,UAAM,uCAAuC,gCAAgC;AAE7E,WAAO,OAAO,IAAI,CAAA,UAAS;AAC1B,UAAI,EAAE,uBAAuB,QAAQ;AACpC,cAAM,IAAIC,sBAAAA;AAAAA,UACT,4BAA4B,mBAAmB,eAC3C,gBAAgB,SAChB,yDAAyD,mBAAmB,6BAC5E;AAAA,QAAA;AAAA,MAGN;AACA,YAAM,SAAS,MAAM,mBAAmB;AACxC,UAAI,OAAO,WAAW,aAAa,OAAO,WAAW,YAAY,WAAW,OAAO;AAClF,cAAM,IAAIA,sBAAAA,sBAAsB,0DAA0D;AAAA,MAC3F;AAEA,UAAI,oBAAoB,UAAa,EAAE,2BAA2B,QAAQ;AACzE,cAAM,IAAIA,sBAAAA;AAAAA,UACT,yCAAyC,uBAAuB;AAAA,QAAA;AAAA,MAIlE;AACA,YAAM,aAAa,MAAM,uBAAuB;AAEhD,UAAI;AACJ,UAAI,YAAY;AACf,YAAI,OAAO,OAAO,UAAU,EAAE,OAAO,QAAQ,MAAM,YAAY;AAC9D,gBAAM,IAAIA,sBAAAA,sBAAsB,4CAA4C;AAAA,QAC7E;AAEA,+BAAuB,OAAO;AAAA,UAC7B,MAAM,KAAK,UAAyC,EAAE,IAAI,CAAA,cAAa;AACtE,gBAAI,EAAE,QAAQ,YAAY;AACzB,oBAAM,IAAIA,sBAAAA,sBAAsB,wCAAwC;AAAA,YACzE;AACA,gBAAI,EAAE,wCAAwC,cAAc,OAAO,UAAU,oCAAoC,MAAM,UAAU;AAChI,oBAAM,IAAIA,sBAAAA;AAAAA,gBACT,gCAAgC,oCAAoC,eAChE,iCAAiC,SACjC,0EACY,oCAAoC,6BAChD;AAAA,cAAA;AAAA,YAGN;AACA,mBAAO,CAAC,UAAU,IAAI;AAAA,cACrB,GAAG;AAAA,cACH,MAAM,UAAU,oCAAoC;AAAA,YAAA,CACpD;AAAA,UACF,CAAC;AAAA,QAAA;AAAA,MAEH;AACA,aAAO;AAAA,QACN,IAAI,OAAO,MAAM,OAAO,WAAW,MAAM,KAAK;AAAA,QAC9C,SAAS,OAAO,WAAW,WAAW,YAAY,MAAM,IAAI;AAAA,QAC5D,YAAY;AAAA,MAAA;AAAA,IAEd,CAAC;AAAA,EACF,GAAG,CAAC,QAAQ,aAAa,8BAA8B,iBAAiB,WAAW,CAAC;AACrF;;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { defaultDeserialize } from "../internal/defaultDeserialize.js";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { RichTextRendererError } from "../RichTextRendererError.js";
|
|
4
|
+
const useRichTextBlocksSource = ({
|
|
5
|
+
deserialize = defaultDeserialize,
|
|
6
|
+
blocks,
|
|
7
|
+
referencesField,
|
|
8
|
+
sourceField,
|
|
9
|
+
referenceDiscriminationField
|
|
10
|
+
}) => {
|
|
11
|
+
return useMemo(() => {
|
|
12
|
+
const sourceFieldResolved = sourceField ?? "source";
|
|
13
|
+
const referencesFieldResolved = referencesField ?? "references";
|
|
14
|
+
const referenceDiscriminationFieldResolved = referenceDiscriminationField ?? "type";
|
|
15
|
+
return blocks.map((block) => {
|
|
16
|
+
if (!(sourceFieldResolved in block)) {
|
|
17
|
+
throw new RichTextRendererError(
|
|
18
|
+
`Found a block without a '${sourceFieldResolved}' field. ` + (sourceField === void 0 ? `The 'sourceField' prop has not been supplied, and so '${sourceFieldResolved}' was used as a default.` : `That is what the 'sourceField' prop has been set to, and so either this is a typo, or the data supplied is invalid.`)
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
const source = block[sourceFieldResolved];
|
|
22
|
+
if (typeof source !== "string" && (typeof source !== "object" || source === null)) {
|
|
23
|
+
throw new RichTextRendererError(`Found a block whose source is not a string or an object.`);
|
|
24
|
+
}
|
|
25
|
+
if (referencesField !== void 0 && !(referencesFieldResolved in block)) {
|
|
26
|
+
throw new RichTextRendererError(
|
|
27
|
+
`The 'referencesField' prop is set to '${referencesFieldResolved}' but a block without such field has been encountered. Unless this is just a typo, if you do not wish to use references, avoid supplying the 'referencesField' prop.`
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
const references = block[referencesFieldResolved];
|
|
31
|
+
let normalizedReferences;
|
|
32
|
+
if (references) {
|
|
33
|
+
if (typeof Object(references)[Symbol.iterator] !== "function") {
|
|
34
|
+
throw new RichTextRendererError(`The set of references must be an iterable!`);
|
|
35
|
+
}
|
|
36
|
+
normalizedReferences = Object.fromEntries(
|
|
37
|
+
Array.from(references).map((reference) => {
|
|
38
|
+
if (!("id" in reference)) {
|
|
39
|
+
throw new RichTextRendererError(`Found a reference without an id field.`);
|
|
40
|
+
}
|
|
41
|
+
if (!(referenceDiscriminationFieldResolved in reference) || typeof reference[referenceDiscriminationFieldResolved] !== "string") {
|
|
42
|
+
throw new RichTextRendererError(
|
|
43
|
+
`Found a reference without a '${referenceDiscriminationFieldResolved}' field. ` + (referenceDiscriminationField === void 0 ? `The 'referenceDiscriminationField' prop has not been supplied, and so '${referenceDiscriminationFieldResolved}' was used as a default.` : `That is what the 'referenceDiscriminationField' prop has been set to, and so either this is a typo, or the data supplied is invalid.`)
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
return [reference.id, {
|
|
47
|
+
...reference,
|
|
48
|
+
type: reference[referenceDiscriminationFieldResolved]
|
|
49
|
+
}];
|
|
50
|
+
})
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
id: typeof block.id === "string" ? block.id : void 0,
|
|
55
|
+
content: typeof source === "string" ? deserialize(source) : source,
|
|
56
|
+
references: normalizedReferences
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
}, [blocks, deserialize, referenceDiscriminationField, referencesField, sourceField]);
|
|
60
|
+
};
|
|
61
|
+
export {
|
|
62
|
+
useRichTextBlocksSource
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=useRichTextBlocksSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRichTextBlocksSource.js","sources":["../../../../../packages/react-richtext-renderer/src/hooks/useRichTextBlocksSource.ts"],"sourcesContent":["import { RichTextBlock, RichTextBlockSource, RichTextElement, RichTextLeaf, RichTextReference, RootEditorNode } from '../types'\nimport { defaultDeserialize } from '../internal/defaultDeserialize'\nimport { useMemo } from 'react'\nimport { RichTextRendererError } from '../RichTextRendererError'\n\nexport const useRichTextBlocksSource = <CustomElements extends RichTextElement, CustomLeaves extends RichTextLeaf>({\n\tdeserialize = defaultDeserialize,\n\tblocks,\n\treferencesField,\n\tsourceField,\n\treferenceDiscriminationField,\n}: RichTextBlockSource<CustomElements, CustomLeaves>) => {\n\treturn useMemo((): RichTextBlock<CustomElements, CustomLeaves>[] => {\n\t\tconst sourceFieldResolved = sourceField ?? 'source'\n\t\tconst referencesFieldResolved = referencesField ?? 'references'\n\t\tconst referenceDiscriminationFieldResolved = referenceDiscriminationField ?? 'type'\n\n\t\treturn blocks.map(block => {\n\t\t\tif (!(sourceFieldResolved in block)) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`Found a block without a '${sourceFieldResolved}' field. `\n\t\t\t\t\t\t+ (sourceField === undefined\n\t\t\t\t\t\t\t? `The 'sourceField' prop has not been supplied, and so '${sourceFieldResolved}' was used as a default.`\n\t\t\t\t\t\t\t: `That is what the 'sourceField' prop has been set to, and so either this is a typo, `\n\t\t\t\t\t\t\t\t+ `or the data supplied is invalid.`),\n\t\t\t\t)\n\t\t\t}\n\t\t\tconst source = block[sourceFieldResolved]\n\t\t\tif (typeof source !== 'string' && (typeof source !== 'object' || source === null)) {\n\t\t\t\tthrow new RichTextRendererError(`Found a block whose source is not a string or an object.`)\n\t\t\t}\n\n\t\t\tif (referencesField !== undefined && !(referencesFieldResolved in block)) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`The 'referencesField' prop is set to '${referencesFieldResolved}' but a block without such field `\n\t\t\t\t\t\t+ `has been encountered. Unless this is just a typo, `\n\t\t\t\t\t\t+ `if you do not wish to use references, avoid supplying the 'referencesField' prop.`,\n\t\t\t\t)\n\t\t\t}\n\t\t\tconst references = block[referencesFieldResolved]\n\n\t\t\tlet normalizedReferences: Record<string, RichTextReference> | undefined\n\t\t\tif (references) {\n\t\t\t\tif (typeof Object(references)[Symbol.iterator] !== 'function') {\n\t\t\t\t\tthrow new RichTextRendererError(`The set of references must be an iterable!`)\n\t\t\t\t}\n\n\t\t\t\tnormalizedReferences = Object.fromEntries(\n\t\t\t\t\tArray.from(references as Iterable<RichTextReference>).map(reference => {\n\t\t\t\t\t\tif (!('id' in reference)) {\n\t\t\t\t\t\t\tthrow new RichTextRendererError(`Found a reference without an id field.`)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!(referenceDiscriminationFieldResolved in reference) || typeof reference[referenceDiscriminationFieldResolved] !== 'string') {\n\t\t\t\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t\t\t\t`Found a reference without a '${referenceDiscriminationFieldResolved}' field. `\n\t\t\t\t\t\t\t\t\t+ (referenceDiscriminationField === undefined\n\t\t\t\t\t\t\t\t\t\t? `The 'referenceDiscriminationField' prop has not been supplied, `\n\t\t\t\t\t\t\t\t\t\t\t+ `and so '${referenceDiscriminationFieldResolved}' was used as a default.`\n\t\t\t\t\t\t\t\t\t\t: `That is what the 'referenceDiscriminationField' prop has been set to, `\n\t\t\t\t\t\t\t\t\t\t\t+ `and so either this is a typo, or the data supplied is invalid.`),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [reference.id, {\n\t\t\t\t\t\t\t...reference,\n\t\t\t\t\t\t\ttype: reference[referenceDiscriminationFieldResolved] as string,\n\t\t\t\t\t\t}]\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tid: typeof block.id === 'string' ? block.id : undefined,\n\t\t\t\tcontent: typeof source === 'string' ? deserialize(source) : source as RootEditorNode<CustomElements, CustomLeaves>,\n\t\t\t\treferences: normalizedReferences,\n\t\t\t}\n\t\t})\n\t}, [blocks, deserialize, referenceDiscriminationField, referencesField, sourceField])\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,0BAA0B,CAA4E;AAAA,EAClH,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAyD;AACxD,SAAO,QAAQ,MAAqD;AACnE,UAAM,sBAAsB,eAAe;AAC3C,UAAM,0BAA0B,mBAAmB;AACnD,UAAM,uCAAuC,gCAAgC;AAE7E,WAAO,OAAO,IAAI,CAAA,UAAS;AAC1B,UAAI,EAAE,uBAAuB,QAAQ;AACpC,cAAM,IAAI;AAAA,UACT,4BAA4B,mBAAmB,eAC3C,gBAAgB,SAChB,yDAAyD,mBAAmB,6BAC5E;AAAA,QAAA;AAAA,MAGN;AACA,YAAM,SAAS,MAAM,mBAAmB;AACxC,UAAI,OAAO,WAAW,aAAa,OAAO,WAAW,YAAY,WAAW,OAAO;AAClF,cAAM,IAAI,sBAAsB,0DAA0D;AAAA,MAC3F;AAEA,UAAI,oBAAoB,UAAa,EAAE,2BAA2B,QAAQ;AACzE,cAAM,IAAI;AAAA,UACT,yCAAyC,uBAAuB;AAAA,QAAA;AAAA,MAIlE;AACA,YAAM,aAAa,MAAM,uBAAuB;AAEhD,UAAI;AACJ,UAAI,YAAY;AACf,YAAI,OAAO,OAAO,UAAU,EAAE,OAAO,QAAQ,MAAM,YAAY;AAC9D,gBAAM,IAAI,sBAAsB,4CAA4C;AAAA,QAC7E;AAEA,+BAAuB,OAAO;AAAA,UAC7B,MAAM,KAAK,UAAyC,EAAE,IAAI,CAAA,cAAa;AACtE,gBAAI,EAAE,QAAQ,YAAY;AACzB,oBAAM,IAAI,sBAAsB,wCAAwC;AAAA,YACzE;AACA,gBAAI,EAAE,wCAAwC,cAAc,OAAO,UAAU,oCAAoC,MAAM,UAAU;AAChI,oBAAM,IAAI;AAAA,gBACT,gCAAgC,oCAAoC,eAChE,iCAAiC,SACjC,0EACY,oCAAoC,6BAChD;AAAA,cAAA;AAAA,YAGN;AACA,mBAAO,CAAC,UAAU,IAAI;AAAA,cACrB,GAAG;AAAA,cACH,MAAM,UAAU,oCAAoC;AAAA,YAAA,CACpD;AAAA,UACF,CAAC;AAAA,QAAA;AAAA,MAEH;AACA,aAAO;AAAA,QACN,IAAI,OAAO,MAAM,OAAO,WAAW,MAAM,KAAK;AAAA,QAC9C,SAAS,OAAO,WAAW,WAAW,YAAY,MAAM,IAAI;AAAA,QAC5D,YAAY;AAAA,MAAA;AAAA,IAEd,CAAC;AAAA,EACF,GAAG,CAAC,QAAQ,aAAa,8BAA8B,iBAAiB,WAAW,CAAC;AACrF;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const React = require("react");
|
|
4
|
+
const defaultDeserialize = require("../internal/defaultDeserialize.cjs");
|
|
5
|
+
const useRichTextFieldSource = ({
|
|
6
|
+
source,
|
|
7
|
+
deserialize = defaultDeserialize.defaultDeserialize
|
|
8
|
+
}) => {
|
|
9
|
+
return React.useMemo(() => {
|
|
10
|
+
return [
|
|
11
|
+
{
|
|
12
|
+
content: source ? typeof source === "string" ? deserialize(source) : source : {
|
|
13
|
+
formatVersion: 0,
|
|
14
|
+
children: []
|
|
15
|
+
},
|
|
16
|
+
id: void 0,
|
|
17
|
+
referencesField: void 0,
|
|
18
|
+
referenceDiscriminationField: void 0,
|
|
19
|
+
referenceRenderers: {},
|
|
20
|
+
references: void 0
|
|
21
|
+
}
|
|
22
|
+
];
|
|
23
|
+
}, [deserialize, source]);
|
|
24
|
+
};
|
|
25
|
+
exports.useRichTextFieldSource = useRichTextFieldSource;
|
|
26
|
+
//# sourceMappingURL=useRichTextFieldSource.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRichTextFieldSource.cjs","sources":["../../../../../packages/react-richtext-renderer/src/hooks/useRichTextFieldSource.ts"],"sourcesContent":["import { RichTextBlock, RichTextElement, RichTextFieldSource, RichTextLeaf } from '../types'\nimport { useMemo } from 'react'\nimport { defaultDeserialize } from '../internal/defaultDeserialize'\n\nexport const useRichTextFieldSource = <CustomElements extends RichTextElement, CustomLeaves extends RichTextLeaf>({\n\tsource,\n\tdeserialize = defaultDeserialize,\n}: RichTextFieldSource<CustomElements, CustomLeaves>): RichTextBlock<CustomElements, CustomLeaves>[] => {\n\treturn useMemo(() => {\n\t\treturn [\n\t\t\t{\n\t\t\t\tcontent: source\n\t\t\t\t\t? (typeof source === 'string' ? deserialize(source) : source)\n\t\t\t\t\t: {\n\t\t\t\t\t\tformatVersion: 0,\n\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t},\n\t\t\t\tid: undefined,\n\t\t\t\treferencesField: undefined,\n\t\t\t\treferenceDiscriminationField: undefined,\n\t\t\t\treferenceRenderers: {},\n\t\t\t\treferences: undefined,\n\t\t\t},\n\t\t]\n\t}, [deserialize, source])\n}\n"],"names":["defaultDeserialize","useMemo"],"mappings":";;;;AAIO,MAAM,yBAAyB,CAA4E;AAAA,EACjH;AAAA,EACA,cAAcA,mBAAAA;AACf,MAAwG;AACvG,SAAOC,MAAAA,QAAQ,MAAM;AACpB,WAAO;AAAA,MACN;AAAA,QACC,SAAS,SACL,OAAO,WAAW,WAAW,YAAY,MAAM,IAAI,SACpD;AAAA,UACD,eAAe;AAAA,UACf,UAAU,CAAA;AAAA,QAAC;AAAA,QAEb,IAAI;AAAA,QACJ,iBAAiB;AAAA,QACjB,8BAA8B;AAAA,QAC9B,oBAAoB,CAAA;AAAA,QACpB,YAAY;AAAA,MAAA;AAAA,IACb;AAAA,EAEF,GAAG,CAAC,aAAa,MAAM,CAAC;AACzB;;"}
|