@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.
Files changed (174) hide show
  1. package/dist/development/index.cjs +9 -5
  2. package/dist/development/index.cjs.map +1 -1
  3. package/dist/development/index.js +1 -4
  4. package/dist/development/index.js.map +1 -1
  5. package/dist/development/upload/useFileUpload.cjs.map +1 -1
  6. package/dist/development/upload/useFileUpload.js.map +1 -1
  7. package/dist/development/useGraphQlClient.cjs.map +1 -1
  8. package/dist/development/useGraphQlClient.js.map +1 -1
  9. package/dist/production/index.cjs +9 -5
  10. package/dist/production/index.cjs.map +1 -1
  11. package/dist/production/index.js +1 -4
  12. package/dist/production/index.js.map +1 -1
  13. package/dist/production/upload/useFileUpload.cjs.map +1 -1
  14. package/dist/production/upload/useFileUpload.js.map +1 -1
  15. package/dist/production/useGraphQlClient.cjs.map +1 -1
  16. package/dist/production/useGraphQlClient.js.map +1 -1
  17. package/dist/types/index.d.ts +1 -1
  18. package/dist/types/index.d.ts.map +1 -1
  19. package/dist/types/tsconfig.tsbuildinfo +1 -1
  20. package/package.json +4 -3
  21. package/src/index.ts +1 -1
  22. package/src/tsconfig.json +1 -0
  23. package/dist/development/components/RichTextRenderer/ElementRenderer.cjs +0 -27
  24. package/dist/development/components/RichTextRenderer/ElementRenderer.cjs.map +0 -1
  25. package/dist/development/components/RichTextRenderer/ElementRenderer.js +0 -27
  26. package/dist/development/components/RichTextRenderer/ElementRenderer.js.map +0 -1
  27. package/dist/development/components/RichTextRenderer/LeafRenderer.cjs +0 -28
  28. package/dist/development/components/RichTextRenderer/LeafRenderer.cjs.map +0 -1
  29. package/dist/development/components/RichTextRenderer/LeafRenderer.js +0 -28
  30. package/dist/development/components/RichTextRenderer/LeafRenderer.js.map +0 -1
  31. package/dist/development/components/RichTextRenderer/RenderElementFallback.cjs +0 -155
  32. package/dist/development/components/RichTextRenderer/RenderElementFallback.cjs.map +0 -1
  33. package/dist/development/components/RichTextRenderer/RenderElementFallback.js +0 -155
  34. package/dist/development/components/RichTextRenderer/RenderElementFallback.js.map +0 -1
  35. package/dist/development/components/RichTextRenderer/RenderLeafFallback.cjs +0 -74
  36. package/dist/development/components/RichTextRenderer/RenderLeafFallback.cjs.map +0 -1
  37. package/dist/development/components/RichTextRenderer/RenderLeafFallback.js +0 -74
  38. package/dist/development/components/RichTextRenderer/RenderLeafFallback.js.map +0 -1
  39. package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.cjs +0 -15
  40. package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.cjs.map +0 -1
  41. package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.js +0 -15
  42. package/dist/development/components/RichTextRenderer/RichTextRenderMetadataContext.js.map +0 -1
  43. package/dist/development/components/RichTextRenderer/RichTextRenderer.cjs +0 -124
  44. package/dist/development/components/RichTextRenderer/RichTextRenderer.cjs.map +0 -1
  45. package/dist/development/components/RichTextRenderer/RichTextRenderer.js +0 -124
  46. package/dist/development/components/RichTextRenderer/RichTextRenderer.js.map +0 -1
  47. package/dist/development/components/RichTextRenderer/RichTextRendererError.cjs +0 -6
  48. package/dist/development/components/RichTextRenderer/RichTextRendererError.cjs.map +0 -1
  49. package/dist/development/components/RichTextRenderer/RichTextRendererError.js +0 -6
  50. package/dist/development/components/RichTextRenderer/RichTextRendererError.js.map +0 -1
  51. package/dist/development/components/RichTextRenderer/defaultDeserialize.cjs +0 -14
  52. package/dist/development/components/RichTextRenderer/defaultDeserialize.cjs.map +0 -1
  53. package/dist/development/components/RichTextRenderer/defaultDeserialize.js +0 -14
  54. package/dist/development/components/RichTextRenderer/defaultDeserialize.js.map +0 -1
  55. package/dist/development/components/RichTextRenderer/renderChildren.cjs +0 -33
  56. package/dist/development/components/RichTextRenderer/renderChildren.cjs.map +0 -1
  57. package/dist/development/components/RichTextRenderer/renderChildren.js +0 -33
  58. package/dist/development/components/RichTextRenderer/renderChildren.js.map +0 -1
  59. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.cjs +0 -29
  60. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.cjs.map +0 -1
  61. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.js +0 -29
  62. package/dist/development/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +0 -1
  63. package/dist/production/components/RichTextRenderer/ElementRenderer.cjs +0 -23
  64. package/dist/production/components/RichTextRenderer/ElementRenderer.cjs.map +0 -1
  65. package/dist/production/components/RichTextRenderer/ElementRenderer.js +0 -23
  66. package/dist/production/components/RichTextRenderer/ElementRenderer.js.map +0 -1
  67. package/dist/production/components/RichTextRenderer/LeafRenderer.cjs +0 -24
  68. package/dist/production/components/RichTextRenderer/LeafRenderer.cjs.map +0 -1
  69. package/dist/production/components/RichTextRenderer/LeafRenderer.js +0 -24
  70. package/dist/production/components/RichTextRenderer/LeafRenderer.js.map +0 -1
  71. package/dist/production/components/RichTextRenderer/RenderElementFallback.cjs +0 -82
  72. package/dist/production/components/RichTextRenderer/RenderElementFallback.cjs.map +0 -1
  73. package/dist/production/components/RichTextRenderer/RenderElementFallback.js +0 -82
  74. package/dist/production/components/RichTextRenderer/RenderElementFallback.js.map +0 -1
  75. package/dist/production/components/RichTextRenderer/RenderLeafFallback.cjs +0 -38
  76. package/dist/production/components/RichTextRenderer/RenderLeafFallback.cjs.map +0 -1
  77. package/dist/production/components/RichTextRenderer/RenderLeafFallback.js +0 -38
  78. package/dist/production/components/RichTextRenderer/RenderLeafFallback.js.map +0 -1
  79. package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.cjs +0 -15
  80. package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.cjs.map +0 -1
  81. package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.js +0 -15
  82. package/dist/production/components/RichTextRenderer/RichTextRenderMetadataContext.js.map +0 -1
  83. package/dist/production/components/RichTextRenderer/RichTextRenderer.cjs +0 -109
  84. package/dist/production/components/RichTextRenderer/RichTextRenderer.cjs.map +0 -1
  85. package/dist/production/components/RichTextRenderer/RichTextRenderer.js +0 -109
  86. package/dist/production/components/RichTextRenderer/RichTextRenderer.js.map +0 -1
  87. package/dist/production/components/RichTextRenderer/RichTextRendererError.cjs +0 -6
  88. package/dist/production/components/RichTextRenderer/RichTextRendererError.cjs.map +0 -1
  89. package/dist/production/components/RichTextRenderer/RichTextRendererError.js +0 -6
  90. package/dist/production/components/RichTextRenderer/RichTextRendererError.js.map +0 -1
  91. package/dist/production/components/RichTextRenderer/defaultDeserialize.cjs +0 -14
  92. package/dist/production/components/RichTextRenderer/defaultDeserialize.cjs.map +0 -1
  93. package/dist/production/components/RichTextRenderer/defaultDeserialize.js +0 -14
  94. package/dist/production/components/RichTextRenderer/defaultDeserialize.js.map +0 -1
  95. package/dist/production/components/RichTextRenderer/renderChildren.cjs +0 -21
  96. package/dist/production/components/RichTextRenderer/renderChildren.cjs.map +0 -1
  97. package/dist/production/components/RichTextRenderer/renderChildren.js +0 -21
  98. package/dist/production/components/RichTextRenderer/renderChildren.js.map +0 -1
  99. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.cjs +0 -29
  100. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.cjs.map +0 -1
  101. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.js +0 -29
  102. package/dist/production/components/RichTextRenderer/resolveRichTextElementMetadata.js.map +0 -1
  103. package/dist/types/components/RichTextRenderer/BuiltinElements.d.ts +0 -49
  104. package/dist/types/components/RichTextRenderer/BuiltinElements.d.ts.map +0 -1
  105. package/dist/types/components/RichTextRenderer/BuiltinLeaves.d.ts +0 -21
  106. package/dist/types/components/RichTextRenderer/BuiltinLeaves.d.ts.map +0 -1
  107. package/dist/types/components/RichTextRenderer/ElementRenderer.d.ts +0 -22
  108. package/dist/types/components/RichTextRenderer/ElementRenderer.d.ts.map +0 -1
  109. package/dist/types/components/RichTextRenderer/LeafRenderer.d.ts +0 -14
  110. package/dist/types/components/RichTextRenderer/LeafRenderer.d.ts.map +0 -1
  111. package/dist/types/components/RichTextRenderer/NormalizedRichTextBlock.d.ts +0 -14
  112. package/dist/types/components/RichTextRenderer/NormalizedRichTextBlock.d.ts.map +0 -1
  113. package/dist/types/components/RichTextRenderer/ReferenceRenderer.d.ts +0 -14
  114. package/dist/types/components/RichTextRenderer/ReferenceRenderer.d.ts.map +0 -1
  115. package/dist/types/components/RichTextRenderer/RenderElementFallback.d.ts +0 -12
  116. package/dist/types/components/RichTextRenderer/RenderElementFallback.d.ts.map +0 -1
  117. package/dist/types/components/RichTextRenderer/RenderLeafFallback.d.ts +0 -6
  118. package/dist/types/components/RichTextRenderer/RenderLeafFallback.d.ts.map +0 -1
  119. package/dist/types/components/RichTextRenderer/RichTextBlock.d.ts +0 -2
  120. package/dist/types/components/RichTextRenderer/RichTextBlock.d.ts.map +0 -1
  121. package/dist/types/components/RichTextRenderer/RichTextElement.d.ts +0 -7
  122. package/dist/types/components/RichTextRenderer/RichTextElement.d.ts.map +0 -1
  123. package/dist/types/components/RichTextRenderer/RichTextElementMetadata.d.ts +0 -11
  124. package/dist/types/components/RichTextRenderer/RichTextElementMetadata.d.ts.map +0 -1
  125. package/dist/types/components/RichTextRenderer/RichTextLeaf.d.ts +0 -4
  126. package/dist/types/components/RichTextRenderer/RichTextLeaf.d.ts.map +0 -1
  127. package/dist/types/components/RichTextRenderer/RichTextLeafMetadata.d.ts +0 -4
  128. package/dist/types/components/RichTextRenderer/RichTextLeafMetadata.d.ts.map +0 -1
  129. package/dist/types/components/RichTextRenderer/RichTextReference.d.ts +0 -4
  130. package/dist/types/components/RichTextRenderer/RichTextReference.d.ts.map +0 -1
  131. package/dist/types/components/RichTextRenderer/RichTextRenderMetadata.d.ts +0 -12
  132. package/dist/types/components/RichTextRenderer/RichTextRenderMetadata.d.ts.map +0 -1
  133. package/dist/types/components/RichTextRenderer/RichTextRenderMetadataContext.d.ts +0 -7
  134. package/dist/types/components/RichTextRenderer/RichTextRenderMetadataContext.d.ts.map +0 -1
  135. package/dist/types/components/RichTextRenderer/RichTextRenderer.d.ts +0 -33
  136. package/dist/types/components/RichTextRenderer/RichTextRenderer.d.ts.map +0 -1
  137. package/dist/types/components/RichTextRenderer/RichTextRendererError.d.ts +0 -3
  138. package/dist/types/components/RichTextRenderer/RichTextRendererError.d.ts.map +0 -1
  139. package/dist/types/components/RichTextRenderer/RootEditorNode.d.ts +0 -9
  140. package/dist/types/components/RichTextRenderer/RootEditorNode.d.ts.map +0 -1
  141. package/dist/types/components/RichTextRenderer/defaultDeserialize.d.ts +0 -5
  142. package/dist/types/components/RichTextRenderer/defaultDeserialize.d.ts.map +0 -1
  143. package/dist/types/components/RichTextRenderer/index.d.ts +0 -16
  144. package/dist/types/components/RichTextRenderer/index.d.ts.map +0 -1
  145. package/dist/types/components/RichTextRenderer/renderChildren.d.ts +0 -14
  146. package/dist/types/components/RichTextRenderer/renderChildren.d.ts.map +0 -1
  147. package/dist/types/components/RichTextRenderer/resolveRichTextElementMetadata.d.ts +0 -8
  148. package/dist/types/components/RichTextRenderer/resolveRichTextElementMetadata.d.ts.map +0 -1
  149. package/dist/types/components/index.d.ts +0 -2
  150. package/dist/types/components/index.d.ts.map +0 -1
  151. package/src/components/RichTextRenderer/BuiltinElements.ts +0 -112
  152. package/src/components/RichTextRenderer/BuiltinLeaves.ts +0 -32
  153. package/src/components/RichTextRenderer/ElementRenderer.tsx +0 -71
  154. package/src/components/RichTextRenderer/LeafRenderer.tsx +0 -39
  155. package/src/components/RichTextRenderer/NormalizedRichTextBlock.ts +0 -17
  156. package/src/components/RichTextRenderer/ReferenceRenderer.ts +0 -26
  157. package/src/components/RichTextRenderer/RenderElementFallback.tsx +0 -147
  158. package/src/components/RichTextRenderer/RenderLeafFallback.tsx +0 -43
  159. package/src/components/RichTextRenderer/RichTextBlock.ts +0 -1
  160. package/src/components/RichTextRenderer/RichTextElement.ts +0 -10
  161. package/src/components/RichTextRenderer/RichTextElementMetadata.ts +0 -15
  162. package/src/components/RichTextRenderer/RichTextLeaf.ts +0 -3
  163. package/src/components/RichTextRenderer/RichTextLeafMetadata.ts +0 -3
  164. package/src/components/RichTextRenderer/RichTextReference.ts +0 -3
  165. package/src/components/RichTextRenderer/RichTextRenderMetadata.ts +0 -16
  166. package/src/components/RichTextRenderer/RichTextRenderMetadataContext.ts +0 -20
  167. package/src/components/RichTextRenderer/RichTextRenderer.tsx +0 -168
  168. package/src/components/RichTextRenderer/RichTextRendererError.ts +0 -1
  169. package/src/components/RichTextRenderer/RootEditorNode.ts +0 -12
  170. package/src/components/RichTextRenderer/defaultDeserialize.ts +0 -19
  171. package/src/components/RichTextRenderer/index.ts +0 -15
  172. package/src/components/RichTextRenderer/renderChildren.tsx +0 -50
  173. package/src/components/RichTextRenderer/resolveRichTextElementMetadata.ts +0 -50
  174. package/src/components/index.ts +0 -1
