@contember/react-client 1.3.0-alpha.7 → 1.3.0-alpha.9
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 +9 -5
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +1 -4
- package/dist/development/index.js.map +1 -1
- package/dist/development/upload/useFileUpload.cjs.map +1 -1
- package/dist/development/upload/useFileUpload.js.map +1 -1
- package/dist/development/useGraphQlClient.cjs.map +1 -1
- package/dist/development/useGraphQlClient.js.map +1 -1
- package/dist/production/index.cjs +9 -5
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +1 -4
- package/dist/production/index.js.map +1 -1
- package/dist/production/upload/useFileUpload.cjs.map +1 -1
- package/dist/production/upload/useFileUpload.js.map +1 -1
- package/dist/production/useGraphQlClient.cjs.map +1 -1
- package/dist/production/useGraphQlClient.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -3
- package/src/index.ts +1 -1
- package/src/tsconfig.json +1 -0
- package/dist/development/components/RichTextRenderer/ElementRenderer.cjs +0 -27
- package/dist/development/components/RichTextRenderer/ElementRenderer.cjs.map +0 -1
- package/dist/development/components/RichTextRenderer/ElementRenderer.js +0 -27
- package/dist/development/components/RichTextRenderer/ElementRenderer.js.map +0 -1
- package/dist/development/components/RichTextRenderer/LeafRenderer.cjs +0 -28
- package/dist/development/components/RichTextRenderer/LeafRenderer.cjs.map +0 -1
- package/dist/development/components/RichTextRenderer/LeafRenderer.js +0 -28
- package/dist/development/components/RichTextRenderer/LeafRenderer.js.map +0 -1
- package/dist/development/components/RichTextRenderer/RenderElementFallback.cjs +0 -155
- package/dist/development/components/RichTextRenderer/RenderElementFallback.cjs.map +0 -1
- package/dist/development/components/RichTextRenderer/RenderElementFallback.js +0 -155
- package/dist/development/components/RichTextRenderer/RenderElementFallback.js.map +0 -1
- package/dist/development/components/RichTextRenderer/RenderLeafFallback.cjs +0 -74
- package/dist/development/components/RichTextRenderer/RenderLeafFallback.cjs.map +0 -1
- package/dist/development/components/RichTextRenderer/RenderLeafFallback.js +0 -74
- package/dist/development/components/RichTextRenderer/RenderLeafFallback.js.map +0 -1
- package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.cjs +0 -15
- package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.cjs.map +0 -1
- package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.js +0 -15
- package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.js.map +0 -1
- package/dist/development/components/RichTextRenderer/RichTextRenderer.cjs +0 -124
- package/dist/development/components/RichTextRenderer/RichTextRenderer.cjs.map +0 -1
- package/dist/development/components/RichTextRenderer/RichTextRenderer.js +0 -124
- package/dist/development/components/RichTextRenderer/RichTextRenderer.js.map +0 -1
- package/dist/development/components/RichTextRenderer/RichTextRendererError.cjs +0 -6
- package/dist/development/components/RichTextRenderer/RichTextRendererError.cjs.map +0 -1
- package/dist/development/components/RichTextRenderer/RichTextRendererError.js +0 -6
- package/dist/development/components/RichTextRenderer/RichTextRendererError.js.map +0 -1
- package/dist/development/components/RichTextRenderer/defaultDeserialize.cjs +0 -14
- package/dist/development/components/RichTextRenderer/defaultDeserialize.cjs.map +0 -1
- package/dist/development/components/RichTextRenderer/defaultDeserialize.js +0 -14
- package/dist/development/components/RichTextRenderer/defaultDeserialize.js.map +0 -1
- package/dist/development/components/RichTextRenderer/renderChildren.cjs +0 -33
- package/dist/development/components/RichTextRenderer/renderChildren.cjs.map +0 -1
- package/dist/development/components/RichTextRenderer/renderChildren.js +0 -33
- package/dist/development/components/RichTextRenderer/renderChildren.js.map +0 -1
- package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.cjs +0 -29
- package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.cjs.map +0 -1
- package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.js +0 -29
- package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +0 -1
- package/dist/production/components/RichTextRenderer/ElementRenderer.cjs +0 -23
- package/dist/production/components/RichTextRenderer/ElementRenderer.cjs.map +0 -1
- package/dist/production/components/RichTextRenderer/ElementRenderer.js +0 -23
- package/dist/production/components/RichTextRenderer/ElementRenderer.js.map +0 -1
- package/dist/production/components/RichTextRenderer/LeafRenderer.cjs +0 -24
- package/dist/production/components/RichTextRenderer/LeafRenderer.cjs.map +0 -1
- package/dist/production/components/RichTextRenderer/LeafRenderer.js +0 -24
- package/dist/production/components/RichTextRenderer/LeafRenderer.js.map +0 -1
- package/dist/production/components/RichTextRenderer/RenderElementFallback.cjs +0 -82
- package/dist/production/components/RichTextRenderer/RenderElementFallback.cjs.map +0 -1
- package/dist/production/components/RichTextRenderer/RenderElementFallback.js +0 -82
- package/dist/production/components/RichTextRenderer/RenderElementFallback.js.map +0 -1
- package/dist/production/components/RichTextRenderer/RenderLeafFallback.cjs +0 -38
- package/dist/production/components/RichTextRenderer/RenderLeafFallback.cjs.map +0 -1
- package/dist/production/components/RichTextRenderer/RenderLeafFallback.js +0 -38
- package/dist/production/components/RichTextRenderer/RenderLeafFallback.js.map +0 -1
- package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.cjs +0 -15
- package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.cjs.map +0 -1
- package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.js +0 -15
- package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.js.map +0 -1
- package/dist/production/components/RichTextRenderer/RichTextRenderer.cjs +0 -109
- package/dist/production/components/RichTextRenderer/RichTextRenderer.cjs.map +0 -1
- package/dist/production/components/RichTextRenderer/RichTextRenderer.js +0 -109
- package/dist/production/components/RichTextRenderer/RichTextRenderer.js.map +0 -1
- package/dist/production/components/RichTextRenderer/RichTextRendererError.cjs +0 -6
- package/dist/production/components/RichTextRenderer/RichTextRendererError.cjs.map +0 -1
- package/dist/production/components/RichTextRenderer/RichTextRendererError.js +0 -6
- package/dist/production/components/RichTextRenderer/RichTextRendererError.js.map +0 -1
- package/dist/production/components/RichTextRenderer/defaultDeserialize.cjs +0 -14
- package/dist/production/components/RichTextRenderer/defaultDeserialize.cjs.map +0 -1
- package/dist/production/components/RichTextRenderer/defaultDeserialize.js +0 -14
- package/dist/production/components/RichTextRenderer/defaultDeserialize.js.map +0 -1
- package/dist/production/components/RichTextRenderer/renderChildren.cjs +0 -21
- package/dist/production/components/RichTextRenderer/renderChildren.cjs.map +0 -1
- package/dist/production/components/RichTextRenderer/renderChildren.js +0 -21
- package/dist/production/components/RichTextRenderer/renderChildren.js.map +0 -1
- package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.cjs +0 -29
- package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.cjs.map +0 -1
- package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.js +0 -29
- package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +0 -1
- package/dist/types/components/RichTextRenderer/BuiltinElements.d.ts +0 -49
- package/dist/types/components/RichTextRenderer/BuiltinElements.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/BuiltinLeaves.d.ts +0 -21
- package/dist/types/components/RichTextRenderer/BuiltinLeaves.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/ElementRenderer.d.ts +0 -22
- package/dist/types/components/RichTextRenderer/ElementRenderer.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/LeafRenderer.d.ts +0 -14
- package/dist/types/components/RichTextRenderer/LeafRenderer.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/NormalizedRichTextBlock.d.ts +0 -14
- package/dist/types/components/RichTextRenderer/NormalizedRichTextBlock.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/ReferenceRenderer.d.ts +0 -14
- package/dist/types/components/RichTextRenderer/ReferenceRenderer.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RenderElementFallback.d.ts +0 -12
- package/dist/types/components/RichTextRenderer/RenderElementFallback.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RenderLeafFallback.d.ts +0 -6
- package/dist/types/components/RichTextRenderer/RenderLeafFallback.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RichTextBlock.d.ts +0 -2
- package/dist/types/components/RichTextRenderer/RichTextBlock.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RichTextElement.d.ts +0 -7
- package/dist/types/components/RichTextRenderer/RichTextElement.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RichTextElementMetadata.d.ts +0 -11
- package/dist/types/components/RichTextRenderer/RichTextElementMetadata.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RichTextLeaf.d.ts +0 -4
- package/dist/types/components/RichTextRenderer/RichTextLeaf.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RichTextLeafMetadata.d.ts +0 -4
- package/dist/types/components/RichTextRenderer/RichTextLeafMetadata.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RichTextReference.d.ts +0 -4
- package/dist/types/components/RichTextRenderer/RichTextReference.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RichTextRenderMetadata.d.ts +0 -12
- package/dist/types/components/RichTextRenderer/RichTextRenderMetadata.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RichTextRenderMetadataContext.d.ts +0 -7
- package/dist/types/components/RichTextRenderer/RichTextRenderMetadataContext.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RichTextRenderer.d.ts +0 -33
- package/dist/types/components/RichTextRenderer/RichTextRenderer.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RichTextRendererError.d.ts +0 -3
- package/dist/types/components/RichTextRenderer/RichTextRendererError.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/RootEditorNode.d.ts +0 -9
- package/dist/types/components/RichTextRenderer/RootEditorNode.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/defaultDeserialize.d.ts +0 -5
- package/dist/types/components/RichTextRenderer/defaultDeserialize.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/index.d.ts +0 -16
- package/dist/types/components/RichTextRenderer/index.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/renderChildren.d.ts +0 -14
- package/dist/types/components/RichTextRenderer/renderChildren.d.ts.map +0 -1
- package/dist/types/components/RichTextRenderer/resolveRichTextElementMetadata.d.ts +0 -8
- package/dist/types/components/RichTextRenderer/resolveRichTextElementMetadata.d.ts.map +0 -1
- package/dist/types/components/index.d.ts +0 -2
- package/dist/types/components/index.d.ts.map +0 -1
- package/src/components/RichTextRenderer/BuiltinElements.ts +0 -112
- package/src/components/RichTextRenderer/BuiltinLeaves.ts +0 -32
- package/src/components/RichTextRenderer/ElementRenderer.tsx +0 -71
- package/src/components/RichTextRenderer/LeafRenderer.tsx +0 -39
- package/src/components/RichTextRenderer/NormalizedRichTextBlock.ts +0 -17
- package/src/components/RichTextRenderer/ReferenceRenderer.ts +0 -26
- package/src/components/RichTextRenderer/RenderElementFallback.tsx +0 -147
- package/src/components/RichTextRenderer/RenderLeafFallback.tsx +0 -43
- package/src/components/RichTextRenderer/RichTextBlock.ts +0 -1
- package/src/components/RichTextRenderer/RichTextElement.ts +0 -10
- package/src/components/RichTextRenderer/RichTextElementMetadata.ts +0 -15
- package/src/components/RichTextRenderer/RichTextLeaf.ts +0 -3
- package/src/components/RichTextRenderer/RichTextLeafMetadata.ts +0 -3
- package/src/components/RichTextRenderer/RichTextReference.ts +0 -3
- package/src/components/RichTextRenderer/RichTextRenderMetadata.ts +0 -16
- package/src/components/RichTextRenderer/RichTextRenderMetadataContext.ts +0 -20
- package/src/components/RichTextRenderer/RichTextRenderer.tsx +0 -168
- package/src/components/RichTextRenderer/RichTextRendererError.ts +0 -1
- package/src/components/RichTextRenderer/RootEditorNode.ts +0 -12
- package/src/components/RichTextRenderer/defaultDeserialize.ts +0 -19
- package/src/components/RichTextRenderer/index.ts +0 -15
- package/src/components/RichTextRenderer/renderChildren.tsx +0 -50
- package/src/components/RichTextRenderer/resolveRichTextElementMetadata.ts +0 -50
- package/src/components/index.ts +0 -1
|
@@ -1,124 +0,0 @@
|
|
|
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 defaultDeserialize = require("./defaultDeserialize.cjs");
|
|
6
|
-
const renderChildren = require("./renderChildren.cjs");
|
|
7
|
-
const RichTextRendererError = require("./RichTextRendererError.cjs");
|
|
8
|
-
const RichTextRenderMetadataContext = require("./RichTextRenderMetadataContext.cjs");
|
|
9
|
-
const RichTextRenderer = react.memo(function RichTextRenderer2({
|
|
10
|
-
deserialize = defaultDeserialize.defaultDeserialize,
|
|
11
|
-
renderElement,
|
|
12
|
-
renderLeaf,
|
|
13
|
-
renderBlock = ({ children }) => /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children }, void 0, false, {
|
|
14
|
-
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RichTextRenderer.tsx",
|
|
15
|
-
lineNumber: 52,
|
|
16
|
-
columnNumber: 34
|
|
17
|
-
}, this),
|
|
18
|
-
attributeNamePrefix,
|
|
19
|
-
...sourceProps
|
|
20
|
-
}) {
|
|
21
|
-
const normalizedSource = react.useMemo(() => {
|
|
22
|
-
if ("source" in sourceProps && !("blocks" in sourceProps)) {
|
|
23
|
-
return [
|
|
24
|
-
{
|
|
25
|
-
content: sourceProps.source ? deserialize(sourceProps.source) : {
|
|
26
|
-
formatVersion: 0,
|
|
27
|
-
children: []
|
|
28
|
-
},
|
|
29
|
-
id: void 0,
|
|
30
|
-
referencesField: void 0,
|
|
31
|
-
referenceDiscriminationField: void 0,
|
|
32
|
-
referenceRenderers: {},
|
|
33
|
-
references: void 0
|
|
34
|
-
}
|
|
35
|
-
];
|
|
36
|
-
}
|
|
37
|
-
if (!("source" in sourceProps)) {
|
|
38
|
-
const sourceField = sourceProps.sourceField ?? "source";
|
|
39
|
-
const referencesField = sourceProps.referencesField ?? "references";
|
|
40
|
-
const referenceDiscriminationField = sourceProps.referenceDiscriminationField ?? "type";
|
|
41
|
-
return sourceProps.blocks.map((block) => {
|
|
42
|
-
if (!(sourceField in block)) {
|
|
43
|
-
throw new RichTextRendererError.RichTextRendererError(
|
|
44
|
-
`Found a block without a '${sourceField}' field. ` + (sourceProps.sourceField === void 0 ? `The 'sourceField' prop has not been supplied, and so '${sourceField}' 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.`)
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
const source = block[sourceField];
|
|
48
|
-
if (typeof source !== "string") {
|
|
49
|
-
throw new RichTextRendererError.RichTextRendererError(`Found a block whose source is not a string.`);
|
|
50
|
-
}
|
|
51
|
-
if (sourceProps.referencesField !== void 0 && !(referencesField in block)) {
|
|
52
|
-
throw new RichTextRendererError.RichTextRendererError(
|
|
53
|
-
`The 'referencesField' prop is set to '${referencesField}' 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.`
|
|
54
|
-
);
|
|
55
|
-
}
|
|
56
|
-
const references = block[referencesField];
|
|
57
|
-
let normalizedReferences = void 0;
|
|
58
|
-
if (references) {
|
|
59
|
-
if (typeof Object(references)[Symbol.iterator] !== "function") {
|
|
60
|
-
throw new RichTextRendererError.RichTextRendererError(`The set of references must be an iterable!`);
|
|
61
|
-
}
|
|
62
|
-
normalizedReferences = /* @__PURE__ */ new Map();
|
|
63
|
-
for (const reference of references) {
|
|
64
|
-
if (!("id" in reference)) {
|
|
65
|
-
throw new RichTextRendererError.RichTextRendererError(`Found a reference without an id field.`);
|
|
66
|
-
}
|
|
67
|
-
if (!(referenceDiscriminationField in reference)) {
|
|
68
|
-
throw new RichTextRendererError.RichTextRendererError(
|
|
69
|
-
`Found a reference without a '${referenceDiscriminationField}' field. ` + (sourceProps.referenceDiscriminationField === void 0 ? `The 'referenceDiscriminationField' prop has not been supplied, and so '${referenceDiscriminationField}' 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.`)
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
normalizedReferences.set(reference.id, reference);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return {
|
|
76
|
-
id: typeof block.id === "string" ? block.id : void 0,
|
|
77
|
-
content: deserialize(source),
|
|
78
|
-
referenceDiscriminationField,
|
|
79
|
-
referenceRenderers: sourceProps.referenceRenderers ?? {},
|
|
80
|
-
referencesField,
|
|
81
|
-
references: normalizedReferences
|
|
82
|
-
};
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
throw new RichTextRendererError.RichTextRendererError(`RichTextRenderer: invalid data supplied.`);
|
|
86
|
-
}, [deserialize, sourceProps]);
|
|
87
|
-
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children: normalizedSource.map((block, i) => /* @__PURE__ */ jsxDevRuntime.jsxDEV(
|
|
88
|
-
RichTextRenderMetadataContext.RichTextRenderMetadataContext.Provider,
|
|
89
|
-
{
|
|
90
|
-
value: {
|
|
91
|
-
formatVersion: block.content.formatVersion,
|
|
92
|
-
referenceRenderers: block.referenceRenderers,
|
|
93
|
-
referencesField: block.referencesField,
|
|
94
|
-
referenceDiscriminationField: block.referenceDiscriminationField,
|
|
95
|
-
references: block.references
|
|
96
|
-
},
|
|
97
|
-
children: react.createElement(
|
|
98
|
-
renderBlock,
|
|
99
|
-
{
|
|
100
|
-
block
|
|
101
|
-
},
|
|
102
|
-
renderChildren.renderChildren(block.content.children, {
|
|
103
|
-
renderLeaf,
|
|
104
|
-
renderElement,
|
|
105
|
-
attributeNamePrefix
|
|
106
|
-
})
|
|
107
|
-
)
|
|
108
|
-
},
|
|
109
|
-
block.id ?? i,
|
|
110
|
-
false,
|
|
111
|
-
{
|
|
112
|
-
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RichTextRenderer.tsx",
|
|
113
|
-
lineNumber: 143,
|
|
114
|
-
columnNumber: 5
|
|
115
|
-
},
|
|
116
|
-
this
|
|
117
|
-
)) }, void 0, false, {
|
|
118
|
-
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RichTextRenderer.tsx",
|
|
119
|
-
lineNumber: 141,
|
|
120
|
-
columnNumber: 3
|
|
121
|
-
}, this);
|
|
122
|
-
});
|
|
123
|
-
exports.RichTextRenderer = RichTextRenderer;
|
|
124
|
-
//# sourceMappingURL=RichTextRenderer.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextRenderer.cjs","sources":["../../../../src/components/RichTextRenderer/RichTextRenderer.tsx"],"sourcesContent":["import { ComponentType, createElement, memo, ReactElement, ReactNode, useMemo } from 'react'\nimport { defaultDeserialize } from './defaultDeserialize'\nimport type { RenderElement } from './ElementRenderer'\nimport type { RenderLeaf } from './LeafRenderer'\nimport type { NormalizedRichTextBlock } from './NormalizedRichTextBlock'\nimport type { ReferenceRenderer } from './ReferenceRenderer'\nimport { renderChildren } from './renderChildren'\nimport type { RichTextBlock } from './RichTextBlock'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport { RichTextRenderMetadataContext } from './RichTextRenderMetadataContext'\nimport type { RootEditorNode } from './RootEditorNode'\n\nexport interface RichTextRendererFieldProps {\n\tsource: string | null\n}\n\nexport interface RichTextRendererBlockProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\tblocks: readonly RichTextBlock[]\n\treferenceRenderers?: Record<string, ReferenceRenderer<any, CustomElements, CustomLeaves>>\n\tsourceField?: string\n\treferencesField?: string\n\treferenceDiscriminationField?: string\n}\n\nexport type RichTextRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> = {\n\tdeserialize?: (source: string) => RootEditorNode<CustomElements, CustomLeaves>\n\trenderElement?: RenderElement<CustomElements, CustomLeaves>\n\trenderLeaf?: RenderLeaf<CustomLeaves>\n\tattributeNamePrefix?: string\n\trenderBlock?: ComponentType<{ block: unknown, children?: ReactNode }>\n} & (RichTextRendererFieldProps | RichTextRendererBlockProps<CustomElements, CustomLeaves>)\n\n/**\n * @group Content rendering\n */\nexport const RichTextRenderer = memo(function RichTextRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({\n\tdeserialize = defaultDeserialize,\n\trenderElement,\n\trenderLeaf,\n\trenderBlock = ({ children }) => <>{children}</>,\n\tattributeNamePrefix,\n\t...sourceProps\n}: RichTextRendererProps<CustomElements, CustomLeaves>) {\n\tconst normalizedSource = useMemo<NormalizedRichTextBlock<CustomElements, CustomLeaves>[]>(() => {\n\t\tif ('source' in sourceProps && !('blocks' in sourceProps)) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tcontent: sourceProps.source\n\t\t\t\t\t\t? deserialize(sourceProps.source)\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\tformatVersion: 0,\n\t\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t\t},\n\t\t\t\t\tid: undefined,\n\t\t\t\t\treferencesField: undefined,\n\t\t\t\t\treferenceDiscriminationField: undefined,\n\t\t\t\t\treferenceRenderers: {},\n\t\t\t\t\treferences: undefined,\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\t\tif (!('source' in sourceProps)) {\n\t\t\tconst sourceField = sourceProps.sourceField ?? 'source'\n\t\t\tconst referencesField = sourceProps.referencesField ?? 'references'\n\t\t\tconst referenceDiscriminationField = sourceProps.referenceDiscriminationField ?? 'type'\n\n\t\t\treturn sourceProps.blocks.map(block => {\n\t\t\t\tif (!(sourceField in block)) {\n\t\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t\t`Found a block without a '${sourceField}' field. ` +\n\t\t\t\t\t\t(sourceProps.sourceField === undefined\n\t\t\t\t\t\t\t? `The 'sourceField' prop has not been supplied, and so '${sourceField}' 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`or the data supplied is invalid.`),\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tconst source = block[sourceField]\n\t\t\t\tif (typeof source !== 'string') {\n\t\t\t\t\tthrow new RichTextRendererError(`Found a block whose source is not a string.`)\n\t\t\t\t}\n\n\t\t\t\tif (sourceProps.referencesField !== undefined && !(referencesField in block)) {\n\t\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t\t`The 'referencesField' prop is set to '${referencesField}' 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\t)\n\t\t\t\t}\n\t\t\t\tconst references = block[referencesField]\n\n\t\t\t\tlet normalizedReferences: Map<string, RichTextReference> | undefined = undefined\n\t\t\t\tif (references) {\n\t\t\t\t\tif (typeof Object(references)[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new RichTextRendererError(`The set of references must be an iterable!`)\n\t\t\t\t\t}\n\n\t\t\t\t\tnormalizedReferences = new Map()\n\t\t\t\t\tfor (const reference of references as Iterable<RichTextReference>) {\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 (!(referenceDiscriminationField in reference)) {\n\t\t\t\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t\t\t\t`Found a reference without a '${referenceDiscriminationField}' field. ` +\n\t\t\t\t\t\t\t\t(sourceProps.referenceDiscriminationField === undefined\n\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`and so '${referenceDiscriminationField}' was used as a default.`\n\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`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\tnormalizedReferences.set(reference.id, reference)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tid: typeof block.id === 'string' ? block.id : undefined,\n\t\t\t\t\tcontent: deserialize(source),\n\t\t\t\t\treferenceDiscriminationField,\n\t\t\t\t\treferenceRenderers: sourceProps.referenceRenderers ?? {},\n\t\t\t\t\treferencesField,\n\t\t\t\t\treferences: normalizedReferences,\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tthrow new RichTextRendererError(`RichTextRenderer: invalid data supplied.`)\n\t}, [deserialize, sourceProps])\n\n\treturn (\n\t\t<>\n\t\t\t{normalizedSource.map((block, i) => (\n\t\t\t\t<RichTextRenderMetadataContext.Provider\n\t\t\t\t\tkey={block.id ?? i}\n\t\t\t\t\tvalue={{\n\t\t\t\t\t\tformatVersion: block.content.formatVersion,\n\t\t\t\t\t\treferenceRenderers: block.referenceRenderers,\n\t\t\t\t\t\treferencesField: block.referencesField,\n\t\t\t\t\t\treferenceDiscriminationField: block.referenceDiscriminationField,\n\t\t\t\t\t\treferences: block.references,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{createElement(\n\t\t\t\t\t\trenderBlock, {\n\t\t\t\t\t\tblock,\n\t\t\t\t\t}, renderChildren(block.content.children, {\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}),\n\t\t\t\t\t)}\n\t\t\t\t</RichTextRenderMetadataContext.Provider>\n\t\t\t))}\n\t\t</>\n\t)\n}) as <CustomElements extends RichTextElement = never, CustomLeaves extends RichTextLeaf = never>(\n\tprops: RichTextRendererProps<CustomElements, CustomLeaves>,\n) => ReactElement\n"],"names":["memo","RichTextRenderer","defaultDeserialize","useMemo","RichTextRendererError","jsxDEV","Fragment","RichTextRenderMetadataContext","createElement","renderChildren"],"mappings":"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"}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
|
|
2
|
-
import { memo, useMemo, createElement } from "react";
|
|
3
|
-
import { defaultDeserialize } from "./defaultDeserialize.js";
|
|
4
|
-
import { renderChildren } from "./renderChildren.js";
|
|
5
|
-
import { RichTextRendererError } from "./RichTextRendererError.js";
|
|
6
|
-
import { RichTextRenderMetadataContext } from "./RichTextRenderMetadataContext.js";
|
|
7
|
-
const RichTextRenderer = memo(function RichTextRenderer2({
|
|
8
|
-
deserialize = defaultDeserialize,
|
|
9
|
-
renderElement,
|
|
10
|
-
renderLeaf,
|
|
11
|
-
renderBlock = ({ children }) => /* @__PURE__ */ jsxDEV(Fragment, { children }, void 0, false, {
|
|
12
|
-
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RichTextRenderer.tsx",
|
|
13
|
-
lineNumber: 52,
|
|
14
|
-
columnNumber: 34
|
|
15
|
-
}, this),
|
|
16
|
-
attributeNamePrefix,
|
|
17
|
-
...sourceProps
|
|
18
|
-
}) {
|
|
19
|
-
const normalizedSource = useMemo(() => {
|
|
20
|
-
if ("source" in sourceProps && !("blocks" in sourceProps)) {
|
|
21
|
-
return [
|
|
22
|
-
{
|
|
23
|
-
content: sourceProps.source ? deserialize(sourceProps.source) : {
|
|
24
|
-
formatVersion: 0,
|
|
25
|
-
children: []
|
|
26
|
-
},
|
|
27
|
-
id: void 0,
|
|
28
|
-
referencesField: void 0,
|
|
29
|
-
referenceDiscriminationField: void 0,
|
|
30
|
-
referenceRenderers: {},
|
|
31
|
-
references: void 0
|
|
32
|
-
}
|
|
33
|
-
];
|
|
34
|
-
}
|
|
35
|
-
if (!("source" in sourceProps)) {
|
|
36
|
-
const sourceField = sourceProps.sourceField ?? "source";
|
|
37
|
-
const referencesField = sourceProps.referencesField ?? "references";
|
|
38
|
-
const referenceDiscriminationField = sourceProps.referenceDiscriminationField ?? "type";
|
|
39
|
-
return sourceProps.blocks.map((block) => {
|
|
40
|
-
if (!(sourceField in block)) {
|
|
41
|
-
throw new RichTextRendererError(
|
|
42
|
-
`Found a block without a '${sourceField}' field. ` + (sourceProps.sourceField === void 0 ? `The 'sourceField' prop has not been supplied, and so '${sourceField}' 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.`)
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
const source = block[sourceField];
|
|
46
|
-
if (typeof source !== "string") {
|
|
47
|
-
throw new RichTextRendererError(`Found a block whose source is not a string.`);
|
|
48
|
-
}
|
|
49
|
-
if (sourceProps.referencesField !== void 0 && !(referencesField in block)) {
|
|
50
|
-
throw new RichTextRendererError(
|
|
51
|
-
`The 'referencesField' prop is set to '${referencesField}' 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.`
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
const references = block[referencesField];
|
|
55
|
-
let normalizedReferences = void 0;
|
|
56
|
-
if (references) {
|
|
57
|
-
if (typeof Object(references)[Symbol.iterator] !== "function") {
|
|
58
|
-
throw new RichTextRendererError(`The set of references must be an iterable!`);
|
|
59
|
-
}
|
|
60
|
-
normalizedReferences = /* @__PURE__ */ new Map();
|
|
61
|
-
for (const reference of references) {
|
|
62
|
-
if (!("id" in reference)) {
|
|
63
|
-
throw new RichTextRendererError(`Found a reference without an id field.`);
|
|
64
|
-
}
|
|
65
|
-
if (!(referenceDiscriminationField in reference)) {
|
|
66
|
-
throw new RichTextRendererError(
|
|
67
|
-
`Found a reference without a '${referenceDiscriminationField}' field. ` + (sourceProps.referenceDiscriminationField === void 0 ? `The 'referenceDiscriminationField' prop has not been supplied, and so '${referenceDiscriminationField}' 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.`)
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
normalizedReferences.set(reference.id, reference);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return {
|
|
74
|
-
id: typeof block.id === "string" ? block.id : void 0,
|
|
75
|
-
content: deserialize(source),
|
|
76
|
-
referenceDiscriminationField,
|
|
77
|
-
referenceRenderers: sourceProps.referenceRenderers ?? {},
|
|
78
|
-
referencesField,
|
|
79
|
-
references: normalizedReferences
|
|
80
|
-
};
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
throw new RichTextRendererError(`RichTextRenderer: invalid data supplied.`);
|
|
84
|
-
}, [deserialize, sourceProps]);
|
|
85
|
-
return /* @__PURE__ */ jsxDEV(Fragment, { children: normalizedSource.map((block, i) => /* @__PURE__ */ jsxDEV(
|
|
86
|
-
RichTextRenderMetadataContext.Provider,
|
|
87
|
-
{
|
|
88
|
-
value: {
|
|
89
|
-
formatVersion: block.content.formatVersion,
|
|
90
|
-
referenceRenderers: block.referenceRenderers,
|
|
91
|
-
referencesField: block.referencesField,
|
|
92
|
-
referenceDiscriminationField: block.referenceDiscriminationField,
|
|
93
|
-
references: block.references
|
|
94
|
-
},
|
|
95
|
-
children: createElement(
|
|
96
|
-
renderBlock,
|
|
97
|
-
{
|
|
98
|
-
block
|
|
99
|
-
},
|
|
100
|
-
renderChildren(block.content.children, {
|
|
101
|
-
renderLeaf,
|
|
102
|
-
renderElement,
|
|
103
|
-
attributeNamePrefix
|
|
104
|
-
})
|
|
105
|
-
)
|
|
106
|
-
},
|
|
107
|
-
block.id ?? i,
|
|
108
|
-
false,
|
|
109
|
-
{
|
|
110
|
-
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RichTextRenderer.tsx",
|
|
111
|
-
lineNumber: 143,
|
|
112
|
-
columnNumber: 5
|
|
113
|
-
},
|
|
114
|
-
this
|
|
115
|
-
)) }, void 0, false, {
|
|
116
|
-
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/RichTextRenderer.tsx",
|
|
117
|
-
lineNumber: 141,
|
|
118
|
-
columnNumber: 3
|
|
119
|
-
}, this);
|
|
120
|
-
});
|
|
121
|
-
export {
|
|
122
|
-
RichTextRenderer
|
|
123
|
-
};
|
|
124
|
-
//# sourceMappingURL=RichTextRenderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextRenderer.js","sources":["../../../../src/components/RichTextRenderer/RichTextRenderer.tsx"],"sourcesContent":["import { ComponentType, createElement, memo, ReactElement, ReactNode, useMemo } from 'react'\nimport { defaultDeserialize } from './defaultDeserialize'\nimport type { RenderElement } from './ElementRenderer'\nimport type { RenderLeaf } from './LeafRenderer'\nimport type { NormalizedRichTextBlock } from './NormalizedRichTextBlock'\nimport type { ReferenceRenderer } from './ReferenceRenderer'\nimport { renderChildren } from './renderChildren'\nimport type { RichTextBlock } from './RichTextBlock'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport { RichTextRenderMetadataContext } from './RichTextRenderMetadataContext'\nimport type { RootEditorNode } from './RootEditorNode'\n\nexport interface RichTextRendererFieldProps {\n\tsource: string | null\n}\n\nexport interface RichTextRendererBlockProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\tblocks: readonly RichTextBlock[]\n\treferenceRenderers?: Record<string, ReferenceRenderer<any, CustomElements, CustomLeaves>>\n\tsourceField?: string\n\treferencesField?: string\n\treferenceDiscriminationField?: string\n}\n\nexport type RichTextRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> = {\n\tdeserialize?: (source: string) => RootEditorNode<CustomElements, CustomLeaves>\n\trenderElement?: RenderElement<CustomElements, CustomLeaves>\n\trenderLeaf?: RenderLeaf<CustomLeaves>\n\tattributeNamePrefix?: string\n\trenderBlock?: ComponentType<{ block: unknown, children?: ReactNode }>\n} & (RichTextRendererFieldProps | RichTextRendererBlockProps<CustomElements, CustomLeaves>)\n\n/**\n * @group Content rendering\n */\nexport const RichTextRenderer = memo(function RichTextRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({\n\tdeserialize = defaultDeserialize,\n\trenderElement,\n\trenderLeaf,\n\trenderBlock = ({ children }) => <>{children}</>,\n\tattributeNamePrefix,\n\t...sourceProps\n}: RichTextRendererProps<CustomElements, CustomLeaves>) {\n\tconst normalizedSource = useMemo<NormalizedRichTextBlock<CustomElements, CustomLeaves>[]>(() => {\n\t\tif ('source' in sourceProps && !('blocks' in sourceProps)) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tcontent: sourceProps.source\n\t\t\t\t\t\t? deserialize(sourceProps.source)\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\tformatVersion: 0,\n\t\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t\t},\n\t\t\t\t\tid: undefined,\n\t\t\t\t\treferencesField: undefined,\n\t\t\t\t\treferenceDiscriminationField: undefined,\n\t\t\t\t\treferenceRenderers: {},\n\t\t\t\t\treferences: undefined,\n\t\t\t\t},\n\t\t\t]\n\t\t}\n\t\tif (!('source' in sourceProps)) {\n\t\t\tconst sourceField = sourceProps.sourceField ?? 'source'\n\t\t\tconst referencesField = sourceProps.referencesField ?? 'references'\n\t\t\tconst referenceDiscriminationField = sourceProps.referenceDiscriminationField ?? 'type'\n\n\t\t\treturn sourceProps.blocks.map(block => {\n\t\t\t\tif (!(sourceField in block)) {\n\t\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t\t`Found a block without a '${sourceField}' field. ` +\n\t\t\t\t\t\t(sourceProps.sourceField === undefined\n\t\t\t\t\t\t\t? `The 'sourceField' prop has not been supplied, and so '${sourceField}' 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`or the data supplied is invalid.`),\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tconst source = block[sourceField]\n\t\t\t\tif (typeof source !== 'string') {\n\t\t\t\t\tthrow new RichTextRendererError(`Found a block whose source is not a string.`)\n\t\t\t\t}\n\n\t\t\t\tif (sourceProps.referencesField !== undefined && !(referencesField in block)) {\n\t\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t\t`The 'referencesField' prop is set to '${referencesField}' 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\t)\n\t\t\t\t}\n\t\t\t\tconst references = block[referencesField]\n\n\t\t\t\tlet normalizedReferences: Map<string, RichTextReference> | undefined = undefined\n\t\t\t\tif (references) {\n\t\t\t\t\tif (typeof Object(references)[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new RichTextRendererError(`The set of references must be an iterable!`)\n\t\t\t\t\t}\n\n\t\t\t\t\tnormalizedReferences = new Map()\n\t\t\t\t\tfor (const reference of references as Iterable<RichTextReference>) {\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 (!(referenceDiscriminationField in reference)) {\n\t\t\t\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t\t\t\t`Found a reference without a '${referenceDiscriminationField}' field. ` +\n\t\t\t\t\t\t\t\t(sourceProps.referenceDiscriminationField === undefined\n\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`and so '${referenceDiscriminationField}' was used as a default.`\n\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`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\tnormalizedReferences.set(reference.id, reference)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tid: typeof block.id === 'string' ? block.id : undefined,\n\t\t\t\t\tcontent: deserialize(source),\n\t\t\t\t\treferenceDiscriminationField,\n\t\t\t\t\treferenceRenderers: sourceProps.referenceRenderers ?? {},\n\t\t\t\t\treferencesField,\n\t\t\t\t\treferences: normalizedReferences,\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tthrow new RichTextRendererError(`RichTextRenderer: invalid data supplied.`)\n\t}, [deserialize, sourceProps])\n\n\treturn (\n\t\t<>\n\t\t\t{normalizedSource.map((block, i) => (\n\t\t\t\t<RichTextRenderMetadataContext.Provider\n\t\t\t\t\tkey={block.id ?? i}\n\t\t\t\t\tvalue={{\n\t\t\t\t\t\tformatVersion: block.content.formatVersion,\n\t\t\t\t\t\treferenceRenderers: block.referenceRenderers,\n\t\t\t\t\t\treferencesField: block.referencesField,\n\t\t\t\t\t\treferenceDiscriminationField: block.referenceDiscriminationField,\n\t\t\t\t\t\treferences: block.references,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{createElement(\n\t\t\t\t\t\trenderBlock, {\n\t\t\t\t\t\tblock,\n\t\t\t\t\t}, renderChildren(block.content.children, {\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}),\n\t\t\t\t\t)}\n\t\t\t\t</RichTextRenderMetadataContext.Provider>\n\t\t\t))}\n\t\t</>\n\t)\n}) as <CustomElements extends RichTextElement = never, CustomLeaves extends RichTextLeaf = never>(\n\tprops: RichTextRendererProps<CustomElements, CustomLeaves>,\n) => ReactElement\n"],"names":["RichTextRenderer"],"mappings":";;;;;;AA4Ca,MAAA,mBAAmB,KAAK,SAASA,kBAG5C;AAAA,EACD,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,cAAc,CAAC,EAAE,SAAS,yCAAS,SAAH,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAY,GAAA,IAAA;AAAA,EAC5C;AAAA,EACA,GAAG;AACJ,GAAwD;AACjD,QAAA,mBAAmB,QAAiE,MAAM;AAC/F,QAAI,YAAY,eAAe,EAAE,YAAY,cAAc;AACnD,aAAA;AAAA,QACN;AAAA,UACC,SAAS,YAAY,SAClB,YAAY,YAAY,MAAM,IAC9B;AAAA,YACD,eAAe;AAAA,YACf,UAAU,CAAC;AAAA,UACZ;AAAA,UACD,IAAI;AAAA,UACJ,iBAAiB;AAAA,UACjB,8BAA8B;AAAA,UAC9B,oBAAoB,CAAC;AAAA,UACrB,YAAY;AAAA,QACb;AAAA,MAAA;AAAA,IAEF;AACI,QAAA,EAAE,YAAY,cAAc;AACzB,YAAA,cAAc,YAAY,eAAe;AACzC,YAAA,kBAAkB,YAAY,mBAAmB;AACjD,YAAA,+BAA+B,YAAY,gCAAgC;AAE1E,aAAA,YAAY,OAAO,IAAI,CAAS,UAAA;AAClC,YAAA,EAAE,eAAe,QAAQ;AAC5B,gBAAM,IAAI;AAAA,YACT,4BAA4B,0BAC3B,YAAY,gBAAgB,SAC1B,yDAAyD,wCACzD;AAAA,UAAA;AAAA,QAGL;AACM,cAAA,SAAS,MAAM,WAAW;AAC5B,YAAA,OAAO,WAAW,UAAU;AACzB,gBAAA,IAAI,sBAAsB,6CAA6C;AAAA,QAC9E;AAEA,YAAI,YAAY,oBAAoB,UAAa,EAAE,mBAAmB,QAAQ;AAC7E,gBAAM,IAAI;AAAA,YACT,yCAAyC;AAAA,UAAA;AAAA,QAI3C;AACM,cAAA,aAAa,MAAM,eAAe;AAExC,YAAI,uBAAmE;AACvE,YAAI,YAAY;AACf,cAAI,OAAO,OAAO,UAAU,EAAE,OAAO,QAAQ,MAAM,YAAY;AACxD,kBAAA,IAAI,sBAAsB,4CAA4C;AAAA,UAC7E;AAEA,qDAA2B;AAC3B,qBAAW,aAAa,YAA2C;AAC9D,gBAAA,EAAE,QAAQ,YAAY;AACnB,oBAAA,IAAI,sBAAsB,wCAAwC;AAAA,YACzE;AACI,gBAAA,EAAE,gCAAgC,YAAY;AACjD,oBAAM,IAAI;AAAA,gBACT,gCAAgC,2CAC/B,YAAY,iCAAiC,SAC3C,0EACS,yDACT;AAAA,cAAA;AAAA,YAGL;AACqB,iCAAA,IAAI,UAAU,IAAI,SAAS;AAAA,UACjD;AAAA,QACD;AACO,eAAA;AAAA,UACN,IAAI,OAAO,MAAM,OAAO,WAAW,MAAM,KAAK;AAAA,UAC9C,SAAS,YAAY,MAAM;AAAA,UAC3B;AAAA,UACA,oBAAoB,YAAY,sBAAsB,CAAC;AAAA,UACvD;AAAA,UACA,YAAY;AAAA,QAAA;AAAA,MACb,CACA;AAAA,IACF;AACM,UAAA,IAAI,sBAAsB,0CAA0C;AAAA,EAAA,GACxE,CAAC,aAAa,WAAW,CAAC;AAE7B,SAEG,uBAAA,UAAA,EAAA,UAAA,iBAAiB,IAAI,CAAC,OAAO,MAC7B;AAAA,IAAC,8BAA8B;AAAA,IAA9B;AAAA,MAEA,OAAO;AAAA,QACN,eAAe,MAAM,QAAQ;AAAA,QAC7B,oBAAoB,MAAM;AAAA,QAC1B,iBAAiB,MAAM;AAAA,QACvB,8BAA8B,MAAM;AAAA,QACpC,YAAY,MAAM;AAAA,MACnB;AAAA,MAEC,UAAA;AAAA,QACA;AAAA,QAAa;AAAA,UACb;AAAA,QACD;AAAA,QAAG,eAAe,MAAM,QAAQ,UAAU;AAAA,UACzC;AAAA,UACA;AAAA,UACA;AAAA,QAAA,CACA;AAAA,MACD;AAAA,IAAA;AAAA,IAjBK,MAAM,MAAM;AAAA,IADlB;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAA;AAAA,EAAA,CAoBA,EAtBF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAuBA,GAAA,IAAA;AAEF,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextRendererError.cjs","sources":["../../../../src/components/RichTextRenderer/RichTextRendererError.ts"],"sourcesContent":["export class RichTextRendererError extends Error {}\n"],"names":[],"mappings":";;AAAO,MAAM,8BAA8B,MAAM;AAAC;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextRendererError.js","sources":["../../../../src/components/RichTextRenderer/RichTextRendererError.ts"],"sourcesContent":["export class RichTextRendererError extends Error {}\n"],"names":[],"mappings":"AAAO,MAAM,8BAA8B,MAAM;AAAC;"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const defaultDeserialize = (source) => {
|
|
4
|
-
try {
|
|
5
|
-
return JSON.parse(source);
|
|
6
|
-
} catch (e) {
|
|
7
|
-
return {
|
|
8
|
-
formatVersion: 0,
|
|
9
|
-
children: []
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
exports.defaultDeserialize = defaultDeserialize;
|
|
14
|
-
//# sourceMappingURL=defaultDeserialize.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaultDeserialize.cjs","sources":["../../../../src/components/RichTextRenderer/defaultDeserialize.ts"],"sourcesContent":["import type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RootEditorNode } from './RootEditorNode'\n\nexport const defaultDeserialize = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>(\n\tsource: string,\n): RootEditorNode<CustomElements, CustomLeaves> => {\n\ttry {\n\t\treturn JSON.parse(source)\n\t} catch (e) {\n\t\treturn {\n\t\t\tformatVersion: 0,\n\t\t\tchildren: [],\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAIa,MAAA,qBAAqB,CAIjC,WACkD;AAC9C,MAAA;AACI,WAAA,KAAK,MAAM,MAAM;AAAA,WAChB;AACD,WAAA;AAAA,MACN,eAAe;AAAA,MACf,UAAU,CAAC;AAAA,IAAA;AAAA,EAEb;AACD;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaultDeserialize.js","sources":["../../../../src/components/RichTextRenderer/defaultDeserialize.ts"],"sourcesContent":["import type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RootEditorNode } from './RootEditorNode'\n\nexport const defaultDeserialize = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>(\n\tsource: string,\n): RootEditorNode<CustomElements, CustomLeaves> => {\n\ttry {\n\t\treturn JSON.parse(source)\n\t} catch (e) {\n\t\treturn {\n\t\t\tformatVersion: 0,\n\t\t\tchildren: [],\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"AAIa,MAAA,qBAAqB,CAIjC,WACkD;AAC9C,MAAA;AACI,WAAA,KAAK,MAAM,MAAM;AAAA,WAChB;AACD,WAAA;AAAA,MACN,eAAe;AAAA,MACf,UAAU,CAAC;AAAA,IAAA;AAAA,EAEb;AACD;"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
-
const ElementRenderer = require("./ElementRenderer.cjs");
|
|
5
|
-
const LeafRenderer = require("./LeafRenderer.cjs");
|
|
6
|
-
const renderChildren = (children, options) => {
|
|
7
|
-
if (!Array.isArray(children)) {
|
|
8
|
-
children = [children];
|
|
9
|
-
}
|
|
10
|
-
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children: children.map((child, i) => {
|
|
11
|
-
if ("text" in child) {
|
|
12
|
-
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(LeafRenderer.LeafRenderer, { leaf: child, renderLeaf: options.renderLeaf }, i, false, {
|
|
13
|
-
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/renderChildren.tsx",
|
|
14
|
-
lineNumber: 37,
|
|
15
|
-
columnNumber: 13
|
|
16
|
-
}, globalThis);
|
|
17
|
-
}
|
|
18
|
-
if ("children" in child) {
|
|
19
|
-
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(ElementRenderer.ElementRenderer, { element: child, options, children: renderChildren(child.children, options) }, i, false, {
|
|
20
|
-
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/renderChildren.tsx",
|
|
21
|
-
lineNumber: 41,
|
|
22
|
-
columnNumber: 7
|
|
23
|
-
}, globalThis);
|
|
24
|
-
}
|
|
25
|
-
return null;
|
|
26
|
-
}) }, void 0, false, {
|
|
27
|
-
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/renderChildren.tsx",
|
|
28
|
-
lineNumber: 34,
|
|
29
|
-
columnNumber: 3
|
|
30
|
-
}, globalThis);
|
|
31
|
-
};
|
|
32
|
-
exports.renderChildren = renderChildren;
|
|
33
|
-
//# sourceMappingURL=renderChildren.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderChildren.cjs","sources":["../../../../src/components/RichTextRenderer/renderChildren.tsx"],"sourcesContent":["import type { ReactElement } from 'react'\nimport type { BuiltinElements } from './BuiltinElements'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport { ElementRenderer, RenderElement } from './ElementRenderer'\nimport { LeafRenderer, RenderLeaf } from './LeafRenderer'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\n\nexport interface RenderChildrenOptions<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\trenderElement?: RenderElement<CustomElements, CustomLeaves>\n\trenderLeaf?: RenderLeaf<CustomLeaves>\n\tattributeNamePrefix?: string\n}\n\nexport const renderChildren = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>(\n\tchildren:\n\t\t| CustomElements\n\t\t| BuiltinElements<CustomElements, CustomLeaves>\n\t\t| CustomLeaves\n\t\t| BuiltinLeaves\n\t\t| Array<CustomElements | BuiltinElements<CustomElements, CustomLeaves> | CustomLeaves | BuiltinLeaves>,\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>,\n): ReactElement => {\n\tif (!Array.isArray(children)) {\n\t\tchildren = [children]\n\t}\n\treturn (\n\t\t<>\n\t\t\t{children.map((child, i) => {\n\t\t\t\tif ('text' in child) {\n\t\t\t\t\treturn <LeafRenderer<CustomLeaves> key={i} leaf={child} renderLeaf={options.renderLeaf} />\n\t\t\t\t}\n\t\t\t\tif ('children' in child) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ElementRenderer<CustomElements, CustomLeaves> key={i} element={child} options={options}>\n\t\t\t\t\t\t\t{renderChildren<CustomElements, CustomLeaves>(child.children as typeof children, options)}\n\t\t\t\t\t\t</ElementRenderer>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\treturn null // Throw?\n\t\t\t})}\n\t\t</>\n\t)\n}\n"],"names":["jsxDEV","Fragment","LeafRenderer","this","ElementRenderer"],"mappings":";;;;;AAiBa,MAAA,iBAAiB,CAI7B,UAMA,YACkB;AAClB,MAAI,CAAC,MAAM,QAAQ,QAAQ,GAAG;AAC7B,eAAW,CAAC,QAAQ;AAAA,EACrB;AACA,SAEGA,8BAAA,OAAAC,cAAA,UAAA,EAAA,UAAA,SAAS,IAAI,CAAC,OAAO,MAAM;AAC3B,QAAI,UAAU,OAAO;AACpB,kDAAQC,aAAAA,cAAmC,EAAA,MAAM,OAAO,YAAY,QAAQ,cAApC,GAAjC,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAiF,GAAAC,UAAA;AAAA,IACzF;AACA,QAAI,cAAc,OAAO;AAEvB,aAAAH,8BAAA,OAACI,gBAAsD,iBAAA,EAAA,SAAS,OAAO,SACrE,yBAA6C,MAAM,UAA6B,OAAO,EAAA,GADrC,GAApD,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAEA,GAAAD,UAAA;AAAA,IAEF;AACO,WAAA;AAAA,EAAA,CACP,EAbF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAcA,GAAAA,UAAA;AAEF;;"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
|
|
2
|
-
import { ElementRenderer } from "./ElementRenderer.js";
|
|
3
|
-
import { LeafRenderer } from "./LeafRenderer.js";
|
|
4
|
-
const renderChildren = (children, options) => {
|
|
5
|
-
if (!Array.isArray(children)) {
|
|
6
|
-
children = [children];
|
|
7
|
-
}
|
|
8
|
-
return /* @__PURE__ */ jsxDEV(Fragment, { children: children.map((child, i) => {
|
|
9
|
-
if ("text" in child) {
|
|
10
|
-
return /* @__PURE__ */ jsxDEV(LeafRenderer, { leaf: child, renderLeaf: options.renderLeaf }, i, false, {
|
|
11
|
-
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/renderChildren.tsx",
|
|
12
|
-
lineNumber: 37,
|
|
13
|
-
columnNumber: 13
|
|
14
|
-
}, globalThis);
|
|
15
|
-
}
|
|
16
|
-
if ("children" in child) {
|
|
17
|
-
return /* @__PURE__ */ jsxDEV(ElementRenderer, { element: child, options, children: renderChildren(child.children, options) }, i, false, {
|
|
18
|
-
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/renderChildren.tsx",
|
|
19
|
-
lineNumber: 41,
|
|
20
|
-
columnNumber: 7
|
|
21
|
-
}, globalThis);
|
|
22
|
-
}
|
|
23
|
-
return null;
|
|
24
|
-
}) }, void 0, false, {
|
|
25
|
-
fileName: "/__w/interface/interface/packages/react-client/src/components/RichTextRenderer/renderChildren.tsx",
|
|
26
|
-
lineNumber: 34,
|
|
27
|
-
columnNumber: 3
|
|
28
|
-
}, globalThis);
|
|
29
|
-
};
|
|
30
|
-
export {
|
|
31
|
-
renderChildren
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=renderChildren.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderChildren.js","sources":["../../../../src/components/RichTextRenderer/renderChildren.tsx"],"sourcesContent":["import type { ReactElement } from 'react'\nimport type { BuiltinElements } from './BuiltinElements'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport { ElementRenderer, RenderElement } from './ElementRenderer'\nimport { LeafRenderer, RenderLeaf } from './LeafRenderer'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\n\nexport interface RenderChildrenOptions<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\trenderElement?: RenderElement<CustomElements, CustomLeaves>\n\trenderLeaf?: RenderLeaf<CustomLeaves>\n\tattributeNamePrefix?: string\n}\n\nexport const renderChildren = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>(\n\tchildren:\n\t\t| CustomElements\n\t\t| BuiltinElements<CustomElements, CustomLeaves>\n\t\t| CustomLeaves\n\t\t| BuiltinLeaves\n\t\t| Array<CustomElements | BuiltinElements<CustomElements, CustomLeaves> | CustomLeaves | BuiltinLeaves>,\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>,\n): ReactElement => {\n\tif (!Array.isArray(children)) {\n\t\tchildren = [children]\n\t}\n\treturn (\n\t\t<>\n\t\t\t{children.map((child, i) => {\n\t\t\t\tif ('text' in child) {\n\t\t\t\t\treturn <LeafRenderer<CustomLeaves> key={i} leaf={child} renderLeaf={options.renderLeaf} />\n\t\t\t\t}\n\t\t\t\tif ('children' in child) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ElementRenderer<CustomElements, CustomLeaves> key={i} element={child} options={options}>\n\t\t\t\t\t\t\t{renderChildren<CustomElements, CustomLeaves>(child.children as typeof children, options)}\n\t\t\t\t\t\t</ElementRenderer>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\treturn null // Throw?\n\t\t\t})}\n\t\t</>\n\t)\n}\n"],"names":["this"],"mappings":";;;AAiBa,MAAA,iBAAiB,CAI7B,UAMA,YACkB;AAClB,MAAI,CAAC,MAAM,QAAQ,QAAQ,GAAG;AAC7B,eAAW,CAAC,QAAQ;AAAA,EACrB;AACA,SAEG,uBAAA,UAAA,EAAA,UAAA,SAAS,IAAI,CAAC,OAAO,MAAM;AAC3B,QAAI,UAAU,OAAO;AACpB,oCAAQ,cAAmC,EAAA,MAAM,OAAO,YAAY,QAAQ,cAApC,GAAjC,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAiF,GAAAA,UAAA;AAAA,IACzF;AACA,QAAI,cAAc,OAAO;AAEvB,aAAA,uBAAC,iBAAsD,EAAA,SAAS,OAAO,SACrE,yBAA6C,MAAM,UAA6B,OAAO,EAAA,GADrC,GAApD,OAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAEA,GAAAA,UAAA;AAAA,IAEF;AACO,WAAA;AAAA,EAAA,CACP,EAbF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAcA,GAAAA,UAAA;AAEF;"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const RichTextRendererError = require("./RichTextRendererError.cjs");
|
|
4
|
-
const resolveRichTextElementMetadata = (element, metadata) => {
|
|
5
|
-
let reference = void 0;
|
|
6
|
-
if ("referenceId" in element && typeof element["referenceId"] === "string") {
|
|
7
|
-
const resolved = metadata.references?.get(element["referenceId"]);
|
|
8
|
-
if (resolved === void 0) {
|
|
9
|
-
throw new RichTextRendererError.RichTextRendererError(
|
|
10
|
-
`Cannot find reference id '${element["referenceId"]}'` + (metadata.references === void 0 ? ` because its containing block's lacks the '${metadata.referencesField}' field. ` : `.`)
|
|
11
|
-
);
|
|
12
|
-
}
|
|
13
|
-
reference = resolved;
|
|
14
|
-
}
|
|
15
|
-
let referenceRenderer = void 0;
|
|
16
|
-
let referenceType = void 0;
|
|
17
|
-
if (reference && metadata.referenceDiscriminationField) {
|
|
18
|
-
referenceType = reference[metadata.referenceDiscriminationField];
|
|
19
|
-
referenceRenderer = metadata.referenceRenderers[referenceType];
|
|
20
|
-
}
|
|
21
|
-
return {
|
|
22
|
-
formatVersion: metadata.formatVersion,
|
|
23
|
-
reference,
|
|
24
|
-
referenceType,
|
|
25
|
-
referenceRenderer
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
exports.resolveRichTextElementMetadata = resolveRichTextElementMetadata;
|
|
29
|
-
//# sourceMappingURL=resolveRichTextElementMetadata.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRichTextElementMetadata.cjs","sources":["../../../../src/components/RichTextRenderer/resolveRichTextElementMetadata.ts"],"sourcesContent":["import type { BuiltinElements } from './BuiltinElements'\nimport type { ReferenceRenderer } from './ReferenceRenderer'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextElementMetadata } from './RichTextElementMetadata'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport type { RichTextRenderMetadata } from './RichTextRenderMetadata'\n\nexport const resolveRichTextElementMetadata = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n>(\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>,\n\tmetadata: RichTextRenderMetadata<CustomElements, CustomLeaves, Reference>,\n): RichTextElementMetadata<CustomElements, CustomLeaves, Reference> => {\n\tlet reference: Reference | undefined = undefined\n\n\tif ('referenceId' in element && typeof element['referenceId'] === 'string') {\n\t\tconst resolved = metadata.references?.get(element['referenceId'])\n\n\t\tif (resolved === undefined) {\n\t\t\tthrow new RichTextRendererError(\n\t\t\t\t`Cannot find reference id '${element['referenceId']}'` +\n\t\t\t\t\t(metadata.references === undefined\n\t\t\t\t\t\t? ` because its containing block's lacks the '${metadata.referencesField}' field. `\n\t\t\t\t\t\t: `.`),\n\t\t\t)\n\t\t}\n\t\treference = resolved as Reference\n\t}\n\n\tlet referenceRenderer: ReferenceRenderer<Reference, CustomElements, CustomLeaves> | undefined = undefined\n\tlet referenceType: string | undefined = undefined\n\n\tif (reference && metadata.referenceDiscriminationField) {\n\t\treferenceType = (reference as Reference & Record<typeof metadata.referenceDiscriminationField, string>)[\n\t\t\tmetadata.referenceDiscriminationField\n\t\t]\n\t\treferenceRenderer = metadata.referenceRenderers[referenceType]\n\t}\n\n\treturn {\n\t\tformatVersion: metadata.formatVersion,\n\t\treference,\n\t\treferenceType,\n\t\treferenceRenderer,\n\t}\n}\n"],"names":["RichTextRendererError"],"mappings":";;;AASa,MAAA,iCAAiC,CAK7C,SACA,aACsE;AACtE,MAAI,YAAmC;AAEvC,MAAI,iBAAiB,WAAW,OAAO,QAAQ,aAAa,MAAM,UAAU;AAC3E,UAAM,WAAW,SAAS,YAAY,IAAI,QAAQ,aAAa,CAAC;AAEhE,QAAI,aAAa,QAAW;AAC3B,YAAM,IAAIA,sBAAA;AAAA,QACT,6BAA6B,QAAQ,aAAa,QAChD,SAAS,eAAe,SACtB,8CAA8C,SAAS,6BACvD;AAAA,MAAA;AAAA,IAEN;AACY,gBAAA;AAAA,EACb;AAEA,MAAI,oBAA4F;AAChG,MAAI,gBAAoC;AAEpC,MAAA,aAAa,SAAS,8BAA8B;AACtC,oBAAA,UAChB,SAAS,4BACV;AACoB,wBAAA,SAAS,mBAAmB,aAAa;AAAA,EAC9D;AAEO,SAAA;AAAA,IACN,eAAe,SAAS;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF;;"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { RichTextRendererError } from "./RichTextRendererError.js";
|
|
2
|
-
const resolveRichTextElementMetadata = (element, metadata) => {
|
|
3
|
-
let reference = void 0;
|
|
4
|
-
if ("referenceId" in element && typeof element["referenceId"] === "string") {
|
|
5
|
-
const resolved = metadata.references?.get(element["referenceId"]);
|
|
6
|
-
if (resolved === void 0) {
|
|
7
|
-
throw new RichTextRendererError(
|
|
8
|
-
`Cannot find reference id '${element["referenceId"]}'` + (metadata.references === void 0 ? ` because its containing block's lacks the '${metadata.referencesField}' field. ` : `.`)
|
|
9
|
-
);
|
|
10
|
-
}
|
|
11
|
-
reference = resolved;
|
|
12
|
-
}
|
|
13
|
-
let referenceRenderer = void 0;
|
|
14
|
-
let referenceType = void 0;
|
|
15
|
-
if (reference && metadata.referenceDiscriminationField) {
|
|
16
|
-
referenceType = reference[metadata.referenceDiscriminationField];
|
|
17
|
-
referenceRenderer = metadata.referenceRenderers[referenceType];
|
|
18
|
-
}
|
|
19
|
-
return {
|
|
20
|
-
formatVersion: metadata.formatVersion,
|
|
21
|
-
reference,
|
|
22
|
-
referenceType,
|
|
23
|
-
referenceRenderer
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
export {
|
|
27
|
-
resolveRichTextElementMetadata
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=resolveRichTextElementMetadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRichTextElementMetadata.js","sources":["../../../../src/components/RichTextRenderer/resolveRichTextElementMetadata.ts"],"sourcesContent":["import type { BuiltinElements } from './BuiltinElements'\nimport type { ReferenceRenderer } from './ReferenceRenderer'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextElementMetadata } from './RichTextElementMetadata'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport type { RichTextRenderMetadata } from './RichTextRenderMetadata'\n\nexport const resolveRichTextElementMetadata = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n>(\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>,\n\tmetadata: RichTextRenderMetadata<CustomElements, CustomLeaves, Reference>,\n): RichTextElementMetadata<CustomElements, CustomLeaves, Reference> => {\n\tlet reference: Reference | undefined = undefined\n\n\tif ('referenceId' in element && typeof element['referenceId'] === 'string') {\n\t\tconst resolved = metadata.references?.get(element['referenceId'])\n\n\t\tif (resolved === undefined) {\n\t\t\tthrow new RichTextRendererError(\n\t\t\t\t`Cannot find reference id '${element['referenceId']}'` +\n\t\t\t\t\t(metadata.references === undefined\n\t\t\t\t\t\t? ` because its containing block's lacks the '${metadata.referencesField}' field. `\n\t\t\t\t\t\t: `.`),\n\t\t\t)\n\t\t}\n\t\treference = resolved as Reference\n\t}\n\n\tlet referenceRenderer: ReferenceRenderer<Reference, CustomElements, CustomLeaves> | undefined = undefined\n\tlet referenceType: string | undefined = undefined\n\n\tif (reference && metadata.referenceDiscriminationField) {\n\t\treferenceType = (reference as Reference & Record<typeof metadata.referenceDiscriminationField, string>)[\n\t\t\tmetadata.referenceDiscriminationField\n\t\t]\n\t\treferenceRenderer = metadata.referenceRenderers[referenceType]\n\t}\n\n\treturn {\n\t\tformatVersion: metadata.formatVersion,\n\t\treference,\n\t\treferenceType,\n\t\treferenceRenderer,\n\t}\n}\n"],"names":[],"mappings":";AASa,MAAA,iCAAiC,CAK7C,SACA,aACsE;AACtE,MAAI,YAAmC;AAEvC,MAAI,iBAAiB,WAAW,OAAO,QAAQ,aAAa,MAAM,UAAU;AAC3E,UAAM,WAAW,SAAS,YAAY,IAAI,QAAQ,aAAa,CAAC;AAEhE,QAAI,aAAa,QAAW;AAC3B,YAAM,IAAI;AAAA,QACT,6BAA6B,QAAQ,aAAa,QAChD,SAAS,eAAe,SACtB,8CAA8C,SAAS,6BACvD;AAAA,MAAA;AAAA,IAEN;AACY,gBAAA;AAAA,EACb;AAEA,MAAI,oBAA4F;AAChG,MAAI,gBAAoC;AAEpC,MAAA,aAAa,SAAS,8BAA8B;AACtC,oBAAA,UAChB,SAAS,4BACV;AACoB,wBAAA,SAAS,mBAAmB,aAAa;AAAA,EAC9D;AAEO,SAAA;AAAA,IACN,eAAe,SAAS;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF;"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const react = require("react");
|
|
5
|
-
const renderChildren = require("./renderChildren.cjs");
|
|
6
|
-
const RenderElementFallback = require("./RenderElementFallback.cjs");
|
|
7
|
-
const resolveRichTextElementMetadata = require("./resolveRichTextElementMetadata.cjs");
|
|
8
|
-
const RichTextRenderMetadataContext = require("./RichTextRenderMetadataContext.cjs");
|
|
9
|
-
function ElementRenderer({ element, children, options }) {
|
|
10
|
-
const metadata = RichTextRenderMetadataContext.useRichTextRenderMetadata();
|
|
11
|
-
const elementMetadata = resolveRichTextElementMetadata.resolveRichTextElementMetadata(element, metadata);
|
|
12
|
-
const fallback = /* @__PURE__ */ jsxRuntime.jsx(RenderElementFallback.RenderElementFallback, { element, options, children });
|
|
13
|
-
return options.renderElement ? react.createElement(options.renderElement, {
|
|
14
|
-
...elementMetadata,
|
|
15
|
-
element,
|
|
16
|
-
fallback,
|
|
17
|
-
children,
|
|
18
|
-
renderChildren: renderChildren.renderChildren,
|
|
19
|
-
renderChildrenOptions: options
|
|
20
|
-
}) : fallback;
|
|
21
|
-
}
|
|
22
|
-
exports.ElementRenderer = ElementRenderer;
|
|
23
|
-
//# sourceMappingURL=ElementRenderer.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElementRenderer.cjs","sources":["../../../../src/components/RichTextRenderer/ElementRenderer.tsx"],"sourcesContent":["import type { ComponentType, ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinElements } from './BuiltinElements'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport type { RenderChildrenOptions } from './renderChildren'\nimport { renderChildren } from './renderChildren'\nimport { RenderElementFallback } from './RenderElementFallback'\nimport { resolveRichTextElementMetadata } from './resolveRichTextElementMetadata'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextElementMetadata } from './RichTextElementMetadata'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport type RenderElement<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n> = ComponentType<\n\t{\n\t\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\t\tchildren: ReactElement\n\n\t\tfallback: ReactElement\n\n\t\trenderChildren: (\n\t\t\tchildren:\n\t\t\t\t| CustomElements\n\t\t\t\t| BuiltinElements<CustomElements, CustomLeaves>\n\t\t\t\t| CustomLeaves\n\t\t\t\t| BuiltinLeaves\n\t\t\t\t| Array<CustomElements | BuiltinElements<CustomElements, CustomLeaves> | CustomLeaves | BuiltinLeaves>,\n\t\t\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>,\n\t\t) => ReactElement\n\t\trenderChildrenOptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n\t} & RichTextElementMetadata<CustomElements, CustomLeaves, Reference>\n>\n\nexport interface ElementRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n}\n\nexport function ElementRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children, options }: ElementRendererProps<CustomElements, CustomLeaves>) {\n\tconst metadata = useRichTextRenderMetadata<CustomElements, CustomLeaves>()\n\tconst elementMetadata = resolveRichTextElementMetadata<CustomElements, CustomLeaves>(element, metadata)\n\n\tconst fallback = (\n\t\t<RenderElementFallback element={element as BuiltinElements} options={options}>\n\t\t\t{children}\n\t\t</RenderElementFallback>\n\t)\n\n\treturn options.renderElement\n\t\t? createElement(options.renderElement, {\n\t\t\t\t...elementMetadata,\n\t\t\t\telement,\n\t\t\t\tfallback,\n\t\t\t\tchildren,\n\t\t\t\trenderChildren,\n\t\t\t\trenderChildrenOptions: options,\n\t\t })\n\t\t: fallback\n}\n"],"names":["useRichTextRenderMetadata","resolveRichTextElementMetadata","jsx","RenderElementFallback","createElement","renderChildren"],"mappings":";;;;;;;;AA+CO,SAAS,gBAGd,EAAE,SAAS,UAAU,WAA+D;AACrF,QAAM,WAAWA,8BAAAA;AACX,QAAA,kBAAkBC,+BAAAA,+BAA6D,SAAS,QAAQ;AAEtG,QAAM,WACLC,2BAAAA,IAACC,sBAAsB,uBAAA,EAAA,SAAqC,SAC1D,SACF,CAAA;AAGD,SAAO,QAAQ,gBACZC,oBAAc,QAAQ,eAAe;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IAAA,gBACAC,eAAA;AAAA,IACA,uBAAuB;AAAA,EACtB,CAAA,IACD;AACJ;;"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { createElement } from "react";
|
|
3
|
-
import { renderChildren } from "./renderChildren.js";
|
|
4
|
-
import { RenderElementFallback } from "./RenderElementFallback.js";
|
|
5
|
-
import { resolveRichTextElementMetadata } from "./resolveRichTextElementMetadata.js";
|
|
6
|
-
import { useRichTextRenderMetadata } from "./RichTextRenderMetadataContext.js";
|
|
7
|
-
function ElementRenderer({ element, children, options }) {
|
|
8
|
-
const metadata = useRichTextRenderMetadata();
|
|
9
|
-
const elementMetadata = resolveRichTextElementMetadata(element, metadata);
|
|
10
|
-
const fallback = /* @__PURE__ */ jsx(RenderElementFallback, { element, options, children });
|
|
11
|
-
return options.renderElement ? createElement(options.renderElement, {
|
|
12
|
-
...elementMetadata,
|
|
13
|
-
element,
|
|
14
|
-
fallback,
|
|
15
|
-
children,
|
|
16
|
-
renderChildren,
|
|
17
|
-
renderChildrenOptions: options
|
|
18
|
-
}) : fallback;
|
|
19
|
-
}
|
|
20
|
-
export {
|
|
21
|
-
ElementRenderer
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=ElementRenderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElementRenderer.js","sources":["../../../../src/components/RichTextRenderer/ElementRenderer.tsx"],"sourcesContent":["import type { ComponentType, ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinElements } from './BuiltinElements'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport type { RenderChildrenOptions } from './renderChildren'\nimport { renderChildren } from './renderChildren'\nimport { RenderElementFallback } from './RenderElementFallback'\nimport { resolveRichTextElementMetadata } from './resolveRichTextElementMetadata'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextElementMetadata } from './RichTextElementMetadata'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport type RenderElement<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n> = ComponentType<\n\t{\n\t\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\t\tchildren: ReactElement\n\n\t\tfallback: ReactElement\n\n\t\trenderChildren: (\n\t\t\tchildren:\n\t\t\t\t| CustomElements\n\t\t\t\t| BuiltinElements<CustomElements, CustomLeaves>\n\t\t\t\t| CustomLeaves\n\t\t\t\t| BuiltinLeaves\n\t\t\t\t| Array<CustomElements | BuiltinElements<CustomElements, CustomLeaves> | CustomLeaves | BuiltinLeaves>,\n\t\t\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>,\n\t\t) => ReactElement\n\t\trenderChildrenOptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n\t} & RichTextElementMetadata<CustomElements, CustomLeaves, Reference>\n>\n\nexport interface ElementRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n}\n\nexport function ElementRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children, options }: ElementRendererProps<CustomElements, CustomLeaves>) {\n\tconst metadata = useRichTextRenderMetadata<CustomElements, CustomLeaves>()\n\tconst elementMetadata = resolveRichTextElementMetadata<CustomElements, CustomLeaves>(element, metadata)\n\n\tconst fallback = (\n\t\t<RenderElementFallback element={element as BuiltinElements} options={options}>\n\t\t\t{children}\n\t\t</RenderElementFallback>\n\t)\n\n\treturn options.renderElement\n\t\t? createElement(options.renderElement, {\n\t\t\t\t...elementMetadata,\n\t\t\t\telement,\n\t\t\t\tfallback,\n\t\t\t\tchildren,\n\t\t\t\trenderChildren,\n\t\t\t\trenderChildrenOptions: options,\n\t\t })\n\t\t: fallback\n}\n"],"names":[],"mappings":";;;;;;AA+CO,SAAS,gBAGd,EAAE,SAAS,UAAU,WAA+D;AACrF,QAAM,WAAW;AACX,QAAA,kBAAkB,+BAA6D,SAAS,QAAQ;AAEtG,QAAM,WACL,oBAAC,uBAAsB,EAAA,SAAqC,SAC1D,SACF,CAAA;AAGD,SAAO,QAAQ,gBACZ,cAAc,QAAQ,eAAe;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,uBAAuB;AAAA,EACtB,CAAA,IACD;AACJ;"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const react = require("react");
|
|
5
|
-
const RenderLeafFallback = require("./RenderLeafFallback.cjs");
|
|
6
|
-
const RichTextRenderMetadataContext = require("./RichTextRenderMetadataContext.cjs");
|
|
7
|
-
function LeafRenderer({
|
|
8
|
-
leaf,
|
|
9
|
-
renderLeaf
|
|
10
|
-
}) {
|
|
11
|
-
const formatVersion = RichTextRenderMetadataContext.useRichTextRenderMetadata().formatVersion;
|
|
12
|
-
const fallback = /* @__PURE__ */ jsxRuntime.jsx(RenderLeafFallback.RenderLeafFallback, { leaf });
|
|
13
|
-
return renderLeaf ? react.createElement(
|
|
14
|
-
renderLeaf,
|
|
15
|
-
{
|
|
16
|
-
formatVersion,
|
|
17
|
-
leaf,
|
|
18
|
-
fallback
|
|
19
|
-
},
|
|
20
|
-
leaf.text
|
|
21
|
-
) : fallback;
|
|
22
|
-
}
|
|
23
|
-
exports.LeafRenderer = LeafRenderer;
|
|
24
|
-
//# sourceMappingURL=LeafRenderer.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LeafRenderer.cjs","sources":["../../../../src/components/RichTextRenderer/LeafRenderer.tsx"],"sourcesContent":["import type { ComponentType, ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\nimport { RenderLeafFallback } from './RenderLeafFallback'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextLeafMetadata } from './RichTextLeafMetadata'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport type RenderLeaf<CustomLeaves extends RichTextLeaf> = ComponentType<\n\t{\n\t\tleaf: CustomLeaves | BuiltinLeaves\n\t\tfallback: ReactElement\n\t} & RichTextLeafMetadata\n>\n\nexport interface LeafRendererProps<CustomLeaves extends RichTextLeaf = never> {\n\trenderLeaf?: RenderLeaf<CustomLeaves>\n\tleaf: CustomLeaves | BuiltinLeaves\n}\n\nexport function LeafRenderer<CustomLeaves extends RichTextLeaf = never>({\n\tleaf,\n\trenderLeaf,\n}: LeafRendererProps<CustomLeaves>) {\n\tconst formatVersion = useRichTextRenderMetadata().formatVersion\n\tconst fallback = <RenderLeafFallback leaf={leaf} />\n\n\treturn renderLeaf\n\t\t? createElement(\n\t\t\t\trenderLeaf,\n\t\t\t\t{\n\t\t\t\t\tformatVersion,\n\t\t\t\t\tleaf,\n\t\t\t\t\tfallback,\n\t\t\t\t},\n\t\t\t\tleaf.text,\n\t\t )\n\t\t: fallback\n}\n"],"names":["useRichTextRenderMetadata","jsx","RenderLeafFallback","createElement"],"mappings":";;;;;;AAoBO,SAAS,aAAwD;AAAA,EACvE;AAAA,EACA;AACD,GAAoC;AAC7B,QAAA,gBAAgBA,wDAA4B,EAAA;AAC5C,QAAA,WAAYC,2BAAA,IAAAC,mBAAA,oBAAA,EAAmB,KAAY,CAAA;AAEjD,SAAO,aACJC,MAAA;AAAA,IACA;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,KAAK;AAAA,EAEL,IAAA;AACJ;;"}
|