@contember/react-richtext-renderer 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 (238) hide show
  1. package/dist/development/RichTextRendererError.cjs +6 -0
  2. package/dist/development/RichTextRendererError.cjs.map +1 -0
  3. package/dist/development/RichTextRendererError.js +6 -0
  4. package/dist/development/RichTextRendererError.js.map +1 -0
  5. package/dist/development/components/RichText.cjs +32 -0
  6. package/dist/development/components/RichText.cjs.map +1 -0
  7. package/dist/development/components/RichText.js +32 -0
  8. package/dist/development/components/RichText.js.map +1 -0
  9. package/dist/development/components/RichTextBlocksRenderer.cjs +30 -0
  10. package/dist/development/components/RichTextBlocksRenderer.cjs.map +1 -0
  11. package/dist/development/components/RichTextBlocksRenderer.js +30 -0
  12. package/dist/development/components/RichTextBlocksRenderer.js.map +1 -0
  13. package/dist/development/components/RichTextFieldRenderer.cjs +28 -0
  14. package/dist/development/components/RichTextFieldRenderer.cjs.map +1 -0
  15. package/dist/development/components/RichTextFieldRenderer.js +28 -0
  16. package/dist/development/components/RichTextFieldRenderer.js.map +1 -0
  17. package/dist/development/components/RichTextRenderer.cjs +14 -0
  18. package/dist/development/components/RichTextRenderer.cjs.map +1 -0
  19. package/dist/development/components/RichTextRenderer.js +14 -0
  20. package/dist/development/components/RichTextRenderer.js.map +1 -0
  21. package/dist/development/hooks/useRichTextBlocksSource.cjs +62 -0
  22. package/dist/development/hooks/useRichTextBlocksSource.cjs.map +1 -0
  23. package/dist/development/hooks/useRichTextBlocksSource.js +62 -0
  24. package/dist/development/hooks/useRichTextBlocksSource.js.map +1 -0
  25. package/dist/development/hooks/useRichTextFieldSource.cjs +26 -0
  26. package/dist/development/hooks/useRichTextFieldSource.cjs.map +1 -0
  27. package/dist/development/hooks/useRichTextFieldSource.js +26 -0
  28. package/dist/development/hooks/useRichTextFieldSource.js.map +1 -0
  29. package/dist/development/index.cjs +17 -0
  30. package/dist/development/index.cjs.map +1 -0
  31. package/dist/development/index.js +17 -0
  32. package/dist/development/index.js.map +1 -0
  33. package/dist/development/internal/components/ElementRenderer.cjs +24 -0
  34. package/dist/development/internal/components/ElementRenderer.cjs.map +1 -0
  35. package/dist/development/internal/components/ElementRenderer.js +24 -0
  36. package/dist/development/internal/components/ElementRenderer.js.map +1 -0
  37. package/dist/development/internal/components/LeafRenderer.cjs +23 -0
  38. package/dist/development/internal/components/LeafRenderer.cjs.map +1 -0
  39. package/dist/development/internal/components/LeafRenderer.js +23 -0
  40. package/dist/development/internal/components/LeafRenderer.js.map +1 -0
  41. package/dist/development/internal/components/RenderElementFallback.cjs +84 -0
  42. package/dist/development/internal/components/RenderElementFallback.cjs.map +1 -0
  43. package/dist/development/internal/components/RenderElementFallback.js +84 -0
  44. package/dist/development/internal/components/RenderElementFallback.js.map +1 -0
  45. package/dist/development/internal/components/RenderLeafFallback.cjs +38 -0
  46. package/dist/development/internal/components/RenderLeafFallback.cjs.map +1 -0
  47. package/dist/development/internal/components/RenderLeafFallback.js +38 -0
  48. package/dist/development/internal/components/RenderLeafFallback.js.map +1 -0
  49. package/dist/development/internal/defaultDeserialize.cjs +14 -0
  50. package/dist/development/internal/defaultDeserialize.cjs.map +1 -0
  51. package/dist/development/internal/defaultDeserialize.js +14 -0
  52. package/dist/development/internal/defaultDeserialize.js.map +1 -0
  53. package/dist/development/internal/renderChildren.cjs +18 -0
  54. package/dist/development/internal/renderChildren.cjs.map +1 -0
  55. package/dist/development/internal/renderChildren.js +18 -0
  56. package/dist/development/internal/renderChildren.js.map +1 -0
  57. package/dist/development/internal/useReferenceMetadata.cjs +37 -0
  58. package/dist/development/internal/useReferenceMetadata.cjs.map +1 -0
  59. package/dist/development/internal/useReferenceMetadata.js +37 -0
  60. package/dist/development/internal/useReferenceMetadata.js.map +1 -0
  61. package/dist/production/RichTextRendererError.cjs +6 -0
  62. package/dist/production/RichTextRendererError.cjs.map +1 -0
  63. package/dist/production/RichTextRendererError.js +6 -0
  64. package/dist/production/RichTextRendererError.js.map +1 -0
  65. package/dist/production/components/RichText.cjs +32 -0
  66. package/dist/production/components/RichText.cjs.map +1 -0
  67. package/dist/production/components/RichText.js +32 -0
  68. package/dist/production/components/RichText.js.map +1 -0
  69. package/dist/production/components/RichTextBlocksRenderer.cjs +30 -0
  70. package/dist/production/components/RichTextBlocksRenderer.cjs.map +1 -0
  71. package/dist/production/components/RichTextBlocksRenderer.js +30 -0
  72. package/dist/production/components/RichTextBlocksRenderer.js.map +1 -0
  73. package/dist/production/components/RichTextFieldRenderer.cjs +28 -0
  74. package/dist/production/components/RichTextFieldRenderer.cjs.map +1 -0
  75. package/dist/production/components/RichTextFieldRenderer.js +28 -0
  76. package/dist/production/components/RichTextFieldRenderer.js.map +1 -0
  77. package/dist/production/components/RichTextRenderer.cjs +14 -0
  78. package/dist/production/components/RichTextRenderer.cjs.map +1 -0
  79. package/dist/production/components/RichTextRenderer.js +14 -0
  80. package/dist/production/components/RichTextRenderer.js.map +1 -0
  81. package/dist/production/hooks/useRichTextBlocksSource.cjs +62 -0
  82. package/dist/production/hooks/useRichTextBlocksSource.cjs.map +1 -0
  83. package/dist/production/hooks/useRichTextBlocksSource.js +62 -0
  84. package/dist/production/hooks/useRichTextBlocksSource.js.map +1 -0
  85. package/dist/production/hooks/useRichTextFieldSource.cjs +26 -0
  86. package/dist/production/hooks/useRichTextFieldSource.cjs.map +1 -0
  87. package/dist/production/hooks/useRichTextFieldSource.js +26 -0
  88. package/dist/production/hooks/useRichTextFieldSource.js.map +1 -0
  89. package/dist/production/index.cjs +17 -0
  90. package/dist/production/index.cjs.map +1 -0
  91. package/dist/production/index.js +17 -0
  92. package/dist/production/index.js.map +1 -0
  93. package/dist/production/internal/components/ElementRenderer.cjs +24 -0
  94. package/dist/production/internal/components/ElementRenderer.cjs.map +1 -0
  95. package/dist/production/internal/components/ElementRenderer.js +24 -0
  96. package/dist/production/internal/components/ElementRenderer.js.map +1 -0
  97. package/dist/production/internal/components/LeafRenderer.cjs +23 -0
  98. package/dist/production/internal/components/LeafRenderer.cjs.map +1 -0
  99. package/dist/production/internal/components/LeafRenderer.js +23 -0
  100. package/dist/production/internal/components/LeafRenderer.js.map +1 -0
  101. package/dist/production/internal/components/RenderElementFallback.cjs +84 -0
  102. package/dist/production/internal/components/RenderElementFallback.cjs.map +1 -0
  103. package/dist/production/internal/components/RenderElementFallback.js +84 -0
  104. package/dist/production/internal/components/RenderElementFallback.js.map +1 -0
  105. package/dist/production/internal/components/RenderLeafFallback.cjs +38 -0
  106. package/dist/production/internal/components/RenderLeafFallback.cjs.map +1 -0
  107. package/dist/production/internal/components/RenderLeafFallback.js +38 -0
  108. package/dist/production/internal/components/RenderLeafFallback.js.map +1 -0
  109. package/dist/production/internal/defaultDeserialize.cjs +14 -0
  110. package/dist/production/internal/defaultDeserialize.cjs.map +1 -0
  111. package/dist/production/internal/defaultDeserialize.js +14 -0
  112. package/dist/production/internal/defaultDeserialize.js.map +1 -0
  113. package/dist/production/internal/renderChildren.cjs +18 -0
  114. package/dist/production/internal/renderChildren.cjs.map +1 -0
  115. package/dist/production/internal/renderChildren.js +18 -0
  116. package/dist/production/internal/renderChildren.js.map +1 -0
  117. package/dist/production/internal/useReferenceMetadata.cjs +37 -0
  118. package/dist/production/internal/useReferenceMetadata.cjs.map +1 -0
  119. package/dist/production/internal/useReferenceMetadata.js +37 -0
  120. package/dist/production/internal/useReferenceMetadata.js.map +1 -0
  121. package/dist/types/RichTextRendererError.d.ts +3 -0
  122. package/dist/types/RichTextRendererError.d.ts.map +1 -0
  123. package/dist/types/components/RichText.d.ts +13 -0
  124. package/dist/types/components/RichText.d.ts.map +1 -0
  125. package/dist/types/components/RichTextBlocksRenderer.d.ts +10 -0
  126. package/dist/types/components/RichTextBlocksRenderer.d.ts.map +1 -0
  127. package/dist/types/components/RichTextFieldRenderer.d.ts +10 -0
  128. package/dist/types/components/RichTextFieldRenderer.d.ts.map +1 -0
  129. package/dist/types/components/RichTextRenderer.d.ts +12 -0
  130. package/dist/types/components/RichTextRenderer.d.ts.map +1 -0
  131. package/dist/types/components/index.d.ts +5 -0
  132. package/dist/types/components/index.d.ts.map +1 -0
  133. package/dist/types/hooks/index.d.ts +3 -0
  134. package/dist/types/hooks/index.d.ts.map +1 -0
  135. package/dist/types/hooks/useRichTextBlocksSource.d.ts +3 -0
  136. package/dist/types/hooks/useRichTextBlocksSource.d.ts.map +1 -0
  137. package/dist/types/hooks/useRichTextFieldSource.d.ts +3 -0
  138. package/dist/types/hooks/useRichTextFieldSource.d.ts.map +1 -0
  139. package/dist/types/index.d.ts +5 -0
  140. package/dist/types/index.d.ts.map +1 -0
  141. package/dist/types/internal/components/ElementRenderer.d.ts +14 -0
  142. package/dist/types/internal/components/ElementRenderer.d.ts.map +1 -0
  143. package/dist/types/internal/components/LeafRenderer.d.ts +12 -0
  144. package/dist/types/internal/components/LeafRenderer.d.ts.map +1 -0
  145. package/dist/types/internal/components/RenderElementFallback.d.ts +14 -0
  146. package/dist/types/internal/components/RenderElementFallback.d.ts.map +1 -0
  147. package/dist/types/internal/components/RenderLeafFallback.d.ts +6 -0
  148. package/dist/types/internal/components/RenderLeafFallback.d.ts.map +1 -0
  149. package/dist/types/internal/defaultDeserialize.d.ts +5 -0
  150. package/dist/types/internal/defaultDeserialize.d.ts.map +1 -0
  151. package/dist/types/internal/renderChildren.d.ts +8 -0
  152. package/dist/types/internal/renderChildren.d.ts.map +1 -0
  153. package/dist/types/internal/useReferenceMetadata.d.ts +9 -0
  154. package/dist/types/internal/useReferenceMetadata.d.ts.map +1 -0
  155. package/dist/types/tsconfig.tsbuildinfo +1 -0
  156. package/dist/types/types/RenderChildren.d.ts +9 -0
  157. package/dist/types/types/RenderChildren.d.ts.map +1 -0
  158. package/dist/types/types/RichTextBlock.d.ts +8 -0
  159. package/dist/types/types/RichTextBlock.d.ts.map +1 -0
  160. package/dist/types/types/RichTextBlockSource.d.ts +9 -0
  161. package/dist/types/types/RichTextBlockSource.d.ts.map +1 -0
  162. package/dist/types/types/RichTextFieldSource.d.ts +6 -0
  163. package/dist/types/types/RichTextFieldSource.d.ts.map +1 -0
  164. package/dist/types/types/RichTextReference.d.ts +5 -0
  165. package/dist/types/types/RichTextReference.d.ts.map +1 -0
  166. package/dist/types/types/RichTextReferenceMetadata.d.ts +15 -0
  167. package/dist/types/types/RichTextReferenceMetadata.d.ts.map +1 -0
  168. package/dist/types/types/RichTextRenderingOptions.d.ts +14 -0
  169. package/dist/types/types/RichTextRenderingOptions.d.ts.map +1 -0
  170. package/dist/types/types/builtin/BuiltinElements.d.ts +48 -0
  171. package/dist/types/types/builtin/BuiltinElements.d.ts.map +1 -0
  172. package/dist/types/types/builtin/BuiltinLeaves.d.ts +21 -0
  173. package/dist/types/types/builtin/BuiltinLeaves.d.ts.map +1 -0
  174. package/dist/types/types/builtin/index.d.ts +3 -0
  175. package/dist/types/types/builtin/index.d.ts.map +1 -0
  176. package/dist/types/types/custom/ReferenceRenderer.d.ts +17 -0
  177. package/dist/types/types/custom/ReferenceRenderer.d.ts.map +1 -0
  178. package/dist/types/types/custom/RenderBlock.d.ts +7 -0
  179. package/dist/types/types/custom/RenderBlock.d.ts.map +1 -0
  180. package/dist/types/types/custom/RenderElement.d.ts +24 -0
  181. package/dist/types/types/custom/RenderElement.d.ts.map +1 -0
  182. package/dist/types/types/custom/RenderLeaf.d.ts +11 -0
  183. package/dist/types/types/custom/RenderLeaf.d.ts.map +1 -0
  184. package/dist/types/types/custom/index.d.ts +5 -0
  185. package/dist/types/types/custom/index.d.ts.map +1 -0
  186. package/dist/types/types/index.d.ts +11 -0
  187. package/dist/types/types/index.d.ts.map +1 -0
  188. package/dist/types/types/structure/RichTextChild.d.ts +5 -0
  189. package/dist/types/types/structure/RichTextChild.d.ts.map +1 -0
  190. package/dist/types/types/structure/RichTextElement.d.ts +8 -0
  191. package/dist/types/types/structure/RichTextElement.d.ts.map +1 -0
  192. package/dist/types/types/structure/RichTextLeaf.d.ts +4 -0
  193. package/dist/types/types/structure/RichTextLeaf.d.ts.map +1 -0
  194. package/dist/types/types/structure/RootEditorNode.d.ts +8 -0
  195. package/dist/types/types/structure/RootEditorNode.d.ts.map +1 -0
  196. package/dist/types/types/structure/index.d.ts +5 -0
  197. package/dist/types/types/structure/index.d.ts.map +1 -0
  198. package/package.json +50 -0
  199. package/readme.md +106 -0
  200. package/src/RichTextRendererError.ts +1 -0
  201. package/src/components/RichText.tsx +52 -0
  202. package/src/components/RichTextBlocksRenderer.tsx +40 -0
  203. package/src/components/RichTextFieldRenderer.tsx +42 -0
  204. package/src/components/RichTextRenderer.tsx +31 -0
  205. package/src/components/index.ts +4 -0
  206. package/src/hooks/index.ts +2 -0
  207. package/src/hooks/useRichTextBlocksSource.ts +75 -0
  208. package/src/hooks/useRichTextFieldSource.ts +26 -0
  209. package/src/index.ts +6 -0
  210. package/src/internal/components/ElementRenderer.tsx +48 -0
  211. package/src/internal/components/LeafRenderer.tsx +36 -0
  212. package/src/internal/components/RenderElementFallback.tsx +153 -0
  213. package/src/internal/components/RenderLeafFallback.tsx +43 -0
  214. package/src/internal/defaultDeserialize.ts +19 -0
  215. package/src/internal/renderChildren.tsx +37 -0
  216. package/src/internal/useReferenceMetadata.ts +62 -0
  217. package/src/tsconfig.json +6 -0
  218. package/src/types/RenderChildren.ts +16 -0
  219. package/src/types/RichTextBlock.ts +11 -0
  220. package/src/types/RichTextBlockSource.ts +10 -0
  221. package/src/types/RichTextFieldSource.ts +6 -0
  222. package/src/types/RichTextReference.ts +6 -0
  223. package/src/types/RichTextReferenceMetadata.ts +27 -0
  224. package/src/types/RichTextRenderingOptions.ts +23 -0
  225. package/src/types/builtin/BuiltinElements.ts +111 -0
  226. package/src/types/builtin/BuiltinLeaves.ts +33 -0
  227. package/src/types/builtin/index.ts +2 -0
  228. package/src/types/custom/ReferenceRenderer.ts +33 -0
  229. package/src/types/custom/RenderBlock.ts +8 -0
  230. package/src/types/custom/RenderElement.ts +37 -0
  231. package/src/types/custom/RenderLeaf.ts +14 -0
  232. package/src/types/custom/index.ts +4 -0
  233. package/src/types/index.ts +11 -0
  234. package/src/types/structure/RichTextChild.ts +11 -0
  235. package/src/types/structure/RichTextElement.ts +11 -0
  236. package/src/types/structure/RichTextLeaf.ts +3 -0
  237. package/src/types/structure/RootEditorNode.ts +11 -0
  238. package/src/types/structure/index.ts +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichText.cjs","sources":["../../../src/components/RichText.tsx"],"sourcesContent":["import { createElement } from 'react'\nimport { renderChildren } from '../internal/renderChildren'\nimport type { RichTextBlock } from '../types'\nimport { RichTextElement, RichTextLeaf, RichTextRenderingOptions } from '../types'\n\nexport type RichTextProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> =\n\t& {\n\t\tblocks: RichTextBlock<CustomElements, CustomLeaves>[]\n\t}\n\t& RichTextRenderingOptions<CustomElements, CustomLeaves>\n\n/**\n * Accepts normalized decoded RichText blocks and renders them using the provided renderers.\n * To use decoders, use `RichTextBlocksRenderer` or `RichTextFieldRenderer` instead.\n *\n * @group Content rendering\n */\nexport const RichText = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\tblocks,\n\trenderElement,\n\trenderLeaf,\n\trenderBlock = ({ children }) => <>{children}</>,\n\tattributeNamePrefix,\n\treferenceRenderers,\n\tundefinedReferenceHandler,\n}: RichTextProps<CustomElements, CustomLeaves>) => {\n\treturn (\n\t\t<>\n\t\t\t{blocks.map((block, i) => (\n\t\t\t\tcreateElement(\n\t\t\t\t\trenderBlock, {\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\tkey: block.id ?? i,\n\t\t\t\t\t}, renderChildren(block.content.children, {\n\t\t\t\t\t\treferenceRenderers,\n\t\t\t\t\t\trenderBlock,\n\t\t\t\t\t\trenderLeaf,\n\t\t\t\t\t\trenderElement,\n\t\t\t\t\t\tattributeNamePrefix,\n\t\t\t\t\t\tundefinedReferenceHandler,\n\t\t\t\t\t}, block),\n\t\t\t\t)\n\t\t\t))}\n\t\t</>\n\t)\n}\n"],"names":["jsx","Fragment","createElement","renderChildren"],"mappings":";;;;;AAoBO,MAAM,WAAW,CAGtB;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc,CAAC,EAAE,SAAS,4DAAS,UAAS;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AACD,MAAmD;AAClD,SAEGA,2BAAA,IAAAC,WAAA,UAAA,EAAA,UAAA,OAAO,IAAI,CAAC,OAAO,MACnBC,MAAA;AAAA,IACC;AAAA,IAAa;AAAA,MACZ;AAAA,MACA,KAAK,MAAM,MAAM;AAAA,IAClB;AAAA,IAAGC,8BAAe,MAAM,QAAQ,UAAU;AAAA,MACzC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACE,KAAK;AAAA,EAET,CAAA,EACF,CAAA;AAEF;;"}