@@ -1,24 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { createElement } from "react";
3
- import { RenderLeafFallback } from "./RenderLeafFallback.js";
4
- import { useRichTextRenderMetadata } from "./RichTextRenderMetadataContext.js";
5
- function LeafRenderer({
6
- leaf,
7
- renderLeaf
8
- }) {
9
- const formatVersion = useRichTextRenderMetadata().formatVersion;
10
- const fallback = /* @__PURE__ */ jsx(RenderLeafFallback, { leaf });
11
- return renderLeaf ? createElement(
12
- renderLeaf,
13
- {
14
- formatVersion,
15
- leaf,
16
- fallback
17
- },
18
- leaf.text
19
- ) : fallback;
20
- }
21
- export {
22
- LeafRenderer
23
- };
24
- //# sourceMappingURL=LeafRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LeafRenderer.js","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":[],"mappings":";;;;AAoBO,SAAS,aAAwD;AAAA,EACvE;AAAA,EACA;AACD,GAAoC;AAC7B,QAAA,gBAAgB,0BAA4B,EAAA;AAC5C,QAAA,WAAY,oBAAA,oBAAA,EAAmB,KAAY,CAAA;AAEjD,SAAO,aACJ;AAAA,IACA;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,KAAK;AAAA,EAEL,IAAA;AACJ;"}
@@ -1,82 +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 resolveRichTextElementMetadata = require("./resolveRichTextElementMetadata.cjs");
7
- const RichTextRenderMetadataContext = require("./RichTextRenderMetadataContext.cjs");
8
- const getElementDataAttributes = (element, attributeNamePrefix = "contember-") => {
9
- const { children, referenceId, ...extendedSpecifics } = element;
10
- return Object.fromEntries(
11
- Object.entries(extendedSpecifics).filter(([, value]) => {
12
- const t = typeof value;
13
- return t === "string" || t === "number" || t === "boolean";
14
- }).map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value])
15
- );
16
- };
17
- function RenderElementFallback({ element, children, options }) {
18
- const attributes = getElementDataAttributes(element, options.attributeNamePrefix);
19
- switch (element.type) {
20
- case "anchor":
21
- return /* @__PURE__ */ jsxRuntime.jsx("a", { ...attributes, href: element.href, children });
22
- case "heading":
23
- return react.createElement(`h${element.level}`, attributes, children);
24
- case "horizontalRule":
25
- return /* @__PURE__ */ jsxRuntime.jsx("hr", { ...attributes });
26
- case "listItem":
27
- return /* @__PURE__ */ jsxRuntime.jsx("li", { ...attributes, children });
28
- case "orderedList":
29
- return /* @__PURE__ */ jsxRuntime.jsx("ol", { ...attributes, children });
30
- case "paragraph":
31
- return /* @__PURE__ */ jsxRuntime.jsx("p", { ...attributes, children });
32
- case "reference": {
33
- return /* @__PURE__ */ jsxRuntime.jsx(ReferenceElementFallback, { element, children });
34
- }
35
- case "scrollTarget":
36
- return /* @__PURE__ */ jsxRuntime.jsx("span", { ...attributes, id: element.identifier, children });
37
- case "table": {
38
- const firstRow = element.children[0];
39
- if (!firstRow || firstRow.headerScope !== "table") {
40
- return /* @__PURE__ */ jsxRuntime.jsx("table", { ...attributes, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children }) });
41
- }
42
- return /* @__PURE__ */ jsxRuntime.jsxs("table", { ...attributes, children: [
43
- /* @__PURE__ */ jsxRuntime.jsx("thead", { children: renderChildren.renderChildren([firstRow], options) }),
44
- /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: renderChildren.renderChildren(element.children.slice(1), options) })
45
- ] });
46
- }
47
- case "tableRow":
48
- return /* @__PURE__ */ jsxRuntime.jsx("tr", { ...attributes, children });
49
- case "tableCell": {
50
- if (element.headerScope) {
51
- return /* @__PURE__ */ jsxRuntime.jsx("th", { ...attributes, scope: element.headerScope, children });
52
- }
53
- return /* @__PURE__ */ jsxRuntime.jsx("td", { ...attributes, children });
54
- }
55
- case "unorderedList":
56
- return /* @__PURE__ */ jsxRuntime.jsx("ul", { ...attributes, children });
57
- default: {
58
- {
59
- return children;
60
- }
61
- }
62
- }
63
- }
64
- function ReferenceElementFallback({ element, children }) {
65
- const metadata = RichTextRenderMetadataContext.useRichTextRenderMetadata();
66
- const elementMetadata = resolveRichTextElementMetadata.resolveRichTextElementMetadata(element, metadata);
67
- if (elementMetadata.referenceRenderer === void 0 || elementMetadata.referenceType === void 0 || elementMetadata.reference === void 0) {
68
- {
69
- return children;
70
- }
71
- }
72
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: elementMetadata.referenceRenderer?.({
73
- referenceType: elementMetadata.referenceType,
74
- referenceRenderer: elementMetadata.referenceRenderer,
75
- reference: elementMetadata.reference,
76
- formatVersion: elementMetadata.formatVersion,
77
- element,
78
- children
79
- }) });
80
- }
81
- exports.RenderElementFallback = RenderElementFallback;
82
- //# sourceMappingURL=RenderElementFallback.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenderElementFallback.cjs","sources":["../../../../src/components/RichTextRenderer/RenderElementFallback.tsx"],"sourcesContent":["import { createElement, ReactElement } from 'react'\nimport type { BuiltinElements, RichTextReferenceElement, RichTextTableRowElement } from './BuiltinElements'\nimport { renderChildren, RenderChildrenOptions } from './renderChildren'\nimport { resolveRichTextElementMetadata } from './resolveRichTextElementMetadata'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport interface RenderElementFallbackProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\telement: BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n}\n\nconst getElementDataAttributes = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>(\n\telement: RichTextElement<CustomElements, CustomLeaves>,\n\tattributeNamePrefix: string = 'contember-',\n): {\n\t[dataAttribute: string]: string | number | boolean\n} => {\n\tconst { children, referenceId, ...extendedSpecifics } = element\n\n\treturn Object.fromEntries(\n\t\tObject.entries(extendedSpecifics)\n\t\t\t.filter(([, value]) => {\n\t\t\t\tconst t = typeof value\n\t\t\t\treturn t === 'string' || t === 'number' || t === 'boolean'\n\t\t\t})\n\t\t\t.map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value]),\n\t)\n}\n\nexport function RenderElementFallback<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children, options }: RenderElementFallbackProps<CustomElements, CustomLeaves>) {\n\tconst attributes = getElementDataAttributes(element, options.attributeNamePrefix)\n\n\tswitch (element.type) {\n\t\tcase 'anchor':\n\t\t\treturn (\n\t\t\t\t<a {...attributes} href={element.href}>\n\t\t\t\t\t{children}\n\t\t\t\t</a>\n\t\t\t)\n\t\tcase 'heading':\n\t\t\treturn createElement(`h${element.level}`, attributes, children) // TODO numbered\n\t\tcase 'horizontalRule':\n\t\t\treturn <hr {...attributes} />\n\t\tcase 'listItem':\n\t\t\treturn <li {...attributes}>{children}</li>\n\t\tcase 'orderedList':\n\t\t\treturn <ol {...attributes}>{children}</ol>\n\t\tcase 'paragraph':\n\t\t\treturn <p {...attributes}>{children}</p>\n\t\tcase 'reference': {\n\t\t\treturn <ReferenceElementFallback element={element} children={children} />\n\t\t}\n\t\tcase 'scrollTarget':\n\t\t\treturn (\n\t\t\t\t<span {...attributes} id={element.identifier}>\n\t\t\t\t\t{children}\n\t\t\t\t</span>\n\t\t\t)\n\t\tcase 'table': {\n\t\t\tconst firstRow = element.children[0] as RichTextTableRowElement<CustomElements, CustomLeaves> | undefined\n\t\t\tif (!firstRow || firstRow.headerScope !== 'table') {\n\t\t\t\treturn (\n\t\t\t\t\t<table {...attributes}>\n\t\t\t\t\t\t<tbody>{children}</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<table {...attributes}>\n\t\t\t\t\t<thead>{renderChildren<CustomElements, CustomLeaves>([firstRow], options)}</thead>\n\t\t\t\t\t<tbody>{renderChildren<CustomElements, CustomLeaves>(element.children.slice(1) as any, options)}</tbody>\n\t\t\t\t</table>\n\t\t\t)\n\t\t}\n\t\tcase 'tableRow':\n\t\t\treturn <tr {...attributes}>{children}</tr>\n\t\tcase 'tableCell': {\n\t\t\tif (element.headerScope) {\n\t\t\t\treturn (\n\t\t\t\t\t<th {...attributes} scope={element.headerScope}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</th>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn <td {...attributes}>{children}</td>\n\t\t}\n\t\tcase 'unorderedList':\n\t\t\treturn <ul {...attributes}>{children}</ul>\n\t\tdefault: {\n\t\t\tif (import.meta.env.DEV) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`RichTextRenderer: unknown element of type '${(element as { type: string }).type}'.`,\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\treturn children // At least render the text contents\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction ReferenceElementFallback<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children }: { element: RichTextReferenceElement<CustomElements, CustomLeaves>; children: ReactElement }) {\n\tconst metadata = useRichTextRenderMetadata<CustomElements, CustomLeaves>()\n\tconst elementMetadata = resolveRichTextElementMetadata<CustomElements, CustomLeaves>(element, metadata)\n\n\tif (\n\t\telementMetadata.referenceRenderer === undefined ||\n\t\telementMetadata.referenceType === undefined ||\n\t\telementMetadata.reference === undefined\n\t) {\n\t\tif (import.meta.env.DEV) {\n\t\t\tthrow new RichTextRendererError(\n\t\t\t\t`RichTextRenderer: cannot render reference of type '${elementMetadata.referenceType}'.`,\n\t\t\t)\n\t\t} else {\n\t\t\treturn children // At least render the text contents\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{elementMetadata.referenceRenderer?.({\n\t\t\t\treferenceType: elementMetadata.referenceType,\n\t\t\t\treferenceRenderer: elementMetadata.referenceRenderer,\n\t\t\t\treference: elementMetadata.reference,\n\t\t\t\tformatVersion: elementMetadata.formatVersion,\n\t\t\t\telement,\n\t\t\t\tchildren,\n\t\t\t})}\n\t\t</>\n\t)\n}\n"],"names":["createElement","jsx","jsxs","renderChildren","useRichTextRenderMetadata","resolveRichTextElementMetadata","Fragment"],"mappings":"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"}
@@ -1,82 +0,0 @@
1
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { createElement } from "react";
3
- import { renderChildren } from "./renderChildren.js";
4
- import { resolveRichTextElementMetadata } from "./resolveRichTextElementMetadata.js";
5
- import { useRichTextRenderMetadata } from "./RichTextRenderMetadataContext.js";
6
- const getElementDataAttributes = (element, attributeNamePrefix = "contember-") => {
7
- const { children, referenceId, ...extendedSpecifics } = element;
8
- return Object.fromEntries(
9
- Object.entries(extendedSpecifics).filter(([, value]) => {
10
- const t = typeof value;
11
- return t === "string" || t === "number" || t === "boolean";
12
- }).map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value])
13
- );
14
- };
15
- function RenderElementFallback({ element, children, options }) {
16
- const attributes = getElementDataAttributes(element, options.attributeNamePrefix);
17
- switch (element.type) {
18
- case "anchor":
19
- return /* @__PURE__ */ jsx("a", { ...attributes, href: element.href, children });
20
- case "heading":
21
- return createElement(`h${element.level}`, attributes, children);
22
- case "horizontalRule":
23
- return /* @__PURE__ */ jsx("hr", { ...attributes });
24
- case "listItem":
25
- return /* @__PURE__ */ jsx("li", { ...attributes, children });
26
- case "orderedList":
27
- return /* @__PURE__ */ jsx("ol", { ...attributes, children });
28
- case "paragraph":
29
- return /* @__PURE__ */ jsx("p", { ...attributes, children });
30
- case "reference": {
31
- return /* @__PURE__ */ jsx(ReferenceElementFallback, { element, children });
32
- }
33
- case "scrollTarget":
34
- return /* @__PURE__ */ jsx("span", { ...attributes, id: element.identifier, children });
35
- case "table": {
36
- const firstRow = element.children[0];
37
- if (!firstRow || firstRow.headerScope !== "table") {
38
- return /* @__PURE__ */ jsx("table", { ...attributes, children: /* @__PURE__ */ jsx("tbody", { children }) });
39
- }
40
- return /* @__PURE__ */ jsxs("table", { ...attributes, children: [
41
- /* @__PURE__ */ jsx("thead", { children: renderChildren([firstRow], options) }),
42
- /* @__PURE__ */ jsx("tbody", { children: renderChildren(element.children.slice(1), options) })
43
- ] });
44
- }
45
- case "tableRow":
46
- return /* @__PURE__ */ jsx("tr", { ...attributes, children });
47
- case "tableCell": {
48
- if (element.headerScope) {
49
- return /* @__PURE__ */ jsx("th", { ...attributes, scope: element.headerScope, children });
50
- }
51
- return /* @__PURE__ */ jsx("td", { ...attributes, children });
52
- }
53
- case "unorderedList":
54
- return /* @__PURE__ */ jsx("ul", { ...attributes, children });
55
- default: {
56
- {
57
- return children;
58
- }
59
- }
60
- }
61
- }
62
- function ReferenceElementFallback({ element, children }) {
63
- const metadata = useRichTextRenderMetadata();
64
- const elementMetadata = resolveRichTextElementMetadata(element, metadata);
65
- if (elementMetadata.referenceRenderer === void 0 || elementMetadata.referenceType === void 0 || elementMetadata.reference === void 0) {
66
- {
67
- return children;
68
- }
69
- }
70
- return /* @__PURE__ */ jsx(Fragment, { children: elementMetadata.referenceRenderer?.({
71
- referenceType: elementMetadata.referenceType,
72
- referenceRenderer: elementMetadata.referenceRenderer,
73
- reference: elementMetadata.reference,
74
- formatVersion: elementMetadata.formatVersion,
75
- element,
76
- children
77
- }) });
78
- }
79
- export {
80
- RenderElementFallback
81
- };
82
- //# sourceMappingURL=RenderElementFallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenderElementFallback.js","sources":["../../../../src/components/RichTextRenderer/RenderElementFallback.tsx"],"sourcesContent":["import { createElement, ReactElement } from 'react'\nimport type { BuiltinElements, RichTextReferenceElement, RichTextTableRowElement } from './BuiltinElements'\nimport { renderChildren, RenderChildrenOptions } from './renderChildren'\nimport { resolveRichTextElementMetadata } from './resolveRichTextElementMetadata'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport { RichTextRendererError } from './RichTextRendererError'\nimport { useRichTextRenderMetadata } from './RichTextRenderMetadataContext'\n\nexport interface RenderElementFallbackProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n> {\n\telement: BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RenderChildrenOptions<CustomElements, CustomLeaves>\n}\n\nconst getElementDataAttributes = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>(\n\telement: RichTextElement<CustomElements, CustomLeaves>,\n\tattributeNamePrefix: string = 'contember-',\n): {\n\t[dataAttribute: string]: string | number | boolean\n} => {\n\tconst { children, referenceId, ...extendedSpecifics } = element\n\n\treturn Object.fromEntries(\n\t\tObject.entries(extendedSpecifics)\n\t\t\t.filter(([, value]) => {\n\t\t\t\tconst t = typeof value\n\t\t\t\treturn t === 'string' || t === 'number' || t === 'boolean'\n\t\t\t})\n\t\t\t.map(([attribute, value]) => [`data-${attributeNamePrefix}${attribute.toLowerCase()}`, value]),\n\t)\n}\n\nexport function RenderElementFallback<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children, options }: RenderElementFallbackProps<CustomElements, CustomLeaves>) {\n\tconst attributes = getElementDataAttributes(element, options.attributeNamePrefix)\n\n\tswitch (element.type) {\n\t\tcase 'anchor':\n\t\t\treturn (\n\t\t\t\t<a {...attributes} href={element.href}>\n\t\t\t\t\t{children}\n\t\t\t\t</a>\n\t\t\t)\n\t\tcase 'heading':\n\t\t\treturn createElement(`h${element.level}`, attributes, children) // TODO numbered\n\t\tcase 'horizontalRule':\n\t\t\treturn <hr {...attributes} />\n\t\tcase 'listItem':\n\t\t\treturn <li {...attributes}>{children}</li>\n\t\tcase 'orderedList':\n\t\t\treturn <ol {...attributes}>{children}</ol>\n\t\tcase 'paragraph':\n\t\t\treturn <p {...attributes}>{children}</p>\n\t\tcase 'reference': {\n\t\t\treturn <ReferenceElementFallback element={element} children={children} />\n\t\t}\n\t\tcase 'scrollTarget':\n\t\t\treturn (\n\t\t\t\t<span {...attributes} id={element.identifier}>\n\t\t\t\t\t{children}\n\t\t\t\t</span>\n\t\t\t)\n\t\tcase 'table': {\n\t\t\tconst firstRow = element.children[0] as RichTextTableRowElement<CustomElements, CustomLeaves> | undefined\n\t\t\tif (!firstRow || firstRow.headerScope !== 'table') {\n\t\t\t\treturn (\n\t\t\t\t\t<table {...attributes}>\n\t\t\t\t\t\t<tbody>{children}</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<table {...attributes}>\n\t\t\t\t\t<thead>{renderChildren<CustomElements, CustomLeaves>([firstRow], options)}</thead>\n\t\t\t\t\t<tbody>{renderChildren<CustomElements, CustomLeaves>(element.children.slice(1) as any, options)}</tbody>\n\t\t\t\t</table>\n\t\t\t)\n\t\t}\n\t\tcase 'tableRow':\n\t\t\treturn <tr {...attributes}>{children}</tr>\n\t\tcase 'tableCell': {\n\t\t\tif (element.headerScope) {\n\t\t\t\treturn (\n\t\t\t\t\t<th {...attributes} scope={element.headerScope}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</th>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn <td {...attributes}>{children}</td>\n\t\t}\n\t\tcase 'unorderedList':\n\t\t\treturn <ul {...attributes}>{children}</ul>\n\t\tdefault: {\n\t\t\tif (import.meta.env.DEV) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`RichTextRenderer: unknown element of type '${(element as { type: string }).type}'.`,\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\treturn children // At least render the text contents\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction ReferenceElementFallback<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n>({ element, children }: { element: RichTextReferenceElement<CustomElements, CustomLeaves>; children: ReactElement }) {\n\tconst metadata = useRichTextRenderMetadata<CustomElements, CustomLeaves>()\n\tconst elementMetadata = resolveRichTextElementMetadata<CustomElements, CustomLeaves>(element, metadata)\n\n\tif (\n\t\telementMetadata.referenceRenderer === undefined ||\n\t\telementMetadata.referenceType === undefined ||\n\t\telementMetadata.reference === undefined\n\t) {\n\t\tif (import.meta.env.DEV) {\n\t\t\tthrow new RichTextRendererError(\n\t\t\t\t`RichTextRenderer: cannot render reference of type '${elementMetadata.referenceType}'.`,\n\t\t\t)\n\t\t} else {\n\t\t\treturn children // At least render the text contents\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{elementMetadata.referenceRenderer?.({\n\t\t\t\treferenceType: elementMetadata.referenceType,\n\t\t\t\treferenceRenderer: elementMetadata.referenceRenderer,\n\t\t\t\treference: elementMetadata.reference,\n\t\t\t\tformatVersion: elementMetadata.formatVersion,\n\t\t\t\telement,\n\t\t\t\tchildren,\n\t\t\t})}\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":"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"}
@@ -1,38 +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
- function jsxN2br(text) {
6
- const lines = text.split("\n");
7
- if (lines.length <= 1) {
8
- return text;
9
- }
10
- return lines.map((line, i) => /* @__PURE__ */ jsxRuntime.jsxs(react.Fragment, { children: [
11
- !!i && /* @__PURE__ */ jsxRuntime.jsx("br", {}),
12
- line
13
- ] }, i));
14
- }
15
- function RenderLeafFallback({ leaf }) {
16
- let element = jsxN2br(leaf.text);
17
- if ("isCode" in leaf && leaf.isCode === true) {
18
- element = /* @__PURE__ */ jsxRuntime.jsx("code", { children: element });
19
- }
20
- if ("isStruckThrough" in leaf && leaf.isStruckThrough === true) {
21
- element = /* @__PURE__ */ jsxRuntime.jsx("s", { children: element });
22
- }
23
- if ("isHighlighted" in leaf && leaf.isHighlighted === true) {
24
- element = /* @__PURE__ */ jsxRuntime.jsx("em", { children: element });
25
- }
26
- if ("isUnderlined" in leaf && leaf.isUnderlined === true) {
27
- element = /* @__PURE__ */ jsxRuntime.jsx("u", { children: element });
28
- }
29
- if ("isItalic" in leaf && leaf.isItalic === true) {
30
- element = /* @__PURE__ */ jsxRuntime.jsx("i", { children: element });
31
- }
32
- if ("isBold" in leaf && leaf.isBold === true) {
33
- element = /* @__PURE__ */ jsxRuntime.jsx("b", { children: element });
34
- }
35
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: element });
36
- }
37
- exports.RenderLeafFallback = RenderLeafFallback;
38
- //# sourceMappingURL=RenderLeafFallback.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenderLeafFallback.cjs","sources":["../../../../src/components/RichTextRenderer/RenderLeafFallback.tsx"],"sourcesContent":["import { Fragment, ReactNode } from 'react'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\n\nexport interface RenderLeafFallbackProps {\n\tleaf: BuiltinLeaves\n}\n\nfunction jsxN2br(text: string): ReactNode {\n\tconst lines = text.split('\\n')\n\tif (lines.length <= 1) {\n\t\treturn text\n\t}\n\treturn lines.map((line, i) => (\n\t\t<Fragment key={i}>\n\t\t\t{!!i && <br />}\n\t\t\t{line}\n\t\t</Fragment>\n\t))\n}\n\nexport function RenderLeafFallback({ leaf }: RenderLeafFallbackProps) {\n\tlet element = jsxN2br(leaf.text)\n\n\tif ('isCode' in leaf && leaf.isCode === true) {\n\t\telement = <code>{element}</code>\n\t}\n\tif ('isStruckThrough' in leaf && leaf.isStruckThrough === true) {\n\t\telement = <s>{element}</s>\n\t}\n\tif ('isHighlighted' in leaf && leaf.isHighlighted === true) {\n\t\telement = <em>{element}</em>\n\t}\n\tif ('isUnderlined' in leaf && leaf.isUnderlined === true) {\n\t\telement = <u>{element}</u>\n\t}\n\tif ('isItalic' in leaf && leaf.isItalic === true) {\n\t\telement = <i>{element}</i>\n\t}\n\tif ('isBold' in leaf && leaf.isBold === true) {\n\t\telement = <b>{element}</b>\n\t}\n\treturn <>{element}</>\n}\n"],"names":["jsxs","Fragment","jsx"],"mappings":";;;;AAOA,SAAS,QAAQ,MAAyB;AACnC,QAAA,QAAQ,KAAK,MAAM,IAAI;AACzB,MAAA,MAAM,UAAU,GAAG;AACf,WAAA;AAAA,EACR;AACA,SAAO,MAAM,IAAI,CAAC,MAAM,MACvBA,gCAACC,MAAAA,UAAA,EACC,UAAA;AAAA,IAAC,CAAA,CAAC,KAAKC,+BAAC,MAAG,CAAA,CAAA;AAAA,IACX;AAAA,EAAA,EAAA,GAFa,CAGf,CACA;AACF;AAEgB,SAAA,mBAAmB,EAAE,QAAiC;AACjE,MAAA,UAAU,QAAQ,KAAK,IAAI;AAE/B,MAAI,YAAY,QAAQ,KAAK,WAAW,MAAM;AACnC,cAAAA,2BAAA,IAAC,UAAM,UAAQ,QAAA,CAAA;AAAA,EAC1B;AACA,MAAI,qBAAqB,QAAQ,KAAK,oBAAoB,MAAM;AACrD,cAAAA,2BAAA,IAAC,OAAG,UAAQ,QAAA,CAAA;AAAA,EACvB;AACA,MAAI,mBAAmB,QAAQ,KAAK,kBAAkB,MAAM;AACjD,cAAAA,2BAAA,IAAC,QAAI,UAAQ,QAAA,CAAA;AAAA,EACxB;AACA,MAAI,kBAAkB,QAAQ,KAAK,iBAAiB,MAAM;AAC/C,cAAAA,2BAAA,IAAC,OAAG,UAAQ,QAAA,CAAA;AAAA,EACvB;AACA,MAAI,cAAc,QAAQ,KAAK,aAAa,MAAM;AACvC,cAAAA,2BAAA,IAAC,OAAG,UAAQ,QAAA,CAAA;AAAA,EACvB;AACA,MAAI,YAAY,QAAQ,KAAK,WAAW,MAAM;AACnC,cAAAA,2BAAA,IAAC,OAAG,UAAQ,QAAA,CAAA;AAAA,EACvB;AACA,+DAAU,UAAQ,QAAA,CAAA;AACnB;;"}
@@ -1,38 +0,0 @@
1
- import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
- import { Fragment as Fragment$1 } from "react";
3
- function jsxN2br(text) {
4
- const lines = text.split("\n");
5
- if (lines.length <= 1) {
6
- return text;
7
- }
8
- return lines.map((line, i) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
9
- !!i && /* @__PURE__ */ jsx("br", {}),
10
- line
11
- ] }, i));
12
- }
13
- function RenderLeafFallback({ leaf }) {
14
- let element = jsxN2br(leaf.text);
15
- if ("isCode" in leaf && leaf.isCode === true) {
16
- element = /* @__PURE__ */ jsx("code", { children: element });
17
- }
18
- if ("isStruckThrough" in leaf && leaf.isStruckThrough === true) {
19
- element = /* @__PURE__ */ jsx("s", { children: element });
20
- }
21
- if ("isHighlighted" in leaf && leaf.isHighlighted === true) {
22
- element = /* @__PURE__ */ jsx("em", { children: element });
23
- }
24
- if ("isUnderlined" in leaf && leaf.isUnderlined === true) {
25
- element = /* @__PURE__ */ jsx("u", { children: element });
26
- }
27
- if ("isItalic" in leaf && leaf.isItalic === true) {
28
- element = /* @__PURE__ */ jsx("i", { children: element });
29
- }
30
- if ("isBold" in leaf && leaf.isBold === true) {
31
- element = /* @__PURE__ */ jsx("b", { children: element });
32
- }
33
- return /* @__PURE__ */ jsx(Fragment, { children: element });
34
- }
35
- export {
36
- RenderLeafFallback
37
- };
38
- //# sourceMappingURL=RenderLeafFallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenderLeafFallback.js","sources":["../../../../src/components/RichTextRenderer/RenderLeafFallback.tsx"],"sourcesContent":["import { Fragment, ReactNode } from 'react'\nimport type { BuiltinLeaves } from './BuiltinLeaves'\n\nexport interface RenderLeafFallbackProps {\n\tleaf: BuiltinLeaves\n}\n\nfunction jsxN2br(text: string): ReactNode {\n\tconst lines = text.split('\\n')\n\tif (lines.length <= 1) {\n\t\treturn text\n\t}\n\treturn lines.map((line, i) => (\n\t\t<Fragment key={i}>\n\t\t\t{!!i && <br />}\n\t\t\t{line}\n\t\t</Fragment>\n\t))\n}\n\nexport function RenderLeafFallback({ leaf }: RenderLeafFallbackProps) {\n\tlet element = jsxN2br(leaf.text)\n\n\tif ('isCode' in leaf && leaf.isCode === true) {\n\t\telement = <code>{element}</code>\n\t}\n\tif ('isStruckThrough' in leaf && leaf.isStruckThrough === true) {\n\t\telement = <s>{element}</s>\n\t}\n\tif ('isHighlighted' in leaf && leaf.isHighlighted === true) {\n\t\telement = <em>{element}</em>\n\t}\n\tif ('isUnderlined' in leaf && leaf.isUnderlined === true) {\n\t\telement = <u>{element}</u>\n\t}\n\tif ('isItalic' in leaf && leaf.isItalic === true) {\n\t\telement = <i>{element}</i>\n\t}\n\tif ('isBold' in leaf && leaf.isBold === true) {\n\t\telement = <b>{element}</b>\n\t}\n\treturn <>{element}</>\n}\n"],"names":["Fragment"],"mappings":";;AAOA,SAAS,QAAQ,MAAyB;AACnC,QAAA,QAAQ,KAAK,MAAM,IAAI;AACzB,MAAA,MAAM,UAAU,GAAG;AACf,WAAA;AAAA,EACR;AACA,SAAO,MAAM,IAAI,CAAC,MAAM,MACvB,qBAACA,YAAA,EACC,UAAA;AAAA,IAAC,CAAA,CAAC,KAAK,oBAAC,MAAG,CAAA,CAAA;AAAA,IACX;AAAA,EAAA,EAAA,GAFa,CAGf,CACA;AACF;AAEgB,SAAA,mBAAmB,EAAE,QAAiC;AACjE,MAAA,UAAU,QAAQ,KAAK,IAAI;AAE/B,MAAI,YAAY,QAAQ,KAAK,WAAW,MAAM;AACnC,cAAA,oBAAC,UAAM,UAAQ,QAAA,CAAA;AAAA,EAC1B;AACA,MAAI,qBAAqB,QAAQ,KAAK,oBAAoB,MAAM;AACrD,cAAA,oBAAC,OAAG,UAAQ,QAAA,CAAA;AAAA,EACvB;AACA,MAAI,mBAAmB,QAAQ,KAAK,kBAAkB,MAAM;AACjD,cAAA,oBAAC,QAAI,UAAQ,QAAA,CAAA;AAAA,EACxB;AACA,MAAI,kBAAkB,QAAQ,KAAK,iBAAiB,MAAM;AAC/C,cAAA,oBAAC,OAAG,UAAQ,QAAA,CAAA;AAAA,EACvB;AACA,MAAI,cAAc,QAAQ,KAAK,aAAa,MAAM;AACvC,cAAA,oBAAC,OAAG,UAAQ,QAAA,CAAA;AAAA,EACvB;AACA,MAAI,YAAY,QAAQ,KAAK,WAAW,MAAM;AACnC,cAAA,oBAAC,OAAG,UAAQ,QAAA,CAAA;AAAA,EACvB;AACA,yCAAU,UAAQ,QAAA,CAAA;AACnB;"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const react = require("react");
4
- const RichTextRenderMetadataContext = react.createContext({
5
- formatVersion: 0,
6
- referencesField: void 0,
7
- referenceDiscriminationField: void 0,
8
- referenceRenderers: {},
9
- references: void 0
10
- });
11
- RichTextRenderMetadataContext.displayName = "RichTextRenderMetadataContext";
12
- const useRichTextRenderMetadata = () => react.useContext(RichTextRenderMetadataContext);
13
- exports.RichTextRenderMetadataContext = RichTextRenderMetadataContext;
14
- exports.useRichTextRenderMetadata = useRichTextRenderMetadata;
15
- //# sourceMappingURL=RichTextRenderMetadataContext.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RichTextRenderMetadataContext.cjs","sources":["../../../../src/components/RichTextRenderer/RichTextRenderMetadataContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport type { RichTextRenderMetadata } from './RichTextRenderMetadata'\n\nexport const RichTextRenderMetadataContext = createContext<RichTextRenderMetadata<any, any, any>>({\n\tformatVersion: 0,\n\treferencesField: undefined,\n\treferenceDiscriminationField: undefined,\n\treferenceRenderers: {},\n\treferences: undefined,\n})\nRichTextRenderMetadataContext.displayName = 'RichTextRenderMetadataContext'\n\nexport const useRichTextRenderMetadata = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n>() => useContext(RichTextRenderMetadataContext) as RichTextRenderMetadata<CustomElements, CustomLeaves, Reference>\n"],"names":["createContext","useContext"],"mappings":";;;AAMO,MAAM,gCAAgCA,MAAAA,cAAqD;AAAA,EACjG,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,8BAA8B;AAAA,EAC9B,oBAAoB,CAAC;AAAA,EACrB,YAAY;AACb,CAAC;AACD,8BAA8B,cAAc;AAE/B,MAAA,4BAA4B,MAIlCC,MAAAA,WAAW,6BAA6B;;;"}
@@ -1,15 +0,0 @@
1
- import { createContext, useContext } from "react";
2
- const RichTextRenderMetadataContext = createContext({
3
- formatVersion: 0,
4
- referencesField: void 0,
5
- referenceDiscriminationField: void 0,
6
- referenceRenderers: {},
7
- references: void 0
8
- });
9
- RichTextRenderMetadataContext.displayName = "RichTextRenderMetadataContext";
10
- const useRichTextRenderMetadata = () => useContext(RichTextRenderMetadataContext);
11
- export {
12
- RichTextRenderMetadataContext,
13
- useRichTextRenderMetadata
14
- };
15
- //# sourceMappingURL=RichTextRenderMetadataContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RichTextRenderMetadataContext.js","sources":["../../../../src/components/RichTextRenderer/RichTextRenderMetadataContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { RichTextElement } from './RichTextElement'\nimport type { RichTextLeaf } from './RichTextLeaf'\nimport type { RichTextReference } from './RichTextReference'\nimport type { RichTextRenderMetadata } from './RichTextRenderMetadata'\n\nexport const RichTextRenderMetadataContext = createContext<RichTextRenderMetadata<any, any, any>>({\n\tformatVersion: 0,\n\treferencesField: undefined,\n\treferenceDiscriminationField: undefined,\n\treferenceRenderers: {},\n\treferences: undefined,\n})\nRichTextRenderMetadataContext.displayName = 'RichTextRenderMetadataContext'\n\nexport const useRichTextRenderMetadata = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = never,\n\tReference extends RichTextReference = RichTextReference,\n>() => useContext(RichTextRenderMetadataContext) as RichTextRenderMetadata<CustomElements, CustomLeaves, Reference>\n"],"names":[],"mappings":";AAMO,MAAM,gCAAgC,cAAqD;AAAA,EACjG,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,8BAA8B;AAAA,EAC9B,oBAAoB,CAAC;AAAA,EACrB,YAAY;AACb,CAAC;AACD,8BAA8B,cAAc;AAE/B,MAAA,4BAA4B,MAIlC,WAAW,6BAA6B;"}
@@ -1,109 +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 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__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children }),
14
- attributeNamePrefix,
15
- ...sourceProps
16
- }) {
17
- const normalizedSource = react.useMemo(() => {
18
- if ("source" in sourceProps && !("blocks" in sourceProps)) {
19
- return [
20
- {
21
- content: sourceProps.source ? deserialize(sourceProps.source) : {
22
- formatVersion: 0,
23
- children: []
24
- },
25
- id: void 0,
26
- referencesField: void 0,
27
- referenceDiscriminationField: void 0,
28
- referenceRenderers: {},
29
- references: void 0
30
- }
31
- ];
32
- }
33
- if (!("source" in sourceProps)) {
34
- const sourceField = sourceProps.sourceField ?? "source";
35
- const referencesField = sourceProps.referencesField ?? "references";
36
- const referenceDiscriminationField = sourceProps.referenceDiscriminationField ?? "type";
37
- return sourceProps.blocks.map((block) => {
38
- if (!(sourceField in block)) {
39
- throw new RichTextRendererError.RichTextRendererError(
40
- `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.`)
41
- );
42
- }
43
- const source = block[sourceField];
44
- if (typeof source !== "string") {
45
- throw new RichTextRendererError.RichTextRendererError(`Found a block whose source is not a string.`);
46
- }
47
- if (sourceProps.referencesField !== void 0 && !(referencesField in block)) {
48
- throw new RichTextRendererError.RichTextRendererError(
49
- `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.`
50
- );
51
- }
52
- const references = block[referencesField];
53
- let normalizedReferences = void 0;
54
- if (references) {
55
- if (typeof Object(references)[Symbol.iterator] !== "function") {
56
- throw new RichTextRendererError.RichTextRendererError(`The set of references must be an iterable!`);
57
- }
58
- normalizedReferences = /* @__PURE__ */ new Map();
59
- for (const reference of references) {
60
- if (!("id" in reference)) {
61
- throw new RichTextRendererError.RichTextRendererError(`Found a reference without an id field.`);
62
- }
63
- if (!(referenceDiscriminationField in reference)) {
64
- throw new RichTextRendererError.RichTextRendererError(
65
- `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.`)
66
- );
67
- }
68
- normalizedReferences.set(reference.id, reference);
69
- }
70
- }
71
- return {
72
- id: typeof block.id === "string" ? block.id : void 0,
73
- content: deserialize(source),
74
- referenceDiscriminationField,
75
- referenceRenderers: sourceProps.referenceRenderers ?? {},
76
- referencesField,
77
- references: normalizedReferences
78
- };
79
- });
80
- }
81
- throw new RichTextRendererError.RichTextRendererError(`RichTextRenderer: invalid data supplied.`);
82
- }, [deserialize, sourceProps]);
83
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: normalizedSource.map((block, i) => /* @__PURE__ */ jsxRuntime.jsx(
84
- RichTextRenderMetadataContext.RichTextRenderMetadataContext.Provider,
85
- {
86
- value: {
87
- formatVersion: block.content.formatVersion,
88
- referenceRenderers: block.referenceRenderers,
89
- referencesField: block.referencesField,
90
- referenceDiscriminationField: block.referenceDiscriminationField,
91
- references: block.references
92
- },
93
- children: react.createElement(
94
- renderBlock,
95
- {
96
- block
97
- },
98
- renderChildren.renderChildren(block.content.children, {
99
- renderLeaf,
100
- renderElement,
101
- attributeNamePrefix
102
- })
103
- )
104
- },
105
- block.id ?? i
106
- )) });
107
- });
108
- exports.RichTextRenderer = RichTextRenderer;
109
- //# 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","jsx","Fragment","RichTextRenderMetadataContext","createElement","renderChildren"],"mappings":"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"}
@@ -1,109 +0,0 @@
1
- import { jsx, Fragment } from "react/jsx-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__ */ jsx(Fragment, { children }),
12
- attributeNamePrefix,
13
- ...sourceProps
14
- }) {
15
- const normalizedSource = useMemo(() => {
16
- if ("source" in sourceProps && !("blocks" in sourceProps)) {
17
- return [
18
- {
19
- content: sourceProps.source ? deserialize(sourceProps.source) : {
20
- formatVersion: 0,
21
- children: []
22
- },
23
- id: void 0,
24
- referencesField: void 0,
25
- referenceDiscriminationField: void 0,
26
- referenceRenderers: {},
27
- references: void 0
28
- }
29
- ];
30
- }
31
- if (!("source" in sourceProps)) {
32
- const sourceField = sourceProps.sourceField ?? "source";
33
- const referencesField = sourceProps.referencesField ?? "references";
34
- const referenceDiscriminationField = sourceProps.referenceDiscriminationField ?? "type";
35
- return sourceProps.blocks.map((block) => {
36
- if (!(sourceField in block)) {
37
- throw new RichTextRendererError(
38
- `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.`)
39
- );
40
- }
41
- const source = block[sourceField];
42
- if (typeof source !== "string") {
43
- throw new RichTextRendererError(`Found a block whose source is not a string.`);
44
- }
45
- if (sourceProps.referencesField !== void 0 && !(referencesField in block)) {
46
- throw new RichTextRendererError(
47
- `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.`
48
- );
49
- }
50
- const references = block[referencesField];
51
- let normalizedReferences = void 0;
52
- if (references) {
53
- if (typeof Object(references)[Symbol.iterator] !== "function") {
54
- throw new RichTextRendererError(`The set of references must be an iterable!`);
55
- }
56
- normalizedReferences = /* @__PURE__ */ new Map();
57
- for (const reference of references) {
58
- if (!("id" in reference)) {
59
- throw new RichTextRendererError(`Found a reference without an id field.`);
60
- }
61
- if (!(referenceDiscriminationField in reference)) {
62
- throw new RichTextRendererError(
63
- `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.`)
64
- );
65
- }
66
- normalizedReferences.set(reference.id, reference);
67
- }
68
- }
69
- return {
70
- id: typeof block.id === "string" ? block.id : void 0,
71
- content: deserialize(source),
72
- referenceDiscriminationField,
73
- referenceRenderers: sourceProps.referenceRenderers ?? {},
74
- referencesField,
75
- references: normalizedReferences
76
- };
77
- });
78
- }
79
- throw new RichTextRendererError(`RichTextRenderer: invalid data supplied.`);
80
- }, [deserialize, sourceProps]);
81
- return /* @__PURE__ */ jsx(Fragment, { children: normalizedSource.map((block, i) => /* @__PURE__ */ jsx(
82
- RichTextRenderMetadataContext.Provider,
83
- {
84
- value: {
85
- formatVersion: block.content.formatVersion,
86
- referenceRenderers: block.referenceRenderers,
87
- referencesField: block.referencesField,
88
- referenceDiscriminationField: block.referenceDiscriminationField,
89
- references: block.references
90
- },
91
- children: createElement(
92
- renderBlock,
93
- {
94
- block
95
- },
96
- renderChildren(block.content.children, {
97
- renderLeaf,
98
- renderElement,
99
- attributeNamePrefix
100
- })
101
- )
102
- },
103
- block.id ?? i
104
- )) });
105
- });
106
- export {
107
- RichTextRenderer
108
- };
109
- //# sourceMappingURL=RichTextRenderer.js.map