@@ -0,0 +1,32 @@
1
+ import { jsx, Fragment } from "react/jsx-runtime";
2
+ import { createElement } from "react";
3
+ import { renderChildren } from "../internal/renderChildren.js";
4
+ const RichText = ({
5
+ blocks,
6
+ renderElement,
7
+ renderLeaf,
8
+ renderBlock = ({ children }) => /* @__PURE__ */ jsx(Fragment, { children }),
9
+ attributeNamePrefix,
10
+ referenceRenderers,
11
+ undefinedReferenceHandler
12
+ }) => {
13
+ return /* @__PURE__ */ jsx(Fragment, { children: blocks.map((block, i) => createElement(
14
+ renderBlock,
15
+ {
16
+ block,
17
+ key: block.id ?? i
18
+ },
19
+ renderChildren(block.content.children, {
20
+ referenceRenderers,
21
+ renderBlock,
22
+ renderLeaf,
23
+ renderElement,
24
+ attributeNamePrefix,
25
+ undefinedReferenceHandler
26
+ }, block)
27
+ )) });
28
+ };
29
+ export {
30
+ RichText
31
+ };
32
+ //# sourceMappingURL=RichText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichText.js","sources":["../../../src/components/RichText.tsx"],"sourcesContent":["import { createElement } from 'react'\nimport { renderChildren } from '../internal/renderChildren'\nimport type { RichTextBlock } from '../types'\nimport { RichTextElement, RichTextLeaf, RichTextRenderingOptions } from '../types'\n\nexport type RichTextProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> =\n\t& {\n\t\tblocks: RichTextBlock<CustomElements, CustomLeaves>[]\n\t}\n\t& RichTextRenderingOptions<CustomElements, CustomLeaves>\n\n/**\n * Accepts normalized decoded RichText blocks and renders them using the provided renderers.\n * To use decoders, use `RichTextBlocksRenderer` or `RichTextFieldRenderer` instead.\n *\n * @group Content rendering\n */\nexport const RichText = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\tblocks,\n\trenderElement,\n\trenderLeaf,\n\trenderBlock = ({ children }) => <>{children}</>,\n\tattributeNamePrefix,\n\treferenceRenderers,\n\tundefinedReferenceHandler,\n}: RichTextProps<CustomElements, CustomLeaves>) => {\n\treturn (\n\t\t<>\n\t\t\t{blocks.map((block, i) => (\n\t\t\t\tcreateElement(\n\t\t\t\t\trenderBlock, {\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\tkey: block.id ?? i,\n\t\t\t\t\t}, renderChildren(block.content.children, {\n\t\t\t\t\t\treferenceRenderers,\n\t\t\t\t\t\trenderBlock,\n\t\t\t\t\t\trenderLeaf,\n\t\t\t\t\t\trenderElement,\n\t\t\t\t\t\tattributeNamePrefix,\n\t\t\t\t\t\tundefinedReferenceHandler,\n\t\t\t\t\t}, block),\n\t\t\t\t)\n\t\t\t))}\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;AAoBO,MAAM,WAAW,CAGtB;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc,CAAC,EAAE,SAAS,sCAAS,UAAS;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AACD,MAAmD;AAClD,SAEG,oBAAA,UAAA,EAAA,UAAA,OAAO,IAAI,CAAC,OAAO,MACnB;AAAA,IACC;AAAA,IAAa;AAAA,MACZ;AAAA,MACA,KAAK,MAAM,MAAM;AAAA,IAClB;AAAA,IAAG,eAAe,MAAM,QAAQ,UAAU;AAAA,MACzC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACE,KAAK;AAAA,EAET,CAAA,EACF,CAAA;AAEF;"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const RichText = require("./RichText.cjs");
5
+ const useRichTextBlocksSource = require("../hooks/useRichTextBlocksSource.cjs");
6
+ const RichTextBlocksRenderer = ({
7
+ renderElement,
8
+ renderLeaf,
9
+ renderBlock = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children }),
10
+ attributeNamePrefix,
11
+ referenceRenderers,
12
+ undefinedReferenceHandler,
13
+ ...props
14
+ }) => {
15
+ const blocks = useRichTextBlocksSource.useRichTextBlocksSource(props);
16
+ return /* @__PURE__ */ jsxRuntime.jsx(
17
+ RichText.RichText,
18
+ {
19
+ blocks,
20
+ renderElement,
21
+ renderLeaf,
22
+ renderBlock,
23
+ referenceRenderers,
24
+ undefinedReferenceHandler,
25
+ attributeNamePrefix
26
+ }
27
+ );
28
+ };
29
+ exports.RichTextBlocksRenderer = RichTextBlocksRenderer;
30
+ //# sourceMappingURL=RichTextBlocksRenderer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextBlocksRenderer.cjs","sources":["../../../src/components/RichTextBlocksRenderer.tsx"],"sourcesContent":["import { RichTextBlockSource, RichTextElement, RichTextLeaf, RichTextRenderingOptions } from '../types'\nimport { RichText } from './RichText'\nimport { useRichTextBlocksSource } from '../hooks'\n\nexport type { RichTextBlockSource }\n\nexport type RichTextBlocksRendererProps<CustomElements extends RichTextElement = never, CustomLeaves extends RichTextLeaf = RichTextLeaf> =\n\t& RichTextBlockSource<CustomElements, CustomLeaves>\n\t& RichTextRenderingOptions<CustomElements, CustomLeaves>\n\n/**\n * Accepts raw RichText blocks and renders them using the provided renderers.\n *\n * @group Content rendering\n */\nexport const RichTextBlocksRenderer = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\trenderElement,\n\trenderLeaf,\n\trenderBlock = ({ children }) => <>{children}</>,\n\tattributeNamePrefix,\n\treferenceRenderers,\n\tundefinedReferenceHandler,\n\t...props\n}: RichTextBlocksRendererProps<CustomElements, CustomLeaves>) => {\n\tconst blocks = useRichTextBlocksSource<CustomElements, CustomLeaves>(props)\n\treturn (\n\t\t<RichText<CustomElements, CustomLeaves>\n\t\t\tblocks={blocks}\n\t\t\trenderElement={renderElement}\n\t\t\trenderLeaf={renderLeaf}\n\t\t\trenderBlock={renderBlock}\n\t\t\treferenceRenderers={referenceRenderers}\n\t\t\tundefinedReferenceHandler={undefinedReferenceHandler}\n\t\t\tattributeNamePrefix={attributeNamePrefix}\n\t\t/>\n\t)\n}\n"],"names":["useRichTextBlocksSource","jsx","RichText"],"mappings":";;;;;AAeO,MAAM,yBAAyB,CAGpC;AAAA,EACD;AAAA,EACA;AAAA,EACA,cAAc,CAAC,EAAE,SAAS,4DAAS,UAAS;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,MAAiE;AAC1D,QAAA,SAASA,gDAAsD,KAAK;AAEzE,SAAAC,2BAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGH;;"}
@@ -0,0 +1,30 @@
1
+ import { jsx, Fragment } from "react/jsx-runtime";
2
+ import { RichText } from "./RichText.js";
3
+ import { useRichTextBlocksSource } from "../hooks/useRichTextBlocksSource.js";
4
+ const RichTextBlocksRenderer = ({
5
+ renderElement,
6
+ renderLeaf,
7
+ renderBlock = ({ children }) => /* @__PURE__ */ jsx(Fragment, { children }),
8
+ attributeNamePrefix,
9
+ referenceRenderers,
10
+ undefinedReferenceHandler,
11
+ ...props
12
+ }) => {
13
+ const blocks = useRichTextBlocksSource(props);
14
+ return /* @__PURE__ */ jsx(
15
+ RichText,
16
+ {
17
+ blocks,
18
+ renderElement,
19
+ renderLeaf,
20
+ renderBlock,
21
+ referenceRenderers,
22
+ undefinedReferenceHandler,
23
+ attributeNamePrefix
24
+ }
25
+ );
26
+ };
27
+ export {
28
+ RichTextBlocksRenderer
29
+ };
30
+ //# sourceMappingURL=RichTextBlocksRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextBlocksRenderer.js","sources":["../../../src/components/RichTextBlocksRenderer.tsx"],"sourcesContent":["import { RichTextBlockSource, RichTextElement, RichTextLeaf, RichTextRenderingOptions } from '../types'\nimport { RichText } from './RichText'\nimport { useRichTextBlocksSource } from '../hooks'\n\nexport type { RichTextBlockSource }\n\nexport type RichTextBlocksRendererProps<CustomElements extends RichTextElement = never, CustomLeaves extends RichTextLeaf = RichTextLeaf> =\n\t& RichTextBlockSource<CustomElements, CustomLeaves>\n\t& RichTextRenderingOptions<CustomElements, CustomLeaves>\n\n/**\n * Accepts raw RichText blocks and renders them using the provided renderers.\n *\n * @group Content rendering\n */\nexport const RichTextBlocksRenderer = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\trenderElement,\n\trenderLeaf,\n\trenderBlock = ({ children }) => <>{children}</>,\n\tattributeNamePrefix,\n\treferenceRenderers,\n\tundefinedReferenceHandler,\n\t...props\n}: RichTextBlocksRendererProps<CustomElements, CustomLeaves>) => {\n\tconst blocks = useRichTextBlocksSource<CustomElements, CustomLeaves>(props)\n\treturn (\n\t\t<RichText<CustomElements, CustomLeaves>\n\t\t\tblocks={blocks}\n\t\t\trenderElement={renderElement}\n\t\t\trenderLeaf={renderLeaf}\n\t\t\trenderBlock={renderBlock}\n\t\t\treferenceRenderers={referenceRenderers}\n\t\t\tundefinedReferenceHandler={undefinedReferenceHandler}\n\t\t\tattributeNamePrefix={attributeNamePrefix}\n\t\t/>\n\t)\n}\n"],"names":[],"mappings":";;;AAeO,MAAM,yBAAyB,CAGpC;AAAA,EACD;AAAA,EACA;AAAA,EACA,cAAc,CAAC,EAAE,SAAS,sCAAS,UAAS;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,MAAiE;AAC1D,QAAA,SAAS,wBAAsD,KAAK;AAEzE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGH;"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const RichText = require("./RichText.cjs");
5
+ const useRichTextFieldSource = require("../hooks/useRichTextFieldSource.cjs");
6
+ const RichTextFieldRenderer = ({
7
+ renderLeaf,
8
+ renderBlock,
9
+ renderElement,
10
+ attributeNamePrefix,
11
+ undefinedReferenceHandler,
12
+ ...source
13
+ }) => {
14
+ const blocks = useRichTextFieldSource.useRichTextFieldSource(source);
15
+ return /* @__PURE__ */ jsxRuntime.jsx(
16
+ RichText.RichText,
17
+ {
18
+ blocks,
19
+ renderElement,
20
+ renderLeaf,
21
+ renderBlock,
22
+ attributeNamePrefix,
23
+ undefinedReferenceHandler
24
+ }
25
+ );
26
+ };
27
+ exports.RichTextFieldRenderer = RichTextFieldRenderer;
28
+ //# sourceMappingURL=RichTextFieldRenderer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextFieldRenderer.cjs","sources":["../../../src/components/RichTextFieldRenderer.tsx"],"sourcesContent":["import { RichText } from './RichText'\nimport { RichTextElement, RichTextFieldSource, RichTextLeaf, RichTextRenderingOptions } from '../types'\nimport { useRichTextFieldSource } from '../hooks'\n\nexport type { RichTextFieldSource }\n\nexport type RichTextFieldRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> =\n\t& RichTextFieldSource<CustomElements, CustomLeaves>\n\t& RichTextRenderingOptions<CustomElements, CustomLeaves>\n\n/**\n * Accepts raw RichText field source and renders them using the provided renderers.\n *\n * @group Content rendering\n */\nexport const RichTextFieldRenderer = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\trenderLeaf,\n\trenderBlock,\n\trenderElement,\n\tattributeNamePrefix,\n\tundefinedReferenceHandler,\n\t...source\n}: RichTextFieldRendererProps<CustomElements, CustomLeaves>) => {\n\tconst blocks = useRichTextFieldSource(source)\n\n\treturn (\n\t\t<RichText<CustomElements, CustomLeaves>\n\t\t\tblocks={blocks}\n\t\t\trenderElement={renderElement}\n\t\t\trenderLeaf={renderLeaf}\n\t\t\trenderBlock={renderBlock}\n\t\t\tattributeNamePrefix={attributeNamePrefix}\n\t\t\tundefinedReferenceHandler={undefinedReferenceHandler}\n\t\t/>\n\t)\n}\n"],"names":["useRichTextFieldSource","jsx","RichText"],"mappings":";;;;;AAkBO,MAAM,wBAAwB,CAGnC;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,MAAgE;AACzD,QAAA,SAASA,8CAAuB,MAAM;AAG3C,SAAAC,2BAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGH;;"}
@@ -0,0 +1,28 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { RichText } from "./RichText.js";
3
+ import { useRichTextFieldSource } from "../hooks/useRichTextFieldSource.js";
4
+ const RichTextFieldRenderer = ({
5
+ renderLeaf,
6
+ renderBlock,
7
+ renderElement,
8
+ attributeNamePrefix,
9
+ undefinedReferenceHandler,
10
+ ...source
11
+ }) => {
12
+ const blocks = useRichTextFieldSource(source);
13
+ return /* @__PURE__ */ jsx(
14
+ RichText,
15
+ {
16
+ blocks,
17
+ renderElement,
18
+ renderLeaf,
19
+ renderBlock,
20
+ attributeNamePrefix,
21
+ undefinedReferenceHandler
22
+ }
23
+ );
24
+ };
25
+ export {
26
+ RichTextFieldRenderer
27
+ };
28
+ //# sourceMappingURL=RichTextFieldRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextFieldRenderer.js","sources":["../../../src/components/RichTextFieldRenderer.tsx"],"sourcesContent":["import { RichText } from './RichText'\nimport { RichTextElement, RichTextFieldSource, RichTextLeaf, RichTextRenderingOptions } from '../types'\nimport { useRichTextFieldSource } from '../hooks'\n\nexport type { RichTextFieldSource }\n\nexport type RichTextFieldRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> =\n\t& RichTextFieldSource<CustomElements, CustomLeaves>\n\t& RichTextRenderingOptions<CustomElements, CustomLeaves>\n\n/**\n * Accepts raw RichText field source and renders them using the provided renderers.\n *\n * @group Content rendering\n */\nexport const RichTextFieldRenderer = <\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\trenderLeaf,\n\trenderBlock,\n\trenderElement,\n\tattributeNamePrefix,\n\tundefinedReferenceHandler,\n\t...source\n}: RichTextFieldRendererProps<CustomElements, CustomLeaves>) => {\n\tconst blocks = useRichTextFieldSource(source)\n\n\treturn (\n\t\t<RichText<CustomElements, CustomLeaves>\n\t\t\tblocks={blocks}\n\t\t\trenderElement={renderElement}\n\t\t\trenderLeaf={renderLeaf}\n\t\t\trenderBlock={renderBlock}\n\t\t\tattributeNamePrefix={attributeNamePrefix}\n\t\t\tundefinedReferenceHandler={undefinedReferenceHandler}\n\t\t/>\n\t)\n}\n"],"names":[],"mappings":";;;AAkBO,MAAM,wBAAwB,CAGnC;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,MAAgE;AACzD,QAAA,SAAS,uBAAuB,MAAM;AAG3C,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGH;"}
@@ -0,0 +1,14 @@
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 RichTextFieldRenderer = require("./RichTextFieldRenderer.cjs");
6
+ const RichTextBlocksRenderer = require("./RichTextBlocksRenderer.cjs");
7
+ const RichTextRenderer = react.memo(function RichTextRenderer2(props) {
8
+ if ("source" in props) {
9
+ return /* @__PURE__ */ jsxRuntime.jsx(RichTextFieldRenderer.RichTextFieldRenderer, { ...props });
10
+ }
11
+ return /* @__PURE__ */ jsxRuntime.jsx(RichTextBlocksRenderer.RichTextBlocksRenderer, { ...props });
12
+ });
13
+ exports.RichTextRenderer = RichTextRenderer;
14
+ //# sourceMappingURL=RichTextRenderer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextRenderer.cjs","sources":["../../../src/components/RichTextRenderer.tsx"],"sourcesContent":["import { memo, ReactElement } from 'react'\nimport type { RichTextElement } from '../types/structure/RichTextElement'\nimport type { RichTextLeaf } from '../types/structure/RichTextLeaf'\nimport { RichTextFieldRenderer, RichTextFieldRendererProps } from './RichTextFieldRenderer'\nimport { RichTextBlocksRenderer, RichTextBlocksRendererProps } from './RichTextBlocksRenderer'\n\n\nexport type RichTextRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> =\n\t| RichTextFieldRendererProps<CustomElements, CustomLeaves>\n\t| RichTextBlocksRendererProps<CustomElements, CustomLeaves>\n\n/**\n * @deprecated Use `RichTextBlocksRenderer` or `RichTextFieldRenderer` instead, or directly use `RichText`.\n * @group Content rendering\n */\nexport const RichTextRenderer = memo(function RichTextRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>(props: RichTextRendererProps<CustomElements, CustomLeaves>) {\n\n\tif ('source' in props) {\n\t\treturn <RichTextFieldRenderer<CustomElements, CustomLeaves> {...props} />\n\t}\n\n\treturn <RichTextBlocksRenderer<CustomElements, CustomLeaves> {...props} />\n}) as <CustomElements extends RichTextElement = never, CustomLeaves extends RichTextLeaf = RichTextLeaf>(\n\tprops: RichTextRendererProps<CustomElements, CustomLeaves>,\n) => ReactElement\n"],"names":["memo","RichTextRenderer","jsx","RichTextFieldRenderer","RichTextBlocksRenderer"],"mappings":";;;;;;AAkBO,MAAM,mBAAmBA,MAAA,KAAK,SAASC,kBAG5C,OAA4D;AAE7D,MAAI,YAAY,OAAO;AACf,WAAAC,2BAAA,IAACC,sBAAqD,uBAAA,EAAA,GAAG,MAAO,CAAA;AAAA,EACxE;AAEO,SAAAD,2BAAA,IAACE,uBAAsD,wBAAA,EAAA,GAAG,MAAO,CAAA;AACzE,CAAC;;"}
@@ -0,0 +1,14 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { memo } from "react";
3
+ import { RichTextFieldRenderer } from "./RichTextFieldRenderer.js";
4
+ import { RichTextBlocksRenderer } from "./RichTextBlocksRenderer.js";
5
+ const RichTextRenderer = memo(function RichTextRenderer2(props) {
6
+ if ("source" in props) {
7
+ return /* @__PURE__ */ jsx(RichTextFieldRenderer, { ...props });
8
+ }
9
+ return /* @__PURE__ */ jsx(RichTextBlocksRenderer, { ...props });
10
+ });
11
+ export {
12
+ RichTextRenderer
13
+ };
14
+ //# sourceMappingURL=RichTextRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextRenderer.js","sources":["../../../src/components/RichTextRenderer.tsx"],"sourcesContent":["import { memo, ReactElement } from 'react'\nimport type { RichTextElement } from '../types/structure/RichTextElement'\nimport type { RichTextLeaf } from '../types/structure/RichTextLeaf'\nimport { RichTextFieldRenderer, RichTextFieldRendererProps } from './RichTextFieldRenderer'\nimport { RichTextBlocksRenderer, RichTextBlocksRendererProps } from './RichTextBlocksRenderer'\n\n\nexport type RichTextRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> =\n\t| RichTextFieldRendererProps<CustomElements, CustomLeaves>\n\t| RichTextBlocksRendererProps<CustomElements, CustomLeaves>\n\n/**\n * @deprecated Use `RichTextBlocksRenderer` or `RichTextFieldRenderer` instead, or directly use `RichText`.\n * @group Content rendering\n */\nexport const RichTextRenderer = memo(function RichTextRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>(props: RichTextRendererProps<CustomElements, CustomLeaves>) {\n\n\tif ('source' in props) {\n\t\treturn <RichTextFieldRenderer<CustomElements, CustomLeaves> {...props} />\n\t}\n\n\treturn <RichTextBlocksRenderer<CustomElements, CustomLeaves> {...props} />\n}) as <CustomElements extends RichTextElement = never, CustomLeaves extends RichTextLeaf = RichTextLeaf>(\n\tprops: RichTextRendererProps<CustomElements, CustomLeaves>,\n) => ReactElement\n"],"names":["RichTextRenderer"],"mappings":";;;;AAkBO,MAAM,mBAAmB,KAAK,SAASA,kBAG5C,OAA4D;AAE7D,MAAI,YAAY,OAAO;AACf,WAAA,oBAAC,uBAAqD,EAAA,GAAG,MAAO,CAAA;AAAA,EACxE;AAEO,SAAA,oBAAC,wBAAsD,EAAA,GAAG,MAAO,CAAA;AACzE,CAAC;"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const defaultDeserialize = require("../internal/defaultDeserialize.cjs");
4
+ const react = require("react");
5
+ const RichTextRendererError = require("../RichTextRendererError.cjs");
6
+ const useRichTextBlocksSource = ({
7
+ deserialize = defaultDeserialize.defaultDeserialize,
8
+ blocks,
9
+ referencesField = "references",
10
+ sourceField = "source",
11
+ referenceDiscriminationField = "type"
12
+ }) => {
13
+ return react.useMemo(() => {
14
+ const sourceFieldResolved = sourceField ?? "source";
15
+ const referencesFieldResolved = referencesField ?? "references";
16
+ const referenceDiscriminationFieldResolved = referenceDiscriminationField ?? "type";
17
+ return blocks.map((block) => {
18
+ if (!(sourceField in block)) {
19
+ throw new RichTextRendererError.RichTextRendererError(
20
+ `Found a block without a '${sourceFieldResolved}' field. ` + (sourceField === void 0 ? `The 'sourceField' prop has not been supplied, and so '${sourceFieldResolved}' was used as a default.` : `That is what the 'sourceField' prop has been set to, and so either this is a typo, or the data supplied is invalid.`)
21
+ );
22
+ }
23
+ const source = block[sourceFieldResolved];
24
+ if (typeof source !== "string" && (typeof source !== "object" || source === null)) {
25
+ throw new RichTextRendererError.RichTextRendererError(`Found a block whose source is not a string or an object.`);
26
+ }
27
+ if (referencesField !== void 0 && !(referencesFieldResolved in block)) {
28
+ throw new RichTextRendererError.RichTextRendererError(
29
+ `The 'referencesField' prop is set to '${referencesFieldResolved}' but a block without such field has been encountered. Unless this is just a typo, if you do not wish to use references, avoid supplying the 'referencesField' prop.`
30
+ );
31
+ }
32
+ const references = block[referencesFieldResolved];
33
+ let normalizedReferences = void 0;
34
+ if (references) {
35
+ if (typeof Object(references)[Symbol.iterator] !== "function") {
36
+ throw new RichTextRendererError.RichTextRendererError(`The set of references must be an iterable!`);
37
+ }
38
+ normalizedReferences = Object.fromEntries(Array.from(references).map((reference) => {
39
+ if (!("id" in reference)) {
40
+ throw new RichTextRendererError.RichTextRendererError(`Found a reference without an id field.`);
41
+ }
42
+ if (!(referenceDiscriminationFieldResolved in reference) || typeof reference[referenceDiscriminationFieldResolved] !== "string") {
43
+ throw new RichTextRendererError.RichTextRendererError(
44
+ `Found a reference without a '${referenceDiscriminationFieldResolved}' field. ` + (referenceDiscriminationField === void 0 ? `The 'referenceDiscriminationField' prop has not been supplied, and so '${referenceDiscriminationFieldResolved}' was used as a default.` : `That is what the 'referenceDiscriminationField' prop has been set to, and so either this is a typo, or the data supplied is invalid.`)
45
+ );
46
+ }
47
+ return [reference.id, {
48
+ ...reference,
49
+ type: reference[referenceDiscriminationFieldResolved]
50
+ }];
51
+ }));
52
+ }
53
+ return {
54
+ id: typeof block.id === "string" ? block.id : void 0,
55
+ content: typeof source === "string" ? deserialize(source) : source,
56
+ references: normalizedReferences
57
+ };
58
+ });
59
+ }, [blocks, deserialize, referenceDiscriminationField, referencesField, sourceField]);
60
+ };
61
+ exports.useRichTextBlocksSource = useRichTextBlocksSource;
62
+ //# sourceMappingURL=useRichTextBlocksSource.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRichTextBlocksSource.cjs","sources":["../../../src/hooks/useRichTextBlocksSource.ts"],"sourcesContent":["import { RichTextBlock, RichTextBlockSource, RichTextElement, RichTextLeaf, RichTextReference, RootEditorNode } from '../types'\nimport { defaultDeserialize } from '../internal/defaultDeserialize'\nimport { useMemo } from 'react'\nimport { RichTextRendererError } from '../RichTextRendererError'\n\nexport const useRichTextBlocksSource = <CustomElements extends RichTextElement, CustomLeaves extends RichTextLeaf>({\n\tdeserialize = defaultDeserialize,\n\tblocks,\n\treferencesField = 'references',\n\tsourceField = 'source',\n\treferenceDiscriminationField = 'type',\n}: RichTextBlockSource<CustomElements, CustomLeaves>) => {\n\treturn useMemo((): RichTextBlock<CustomElements, CustomLeaves>[] => {\n\t\tconst sourceFieldResolved = sourceField ?? 'source'\n\t\tconst referencesFieldResolved = referencesField ?? 'references'\n\t\tconst referenceDiscriminationFieldResolved = referenceDiscriminationField ?? 'type'\n\n\t\treturn blocks.map(block => {\n\t\t\tif (!(sourceField in block)) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`Found a block without a '${sourceFieldResolved}' field. ` +\n\t\t\t\t\t(sourceField === undefined\n\t\t\t\t\t\t? `The 'sourceField' prop has not been supplied, and so '${sourceFieldResolved}' was used as a default.`\n\t\t\t\t\t\t: `That is what the 'sourceField' prop has been set to, and so either this is a typo, ` +\n\t\t\t\t\t\t`or the data supplied is invalid.`),\n\t\t\t\t)\n\t\t\t}\n\t\t\tconst source = block[sourceFieldResolved]\n\t\t\tif (typeof source !== 'string' && (typeof source !== 'object' || source === null)) {\n\t\t\t\tthrow new RichTextRendererError(`Found a block whose source is not a string or an object.`)\n\t\t\t}\n\n\t\t\tif (referencesField !== undefined && !(referencesFieldResolved in block)) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`The 'referencesField' prop is set to '${referencesFieldResolved}' but a block without such field ` +\n\t\t\t\t\t`has been encountered. Unless this is just a typo, ` +\n\t\t\t\t\t`if you do not wish to use references, avoid supplying the 'referencesField' prop.`,\n\t\t\t\t)\n\t\t\t}\n\t\t\tconst references = block[referencesFieldResolved]\n\n\t\t\tlet normalizedReferences: Record<string, RichTextReference> | undefined = undefined\n\t\t\tif (references) {\n\t\t\t\tif (typeof Object(references)[Symbol.iterator] !== 'function') {\n\t\t\t\t\tthrow new RichTextRendererError(`The set of references must be an iterable!`)\n\t\t\t\t}\n\n\t\t\t\tnormalizedReferences = Object.fromEntries(Array.from(references as Iterable<RichTextReference>).map(reference => {\n\t\t\t\t\tif (!('id' in reference)) {\n\t\t\t\t\t\tthrow new RichTextRendererError(`Found a reference without an id field.`)\n\t\t\t\t\t}\n\t\t\t\t\tif (!(referenceDiscriminationFieldResolved in reference) || typeof reference[referenceDiscriminationFieldResolved] !== 'string') {\n\t\t\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t\t\t`Found a reference without a '${referenceDiscriminationFieldResolved}' field. ` +\n\t\t\t\t\t\t\t(referenceDiscriminationField === undefined\n\t\t\t\t\t\t\t\t? `The 'referenceDiscriminationField' prop has not been supplied, ` +\n\t\t\t\t\t\t\t\t`and so '${referenceDiscriminationFieldResolved}' was used as a default.`\n\t\t\t\t\t\t\t\t: `That is what the 'referenceDiscriminationField' prop has been set to, ` +\n\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)\n\t\t\t\t\t}\n\t\t\t\t\treturn [reference.id, {\n\t\t\t\t\t\t...reference,\n\t\t\t\t\t\ttype: reference[referenceDiscriminationFieldResolved] as string,\n\t\t\t\t\t}]\n\t\t\t\t}))\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tid: typeof block.id === 'string' ? block.id : undefined,\n\t\t\t\tcontent: typeof source === 'string' ? deserialize(source) : source as RootEditorNode<CustomElements, CustomLeaves>,\n\t\t\t\treferences: normalizedReferences,\n\t\t\t}\n\t\t})\n\t}, [blocks, deserialize, referenceDiscriminationField, referencesField, sourceField])\n}\n"],"names":["defaultDeserialize","useMemo","RichTextRendererError"],"mappings":";;;;;AAKO,MAAM,0BAA0B,CAA4E;AAAA,EAClH,cAAcA,mBAAA;AAAA,EACd;AAAA,EACA,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,+BAA+B;AAChC,MAAyD;AACxD,SAAOC,cAAQ,MAAqD;AACnE,UAAM,sBAAsB,eAAe;AAC3C,UAAM,0BAA0B,mBAAmB;AACnD,UAAM,uCAAuC,gCAAgC;AAEtE,WAAA,OAAO,IAAI,CAAS,UAAA;AACtB,UAAA,EAAE,eAAe,QAAQ;AAC5B,cAAM,IAAIC,sBAAA;AAAA,UACT,4BAA4B,mBAAmB,eAC9C,gBAAgB,SACd,yDAAyD,mBAAmB,6BAC5E;AAAA,QAAA;AAAA,MAGL;AACM,YAAA,SAAS,MAAM,mBAAmB;AACxC,UAAI,OAAO,WAAW,aAAa,OAAO,WAAW,YAAY,WAAW,OAAO;AAC5E,cAAA,IAAIA,4CAAsB,0DAA0D;AAAA,MAC3F;AAEA,UAAI,oBAAoB,UAAa,EAAE,2BAA2B,QAAQ;AACzE,cAAM,IAAIA,sBAAA;AAAA,UACT,yCAAyC,uBAAuB;AAAA,QAAA;AAAA,MAIlE;AACM,YAAA,aAAa,MAAM,uBAAuB;AAEhD,UAAI,uBAAsE;AAC1E,UAAI,YAAY;AACf,YAAI,OAAO,OAAO,UAAU,EAAE,OAAO,QAAQ,MAAM,YAAY;AACxD,gBAAA,IAAIA,4CAAsB,4CAA4C;AAAA,QAC7E;AAEA,+BAAuB,OAAO,YAAY,MAAM,KAAK,UAAyC,EAAE,IAAI,CAAa,cAAA;AAC5G,cAAA,EAAE,QAAQ,YAAY;AACnB,kBAAA,IAAIA,4CAAsB,wCAAwC;AAAA,UACzE;AACA,cAAI,EAAE,wCAAwC,cAAc,OAAO,UAAU,oCAAoC,MAAM,UAAU;AAChI,kBAAM,IAAIA,sBAAA;AAAA,cACT,gCAAgC,oCAAoC,eACnE,iCAAiC,SAC/B,0EACS,oCAAoC,6BAC7C;AAAA,YAAA;AAAA,UAGL;AACO,iBAAA,CAAC,UAAU,IAAI;AAAA,YACrB,GAAG;AAAA,YACH,MAAM,UAAU,oCAAoC;AAAA,UAAA,CACpD;AAAA,QACD,CAAA,CAAC;AAAA,MACH;AACO,aAAA;AAAA,QACN,IAAI,OAAO,MAAM,OAAO,WAAW,MAAM,KAAK;AAAA,QAC9C,SAAS,OAAO,WAAW,WAAW,YAAY,MAAM,IAAI;AAAA,QAC5D,YAAY;AAAA,MAAA;AAAA,IACb,CACA;AAAA,EAAA,GACC,CAAC,QAAQ,aAAa,8BAA8B,iBAAiB,WAAW,CAAC;AACrF;;"}
@@ -0,0 +1,62 @@
1
+ import { defaultDeserialize } from "../internal/defaultDeserialize.js";
2
+ import { useMemo } from "react";
3
+ import { RichTextRendererError } from "../RichTextRendererError.js";
4
+ const useRichTextBlocksSource = ({
5
+ deserialize = defaultDeserialize,
6
+ blocks,
7
+ referencesField = "references",
8
+ sourceField = "source",
9
+ referenceDiscriminationField = "type"
10
+ }) => {
11
+ return useMemo(() => {
12
+ const sourceFieldResolved = sourceField ?? "source";
13
+ const referencesFieldResolved = referencesField ?? "references";
14
+ const referenceDiscriminationFieldResolved = referenceDiscriminationField ?? "type";
15
+ return blocks.map((block) => {
16
+ if (!(sourceField in block)) {
17
+ throw new RichTextRendererError(
18
+ `Found a block without a '${sourceFieldResolved}' field. ` + (sourceField === void 0 ? `The 'sourceField' prop has not been supplied, and so '${sourceFieldResolved}' was used as a default.` : `That is what the 'sourceField' prop has been set to, and so either this is a typo, or the data supplied is invalid.`)
19
+ );
20
+ }
21
+ const source = block[sourceFieldResolved];
22
+ if (typeof source !== "string" && (typeof source !== "object" || source === null)) {
23
+ throw new RichTextRendererError(`Found a block whose source is not a string or an object.`);
24
+ }
25
+ if (referencesField !== void 0 && !(referencesFieldResolved in block)) {
26
+ throw new RichTextRendererError(
27
+ `The 'referencesField' prop is set to '${referencesFieldResolved}' but a block without such field has been encountered. Unless this is just a typo, if you do not wish to use references, avoid supplying the 'referencesField' prop.`
28
+ );
29
+ }
30
+ const references = block[referencesFieldResolved];
31
+ let normalizedReferences = void 0;
32
+ if (references) {
33
+ if (typeof Object(references)[Symbol.iterator] !== "function") {
34
+ throw new RichTextRendererError(`The set of references must be an iterable!`);
35
+ }
36
+ normalizedReferences = Object.fromEntries(Array.from(references).map((reference) => {
37
+ if (!("id" in reference)) {
38
+ throw new RichTextRendererError(`Found a reference without an id field.`);
39
+ }
40
+ if (!(referenceDiscriminationFieldResolved in reference) || typeof reference[referenceDiscriminationFieldResolved] !== "string") {
41
+ throw new RichTextRendererError(
42
+ `Found a reference without a '${referenceDiscriminationFieldResolved}' field. ` + (referenceDiscriminationField === void 0 ? `The 'referenceDiscriminationField' prop has not been supplied, and so '${referenceDiscriminationFieldResolved}' was used as a default.` : `That is what the 'referenceDiscriminationField' prop has been set to, and so either this is a typo, or the data supplied is invalid.`)
43
+ );
44
+ }
45
+ return [reference.id, {
46
+ ...reference,
47
+ type: reference[referenceDiscriminationFieldResolved]
48
+ }];
49
+ }));
50
+ }
51
+ return {
52
+ id: typeof block.id === "string" ? block.id : void 0,
53
+ content: typeof source === "string" ? deserialize(source) : source,
54
+ references: normalizedReferences
55
+ };
56
+ });
57
+ }, [blocks, deserialize, referenceDiscriminationField, referencesField, sourceField]);
58
+ };
59
+ export {
60
+ useRichTextBlocksSource
61
+ };
62
+ //# sourceMappingURL=useRichTextBlocksSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRichTextBlocksSource.js","sources":["../../../src/hooks/useRichTextBlocksSource.ts"],"sourcesContent":["import { RichTextBlock, RichTextBlockSource, RichTextElement, RichTextLeaf, RichTextReference, RootEditorNode } from '../types'\nimport { defaultDeserialize } from '../internal/defaultDeserialize'\nimport { useMemo } from 'react'\nimport { RichTextRendererError } from '../RichTextRendererError'\n\nexport const useRichTextBlocksSource = <CustomElements extends RichTextElement, CustomLeaves extends RichTextLeaf>({\n\tdeserialize = defaultDeserialize,\n\tblocks,\n\treferencesField = 'references',\n\tsourceField = 'source',\n\treferenceDiscriminationField = 'type',\n}: RichTextBlockSource<CustomElements, CustomLeaves>) => {\n\treturn useMemo((): RichTextBlock<CustomElements, CustomLeaves>[] => {\n\t\tconst sourceFieldResolved = sourceField ?? 'source'\n\t\tconst referencesFieldResolved = referencesField ?? 'references'\n\t\tconst referenceDiscriminationFieldResolved = referenceDiscriminationField ?? 'type'\n\n\t\treturn blocks.map(block => {\n\t\t\tif (!(sourceField in block)) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`Found a block without a '${sourceFieldResolved}' field. ` +\n\t\t\t\t\t(sourceField === undefined\n\t\t\t\t\t\t? `The 'sourceField' prop has not been supplied, and so '${sourceFieldResolved}' was used as a default.`\n\t\t\t\t\t\t: `That is what the 'sourceField' prop has been set to, and so either this is a typo, ` +\n\t\t\t\t\t\t`or the data supplied is invalid.`),\n\t\t\t\t)\n\t\t\t}\n\t\t\tconst source = block[sourceFieldResolved]\n\t\t\tif (typeof source !== 'string' && (typeof source !== 'object' || source === null)) {\n\t\t\t\tthrow new RichTextRendererError(`Found a block whose source is not a string or an object.`)\n\t\t\t}\n\n\t\t\tif (referencesField !== undefined && !(referencesFieldResolved in block)) {\n\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t`The 'referencesField' prop is set to '${referencesFieldResolved}' but a block without such field ` +\n\t\t\t\t\t`has been encountered. Unless this is just a typo, ` +\n\t\t\t\t\t`if you do not wish to use references, avoid supplying the 'referencesField' prop.`,\n\t\t\t\t)\n\t\t\t}\n\t\t\tconst references = block[referencesFieldResolved]\n\n\t\t\tlet normalizedReferences: Record<string, RichTextReference> | undefined = undefined\n\t\t\tif (references) {\n\t\t\t\tif (typeof Object(references)[Symbol.iterator] !== 'function') {\n\t\t\t\t\tthrow new RichTextRendererError(`The set of references must be an iterable!`)\n\t\t\t\t}\n\n\t\t\t\tnormalizedReferences = Object.fromEntries(Array.from(references as Iterable<RichTextReference>).map(reference => {\n\t\t\t\t\tif (!('id' in reference)) {\n\t\t\t\t\t\tthrow new RichTextRendererError(`Found a reference without an id field.`)\n\t\t\t\t\t}\n\t\t\t\t\tif (!(referenceDiscriminationFieldResolved in reference) || typeof reference[referenceDiscriminationFieldResolved] !== 'string') {\n\t\t\t\t\t\tthrow new RichTextRendererError(\n\t\t\t\t\t\t\t`Found a reference without a '${referenceDiscriminationFieldResolved}' field. ` +\n\t\t\t\t\t\t\t(referenceDiscriminationField === undefined\n\t\t\t\t\t\t\t\t? `The 'referenceDiscriminationField' prop has not been supplied, ` +\n\t\t\t\t\t\t\t\t`and so '${referenceDiscriminationFieldResolved}' was used as a default.`\n\t\t\t\t\t\t\t\t: `That is what the 'referenceDiscriminationField' prop has been set to, ` +\n\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)\n\t\t\t\t\t}\n\t\t\t\t\treturn [reference.id, {\n\t\t\t\t\t\t...reference,\n\t\t\t\t\t\ttype: reference[referenceDiscriminationFieldResolved] as string,\n\t\t\t\t\t}]\n\t\t\t\t}))\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tid: typeof block.id === 'string' ? block.id : undefined,\n\t\t\t\tcontent: typeof source === 'string' ? deserialize(source) : source as RootEditorNode<CustomElements, CustomLeaves>,\n\t\t\t\treferences: normalizedReferences,\n\t\t\t}\n\t\t})\n\t}, [blocks, deserialize, referenceDiscriminationField, referencesField, sourceField])\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,0BAA0B,CAA4E;AAAA,EAClH,cAAc;AAAA,EACd;AAAA,EACA,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,+BAA+B;AAChC,MAAyD;AACxD,SAAO,QAAQ,MAAqD;AACnE,UAAM,sBAAsB,eAAe;AAC3C,UAAM,0BAA0B,mBAAmB;AACnD,UAAM,uCAAuC,gCAAgC;AAEtE,WAAA,OAAO,IAAI,CAAS,UAAA;AACtB,UAAA,EAAE,eAAe,QAAQ;AAC5B,cAAM,IAAI;AAAA,UACT,4BAA4B,mBAAmB,eAC9C,gBAAgB,SACd,yDAAyD,mBAAmB,6BAC5E;AAAA,QAAA;AAAA,MAGL;AACM,YAAA,SAAS,MAAM,mBAAmB;AACxC,UAAI,OAAO,WAAW,aAAa,OAAO,WAAW,YAAY,WAAW,OAAO;AAC5E,cAAA,IAAI,sBAAsB,0DAA0D;AAAA,MAC3F;AAEA,UAAI,oBAAoB,UAAa,EAAE,2BAA2B,QAAQ;AACzE,cAAM,IAAI;AAAA,UACT,yCAAyC,uBAAuB;AAAA,QAAA;AAAA,MAIlE;AACM,YAAA,aAAa,MAAM,uBAAuB;AAEhD,UAAI,uBAAsE;AAC1E,UAAI,YAAY;AACf,YAAI,OAAO,OAAO,UAAU,EAAE,OAAO,QAAQ,MAAM,YAAY;AACxD,gBAAA,IAAI,sBAAsB,4CAA4C;AAAA,QAC7E;AAEA,+BAAuB,OAAO,YAAY,MAAM,KAAK,UAAyC,EAAE,IAAI,CAAa,cAAA;AAC5G,cAAA,EAAE,QAAQ,YAAY;AACnB,kBAAA,IAAI,sBAAsB,wCAAwC;AAAA,UACzE;AACA,cAAI,EAAE,wCAAwC,cAAc,OAAO,UAAU,oCAAoC,MAAM,UAAU;AAChI,kBAAM,IAAI;AAAA,cACT,gCAAgC,oCAAoC,eACnE,iCAAiC,SAC/B,0EACS,oCAAoC,6BAC7C;AAAA,YAAA;AAAA,UAGL;AACO,iBAAA,CAAC,UAAU,IAAI;AAAA,YACrB,GAAG;AAAA,YACH,MAAM,UAAU,oCAAoC;AAAA,UAAA,CACpD;AAAA,QACD,CAAA,CAAC;AAAA,MACH;AACO,aAAA;AAAA,QACN,IAAI,OAAO,MAAM,OAAO,WAAW,MAAM,KAAK;AAAA,QAC9C,SAAS,OAAO,WAAW,WAAW,YAAY,MAAM,IAAI;AAAA,QAC5D,YAAY;AAAA,MAAA;AAAA,IACb,CACA;AAAA,EAAA,GACC,CAAC,QAAQ,aAAa,8BAA8B,iBAAiB,WAAW,CAAC;AACrF;"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const react = require("react");
4
+ const defaultDeserialize = require("../internal/defaultDeserialize.cjs");
5
+ const useRichTextFieldSource = ({
6
+ source,
7
+ deserialize = defaultDeserialize.defaultDeserialize
8
+ }) => {
9
+ return react.useMemo(() => {
10
+ return [
11
+ {
12
+ content: source ? typeof source === "string" ? deserialize(source) : source : {
13
+ formatVersion: 0,
14
+ children: []
15
+ },
16
+ id: void 0,
17
+ referencesField: void 0,
18
+ referenceDiscriminationField: void 0,
19
+ referenceRenderers: {},
20
+ references: void 0
21
+ }
22
+ ];
23
+ }, [deserialize, source]);
24
+ };
25
+ exports.useRichTextFieldSource = useRichTextFieldSource;
26
+ //# sourceMappingURL=useRichTextFieldSource.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRichTextFieldSource.cjs","sources":["../../../src/hooks/useRichTextFieldSource.ts"],"sourcesContent":["import { RichTextBlock, RichTextElement, RichTextFieldSource, RichTextLeaf } from '../types'\nimport { useMemo } from 'react'\nimport { defaultDeserialize } from '../internal/defaultDeserialize'\n\nexport const useRichTextFieldSource = <CustomElements extends RichTextElement, CustomLeaves extends RichTextLeaf>({\n\tsource,\n\tdeserialize = defaultDeserialize,\n}: RichTextFieldSource<CustomElements, CustomLeaves>): RichTextBlock<CustomElements, CustomLeaves>[] => {\n\treturn useMemo(() => {\n\t\treturn [\n\t\t\t{\n\t\t\t\tcontent: source\n\t\t\t\t\t? (typeof source === 'string' ? deserialize(source) : source)\n\t\t\t\t\t: {\n\t\t\t\t\t\tformatVersion: 0,\n\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t},\n\t\t\t\tid: undefined,\n\t\t\t\treferencesField: undefined,\n\t\t\t\treferenceDiscriminationField: undefined,\n\t\t\t\treferenceRenderers: {},\n\t\t\t\treferences: undefined,\n\t\t\t},\n\t\t]\n\t}, [deserialize, source])\n}\n"],"names":["defaultDeserialize","useMemo"],"mappings":";;;;AAIO,MAAM,yBAAyB,CAA4E;AAAA,EACjH;AAAA,EACA,cAAcA,mBAAA;AACf,MAAwG;AACvG,SAAOC,cAAQ,MAAM;AACb,WAAA;AAAA,MACN;AAAA,QACC,SAAS,SACL,OAAO,WAAW,WAAW,YAAY,MAAM,IAAI,SACpD;AAAA,UACD,eAAe;AAAA,UACf,UAAU,CAAC;AAAA,QACZ;AAAA,QACD,IAAI;AAAA,QACJ,iBAAiB;AAAA,QACjB,8BAA8B;AAAA,QAC9B,oBAAoB,CAAC;AAAA,QACrB,YAAY;AAAA,MACb;AAAA,IAAA;AAAA,EACD,GACE,CAAC,aAAa,MAAM,CAAC;AACzB;;"}
@@ -0,0 +1,26 @@
1
+ import { useMemo } from "react";
2
+ import { defaultDeserialize } from "../internal/defaultDeserialize.js";
3
+ const useRichTextFieldSource = ({
4
+ source,
5
+ deserialize = defaultDeserialize
6
+ }) => {
7
+ return useMemo(() => {
8
+ return [
9
+ {
10
+ content: source ? typeof source === "string" ? deserialize(source) : source : {
11
+ formatVersion: 0,
12
+ children: []
13
+ },
14
+ id: void 0,
15
+ referencesField: void 0,
16
+ referenceDiscriminationField: void 0,
17
+ referenceRenderers: {},
18
+ references: void 0
19
+ }
20
+ ];
21
+ }, [deserialize, source]);
22
+ };
23
+ export {
24
+ useRichTextFieldSource
25
+ };
26
+ //# sourceMappingURL=useRichTextFieldSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRichTextFieldSource.js","sources":["../../../src/hooks/useRichTextFieldSource.ts"],"sourcesContent":["import { RichTextBlock, RichTextElement, RichTextFieldSource, RichTextLeaf } from '../types'\nimport { useMemo } from 'react'\nimport { defaultDeserialize } from '../internal/defaultDeserialize'\n\nexport const useRichTextFieldSource = <CustomElements extends RichTextElement, CustomLeaves extends RichTextLeaf>({\n\tsource,\n\tdeserialize = defaultDeserialize,\n}: RichTextFieldSource<CustomElements, CustomLeaves>): RichTextBlock<CustomElements, CustomLeaves>[] => {\n\treturn useMemo(() => {\n\t\treturn [\n\t\t\t{\n\t\t\t\tcontent: source\n\t\t\t\t\t? (typeof source === 'string' ? deserialize(source) : source)\n\t\t\t\t\t: {\n\t\t\t\t\t\tformatVersion: 0,\n\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t},\n\t\t\t\tid: undefined,\n\t\t\t\treferencesField: undefined,\n\t\t\t\treferenceDiscriminationField: undefined,\n\t\t\t\treferenceRenderers: {},\n\t\t\t\treferences: undefined,\n\t\t\t},\n\t\t]\n\t}, [deserialize, source])\n}\n"],"names":[],"mappings":";;AAIO,MAAM,yBAAyB,CAA4E;AAAA,EACjH;AAAA,EACA,cAAc;AACf,MAAwG;AACvG,SAAO,QAAQ,MAAM;AACb,WAAA;AAAA,MACN;AAAA,QACC,SAAS,SACL,OAAO,WAAW,WAAW,YAAY,MAAM,IAAI,SACpD;AAAA,UACD,eAAe;AAAA,UACf,UAAU,CAAC;AAAA,QACZ;AAAA,QACD,IAAI;AAAA,QACJ,iBAAiB;AAAA,QACjB,8BAA8B;AAAA,QAC9B,oBAAoB,CAAC;AAAA,QACrB,YAAY;AAAA,MACb;AAAA,IAAA;AAAA,EACD,GACE,CAAC,aAAa,MAAM,CAAC;AACzB;"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const RichTextRendererError = require("./RichTextRendererError.cjs");
4
+ const RichText = require("./components/RichText.cjs");
5
+ const RichTextFieldRenderer = require("./components/RichTextFieldRenderer.cjs");
6
+ const RichTextBlocksRenderer = require("./components/RichTextBlocksRenderer.cjs");
7
+ const RichTextRenderer = require("./components/RichTextRenderer.cjs");
8
+ const useRichTextFieldSource = require("./hooks/useRichTextFieldSource.cjs");
9
+ const useRichTextBlocksSource = require("./hooks/useRichTextBlocksSource.cjs");
10
+ exports.RichTextRendererError = RichTextRendererError.RichTextRendererError;
11
+ exports.RichText = RichText.RichText;
12
+ exports.RichTextFieldRenderer = RichTextFieldRenderer.RichTextFieldRenderer;
13
+ exports.RichTextBlocksRenderer = RichTextBlocksRenderer.RichTextBlocksRenderer;
14
+ exports.RichTextRenderer = RichTextRenderer.RichTextRenderer;
15
+ exports.useRichTextFieldSource = useRichTextFieldSource.useRichTextFieldSource;
16
+ exports.useRichTextBlocksSource = useRichTextBlocksSource.useRichTextBlocksSource;
17
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -0,0 +1,17 @@
1
+ import { RichTextRendererError } from "./RichTextRendererError.js";
2
+ import { RichText } from "./components/RichText.js";
3
+ import { RichTextFieldRenderer } from "./components/RichTextFieldRenderer.js";
4
+ import { RichTextBlocksRenderer } from "./components/RichTextBlocksRenderer.js";
5
+ import { RichTextRenderer } from "./components/RichTextRenderer.js";
6
+ import { useRichTextFieldSource } from "./hooks/useRichTextFieldSource.js";
7
+ import { useRichTextBlocksSource } from "./hooks/useRichTextBlocksSource.js";
8
+ export {
9
+ RichText,
10
+ RichTextBlocksRenderer,
11
+ RichTextFieldRenderer,
12
+ RichTextRenderer,
13
+ RichTextRendererError,
14
+ useRichTextBlocksSource,
15
+ useRichTextFieldSource
16
+ };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,24 @@
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 useReferenceMetadata = require("../useReferenceMetadata.cjs");
8
+ function ElementRenderer({ element, children, options, block }) {
9
+ const referenceMetadata = useReferenceMetadata.useReferenceMetadata(element, options, block);
10
+ const fallback = /* @__PURE__ */ jsxRuntime.jsx(RenderElementFallback.RenderElementFallback, { element, options, block, children });
11
+ return options.renderElement ? react.createElement(options.renderElement, {
12
+ ...referenceMetadata,
13
+ formatVersion: block.content.formatVersion,
14
+ block,
15
+ options,
16
+ element,
17
+ fallback,
18
+ children,
19
+ renderChildren: (children2, opts = options) => renderChildren.renderChildren(children2, opts, block),
20
+ renderChildrenOptions: options
21
+ }) : fallback;
22
+ }
23
+ exports.ElementRenderer = ElementRenderer;
24
+ //# sourceMappingURL=ElementRenderer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElementRenderer.cjs","sources":["../../../../src/internal/components/ElementRenderer.tsx"],"sourcesContent":["import type { ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinElements } from '../../types/builtin/BuiltinElements'\nimport { renderChildren } from '../renderChildren'\nimport { RenderElementFallback } from './RenderElementFallback'\nimport { useReferenceMetadata } from '../useReferenceMetadata'\nimport type { RichTextElement } from '../../types/structure/RichTextElement'\nimport type { RichTextLeaf } from '../../types/structure/RichTextLeaf'\nimport { RichTextBlock } from '../../types/RichTextBlock'\nimport { RichTextRenderingOptions } from '../../types/RichTextRenderingOptions'\n\n\nexport interface ElementRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> {\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RichTextRenderingOptions<CustomElements, CustomLeaves>\n\tblock: RichTextBlock<CustomElements, CustomLeaves>\n}\n\nexport function ElementRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({ element, children, options, block }: ElementRendererProps<CustomElements, CustomLeaves>) {\n\tconst referenceMetadata = useReferenceMetadata<CustomElements, CustomLeaves>(element, options, block)\n\n\tconst fallback = (\n\t\t<RenderElementFallback<CustomElements, CustomLeaves> element={element as BuiltinElements<CustomElements, CustomLeaves>} options={options} block={block}>\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...referenceMetadata,\n\t\t\tformatVersion: block.content.formatVersion,\n\t\t\tblock,\n\t\t\toptions,\n\t\t\telement,\n\t\t\tfallback,\n\t\t\tchildren,\n\t\t\trenderChildren: (children, opts = options) => renderChildren(children, opts, block),\n\t\t\trenderChildrenOptions: options,\n\t\t})\n\t\t: fallback\n}\n"],"names":["useReferenceMetadata","jsx","RenderElementFallback","createElement","children","renderChildren"],"mappings":";;;;;;;AAsBO,SAAS,gBAGd,EAAE,SAAS,UAAU,SAAS,SAA6D;AAC5F,QAAM,oBAAoBA,qBAAA,qBAAmD,SAAS,SAAS,KAAK;AAEpG,QAAM,WACJC,2BAAA,IAAAC,6CAAA,EAAoD,SAAmE,SAAkB,OACxI,SACF,CAAA;AAGD,SAAO,QAAQ,gBACZC,oBAAc,QAAQ,eAAe;AAAA,IACtC,GAAG;AAAA,IACH,eAAe,MAAM,QAAQ;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB,CAACC,WAAU,OAAO,YAAYC,eAAAA,eAAeD,WAAU,MAAM,KAAK;AAAA,IAClF,uBAAuB;AAAA,EACvB,CAAA,IACC;AACJ;;"}
@@ -0,0 +1,24 @@
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 { useReferenceMetadata } from "../useReferenceMetadata.js";
6
+ function ElementRenderer({ element, children, options, block }) {
7
+ const referenceMetadata = useReferenceMetadata(element, options, block);
8
+ const fallback = /* @__PURE__ */ jsx(RenderElementFallback, { element, options, block, children });
9
+ return options.renderElement ? createElement(options.renderElement, {
10
+ ...referenceMetadata,
11
+ formatVersion: block.content.formatVersion,
12
+ block,
13
+ options,
14
+ element,
15
+ fallback,
16
+ children,
17
+ renderChildren: (children2, opts = options) => renderChildren(children2, opts, block),
18
+ renderChildrenOptions: options
19
+ }) : fallback;
20
+ }
21
+ export {
22
+ ElementRenderer
23
+ };
24
+ //# sourceMappingURL=ElementRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElementRenderer.js","sources":["../../../../src/internal/components/ElementRenderer.tsx"],"sourcesContent":["import type { ReactElement } from 'react'\nimport { createElement } from 'react'\nimport type { BuiltinElements } from '../../types/builtin/BuiltinElements'\nimport { renderChildren } from '../renderChildren'\nimport { RenderElementFallback } from './RenderElementFallback'\nimport { useReferenceMetadata } from '../useReferenceMetadata'\nimport type { RichTextElement } from '../../types/structure/RichTextElement'\nimport type { RichTextLeaf } from '../../types/structure/RichTextLeaf'\nimport { RichTextBlock } from '../../types/RichTextBlock'\nimport { RichTextRenderingOptions } from '../../types/RichTextRenderingOptions'\n\n\nexport interface ElementRendererProps<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n> {\n\telement: CustomElements | BuiltinElements<CustomElements, CustomLeaves>\n\tchildren: ReactElement\n\toptions: RichTextRenderingOptions<CustomElements, CustomLeaves>\n\tblock: RichTextBlock<CustomElements, CustomLeaves>\n}\n\nexport function ElementRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({ element, children, options, block }: ElementRendererProps<CustomElements, CustomLeaves>) {\n\tconst referenceMetadata = useReferenceMetadata<CustomElements, CustomLeaves>(element, options, block)\n\n\tconst fallback = (\n\t\t<RenderElementFallback<CustomElements, CustomLeaves> element={element as BuiltinElements<CustomElements, CustomLeaves>} options={options} block={block}>\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...referenceMetadata,\n\t\t\tformatVersion: block.content.formatVersion,\n\t\t\tblock,\n\t\t\toptions,\n\t\t\telement,\n\t\t\tfallback,\n\t\t\tchildren,\n\t\t\trenderChildren: (children, opts = options) => renderChildren(children, opts, block),\n\t\t\trenderChildrenOptions: options,\n\t\t})\n\t\t: fallback\n}\n"],"names":["children"],"mappings":";;;;;AAsBO,SAAS,gBAGd,EAAE,SAAS,UAAU,SAAS,SAA6D;AAC5F,QAAM,oBAAoB,qBAAmD,SAAS,SAAS,KAAK;AAEpG,QAAM,WACJ,oBAAA,uBAAA,EAAoD,SAAmE,SAAkB,OACxI,SACF,CAAA;AAGD,SAAO,QAAQ,gBACZ,cAAc,QAAQ,eAAe;AAAA,IACtC,GAAG;AAAA,IACH,eAAe,MAAM,QAAQ;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB,CAACA,WAAU,OAAO,YAAY,eAAeA,WAAU,MAAM,KAAK;AAAA,IAClF,uBAAuB;AAAA,EACvB,CAAA,IACC;AACJ;"}
@@ -0,0 +1,23 @@
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
+ function LeafRenderer({
7
+ leaf,
8
+ options: { renderLeaf },
9
+ block: { content: { formatVersion } }
10
+ }) {
11
+ const fallback = /* @__PURE__ */ jsxRuntime.jsx(RenderLeafFallback.RenderLeafFallback, { leaf });
12
+ return renderLeaf ? react.createElement(
13
+ renderLeaf,
14
+ {
15
+ formatVersion,
16
+ leaf,
17
+ fallback,
18
+ children: leaf.text
19
+ }
20
+ ) : fallback;
21
+ }
22
+ exports.LeafRenderer = LeafRenderer;
23
+ //# sourceMappingURL=LeafRenderer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LeafRenderer.cjs","sources":["../../../../src/internal/components/LeafRenderer.tsx"],"sourcesContent":["import { createElement } from 'react'\nimport type { BuiltinLeaves } from '../../types/builtin/BuiltinLeaves'\nimport { RenderLeafFallback } from './RenderLeafFallback'\nimport type { RichTextLeaf } from '../../types/structure/RichTextLeaf'\nimport { RichTextElement } from '../../types/structure/RichTextElement'\nimport { RichTextRenderingOptions } from '../../types/RichTextRenderingOptions'\nimport { RichTextBlock } from '../../types/RichTextBlock'\n\nexport interface LeafRendererProps<CustomElements extends RichTextElement = never, CustomLeaves extends RichTextLeaf = RichTextLeaf> {\n\toptions: RichTextRenderingOptions<CustomElements, CustomLeaves>\n\tblock: RichTextBlock<CustomElements, CustomLeaves>\n\tleaf: CustomLeaves & BuiltinLeaves\n}\n\nexport function LeafRenderer<\n\tCustomElements extends RichTextElement = never,\n\tCustomLeaves extends RichTextLeaf = RichTextLeaf,\n>({\n\tleaf,\n\toptions: { renderLeaf },\n\tblock: { content: { formatVersion } },\n}: LeafRendererProps<CustomElements, CustomLeaves>) {\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\tchildren: leaf.text,\n\t\t\t\t},\n\t\t )\n\t\t: fallback\n}\n"],"names":["jsx","RenderLeafFallback","createElement"],"mappings":";;;;;AAcO,SAAS,aAGd;AAAA,EACD;AAAA,EACA,SAAS,EAAE,WAAW;AAAA,EACtB,OAAO,EAAE,SAAS,EAAE,gBAAgB;AACrC,GAAoD;AAC7C,QAAA,WAAYA,2BAAA,IAAAC,mBAAA,oBAAA,EAAmB,KAAY,CAAA;AAEjD,SAAO,aACJC,MAAA;AAAA,IACA;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU,KAAK;AAAA,IAChB;AAAA,EAEA,IAAA;AACJ;;"}